OpenAI 发现实体消歧的类型

OpenAI 开发了一种用于自动实体消歧的系统,该系统使用神经网络来判断一个词是否属于大约 100 个自动发现的“类型”或非互斥类别的集合。通过将问题视为概率的“20 问题”游戏,而不是直接推理词所指的具体对象,这种方法在多个实体消歧数据集上提升了最先进的准确率。

性能基准

基于类型的方法相比之前依赖分布式表示的方法在准确率上有显著提升。该系统取得了以下结果:

  • CoNLL (YAGO): 94.88% 准确率(之前的最先进结果为 91.50% 和 91.70%)。
  • TAC KBP 2010 challenge: 90.85% 准确率(之前的最先进结果为 87.20% 和 87.70%)。

根据 OpenAI 的说法,完美的类型预测在这些任务上将使准确率在 98.6% 到 99% 之间。

系统架构和工作流程

消歧过程遵循五步流水线:

  1. Entity Mapping: 系统提取维基百科内部链接,以识别一个词可能指向的所有实体。
  2. Category Identification: 它通过 Wikidata 知识图谱遍历维基百科类别树,以确定与每个实体关联的所有类别。
  3. Type System Optimization: 系统选择大约 100 个类别的列表作为“类型”系统,优化这些选择,使实体能够以紧凑的二进制向量表示。
  4. Neural Network Training: 使用维基百科内部链接和周围上下文,系统训练神经网络将一个词及其上下文映射到对应实体的 100 维二进制表示。
  5. Inference: 在测试时,神经网络预测一个词属于每个类别的概率。然后使用贝叶斯定理计算该词指向每个可能实体的概率。

数据清理和启发式方法

为了创建高质量的训练数据,OpenAI 利用 Wikidata 属性图来解决维基百科内部链接中的噪声。此过程解决了诸如指代(anaphora:链接到类型的特定实例而非类型本身)和转喻(metonymy:从昵称链接)等问题。

例如,该系统启发式地将链接转换为其“通用”含义,这使得与单词 “king” 相关联的实体数量从 974 减少到 14,并将从 “queen” 链接到类别 “monarch” 的链接数量从 32 增加到 3,553。

学习类型系统

选择最优的类型系统是一项复杂的任务,因为可能的类别集合数量太大,无法得到精确解。OpenAI 采用启发式搜索、随机优化(进化算法)和梯度下降来在两个关键因素之间寻求平衡:

  • Learnability: 通过分类器在上下文中预测类型成员资格的平均曲线下面积(AUC)来衡量。AUC 越高表明神经网络推断该类型越容易。
  • Oracle Accuracy: 如果所有类型都被完美预测,则衡量实体消歧的效果如何。

神经类型系统实现

使用优化后的类型系统,OpenAI 在英语和法语的 4 亿个标记上训练了一个双向 LSTM。该模型仅使用维基内部链接的监督进行训练,却在预测类型成员资格方面获得了超过 0.91 的 F1 分数。

一些发现的类型包括诸如 AviationClothingGames 这样的广泛类别,以及如 1754 in Canada 这样的高度具体类别。

推理和复杂度

与依赖文档中不同实体之间一致性度量的传统实体消歧方法不同(这会导致 $O(N^2)$ 复杂度),该系统的运行时间为 $O(N)$。它使用 trie 识别短语,并根据维基百科链接频率对可能的实体进行排名,随后由类型分类器提供的可能性进行精炼。

Sources

相关

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch