python gensim从doc2vec taggedlinedocument检索原始句子

wi3ka0sx  于 2023-05-16  发布在  Python
关注(0)|答案(1)|浏览(101)

我使用Gensim的doc2vec方法读取我的文本文件,其中每行包含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),我如何返回原始句子?

kyks70gy

kyks70gy1#

Gensim的Word 2 Vec/Doc 2 Vec模型不存储语料库数据-它们只在多个通道中检查它以训练模型。如果需要检索原始文本,则应使用自己的数据结构。

相关问题