给定上下文中最相似的词



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

一个普通的填充掩码显然是行不通的,因为它不能为模型提供我们想要找到同义词的实际单词。我在考虑使用机器翻译模型(例如T5),你不把句子从一种语言翻译成另一种语言,而是做一个英语到英语的翻译,你提供原始句子("这是一个美丽的房子")作为输入到编码器,屏蔽句子("这是一个[MASK]房子")作为另一个输入——这个句子可以说相当于原始句子的一个几乎完成的翻译。而不是简单地翻译缺失的单词,它会给我最可能的k个logits作为同义词。

然而,我不确定我怎么能使这个工作…另一种方法是在特定领域的语料库上训练BERT,然后获得我想要找到同义词的单词的k个最近邻居,但从我所读到的情况来看,从BERT这样的模型中获得单词表示是不可能的,就像你从Word2Vec和GloVe中获得的一样。

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

如果我是你,我会首先将句子推送到像AMUSE这样的词义消歧系统。这将给你你的单词所属的WordNet同义词集(这样你就可以从WordNet同义词集找到它的同义词)。

现在你有了这个词在上下文中的同义词列表。如您所计划的,您现在可以使用MASK技术来查找前面找到的所有同义词的概率。

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

相关内容

  • 没有找到相关文章

最新更新