1
なぜ、同じ単語の宇宙飛行士を持つ両方のドキュメントとの類似性が、以下のコードで0.00ですか?なぜ1つの単語を持つ2つのドキュメントが類似性について0.00を返しますか?
import spacy
nlp = spacy.en.English()
print (nlp('astronaut').similarity(nlp('astronaut')))
# Result: 0.0
なぜ、同じ単語の宇宙飛行士を持つ両方のドキュメントとの類似性が、以下のコードで0.00ですか?なぜ1つの単語を持つ2つのドキュメントが類似性について0.00を返しますか?
import spacy
nlp = spacy.en.English()
print (nlp('astronaut').similarity(nlp('astronaut')))
# Result: 0.0
理由は、その単語が単一の単語のためのベクトルがポイントである、とあなたはポイント間cosine distance similarityを得ることができないです。
多次元ベクトル対点に対するベクトルの比較を見る
>>> a = nlp(u'astronaut eating apple banana cherry')
>>> b = nlp(u'astronaut eating apple banana fruit')
>>> a.similarity(b)
0.96363932891327542
>>> a.similarity(a)
0.99999997666693974
>>> b.similarity(b)
1.000000996690289
>>> a = nlp(u'astronaut')
>>> b = nlp(u'astronaut')
>>> a.similarity(a)
0.0
>>> b = nlp(u'cosmonaut')
>>> a.similarity(a)
0.0
>>> b.similarity(b)
0.0
>>> a.similarity(b)
0.0
>>> c = nlp(u'single')
>>> a.similarity(c)
0.0