ข้ามไปเนื้อหา

การฝังคำ

จากวิกิพีเดีย สารานุกรมเสรี

การฝังคำ (word embedding) เป็นคำเรียกรวมวิธีการสร้างแบบจำลองภาษา และวิธีการเรียนรู้ของเครื่องในการประมวลภาษาธรรมชาติ โดยแปลงคำหรือวลีให้อยู่ในปริภูมิเวกเตอร์จำนวนจริง การฝังในทางคณิตศาสตร์ทำการแปลงข้อมูลจากปริภูมิที่มีจำนวนมิติเท่ากับจำนวนคำไปสู่ปริภูมิเวกเตอร์ที่มีจำนวนมิติน้อยกว่ามาก

วิธีการสร้างแผนจับโยงนี้ได้แก่ โครงข่ายประสาทเทียม[1], การลดมิติของเมทริกซ์แสดงการปรากฏร่วมกันของคำ[2][3][4], แบบจำลองความน่าจะเป็น[5], วิธีการที่ยืนพื้นความรู้ที่อธิบายได้[6], การแสดงออกแบบชัดเจนของคำในบริบทที่คำนั้นปรากฏ ฯลฯ [7]

การใช้เทคนิคการฝังคำและวลีเป็นค่าป้อนเข้าช่วยเพิ่มประสิทธิภาพในงานด้านการประมวลภาษาธรรมชาติ เช่น การวิเคราะห์วากยสัมพันธ์[8] และ การวิเคราะห์ความรู้สึก[9]

การพัฒนาเทคนิค

[แก้]

ในทางภาษาศาสตร์ มีการกล่าวถึงการฝังคำในสาขาอรรถศาสตร์ มีจุดมุ่งหมายเพื่อหาปริมาณและจำแนกความคล้ายคลึงทางความหมายระหว่างรายการทางภาษาตามลักษณะการแจกแจงของตัวอย่างข้อมูลทางภาษาจำนวนมาก แนวคิดพื้นฐานที่ว่า "คำหนึ่ง ๆ ถูกกำหนดลักษณะโดยบริบทโดยรอบ" ได้รับการแผยแผ่โดยจอห์น รูเปิร์ต เพิร์ธ[10]

วิธีการแสดงคำในรูปแบบเวกเตอร์มีรากฐานมาจากการพัฒนาแบบจำลองปริภูมิเวกเตอร์ สำหรับการค้นคืนสารสนเทศในทศวรรษ 1960 การวิเคราะห์ความหมายแฝง ถูกนำมาใช้ในช่วงปลายทศวรรษ 1980 โดยการลดจำนวนมิติโดยใช้การแยกค่าเอกฐาน[11] "แบบจำลองภาษาความน่าจะเป็นทางประสาท'' ที่เสนอขึ้นโดยโยชัว เบนจิโอและคณะในรายงานชุดหนึ่งในปี 2000 ลดมิติสูงของการแทนคำในบริบทโดย "การเรียนรู้การแทนคำแบบแจกแจง''[12] การฝังคำแบ่งเป็น 2 แบบที่แตกต่างกัน[13] แบบหนึ่งคือ แสดงคำในรูปเวกเตอร์ของคำที่ปรากฏด้วยกัน และอีกแบบหนึ่งคือแสดงเป็นเวกเตอร์ของบริบททางภาษาที่คำนั้นปรากฏขึ้น โรไวส์และซอลได้ตีพิมพ์ในวารสารไซเอินซ์แสดงวิธี การฝังเชิงเส้นเฉพาะที่ (LLE) เพื่อค้นหารูปแบบตัวแทนของโครงสร้างข้อมูลมิติสูง[14] งานวิจัยในสาขานี้ค่อย ๆ พัฒนาและเติบโตอย่ารวดเร็วหลังปี 2010 โดยสาเหตุหนึ่งมาจากความเร็วในการฝึกแบบจำลอง

ทีมวิจัยจำนวนมากได้ทำงานวิจัยและพัฒนาเทคนิคการฝังคำ ในปี 2013 ทีมงานของกูเกิลนำโดยโตมาช มิโคโลฟ (Tomáš Mikolov) ได้พัฒนาชุดเครื่องมือการฝังคำที่เรียกว่า word2vec การใช้ word2vec ทำให้สามารถฝึกแบบจำลองปริภูมิเวกเตอร์ได้อย่างรวดเร็ว[15] เทคนิคการฝังคำใหม่ ๆ ส่วนใหญ่จะขึ้นอยู่กับสถาปัตยกรรมโครงข่ายประสาทเทียม มากกว่าแบบจำลอง n-gram แบบดั้งเดิมหรือ การเรียนรู้แบบไม่มีผู้สอน[16]

การจัดการกับคำพ้องความหมาย

[แก้]

