Вкладання слів

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Векторний простір слів)
Перейти до навігації Перейти до пошуку

Вклада́ння слі́в (англ. word embedding) — це загальна назва низки методик мовного моделювання та навчання ознак в обробці природної мови (ОПМ), в яких слова або фрази зі словника відображують у вектори дійсних чисел. Концептуально воно дає математичне вкладення з простору з багатьма вимірами, по одному на слово, до неперервного векторного простору набагато нижчої розмірності.

До методів породжування цього відображення належать нейронні мережі,[1] зниження розмірності на матриці суміжності[en] слів,[2][3][4] імовірнісні моделі,[5] метод поясненної бази знань,[6] та явне представлення в термінах контексту, в якому з'являються слова.[7]

Було показано, що вкла́дення слів та фраз, коли їх використовують як базове представлення входу, підсилюють продуктивність в задачах ОПМ, таких як синтаксичний аналіз[8] та аналіз тональності тексту.[9]

Розвиток та історія цього підходу

[ред. | ред. код]

В мовознавстві вкладання слів обговорювали в дослідницькій області дистрибутивної семантики. Її метою є кількісне оцінювання та категоризування семантичних подібностей мовознавчих елементів на основі їхніх розподільних властивостей у великих вибірках мовних даних. Основну ідею, що «слово характеризується товариством, якого воно тримається», популяризував Ферт[en].[10]

Поняття семантичного простору з лексичними елементами (словами або кількаслівними термінами), представленими як вектори або вкладення, ґрунтується на обчислювальних викликах вловлювання розподільних властивостей та використання їх для практичного застосування, щоби вимірювати подібність між словами, фразами, або цілими документами. Першим поколінням моделей семантичного простору є векторної моделі для інформаційного пошуку.[11][12][13] Такі векторні моделі для слів та їхніх розподільних даних, втілені у своєму найпростішому вигляді, дають в результаті дуже розріджений векторний простір високої розмірності (пор. прокляття розмірності). Зниження числа вимірів із застосуванням лінійних алгебричних методів, таких як сингулярний розклад матриці, призвело потім до впровадження латентно-семантичного аналізу наприкінці 1980-х, та підходу Випадкового індексування[en] для збирання контекстів суміжності слів.[14][15][16][17][18] 2000 року Бенжіо[en] та ін. запровадили в низці праць «Нейронні ймовірнісні моделі мови» для зниження високої розмірності представлень слів у контекстах шляхом «навчання розподіленого представлення для слів».[19][20] Вкладання слів буває двох різних стилів: в одному слова виражають як вектори суміжних слів, а в іншому слова виражають як мовознавчі контексти, в яких ці слова трапляються, ці різні стилі досліджено в праці Лавеллі та ін. 2004 року.[21] Ровейс та Сол опублікували в «Science», як використовувати «локально лінійне вкладання» (ЛЛВ, англ. locally linear embedding, LLE), щоби виявляти представлення структур даних високої розмірності.[22] Більшість нових методик вкладання слів після 2005 року покладаються на нейромережну архітектуру замість більш імовірнісних та алгебричних моделей, з часу деяких засадничих праць Йошуа Бенжіо з колегами.[23][24]

Цей підхід було перейнято багатьма дослідницькими групами після зроблених близько 2010 року вдосконалень в теоретичній праці над якістю векторів та швидкістю тренування цієї моделі, та апаратних досягнень, що дали можливість з користю досліджувати ширший простір параметрів. 2013 року команда в Google під проводом Томаша Міколова створила word2vec, інструментарій вкладання слів, що може тренувати векторні моделі швидше за попередні підходи. Підхід word2vec широко використовували в експериментах, він сприяв підвищенню зацікавлення вкладаннями слів як технологією, зміщуючи напрямок досліджень від спеціалізованих досліджень до ширших експериментів, і врешті-решт проклавши шлях до практичного застосування.[25]

Обмеження

[ред. | ред. код]

Одним з головних обмежень вкладань слів (векторних моделей слів у цілому) є те, що слова з кількома значеннями об'єднуються в єдине представлення (єдиний вектор в семантичному просторі). Іншими словами, багатозначність та омонімія не обробляються належним чином. Наприклад, в реченні «The club I tried yesterday was great!» не ясно, чи термін «club» стосується словосенсу «багатошаровий бутерброд[en]», «бейсбольний клуб», «молитовня[en]», «ключка для гри в гольф[en]», чи будь-якого іншого сенсу, який може мати слово «club». Необхідність розміщення декількох сенсів на слово в різних векторах (багатосенсові вкладення, англ. multi-sense embeddings) стало мотивацією декількох внесків до ОПМ для розділення односенсових вкладень на багатосенсові.[26][27]

