2

Gensim の doc2vec メソッドを使用して、1 行に 1 文のテキスト ファイルを読み込んでいます。キーが用語のトークン化されたリストであり、値が文番号である辞書に私のファイルを読み込みます。

これが私のコードです:

    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()

新しいファイルの出力例:

[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 関数にフィードします。

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

出力例:

[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) が与えられた場合、どうすれば元の文を取得できますか?

4

1 に答える 1