深度好奇研究组(DC-SQUAD)作者

神经符号系统:让机器善解人意

深度学习和符号智能的结合将是下一代自然语言理解的新范式,也是解决自然语言理解这个困难任务的唯一路径。

1. 通往语言理解之路

什么是理解 

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

那么究竟什么是自然语言理解呢?我们可以认为,理解是从自然语言到语义的映射,但是这个定义只是把问题转移到了「语义」的定义上,而关于语义,一直缺乏在形式和功能上都普遍适用的定义。事实上,语义往往需要被放在特定领域和特定语境下去考量,比如一句「你开心就好」,可以在不同的场景下传达鄙视和祝愿等多种意思。关于理解或者语义,我们不得不采取了下面两种耍赖式的定义来刻画它们的不同侧面:

  • 语义是特定语境下的语用,也就是说一句话的功效才是对它含义的最终表征;

  • 理解一个语言对象(如一段话),等价于可以回答关于这个对象的所有问题。

不幸的是,这两个定义都不具有完全的可操作性,也就是说,很难用这个定义来自动化地衡量对语义的映射是否准确,或者理解是否恰当。从某种意义上,语义理解在定义上就有点「难以捉摸」和不确定。

这种不确定也导致了人工智能中语义相关的系统在形式和功能上的多样性。比如说,在神经网络机器翻译(NMT)中,所有的语义表示都是通过固定长度的实数值向量来完成。在第一代 NMT 系统中用一个很长的向量来表示和总结待翻译的句子(确切地说是混合了语法和语义的信息),这个向量虽然不可解释,但确实是一个形式和功能上都完整的表示。(注:关于用向量表示语义一直有很多争论,正面的比如 G. Hinton 的 thought vector, 反面的比如 R. Mooney 的著名论断。)而在第二代的基于注意力机制的 NMT 系统中,这种表示完整语义的设计已被淘汰,取而代之的是一个实数向量序列来表述多个片段的语义,从而在取得翻译效果的大幅度进步的同时,也在语义表示层面上后撤了一大步。同时我们注意到,连续的不可解释的语义表示在另一些需要和有清晰的语义规范对象互动的时候则非常别扭,当我们去做基于知识库的问答或者基于罪行的描述做审判预测时,需要将语义表示和知识库或者规则系统做对接。这种时候,我们会选择符号化的语义表示,如逻辑表达式、图或者其他离散的数据结构。在本文接下来的讨论中,我们会假定我们期望的语义表示中至少包含可解释的离散结构。

理解之难

自然语言理解的困难也是有目共睹,所以当前自然语言理解通常是粗粒度、浅层或者是局部的。在常见的和理解相关的例子中,情感分析往往只是判断感情是正面还是负面,而命名实体识别等只是标出实体(比如人、组织、地名等)的名称,但即使是这样,准确率也往往在达到一定水平之后裹足不前。相比而言,机器翻译的快速发展反而是因为它对理解的绕道而行,采取了一种「不懂装懂」(pretend to understand)的模式。

那么自然语言理解为什么如此困难呢?我们认为,主要有以下四个原因:

1. 自然语言中含有复杂灵活的表达方式

我们经常用不同的语句表达同一个意思,这些不同体现在风格、语态、对缺省的选择等众多方面。比如,下面意思非常接近的两句话就采用了不同的语序和风格。

  1. 这里和购物中心的距离大约是两公里,如果坐出租车的话,路上不堵的情况下大概十分钟就到了

  2. 这儿离购物中心不远,打车也就十分钟,不堵车的话,其实也就两公里吧

2. 长距离的逻辑关联

自然语言形成的文本中,常常有长距离的逻辑关联。这种逻辑关联既包含来自语言结构的依存关系,也包含语义层面上的逻辑关系,而且二者互相渗透。以下面的句子为例,它包含了一个语义信息「这里距离购物中心两公里」,但是要做出这个判断,需要跨越句头和句尾中间的距离,依靠语义上的连续性来发现前后的逻辑关联。这种逻辑关联,往往很难靠类似循环神经网络(RNN)这样的简单序列处理模型来发现和利用。 

3. 对知识(包含常识的)的大量依赖

