2.2 同义词词典

要表示单词含义,首先可以考虑通过人工方式来定义单词含义。一种方法是像《新华字典》那样,一个词一个词地说明单词含义。比如,当你用字典查“汽车”这个单词时,就会看到“装有车轮并依靠它们前行的交通工具或运输工具……”这样的说明。通过像这样定义单词,计算机或许也能够理解单词含义。

回顾自然语言处理的历史,人们已经尝试过很多次类似这样的人工定义单词含义的活动。但是,目前被广泛使用的并不是《新华字典》那样的常规词典,而是一种被称为同义词词典(thesaurus)的词典。在同义词词典中,具有相同含义的单词(同义词)或含义类似的单词(近义词)被归类到同一个组中。比如,使用同义词词典,我们可以知道car的同义词有automobile、motorcar等(图2-1)。

图2-1 同义词的例子:car、auto和automobile等都是表示“汽车”的同义词

另外,在自然语言处理中用到的同义词词典有时会定义单词之间的粒度更细的关系,比如“上位-下位”关系、“整体-部分”关系。举个例子,如图2-2所示,我们利用图结构定义了各个单词之间的关系。

图2-2 根据各单词的含义,基于上位-下位关系形成的图(参考文献[14])

在图2-2中,单词motor vehicle(机动车)是单词car的上位概念。car的下位概念有SUV、compact和hatch-back等更加具体的车种。

像这样,通过对所有单词创建近义词集合,并用图表示各个单词的关系,可以定义单词之间的联系。利用这个“单词网络”,可以教会计算机单词之间的相关性。也就是说,我们可以将单词含义(间接地)教给计算机,然后利用这一知识,就能让计算机做一些对我们有用的事情。

如何使用同义词词典根据自然语言处理的具体应用的不同而不同。比如,在信息检索场景中,如果事先知道automobile和car是近义词,就可以将automobile的检索结果添加到car的检索结果中。

2.2.1 WordNet

在自然语言处理领域,最著名的同义词词典是WordNet[17]。WordNet是普林斯顿大学于1985年开始开发的同义词词典,迄今已用于许多研究,并活跃于各种自然语言处理应用中。

使用WordNet,可以获得单词的近义词,或者利用单词网络。使用单词网络,可以计算单词之间的相似度。这里,我们不对WordNet进行详细说明,对WordNet的Python实现感兴趣的读者,可以参考附录B。在附录B中,我们会安装WordNet(准确地说,是安装NLTK模块),并进行一些简单的实验。

在附录B中,我们将实际使用WordNet来计算单词之间的相似度。具体来说,就是基于一个人工定义的单词网络,来计算单词之间的相似度。如果能(在一定程度上正确)计算单词之间的相似度,那么我们就踏出了理解单词含义的第一步。

2.2.2 同义词词典的问题

WordNet等同义词词典中对大量单词定义了同义词和层级结构关系等。利用这些知识,可以(间接地)让计算机理解单词含义。不过,人工标记也存在一些较大的缺陷。下面,我们就来看一下同义词词典的主要问题,并分别对其进行简要说明。

难以顺应时代变化

我们使用的语言是活的。随着时间的推移,新词不断出现,而那些落满尘埃的旧词不知哪天就会被遗忘。比如,“众筹”(crowdfunding)就是一个最近才开始使用的新词。

另外,语言的含义也会随着时间的推移而变化。比如,英语中的heavy一词,现在有“事态严重”的含义(主要用作俚语),但以前是没有这种用法的。在电影《回到未来》中,有这样一个场景:从1985年穿越回来的马蒂和生活在1955年的博士的对话中,对heavy的含义有不同的理解。如果要处理这样的单词变化,就需要人工不停地更新同义词词典。

人力成本高

制作词典需要巨大的人力成本。以英文为例,据说现有的英文单词总数超过1000万个。在极端情况下,还需要对如此大规模的单词进行单词之间的关联。顺便提一下,WordNet中收录了超过20万个的单词。

无法表示单词的微妙差异

同义词词典中将含义相近的单词作为近义词分到一组。但实际上,即使是含义相近的单词,也有细微的差别。比如,vintage和retro虽然表示相同的含义,但是用法不同,而这种细微的差别在同义词词典中是无法表示出来的(让人来解释是相当困难的)。

因此,使用同义词词典,即人工定义单词含义的方法存在很多问题。为了避免这些问题,接下来我们将介绍基于计数的方法和利用神经网络的基于推理的方法。这两种方法可以从海量的文本数据中自动提取单词含义,将我们从人工关联单词的辛苦劳动中解放出来。

不仅限于自然语言处理,在图像识别领域,多年来也一直是人工设计特征量。但是,随着深度学习的出现,现在从原始图像直接获得最终结果已成为可能,人为介入的必要性大幅降低。在自然语言处理领域也有类似现象。也就是说,我们正在从人工制作词典或设计特征量的旧范式,向尽量减少人为干预的、仅从文本数据中获取最终结果的新范式转移。