论文导读 | OpenAI的实体消歧新发现

本文由 「AI前线」原创,原文链接:论文导读 | OpenAI的实体消歧新发现

作者|JONATHAN RAIMAN

译者|郝毅

编辑|Emily

AI 前线导读:本文使用一种神经网络自决策的方法,判断一个词是否属于 100 个自动发现的类型,从而确定单词的实体对象。例如,对于一句话“the prey saw the jaguar cross the jungle”,不同于以往的直接推断“jaguar”是车、动物还是其他东西,该系统会用“20 个问题”来分析 jaguar 究竟属于哪个预选类别。这种方法相较于几个实体消歧 (Entity Disambiguation) 数据集上的最好方法有显著的提升。

论文原文地址:

https://arxiv.org/abs/1802.01021

Github 项目地址:

https://github.com/openai/deeptype

上图是对该类型系统的一个简单说明。在训练数据中 jaguar 被认为是捷豹汽车的概率是 70%,被认为是美洲豹的概率是 29%,被认为是豹式飞机的概率是 1%。使用我们的“类型”方法进行判断,对第一个例子中的消岐效果影响不大,因为模型认为美洲豹沿着高速公路奔跑的情况是可能存在的,但是在第二个例子中,模型认为捷豹汽车穿越丛林这件事显然是不太可能出现的。

我们在 CoNLL(YAGO) 取得了 94.88% 的准确率,之前最好的准确率是 91.50% 和 91.70%。并在 TAC KBP 2010 挑战赛上取得了 90.85% 的准确率,而之前的最好的准确率是 87.20% 和 87.70%。之前的方法均使用了词向量的方法,但是对于实体消歧这类任务,基于类型的方法往往能够更好的胜出,因为完美的“类型”预测可以得到 98.6% 至 99% 的准确率。

整体框架

我们的系统分为下面几个步骤:

提取每个单词的维基百科内部链接, 以确定每个单词可供参考的实体集合。例如,当我们在维基百科的页面遇到链接 jaguar 时, 我们就认为链接可能是 jaguar 的一个含义。

https://en.wikipedia.org/wiki/Jaguar

通过对维基百科类别树的遍历 (使用 Wikidata 知识图) 来决定每个实体所属的类别集合。比如说,在页面的底部,是下表中的这些类 (它们都有其专属类别,比如 Automobiles):Categories: [British barnds] [Car brands] [Jaguar Car] [Jaguar vechicles]

https://en.wikipedia.org/wiki/Jaguar_Cars’s

选择一个含有 100 种类别的列表当作你的类型系统,然后优化该系统,使选取的类别可以更紧凑的表示任何实体。这样我们就知道了实体到类别的映射关系,所以对于我们的类型系统,可以将每个类别中的每个实体表示为约 100 维的唯一的二值向量,这个向量表示了该实体与每个类别的从属关系。

使用每个维基百科的内部链接以及其上下文来产生训练数据,我们需要使用神经网络来学习一种映射关系,即单词到 100 维的二值向量之间的映射。这一步将之前的步骤联系起来:维基百科的链接将单词与实体相连,通过第二步我们知道了每一个实体的类别,而第三步则在我们的类型系统中选择了实体所属的类别。

在测试阶段,给定一个词语以及其上下文,我们的神经网络将输出该词语属于其类型系统中每一个类别的概率。如果我们知道了类别成员的准确集合,我们可以将结果缩小到一个实体 (假设分类结果是完美的)。但实际上,我们必须计算大概 20 个概率问题:对于该单词的每一个可能对应的实体,都需要使用贝叶斯理论来计算其概率。

更多的例子

下面是类型系统的一些实例,更多内容请点击原文查看:

清洗数据

Wikidata 的知识图可以转化为训练数据源,完成细粒度实体到类型的映射。对于给定的实体,我们使用它的实体 (instance of ) 递归关系来决定其类型集,比如说,huamn 节点的子节点中有 human 这个类型。维基百科通过其类别链接也会提供一种实体到类别的映射。

对于一些实体,维基百科内部链接的统计可以提供一个比较好的相关短语。然而,有些时候链接到的是具体的实例而不是类别本身,这样就会产生信息上的噪声 (anaphora-- 例如,国王 (king) 这个词就会被链接到英格兰查理一世 (Charles I of England))。这种情况会导致相关实例的数量的爆炸增长与链接有效性的下降 (例如,queen 被链接到了乐队 Queen(皇后乐队)4920 次,Elizabeth II(伊丽莎白二世)1430 次,monarch(君主) 只有 32 次)。

最简单的方法是删除少见的链接,但是这会造成有效信息的丢失。而我们使用 Wikidata 属性图启发式地将链接转化为更加“通用”的含义,详细说明可以看下图。

