使用预训练的嵌入基于词集的词义消歧

问题描述

我有兴趣为一组标签中的每个单词标识WordNet同义词集ID。 集合中的单词为单词歧义消除提供了上下文,例如:

  • {摩尔,皮肤}
  • {痣,草,毛皮}
  • {摩尔,化学}
  • {河岸,河岸,河岸}
  • {银行,金钱,建筑物}

我知道lesk算法和库,例如pywsd,它基于10年以上的技术(这可能仍然是尖端技术,这是我的问题)。

到现在为止,是否存在性能更好的算法,它们可以很好地处理GloVe之类的预训练嵌入,以及这些嵌入之间的距离? 这种WSD算法是否有现成的实现?

我知道这个问题很接近要求主观偏好的危险区域-就像这个5岁的thread一样。但是我并不需要概述解决方案或最好的软件。

解决方法

转移学习,特别是像Allen AI的ELMO,OpenAI的Open-GPT和Google的BERT这样的模型,研究人员可以通过最小的任务特定的微调来粉碎多个基准,并为NLP社区的其他成员提供可以轻松地进行预训练的模型(具有更少数据和更少计算时间的产品)进行微调并实施以产生最先进的结果。

即使没有关键字或词组重叠,这些表示形式也将帮助您准确地检索与客户的意图和上下文涵义()相匹配的结果。

首先,嵌入是在较高维向量空间中的点的简单(中等)低维表示。

通过将单词翻译为嵌入内容,可以以数字形式对单词的语义重要性进行建模,从而对其进行数学运算。

当word2vec模型首次出现这种情况时,这是一个了不起的突破。从那里,出现了许多更高级的模型,这些模型不仅捕获了静态的语义含义,而且还捕获了上下文化的含义。例如,考虑下面的两个句子:

I like apples.

I like Apple macbooks

请注意,单词apple在每个句子中都有不同的语义。现在有了上下文化的语言模型,苹果一词的嵌入将具有不同的向量表示,这使其对NLP任务的功能更加强大。

像BERT这样的上下文嵌入提供了优于Word2Vec这样的模型的优势,因为尽管每个单词在Word2Vec下都具有固定的表示形式,而不管单词出现的上下文如何,但BERT都会根据周围的单词动态地产生单词表示形式。 / p>