Gensim doc2vec关于ngrams的培训



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

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

是否可以创建一个训练语料库,其中每个文档由5个图表的列表组成,而不是按原始顺序的单词列表?

如果你拥有文档中的"所有"5克——甚至可能仍然按照它们出现的顺序——那么应该可以将原始文档(或几乎等效的伪文档(缝合在一起,就像5克是拼图或多米诺骨牌一样。

(例如,通过它在数据中的顺序位置,或者通过找到一个4-前缀标记不是任何其他5-克的4-前缀标记的5-克,找到第一个5-克。然后,通过将其4-前缀标记与另一个候选5-克的4前缀标记相匹配来找到它的后继。如果在任何时候你有多个候选"开始"或"继续",你可以尝试任何一个&一直持续到你u要么完成要么到达死胡同–depth-1st搜索一致链–&如果是死路一条,那么备份&再试试。不过,你也可以选择另一个好的开始5克,&继续,冒着文档排序有点错误的风险&重复几个记号。在大型语料库中,一堆这样的错误不会对最终结果产生太大影响。(

或者,"PV-DBOW"模式(dm=0(不使用上下文窗口或相邻单词,因此获得确切的原始单词顺序并不重要,只需在文档中以任何顺序使用正确的单词即可。因此,只需将所有5个单词串联起来,就可以创建一个合理的伪文档——尤其是如果你丢弃了任何单词的4/5(以解释原始文档中的任何一个单词,除了最开始或结尾,都以5个5个单词的形式出现(。

最新更新