胡伟 | 面向多实体人机协作消解的对比表生成自动化方法

 

众包实体消解

实体消解(Entity Resolution,简称ER)旨在发现不同知识图谱中指称真实世界相同对象的实体。众包实体消解(Crowd ER)在使用机器的基础上,还使用人来完成实体消解任务。众包实体消解的一个常见流程如下图所示:

(Waldo: AnAdaptive Human Interface for Crowd Entity Resolution. SIGMOD 2017)

 

在众包实体消解中,存在一系列关键问题亟待解决,包括:1)如何呈现一个实体消解任务?2)如何选择合适的人来完成任务?3)如何在给定预算限制下挑选任务?等等。论文作者发现,当前研究很少关注第1个问题,即如何通过呈现一些关键信息(例如实体的重要属性和取值)来帮助单个人更高效和精准地完成一个实体消解任务。

 

一个例子

论文作者关注多实体消解任务(multi-entityresolution,简称MER),下图展示了一个包含3个实体的多实体消解任务,它们拥有了相似的属性和取值,有待人来完成消解。

相关工作

  • 基于列表的多实体消解任务呈现方式,类似于传统搜索引擎。
  • 基于成对的多实体消解任务呈现方式,每次仅比较两个实体并对齐它们间的相似属性。

考虑到属性和取值的数量可能很多,上述两类方法常通过生成摘要来提高人的消解效率。然而,这两类方法对于多实体消解任务而言,也均存在一些不足。例如,由于缺乏直接对比,基于列表的方法需要人在心里记录并比较不同实体;又如,基于成对的方法虽然能使人更加专注两个实体的比较,但是可伸缩性差。更为重要的是,这两类方法在形成列表或成对的过程中,会丢失实体消解结果间的传递性和聚类性等。

 

本文方法

论文作者提出了一种基于对比表(comparativetable)的多实体消解任务呈现方法,将实体和重要属性分别组成表的行和列头,并将重要取值填入表单元中。拟解决的关键问题是实体的属性和取值的异构性及规模性与有限的表格呈现空间之间的矛盾。方法框架如下图所示,包括3个主要步骤:

  1. 全体属性匹配,包括属性间相似度计算和属性团生成两个子步骤。
  2. 优良性评估,考虑了属性团的判别性、丰富性、语义性和多样性4个特征。
  3. 对比表生成,包括属性团的选择和取值的选择两个子步骤。

 

下图展示了根据上述例子生成的一个多实体消解任务对比表。

实验结果

论文作者从10个流行领域各选取了25个DBpedia实体作为种子,并通过维基百科消歧页面为每个种子实体随机选取2 ~ 4个Freebase、Wikidata和YAGO实体,再从中随机选择出10个实体构成一个多实体消解任务。共计250个任务,2500个实体,指称804个真实世界对象。

实验从3个方面检验了基于对比表的方法有效性,包括:1)全体属性匹配的准确性;2)属性团排序的有效性;3)通过雇佣60位研究生进行实操,从效率、精度和打分3个方面与基于列表和基于成对的两个代表性方法进行了比较。

 

[1] Jiacheng Huang, Wei Hu*, Haoxuan Li, Yuzhong Qu. Automated Comparative Table Generation for Facilitating Human Intervention in Multi-Entity Resolution. In: ACM SIGIR Conference on Research and Development in Information Retrieval. 585–594, 2018

— End —

实验室介绍:南京大学万维网软件(Websoft)研究组在瞿裕忠教授的带领下,长期从事知识图谱(语义网)及相关技术的研发,研究组成员包括胡伟副教授、程龚副教授以及30余位博士和和硕士研究生,近期的研究方向主要包括:智能问答、知识融合和语义搜索。

联系方式:胡伟,whu@nju.edu.cn,微信号:whu1982

网站:http://ws.nju.edu.cn

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

技术动态 | 自底向上构建知识图谱全过程

本文转载自公众号:阿里技术

 

“The world is not made of strings , but is made of things.”
——辛格博士,from Google.

知识图谱,是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系,通过将数据粒度从document级别降到data级别,聚合大量知识,从而实现知识的快速响应和推理。

当下知识图谱已在工业领域得到了广泛应用,如搜索领域的Google搜索、百度搜索,社交领域的领英经济图谱,企业信息领域的天眼查企业图谱等。

在知识图谱技术发展初期,多数参与企业和科研机构主要采用自顶向下的方式构建基础知识库,如Freebase。随着自动知识抽取与加工技术的不断成熟,当前的知识图谱大多采用自底向上的方式构建,如Google的Knowledge Vault和微软的Satori知识库。

1、定义

俗话说:“看人先看脸。”在我们深入了解知识图谱之前,让我们先来看一下它长什么样子!

如图所示,你可以看到,如果两个节点之间存在关系,他们就会被一条无向边连接在一起,那么这个节点,我们就称为实体(Entity),它们之间的这条边,我们就称为关系(Relationship)。

知识图谱的基本单位,便是“实体(Entity)-关系(Relationship)-实体(Entity)”构成的三元组,这也是知识图谱的核心。

2、数据类型和存储方式

知识图谱的原始数据类型一般来说有三类(也是互联网上的三类原始数据):

  • 结构化数据(Structed Data),如关系数据库
  • 非结构化数据,如图片、音频、视频
  • 半结构化数据 如XML、JSON、百科

如何存储上面这三类数据类型呢?一般有两种选择,一个是通过RDF(资源描述框架)这样的规范存储格式来进行存储,比较常用的有Jena等。

还有一种方法,就是使用图数据库来进行存储,常用的有Neo4j等。

那你可能会问我了,你不就是一大堆的三元组吗,用关系数据库来存储不也一样嘛。

是的,用关系数据库来存储,尤其是存储简单的知识图谱,从技术上来说是完全没问题的。

但需要注意的是,一旦知识图谱变复杂,图数据库在关联查询的效率上会比传统的关系数据存储方式有显著的提高。当我们涉及到2,3度的关联查询,基于知识图谱的查询效率会高出几千倍甚至几百万倍。

除此之外,基于图的存储在设计上会非常灵活,一般只需要局部的改动即可。

因此如果你的数据量较大,还是建议直接用图数据库来进行存储的。

3、知识图谱的架构

知识图谱的架构主要可以被分为:

  • 逻辑架构
  • 技术架构

3.1 逻辑架构

在逻辑上,我们通常将知识图谱划分为两个层次:数据层和模式层。

  • 模式层:在数据层之上,是知识图谱的核心,存储经过提炼的知识,通常通过本体库来管理这一层这一层(本体库可以理解为面向对象里的“类”这样一个概念,本体库就储存着知识图谱的类)。
  • 数据层:存储真实的数据。

如果还是有点模糊,可以看看这个例子:

模式层:实体-关系-实体,实体-属性-性值

数据层:比尔盖茨-妻子-梅琳达·盖茨,比尔盖茨-总裁-微软

3.2 技术架构

知识图谱的整体架构如图所示,其中虚线框内的部分为知识图谱的构建过程,同时也是知识图谱更新的过程。

别紧张,让我们顺着这张图来理一下思路。首先我们有一大堆的数据,这些数据可能是结构化的、非结构化的以及半结构化的,然后我们基于这些数据来构建知识图谱,这一步主要是通过一系列自动化或半自动化的技术手段,来从原始数据中提取出知识要素,即一堆实体关系,并将其存入我们的知识库的模式层和数据层。

构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含三个阶段:

  • 信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;
  • 知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等;
  • 知识加工:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。

4、构建技术

前面我们已经说过了,知识图谱有自顶向下和自底向上两种构建方式,这里提到的构建技术主要是自底向上的构建技术。

如前所述,构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含三个阶段:

  • 信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;
  • 知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等;
  • 知识加工:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量,见下图

下面我们依次来对每一个步骤进行介绍。(长文预警)

4.1 信息抽取

信息抽取(infromation extraction)是知识图谱构建的第1步,其中的关键问题是:如何从异构数据源中自动抽取信息得到候选指示单元?

信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。

涉及的关键技术包括:实体抽取、关系抽取和属性抽取。

★ 4.1.1 实体抽取

实体抽取,也称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体。

比如在下图中,通过实体抽取我们可以从其中抽取出三个实体——“Steve Balmer”, “Bill Gates”,和”Microsoft”。

实体抽取的研究历史主要是从面向单一领域进行实体抽取,逐步跨步到面向开放域(open domain)的实体抽取。