Більшість підходів, які виробляють багатосенсові вкладення, може бути поділено на дві головні категорії згідно їхнього представлення сенсу, а саме спонтанні, та на основі знань.[28] Заснований на word2vec'овій пропуск-грамі (англ. skip-gram), багатосенсовий пропуск-грам (БСПГ англ. Multi-Sense Skip-Gram, MSSG)[29] виконує словосенсове розділення та вкладання одночасно, вдосконалюючи тривалість свого тренування, виходячи з певного числа сенсів для всіх слів. В непараметричній багатосенсовій пропуск-грамі (НП-БСПГ, англ. Non-Parametric Multi-Sense Skip-Gram, NP-MSSG) це число може мінитися залежно від кожного слова. Поєднуючи попереднє знання лексичних баз даних (наприклад, WordNet, ConceptNet[en], BabelNet[en]), вкладення слів та воднозначнення сенсу слів, анотування найбільш підхожим сенсом (АНПС англ. Most Suitable Sense Annotation, MSSA)[30] мітить словосенси шляхом спонтанного підходу та підходу на основі знань, розглядаючи контекст слова в наперед визначеному ковзному вікні. Щойно слова було воднозначнено, їх можливо використовувати в стандартній методиці вкладання слів, тож виробляються багатосенсові вкладення. Архітектура АНПС дозволяє процесові воднозначнювання та анотування виконуватися рекурентно, самовдосконалювальним чином.

Відомо, що застосування багатосенсових вкладень покращує продуктивність в низці задач ОПМ, таких як розмічування частин мови, ідентифікація семантичних відношень, та семантична пов'язаність[en]. Проте схоже, що задачі, пов'язані з розпізнаванням іменованих сутностей та аналізом тональності тексту, від представлення кількома векторами не виграю́ть.[31]

Для біологічних послідовностей: БіоВектори

[ред. | ред. код]

Вкладення слів для N-грамів у біологічних послідовностях (наприклад, ДНК, РНК та протеїнах) для застосувань у біоінформатиці було запропоновано Асґарі та Мофрадом.[32] Назване біо-векторами (БіоВек, англ. bio-vectors, BioVec) для позначування біологічних послідовностей в цілому, й протеїн-векторами (ПротВек, англ. protein-vectors, ProtVec) для протеїнів (послідовностей амінокислот) та ген-векторами (ГенВек, англ. gene-vectors, GeneVec) для послідовностей генів, це представлення можливо широко використовувати в застосуваннях глибокого навчання в протеоміці та геноміці. Результати, представлені Асґарі та Мофрадом,[32] дозволяють припустити, що БіоВектори можуть характеризувати біологічні послідовності в термінах біохімічних та біофізичних інтерпретацій закономірностей, що лежать в їх основі.

Вектори думок

[ред. | ред. код]

Вектори́ думо́к[en] (англ. thought vectors) — це розширення вкладання слів на цілі речення або навіть документи. Деякі дослідники сподіваються, що вони можуть вдосконалити якість машинного перекладу.[33]

Програмне забезпечення

[ред. | ред. код]

До програмного забезпечення тренування та використання вкладень слів належать word2vec Томаша Міколова, GloVe Стенфордського університету,[34] GN-GloVe,[35] ELMo AllenNLP,[36] BERT,[37] fastText, Gensim[en],[38] Indra[39] та Deeplearning4j. Для знижування розмірності простору векторів слів та унаочнювання вкладень слів та кластерів[en] використовують як метод головних компонент (МГК, англ. PCA), так і t-розподілене вкладення стохастичної близькості (англ. t-SNE).[40]

Приклади застосування

[ред. | ред. код]