在文本的理解中,我们往往需要依赖大量的知识,这些知识既包括领域知识和常识这种长期知识,也包括在前文中建立的短期知识。我们通常说的「语境」也可以被认为是短期知识的一种。

  1. 张三偷了一台 iPhone X,一台 iPhone 6S 和一台 P20,其中两台苹果手机都已经转手

  2. 车库里有一辆 17 年的雅阁和一辆 09 年的凯美瑞,结果反而是旧车被偷了

在例 A 中,在理解「两台苹果手机都已经转手」中的具体指代时,我们需要利用以下的知识:

‣ iPhone X 是苹果手机

‣ iPhone 6S 是苹果手机

‣ P20 是华为手机。

而在例 B 中,在理解「旧车被偷了」时,我们不仅需要使用前半句中建立的

‣ 雅阁是 17 年的

‣ 凯美瑞是 09 年的

这两条知识,我们同时需要使用「09 年的车比 17 年的车更旧」这一常识。准确利用这些知识则需要对知识进行有效的获取、表示和调用。

4. 语义表示形式设计的困难 

语义表示的形式一直以来是语义解析这个问题上争论的核心之一。简单来说,「完备的」语义表示需要能够包含精确知识(如「张三杀了李四」),也需要承载语言中的模糊性、不确定性、程度和情感的极性等问题。同时我们期望语义的表示能够和其他知识(如语境)进行完美的对接以完成联合的表示和推理,比如一句「这水挺烫的」,在水的用途是饮用、泡面、泡脚等不同场景下就可能导致不同的语义(如极性和程度等)。同时,语义表示也需要考虑到实际的用途和技术边界,这种平衡本身就是非常困难和持续变化的。

我们可以看到,上述困难中有些是深度学习所擅长的,比如神经网络的方法就可以利用其向量式的「模糊表示」来处理复杂灵活的表达方式;有些是符号逻辑所擅长的,比如长距离的逻辑关联;而有些显然是需要二者合力的,比如对知识的依赖,就既需要神经网络参数来记住和运用各种琐细灵活的知识,又需要把一些可以被明晰表达的知识用符号性的方式来存储和调用。据此,我们认为,神经网络和符号智能的深度结合才是解决上述困难唯一正确的道路。对此我们将会在本文余下的部分做详尽的阐释。

2. 神经 + 符号

为什么神经 + 符号是正确的道路

正如上文中所阐释的,人类语言理解的过程、机制和形态,充满了符号性和连续性的双重特性,而在人工智能的实践中,我们也发现了二者各自的优势。在人工智能的历史上,这就是符号主义(Symbolism)和联结主义Connectionism)之争。我们先来解释下神经和符号的概念,以及各自的特点、优势和劣势。这些讨论将会在以下三个层面上展开:

  • 表示层 : 语言对象的语义表示,如词、句子乃至长文本的语义表示,也包含系统中和语义相关的中间状态

  • 运算层 :对不同类型和尺度的语言对象的操作和转化,如生成、映射、转换、分类、预测、查询、更新等

  • 知识层 :包括语言学知识、领域知识和常识这类的「长期知识」,也包括在理解过程中对文本建立的「短期知识」。

总体来说,

  • 神经网络用来处理连续的表示、操作以及知识,具有模糊、可学习、不确定、灵活、无需设计、不可解释的特性,不擅于处理图结构、变量、递归和指代等;

  • 符号系统用来处理离散的、结构性的表示、操作以及知识(包括图结构、变量、递归和指代等),具有清晰、精确、高执行效率、可解释的优点。

从系统设计的角度,神经网络正因为牺牲了微观和主动意义上的可解释性(如设定某个节点或者某个参数的含义),转向架构和机制上的设计,从而获得了系统描述能力(expressiveness)上的灵活性。从数学的角度,神经网络可以认为是用大量参数近似地描述了大量可能符号模式的分布,从而可以用基于梯度的方法 (gradient-based methods) 来训练,但是也失去了对特定符号模式的清晰刻画的能力。我们可以用图 1 来形象地说明神经网络和符号系统是如何去近似解决同一个真实的任务的。 

图 1:神经网络和符号智能任务处理上的比较