★ 4.1.2 关系抽取

文本语料经过实体抽取之后,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关语料中提取出实体之间的关联关系,通过关系将实体联系起来,才能够形成网状的知识结构。这就是关系抽取需要做的事,如下图所示。

研究历史:

  1. 人工构造语法和语义规则(模式匹配)
  2. 统计机器学习方法
  3. 基于特征向量或核函数的有监督学习方法
  4. 研究重点转向半监督和无监督
  5. 开始研究面向开放域的信息抽取方法
  6. 将面向开放域的信息抽取方法和面向封闭领域的传统方法结合

★ 4.1.3 属性抽取

属性抽取的目标是从不同信息源中采集特定实体的属性信息,如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。

研究历史:

  1. 将实体的属性视作实体与属性值之间的一种名词性关系,将属性抽取任务转化为关系抽取任务。
  2. 基于规则和启发式算法,抽取结构化数据
  3. 基于百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模型,然后将其应用于对非结构化数据的实体属性抽取。
  4. 采用数据挖掘的方法直接从文本中挖掘实体属性和属性值之间的关系模式,据此实现对属性名和属性值在文本中的定位。

4.2 知识融合

通过信息抽取,我们就从原始的非结构化和半结构化数据中获取到了实体、关系以及实体的属性信息。

如果我们将接下来的过程比喻成拼图的话,那么这些信息就是拼图碎片,散乱无章,甚至还有从其他拼图里跑来的碎片、本身就是用来干扰我们拼图的错误碎片。
也就是说:

  • 拼图碎片(信息)之间的关系是扁平化的,缺乏层次性和逻辑性;
  • 拼图(知识)中还存在大量冗杂和错误的拼图碎片(信息)

那么如何解决这一问题,就是在知识融合这一步里我们需要做的了。

知识融合包括2部分内容:

  • 实体链接
  • 知识合并

★ 4.2.1 实体链接

实体链接(entity linking)是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。

其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

研究历史:

  1. 仅关注如何将从文本中抽取到的实体链接到知识库中,忽视了位于同一文档的实体间存在的语义联系。
  2. 开始关注利用实体的共现关系,同时将多个实体链接到知识库中。即集成实体链接(collective entity linking)

实体链接的流程:

  1. 从文本中通过实体抽取得到实体指称项;
  2. 进行实体消歧共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义;
  3. 在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。

实体消歧是专门用于解决同名实体产生歧义问题的技术,通过实体消歧,就可以根据当前的语境,准确建立实体链接,实体消歧主要采用聚类法。其实也可以看做基于上下文的分类问题,类似于词性消歧和词义消歧。

共指消解技术主要用于解决多个指称对应同一实体对象的问题。在一次会话中,多个指称可能指向的是同一实体对象。利用共指消解技术,可以将这些指称项关联(合并)到正确的实体对象,由于该问题在信息检索和自然语言处理等领域具有特殊的重要性,吸引了大量的研究努力。共指消解还有一些其他的名字,比如对象对齐、实体匹配和实体同义。

★ 4.2.2 知识合并

在前面的实体链接中,我们已经将实体链接到知识库中对应的正确实体对象那里去了,但需要注意的是,实体链接链接的是我们从半结构化数据和非结构化数据那里通过信息抽取提取出来的数据。

那么除了半结构化数据和非结构化数据以外,我们还有个更方便的数据来源——结构化数据,如外部知识库和关系数据库。

对于这部分结构化数据的处理,就是我们知识合并的内容啦。一般来说知识合并主要分为两种:

  • 合并外部知识库,主要处理数据层和模式层的冲突
  • 合并关系数据库,有RDB2RDF等方法

4.3 知识加工

经过刚才那一系列步骤,我们终于走到了知识加工这一步了!

感觉大家可能已经有点晕眩,那么让我们再来看一下知识图谱的这张架构图。

在前面,我们已经通过信息抽取,从原始语料中提取出了实体、关系与属性等知识要素,并且经过知识融合,消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。

然而事实本身并不等于知识。要想最终获得结构化,网络化的知识体系,还需要经历知识加工的过程。

知识加工主要包括3方面内容:本体构建、知识推理和质量评估

★ 4.3.1 本体构建

本体(ontology)是指工人的概念集合、概念框架,如“人”、“事”、“物”等。

本体可以采用人工编辑的方式手动构建(借助本体编辑软件),也可以以数据驱动的自动化方式构建本体。因为人工方式工作量巨大,且很难找到符合要求的专家,因此当前主流的全局本体库产品,都是从一些面向特定领域的现有本体库出发,采用自动构建技术逐步扩展得到的。

自动化本体构建过程包含三个阶段:

  1. 实体并列关系相似度计算
  2. 实体上下位关系抽取
  3. 本体的生成

比如对下面这个例子,当知识图谱刚得到“阿里巴巴”、“腾讯”、“手机”这三个实体的时候,可能会认为它们三个之间并没有什么差别,但当它去计算三个实体之间的相似度后,就会发现,阿里巴巴和腾讯之间可能更相似,和手机差别更大一些。

这就是第一步的作用,但这样下来,知识图谱实际上还是没有一个上下层的概念,它还是不知道,阿里巴巴和手机,根本就不隶属于一个类型,无法比较。因此我们在实体上下位关系抽取这一步,就需要去完成这样的工作,从而生成第三步的本体。

当三步结束后,这个知识图谱可能就会明白,“阿里巴巴和腾讯,其实都是公司这样一个实体下的细分实体。它们和手机并不是一类。”

★ 4.3.2 知识推理

在我们完成了本体构建这一步之后,一个知识图谱的雏形便已经搭建好了。但可能在这个时候,知识图谱之间大多数关系都是残缺的,缺失值非常严重,那么这个时候,我们就可以使用知识推理技术,去完成进一步的知识发现。

比如在下面这个例子里:

我们可以发现:如果A是B的配偶,B是C的主席,C坐落于D,那么我们就可以认为,A生活在D这个城市。

根据这一条规则,我们可以去挖掘一下在图里,是不是还有其他的path满足这个条件,那么我们就可以将AD两个关联起来。除此之外,我们还可以去思考,串联里有一环是B是C的主席,那么B是C的CEO、B是C的COO,是不是也可以作为这个推理策略的一环呢?

当然知识推理的对象也并不局限于实体间的关系,也可以是实体的属性值,本体的概念层次关系等。

比如:

  • 推理属性值:已知某实体的生日属性,可以通过推理得到该实体的年龄属性;
  • 推理概念:已知(老虎,科,猫科)和(猫科,目,食肉目)可以推出(老虎,目,食肉目)

这一块的算法主要可以分为3大类,基于逻辑的推理、基于图的推理和基于深度学习的推理。

★ 4.3.3 质量评估

质量评估也是知识库构建技术的重要组成部分,这一部分存在的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量

好啦,在质量评估之后,你是不是想说,妈耶知识图谱终于构建完毕了。终于可以松一口气了。

好吧,实不相瞒,知识图谱这个宝宝目前虽然我们构建成功了。

但是!你家宝宝不吃饭的啊!你家宝宝不学习的啊!

所以,让我们冷静一下,乖乖进入知识更新这一步……

4.4 知识更新

从逻辑上看,知识库的更新包括概念层的更新和数据层的更新

  • 概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。
  • 数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中出现频率高的事实和属性加入知识库。

知识图谱的内容更新有两种方式:

  • 全面更新:指以更新后的全部数据为输入,从零开始构建知识图谱。这种方法比较简单,但资源消耗大,而且需要耗费大量人力资源进行系统维护;
  • 增量更新:以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需要大量人工干预(定义规则等),因此实施起来十分困难。

5、知识图谱的应用

好了!终于终于!知识图谱的构建方式我们就此结束了!

为了让大家不立刻弃疗,让我们来看看知识图谱能做到什么,以及目前已经做到了什么~

  • 智能搜索——也是知识图谱最成熟的一个场景,自动给出搜索结果和相关人物
  • 构建人物关系图,查看更多维度的数据
  • 反欺诈:这主要有两部分原因,一个是反欺诈的数据来源多样,结构化和非结构化,二是不少欺诈案件会涉及到复杂的关系网络
  • 不一致性验证(类似交叉验证)——关系推理
  • 异常分析(运算量大,一般离线)
    • 静态分析:给定一个图形结构和某个时间点,从中去发现一些异常点(比如有异常的子图)。
    • 动态分析:分析其结构随时间变化的趋势。(假设短时间内知识图谱结构的变化不会太大,如果它的变化很大,就说明可能存在异常,需要进一步的关注。会涉及到时序分析技术和图相似性计算技术。)
  • 失联客户管理 挖掘出更多的新联系人,提高催收的成功率。
  • ……

