2016-10-30 25 views
2

Gensimのdoc2vecメソッドを使用して、1行に1文を含むテキストファイルを読み込んでいます。私のファイルを辞書に読み込みます。ここで、キーはトークン化された用語リストで、値は文番号です。python gensim doc2vecの元の文章を取得するtaggedlinedocument

ここ

が私のコードです:新しいファイルの

from gensim import utils 
    from gensim.models.doc2vec import LabeledSentence,TaggedLineDocument 
    from gensim.models import Doc2Vec 
    new_file = open('new_file.txt','w') 
    with open('myfile.txt','r') as inp: 
     for line in inp: 
      utils.simple_preprocess(line) 
      file1.write(str(utils.simple_preprocess(line)) + "\n") 
    file1.close() 

出力例:

s = TaggedLineDocument('myfile.txt') 
for k,v in s: 
    print k, v 

出力例:

[u'hi', u'how', u'are', u'you'] 
[u'its', u'such', u'great', u'day'] 
[u'its', u'such', u'great', u'day'] 
[u'its', u'such', u'great', u'day'] 

それから私はgensimのtaggedlinedocument関数にそのリストを養います

[u'hi', u'how', u'are', u'you'] [0] 
[u'hi', u'how', u'are', u'you'] [1] 
[u'hi', u'how', u'are', u'you'] [2] 
[u'its', u'such', u'a', u'great', u'day'] [3] 
[u'its', u'such', u'a', u'great', u'day'] [4] 

質問タグID(例0)を指定すると、元の文章はどのように返されますか?

答えて

1

GensimのWord2Vec/Doc2Vecモデルは、コーパスデータを格納しません。コーパスデータを複数パスで調べて、モデルを学習します。元のテキストを取得する必要がある場合は、独自のデータ構造を使用する必要があります。

関連する問題