词义消歧用于词对

假设我有单词A和单词B,其中B作为暗示,用来表明A的含义。例如,A = bass(鲈鱼/低音),B = music(音乐),给定这个词对,作为人类我们可以立即知道单词A的意思。

我知道有很多算法适用于句子。我想知道是否有专门为词对进行词义消歧的算法开发出来。


回答:

词义消歧(WSD)是根据给定的上下文句子/文档来消除单词歧义的任务。在两个词的短语的情况下,上下文基本上就是另一个词。

你可以尝试不同的WSD软件,这里有一个列表:有人知道一些好的词义消歧软件吗?

我将使用pywsd给你举个例子(https://github.com/alvations/pywsd):

$ wget https://github.com/alvations/pywsd/archive/master.zip$ unzip master.zip$ cd pywsd-master$ pythonPython 2.7.5+ (default, Feb 27 2014, 19:37:08) [GCC 4.8.1] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> from lesk import simple_lesk# 给定上下文'bass music'消歧单词'bass'>>> simple_lesk('bass music', 'bass') Synset('bass.n.07')>>> disambiguated = simple_lesk('bass music', 'bass')>>> disambiguated.definition<bound method Synset.definition of Synset('bass.n.07')>>>> disambiguated.definition()u'the member with the lowest range of a family of musical instruments

或者,你可以使用NLTK中的新模块(https://github.com/nltk/nltk/blob/develop/nltk/wsd.py),前提是你有最新的版本:

from nltk.wsd import leskdisambiguated = lesk(context_sentence="bass music", ambiguous_word="bass")print disambiguated.definition()

(免责声明:我编写了pywsdNLTK中的lesk模块)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注