事实上,知识图谱的应用远不止于此。在我看来,这个世界就是一张巨大的知识图谱,是无数个实体关系对,这两年工业界对图数据库、知识图谱的巨大需求也同样反映出了这一点。

就像这篇文章开头说的那句一样,

“The world is not made of strings , but is made of things.”
——辛格博士,from Google.

References

[1] 刘峤, 李杨, 段宏,等. 知识图谱构建技术综述[J]. 计算机研究与发展, 2016, 53(3):582-600.
[2] 打怪的蚂蚁. CSDN. 知识图谱技术技巧. http://blog.csdn.net/xgjianstart/article/details/70214852
[3] Ehrlinger L, Wöß W. Towards a Definition of Knowledge Graphs[C]// Joint Proceedings of the Posters and Demos Track of, International Conference on Semantic Systems – Semantics2016 and, International Workshop on Semantic Change & Evolving Semantics. 2016.
[4] Das R, Neelakantan A, Belanger D, et al. Chains of Reasoning over Entities, Relations, and Text using Recurrent Neural Networks[J]. 2016:132-141.

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

论文浅尝 | 利用Lattice LSTM的最优中文命名实体识别方法

本文转载自公众号:机器之心

选自arXiv

作者:Yue Zhang、Jie Yang

机器之心编译

参与:路、王淑婷

近日,来自新加坡科技设计大学的研究者在 arXiv 上发布了一篇论文,介绍了一种新型中文命名实体识别方法,该方法利用 Lattice LSTM,性能优于基于字符和词的方法。与基于字符的方法相比,该模型显性地利用词和词序信息;与基于词的方法相比,lattice LSTM 不会出现分词错误。这篇论文已被 ACL 2018 接收。

作为信息抽取的一项基本任务,命名实体识别(NER)近年来一直受到研究人员的关注。该任务一直被作为序列标注问题来解决,其中实体边界和类别标签被联合预测。英文 NER 目前的最高水准是使用 LSTM-CRF 模型实现的(Lample et al., 2016; Ma and Hovy, 2016; Chiu and Nichols, 2016; Liu et al., 2018),其中字符信息被整合到词表征中。

中文 NER 与分词相关。命名实体边界也是词边界。执行中文 NER 的一种直观方式是先执行分词,然后再应用词序列标注。然而,分割 → NER 流程可能会遇到误差传播的潜在问题,因为 NE 是分割中 OOV 的重要来源,并且分割错误的实体边界会导致 NER 错误。这个问题在开放领域可能会很严重,因为跨领域分词仍然是一个未解决的难题(Liu and Zhang, 2012; Jiang et al., 2013; Liu et al., 2014; Qiu and Zhang, 2015; Chen et al., 2017; Huang et al., 2017)。已有研究表明,中文 NER 中,基于字符的方法表现要优于基于词的方法(He and Wang, 2008; Liu et al., 2010; Li et al., 2014)。

图 1:词-字符网格。

基于字符的 NER 的一个缺陷在于无法充分利用显性的词和词序信息,而它们是很有用的。为了解决这一问题,本论文研究者利用 lattice LSTM 来表征句子中的 lexicon word,从而将潜在词信息整合到基于字符的 LSTM-CRF 中。如图 1 所示,研究者使用一个大型自动获取的词典来匹配句子,进而构建基于词的 lattice。因此,词序如「长江大桥」、「长江」和「大桥」可用于语境中的潜在相关命名实体消歧,如人名「江大桥」。

由于在网格中存在指数级数量的词-字符路径,因此研究者利用 lattice LSTM 结构自动控制从句子开头到结尾的信息流。如图 2 所示,门控单元用于将来自不同路径的信息动态传送到每个字符。在 NER 数据上训练后,lattice LSTM 能够学会从语境中自动找到更有用的词,以取得更好的 NER 性能。与基于字符和基于词的 NER 方法相比,本论文提出的模型的优势在于利用利用显性的词信息而不是字符序列标注,且不会出现分词误差。

图 2:Lattice LSTM 结构。

结果显示该模型显著优于基于字符的序列标注模型和使用 LSTMCRF 的基于词的序列标注模型,在不同领域的多个中文 NER 数据集上均获得最优结果。

模型

研究者遵循最好的英文 NER 模型(Huang et al., 2015; Ma and Hovy, 2016; Lample et al., 2016),使用 LSTM-CRF 作为主要网络结构。形式上,指定输入句子为 s = c_1, c_2, . . . , c_m,其中 c_j 指第 j 个字符。s 还可以作为词序列 s = w_1, w_2, . . . , w_n,其中 w_i 指句子中的第 i 个词,使用中文分词器获得。研究者使用 t(i, k) 来指句子第 i 个词中第 k 个字符的索引 j。以图 1 中的句子为例。如果分词是「南京市 长江大桥」,索引从 1 开始,则 t(2, 1) = 4 (长),t(1, 3) = 3 (市)。研究者使用 BIOES 标记规则(Ratinov and Roth, 2009)进行基于词和基于字符的 NER 标记。

图 3:模型。

表 4:在开发集上的结果。

表 5:在 OntoNotes 上的主要结果。

论文:Chinese NER Using Lattice LSTM

  • 论文链接:https://arxiv.org/abs/1805.02023
  • 项目链接:https://github.com/jiesutd/LatticeLSTM

摘要:我们研究了用于中文命名实体识别(NER)的 lattice LSTM 模型,该模型对输入字符序列和所有匹配词典的潜在词汇进行编码。与基于字符的方法相比,该模型显性地利用词和词序信息。与基于词的方法相比,lattice LSTM 不会出现分词错误。门控循环单元使得我们的模型能够从句子中选择最相关的字符和词,以生成更好的 NER 结果。在多个数据集上的实验证明 lattice LSTM 优于基于词和基于字符的 LSTM 基线模型,达到了最优的结果。

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

会议 | ESWC2018 见闻

本文转载自公众号:南大Websoft 。

ESWC2018于2018年6月2日在希腊克里特岛上的伊拉克利翁举行。会议包括两天的前会(workshops, tutorials) 和三天的正会,参会人数约300人。

Keynotes

Keynote1: Structural Summarization of Semantic Graphs, by Ioana Manolescu (INRIA, Paris-Saclay, Paris, France)

面对规模较大、数据异构、暗含推理的RDF图,如何产生摘要以展示其中频繁出现的结构?

讲者分析了一些基于频繁模式和统计数据的相关工作,并介绍了一种先挖掘数据频繁模式,再考虑类型结构的方法。同时报告者还通过该摘要方法发现了存在于当前知识库中的一些噪音数据,比如DBpedia中存在一些实体的birthplace是自己。

Keynote2: Knowledge Representation and the Semantic Web – an Ontologician´s View, by Sebastian Rudolph (TU Dresden, Germany)

该报告主要包括两部分内容:使用一些例子来讲述逻辑对于语义网的作用;讲述基于逻辑的知识表示的变化以及面对的主要问题。

上图展示了逻辑在问答中的作用。如果我们要查询知识库中所有的人,那么逻辑推理能够给我们很大帮助,例如利用subClassOf/subPropertyOf推理、domain/range推理等等。

基于逻辑的知识表示当前面对的问题主要包括两点:(1)数据中的噪音,可能引入矛盾的知识。由于推理规则 A 和 非A 能够推出任意 B,因此小的错误可能会对逻辑知识系统带来很大的灾难。目前常见的做法是采用fuzzy logic或者probabilistic logics(Markov logic)等等。(2)数据的动态性,目前知识是持久存储的,而网络上信息的更新速度远大于知识的更新速度。因此需要研究实时(real-time)的知识表示方法,但目前的自动索引和推理技术不能满足需求。

下图展示了讲者在总结部分对逻辑学家和其他语义网工作者的一些提示。

Keynote3: How to Make, Grow and Sell a Semantic Web Start-up, by Milan Stankovic (Sépage, Paris, France)

该讲者主要讲述了其使用语义网技术的旅游应用的创业经历(如下图所示),刚开始13年他在一次会议上作报告时获得了投资,后艰难发展迎来第一个客户,…,最终17年初创公司成功被大企业收购

该讲者还结合他自己的经历提出了一些至理名言,例如:

Success is getting what you want and failing at everything else.

If you are too busy, there must be something that you are doing wrong.

There is only one viable start-up ideology: common sense.

My paper

在这次大会上我报告了关于地理高考选择题求解方法的文章Answering Multiple-choice Questions in Geographical Gaokao with a Concept Graph.该工作包括从教材教辅表格构建地理概念图谱(刻画概念之间的关系和每个概念的相关文本描述),并采用搜索特定类型的路径的方式回答地理选择题。由于我的报告被安排在了地理相关资源的会场上,因此听众较少。听众主要关心的内容是,地理知识图谱构建方法如何推广到其他学科/领域。同时,有听者询问我们的问答方法是否受限于概念图谱的质量和规模,对于概念图谱目前无法回答的问题是否有尝试一些其他方法。

Related papers

Marco Avvenuti, Stefano Cresci, Leonardo Nizzoli and Maurizio Tesconi. Geoparsing and Geotagging with Machine Learning on top of Linked Data. (best paper candidate)

文章提出了一种使用多个知识源来发现、链接推特中的地理实体的方法。与传统方法不同的是,该方法同时考虑在多个知识库上进行地理实体的发现和链接,之后通过投票的机制来确定正确的实体。对于投票方法可能出现的问题(多数链接是错误的情况),该方法增加了一个使用监督学习的过滤方法,使用文本、链接、来源三个方面的特征,来确定每个链接的置信度。实验上,该方法在英文推特上结果几乎翻倍(30%+提升到60%+),在印第安语上从60%+提升至80%+。

Tu Nguyen and Wolfgang Nejdl. Multiple Models for Recommending Temporal Aspects of Entities.

该文章主要场景是,当用户搜索一个实体时(事件),是根据当前时间来推荐实体的不同方面。例如,在总统大选出结果之前,人们搜索大选更关注竞选人信息、竞选的预测;而当竞选结束后,用户再搜索大选一般需要的是大选的结果(虽然竞选预测等信息依然存在在网上)。文章的主要方法是对于搜索的目标实体分类,学习其周期性特征、趋势性特征、自相关特征、互相关特征,从而对于一个新的实体和搜索发生的时间做出预测。

Hamid Zafar, Giulio Napolitano and Jens Lehmann. Formal Query Generation for Question Answering over Knowledge Bases.

文章提出了一种KBQA方法。首先他假设问句中的实体、属性和答案在知识库上能够构成一个通路,任意两个实体之间的距离不超过两步。在找出所有候选通路之后,该方法将每条候选通路和问句的依存树通过一个预训练的Tree-LSTM转为向量,然后计算相似度,相似度高的选为生成的结构化查询。

Challenges, Tutorials, Awards

ESWC上举行了 Scalable Question Answering Challenge, 得奖队伍是 Dennis Diefenbach, Kamal Singh and Pierre Maret 的系统 WDAqua-core1.

Tutorial 部分How to build a QA system overnight和我们较为相关,介绍了QA的基本知识,基于 Semantic Parsing 的问答方法,基于Deep Learning的问答方法,并且包括一些编程实战。相关PPT和代码参见https://github.com/AskNowQA/QA-Tutorial

Best PhD Symposium颁发给Lucia Sicilian: Question Answering over Knowledge Bases.

Best Research Paper颁发给Alieh Saeedi, Eric Peukert and Erhard Rahm: Using Link Features for Entity Clustering in Knowledge Graphs.

Best Resource Paper颁发给Wouter Beek, Joe Raad, Jan Wielemaker and Frank van Harmelen. sameAs.cc: The Closure of 500M owl:sameAs Statements.

Best Inuse Paper颁发给Oktie Hassanzadeh, Shari Trewin and Alfio Massimiliano Gliozzo. Semantic Concept Discovery Over Event Databases.

ESWC19将在Portoroz举行。

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。

 

论文浅尝 | 问题生成(QG)与答案生成(QA)的结合

本文转载自公众号:徐阿衡

梳理一下 MSRA 3 篇关于 QG 的 paper:

  • Two-Stage Synthesis Networks for Transfer Learning in Machine Comprehension
  • Question Answering and Question Generation as Dual Tasks
  • A Joint Model for Question Answering and Question Generation

QG 系列其他的笔记(见徐阿衡公众号):

  • 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation
  • 论文笔记 – Semi-Supervised QA with Generative Domain-Adaptive Nets

目前的 QA 大多是 抽取式(extractive)的任务,答案是文本中的一个连续片段,通常是命名实体这类语义概念,而 QG 是生成式的(abstractive),问句是完整句子,部分单词可能是文档中没出现过的,很多情况下,问句和答案的语言结构不同,因此甚至可以看做两种不同类型的数据。所以第 1 篇 SynNet 就把答案生成当作序列标注任务,把 QG 当作生成任务;第 3 篇 Joint Model 从另一个角度出发,把 QA 和 QG 都当作生成任务,放到同一个 encoder-decoder 框架下,用转变输入数据来实现联合训练,用 pointer-softmax 来处理抽取/生成问题。

另外,QA 和 QG 任务在概率上是有联系的,可以通过 q、a 的联合概率分布联系起来,P(q|a) 就是 QG 模型,P(a|q) 类似 QA 模型,于是第 2 篇 dual tasks 就把这两个任务当做对偶任务,用一个正则项把两个任务联合在一起。

Two-Stage Synthesis Networks for Transfer Learning in MC

我们知道 MRC 系统的输入是 (passage, question, answer) 三元组,q 和 a 依赖人工标注,这是制约 MRC 落地应用的最大问题之一,这篇 paper 提出了 SynNet,利用已有领域中可用的监督数据为基础进行训练,训练完成后迁移到新的领域中,根据新领域的文档,模型能自动合成与文档 p 相关的 (q, a) 对,替代昂贵的人工标注,为 MRC 的迁移落地提供了便利。

SynNet 把 QA 对(question-answer pair)的生成过程 P(q,a|p) 分解为条件概率 P(a|p) P(q|p,a) ,也就是下面两个步骤:

  1. 基于文档生成答案 P(a|p)
学习文档中的 potential “interestingness” pattern,包括文章中可作为常见问题答案的关键知识点、命名实体或语义概念
由于答案是文档的片段,所以看做序列标注任务
  2. 基于文档和答案生成问题 P(q|p,a)
学习生成自然语言的完整问句
作为生成任务

答案合成模块(Answer Synthesis Module),序列标注问题,训练了一个 IOB tagger (4 种标记,start, mid, end, none)来预测段落里的每个单词是不是答案。结构很简单,BiLSTM 对 p 的词向量进行编码,然后加两个 FC 层和一个 Softmax 产生每个单词的 tag likelihoods,选择连续的 span 作为 candidate answer chunks,喂给问题生成模块。

问题合成模块(Question Synthesis Module)学习的是 。模型结构是 encoder-decoder + attention + copy mechanism。通过在段落词向量中加入一个 0/1 特征来表示单词是不是出现在答案中。

训练算法:

在源领域上训练 SynNet,产生新领域的 QA 对,然后和源领域的数据一起来 finetune 源领域的 MC 模型(用 SGD),源领域和新领域的数据采样比是 k:1(paper 里设的 k=4),这主要是为了处理合成数据的噪音问题而进行的正则化操作。

测试阶段也就是用 finetune 完成的 MC 模型回答新领域的问题时,可以对不同时刻的 checkpoints 的 answer likelihoods 做平均,然后用 DP 找到最佳的 answer span ,最大化 ,复杂度是 linear,和 BiDAF 的逻辑相同。

难得的是这篇 paper 还提供了实现细节,其中一个 trick 是,在训练问题合成模块时,他们只用了 SQuAD 的训练集,但是在答案合成模块,还引入了 NER Tagger 来增强答案数据,基本假设任何命名实体都可以被当做某个问题的潜在答案。

在 Ablation Studies 和 Error Analysis 中还提到了一些有趣的发现,具体可以看论文。待解决的问题一个是 copy 机制导致的产生的问句和 paragraph 高度相似的问题,可以通过改进 cost function 在促进解码过程的多样化,另一篇 paper 有提到。还有一个问题是 SynNet 在解决比如数字、人名这种问题的效果很好,但是在需要一些推理的问题,像是 what was / what did 这些问题就很弱了,这也是后续的研究方向。

这篇 paper 个人非常喜欢,实现细节和一些结果的分析都很赞。

Question Answering and Question Generation as Dual Tasks

