资讯

词义消歧是什么?判断多义词在句子里用的是哪个意思

2026-11-053 分钟阅读百科
TL;DR词义消歧(Word Sense Disambiguation,WSD)是根据上下文确定多义词在具体语境中所表达含义的自然语言处理任务,比如“苹果”指水果还是公司,方法经历了基于词典释义重叠的 Lesk 算法、基于语料的监督分类到上下文词向量的发展,对机器翻译和信息检索都很重要。

词义消歧(Word Sense Disambiguation,WSD)是自然语言处理中的一项任务:当一个词有多种不同的意思时,根据它所在的上下文,判断它在这里使用的是哪一个意思。

多义词无处不在

语言中充满了多义词。中文里,“苹果”可以指一种水果,也可以指一家科技公司;“打”在“打电话”“打篮球”“打毛衣”“打酱油”中的意思各不相同;“意思”在“这是什么意思”“小意思”“他对你有意思”“不好意思”中含义差别很大。英文中,“bank”可以指银行,也可以指河岸;“bass”可以指一种鱼,也可以指低音。人在阅读时,通常能毫不费力地根据上下文理解这些词的意思,甚至意识不到它们存在歧义;但对于计算机来说,这却是一个困难的问题。

为什么需要词义消歧

词义消歧对很多语言处理任务都很重要。机器翻译:同一个词的不同意思,在另一种语言中往往对应着完全不同的词,比如“bank”翻译成中文时要判断是“银行”还是“河岸”,翻译错了意思就全变了。信息检索:用户搜索“苹果”,想找的是水果的营养价值还是手机的价格,需要判断出用户的意图。问答系统和信息抽取:需要准确地理解问题和文本中每个词的含义。

技术的发展

基于知识的方法:利用词典、同义词词典等现有的知识资源。1986 年,Michael Lesk 提出了一种简单的方法,后来被称为 Lesk 算法:比较多义词每个意思在词典中的释义,与上下文中的词语有多少重叠,重叠最多的那个意思就被认为是正确的。比如“松树的球果”中的“球果”,词典释义中如果有“松”“树”这样的词,就能判断出它的意思。英文的 WordNet 词汇数据库为每个词的每个意思都建立了同义词集,被广泛用作词义的标准。

基于语料的监督方法:把词义消歧看作一个分类问题,用大量人工标注了词义的语料进行训练,用上下文中的词语、词性、搭配等作为特征,训练分类器来判断词义。这类方法效果较好,但需要为每个多义词的每个意思都准备足够的标注数据,成本很高。也有利用大量无标注语料的无监督方法,通过把多义词出现的上下文进行聚类,自动地发现它有几种不同的用法,这也叫词义归纳。

基于上下文词向量的方法:早期的词向量,比如 Word2Vec,为每个词只生成一个固定的向量,不管它在哪个句子中、表达什么意思,无法区分多义词的不同含义。2018 年以后,ELMo、BERT 等预训练语言模型能够根据上下文为每个词生成不同的向量:“苹果很甜”中的“苹果”和“苹果发布了新手机”中的“苹果”会得到不同的向量表示,从而在很大程度上隐式地解决了词义消歧的问题。如今的大语言模型在理解上下文和区分词义方面表现得更加出色。

仍然存在的困难

词义的划分本身就存在一定的主观性:一个词到底有几个意思、意思之间的界限在哪里,不同的词典和不同的人可能有不同的看法,过于细致的划分甚至连人也很难区分。此外,有些句子即使对人来说也存在真正的歧义,需要更广泛的语境才能确定。在专业的领域中,词语往往具有特殊的含义,通用的模型可能无法正确地理解。