理解语言的核心自然是了解词语在文本中的不同含义。雷锋网先说个中文笑话先:
领导:「你这是什么意思?」
下属:「没什么意思,意思意思。」
领导:「你这就不够意思了。」
下属:「小意思,小意思。」
领导:「你这人真有意思。」
下属:「其实也没有别的意思。」
领导:「那我就不好意思了。」
下属:「是我不好意思。」
如果让机器来理解这些到底是什么意思,想必它也会头疼的吧。
那么用相对简单的英文?也没有那么简单。毕竟一个单词可能包括数十个意思。
举个例子:「he will receive stock in the reorganized company」,这个句子中,我们结合上下词就能知道,「stock」在这里是股票的意思,我们可以从牛津字典中找到更为专业的解释。
但是同样在牛津字典中,stock 这个词还有超过 10 个不同的含义,比如「(商店里的)库存」或是「(鞭子、钓竿等的) 柄」。对于计算机算法而言,如何从博大精深的含义中找寻某个句子中对应的词义?这的确是一个词义消歧难题,也就是 AI-Complete 问题。
雷锋网消息,今天谷歌研究院又发出了重磅新闻,他们发布了基于 MASC&SemCor 数据集的大规模有监督词义消歧语料。这些语料会与牛津字典上的例句做映照,广泛适用于各个社区。与此同时,本次发布也是最大的全句释义语料库之一。
人们通过对句子中词语的内容进行理解,因为我们能通过常识判断上下文的含义。比如同样一个例子,「『stock』 in a business」代表的自然是股票的意思,而「『stock』 in a bodega」更有可能是库存的意思,即使这里的 bodega 也可能指酒窖生意。我们希望为机器提供足够的背景信息,并应用于理解文本中词语的含义。
有监督词义消歧(WSD)尝试解决这一问题,也就是让机器学习使用人工标记的数据,并与字典中的词语所代表的典型含义匹配。我们希望构建这样的一个监督模型,能够不考虑复杂语境,并匹配句中单词在词典中最可能表达的含义。虽然这一点富有挑战,但监督模型在大量训练数据支持下表现良好。
通过发布数据集,我们希望社区能够提出更好的算法,让机器对自然语言产生更深刻的理解,支持以下的应用:
从文本中自动搭建数据库存,这样一来,机器可以回答问题,并将文档中的知识串联起来。举个例子,机器在经过学习后,明白「hemi engine」指的是一种自动化的机械;而「locomotive engine」则与火车有关。也能理解「Kanye West is a star」指的是名人的意思;而「Sirius is a star」则是天文学概念。
消除歧义。我们希望让文本在查询中能够呈现不同的含义,避免张冠李戴,与此同时还能返回具有相关语义的文档。
在我们人工标记的数据集中,每一个词义注释都由五个评估者进行审核。为了确保质量,这些评估者会进行训练(gold annotation),即让语言学家们对一些研究样本进行标记。以下是我们的标记页面。
在页面左边呈现的是 general 的常用词义及例句,在右侧的文本中,general 一词会高亮显示。除了匹配词义外,评估者还能对词语进行判断,可以指出包括「拼写错误」、「上述情况都不符合」、「不确定」等三种情况。此外,评估者可以对一些含有隐喻的词语进行标记并评论。
这些人工的词义标注采用了 Krippendorff's alpha (α >= 0.67 则具有一定可信度,α >= 0.80 则表示具有很高的可信度) 进行判断,结果显示得分为 0.869。雷锋网认为这是一个非常不错的成绩了。
与此同时,谷歌也发布了两个从牛津词典到 Wordnet 的映射。小的数据集中含有 2200 个单词,而大的数据集则是算法构建的。这两个映射内容能够更好地将 Wordnet 的内容应用于牛津词典的语料库中,也能够在使用过程中实现系统的构建。
以上研究成果已经收录在「Semi-supervised Word Sense Disambiguation with Neural Models」中,主要采用的是 LSTM 语言处理模型及半监督学习算法。
Via google blog,雷锋网编译