【发布时间】:2020-07-05 22:21:43
【问题描述】:
Homograph 是一个与另一个单词具有相同书面形式但具有不同含义的单词,例如以下句子中的right:
- 成功在于做出正确的决定。
- 红绿灯后右转
英文单词“right”在第一种情况下被翻译成瑞典语为“rätt”,在第二种情况下被翻译成“höger”。通过查看上下文(周围的单词)可以正确翻译。
问题 1. 我想知道 fasttext 对齐的词嵌入是否可以帮助将这些同形异义词或具有多种可能翻译的词翻译成另一种语言?
[EDIT] 目标是不查询模型以获得正确的翻译。目标是在给出以下信息时挑选正确的翻译:
- 目标语言中的两个(或多个)可能的翻译选项,例如“rätt”和“höger”
- 源语言中的周边词
问题 2。 我加载了 english pre-trained vectors model 和 English aligned vector model。虽然两人都接受过维基百科文章的培训,但我注意到两个单词之间的距离有所保留,但数据集文件的大小(wiki.en.vec 与 wiki.en.align.vec)明显不同(1GB)。如果我们只使用对齐的版本不是很有意义吗?对齐的数据集没有捕获哪些信息?
【问题讨论】:
-
fastText 词嵌入不是上下文相关的:因此,对于每个词(无论含义如何),只有一个向量。 ELMo 和 BERT 等嵌入是上下文相关的。所以,对于“正确”这个词,根据上下文有不同的向量。
-
感谢您的回复@Anakin87。我一定会看看 ELMo 和 BERT。通过“fastText word embeddings are not contextual”,您是指使用skipgram模型训练的预训练数据集吗?在"Advanced readers: skipgram versus cbow" section 中声称是这样。我错过了什么?我想我没有正确解释这个问题。目标不是从模型中找到正确的翻译,而是在给出多个选项时选择目标语言中最接近的翻译。
-
Quote: > skipgram 模型通过附近的词来学习预测目标词。另一方面,cbow 模型根据其上下文预测目标词。上下文表示为目标单词周围固定大小窗口中包含的单词包......给定句子“....”和目标单词“silent”,skipgram 模型尝试使用随机接近的词,如“主题”或“神秘”。 cbow 模型获取周围窗口中的所有单词,例如 {been, hackerly, on, the},并使用它们的向量之和来预测目标。
-
我只想说,在fastText中,“右”这个词对应一个且只有一个向量。在其他模型中,一个词可以对应于一些向量,这取决于上下文(根据含义)。见cs.hhu.de/fileadmin/redaktion/Fakultaeten/…
-
谢谢@Anakin87,非常感谢。对于我的情况,BERT 的计算成本似乎很高且工作量过大。 ELMo 看起来很有希望,但我找不到任何预训练的数据集来评估它。有指针吗?
标签: machine-learning nlp word2vec fasttext machine-translation