Я всегда получаю большую помощь от переполнения стека.Спасибо вам все время.
Я делаю простую обработку естественного языка с использованием spacy
.Я работаю над фильтрацией слов, измеряя сходство между словами.
Я написал и использовал следующий простой код, показанный в просторной документации, но результат не похож на документацию .
import spacy
nlp = spacy.load('en_core_web_lg')
tokens = nlp('dog cat banana')
for token1 in tokens:
for token2 in tokens:
sim = token1.similarity(token2)
print("{:>6s}, {:>6s}: {}".format(token1.text, token2.text, sim))
результат кода ниже.
dog, dog: 1.0
dog, cat: 2.307269867164827e-21
dog, banana: 0.0
cat, dog: 2.307269867164827e-21
cat, cat: 1.0
cat, banana: -0.04468117654323578
banana, dog: -7.828739256116838e+17
banana, cat: -8.242222286053048e+17
banana, banana: 1.0
В частности, сходство между «собакой» и «кошкой» должно составлять около 0,8, но это не очень и очень небольшое значение.
Кроме того, сходство между «собакой»и «банан» равен 0,0, но сходство между «бананом» и «собакой» составляет -7,828739256116838e + 17.
Я не знаю, как это исправить.
пожалуйста, помогите мне.