我们用下表来总结神经网络和符号智能在表示、运算和知识三个层面上的区别。

神经符号主义的历史

人工智能领域长期有两种思想占据主流地位:符号主义和联结主义。符号主义使用基于规则的符号做推理,致力于用计算机的符号操作来模拟逻辑思维和认知过程,实现人工智能联结主义强调智能起源于高度互联的简单机制,其偏向于模仿脑结构的研究,更侧重神经网络中的联结机制与学习算法。规则系统具有可解释性强和精确度高的特点,而神经网络灵活性高、泛化能力强、鲁棒性好,因此人工智能之父马文 · 明斯基(Marvin Minsky)总结到:「符号知识和联结主义各有优缺点,我们需要一个系统能够将它们的优点集成起来」[1]。自 1980 年,很多有远见的人工智能学者就试图将神经网络和符号智能结合,这个包含了无数不同尝试的方向被称为神经符号主义(Neural-symbolism)。

一些先驱者对神经符号主义进行了初步的探索。早在 1990 年,Towell 等人便提出了 KBANN(基于知识的人工神经网络)[2],采用已有的经验知识去构建人工神经网络的结构和网络中的连接权重。Garcez 等人在 1999 年提出了 CILP 系统 [3],他们将背景知识转化为命题逻辑,并基于此构建前向人工神经网络,并从例子中归纳新的知识去更新已有的知识。Garcez 等人在 2001 年提出了一种在训练好的神经网络中抽取逻辑知识的方法 [4],可以增强神经网络的可解释性。Richardson 等人在 2006 年对一阶符号逻辑概率图模型结合的方式进行了探索,提出了马尔科夫逻辑网络 [5],该网络是一个一阶符号逻辑知识库,其中每一个公式都有对应的权重。受限于当时机器学习技术和自然语言处理技术的制约,这些探索并不能充分利用神经网络的优势,因而没有取得更近一步的成功。

随着层数更深、更多样、表达能力更强的深度神经网络的崛起,越来越多的学者加入了对神经网络和符号智能进行结合的探索中。Jaeger 提出了一种用「Conceptors」控制循环神经网络的方式 [6],使得整个网络具有几何特性,并且可以和布尔逻辑进行有效结合。Graves 等人提出了神经图灵机(Neural Turing Machines)[7],Sukhbaatar 等人提出了记忆网络 [8],他们都引入了记忆机制来解决对推理过程中间结果的存储问题。上述方法对神经符号系统进行了进一步的探索,赋予了神经网络符号化的结构,对后续的研究有着重要的启发意义。

近年来,一些研究者致力于借助神经网络来实现符号推理。Neelakantan 等人提出了「Neural Programmer」[9],基于自然语言理解实现数据库查询。Liang 等人进一步引入了符号化的记忆机制 [10],帮助神经网络更好地完成复杂推理。Mou 等人用神经网络和符号操作共同决策,提出了解决自然语言推理查询的新途径 [11]。

还有一些工作希望能用符号逻辑帮助神经网络训练、学习和推理。Hu 等人提出了 Teacher-Student 网络 [12],让神经网络(Student)拟合符号规则(Teacher)的结果,使得神经网络在规则的指导下训练学习。Goyal 等人采用先验知识改进了字符级的循环神经网络用于自然语言生成问题(NLG)[13]。Luo 等人探索了在不同层面上,正则表达式规则和神经网络的结合手段,希望用正则表达式规则提供的丰富信息提升神经网络的表现 [14]。这些方法本质上是用符号知识给神经网络提供更多的信息,神经网络和符号智能的结合较为粗糙。同时,这些将神经网络和符号智能结合的尝试往往只是针对某个非常限定的任务,而且往往只有空间上对某个层面的处理。

3. 我们的想法和尝试

通向神经系统和符号智能的融合

我们认为神经网络和符号智能融合的理想形态,应该遵循以下的原则 / 方向:

  • 原则 - I:形成神经和符号的连接