ข้อจำกัดที่สำคัญของการฝังคำ (โดยทั่วไปคือ แบบจำลองปริภูมิเวกเตอร์ของคำ) คือคำที่มีความหมายหลากหลายจะถูกรวมเข้าเป็นคำเดียว (เวกเตอร์เดียวในปริภูมิความหมาย) กล่าวอีกนัยหนึ่ง คำพ้องความหมายไม่ได้รับการจัดการอย่างเหมาะสม ตัวอย่างเช่น ในประโยค "The club I tried yesterday was great!" นั้นคำว่า "club" อาจมีความหมายหลากหลาย เช่น club sandwich (คลับแซนด์วิช), clubhouse (สโมสร), golf club (ไม้กอล์ฟ) เป็นต้น จึงอาจไม่รู้ชัดเจนว่ากำลังหมายถึงอะไร เนื่องจากความจำเป็นในการเชื่อมโยงความหมายหลายคำของแต่ละคำกับเวกเตอร์ที่แตกต่างกัน บางครั้งจึงอาจแยกเป็นการฝังแบบหลายนัย[17][18]

แนวทางส่วนใหญ่ในการสร้างการฝังแบบหลายนัยสามารถจำแนกได้เป็นการเรียนรู้แบบไม่มีผู้สอนและการเรียนรู้บนฐานความรู้ โดยเน้นที่การแสดงความหมายคำ[19] Multi-Sense Skip-Gram (MSSG) ซึ่งใช้ word2vec skip-gram ดำเนินการระบุนัยของคำและฝังไปพร้อม ๆ กัน ปรับปรุงเวลาการฝึกอบรมในขณะที่สมมติจำนวนนัยที่แน่นอนสำหรับแต่ละคำ[20] ใน Non-Parametric Multi-Sense Skip-Gram (NP-MSSG) ตัวเลขนี้จะแตกต่างกันไปในแต่ละคำ Most Suitable Sense Annotation (MSSA) รวมความรู้เดิม เช่น ฐานข้อมูลคำศัพท์ (WordNet, ConceptNet, BabelNet ฯลฯ) การฝังคำ และความกำกวมของความหมายของคำ โดยใช้แนวทางแบบไม่มีผู้สอน และอิงความรู้เพื่อติดป้ายกำกับความหมายของคำโดยพิจารณาจากบริบทของหน้าต่างบริบทแบบเลื่อน[21] เมื่อได้ความหมายของคำชัดเจนแล้ว ก็สามารถนำมาใช้กับเทคนิคการฝังคำมาตรฐานได้ ทำให้สร้างการฝังแบบหลายนัยได้ สถาปัตยกรรมของ MSSA ช่วยให้กระบวนการแก้ความกำกวมและคำอธิบายประกอบสามารถทำซ้ำและปรับปรุงตนเองได้

เป็นที่รู้กันว่าการฝังแบบหลายนัยช่วยปรับปรุงประสิทธิภาพในงานการประมวลภาษาธรรมชาติหลายอย่าง รวมถึงการแท็กส่วนของคำพูด การระบุความสัมพันธ์ทางความหมาย และการเชื่อมโยงทางความหมาย อย่างไรก็ตาม งานที่เกี่ยวข้องกับ การรู้จำเอนทิตีที่ระบุชื่อ และการวิเคราะห์ความรู้สึกอาจไม่ค่อยได้รับประโยชน์จากการแสดงด้วยเวกเตอร์หลายตัว[22]

ซอฟต์แวร์

[แก้]

ซอฟต์แวร์สำหรับการฝึกอบรมและการใช้การฝังคำ ได้แก่ word2vec ของ โตมาช มิโคโลฟ, GloVe [en] ของมหาวิทยาลัยสแตนฟอร์ด[23], ELMo [en] ของ AllenNLP[24], fastText [en], Gensim[25], Indra[26], Deeplearning4j เป็นต้น การวิเคราะห์องค์ประกอบหลัก (PCA) และ การฝังเพื่อนบ้านแบบเฟ้นสุ่มแจกแจง t (t-SNE) ก็ถูกนำมาใช้เพื่อลดมิติของปริภูมิเวกเตอร์ของคำ และแสดงภาพการฝังคำและกลุ่ม[27]

ตัวอย่างการใช้งาน

[แก้]

fastText ถูกนำมาใช้ในการคำนวณการฝังคำสำหรับคลังข้อความใน Sketch Engine ออนไลน์[28]

อ้างอิง

