2017-12-12 7 views
0

私はspacyのトークンの類似性を計算しようとしています。私。単語トークンが互いにどれほど近いかを示します。私はspacyバージョン2.0.5を使用しています。ここに私の簡単な例があります。Spacyでトークンの類似性を見つけるにはどうすればいいですか?

import spacy 
from spacy.lang.en import English 
from spacy.tokenizer import Tokenizer 

nlp = spacy.load('en') 

x = nlp(u'apple') 
y = nlp(u'apple') 

x.similarity(y) 

これは-81216639937292144.0を返しますが、1.0と予想していました。また

だけでなく、間違ったようだ

x = nlp(u'apple') 
y = nlp(u'apples') 
x.similarity(y) 

戻り0.0038385278814858344。

このトークンの類似性を機能させるにはどうすればよいですか?私は本当にSpacy内で(別の文字列距離パッケージを使用するのではなく)滞在しようとしていますが、これがちょうどスペーシーで行えない場合には、提案を歓迎します。

+0

ステムママ/リーマバージョンバージョンのトークンの類似性を確認してください。 – Tanu

+0

@Tanu nlp = spacy.load( 'en')を使って試しました。 tokenizer =トークナイザ(nlp.vocab) x = tokenizer(u'apple ') y = tokenizer(u'apple') x。類似性(y)はまだ0の結果を得ました – clairekelley

+0

あなたはspacyモジュールにどのバージョンを使用していますか?私は 'apple'をAppleの類似点にしようとしました。それは99%近くのどこかで返されました。 – Tanu

答えて

1

spacyバージョン0.100.7を使って同じことを試みました。それは私のために大丈夫です

import spacy 
from spacy.en import English 
from spacy.tokenizer import Tokenizer 

nlp = spacy.load('en') 

x = nlp(u'apple') 
y = nlp(u'apple') 

print (x.similarity(y)) # prints 0.999999947205 

x = nlp(u'apple') 
y = nlp(u'apple') 

print (x.similarity(sy)) # prints 0.6678450944 

あなたのspacyのバージョンを確認してください。また、deafult-enモデルのみをインストールしましたか?

+0

私はこれをspacy version 2.0.5で動かそうとしています。以前は以前のバージョンで動作していましたが、今は2.0.5で動作する必要があります。spacy.lang.enから英語のボキャブをインストールしました。英語 - すみません、私を助けてくれてありがとう! – clairekelley

0

私もバージョン2.0.5で同じ問題に直面しました。バージョン2.0.2にロールバックすると、 'りんご'と 'りんご'の比較のために1.0000000593284066のようなスコアが得られます。このため

まずあなたは、スペイシーバージョン2.0.5に関連するすべてのライブラリをアンインストールする必要が

for dep in $(pip show spacy | grep Requires | sed 's/Requires: //g; s/,//g') ; do pip uninstall -y $dep ; done 

その後、バージョン2.0.2をインストールし、

pip install spacy=='2.0.2' 

次に、検証、

python -m spacy validate 

ftfyなどのライブラリをインストールするように頼むかもしれないし、インストールしようとするとl既にインストールされている。それらをアンインストールするには、最初にアンインストールしてから、もう一度再インストールしてください(これは、異なるライブラリでは3〜4回発生する可能性があります)。これは、spacy 2.0.5をインストールしているときに、多くのライブラリが最新バージョンに更新されるためです。最後に、モデルをダウンロードしてください。

python -m spacy download en_core_web_sm 
関連する問題