Как отфильтровать модель по тексту, а затем использовать most_simil? - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть текст, и я хочу отфильтровать модель по тексту. Это нормально?

import pandas as pd
import gensim
import nltk
from nltk import word_tokenize
from nltk.collocations import *
from nltk.stem.wordnet import WordNetLemmatizer
import re

text = "though quite simple room solid choice allocated room already used summer holiday apartment bel endroit nice place place winter"
from gensim.models import Word2Vec,  KeyedVectors

model = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz')
model_filter = [w for w in list(model.wv.vocab) if w in text]

Если все в порядке, как отфильтровать результаты (model_filter) наиболее похожих функций (modelo_filtrado.most_s Similar_cosmul ????), тех, которые принадлежат тексту? Thx.

1 Ответ

2 голосов
/ 22 апреля 2020

Ваш text - простая строка. Слова внутри model являются отдельными строками слов. Итак, ваша существующая проверка ищет, появляются ли отдельные слова в любом месте в качестве подстрок внутри вашего text.

Например, даже если 'ice' не отображается в вашем text как слово, оно будет оцениваться как True:

'ice' in "though quite simple room solid choice allocated room already used summer holiday apartment bel endroit nice place place winter"

Возможно, вы захотите включить text в список слов, сначала:

text_words = text.split()

В противном случае, да, ваш код будет заполнять model_filter только теми словами, которые оба в model и in в вашем text (или text_words).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...