私はword2vecチュートリアルを見て、Text8Corpusの与えられたサンプルデータを使って練習できました。 Tutorial linkしかし、カスタムデータをテストしようとしたとき、モデルはトレーニングではありません。入力は、PythonリストのUnicode文字列形式です。また、min_countも1に設定されています。上記の入力形式でトレーニングしていないので、私は与えられたチュートリアルからの入力のタイプをチェックしようとしましたが、class 'gensim.models.word2vec.Text8Corpus'という形式を受け取ります。ユニコード文字列のカスタムデータをリストで訓練する方法がわからない。誰も私を正しい方向に導くことができますか?入力のWord2Vecモデルはトレーニングではありません。入力文は、文章とトークン化された単語の両方をリストに入れて試しました。
例: 'u'dont'、u'let 'u'him'、u'treat [u'SENTENCE_START 'u'you'、u'like 'U'ごみ「u'SENTENCE_END」]]私はチュートリアルと例から理解word2vecする訓練することで全部です
sentences_clean = []
data = pandas.read_excel('from my folder/3_captions.xlsx', parse_cols = "A")
sentences = data.iloc[:, 0].tolist()
for line in sentences:
line = re.sub(r"""["?,$!]|'(?!(?<! ')[ts])""", "", line)
line = re.sub(r"\.", "", line)
line = line.lower().replace("'", "")
sentences_clean.append(line)
tokenized_sentences = [nltk.word_tokenize(sent) for sent in sentences_clean]
import gensim, logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
model_word2vec = gensim.models.Word2Vec(sentences_clean, min_count=1, size=300, workers=4)
model_word2vec.save('/Users/rajesh/Documents/word2vec')
print (model_word2vec.similarity('freudian','slip'))
?しかし、これはチュートリアルの下で動作します。
sentences = word2vec.Text8Corpus('/Users/rajesh/Downloads/text8')
model_word2vec = gensim.models.Word2Vec(sentences, min_count=1, size=20)
print (model_word2vec.similarity('queen','woman'))
>>> 0.659536897647
これは何かエラーを出すのですか、またはあなたに正しい出力が得られないという問題ですか?それでも、私はまずあなたの文章をトークン化する必要があると信じています。 – umutto
それは間違いを与えませんでした。私はnltkで文をトークン化することも試みました。トークン化された入力は:[u'SENTENCE_START '、u'i'、u'guess '、u'i'、u'just '、u'dont'、u'understand '、u'why'、u'i ' u''ways '、u'have'、u'to '、u'be'、u'the '、u'fall'、u'guy '、u'Sentence_END'] –
私はエラーをポップしなかった、単語の類似性をチェックしようとしたときにも、私は単語がvocabエラーではないことを受けました。しかし、私はモデルが訓練されているとは思わない。 –