Наприклад, fastText також використовують, щоби обчислювати вкладення слів для корпусів текстів у Sketch Engine, доступних онлайн.[41]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]
  1. Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013). 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. NIPS. Архів оригіналу (PDF) за 14 листопада 2016. Процитовано 20 жовтня 2020. (англ.)
  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). Архів оригіналу (PDF) за 6 вересня 2015. Процитовано 20 жовтня 2020. (англ.)
  5. Globerson, Amir (2007). Euclidean Embedding of Co-occurrence Data (PDF). Journal of Machine Learning Research. Архів оригіналу (PDF) за 21 вересня 2016. (англ.)
  6. Qureshi, M. Atif; Greene, Derek (4 червня 2018). 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. S2CID 10656055. (англ.)
  7. Levy, Omer; Goldberg, Yoav (2014). Linguistic Regularities in Sparse and Explicit Word Representations (PDF). CoNLL. с. 171—180. Архів оригіналу (PDF) за 25 вересня 2017. Процитовано 20 жовтня 2020. (англ.)
  8. Socher, Richard; Bauer, John; Manning, Christopher; Ng, Andrew (2013). Parsing with compositional vector grammars (PDF). Proc. ACL Conf. Архів оригіналу (PDF) за 11 серпня 2016. Процитовано 20 жовтня 2020. (англ.)
  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. Архів оригіналу (PDF) за 28 грудня 2016. Процитовано 20 жовтня 2020. (англ.)
  10. Firth, J.R. (1957). A synopsis of linguistic theory 1930-1955. Studies in Linguistic Analysis: 1—32. Передруковано в F.R. Palmer, ред. (1968). Selected Papers of J.R. Firth 1952-1959. London: Longman. (англ.)
  11. Salton, Gerard (1962). Some experiments in the generation of word and document associations. Proceeding AFIPS '62 (Fall) Proceedings of the December 4–6, 1962, fall joint computer conference: 234—250. Архів оригіналу за 18 жовтня 2020. Процитовано 18 жовтня 2020. (англ.)
  12. Salton, Gerard; Wong, A; Yang, C S (1975). A Vector Space Model for Automatic Indexing. Communications of the Association for Computing Machinery (CACM): 613—620. (англ.)
  13. Dubin, David (2004). The most influential paper Gerard Salton never wrote. Архів оригіналу за 18 жовтня 2020. Процитовано 18 жовтня 2020. (англ.)
  14. Sahlgren, Magnus. A brief history of word embeddings. Архів оригіналу за 21 червня 2020. Процитовано 20 жовтня 2020. (англ.)
  15. Kanerva, Pentti, Kristoferson, Jan and Holst, Anders (2000): Random Indexing of Text Samples for Latent Semantic Analysis, Proceedings of the 22nd Annual Conference of the Cognitive Science Society, p. 1036. Mahwah, New Jersey: Erlbaum, 2000. (англ.)
  16. Karlgren, Jussi; Sahlgren, Magnus (2001). Uesaka, Yoshinori; Kanerva, Pentti; Asoh, Hideki (ред.). From words to understanding. Foundations of Real-World Intelligence. CSLI Publications: 294—308. (англ.)
  17. Sahlgren, Magnus (2005) An Introduction to Random Indexing [Архівовано 21 жовтня 2020 у Wayback Machine.], Proceedings of the Methods and Applications of Semantic Indexing Workshop at the 7th International Conference on Terminology and Knowledge Engineering, TKE 2005, August 16, Copenhagen, Denmark (англ.)
  18. Sahlgren, Magnus, Holst, Anders and Pentti Kanerva (2008) Permutations as a Means to Encode Order in Word Space [Архівовано 9 липня 2009 у Wayback Machine.], In Proceedings of the 30th Annual Conference of the Cognitive Science Society: 1300-1305. (англ.)
  19. Bengio, Yoshua; Ducharme, Réjean; Vincent, Pascal; Jauvin, Christian (2003). A Neural Probabilistic Language Model (PDF). Journal of Machine Learning Research. 3: 1137—1155. Архів оригіналу (PDF) за 29 жовтня 2020. Процитовано 20 жовтня 2020. (англ.)
  20. Bengio, Yoshua; Schwenk, Holger; Senécal, Jean-Sébastien; Morin, Fréderic; Gauvain, Jean-Luc (2006). A Neural Probabilistic Language Model. Т. 194. с. 137—186. doi:10.1007/3-540-33486-6_6. ISBN 978-3-540-30609-2. {{cite book}}: Проігноровано |journal= (довідка) (англ.)
  21. Lavelli, Alberto; Sebastiani, Fabrizio; Zanoli, Roberto (2004). Distributional term representations: an experimental comparison. 13th ACM International Conference on Information and Knowledge Management. с. 615—624. doi:10.1145/1031171.1031284. (англ.)
  22. Roweis, Sam T.; Saul, Lawrence K. (2000). Nonlinear Dimensionality Reduction by Locally Linear Embedding. Science. 290 (5500): 2323—6. Bibcode:2000Sci...290.2323R. CiteSeerX 10.1.1.111.3313. doi:10.1126/science.290.5500.2323. PMID 11125150. (англ.)
  23. Morin, Fredric; Bengio, Yoshua (2005). Hierarchical probabilistic neural network language model. AIstats. 5: 246—252. (англ.)
  24. Mnih, Andriy; Hinton, Geoffrey (2009). A Scalable Hierarchical Distributed Language Model. Advances in Neural Information Processing Systems 21 (NIPS 2008). Curran Associates, Inc.: 1081—1088. Архів оригіналу за 3 вересня 2020. Процитовано 20 жовтня 2020. (англ.)
  25. word2vec. Архів оригіналу за 3 листопада 2020. Процитовано 20 жовтня 2020.
  26. Reisinger, Joseph; Mooney, Raymond J. (2010). Multi-Prototype Vector-Space Models of Word Meaning. Т. 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. с. 109—117. ISBN 978-1-932432-65-7. Архів оригіналу за 25 жовтня 2019. Процитовано 25 жовтня 2019. (англ.)
  27. Huang, Eric. (2012). Improving word representations via global context and multiple word prototypes. OCLC 857900050. (англ.)
  28. Camacho-Collados, Jose; Pilehvar, Mohammad Taher (2018). From Word to Sense Embeddings: A Survey on Vector Representations of Meaning. arXiv:1805.04032. Bibcode:2018arXiv180504032C. (англ.)
  29. 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. S2CID 15251438. (англ.)
  30. Ruas, Terry; Grosky, William; Aizawa, Akiko (1 грудня 2019). Multi-sense embeddings through a word sense disambiguation process. Expert Systems with Applications. 136: 288—303. doi:10.1016/j.eswa.2019.06.026. hdl:2027.42/145475. ISSN 0957-4174. (англ.)
  31. 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. S2CID 6222768. (англ.)
  32. а б Asgari, Ehsaneddin; Mofrad, Mohammad R.K. (2015). Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics. PLOS ONE. 10 (11): e0141287. arXiv:1503.05140. Bibcode:2015PLoSO..1041287A. doi:10.1371/journal.pone.0141287. PMC 4640716. PMID 26555596.{{cite journal}}: Обслуговування CS1: Сторінки із непозначеним DOI з безкоштовним доступом (посилання) (англ.)
  33. Kiros, Ryan; Zhu, Yukun; Salakhutdinov, Ruslan; Zemel, Richard S.; Torralba, Antonio; Urtasun, Raquel; Fidler, Sanja (2015). skip-thought vectors. arXiv:1506.06726 [cs.CL]. (англ.)
  34. GloVe. Архів оригіналу за 19 грудня 2016. Процитовано 20 жовтня 2020.
  35. Zhao, Jieyu. Learning Gender-Neutral Word Embeddings. arXiv:1809.01496 [cs.CL]. {{cite arXiv}}: Проігноровано невідомий параметр |collaboration= (довідка) (англ.)
  36. Elmo. Архів оригіналу за 29 жовтня 2020. Процитовано 20 жовтня 2020.
  37. Pires, Telmo; Schlinger, Eva; Garrette, Dan (4 червня 2019). How multilingual is Multilingual BERT?. arXiv:1906.01502 [cs.CL]. (англ.)
  38. Gensim. Архів оригіналу за 3 січня 2017. Процитовано 20 жовтня 2020.
  39. Indra. 25 жовтня 2018. Архів оригіналу за 5 січня 2021. Процитовано 20 жовтня 2020.
  40. Ghassemi, Mohammad; Mark, Roger; Nemati, Shamim (2015). A Visualization of Evolving Clinical Sentiment Using Vector Representations of Clinical Notes (PDF). Computing in Cardiology. Архів оригіналу (PDF) за 31 травня 2016. (англ.)
  41. Embedding Viewer. Embedding Viewer. Lexical Computing. Архів оригіналу за 8 лютого 2018. Процитовано 7 лютого 2018.