简言之,我们需要建立神经和符号交流的界面、路径和机制。二者的交流主要有两种,1)互相控制和调用,2)互为输入和输出。对于 1),一个例子是 Neural Programmer [9], 它用连续信号来调用和驱动符号运算,而二者的界面就是符号预算的向量索引。对于 2),我们期望神经运算的输出可以成为符号运算的输入,而同时符号运算的输出(在「嵌入」之后)也可以成为神经运算的输入(如图 2),这形成了表示层 - 运算层的神经 - 符号闭环。举例说明,对于下面的例句

三郎仁真与泽旺、洛尔伊在大学旁边的快捷酒店住了三个晚上

神经网络利用当前的状态(向量表示)预测「三郎仁真」是人名,这个符号化的信息可以作为下面一条规则

RULE-9527: 在同一个 list 中的语言对象应该有同样的类型

的输入,从而预测「泽旺」也是人名。而这个来自符号运算的输出,在嵌入之后,会和其他的原始输入一起,再次进入神经网络,而其进入的形式可以是作为建议(从而需要神经网络的进一步综合判定),也可以是作为确定的结论。

 

图 2:神经(连续)信号和符号信号的闭环

  • 原则 - II:形成神经和符号间的并列和对应

神经符号系统可以在表示、运算、知识三个层面上,形成神经和符号间的并列和对应。这里,并列是指同时存在功能重合的神经和符号两种状态,这形成了某种程度的冗余,可以被系统择优使用或者同时使用(见原则 - III);而对应则意味着神经和符号两种状态之间存在设计的信息交互,这种交互可以帮助一种形态转换成另一种形态,也可以同时促进两种形态的共同训练(co-training)。(注:这里的 co-training 是从 multi-view learning 的角度来鼓励两个或更多通路的一致性,而非强调在其半监督学习场景下的应用。)这三个层面上的并列和对应可以有多种方式,下面仅举两例。我们在 2017 年提出的神经 - 符号双通路的问题解析模型 [11](见图 3-a):对一个问题(如「北京奥运会是哪一年举行的?」),系统会有包含解析和运算的神经通路,也会有一个近乎对称的符号通路。两条通路殊途同归,同时会有密集的信息交换。神经通路可以高效地利用后向传播算法学习,而符号通路则通过符号化的总结而具有高执行效率和很好的泛化性能。通过在训练中鼓励两条通路的一致性,我们可以获得比单一通路更好的学习效率、执行效率以及泛化性能。我们最新的一项技术(见下文中的 Nerual Rule Engine),则可以部分地完成知识层上的转换(见图 3-b),从而利用神经网络天然的泛化能力克服规则系统的脆弱性。图 3-b 也描述了上述转换的逆过程,即神经网络中的参数知识被总结成为规则,这个过程通常被称为规则抽取(rule extraction)。

图 3:神经和符号间的并列和对应

  • 原则 - III:完备的中央调控机制去选择、控制和规划

为了有效地训练和执行,神经符号系统需要一个中央控制系统在表示、运算、知识三个层面上做选择、控制和规划(见图 4)。如果存在表示、运算甚至知识层面上的并列(见原则 - II),那么在执行阶段,中控系统会在某个特定时刻根据情况在这三个层面上选择使用神经、符号还是它们的组合。比如说,在阅读和理解某个句子的过程中,中控系统在某时刻决定探测句子余下的部分是否含有并列结构。这个探测的决定本身是符号性的,但是这个探测的行为本身可以是由一个神经网络模块来完成的。同样,分管训练的更长期的中控系统会规划神经通路和符号通路的交流的具体节奏,控制转换和促进的机制等。接着用上面的例子,这个探测并列结构的神经网络模块可能原先来源于一个简单的规则,但是在使用过程中不断地吸收来自任务的监督信号,最终被中控系统确定取代对应的规则。很显然,原则 - III 的意义来源于原则 - I 和 II 带来的神经和符号复杂交融的可能,而原则 - III 的实现也需要以原则 - I 和 II 为基础。

图 4:对神经网络系统的调控

这三个方向上的融合,既相对独立,又有很强的关联,同时可以以多种方式嵌套使用,给出了无限的架构和机制设计上的可能性。可以认为,一个相对「完备」的神经符号系统应该综合了这三个方向,从而可以将神经系统和符号系统各自的优点做深层次融合,使得文本理解达到前所未有的深度。虽然在特定任务的神经符号系统上,我们往往只会实现神经符号系统的特定方面,这些可以从深度好奇最近的工作为例来说明。

