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

Word2vec on documents each one containing one sentence

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

谢谢

你试过了吗,结果不好?

我不确定你所说的“删除所有停止点”是什么意思。但是,Gensim 的 Word2Vec 不知道你的标记是什么,并且对 'sentences'.

没有任何想法

重要的是您提供的令牌列表。 (有时人们会像 '.' 这样的标点符号作为标记,有时它会被删除 - 并且它不会产生很大的不同,并且在一定程度上,它的好坏可能取决于你的数据&目标。)

任何包含相邻相关标记的标记列表,对于作为 word2vec 算法核心的那种上下文window 训练,应该工作良好。

例如,它无法从没有相邻词的单词文本中学到任何东西。但是 运行 将句子、段落甚至完整文档组合成长文本效果很好。

即使连接完全不相关的文本也不会造成太大伤害:现在在彼此 windows 中不相关的词的随机噪声位被足够的训练所抵消真正相关文本的运行时间更长。

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