[แก้]
  1. Mikolov, Tomas; Sutskever, Ilya. "Distributed Representations of Words and Phrases and their Compositionality". arXiv:1310.4546 [cs.CL].
  2. Lebret, Rémi; Collobert, Ronan (2013). "Word Emdeddings through Hellinger PCA". Conference of the European Chapter of the Association for Computational Linguistics (EACL). 2014. arXiv:1312.5542. Bibcode:2013arXiv1312.5542L.
  3. Levy, Omer; Goldberg, Yoav (2014). Neural Word Embedding as Implicit Matrix Factorization (PDF). NIPS.
  4. Li, Yitan; Xu, Linli (2015). Word Embedding Revisited: A New Representation Learning and Explicit Matrix Factorization Perspective (PDF). Int'l J. Conf. on Artificial Intelligence (IJCAI).
  5. Globerson, Amir (2007). "Euclidean Embedding of Co-occurrence Data" (PDF). Journal of Machine Learning Research.
  6. Qureshi, M. Atif; Greene, Derek (2018-06-04). "EVE: explainable vector based embedding technique using Wikipedia". Journal of Intelligent Information Systems (ภาษาอังกฤษ). 53: 137–165. arXiv:1702.06891. doi:10.1007/s10844-018-0511-x. ISSN 0925-9902.
  7. Levy, Omer; Goldberg, Yoav (2014). Linguistic Regularities in Sparse and Explicit Word Representations (PDF). CoNLL. pp. 171–180.
  8. Socher, Richard; Bauer, John; Manning, Christopher; Ng, Andrew (2013). Parsing with compositional vector grammars (PDF). Proc. ACL Conf. คลังข้อมูลเก่าเก็บจากแหล่งเดิม (PDF)เมื่อ 2016-08-11. สืบค้นเมื่อ 2024-11-02.
  9. Socher, Richard; Perelygin, Alex; Wu, Jean; Chuang, Jason; Manning, Chris; Ng, Andrew; Potts, Chris (2013). Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank (PDF). EMNLP.
  10. Firth, J.R. (1957). "A synopsis of linguistic theory 1930-1955". Studies in Linguistic Analysis: 1–32. Reprinted in F.R. Palmer, บ.ก. (1968). Selected Papers of J.R. Firth 1952-1959. London: Longman.
  11. Sahlgren, Magnus. "A brief history of word embeddings". สืบค้นเมื่อ 2020-12-16.
  12. Bengio, Yoshua; Schwenk, Holger; Senécal, Jean-Sébastien; Morin, Fréderic; Gauvain, Jean-Luc (2006). A Neural Probabilistic Language Model. Studies in Fuzziness and Soft Computing. Vol. 194. pp. 137–186. doi:10.1007/3-540-33486-6_6. ISBN 978-3-540-30609-2.
  13. Lavelli, Alberto; Sebastiani, Fabrizio; Zanoli, Roberto (2004). Distributional term representations: an experimental comparison. 13th ACM International Conference on Information and Knowledge Management. pp. 615–624. doi:10.1145/1031171.1031284.
  14. Roweis, Sam T.; Saul, Lawrence K. (2000). "Nonlinear Dimensionality Reduction by Locally Linear Embedding". Science. 290 (5500): 2323–6. Bibcode:2000Sci...290.2323R. doi:10.1126/science.290.5500.2323. PMID 11125150.
  15. word2vec
  16. "A Scalable Hierarchical Distributed Language Model". Advances in Neural Information Processing Systems 21 (NIPS 2008). Curran Associates, Inc.: 1081–1088 2009.
  17. Reisinger, Joseph; Mooney, Raymond J. (2010). Multi-Prototype Vector-Space Models of Word Meaning. Vol. Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics. Los Angeles, California: Association for Computational Linguistics. pp. 109–117. ISBN 978-1-932432-65-7. สืบค้นเมื่อ October 25, 2019.
  18. Huang, Eric. (2012). Improving word representations via global context and multiple word prototypes. OCLC 857900050.
  19. Camacho-Collados, Jose; Pilehvar, Mohammad Taher (2018). From Word to Sense Embeddings: A Survey on Vector Representations of Meaning. Bibcode:2018arXiv180504032C.
  20. Neelakantan, Arvind; Shankar, Jeevan; Passos, Alexandre; McCallum, Andrew (2014). "Efficient Non-parametric Estimation of Multiple Embeddings per Word in Vector Space". Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Stroudsburg, PA, USA: Association for Computational Linguistics: 1059–1069. arXiv:1504.06654. doi:10.3115/v1/d14-1113.
  21. Ruas, Terry; Grosky, William; Aizawa, Akiko (2019-12-01). "Multi-sense embeddings through a word sense disambiguation process". Expert Systems with Applications. 136: 288–303. doi:10.1016/j.eswa.2019.06.026. ISSN 0957-4174.
  22. Li, Jiwei; Jurafsky, Dan (2015). "Do Multi-Sense Embeddings Improve Natural Language Understanding?". Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics: 1722–1732. arXiv:1506.01070. doi:10.18653/v1/d15-1200.
  23. "GloVe". สืบค้นเมื่อ 2020-12-16.
  24. "Elmo". สืบค้นเมื่อ 2020-12-16.
  25. "Gensim". สืบค้นเมื่อ 2020-12-16.
  26. "Indra". 2018-10-25. สืบค้นเมื่อ 2020-12-16.
  27. Ghassemi, Mohammad; Mark, Roger; Nemati, Shamim (2015). "A Visualization of Evolving Clinical Sentiment Using Vector Representations of Clinical Notes" (PDF). Computing in Cardiology.
  28. "Embedding Viewer". Embedding Viewer. Lexical Computing. คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2018-02-08. สืบค้นเมื่อ 7 Feb 2018.