深度好奇的工作

深度好奇正是遵循以上的融合神经网络和符号智能的原则,针对不同类型的自然语言理解任务,设计了一系列的模型。我们介绍下面三个工作,1)神经规则引擎,2)变焦神经网络,和 3)神经实体推理, 来作为其中的代表。

  • 神经规则引擎(Neural Rule Engine

规则作为人类知识的具体体现,是一种简单但是极为可靠的快速构建工业应用的手段,也是符号性知识的通用形式。规则虽然极其精确,但是其僵硬脆弱的特点又经常被诟病,比如规则可以查找「骑自行车上班」,但是语义相似的「骑小黄车上班」却无法匹配,传统的规则需要大量扩充才能涵盖这些在语义上相近的表达。我们提出的神经规则引擎(NRE),将符号性的规则知识转化为神经网络的知识形式,并辅以对应的运算。NRE 吸收了神经网络灵活性高、泛化能力强、鲁棒性好的优势,同时也维持了规则的精确性和可解释性。它可以从规则中学习知识,同时又通过神经网络来泛化知识,与人类学习知识的方式有异曲同工之妙。神经规则引擎由基础的操作和解析器来表示规则。操作和解析器根据需求既可以选用神经网络也采取符号算法来实现。具体来说,神经规则引擎先对规则用解析器进行解析,生成层级操作序列,之后依照顺序来组装模块,最后将组装好的规则应用于具体的事例,判断是否符合规则(图 5 给出了一个简略的示意图)。实验表明,借助神经网络的优势,神经规则引擎对符号知识进行了学习和扩展,可以大幅提升规则的召回率,同时还能维持较高的精确率使规则本身的特性得以保留。神经规则引擎不仅是一种新的神经符号学习范式,同时也为现有的工业应用带来了一种高效的改进,它可以被用来对已有的规则系统进行升级,或者在训练数据不大的情况下快速开发出神经规则系统 (论文见 arxiv.org/abs/1808.10326)。 

图 5:神经规则引擎的示意图

  • 变焦神经网络(Zooming-Net)

段落、列表等文本结构蕴涵着信息输出者的表达策略,对于准确抓取、理解文本内容有着重要的意义。这种文本结构有符号化的骨架,但是又需要和局部的语义有深度的耦合。我们提出了变焦神经网络(Zooming-Net)来完成这种偏符号性的文本结构和神经性的局部语义表示的结合。Zooming-Net 可以利用 Policy-Net 灵活地选择在特定文本粒度(字、句、段)上执行读取、更新、跳转、预测等一系列操作,这种独特的变焦处理方式高度类似人类阅读过程,利用文本结构,其在信息稀疏部分进行泛读,确保不引入过多噪声,在信息密集部分进行精读,确保有用信息不被丢失。我们引入了符号化推理模块对模型的输出加以解释,并进行定向的干预。变焦神经网络由层次化编码器、变焦控制器和符号化推理模块三个部分完成对文本的处理并以序列标注的形式找出文本中的关键片段(图 6 给出了一个简略的示意图)。具体地说,在每个时刻,层次化编码器配合变焦控制器有策略地选择建立层次化特征,读取特定层级的信息,结合符号化推理模块给出的临时性离散信息预测出一定长度的标签序列。在读取整篇文本之后,将各时刻输出的标签序列进行组装,并取出对应的关键信息片段。实验表明,借助句段结构信息,变焦神经网络很好地结合了泛读与精读过程,其可以更好地对长时依赖特征进行建模,并引入大跨度动作提高效率,在关键信息的抽取任务上,f1 值较经典序列标注模型(biLSTM+CRF)有 10% 以上的提升,预测行为频次减少 50% 以上。变焦神经网络非常适合应用在各类长文本处理任务当中,其使用的编解码方式也可结合其他技术推广到各类自然语言处理任务过程中 (论文见 arxiv.org/abs/1810.02114)。

图 6:变焦神经网络的基本原理

  • 神经实体推理(Neural Entity Reasoner)

命名实体识别(Named Entity Recognition)被认为文本理解的基础和底层任务,因为它的职能就是发现和标识文本中的人名、地名等。传统的 NER 方法依赖局部和底层的语言特征,但是当出现有歧义的说法或者少见的人名时,这类方法往往会遇到困难。而人在这种情况下,往往可以通过纵览全文,打通和融合局部的知识,来摆脱这种困境。我们正是受到人的思维模型的启发,为 NER 这个看似低级的任务引入了高级的「推理」机制,将符号化的命名实体信息「取之于网络,用之于网络」,从而可以在深度学习的框架内融合同一文本中的命名实体的决策。命名实体神经推理机(NE-Reasoner)整体上是一个多层的架构,每一层都独立完成一次 NER(图 7 给出了一个简略的示意图)。每层的 NER 结果,会通过一个符号化的「缓存」存储起来,作为下一层 NER 的参考:这种参考是通过一个交互式的池化神经网络来实现,本质上是一个基于多个事实的推理模型。由于这样的设计,在做每个局部的决策时,模型都可以「看见」并参考别处相关决策,从而做出更加明智的决定。实验表明,通过在神经网络的推理过程中,引入符号化的缓存记忆,以及在缓存基础上的多事实全局推理,可以显著提高命名实体识别准确率,尤其是在传统方法容易犯错的歧义和少见人名上有更好的表现。命名实体神经推理机作为神经符号推理机在 NER 任务上应用的一个实例,不仅打开了之前神经网络推理决策的黑箱,使得推理过程中的关键步骤对人类可见和可理解,而且给予了人工进一步干预推理过程的可能性及有效的接口 (论文见 arxiv.org/abs/1810.00347)。 

图 7:神经实体推理(NE-Reasoner)工作原理图

4. 新的框架: 面向对象的神经规划(OONP)

不同于之前介绍的三项相对专门的技术,面向对象的神经规划(Object-oriented Neural Programing, OONP)是一个用于复杂语言对象理解的新框架。作为神经符号系统的实例,OONP 不但有大量神经符号主义的具体实现,而且也为神经网络和符号的更多和更充分的融合留下充分的空间。

OONP 借用面向对象编程(OOP)的思想,利用解析出来的实体组成对象和对象间关系(如图 8),构成结构清晰的本体图。每个对象(object)都是一个类(class)的实例化,类的概念规定了其具有的内部属性、外部关系和可执行的操作,以及与其他对象的关系类型。

图 8:OONP 的解析示意图,左侧的每一个小框代表了一个对象(object),框的颜色标识了类(class)


如图 9 所示,OONP 由三部分组成,分别是主控模块阅读器(Reader)、表征文档的行间记忆(Inline Memory)模块、以及总结对之前文本的理解的携带记忆(Carry-on Memory)模块。而携带记忆(Carry-on Memory)模块又可分为表征图结构的对象记忆(Object Memory)、存储连续状态的矩阵记忆 (Matrix Memory) 和记录离散动作的动作历史 (Action History) 三部分。

图 9:OONP 的整体架构

在解析文本时,OONP 模仿了人理解文本时一边阅读一边理解的方式。OONP 框架将解析过程转化为决策序列:OONP 阅读器按照文本顺序读文档,同时不断丰富本体图结构来增进对文档的理解,该图结构被决策过程的操作序列创建和更新,并在解析的结尾作为最终的文本语义表示。对于某个待解析的文档,OONP 首先将预处理之后的文档放入行间记忆模块,阅读器顺序读取行间记忆中的符号表示和连续表示,结合携带记忆,产生各种操作来增加和丰富本体图,更新携带记忆模块。这些操作包含可微分操作(作用于对象记忆的连续部分和矩阵记忆)和离散操作(作用于对象记忆和行间记忆的符号部分)。这些连续和离散操作互相依赖,构成了彼此的输入,共同形成了图 10 中复杂而灵活的信息流。 

图 10:阅读器(Reader)的架构细节以及信息流

在 OONP 框架内,连续和离散的表示、运算、知识相互紧密结合,形成信息闭环。这使得 OONP 可以灵活地将各种先验知识用不同形式加入到行间记忆和策略网络。具体来说:

  • 整体来说,OONP 解析的决策过程本身就是从神经网络到离散结构(本体图)映射的过程,而这个离散结构又成为神经网络控制的决策过程的输入,从而形成了大的神经 - 符号的信息闭环。而在 OONP 的具体模块上,这种闭环还大量存在;

  • 在行间记忆和对象记忆里,存在大量离散和连续并列的表示,比如说,对象记忆中的图状离散结构上会附有不同类型的连续向量表示。同时在 OONP 的运算层,每个动作的决定都需要融合来自规则引擎以及神经网络的输出。比如会有独立的规则引擎来分析动作历史,发掘大范围的动作的模式,从而给出下一步的决策建议,而这些建议会和其他来自神经运算的结果一起汇入策略网络的输入;

  • 在 OONP 的框架内,允许符号知识(如规则)转换成为功能接近的神经模块,而这些神经模块可以作为 OONP 组件进行联合训练。

5. 从技术到产品

以神经符号系统为核心技术思想,深度好奇构建了以 OONP 为核心技术框架的包括多个技术模块的自然语言理解技术平台。以此为基础,我们设计制造了公安案情结构化、智能视频审核、法律文书解析、语音视频调度等一系列产品(见图 11)。 

图 11:深度好奇的技术架构

这里我们以公安案情结构化和智能视频审核为例:

  • 公安案情结构化:这个系统对公安侦破过程中的文本信息进行解析,构建关于案情的人 - 事 - 物 - 时 - 地的知识图谱(见图 12),让机器「懂」案情,从而为刑侦人员提供串并案、犯罪预测、信息比对及融合等决策辅助。公安案情结构化是 OONP 的一个成功应用,充分发挥了神经符号系统在解析复杂文本上的优势。公安案情结构化任务的复杂性体现在多个方面,其相关文本形式多样,叙述逻辑繁复曲折,而且最终的知识表示是包含多事件、多实体、多标签以及时空关系的庞杂图谱。为了将文本中特定的叙述习惯等知识作为规则嵌入 OONP 并获得泛化能力,我们利用了 Neural Rule Engine 来处理理解过程中的特定子任务,取得了较小数据量下的显著效果。 

图 12:公安案情结构化示意图

  • 智能视频审核:该场景是对借款人进行视频面试,从而基于交互过程进行信息审核和欺诈检测(见图 13)。深度好奇的智能视频审核系统依靠对语音对话的理解来构建对话系统,在沟通过程中根据用户信息判定高欺诈风险的信息点,并进行主动的问询。例如,当借款人提供的职业信息是「养生会所的工作人员」时,该系统就会追问「你们公司的客流量有多大」、「你们公司的主要设备是什么」这类的问题。完整的对话过程将会被用来评估及判定借款人骗贷和逃贷等风险。

图 13:智能视频审核示意图

6. 总结

自然语言理解作为人工智能的核心任务,经历了从符号智能到统计学习、再到深度学习的发展和演化。深度学习虽然风头正劲,却也暴露出在解决语言理解问题中的诸多缺陷。而今我们相信,深度学习和符号智能的结合将是下一代自然语言理解的新范式,也是解决自然语言理解这个困难任务的唯一路径。神经符号系统是深刻而实用的技术方向,深度好奇也在这个方向上将相应技术做了成功的产业应用。相信在学界和产业界的共同努力下,我们终究可以让机器善解人意。

参考文献:

[1] Minsky, Marvin L. "Logical versus analogical or symbolic versus connectionist or neat versus scruffy." AI magazine 12.2 (1991): 34.

[2] Towell, Geoffrey G., Jude W. Shavlik, and Michiel O. Noordewier. "Refinement of approximate domain theories by knowledge-based neural networks." Proceedings of the eighth National conference on Artificial intelligence. Vol. 861866. 1990.

[3] Garcez, Artur S. Avila, and Gerson Zaverucha. "The connectionist inductive learning and logic programming system." Applied Intelligence 11.1 (1999): 59-77.

[4] Garcez, AS d'Avila, Krysia Broda, and Dov M. Gabbay."Symbolic knowledge extraction from trained neural networks: A sound approach." Artificial Intelligence 125.1-2 (2001): 155-207.

[5] Richardson, Matthew, and Pedro Domingos. "Markov logic networks." Machine learning 62.1-2 (2006): 107-136.

[6] Jaeger, Herbert. "Controlling recurrent neural networks by conceptors." arXiv preprint arXiv:1403.3369 (2014).

[7] Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural turing machines." arXiv preprint arXiv:1410.5401 (2014).

[8] Sukhbaatar, Sainbayar, Jason Weston, and Rob Fergus. "End-to-end memory networks." Advances in neural information processing systems. 2015.

[9] Neelakantan, Arvind, et al. "Learning a natural language interface with neural programmer." arXiv preprint arXiv:1611.08945 (2016).

[10] Liang, Chen, et al. "Neural symbolic machines: Learning semantic parsers on freebase with weak supervision." arXiv preprint arXiv:1611.00020 (2016).

[11] Mou, Lili, et al. "Coupling distributed and symbolic execution for natural language queries." arXiv preprint arXiv:1612.02741 (2016).

[12] Hu, Zhiting, et al. "Harnessing Deep Neural Networks with Logic Rules." Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Vol. 1. 2016.

[13] Goyal, Raghav, Marc Dymetman, and Eric Gaussier. "Natural language generation through character-based rnns with finite-state prior knowledge." Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers. 2016.

[14] Luo, Bingfeng, et al. "Marrying up Regular Expressions with Neural Networks: A Case Study for Spoken Language Understanding." arXiv preprint arXiv:1805.05588 (2018).

理论深度学习符号主义NLP
2
相关数据
马文·明斯基人物

马文·李·明斯基,生于美国纽约州纽约市,美国科学家,专长于认知科学与人工智能领域,麻省理工学院人工智能实验室的创始人之一,著有几部人工智能和哲学方面的作品。1969年,因为在人工智能领域的贡献,获得图灵奖。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

神经图灵机技术

神经图灵机(NTMs)是Alex Graves等人发表的一种递归神经网络模型。NTM将神经网络的模糊模式匹配能力与可编程计算机的算法能力相结合。一个NTM有一个神经网络控制器连接到外部存储器资源,通过注意机制与外部存储器资源进行交互。 记忆交互是端对端可区分的,可以使用梯度下降对其进行优化。 具有长期短期记忆(LSTM)网络控制器的NTM可以从输入和输出示例推断简单的算法,例如复制,排序和关联回忆。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

半监督学习技术

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

命题逻辑技术

在逻辑和数学里,命题演算(或称句子演算)是一个形式系统,有着可以由以逻辑运算符结合原子命题来构成代表“命题”的公式,以及允许某些公式建构成“定理”的一套形式“证明规则”。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

规则引擎技术

与基于规则的专家系统(rule-based expert system)涵义类似,通常是依据设定好的规则作出决策的引擎。在计算机科学中,基于规则的系统被用作存储和操纵知识的一种方式,以有用的方式解释信息, 它们经常用于人工智能应用和研究。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

联结主义技术

联结主义是统合了认知心理学、人工智能和心理哲学领域的一种理论。联结主义建立了心理或行为现象模型的显现模型—单纯元件的互相连结网络。联结主义有许多不同的形式,但最常见的形式利用了神经网络模型。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

命名实体识别技术

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

长短期记忆网络技术

长短期记忆(Long Short-Term Memory) 是具有长期记忆能力的一种时间递归神经网络(Recurrent Neural Network)。 其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成。它在1997年被提出用于解决传统RNN(Recurrent Neural Network) 的随时间反向传播中权重消失的问题(vanishing gradient problem over backpropagation-through-time),重要组成部分包括Forget Gate, Input Gate, 和 Output Gate, 分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出。Gated Recurrent Unit 是 LSTM 众多版本中典型的一个。因为它具有记忆性的功能,LSTM经常被用在具有时间序列特性的数据和场景中。

概率图模型技术

在概率论和统计学中,概率图模型(probabilistic graphical model,PGM) ,简称图模型(graphical model,GM),是指一种用图结构来描述多元随机 变量之间条件独立关系的概率模型

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

符号人工智能技术

符号人工智能是指人工智能研究中所有的基于高阶“符号”(人类可读)表示的问题、逻辑和搜索的方法的集合。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

暂无评论
暂无评论~