当前位置: 首页 > 科技观察

DocumentParsingFramework-Object-OrientedNeuralPlanning

时间:2023-03-12 10:19:52 科技观察

DeeplyCurious(DeeplyCurious.ai)最近在arXiv上发表了一篇论文,提出了一种基于Neural-symbolic:Object-orientedNeuralProgramming(OONP)的领域特定文本解析框架。论文题目:Object-OrientedNeuralProgrammingforDocumentUnderstanding论文链接:https://arxiv.org/pdf/1709.08853.pdf该框架借鉴了面向对象编程(OOP)的思想,利用解析后的实体构成对象与对象之间的关系(如图1所示),形成一个结构清晰的本体图。每个对象(object)都是一个类(class)的实例化,类的概念规定了它的内部属性、外部关系和可执行的操作,以及与其他对象的关系类型。如图1所示,左边是叙述文字,右边是OONP解析生成的本体图。图例包含三种类型的对象,分别是事件、人物和项目。person类具有姓名、性别、年龄等属性,与嫌疑人、被害人等事件对象有外部联系,代表人物角色;物品类具有名称、数量、价值等属性,并与事件对象有外部联系,代表物品的作用;事件类具有事件类型、时间和位置等属性。图1OONP解析任务示意图接下来我们对OONP框架进行拆解,介绍其主要功能模块。如图2所示,OONP由三部分组成,分别是主控模块Reader、表征文档的InlineMemory模块和总结前文理解的Carry-onMemory模块。)模块。图2.OONP解析的基本框架。InlineMemory模块主要存储保留原始文档时间顺序的低级表示。具体来说,行间记忆是由按原文档顺序排列的存储单元组成的数组,每个单元对应文档的基本语言单元(如词或词),具有可微部分和离散部分。这两个部分可以方便地存储各种类型的文本相关信息,从简单的WordEmbedding、递归神经网络(RNN)输出等连续表示,到词性分类结果、句法信息以及来自特定规则的离散规则。表达。这可以来自第三方程序,也可以来自OONP自己编写的。Carry-onMemory模块可分为三个部分:ObjectMemory、MatrixMemory和ActionHistory。对象内存存储对象的具体表示。对象的内部属性可以有不同的形式,比如字段或者类别,也对应不同的形成方式:字段一般是从原文复制粘贴,类别是通过分类模块得到的。同时,每个对象也有一个动态可调的可微表示(objectembedding)作为其与其他模块交互的接口。OONP每次读取文本中一个对象的描述,都会更新对象内存中对象的相关部分信息。Reader(阅读器)是OONP解析器的核心模块,管理着整个决策序列中所有连续和离散的操作。它由多个符号处理器和一个神经网络控制机制组成。如图3所示,阅读器有一个神经网络控制器(NeuralNetController)和多个符号处理器(图3中的黑色模块)。类似于神经图灵机中控制器的设计,神经网络控制器配备了多个可微分的读头和写头,用于读取行间存储器和承载存储器和符号处理设备的输出但是。与神经图灵机中的控制器不同,控制器的子模块策略网络(Policy-net)生成一个离散的操作(action)序列,其中一部分操作序列会更新本体结构和相关对象记忆。各种符号处理器用于处理来自对象内存、行间内存和动作历史的符号信息,用于规则约束、推理等,这些符号处理器的部分结果将再次作为神经网络控制器的输入。图3.读者构成和信息流。OONP解析器中基于神经网络的阅读器按文本顺序阅读文档,同时不断丰富本体结构,提高对文档的理解。对于一个待解析的文档,OONP首先将预处理后的文档放入行间记忆模块,读者依次读取行间记忆中的符号表示和连续表示,结合携带记忆生成各种操作,增加和丰富Ontologymap,更新了携带记忆模块。这些操作包括可微操作(作用于对象内存和矩阵内存的连续部分)和离散操作(作用于对象内存和行间内存的符号部分)。这些连续和离散的操作相互依存,相互构成输入,共同构成了图3中复杂灵活的信息流。下面重点解释一下OONP的离散操作。阅读器策略网络输出的离散操作序列是构成本体结构的主要操作。该操作集包括三个类别,依次为“Add-Assign”、“SelectUpdateAttribute”、“UpdateContent”。当然,在“add-assign”操作之后,可能没有后续操作(空操作)。“Add-Assignment”可以转化为多分类问题。如果提到的内容是第一次出现,则添加“添加”。如果它已经出现,它只是再次被提及,然后“分配”。确切的决定取决于读者在创建的临时对象(在公式中)和现有对象之间的相似性。具体公式如下:公式第***行表示临时对象与“新增”类c的相似度,第二行表示临时对象与c类第k个对象的相似度,以及第三行表示与空操作Spend的“相似度”。图4是解析过程中某一时刻上述匹配过程的直观描述。图4图4.在“Add-Assign”操作中,临时对象与已有对象的相似度度量,虚线表示“Add”,实线表示“Assign”。通过以上三个操作,OONP解析器可以对复杂文档进行结构化解析。下图5给出一个解析短文本的例子:OONP解析器经过一系列动作,逐渐形成一个由六个对象和六个链接组成的本体结构。图5图5.Schematicdiagramofthedocumentparsingpr由OONP解析器处理。假设在预处理阶段,已经提取了汽车的描述信息。作者在三个数据集上试验了模型的性能。以警察报告数据为例,OONP使用了图6中列出的动作。图6.警察报告数据中使用的动作图7比较了OONP的不同实现:论文使用了四个指标来衡量模型的性能,AssignAcc表示预测对象“新增赋值”的正确率,TypeAcc表示预测对象的属性OntAcc表示单个样本解析的本体结构与标签100%重叠的正确率,而OntAcc-95表示单个样本解析出的本体结构与标签正确重合率为95%。简单的OONP模型与Bi-LSTM基准模型相比有很大的改进,结构信息丰富的OONP(structured)有明显的改进。在OONP(structured)的基础上,使用强化学习来确定分类时机的模型OONP(RL)进一步提升了效果。图7.多个OONP模型的比较综上所述,OONP解析框架具有以下特点:ending作为最终文本的语义表示。OONP框架将解析过程转化为一个决策序列:根据文本阅读顺序做出各种离散动作,形成一个能够表示阅读文本的本体图,模仿人类理解文本的认知过程。OONP框架提供了神经符号主义的一个例子:在OONP框架内,连续的信号、表示和操作与离散的信号、表示和操作紧密结合,形成信息的闭环。这使得OONP可以灵活地将各种先验知识以不同的形式添加到行间记忆和策略网络中。OONP框架利用监督学习和强化学习,以及两者的各种混合状态,适应不同强度和形式的监督信号来训练参数。心(id:almosthuman2014)》】点此阅读该作者更多好文