给定上下文中最相似的单词

问题描述 投票:0回答:2

我想创建一个可以生成上下文感知同义词的深度学习模型。我一直在考虑使用 BERT,因为它是双向的并且可以创建良好的表示,我的想法是使用一种方法,为模型提供原始句子(例如“It is a beautiful house”)和相同的句子,但是我想要查找同义词的单词被屏蔽(例如,“这是一座 [MASK] house”,如果我想查找美丽的同义词)。

普通的填充蒙版显然行不通,因为它不会为模型提供我们想要查找同义词的实际单词。我正在考虑使用机器翻译模型(例如 T5),您不需要将句子从一种语言翻译成另一种语言,而是制作一个例如英译英翻译,您提供原始句子(“这是一栋美丽的房子”)作为编码器的输入,并提供屏蔽句子(“这是一栋 [MASK] 房子”)作为另一个输入 - 这句话会这样say 相当于原始句子的几乎完整的翻译,而不是简单地翻译缺失的单词,它会给我前 k 个最可能的 logits 作为同义词。

但是,我根本不知道如何才能完成这项工作...另一种方法是在特定领域的语料库上训练 BERT,然后获取我想要查找同义词的单词的 k 最近邻,但根据我所读到的内容,不可能像从 Word2Vec 和 GloVe 中那样从 BERT 等模型中获取单词表示。

对于如何解决这个挑战有什么建议吗?任何帮助将不胜感激...

deep-learning nlp bert-language-model machine-translation
2个回答
0
投票

如果我是你,我会首先将句子推入词义消歧系统,如AMUSE。这将为您提供您的单词所属的 WordNet 同义词集(因此您可以从 WordNet 同义词集中找到其同义词)。

现在您已经有了该上下文中该单词的同义词列表。按照您的计划,您现在可以使用 MASK 技术来查找您之前找到的所有同义词的概率。

重要提示:在 BERT 中,MASK 始终由 one 标记填充,该标记不一定是完整的单词。这意味着您会对较长的同义词产生偏见,因为它们可能永远不会生成。


0
投票

我认为这个 Github 存储库有您正在寻找的解决方案:

用于无监督词义消歧的上下文感知语义相似性测量

© www.soinside.com 2019 - 2024. All rights reserved.