把 QA 和 QG 当作对偶任务。关键还是下面这个式子:

P(q|a) 即 QG 模型,和 P(a|q) 即 QA 模型可以通过联合概率联系起来,于是这里把 QA 和 QG 当作对偶任务,Seq2Seq 实现 QG,RNN 实现 QA,通过一个正则项把两个任务联系起来,联合训练一起学习 QA 和 QG 的参数,损失函数服从下面的条件:

其中 分别对应答案句和问句的语言模型。

这里 QA 任务不再是在 context 里选 answer span 的任务,而被看作是在一组候选答案句集合中选择可能性最高的 answer sentence 的一个排序任务。也就是说,这里的 a 是答案所在的句子,而不是前一篇 paper 提到的简单的语义概念/实体。

QG 任务还是一个生成任务,输入是答案句 a。要注意的是这里 QA 和 QG 的输入都没有 p,都只考虑了句子层面的信息。

和之前介绍的 GDAN 不同的是,这里 QA 和 QG 的地位是相同的,也并不需要预训练 QA。

下面看一下模型细节:QA 模型 分别用 BiGRU 对 q 和 a 进行编码,拼接 last hidden state 作为向量得到 v_q 和 v_a,question-answer pair 的表达由四个向量拼接构成 , c(q,a) 表示 q,a 的共现词,对应的词向量表达通过引入额外的 embedding 矩阵  实现,d_c 表示词共现向量的维度 |V_c| 则是词汇表大小, 也就是 qa 相关性函数通过对 v(q,a) 进行线性变换加 tanh 激活得到,最后 softmax 得到概率,损失函数还是 negative log-likelihood。

QG 模型 还是经典的 encoder-decoder + attention 模型,输入是 answer sentence,还是用 BiGRU 进行编码,连接两个方向的 last hidden state 作为 encoder 的输出以及 deocder 的初始状态。对 attention 做了改进,希望模型能记住 answer sentence 中哪些 context 被使用过了,在产生 question words 的时候就不再重复使用。

拼接 s_t 和 c_t,接一个 linear layer 和 softmax 得到输出单词在词汇表上的概率分布,一个 trick 是 softmax 输出维度取 top frequent question words,OOV 用 attention probability 最高的词替换,相当于对文档单词的一个 copy 机制,当然也可以用 pointer network 来做。

模型每次输入 m 个 QA 对正例和 m 个负例,通过 QG 和 QA 各自模型计算各自 loss,再加上一个正则化项一起计算参数梯度并更新参数。

正则化 dual 项利用了 QA 和 QG 的对偶关系:

考虑到  和 QA 模型的输出有差异,因此给定 q,sample 一系列 answer sentences A’,从中得到 

在实现细节里提到模型对 question words 和 answer words 用了不同的 emebdding 矩阵来学习特定的语义。另外 sampled answer sentence 来自其他的 passage,这降低了 QA 的难度。

结果分析再次证明了 word co-occurrence 是一个简单但非常有效的特征。

实验设计部分不大能看出模型的实际效果,不明白为什么不直接刷榜看一下结果。另外 QG 部分的评价指标也只用了 BLEU-4 分数,对 fluency 没有进行说明。

We first report results on the MARCO and SQUAD datasets. As the dataset is splitted by ourselves, we do not have pre- viously reported results for comparison.

A Joint Model for Question Answering and Question Generation

这篇和上篇都是讲怎么同时生成答案和问题,不同的是上篇通过一个 dual regularization term 将两者联合起来训练,这里把 QA 和 QG 任务都作为生成任务,模型基本结构还是 Seq2Seq + Attention + Pointer Softmax,和之前提到的一篇 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation 差不多。输入是文档,以及一个 condition sequence,在 QA 任务里表现为 question word sequence,给定 question 生成 answer;QG 任务里表现为 answer word sequence,给定 answer 生成 qestion,condition 由一个 0/1 变量来控制,表示收到的数据是给 a-gen 还是给 q-gen。Joint training 通过对输入数据的转换实现。

Pointer-softmax 一定程度上能解决 extractive/abstractive 的混合问题,通过选择 copy 文档的单词还是生成词汇表的单词来产生下一个单词,表达了 extractive/abstractive 的切换。这带来的一个额外好处是可以产生 abstractive answer。

具体来讲,Encoder 里,词向量和字向量拼接得到 word embedding,其中字向量用 BiLSTM 产生,word embedding 经过另一个 BiLSTM 编码得到文档编码 h^d_i 和条件序列的编码 h^c_j。

条件序列的另一种编码是“抽取式的”,也就是从 document encoding 中直接抽取出出现在 condition sequence 中的单词的对应部分,这和 论文笔记 – Machine Comprehension by Text-to-Text Neural Question Generation 原理相同。然后抽取的向量经过 BiLSTM 产生对应编码 h^e_k。两种条件序列的编码 h^c_j 和 h^e_k 的 final state 分别为 h^c_J 和 h^e_K。在 a-gen mode 也就是对问句进行编码是采用 h^c_J,在 q-gen mode 也就是对答案进行编码时采用 h^e_K,相当于模拟了 extractive 和 abstractive 的特性。

Decoder 用了 pointer-softmax mechanism,比之前的工作复杂一些,具体可以戳阅读原文或者看 paper。

损失函数

实现细节里,encoder 用了整个词表,decoder 用了训练数据里 gold question 中的频率最高的 100 个单词的词表。另外一个 trick 是 decoder 保留了之前产生的单词的历史来防止输出的重复。

联合训练下,a-gen 的表现有显著提升,q-gen 略有下降。一个直观结论是,模型并没有提高 QA 任务的效果,但是增加了 QG 的能力。

过去大多模型都把 QA 当做 point to answer span within a document 而不是 NLG 任务,这一篇的创新之处就在于把 QA 也当作了生成问题,与 QG 放到同一个框架下,用 pointer-softmax 来调节生成/抽取的比率,给 QA 也增加了“生成”的能力。

一个显著优势是,和上一篇 paper 相同,这里不需要预训练 QA,可以直接用 QG 辅助 QA 的实现同时给模型提供QG 的能力。

a key distinction of our model is that we harness the process of asking questions to benefit question answering, without training the model to answer the generated questions.

MSRA 出品的 QG 系列的 paper 在各自模型及实现上有共性也有个性,一些 trick 基本是通用的,具体的实用性能还待具体领域的实践检验。


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

 

文章转载自公众号

徐阿衡

 

领域应用 | 人工智能+知识图谱:如何规整海量金融大数据?

本文转载自公众号:恒生技术之眼

21世纪以来,人类社会信息资源的开发范围持续扩大,经济、社会信息随着经济活动加剧得到空前的开发,信息资源总量呈爆炸式增长,我们从最初的“信息匮乏”一步踏入到“信息过量”时代。

个人如此,行业亦然:随着大数据应用的不断发展,金融机构的经营决策、营销服务越来越依赖于诸如新闻舆情、企业信用、热点概念等企业外部数据,而这些数据的应用场景也愈加需要与金融机构内部的数据打通,形成数据融合计算。再加上人工智能的异军突起,大量非结构化数据正在被人工智能结构化掉,隐藏在文档中的信息价值正在不断的被“机器”发现并加以大规模的使用,大数据、人工智能让金融机构的数据治理工作又重新回到了“混乱”的起点。面向人工智能的大数据治理,已经成为金融IT向金融DT转型所必须面对的一个严峻课题。

人工智能的应用现状

在笔者看来,人工智能就是一种数据服务能力,智能金融本质上就是金融DT服务,发展人工智能就等于发展数据技术,人工智能系统智能化程度的高与低,与数据处理能力正相关。为了方便说明这一论点,我们先来看看金融机构在人工智能领域所做的各种探索和尝试。

 

人脸识别作为最早的人工智能技术在金融机构各种需要身份验证的应用场景中得到广泛的应用,早在3年前远程开户、网上营业厅等业务就已经在金融机构中逐步展开,这是人工智能进入金融领域比较早的案例。现如今智能客服也已成了一个极佳的人工智能的切入点:首先通过智能语音技术将客户的语音转化为文字,然后用自然语言处理NLP技术进行解析,识别用户意图,最后用用智能问答形式给与相关的解答和服务。

 

