【问题标题】:Word Embedding to word词嵌入到词
【发布时间】:2018-11-12 15:42:34
【问题描述】:
我正在使用基于 GloVe 的预训练嵌入向量将我的 I/P 句子中的单词转换为类似 NMT 的模型。然后,该模型生成一系列词嵌入作为每个句子的输出。
如何将这些输出词嵌入转换为相应的词?我尝试的一种方法是在每个输出嵌入向量和所有 i/p 嵌入向量之间使用余弦相似度。还有比这更好的方法吗?
另外,有没有比使用嵌入向量更好的方法来解决这个问题?
【问题讨论】:
标签:
neural-network
nlp
keras
word-embedding
【解决方案1】:
首先,问题是缺少很多细节,比如用于词嵌入的库、模型的性质和训练数据等......
但我会尝试让您了解在这些情况下您可以做什么,假设您使用的是诸如 Gensim 之类的词嵌入库。
如何从向量中得到单词:
我们这里处理的是预测词向量,所以我们的词向量可能不是原始词的精确向量,我们必须使用相似度,在 Gensim 中你可以使用similar_by_vector,类似
target_word_candidates = similar_by_vector(target_word_vector,top=3)
这将解决反向查找问题,如突出显示的here,给定所有词向量如何获得最相似的词,但我们需要根据上下文找到最好的单个词。
您可以对输出的目标词向量进行某种后处理,这将有利于尝试解决一些问题,例如:
1.如何指导外语翻译
条款?
2.如何强制存在
在解码器中给出翻译推荐
输出?
3.如何把这些词放在右边
位置?
其中一个想法是使用目标语言的外部资源,即语言模型,来预测将使用哪些单词组合。其他一些技术将外部知识整合到翻译网络本身中