Gengram doc2vec对ngram的训练

问题描述 投票:1回答:1

我有几千个文档要在gensim doc2vec模型中使用,但是每个文档只有5克,而全文本没有它们的原始单词顺序。在gensim网站(https://radimrehurek.com/gensim/auto_examples/tutorials/run_doc2vec_lee.html)上的doc2vec教程中,创建具有全文的语料库,然后在该语料库上训练模型。看起来像这样:

[TaggedDocument(words=['hundreds', 'of', 'people', 'have', 'been', 'forced', 'to', 'vacate', 'their', 'homes', 'in', 'the', 'southern',...], tags=[1]), TaggedDocument(words=[.....], tags=[2]),...]

是否有可能创建一个训练语料库,使每个文档都由一个5克列表而不是其原始顺序的单词列表组成?

python gensim doc2vec
1个回答
0
投票

[如果您将文档中的所有5克都“全部”保存起来-甚至仍然按照它们出现的顺序-应该可以将原始文档(或几乎等同的伪文档)缝合在一起,就像5 -克是拼图或多米诺骨牌。

(例如,通过在数据中的顺序位置找到第一个5克,或者找到一个其4前缀标记与其他5克的4后缀标记不同的5克。然后,通过将其4后缀标记与另一候选5克标记的4前缀标记进行匹配来找到其后继者。如果在任何时候您有多个候选“开始”或“继续”,则可以尝试任何一个&继续直到完成或达到死胡同–深度搜索第一个一致的链–&如果死胡同,然后备份并尝试另一个。尽管如此,您也可以选择另一个不错的开始5克, &继续,可能会导致文档顺序稍有错误并重复了一些标记。在大量语料库中,此类错误对最终结果的影响不大。)

或者,'PV-DBOW'模式(dm=0)不使用上下文窗口或相邻单词-因此获取确切的原始单词顺序无关紧要,只要在文档中插入正确单词即可订购。因此,仅将所有5克字母连接起来便会创建一个合理的伪文档-尤其是如果您随后丢弃了4/5的任何单词(以说明原始文档中除了开头或结尾处都出现一个单词的事实, 5 5克)。

© www.soinside.com 2019 - 2024. All rights reserved.