【问题标题】:Gensim Word2Vec Training DataGensim Word2Vec 训练数据
【发布时间】:2021-10-10 11:17:09
【问题描述】:

我目前正在尝试使用自己的训练数据来训练自己的 word2vec 模型,但我对训练数据的预处理完全感到困惑。

我在我的文本上运行了一个简短的脚本,它对文本中的单词进行词形还原和小写,这样最后我的训练数据来自一个句子(德语),例如:

"Er hat heute zwei Birnen gegessen."

如下:

[er, haben, heute, zwei, birne, essen]

翻译成英文:

He ate two pears today.

结果:

[he, eat, two, pear, today]

现在的问题是:我还没有看到有人对他们的训练数据这样做。这些词都是大写的,也没有词形化,我完全不明白这是如何工作的。特别是对于德语,动词的变化非常多。我应该就这样离开他们吗?我不明白不进行词形还原是如何工作的,因为 gensim 甚至不知道它是用哪种语言训练的吗?

简而言之:我应该进行词形还原和/或小写,还是让每个单词保持原样?

非常感谢!

【问题讨论】:

    标签: python nlp gensim word2vec


    【解决方案1】:

    答案取决于您要将嵌入用于什么目的,但是,它们通常接受单词形式的训练。词嵌入通常在非常大的数据集上进行预训练,涵盖多达 50 万个单词的词汇,这通常涵盖大多数形式的大多数单词,即使是形态比德语丰富得多的语言。

    您可能还想使用FastTextbindings for Gensim 存在)而不是 Word2Vec。 FastText 考虑了嵌入的字符 n-gram 统计信息,因此它更好地概括了形态学的规律。

    但总的来说,数据预处理始终取决于您打算如何使用嵌入。如果您想对单词的含义在 20 世纪如何变化进行定量历时研究,那么嵌入引理是一个好主意。如果您使用具有良好词形还原器的低资源语言,这也可能是一个好主意。如果您计划将嵌入作为下游 NLP 模型的输入,那么您可能应该使用表单和/或使用已经预训练的嵌入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 2019-12-28
      • 2022-01-03
      • 2015-06-17
      • 1970-01-01
      • 2017-03-28
      • 2019-02-07
      相关资源
      最近更新 更多