我已经使用大约20.000个文件构建了Doc2Vec模型。我正在寻找一种找到给定向量/ ID的字符串表示形式的方法,这可能类似于Word2Vec的index2entity。我可以使用model ['n']来获取向量本身,但是现在我想知道是否还有一种方法可以获取它的某种字符串表示形式。
答案 0 :(得分:0)
如果您要查找实际的训练文本,对于作为训练一部分的给定text + tag,您应该将该映射保留在Doc2Vec
模型之外。 (该模型不存储训练文本,仅在训练过程中反复查看它们。)
如果您想从Doc2Vec
文档向量中生成文本,这不是现有功能,我也不知道有任何发表过的文章描述了实现此目的的可靠技术。
gensim Doc2Vec
正在进行一些推测性的/实验性工作,它将通过模型的神经网络向前传播doc向量,并报告预测最高的目标词。 (这与infer_vector()
的工作方式有些相反。)
有可能 提供了一些摘要文字。有关更多详细信息,请参见此未解决的问题以及随附的正在进行的PR:
https://github.com/RaRe-Technologies/gensim/issues/2459
这是否真正有用或可能成为gensim的一部分仍不清楚。
但是,请注意,这样的单词集不会是语法上的。 (这只是预测最多的单词的排名列表。也许其他子系统可以尝试以自然的语法方式将这些单词串在一起。)
此外,一个概念是否具有多个潜在的关联词,或者只有一个潜在的关联,其微妙之处可能会极大地影响该过程的“前N个”结果。举一个可能的例子:描述“冷”环境的词很多。结果,有关寒冷的文本的文档向量可能在排名第11至20的位置中有很多“冷”的近义词-这样至少一个寒冷的单词的“总可能性”非常大高,也许比其他任何一个单词都高。但是,仅查看前10位最容易预测的单词,可能会列出其他“纯正”单词,它们的可能性没有那么大地划分,并且错过了(更重要的是总体上)“冷漠”的感觉。因此,这种实验性的伪摘要方法可能会受益于第二遍,即以某种方式将相关词组“集合”为最具有代表性的词,直到文档的整体比例(而不是固定的top-N)为止。传达向量的预测词。 (此过程可能模糊不清,就像找到一组M个单词,使它们与整个预测单词的“单词移动器的距离”最小化,尽管这可能是一个非常昂贵的搜索。)