В своем последнем проекте я создаю чат-бота с базой газетных статей. Когда пользователь вводит слово или фразу, я хотел бы найти слово / слова, связанные с указанной фразой, и отобразить список, если уникальные слова, из которых исключено входное слово.
# Create a vectorizer
tfidfvec = TfidfVectorizer(tokenizer = LemNormalize , stop_words="english")
# Fir the tokens
tfidf = Tfidfvec.fit_transform(sent_tokens)
# Find the term frequency
val= cosine_similarity(tfidf[-1],tfidf)
# Find and print the nearest possible answer
idx = val.argsort()[0][-2]
print(idx)
flat=val.flatten()
flat.sort()/* sorted values*/
score= flat[-2]
/* 0 score means there is no answer to question in text*/
if(score==0):
/* chat default function */
chatt()
else:
/* print chatbot answer*/
quirry_response=quirry_response+sent_tokens[idx]