【问题标题】:how to train Word2Vec model properly for a special purpose如何为特殊目的正确训练 Word2Vec 模型
【发布时间】:2017-10-24 07:33:53
【问题描述】:

我的问题涉及对模型进行适当的训练,以实现 Word2Vec 模型的独特和真正具体的使用。 See Word2Vec details here

我正在努力识别词嵌入中的名词-形容词(或 )关系。

(例如,我们在数据集的一个句子中有“nice car”。鉴于语料库的词嵌入以及所有标记的名词和形容词,我正在尝试设计一种技术来找到连接“好”与“汽车”。)

当然,我并不仅仅试图连接那对单词,但该技术应该适用于所有关系。目前采用有监督的方法,然后尝试设计一种无监督的方法。

既然你明白了我要做什么,我将解释这个问题。我显然知道 word2vec 需要在大量数据上进行训练,才能尽可能准确地学习正确的嵌入,但我害怕给它提供比带有标记句子的数据集 (500-700) 更多的数据。

我担心如果我给它更多的数据来训练(例如最新的维基百科转储数据集),它会学习更好的向量,但是额外的数据会影响我的单词的定位,那么这个单词关系是有偏差的通过额外的训练数据。 (例如,如果额外的训练数据中还有“nice Apple”,那么“nice”这个词的定位可能会受到影响)。

希望这是有道理的,我并没有做出错误的假设,但我正处于两难境地:由于训练数据不足而导致向量不好,或者向量很好,但词嵌入中的向量定位受损。

什么是正确的训练方法?尽可能多的训练数据(数十亿字)还是只标记数据集(500-700 个句子)?

感谢您抽出宝贵的时间,如果我解释的任何内容没有意义,请告诉我。

【问题讨论】:

  • 不清楚你的目标有什么独特/具体的。你期待“nice”和“car”之间的什么样的关系?为什么词性标注很重要?您确定在词性未标记文本上使用纯 word2vec 还不够吗?请注意,对于这种模型来说,500-700 个句子是微不足道的——良好的结果来自数百万(或数十亿)个训练词,尤其是要获得数百维的词向量,以及不太常见的词的良好向量。
  • 我看到的是意见短语。意见具有特征(例如“汽车”)和特征描述符(例如“nice”)。具体细节我没有详述,但我正在尝试进行基于特征的意见挖掘(原论文:Hu, Minqing, and Bing Liu。“Mining opinion features in customer reviews.” AAAI. Vol. 4. No. 4. 2004 年。)。我已经标记了特征和特征描述符,还有原始文本数据,我知道 500-700 个句子是不够的,但是对更多数据的训练会给特征和特征描述符的定位带来额外的噪音,我试图避免这种情况
  • @gojomo 请阅读 sophros 的回答,以了解仅在标记数据集上进行训练和使用坏向量与在尽可能多的数据上进行训练 + 标记数据集和引入噪声之间的困境与标记数据集的语义无关
  • 你可能想看看 FastText 的分类选项——word-vecs 被训练成擅长预测类别,而不仅仅是相邻的单词。不过,您仍需要更多数据。类似领域的数据(评论),即使没有情感标签,也可能有助于充实单词,并且不会带来来自不同领域的单词噪音。
  • @gojomo 谢谢,有道理

标签: vector deep-learning gensim word2vec word-embedding


【解决方案1】:

与往常一样,在类似情况下最好检查...

我想知道您是否测试了标记数据集结果与维基百科数据集的训练差异。真的有你害怕看到的问题吗?

我只是进行一个实验,检查两种情况下的向量是否确实不同(从统计上讲)。

怀疑你可能会在更大的语料库中引入一些噪音但是更多的数据可能是有益的。词汇覆盖(更大的语料库 - 更普遍)。这完全取决于您预期的用例。这很可能是在召回率非常低的高精度与召回率相对较好的一般精度之间进行权衡。

【讨论】:

  • 感谢@sophros 的回复。我还没有做实验,我只是想先问问,看看别人怎么想,但我完全理解并同意你所说的。如果没有人给出明确的答案,我会考虑设计一些实验来测试差异。
猜你喜欢
  • 1970-01-01
  • 2017-06-26
  • 2021-12-15
  • 1970-01-01
  • 2015-04-02
  • 1970-01-01
  • 2019-09-03
  • 2018-09-02
  • 1970-01-01
相关资源
最近更新 更多