智能客服在大幅降低人工客服的服务压力的同时,还能有效提升服务品质和服务效率,这对那些面临大量客服工作的大型金融机构来说还是非常有吸引力的。还有一部分金融机构以产业链知识图谱为其人工智能的着眼点,构建上市公司及其产品服务的上下游关系,再通过追踪监控新闻、事件、舆情在产业链中的传导效应,形成具体的投研策略。产业链技术延伸出去就会形成智能投研、智能资管、智能风控等智能金融业务,这类人工智能技术更加贴合金融机构的金融业务的用户场景。也有金融机构,索性把人工智能当作自己的贴身秘书来使用,各类新闻、公告、年报的解读全部交给了人工智能,通过自然语言处理技术,提取公告中的财务数字,做自动摘要,形成正负面相关性的分析。这类数据通过人工智能技术预处理后,大量信息被提炼出来,结合部分人工审核和校对,基本上也可以上生产了。

数据智能服务:从感知到认知

有人把人工智能的发展分为三个阶段:计算智能、感知智能、认知智能,对应的DT服务的发展就是数据从信息向知识演化并最终生长为数据智能的演变过程。当前大部分金融机构的人工智能还停留在感知智能向认知智能转化这个阶段,而主要工作场景还是在感知这一领域,所谓感知智能就是就是能听能说,具备一定的表达能力。很显然,人脸识别是图像视频这类非结构化数据的特征结构化的结果,这是让机器看懂人的图像;智能客服仰仗的是NLP的分词和意图识别能力,支撑问答系统的是强大的知识库和知识图谱技术,这是让机器理解人的语言;产业链知识图谱主要是传统三方资讯关系型数据转变为RDF三元组的一种数据存储形态的改变;各类新闻公告年报等的报告信息提取与加工,代表着非结构化数据结构化的一个过程,这是让机器替代人脑去读懂文档。

 

发展人工智能,光有感知能力显然是不够的,最终要能够具备认知推理的能力,从学术界看这个问题,有两条路可以走,一个是机器学习,一个是符号推理。机器学习大家都比较理解了,尤其是深度学习技术已经让语音识别、视频影响处理的能力超越了人类大脑的能力。符号推理,走的是另外一条路,最早指的就是专家系统,大量的知识被存储管理起来,用于检索,现如今,符号推理,是借助语义网络知识管理进行图分析挖掘的一种能力。符号推理在当前工业界落地的就是指知识图谱,基于RDF三元组存储的知识图谱,可以存储管理人类已有的各类知识,而这些知识又因为是一种实体关系属性的图表达,所以基于图的分析挖掘,表现出来的就是知识发现和推理的一种能力。

 

在我国金融行业,因为大数据本身的积累不够,做过标注的金融数据语料更加匮乏,所以造成一个结果,就是在金融行业,面向具体金融业务场景的机器学习的数据是不够的,更加谈不上深度学习了,结果就是基于机器学习的认知智能的发展必然受限。这里最直接的表现就是我们发现所有金融应用场景里,适合机器学习和深度学习的场景,是比较少的。很多机器学习不得不为NLP、知识图谱这种细节场景服务,或者机器学习和金融工程整合在一起,而主体还是金融工程,机器学习目前只是一种辅助工具,充其量就是多因子的一个加工手段而已。究其原因是金融行业业务相关的大数据的体系还没有完全构造出来。应用场景的数据还没有得到有效沉淀。

 

而符号推理在金融行业会有所不同,我们知道金融服务本质上就是一种信息服务,而金融对上市公司的公告、年报、新闻等等的资讯数据是天然敏感的,大多数玩金融的人,都是从处理这些信息开始的。很多行业研究员为了能够建立自己的竞争力,领先市场一步,每天加班加点的就是在阅读分析处理这类资讯数据。这类资讯数据基本上是一种非结构化形式存在的,三方资讯数据厂商通过人工采编的方式能够结构化掉其中一部分,而大多数数据还是需要人脑加工的。这就给了人工智能应用一个空间,通过自然语言理解NLU,再进行自然语言处理NLP,最后通过自然语言生成NLG,有了这几项技术,再结合知识图谱和机器学习的能力,将可以将这类非结构化数据的加工结果进行有效反馈。如果我们将NLP加工获取的金融词林,进一步挖掘获取的实体、关系、属性、概念、事件等信息,加以整理,建立他们之间的各类关系,那么一个基本的金融知识图谱就构造出来了。所以,我们会看到NLP技术在当前的人工智能领域的应用已经成为了热点,而KG是紧随其后的一项技术,大量的非结构化数据的提取达到一定的准确度后,机器就可以代替人,来完成大规模知识发现,最终形成知识计算所需要的“大知识“的数据储备,目前NLP的准确率还只能到60%上下,具体场景针对性优化后才可能到90%以上的水准。

 

在足够窄的应用领域,NLP技术通过了实战的考验。但面对海量大数据,基于文档互联的互联网体系想要转化为以实体关系为主体的语义网络,还有相当长的一段路要走。但我们还是有理由相信以广义NLP(新视频文字)技术为核心的人工智能将会统治相当长一段时间,直到非结构化数据的处理不再是问题以及非结构化数据和结构化数据能够相互融合,那么届时行业知识图谱、企业知识图谱的数据准备也已由点及面的建立起来,基于知识图谱的人工智能应用将大放异彩,金融领域的人工智能也就从感知智能正式过渡到认知智能阶段。

数据的价值演化

人工智能的发展本质上是数据价值的一个演化过程。计算智能对应的就是我们看到的多源异构大数据,我们将这些数据进行采集、清洗、转化加载到大数据中心后,数据变成各类有用的信息。如果我们将信息进一步提炼,通过知识构建与管理的一系列手段,便可以将信息转化为知识,存储起来。如果我们按照W3C的知识管理规范,对知识做RDF三元组的存储和管理,我们就能构造出来一系列的知识图谱。有了这个知识图谱,我们就具备了知识计算的能力,那么对于一个具体的金融场景来说,如果我们将金融业务场景的业务模型结合知识计算的能力,以及对大数据平台的数据进行机器学习的能力,就可以形成我们的金融大脑。

金融大脑=金融业务场景的业务模型

+知识计算+机器学习

我们将这类金融大脑,也就是大大小小的智能化场景,开放出去,就形成我们对传统金融的一个智能化变革。

面向人工智能的大数据治理

从以上的分析中,我们可以明确感觉到人工智能正在迅速改变金融机构,金融机构的数据计算的关注点,正在从企业信息系统内部的计算,转变为关注来自互联网和三方的外部数据的计算和处理上。

多元异构数据的整合,是未来金融机构将要长期面临的一个局面。数据难以融合,也就难以做到统一消费,从非结构化数据提取的实体关系、属性等信息,当他们不能融合到企业内部经营数据中去,就会再次形成信息孤岛,随着多元异构数据的量级不断攀升,这个信息孤岛将会呈现越来越严重的局面。在人工智能迅猛发展的今天,如何解决上述问题,是未来企业竞争中体现出来的核心竞争力之一。

以上所述的问题与挑战,就是我们今天所谈到的面型人工智能的大数据治理有待解决的问题。那么我们该如何行动呢?

第一步:多源异构数据源的统一管理。首先,我们要对多源异构数据源进行统一管理。这里既包括金融机构内部的经营数据,也包括来自三方资讯数据厂商的外部数据,以及来自互联网的各种大数据。

为了达到未来的智能化能力,我们需要将金融内部的结构严谨的业务系统数据图谱化,将具有明显关系特征的数据提取出来,再用这些数据对企业内部数据通过实体链接、数据标引等技术进行再组织;同时我们将三方数据中非结构化的那部分PDF、WORD等进行知识抽取,也提炼出实体关系属性等数据。最后对那些跟金融机构相关的互联网大数据,通过爬虫技术不断的抓取,并对这些网页半结构化数据进行结构化处理,同样提取其中的实体关系和事件信息。

第二步:大数据存储与计算。对于金融机构而言,无论是采用商业化的软件还是开源软件,都需要一个大数据平台将来自多源异构数据源的数据进行统一管理,可以把这理解为一个大数据中心的建立,只不过这个数据中心的主要构建技术是人工智能的三驾马车:知识图谱、NLP、机器学习。我们在大数据中心除了保留原始异构数据源的一份拷贝之外,还要对这些数据进行面向人工智能的数据处理,包括通过NLP进行实体挖掘、关系抽取、属性提炼;通过知识图谱保存NLP提炼出来的具有关系特征的各种数据以及用机器学习来加速这一进程的处理效率提升准确度等。