经过这一步的处理,king 这个单词的相关实体从 974 降到 14 个,并且 queen 到 monarch 的连接数从 32 增加到 3553。

选择一个好的类型系统

我们需要选择一个最好的类型系统和参数使得消岐准确率最大化。由于存在大量的可能类型集,找到一个精确解是十分困难的。因此我们使用了启发式的搜索和随机优化 (进化算法) 来选择类型系统,并使用梯度下降训练类型分类器来预测类型系统的表现。

ROC 曲线绘制了真阳性率 (true positive) 随假阳性率 (false positive) 增加时的变化情况,上图是一个 AUC 为 0.76 时的 ROC 曲线。一个随机的分类器将会得到一条直线作为其 ROC 曲线 (图中的虚线)。

我们需要选择易于区分的类型 (这样可以快速地减少可能的实体集合),同时易于学习 (即上下文可以为神经网络的类型推断提供有效的信息)。我们使用两种启发式的准则对搜索方法进行了评估与优化:可学习性与准确性。可学习性的判定准则是使用 ROC 曲线下的面积 (AUC) 的平均值,使用 AUC 训练分类器来预测类型成员。而类型预测准确率的提高可以从另一个方面说明歧义的消除。

类型系统评价

在给定的单词范围中,我们使用二分类器在数据的 150,000 个公共类型中对其成员做可能性预测。某个类型的分类器的 AUC 成为了“可学习性分数”的标志。高的 AUC 意味着从上下文中可以很轻松的对这一类型做预测,性能不好的分类器可能是由于对于这一类对应的训练数据不够或者因为给定的单词范围不理想 (这一现象常发生在一些非自然的类中,如 ISBNs)。完整模型的训练需要耗费几天的时间,所以我们使用更小的模型作为评估“可学习性分数”的一个示例,这样只需要 2.5 秒就可以完成训练。

现在我们可以使用这些学习能力分数和统计数据来评估我们的类型系统中的一些子集的性能。下图是使用交叉熵进行优化的效果,点击原文可以查看动态优化过程。

为了更好的了解在设计一个类型系统时,哪些部分比较容易哪些部分比较困难,原文提供了一个交互式的系统让用户可以手动训练自己的类型系统,通过选择你认为正确的连接关系,可以达到消歧的目的。在这个系统中,你可以选择一个大类,比如下图中的 Politics&Business, 然后对其中有歧义的词语开始进行训练。

每个大类中的选项如下图所示,对于例句中的词语有可能的答案显示在顶端,正确的答案是有颜色的那个,底部的是一些可用的类型。连线表示的是顶部的节点与底部节点之间的继承关系,通过选择你想使用的继承关系可以对分类器进行训练。直到你所选择的继承关系数量足够将正确答案与其它选项划分出来,这时就达到了消歧的目的。

神经类型系统

现在我们可以使用训练好的类型系统对维基百科的数据进行标注。用这个数据 (在我们的试验中,每个英文和法文都有 40 亿个标注样本),我们可以训练一个双向 LSTM 网络来独立预测每个单词的所有类型成员。在维基百科源文本上,我们只有内部链接的监督信息,然而这些足以训练一个在 F1 上预测精度超过 0.91 的网络。

这里有一个有趣的事情,通过定向搜索发现,基本所有的类型系统都包含了 Aviation、Clothing 和 Games 这些类 (这就像是 1754 in Canada 这个词条,这表明在这个数据库中,1754 是一个非常令人激动的一年),点击这里可以查看完整的类型列表。

分析

预测文档中的实体通常依赖于不同实体之间的“一致性”度量。例如,测量每个实体相互之间的匹配程度,其算法时间复杂度是 O(N^2)。但是我们的方法时间复杂度是 O(N),因为我们只需要在树中查找每个短语,将短语映射到其可能的含义。我们根据维基百科中采集的链接频次对所有可能的实体进行排序,并使用每个实体在分类器下的似然概率对其进行加权。新的实体可以通过指定其类型成员 (人、动物、原国籍、时间段等) 来添加。

未来工作

在实体消歧的问题上,本文的方法和之前的其他方法有许多的不同点。端到端的词向量学习方法与本文讲述的基于类型推断的方法之间的性能比较,这是作者目前非常感兴趣的一点。本文提到的类型系统仅使用了维基百科的很小的子集,当然你也可以扩展到所有的维基百科数据上,以得到更广泛的应用。

查看原文:

https://blog.openai.com/discovering-types-for-entity-disambiguation/

更多干货内容,可关注AI前线,ID:ai-front,后台回复「AI」、「TF」、「大数据」可获得《AI前线》系列PDF迷你书和技能图谱。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容