Изменения

Перейти к: навигация, поиск

Векторное представление слов

1453 байта добавлено, 16:43, 2 марта 2019
Пример использования модели word2vec из библиотеки Gensim
Недостатком word2vec является то, что с его помощью не могут быть представлены слова, не встречающиеся в обучающей выборке. fastText решает эту проблему с помощью N-грамм символов. Например, 3-граммами для слова ''яблоко'' являются ''ябл'', ''бло'', ''лок'', ''око''. Модель теперь строит векторные представления N-грамм, а векторным представлением слова будет сумма векторных представлений для всех его N-грамм. Части слов с большой вероятностью встречаются и в других словах, что позволяет выдавать векторные представления и для редких слов тоже.
== Пример использования модели word2vec из Примеры кода с использованием библиотеки Gensim ==* Загрузка предобученной модели русского корпуса import gensim import gensim .downloader as download_api russian_model = api.load("word2vec-ruscorpora-300") #Первые 10 слов корпуса list(russian_model.vocab.keys())[:10] ['весь_DET', 'человек_NOUN', 'мочь_VERB', 'год_NOUN', 'сказать_VERB', 'время_NOUN', 'говорить_VERB', 'становиться_VERB', 'знать_VERB', 'самый_DET']  #Поиск наиболее близких по смыслу слов. После слова указывается часть речи: NOUN, ADJ, VERB, DET russian_model.most_similar('кошка_NOUN') [('кот_NOUN', 0.7570087909698486), ('котенок_NOUN', 0.7261239290237427), ('собака_NOUN', 0.6963180303573608), ('мяукать_VERB', 0.6411399841308594), ('крыса_NOUN', 0.6355636119842529), ('собачка_NOUN', 0.6092042922973633), ('щенок_NOUN', 0.6028496026992798), ('мышь_NOUN', 0.5975362062454224), ('пес_NOUN', 0.5956044793128967), ('кошечка_NOUN', 0.5920293927192688)]  #Вычисление сходства слов russian_model.similarity('мужчина_NOUN', 'женщина_NOUN') 0.85228276  #Поиск лишнего слова russian_model.doesnt_match("завтрак_NOUN хлопья_NOUN обед_NOUN ужин_NOUN".split()) хлопья_NOUN
== См. также ==
61
правка

Навигация