Word2vec 上的文档每一个都包含一个句子

问题描述

我有一些无监督数据(100.000 个文件),每个文件都有一个包含一个句子的段落。预处理出错并删除了所有停止点 (.)。 我在一个小样本(2000 个文件)上使用了 word2vec,它将每个文档视为一个句子。 我应该继续处理所有剩余文件吗?或者这会导致错误的模型?

谢谢

解决方法

您是否尝试过,但结果不佳?

我不确定您所说的“删除所有停止点”是什么意思。但是,Gensim 的 Word2Vec 不知道您的标记是什么,并且对“句子”一无所知。

重要的是您提供的令牌列表。 (有时人们会将 '.' 之类的标点符号包含在标记中,有时会被剥离 - 无论哪种方式都不会产生很大的不同,并且在某种程度上,它是好是坏可能取决于您的数据 &目标。)

任何包含相邻相关标记的标记列表,对于 word2vec 算法的核心上下文窗口训练,都应该运行良好。

例如,它无法从没有相邻单词的单字文本中学习任何内容。但是将句子、段落甚至完整文档合并成长文本效果很好。

即使连接完全不相关的文本也不会造成太大伤害:经过足够的训练,在更长时间的真正意义上的关系中,现在彼此窗口中不相关词的随机噪音被抵消了-相关文字。

要考虑的主要限制是每个训练文本(标记列表)的长度不应超过 10,000 个标记,因为直到 Gensim 4.0 的内部实现限制意味着超过第 10,000 个位置的标记将被忽略。 (这个限制最终可能会被修复——但在此之前,将过长的文本分成 10,000 个标记的块是一个很好的解决方法,通过在断点处丢失上下文而产生的影响可以忽略不计。)