第三步:构造知识图谱。最后我们需要构造金融行业的一个知识图谱,可以是行业知识图谱,也可以是企业图谱。KG的建设是有一个完整的生命周期的,包括知识建模、知识获取、知识融合、知识计算以及知识应用的全过程。知识建模依赖与金融机构内部数据和来自三方的结构化数据,将ER关系转化为KG的Schema是这一个工作的重点。构造好Schema后,就可以进行知识获取工作了:首先导入关系型数据库的各类实体关系属性数据,然后通过知识抽取技术将各类非结构化数据结构化掉后,将散落在互联网大数据和三方非结构化数据中的知识进行整理合并到现有KG中去;接着通过实体消岐、指代消解等知识融合技术对KG的质量进行管理与维护;KG初步建立后,就可以通过图计算进行知识发现知识推理和挖掘等工作了。

至此,一个完整的面向人工智能的数据治理工作关于基础信息系统层面的建设就告一段落了。之后如果我们据此再逐步建立大数据大知识(KG)的管理规范,不断积累其中的业务应用模型,那么一个成熟可拓展的面向人工智能的大数据治理成果就会逐步呈现出来。届时,面向人工智能的大数据治理,势必能有效支撑智能金融从感知智能向认知智能的变革。

OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。


文章转载自公众号

恒生技术之眼

 

论文浅尝 | 近期论文精选

本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly

TheWebConf 2018

■ 链接 | https://www.paperweekly.site/papers/1956

■ 解读 | 花云程,东南大学博士,研究方向为自然语言处理、知识图谱问答

动机

对于 KBQA 任务,有两个最为重要的部分:其一是问题实体识别,即将问题中的主题实体识别出来,并与 KB 做实体链接;其二是谓词映射

对于主题实体识别任务,之前的做法多为依靠字符串相似度,再辅以人工抽取的特征和规则来完成的。但是这样的做法并没有将问题的语义与实体类型、实体关系这样的实体信息考虑进来。

实体类型和实体关系,很大程度上,是与问题的上下文语义相关的。当只考虑实体关系时,会遇到 zero-shot 的问题,即测试集中某实体的关系,是在训练集中没有遇到过的,这样的实体关系就没法准确地用向量表达。

因此,为了解决上述问题,本文首先利用 entity type(实体类型)的层次结构(主要为实体类型之间的父子关系),来解决 zero-shot 的问题

如同利用 wordnet 计算 word 相似度的做法一般,文章将父类型的“语义”视为所有子类型的“语义”之和。一个实体总是能够与粗颗粒的父类型相关,例如一个实体至少能够与最粗颗粒的 person、location 等类型相连。这样,利用实体所述的类型,在考虑实体上下文时,就可以一定程度上弥补实体关系的 zero-shot 问题。

此外,本文建立了一个神经网络模型 Hierarchical Type constrained Topic Entity Detection (HTTED),利用问题上下文、实体类型、实体关系的语义,来计算候选实体与问题上下文的相似度,选取最相似的实体,来解决 NER 问题。

经过实验证明,HTTED 系统对比传统的系统来说,达到了目前最优的实体识别效果

贡献

文章的贡献有:

  • 利用父子类型的层次结构来解决稀疏类型训练不充分的问题;
  • 设计了基于 LSTM 的 HTTED 模型,进行主题实体识别任务;
  • 提出的模型通过实验验证取得了 state-of-art 的效果。

方法

本文首先对于父子类型的层次结构进行解释和论述,也是 HTTED 的核心思想。

本文认为,父类型的语义视为接近于所有子类型的语义之和。例如父类型 organization 的语义,就相当于子类型 company、enterprise 等语义之和。如果类型是由定维向量表示,那么父类型的向量就是子类型的向量之和。

此外,由于在数据集中,属于子类型的实体比较稀疏,而父类型的实体稠密,如果不采用文中的方法,那么稀疏的子类型将会得不到充分的训练。若将父类型以子类型表示,那么父子类型都可以得到充分地训练。

▲ 图1:HTTED模型图

其次是对文中模型的解释。如上图 1 所示,HTTED 使用了三个编码器来对不同成分编码。

其一,是问答上下文编码器,即将问题经过分词后得到的 tokens,以预训练得到的词向量来表示,并依次输入双向 LSTM 进行第一层的编码;此后,将双向 LSTM 得到的输出拼接,再输入第二层的 LSTM 进行编码,即得到表示问题上下文的 d 维向量 q。

其二,是实体类型编码器,即对于某个候选实体 e,得到其连接的类型,并将父类型以所有子类型向量之和表示,再将这些类型对应的向量输入一个 LSTM 中进行编码,得到实体类型的 d 维向量 et。

其三,是实体关系编码器,即对于某个候选实体 e,得到其所有实体关系,并表示成向量。此外,对于实体关系,将其关系名切割为 tokens,并以词向量表示。然后将实体关系和实体关系名这两种向量,输入一个 LSTM 中进行编码,得到实体关系的d维向量 er。

得到三个向量后,文章认为实体的语义可以由实体类型、实体关系近似表达,所以有:

而在训练时,设置一个 margin,则 ranking loss 为:

其中 γ 为超参数。

实验结果

文章使用单关系问答数据集 SimpleQuestions 和知识图谱 FB2M,并有 112 个具有层次父子关系的实体类型。

HTTED 的词向量为经过预训练的,关系向量是初始随机的,而类型向量中,叶子类型初始随机,父类型的向量由子类型的向量累加得到。如下图 2 所示,为 HTTED 与其他系统的效果对比,其中 -Hierarchy表示 HTTED 去除了实体类型的层次结构表示。

▲ 图2:主题实体识别效果对比图

由图 2 可见,HTTED 为 state-of-art 的效果。并且,将实体类型的层次结构去除,HTTED 的准确性下降很多。可见层次类型约束对于该模型的重要性。

由下图 3 可见,由于使用了层次结构的类型,同名的实体被识别出来,但是与问题上下文更相关的实体都被挑选出来,所以能够正确识别到主题实体。

▲ 图3:主题实体识别示例图

总结 

这篇文章,主要有两个主要工作:其一,是引入了层次结构的实体类型约束,来表达实体的语义,使得与问题上下文相关的实体,更容易被找到;其二,是建立了基于 LSTM 的 HTTED 模型,提高了主题实体识别的效果。

AAAI 2018

■ 链接 | https://www.paperweekly.site/papers/1957

■ 解读 | 张文,浙江大学博士生,研究方向知识图谱的分布式表示与推理

动机

知识图谱的分布式表示旨在将知识图谱中的实体和关系表示到连续的向量空间中,本文考虑的问题是如何将知识库的分布式表示和逻辑规则结合起来,并提出了一个新的表示学习方法 RUGE (Rule-Guided Embedding)

贡献

1. 本文提出了一种新的知识图谱表示学习方法 RUGE,RUGE 在向量表示 (embeddings) 的学习过程中迭代地而非一次性地加入了逻辑规则的约束;

2. 本文使用的是已有算法自动挖掘的规则,RUGE 的有效性证明了算法自动挖掘的规则的有效性;

3. 本文提出的方法 RUGE 具有很好的通用型,对于不同的逻辑规则和不同置信度的规则的鲁棒性较好。

方法 RUGE 

RUGE 方法的输入有三个部分:

  • 已标记的三原组:知识库中已有三元组;
  • 未标记的三元组:知识库中不存在的三元组。在这篇论文中未标记的三元组只考虑了能够由逻辑规则推导出的三元组;
  • 概率逻辑规则:本文主要考虑了一阶谓词逻辑规则,每一个逻辑规则都标有一个成立的概率值。实验中使用的概率规则来自于规则自动挖掘系统 AMIE+。

模型核心想法如下:

三元组表示:

本文采用了 ComplEx 作为基础的知识库分布式表示学习的模型,在 ComplEx中,每一个实体和关系都被表示为一个复数向量,一个三元组 (e_i,r_k,e_j) 的得分函数设计如下:

其中 Re<x> 表示取 x 实部的值,bar{e}_j 为 e_j 的共轭向量。正确的三元组得分函数值会较高而不正确的三元组得分函数的值会较低。

逻辑规则的表示:

本文借鉴了模糊逻辑的核心思想,将规则的真值看作其组成部件真值的组合。例如一个已经实例化的规则 (e_u, e_s,e_v) =(e_u, e_t,e_v) 的真值将由 (e_u, e_s,e_v) 和 (e_u, e_t,e_v) 的真值决定。根据(Guo et al. 2016)的工作,不同逻辑算子的真值计算如下:

