【问题标题】:Word2Vec with POS not producing expected results?带有 POS 的 Word2Vec 没有产生预期的结果?
【发布时间】:2019-05-26 18:08:18
【问题描述】:

我正在尝试使用 Word2Vec 嵌入来衡量词性信息的影响,但没有获得预期的结果。

我预计包含 word2vec 嵌入的 POS 在机器翻译任务中表现更好,但实际上表现更差。

我正在使用 Gensim 从同一个语料库中创建两组嵌入,一组是普通的 Word2Vec,另一组是我将标记更改为“[WORD]__[POS]”。

我通过在 Seq2Seq 机器翻译任务中使用嵌入来衡量性能差异。我正在使用 BLEU 评估这两种方法

这就是我使用 SpaCy 训练 word2vec + POS 嵌入的方式:

sentences = []
    for sent in doc.sents:
        tokens = []
        for t in sent:
            tokens += ["{}__{}".format(t.text, t.pos_)]
        sentences += tokens
    pos_train += [sentences]

这是我使用 Keras + Tensorflow 的基准机器翻译模型:

encoder_inputs = Input(shape=(None, num_encoder_tokens))
encoder = LSTM(LATENT_DIM, return_state=True)
_, state_h, state_c = encoder(encoder_inputs)
encoder_states = [state_h, state_c]

decoder_inputs = Input(shape=(None, num_decoder_tokens))
decoder_lstm = LSTM(LATENT_DIM, return_sequences=True, return_state=True)
decoder_outputs, _, _ = decoder_lstm(decoder_inputs, initial_state=encoder_states)
decoder_dense = Dense(num_decoder_tokens, activation='softmax')
decoder_outputs = decoder_dense(decoder_outputs)

model = Model([encoder_inputs, decoder_inputs], decoder_outputs)

使用 BLEU,Word2Vec+POS 方法的得分始终与 Word2Vec 相同,或者比正常的 Word2Vec 嵌入低 0.01-0.02 分。

有谁知道为什么会发生这种情况?我的推理或期望是否存在差距?

【问题讨论】:

    标签: keras nlp word2vec word-embedding seq2seq


    【解决方案1】:

    我也希望通过准确的词性信息来改进翻译——但我​​不知道其他人是否报告了这样的改进。一些(不知情的)猜想为什么它可能不会:

    • 可能 POS 标记对于其中一种语言不是很准确,或者您的数据存在其他一些特定的异常挑战

    • 1234563 /p>
    • 也许对于某些数据不足的情况,不同词性的同形异义词的碰撞实际上帮助加深了模糊的意思到意思的翻译。 (例如,可能考虑到shop_NOUNshop_VERB 的语义相关性,最好有100 个shop 的碰撞示例而不是每个50 个。)

    一些调试思路(除了明显的“仔细检查一切”):

    • 仔细查看那些普通与 POS 方法得分不同的测试用例;看看是否有任何模式——比如奇怪的标记/标点符号、非标准语法等——提供__POS装饰伤害的线索

    • 尝试其他语言对和其他(私人或公共)索引数据集,看看在其他地方(或一般情况下)POS 标记是否有帮助,并且您的特定数据集/语言有一些额外的挑战 -对

    • 1234563 @等)以修改培训的方式。特别是,也许更大词汇量的 POS 模型应该获得更多的训练 epoch 或更大的词向量维度,以反映其更大的词汇量和更低的平均词出现次数。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2018-12-31
      • 2015-04-20
      • 2019-12-13
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2017-05-22
      相关资源
      最近更新 更多