61
правка
Изменения
→Примеры кода с использованием библиотеки Gensim
== Примеры кода с использованием библиотеки Gensim ==
=== Загрузка предобученной модели русского корпуса ===
'''import ''' gensim '''import ''' gensim.downloader '''as ''' download_api russian_model = download_api.load(<font color="green">'word2vec-ruscorpora-300"'</font>)<br> <font color="green"># ''Первые 10 слов корпуса''</font> list(russian_model.vocab.keys())[:<font color="blue">10</font>] [<font color="green">'весь_DET'</font>, <font color="green">'человек_NOUN'</font>, <font color="green">'мочь_VERB'</font>, <font color="green">'год_NOUN'</font>, <font color="green">'сказать_VERB'</font>, <font color="green">'время_NOUN'</font>, <font color="green">'говорить_VERB'</font>, <font color="green">'становиться_VERB'</font>, <font color="green">'знать_VERB'</font>, <font color="green">'самый_DET'</font>]<br> <font color="green"># ''Поиск наиболее близких по смыслу слов. После слова указывается часть речи: NOUN, ADJ, VERB, DET''</font> russian_model.most_similar(<font color="green">'кошка_NOUN'</font>) [(<font color="green">'кот_NOUN'</font>, <font color="blue">0.7570087909698486</font>), (<font color="green">'котенок_NOUN'</font>, <font color="blue">0.7261239290237427</font>), (<font color="green">'собака_NOUN'</font>, <font color="blue">0.6963180303573608</font>), (<font color="green">'мяукать_VERB'</font>, <font color="blue">0.6411399841308594</font>), (<font color="green">'крыса_NOUN'</font>, <font color="blue">0.6355636119842529</font>), (<font color="green">'собачка_NOUN'</font>, <font color="blue">0.6092042922973633</font>), (<font color="green">'щенок_NOUN'</font>, <font color="blue">0.6028496026992798</font>), (<font color="green">'мышь_NOUN'</font>, <font color="blue">0.5975362062454224</font>), (<font color="green">'пес_NOUN'</font>, <font color="blue">0.5956044793128967</font>), (<font color="green">'кошечка_NOUN'</font>, <font color="blue">0.5920293927192688</font>)]<br> <font color="green"># ''Вычисление сходства слов''</font> russian_model.similarity(<font color="green">'мужчина_NOUN'</font>, <font color="green">'женщина_NOUN'</font>) <font color="blue">0.85228276</font><br> <font color="green"># ''Поиск лишнего слова''</font> russian_model.doesnt_match(<font color="green">'завтрак_NOUN хлопья_NOUN обед_NOUN ужин_NOUN"'</font>.split())
хлопья_NOUN
=== Обучение модели word2vec и fastText на текстовом корпусе ===
'''from ''' gensim.models.word2vec '''import ''' Word2Vec '''from ''' gensim.models.fasttext '''import ''' FastText '''import ''' gensim.downloader '''as ''' download_api<br> <font color="green"># ''Скачаем небольшой текстовый корпус (32 Мб) и откроем его как итерируемый набор предложений: iterable(list(string))''</font> corpus = download_api.load(<font color="green">'text8'</font>)<br> <font color="green"># ''Обучим модели word2vec и fastText''</font> word2vec_model = Word2Vec(corpus, size=<font color="blue">100</font>, workers=<font color="blue">4</font>) fastText_model = FastText(corpus, size=<font color="blue">100</font>, workers=<font color="blue">4</font>)<br> word2vec_model.most_similar(<font color="green">'car"'</font>)[:<font color="blue">3</font>] [(<font color="green">'driver'</font>, <font color="blue">0.8033335208892822</font>), (<font color="green">'motorcycle'</font>, <font color="blue">0.7368553876876831</font>), (<font color="green">'cars'</font>, <font color="blue">0.7001584768295288</font>)]<br> fastText_model.most_similar(<font color="green">'car"'</font>)[:<font color="blue">3</font>] [(<font color="green">'lcar'</font>, <font color="blue">0.8733218908309937</font>), (<font color="green">'boxcar'</font>, <font color="blue">0.8559106588363647</font>), (<font color="green">'ccar'</font>, <font color="blue">0.8268736004829407</font>)]
== См. также ==