由上三式可推出规则真值计算公式:

此规则计算公式是后面规则应用的一个重要依据。

未标记三元组标签预测:

这一步是整个方法的核心,目的在于对未标记三元组的标签进行预测,并将这些三元组添加到知识图谱中,再次进行知识图谱的分布式表示学习训练,修正向量结果。

标签预测的过程主要有两个目标:

目标一:预测的标签值要尽可能接近其真实的真值。由于预测的三元组都是未标记的,本文将由当前表示学习的向量结果按照得分函数计算出的结果当作其真实的真值。

目标二:预测的真值要符合对应逻辑规则的约束,即通过规则公式计算出的真值要大于一定的值。其中应用的规则计算公式如下:

其中 φ(e_u, e_s,e_v) 是当前向量表示计算的结果,s(e_u, e_t,e_v) 是要预测的真值。真值预测的训练目标如下:

通过对上式对求 s(x_u) 导等于 0 可得到 s(x_u) 的计算公式:

向量表示结果的修正:

将预测了标签的三元组添加到知识图谱中,和已由的三元组一起进行训练,来修正向量学习,优化的损失函数目标如下:

上式前半部分是对知识图谱中真实存在的三元组的约束,后半部分为对预测了标签的三元组的约束。

以上步骤在模型训练过程中迭代进行。

实验

链接预测:

从实验结果可以看出,规则的应用提升了表示学习的结果

EMNLP 2017

■ 链接 | https://www.paperweekly.site/papers/713

■ 解读 | 刘兵,东南大学在读博士,研究方向为自然语言处理

动机

近年来基于深度学习方法的远程监督模型取得了不错的效果,但是现有研究大多使用较浅的 CNN 模型,通常一个卷基层加一个全连接层,更深的 CNN 模型是否能够更好地解决以有噪声的标注数据为输入的远程监督模型没有被探索。

为了探索更深的 CNN 模型对远程监督模型的影响,本文设计了基于残差网络的深层 CNN 模型。实验结果表明,较深的 CNN 模型比传统方法中只使用一层卷积的简单 CNN 模型具有较大的提升。

方法

本方法的模型结构如下图所示:

输入层:每个单词使用词向量和位置向量联合表示;

卷基层:为了得到句子更高级的表示,采用多个卷基层堆叠在一起。为了解决训练时梯度消失的问题,在低层和高层的卷基层之间建立捷径连接;

池化层和 softmax 输出层。

实验

实验在远程监督常用的数据集 NYT-Freebase 上进行。实验结果表明:

本文提出的方法采用 9 个卷基层时达到最好的效果,这时不适用注意力机制和 piecewise pooling 性能也接近了使用注意力和 piecewise pooling 的方法。结果如下表所示。

不使用残差网络的深层 CNN 模型,当层数较深时效果变差。使用残差网络可以解决其无法传播的问题,效果改善很多;结果如下图所示。

EMNLP 2017

■ 链接 | https://www.paperweekly.site/papers/1960

■ 源码 | http://github.com/LiyuanLucasLiu/ReHession

■ 解读 | 刘兵,东南大学博士,研究方向为自然语言处理

动机

现有的关系抽取方法严重依赖于人工标注的数据,为了克服这个问题,本文提出基于异种信息源的标注开展关系抽取模型学习的方法,例如知识库、领域知识。

这种标注称作异源监督(heterogeneous supervision),其存在的问题是标注冲突问题,即对于同一个关系描述,不同来源的信息标注的结果不同。这种方法带来的挑战是如何从有噪声的标注中推理出正确的标签,以及利用标注推理结果训练模型。

例如下面的句子,知识库中如果存在 <Gofraid,born_in, Dal Riata> 这个三元组,则将下面的句子标注为 born_in 关系;而如果使用人工模板“* killed in*”进行匹配,则会将该句子标注为 kill_in 关系。

Gofraid(e1) died in989, said to be killed in Dal Riata(e2).

为了解决这个问题,本文提出使用表示学习的方法实现为关系抽取提供异源监督

创新点

本文首次提出使用表示学习的方法为关系抽取提供异源监督,这种使用表示学习得到的高质量的上下文表示是真实标签发现和关系抽取的基础。

方法

文章方法框架如下:

▲ 关系描述表示方法

1. 文本特征的向量表示。从文本上下文中抽取出文本特征(基于pattern得到),简单的one-hot方法会得到维度非常大的向量表示,且存在稀疏的问题。为了得到更好的泛化能力,本文采用表示学习的方法,将这些特征表示成低维的连续实值向量;

2. 关系描述的向量表示。在得到文本特征的表示之后,关系描述文本依据这些向量的表示生成关系描述的向量表示。这里采用对文本特征向量进行矩阵变换、非线性变换的方式实现;

3. 真实标签发现。由于关系描述文本存在多个可能冲突的标注,因此发现真实标签是一大挑战。此处将每个标注来源视为一个标注函数,这些标注函数均有其“擅长”的部分,即一个标注正确率高的语料子集。本方法将得到每种标注函数擅长的语料子集的表示,并以此计算标注函数相对于每个关系描述的可信度,最后综合各标注函数的标注结果和可信度,得到最终的标注结果;

4. 关系抽取模型训练。在推断了关系描述的真实标签后,将使用标注的语料训练关系抽取器。

值得指出的是,在本方法中,每个环节不是各自独立的,真实标签发现与关系抽取模型训练会相互影响,得到关系上下文整体最优的表示方法。

实验结果

本文使用 NYT 和 Wiki-KBP 两个数据集进行了实验,标注来源一方面是知识库,另一方面是人工构造的模板。每组数据集进行了包含 None 类型的关系抽取,和不包含 None 类型的关系分类。

结果如下表所示,可见本文的方法相比于其他方法,在两个数据集的四组实验中均有较明显的性能提升。

ACL 2017

■ 链接 | https://www.paperweekly.site/papers/1961

■ 源码 | https://github.com/stanfordnlp/cocoa

■ 解读 | 王旦龙,浙江大学硕士,研究方向为自然语言处理

本文研究了对称合作对话(symmetric collaborative dialogue)任务,任务中,两个代理有着各自的先验知识,并通过有策略的交流来达到最终的目标。本文还产生了一个 11k 大小的对话数据集

为了对结构化的知识和非结构化的对话文本进行建模,本文提出了一个神经网络模型,模型在对话过程中对知识库的向量表示进行动态地修改。

任务

在对称合作对话任务中,存在两个 agent,每个代理有其私有的知识库,知识库由一系列的项(属性和值)组成。两个代理中共享一个相同的项,两个代理的目标是通过对话找到这个相同的项。

数据集

本文建立了一个对称合作对话任务数据集,数据集中知识库对应的 schema  中包含 3000 个实体,7 种属性。数据集的统计信息如下所示:

模型

针对对称合作对话任务,本文提出了 DynoNet (Dynamic Knowledge GraphNetwork),模型结构如下所示:

Knowledge Graph 

图谱中包含三种节点:item 节点,attribute 节点,entity 节点。图谱根据对话中的信息进行相应的更新。

Graph Embedding 

t 时刻知识图谱中每个节点的向量表示为 V_t(v),向量表示中包含了以下来源的信息:代理私有知识库的信息,共享的对话中的信息,来自知识库中相邻节点的信息。

Node Features 

这个特征表示了知识库中的一些简单信息,如节点的度(degree),节点的类型。这个特征是一个 one-hot 编码。

Mention Vectors 

Mentions vector M_t(v) 表示在 t 时刻的对话中与节点 v 相关的上下文信息。对话的表示 u_t 由个 LSTM 络计算得到(后文会提到),为了区分 agent 自身产生的对话语句和另一个代理产生的对话语句,对话语句表示为:

Mentions Vector 通过以下公式进行更新:

Recursive Node Embeddings 

一个节点对应的向量表示也会受到相邻其他节点的影响:

其中 k 表示深度为 k 的节点,R 表示边对应的关系的向量表示。

最后节点的向量表示为一系列深度的值的连接结果。

本文中使用了:

Utterance Embedding 

对话的向量表示 u_t 由一个 LSTM 网络计算得到。

其中 A_t 为实体抽象函数,若输入为实体,则通过以下公式计算:

若不为实体,则为文本对应的向量表示进行 zero padding 的结果(保证长度一致)。

使用一个 LSTM 进行对话语句的生成:

输出包含字典中的词语以及知识库中的实体:

实验结果


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。