Word2Vecは、文章ではなく単語のベクトル表現のみを提供します。
単語ベクトルから文章のような長いテキスト(文章など)のベクトルに行く方法は、いくつかの目的で多少有効ですが、すべての単語ベクトルを平均化することです。これはgensim Word2Vec
クラスの機能ではありません。これを自分でコーディングする必要があります。例えば
、単語ベクトルは、すでにword_model
としてロードして、あなたがおおよそ行いたい:トークンがモデルに知られているすべての、またはその他のいないとき
import numpy as np
sentence_tokens = "I do not like green eggs and ham".split()
sum_vector = np.zeros(word_model.vector_size)
for token in sentence_tokens:
sum_vector += word_model[token]
sentence_vector = sum_vector/len(sentence_tokens)
実際のコードは、のために取り扱い加えるかもしれませんテキストをトークン化/フィルタリングする方法などが含まれる。
gensimのDoc2Vec
クラスで実装されている「段落ベクトル」アルゴリズムなど、テキストの長さのベクトルを取得するためのさらに洗練された方法があります。これらは必ずしも事前に訓練された単語ベクトルから始まるわけではありませんが、あなた自身のテキストコーパスで訓練することができます。
word2vecは、文章ではなくベクトルに* words *をマップします。 –