首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

立法到逻辑的自动编码器 

申请/专利权人:联邦科学和工业研究组织

申请日:2017-10-26

公开(公告)日:2023-04-28

公开(公告)号:CN110088754B

主分类号:G06F40/10

分类号:G06F40/10;G06F40/20;G06N5/02

优先权:["20161026 AU 2016904359"]

专利状态码:有效-授权

法律状态:2023.04.28#授权;2019.08.27#实质审查的生效;2019.08.02#公开

摘要:本公开涉及对法律文本的计算上高效的处理。语言处理器从文本块中提取与法律文本中的术语对应并且在用于不同文本块的逻辑表达式之间共享的原子文字。映射器将文本块映射到原子文字的逻辑表达式,并且逻辑引擎基于原子文字的一个或多个指派来评估逻辑表达式。用户界面包括与原子文字相关联的用户输入元素。在用户与用户输入元素交互时,创建与用户输入元素相关联的原子文字的指派,并且调用逻辑引擎以基于所创建的指派来评估逻辑表达式。用户界面基于评估而改变,从而以剩余原子文字的形式提供法律建议。

主权项:1.一种用于自动化法律建议的在线web服务器,在线web服务器包括:法律文本数据输入端,用于接收法律文本并将法律文本拆分成多个文本块;语言处理器,对所述多个文本块中的每一个文本块执行自然语言处理,以提取与法律文本中的术语对应并在不同的文本块的逻辑表达式之间共享的原子文字;映射器,将文本块映射到原子文字的逻辑表达式;逻辑引擎,用于基于原子文字的一个或多个指派来评估逻辑表达式;用户界面模块,用于:创建包括多个用户输入元素的用户界面,所述多个用户输入元素中的每一个用户输入元素与原子文字之一相关联,监视用户与用户界面的交互,以检测用户与所述多个用户输入元素之一的交互,在检测到用户与所述多个用户输入元素之一的交互后,创建与所述多个用户输入元素之一相关联的原子文字的指派,并调用逻辑引擎以基于所创建的指派来评估逻辑表达式,以及基于评估逻辑表达式来改变用户界面,从而以剩余的原子文字的形式提供法律建议;以及网络连接器,用于通过从客户端设备接收用户输入来与客户端设备通信,并提供要在客户端设备上显示的用户界面,其中语言处理器还被配置为确定所述文本块中的每个文本块的解析树,并且映射器被配置为基于解析树将文本块映射到逻辑表达式。

全文数据:立法到逻辑的自动编码器对相关申请的交叉引用本申请要求于2016年10月26日提交的澳大利亚临时专利申请No2016904359的优先权,其内容通过引用并入本文。技术领域本公开涉及通过专用计算机系统和方法对法律文本进行计算高效的处理。背景技术由于大量相互关联的部分,法律文本,诸如包括法案act和法规的立法文本,常常难以由计算机分析。这使得对整个法案甚至是法案和法规的集合的计算机化分析耗时且不准确。对于较大的法律文本集合,当使用现有方法时,常见计算机系统的处理能力和存储器是不够的。对本说明书中包括的文件、法案、材料、设备、物品等的任何讨论都不应被视为承认任何或所有这些事项构成现有技术基础的一部分或者是在本申请的每个权利要求的优先权日之前存在的与本公开相关的领域的众所周知的常识。在整个说明书中,词语“包括”或者诸如“包括”或“包含”的变体将被理解为暗示包括所述元素、整数或步骤,或者元素、整数或步骤的组,但是不排除任何其它元素、整数或步骤,或者元素、整数或步骤组。发明内容一种用于自动化法律建议的在线web服务器,包括:法律文本数据输入端,用于接收法律文本并将法律文本拆分成多个文本块;语言处理器,对多个文本块中的每一个执行自然语言处理,以提取与法律文本中的术语对应的原子文字;映射器,将文本块映射到原子文字的逻辑表达式;逻辑引擎,用于基于原子文字的一个或多个指派来评估逻辑表达式;用户界面模块,用于创建包括多个用户输入元素的用户界面,多个用户输入元素中的每一个与原子文字之一相关联,监视用户与用户界面的交互,以检测用户与多个用户输入元素之一的交互,在检测到用户与多个用户输入元素之一的交互后,创建与多个用户输入元素中所述之一相关联的原子文字的指派,并调用逻辑引擎以基于所创建的指派来评估逻辑表达式,以及基于评估逻辑表达式来改变用户界面,从而以剩余的原子文字的形式提供法律建议;以及网络连接器,用于通过从客户端设备接收用户输入来与客户端设备通信,并提供要在客户端设备上显示的用户界面。有利的是,文本块到逻辑表达式的映射允许自动推理在法律文本中由自然语言表示的规则。用户界面允许用户通过提供输入来方便地支持推理,该输入使得创建对逻辑表达式中的文字的指派,从而交互地浏览逻辑规则。另一个优点是,文本块的语言处理、映射和评估逻辑的过程在计算上是高效的,这允许处理大的法律文本,否则这些法律文本在现有的计算机硬件上将太耗时或根本不可能。例如,可以在几秒钟内处理若干不同的法案和法规并将其映射到逻辑表达式,并且用户输入与用户界面更新之间的延迟可以低于一秒。语言处理器还可以被配置为确定每个文本块的解析树,并且映射器可以被配置为基于解析树将文本块映射到逻辑表达式。优点在于,解析树高效地表示文本块的语法结构,然后映射器可以使用该语法结构来高效且稳健地将文本块映射到法律legal表达式。映射器还可以被配置为基于启发法将文本块映射到逻辑表达式。映射器还可以被配置为在那个文本块中搜索重写连词“除非”并且在发现位置处的那个文本块中找到重写连词后,将发现位置处的文本块拆分成发现位置之前更早的第一文本子块和发现位置之后的第二文本子块。由于重写连词在法律文本中频繁出现,因此搜索重写连词的优点在于解决由法律文本编码的大部分规则。映射器还可以被配置为将第一子块映射到第一逻辑表达式,并将第二文本子块映射到重写第一逻辑表达式的第二逻辑表达式。映射器还可以被配置为在那个文本块中搜索条件连词,并且在那个文本块中找到条件连词后,将文本块拆分成较早的第一文本子块和较晚的第二文本子块。映射器还可以被配置为将第一子块映射到第一逻辑表达式,并将第二文本子块映射到暗示第一逻辑表达式的第二逻辑表达式。拆分文本块可以基于由语言处理器生成的并且具有在表示条件连词的节点处连接的第一子树和第二子树的解析树,并且第一文本子块表示第一子树并且第二文本子块表示第二子树。有利的是,考虑到解析树导致条件语句中否则将难以辨别的条款的稳健识别。另外,考虑两个子树对于处理整个短语的各个词在计算上更高效。法律文本数据输入端可以被配置为将法律文本拆分成段落。多个用户输入元素可以包括二进制输入元素。用户界面模块可以被配置为通过减少多个用户输入元素来改变用户界面。减少多个用户输入元素可以包括由逻辑引擎基于与多个用户输入元素之一相关联的原子文字的指派来消除逻辑表达式中的原子文字并且通过用户界面模块停用与被消除的原子文字相关联的用户输入元素。有利的是,消除逻辑文字在计算上是高效的,其允许对用户输入的实时响应。语言处理器可以被配置为确定原子文字与参考原子文字之间的相似性。用户界面模块可以被配置为创建包括一个或多个用户输入元素的用户界面,一个或多个用户输入元素中的每一个基于原子文字之一与参考原子文字之间的相似性而与所述原子文字之一相关联,监视用户与用户界面的交互,以检测用户与一个或多个用户输入元素之一的交互,在检测到用户与一个或多个用户输入元素之一的交互后,在逻辑表达式中将与多个用户输入元素之一相关联的原子文字与参考原子文字合并。语言处理器可以被配置为基于与每个原子文字相关联的法律文本的第一部分和与参考原子文字相关联的法律文本的第二部分之间的共同词来确定相似性。逻辑表达式可以是道义上可废弃的逻辑表达式。有利的是,道义上可废弃的逻辑可以容易地表示法律文本中常见的命令以及法律文本中常见的重写条款。语言处理器可以包括StanfordCoreNLP解析器。逻辑引擎可以包括SPINdle逻辑推理器引擎。原子文字可以包括数字文字,并且可以包括布尔文字。一种用于从法律文本创建逻辑规则的方法,包括:将法律文本拆分成多个文本块;对每个文本块执行自然语言处理,以提取与法律文本中的术语对应的原子文字;以及将每个文本块映射到原子文字的逻辑表达式,逻辑表达式表示由法律文本描述的逻辑规则。执行自然语言处理可以包括确定每个文本块的解析树,并且基于解析树将每个文本块映射到逻辑表达式。将每个文本块映射到逻辑表达式可以基于启发法。用于从法律文本创建逻辑规则的计算机系统包括:数据输入端口,用于接收法律文本;处理器,用于将法律文本拆分成多个文本块;对每个文本块执行自然语言处理,以提取与法律文本中的术语对应的原子文字;以及将每个文本块映射到原子文字的逻辑表达式,逻辑表达式表示由法律文本描述的逻辑规则;数据输出端口,用于创建逻辑表达式的可视化表示。在适当的情况下,对方法、计算机可读介质或计算机系统的任何方面描述的可选特征类似地适用于也在这里描述的其它方面。特别地,由语言处理器、映射器、逻辑引擎或用户界面模块执行的步骤可以是方法的步骤,并且可以由计算机系统的处理器执行。还应该注意的是,上述步骤可以由分布式计算机系统的分开的实体或元件执行。在那个意义上,应当理解的是,上述陈述在其范围实现中包括其中方法步骤可以在不同时间、在不同位置和由不同操作者提供输入的情况下发生。附图说明将参考附图描述示例,其中图1图示了用于自动化法律建议的在线Web服务器。图2图示了示例解析树。图3图示了向用户呈现问题和可能答案的示例用户界面。图4图示了在用户选择答案后文字的消除。图5图示了用于选择多个法律文本文档的用户界面。图6图示了示出让用户选择的文字列表的用户界面。图7图示了编辑用户界面。图8图示了用于从法律文本创建逻辑规则的方法。具体实施方式需要对法律文本进行计算上更高效的计算机化分析,特别是对法律文本的相互联系的集合的分析。本公开提供了将法律文本拆分成诸如段落或章节之类的块、然后利用自然语言处理引擎来预处理每个块的系统和方法。然后,映射器将每个块映射到逻辑表达式。以这种方式,可以为多个文本块或甚至所有文本块导出单个逻辑表达式。逻辑表达式允许通过逻辑推理引擎计算高效地处理输入值和原子文字的消除。因此,本文描述的一些实施例克服了在处理大的法律文本的集合时计算复杂度过高的问题。存在大量包括合规性检查的应用。尤其是对于年度营业额不足以使法律顾问参与的小型实体,确定经营其业务的法律要求常常是困难且耗时的。例如,开设一家拥有酒类许可证的咖啡馆可以是一个复杂的法律程序,并且取决于许多选项,诸如营业时间、员工人数和规模。基于派生的逻辑表达式和推理引擎,现在有可能引导用户完成各种要求,并有效地计算用户答案的含义。定义为方便起见,提供以下定义是为了更容易理解,但并不旨在限制所公开发明的范围。文件是一条法规的一部分或全部,例如:作为官方规则来源的法案或其它工具的全部或部分。所有文件的文本都可以被称为“立法”。文件由许多文本块组成,其中许多文本块可以具有要作为逻辑表达式中的规则捕获的逻辑内容。通常,文件是一整条立法减去任何前言。文本块是立法的单个条款,例如单个语句或多行段落。文件中具有逻辑内容的文本块通常具有与之关联的一个或多个规则。规则是将条件与结论相关联的逻辑语句。例如,以下是规则如果文件是经批准的表格那么人们提供TFN是允许的上述规则可以被解释为“只要'文件是批准的表格'的情况,就'允许人提供TFN'的情况”。每个规则包含一些原子,并且原子也可以具有与之相关联的模态。原子是我们的逻辑系统的基本构建块。每个原子可以被认为是事实陈述:在特定场景中它可以是真或者假。在上面的示例中,“文件是批准的形式”和“人提供TFN”是原子。原子通常被称为“主语-动词-宾语”语句。原子也可以被称为原子文字。模态提供原子的方向,诸如在上面的示例中的“被允许”。模态原子原子可以是普通的无模态或由模态装饰。常见的方式是:被允许–动作被允许被禁止-动作被禁止限制Prohibition义务-动作被规定为义务的在一些情况下,义务模态可能需要进一步的细微差别,并且用户可以选择描述具体类型的义务。请参阅下面的“具体类型的义务”一节。否定原子:原子可以以肯定形式出现例如“人提供TFN”或以否定形式出现例如“在许可场进行的业务的相反是许可中指定的同一业务”。如果适用,那么识别否定形式的系统的逻辑正确性是有用的,而不是简单地在原子文本本身中使用英语单词“not”。换句话说,原子本身的“主语-动词-宾语”文本可以总是肯定的。概念规则人提供他们的TFN人提供TFN人不提供他们的TFN人提供TFN的相反与上述模态有关的逻辑被称为道义逻辑。由于C.D.Broad对vonWright的建议vonWright1951,术语“道义逻辑”似乎是以英语出现的;Mally早先使用“Deontik”来描述他的工作Mally1926。这两个术语来源于希腊语“δεον”意思是“具有约束力”,以及τκ一个普通的希腊语形容词形成后缀,用于“关于…的性质的”、“…的本质的”、“与…有关的”、“…的”,因此粗略地暗示责任逻辑的概念。插入“δεοντικ”中的“τ”是出于语音原因而插入的。从那个意义上讲,道义逻辑是象征逻辑的分支,它最关注以下概念对以下内容的贡献:可废弃逻辑是允许可废弃推理的逻辑,这是一种合理引人注目但不具有演绎有效性的推理。好的可废弃论证的前提的真实性为结论提供了支持,即使前提可能是真实的,结论也是错误的。换句话说,前提和结论之间的支持关系是暂时的,可能会被附加信息所打败。命名原子:在一个示例中,逻辑引擎不使用原子的文本例如,人提供TFN。名称用于规则的人类读者,并用于原子的唯一识别。原子名称的目的是允许人在不需要文本的上下文的情况下轻松理解底层的“真实陈述”。为原子开发常见命名约定是有用的,以允许跨越立法的可读性和一致性。文本可以是任何短语;但是,一些建议的惯例是:尽可能使用“主语-动词–宾语”形式例如,使用诸如“人卖酒”之类的文字避免使用标点符号“this,object”和“thisobject”是不同的原子:区别很难看到标点符号修饰语句的语义以肯定形式表示原子,即,避免否定或类似的修饰语见上文把事情简单化常见类型的规则:没有任何条件和单个结论的规则仅仅断言结论。例如,规则人卖酒被禁止断言人被禁止卖酒。这些断言规则通常用于“默认情况”以及重写“例外情况”规则的另一个规则。更多关于以下内容。具有一个或多个条件和单个结论的规则规定,只要所有结论都成立,那么条件成立。例如,规则如果授予了场所许可证并且当局在许可的场所内支持酒类消费许可证那么在晚上10点交易时间结束是持续的义务断言,只要两个条件都成立,结论就应当成立。在这种情况下的条件是原子“授予本地许可”和“当局批准许可远离许可场所的酒类消费”。结论是模态原子“在晚上10点交易时间结束是持续的义务”。要注意的是,在规则具有多于一个条件的情况下,这些条件总是经由“并且”链接在一起。接下来的两节将介绍一些更复杂的情况,例如何时需要为特定子句创建多个规则,或使用“或者”链接多个条件。将规则相互关联文本块可以包含一个以上的规则。通常存在这是有用的两种情况:文本块包含多个列表项。1人不得:a在公路中、在公路上或上方竖设结构或进行作业;或者b挖掘或扰乱公路的表面;或者c移走或干扰公路上的结构、工作或树木。以上示例包含三个规则:人在公路中、在公路上或上方竖设结构或进行作业被禁止人挖掘或扰乱公路的表面被禁止人移走或干扰公路上的结构、工作或树木被禁止文本块包含用于默认情况的主规则,以及用于重写例外情况的另一个或多个规则。2除非获发牌照授权,否则人不得出售酒类。以上示例包含两个规则,并且规则ii重写法规规则i:规则i人卖酒被禁止规则ii如果人被许可出售酒类那么人卖酒被允许表示更复杂的规则结构组合并且或者除了上面的常见结构之外,有时您可能会遇到需要拆分成多个规则的更复杂的立法条款。以下是关于如何处理这些的指南:需要经由“或者”链接的条件中多个模态原子的条款需要被拆分成几个规则,以便每个规则都具有这些条件之一。例如,“如果A或者B,那么C”被表示为两个分开的规则:如果A那么C如果B那么C需要经由“并且”链接的结论中多个模态原子的条款需要被拆分成几个规则,使得每个规则具有这些结论中的一个。例如,“如果A那么C并且D”被表示为两个分开的规则:如果A那么C如果A那么D要注意的是,可以组合上述两个模板。例如,诸如“如果A或者B那么C并且D”的条款可以被表示为四个规则:如果A那么C如果B那么C如果A那么D如果B那么D系统可以支持在结论中需要经由“或者”链接的多个模态原子的规则。具体类型的义务以下更详细的义务类型可以可选地与模态原子一起使用,代替一般义务:实现持久,先发制人实现持久,非先发制人实现非持久,先发制人实现非持久,非先发制人维持准时实现义务是最常见的义务形式,并且必须只满足一次。实现义务进一步被拆分为两种类型:持久性和非持久性。这些类型中的每一种都可以是先发制人或非先发制人。最常见的义务子类型是实现持久,先发制人。如果义务在被违反后仍然存在,那么应使用持久义务,例如,如果您未能在7天内支付商品,那么除了原始发票金额外,可能还有义务支付罚款。非持久义务因违反而终止。假设您有义务在14天内提供签署合同的副本,否则合同无效。这个义务是非持久的,因为不能在分配的截止日期内提供签署的副本将终止合同,于是终止义务。因此,非持久义务在可能被终止的情况下大多有用。它们主要用于义务链,其中规则表示“或者”情况例如,投诉被解决或者升级。先发制人义务意味着在触发义务之前可以满足该义务。例如,购买商品会触发支付义务,但支付可以在义务被触发之前或当时发生。还存在只有在触发义务之前才能履行先发制人的义务的情况。例如,2006年“反洗钱和反恐融资法”第54.1.d节规定,必须在实物货币发生流动之前的任何时间根据第53条提交报告。非先发制人义务意味着合规行动只有在被触发后才能得到满足。例如,当某人要求升级投诉时,可能有义务告知他们公司的升级流程。在触发维护义务之后必须持续满足维护义务即,必须通过流程来维持效果。它们通常仅在有禁止或有连续操作例如监视的情况下使用。一些法规用诸如“维持”之类的词语写成,但实际上表示实现义务。这些通常涉及管理流程,例如“供应商必须维持易于使用的投诉处理流程”实际上意味着在实施投诉处理流程时,我们需要检查ONCE至少它是否易于使用。通常关于在推理业务流程时很少使用准时义务。准时义务表明,义务需要通过业务流程的下一步来满足,因此取决于流程的细节。上述构造用作法律文本被映射到的逻辑表达式的元素。计算机系统图1图示了用于自动化法律建议的在线web服务器100。在线web服务器100包括法律文本数据输入端101、语言处理器102、映射器103、逻辑引擎104、用户界面模块105和网络连接器106。在一个示例中,语言处理器102、映射器103、逻辑引擎104和用户界面模块105被实现为在处理器107上运行的软件。软件可以安装在程序存储器108上,并且可以使用数据存储器109来存储结果或中间数据。程序存储器108是非瞬态计算机可读介质,诸如硬盘驱动器、固态盘或CD-ROM。软件即,存储在程序存储器108上的可执行程序使处理器107执行图8中的方法。处理器107可以在数据存储装置109上诸如在RAM或处理器寄存器上存储数据,诸如解析树或逻辑表达式。处理器107可以从数据存储器109以及从输入端口101和网络接口106接收数据,诸如法律文本,该处理器连接到向用户112显示逻辑表达式的视觉表示111的显示设备110。在一个示例中,处理器107经由输入端口101从法律数据库113诸如austlii.edu.au接收法律文本数据,并且经由网络接口106诸如通过使用根据IEEE802.11的Wi-Fi网络接收用户输入。Wi-Fi网络可以是分散的ad-hoc网络,使得不需要专用管理基础设施诸如路由器或具有管理网络的路由器或接入点的集中式网络。在一个示例中,处理器107实时地接收并处理用户输入。这意味着处理器107在每次从用户设备110接收到用户输入时评估逻辑表达式,并在用户设备110发送下一个用户输入之前完成这个计算。在一个示例中,用户112可以查看向他显示的问题或陈述并且决定要提供的下一个输入的最小时间是1秒,这意味着在小于1秒内执行实时处理。虽然输入端口101和网络接口106被示为不同的实体,但是应该理解的是,可以使用任何类型的数据端口来接收数据,诸如网络连接、存储器接口、芯片的引脚、处理器107的包装或逻辑端口,诸如IP套接字或存储在程序存储器108上并由处理器107执行的函数的参数。这些参数可以存储在数据存储器109上并且可以在源代码中通过值或通过引用即,作为指针来处理。处理器107可以通过所有这些接口接收数据,其包括易失性存储器诸如高速缓存或RAM或非易失性存储器诸如光盘驱动器、硬盘驱动器、存储服务器或云存储装置的存储器访问。web服务器100还可以在云计算环境诸如托管动态数量的虚拟机的互连服务器的被管理组内实现。应该理解的是,除非另有说明,否则在整个本公开中,节点、边、图、树、表达式、解、变量、原子文字等是指物理地存储在数据存储器109上或由处理器107处理的数据结构。另外,为了简洁起见,当参考特定变量名称时,诸如“时间段”或“移动量”,这应理解为指作为计算机系统100中的物理数据存储的变量的值。法律文本输入法律文本数据输入端101接收法律文本并将法律文本拆分成多个文本块。例如,法律文本数据输入端101是数据库连接器,诸如SQL连接器,并执行对特定法案或法规的查询以从数据库检索法律文本。在另一个示例中,数据输入端101从提供法律文本的web服务中检索法律文本,或者从网站上抓取网站以从网站中提取法律文本。例如,文本数据输入端101可以从austlii.edu.au检索法律文本。将法律文本拆分成多个块可以包括将法律文本拆分成段落。段落可以与法案中的章节或法规中的法规相同。但是,单个章节或法规可以包括一个以上的段落。在一个示例中,段落基于文本格式或文本字符来识别,诸如附加的换行符或制表符。文本数据输入端101可以将文本块存储在托管在数据存储器109上的本地数据库中,诸如数据库表中的各个记录,其中每个记录可以包括法案或法规的标识符。在一个示例中,使用sed、Python或其它程序将文本数据输入端101实现为正则表达式。语言处理器语言处理器102对多个文本块中的每一个执行自然语言处理。以这种方式,语言处理器102提取与法律文本中的术语对应的原子文字。在这个上下文中的“原子”意味着文字只包括单个值并且不能进一步拆分。即,原子文字的值在布尔逻辑中是“真”或“假”或者取决于所使用的逻辑的其它值。在这个上下文中,“文字”意味着“变量”,并且描述了这样一个事实,即,文字的值可以通过用户输入或通过评估以那个文字作为输出变量的逻辑表达式来改变。在一些示例中,原子文字可以指非布尔变量,诸如数字变量或整数。例如,原子文字可以表示人的年龄。然后,提取出的逻辑表达式可以是“person.age=18”。要注意的是,逻辑表达式的输出是布尔变量,指示该人的年龄是否是18岁或更大。使用这个输出的逻辑表达式可以是“Ifperson.age18thenperson.isAdult”。生成的问题可以是“这个人的年龄是多少?”。在一个示例中,语言处理器102由StanfordCoreNLP解析器实现,其创建解析树并且解析树的节点表示原子文字。解析树也可以存储在与法律文本相同的数据库中,或者可以存储在诸如CouchDB之类的图形数据库中。解析树的每个节点由唯一的节点标识符标识,使得处理器107可以引用那个节点。当用户与节点交互时,向每个节点指派相关的用户可读名称是有用的,这些名称基于表示节点的文本。例如,法律文本包括短语“想要卖酒的人”,其由语言处理器102转换成表示一个原子文字的解析树的节点。另外值得注意的是,可以为这个短语创建布尔指派。即,人或者想卖酒'真''1',或者不想卖酒'假''0'。从法律文本缩短短语以允许向用户提供更紧凑和更有用的图形表示会是方便的。这可以通过消除介词、冠词和否定来实现。要注意的是,这不会改变语言处理器102所理解的法律文本的含义,因为该含义已经被编码在解析树的结构中。缩短短语只会更改用于人机交互的节点标签。将文本块映射到逻辑表达式映射器103将文本块映射到原子文字的逻辑表达式中。在一个示例中,每个文本块被映射到一个个体逻辑表达式,诸如输入文字、操作和输出文字的元组。然后可以将与每个文本块对应的元组存储在数据库中。要注意的是,元组通过共享共同的文字彼此相关。换句话说,原子文字与法律文本中的术语对应,并且在针对不同文本块的逻辑表达式之间共享。更明确地,文本块的第一逻辑表达式包含第一文字,第二文本块的第二逻辑表达包含相同的第一文字。重要的是,如果为第一文字指派值,那么会影响第一和第二逻辑表达式。在这个意义上,一些或全部元组的集合或者一些或所有逻辑表达式的集合可以被称为更大的逻辑表达式。下面进一步提供映射处理的更多细节。在一个示例中,逻辑表达式作为程序代码存储在Scala编程语言中,如http:www.scala-lang.org中所述。逻辑表达式以特定于域的语言格式具有如Formula、Modal、Atom等名称表示,然后可以将其序列化为JSON文本以用于发送到用户界面和数据库以及从用户界面和数据库发送。逻辑引擎逻辑引擎104也可以被称为推理引擎基于原子文字的一个或多个指派来评估逻辑表达式,诸如来自用户界面的指派,如下所述。在一个示例中,逻辑引擎104被实现为Spindle引擎,其在https:sourceforge.netprojectsspindlereasoner下可获得,并且在Lam,H.-P.和Governatori,G.2010的OntheProblemofComputingAmbiguityPropagationandWell-FoundedSemanticsinDefeasibleLogic中进行了描述。在InRotolo,A.;Hall,J.;Dean,M.;和Tabet,S.,eds.,Proceedingsofthe4thInternationalWebRuleSymposium:ResearchBasedandIndustryFocuedRuleML-2010.Washington,DC,USA:RuleML,其通过引用并入本文。映射的细节如上所述,映射器103提供来自语言处理器102的输出到逻辑表达式的映射。对于这个任务,映射器102可以使用如下面详细阐述的启发法。启发法是一种处理,已被观察到在过去的示例中产生期望的结果,但可能没有其正确性的数学证明,或者不能总是保证最佳结果。例如,映射器103在文本块中搜索重写连词。重写条件的示例可以是词“除非unless”的出现。其它示例包括“如果不exceptif”。通常使用重写连接来引入先前的陈述不是真或有效的情况。在发现位置处的该文本块中找到重写连词时,映射器103将发现位置处的文本块拆分成发现位置之前的第一文本子块和发现位置之后的第二文本子块。例如,语句“人可以持有酒牌,除非这个人未满21岁”被拆分成第一文本子块“人可以持有酒牌”和第二文本子块“这个人未满21岁”。在这个示例中,第一子块和第二子块的逻辑表达式是单个文字。然后,映射器可以将第一子块映射到第一逻辑表达式,并将第二文本子块映射到重写第一逻辑表达式的第二逻辑表达式。在这个意义上,逻辑表达式的重写表示所采用的逻辑的可废弃性质,如上面进一步描述的。换句话说,第一子块表示在给定来自第二子块的逻辑表达式的值的情况下可能是错误的结论。在另一个示例中,映射器在那个文本块中搜索条件连词。条件连词可以包括以下短语:如果、条件是…、倘若…、提供…、假定…、假设…、假如…、设定…、允许…、只要…、考虑到…、在…条款附带条件下、在理解…的情况下、当且仅在…情况下、视…而定、在…情况下、允许…,及其它。在那个文本块找到条件连词后,映射器103将文本块拆分成较早的第一文本子块和第二文本子块。然后,映射器将第一子块映射到第一逻辑表达式,并将第二文本子块映射到暗示第一逻辑表达式的第二逻辑表达式。在一个示例中,映射器103基于由语言处理器102生成的解析树来拆分文本块。解析树可以被实现为Java类:java.lang.Objectjava.util.AbstractCollectionedu.stanford.nlp.trees.Tree例如,在短语“人可以持有酒牌,如果这个人至少21岁并且,如果这个人具有食品许可证,那么可以出售食品”,“并且”连词可以涉及至少21岁的条件或开始新的表达式。图2图示了示例解析树200,其包括在表示条件连词的节点204处连接的第一子树202和第二子树203。第一文本子块表示第一子树202,第二文本子块表示第二子树203。这允许映射器103识别文本块的哪些部分与条件连词相关联。语言处理器102从语法上提取语句的层次结构并以这种方式生成解析树。在这个示例中,语言处理器102识别“并且”节点205,其连接包括第三子树206的另一条件子句和由另一条件节点208连接的第四子树207。用户界面图3图示了由用户界面模块105创建的示例用户界面300。用户界面300包括多个用户输入元素,诸如第一按钮302和第二按钮303。多个用户输入元素中的每一个与由语言处理器102提取的原子文字之一相关联,诸如通过使用名称中的原子文字的标识符或发送按钮的值。在图3的示例中,第一按钮302和第二按钮303与原子文字304相关联。要注意的是,文字304以基于定义该文字的法律文本创建的问题的格式显示。例如,法律文本可以是“人有合理的利润期望”,文字的标签可以是“有合理的利润期望”,用户界面的相关联问题304是“你会有合理的利润期望吗?”并且文字标识符可以是唯一的随机数,诸如“46446267”。用户界面模块105监视用户与用户界面的交互以检测用户与多个用户输入元素之一的交互。用户界面模块105可以包括web服务器,并且可以生成可以包括JavaScript元素的HTML代码。然后可以将这个代码写在可由浏览器应用通过互联网访问的数据存储装置上。监视用户交互可以包括通过互联网从浏览器应用接收GET、POST、XMLHttpRequest或其它基于web的命令。例如,当用户点击按钮时,浏览器应用将包括与那个按钮相关联的原子文字的标识符的按钮名称或按钮值发送到web服务器100。在一个示例中,每个文字有两个按钮。第一个按钮用于向web服务器100发送那个文字的“真”值,第二个按钮用于发送那个文字的“假”值。当web服务器100检测到用户与多个用户输入元素之一的交互时,诸如通过接收按钮名称和或值,处理器107创建与多个用户输入元素中所述之一相关联的原子文字的指派。例如,处理器107用所选择的值替换那个文字,或者在数据库中创建指派条目。然后,处理器107调用逻辑引擎104以基于所创建的指派来评估逻辑表达式。逻辑表达式表示以高效格式在法律文本中编码的规则。即,逻辑引擎可以在不使用法律文本的情况下高效地评估规则。这避免了重新解析法律文本的需要,这使得能够实时响应用户输入,诸如在100毫秒内。然后,处理器107可以基于评估逻辑表达式来改变用户界面,从而以剩余原子文字的形式提供法律建议。例如,用户界面可以是文字标签的列表,并且对于每个标签,用户可以点击“真”或“假”或“是”或“否”。当用户单击其中一个值时,使用所选择的指派评估逻辑表达式会导致其它文字的消除。在那种情况下,用户界面可以移除或停用被消除的文字。在这个意义上,用户不会提供所有文字的答案,但是逻辑表达式可以被评估为最终值,诸如关于合规性的“是”“否”声明。在原子文字是数字或整数的情况下,可以要求用户输入数字或整数值。但是,应该注意的是,适用的测试结果可以用作布尔文字。例如,给定将成年人定义为18岁或以上的人的测试,问题可以是“这个人的年龄是多少?”数字或“这个人是成年人吗?”布尔。图4图示了在用户选择图3中的“否”按钮303之后文字的消除。如从图4中可以看出的,许多其它问题已被改变为删去strikethrough并且对应的用户输入元素被删除以指示已从逻辑表达式中消除了这些文字。可以使用其它方式来停用文字,诸如改变颜色,诸如改变为灰色,移除文字或在文字旁边添加图标以指示停用,诸如勾选复选框。返回去参考图1,在线web服务器还包括网络连接器106,以通过从客户端设备110接收用户输入来与客户端设备110通信,并提供要在客户端设备上显示的用户界面111。网络连接器可以包括Apache网络服务器、Angular前端和Flask后端或其它基于web的技术。合并文字在一个示例中,web服务器100还创建图形用户界面,其允许用户控制从法律文本中提取原子文字。图5图示了由用户界面模块105创建的用户界面500,其允许用户选择多个法律文本文件,然后可以激活合并按钮505。作为响应,用户界面模块105生成如图6所示的文字选择器600,其示出了文字的列表。在这里,用户可以选择其中一个文字进行进一步检查。语言处理器102还确定原子文字与参考原子文字之间的相似性。相似性可以基于与原子文字702相关联的法律文本的第一部分在711处指示和与参考原子文字703相关联的法律文本的第二部分在712处指示之间的共同词。例如,法律文本的第一部分在711处表示。然后,用户界面模块105创建编辑用户界面700,如图7中所示。编辑用户界面700包括一个或多个用户输入元素,诸如“合并原子”按钮701。按钮701基于原子文字之一与参考原子文字703之间的相似性与原子文字702之一相关联。换句话说,处理器100自动地将那些文字建议为与参考文字类似的合并候选。在这个示例中,参考文字“人提供TFN”703类似于文字“人提供代表性TFN”702,这就是为什么在这里呈现文字702的原因。用户界面700还包括文本列701,其中显示从中提取了对应文字的法律文本。用户界面模块105监视用户与用户界面700的交互以检测用户与一个或多个用户输入元素之一的交互,例如,用户点击合并按钮701。在检测到用户与合并按钮的交互后,逻辑引擎104将与合并按钮相关联的原子文字702与逻辑表达式中的参考原子文字703合并。在一个示例中,合并原子文字包括用逻辑表达式中的原子文字703的标识符替换原子文字702的标识符。在另一个示例中,合并原子文字包括添加相等条件,该条件强制原子文字702具有与参考原子文字703相同的值。要注意的是,在图7中,文字702和703由它们的标签表示,并且逻辑表达式中的标识符可以与标签完全不同。用户界面500、600和700允许用户辅助精炼法律文本到逻辑表达的映射。即使在文字的自动提取不完美的情况下,这也允许使用所提出的方法。特别地,在将诸如不同法案或法规的不同文件组合成一个逻辑表达式的情况下,不同文件可以针对相同含义使用略微不同的短语。这些短语可以方便地由用户合并,这意味着来自不同法律文件的规则被组合。这意味着当用户创建如参考图3和4所示的单个指派时,该单个指派用在所有组合的法律文件中。方法图8图示了用于由处理器100执行的从法律文本创建逻辑规则的方法800。图8应被理解为软件程序的蓝图,并且可以逐步实现,使得图8中的每个步骤由诸如C++或Java之类的编程语言中的函数表示。然后将得到的源代码编译并存储为程序存储器108上的计算机可执行指令。方法800的步骤基本上与上面参考语言处理器102和映射器103描述的步骤相同。方法800通过将法律文本分成801多个文本块开始。方法800继续为每个文本块执行802自然语言处理,以提取与法律文本中的术语对应的原子文字。最后,处理器100将每个文本块803映射到原子文字的逻辑表达式,该逻辑表达式表示由法律文本描述的逻辑规则。然后,处理器100可以创建用户界面,如参考图3所描述的。性能以下列出了将上述方法和系统应用于给定的澳大利亚法律文本的示例。以上数据表明,所提出的系统和方法高效地执行并且为短的解析时间提供良好的覆盖率。即,所公开的系统和方法提供了使用有限CPU资源对文本处理的技术问题的技术解决方案。本领域技术人员将认识到的是,在不脱离权利要求所限定的范围的情况下,可以对具体实施例进行许多变化和或修改。特别地,要注意的是,以上描述适用于广泛的解析器、映射器和逻辑表达式的类型。这意味着,可以配置解析器、映射器和逻辑格式以最佳地适应当前文本块或立法。无论使用哪种解析器,映射器或逻辑格式,输入文字和输出值的值通常都是“真”或“假”。逻辑运算符可以容易地组合这些值,诸如“并且”或“或者”运算符。换句话说,所公开的方法基于在逻辑级别上它们最终彼此兼容的实现提供了使用不同解析器、映射器和逻辑格式的解决方案。应当理解的是,可以使用各种技术来实现本公开的技术。例如,本文描述的方法可以通过驻留在合适的计算机可读介质上的一系列计算机可执行指令来实现。合适的计算机可读介质可以包括易失性例如,RAM和或非易失性例如,ROM、盘存储器、载波和传输介质。示例性载波可以采用沿着本地网络或诸如互联网之类的公共可访问网络传送数字数据流的电信号、电磁信号或光信号的形式。还应当理解的是,除非从以下讨论中明确地另外明确说明,否则应该认识到的是,在整个说明书中,利用诸如“估计”或“处理”或“计算”、“优化”或“确定”或“显示”或“最大化”等术语进行讨论是指计算机系统或类似电子计算设备的动作和处理,其处理表示为计算机系统的寄存器和存储器内的物理电子量的数据并将其变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示设备内的物理量的其它数据。因此,本发明的实施例在所有方面都被认为是说明性而非限制性的。

权利要求:1.一种用于自动化法律建议的在线web服务器,在线web服务器包括:法律文本数据输入端,用于接收法律文本并将法律文本拆分成多个文本块;语言处理器,对所述多个文本块中的每一个文本块执行自然语言处理,以提取与法律文本中的术语对应并在不同的文本块的逻辑表达式之间共享的原子文字;映射器,将文本块映射到原子文字的逻辑表达式;逻辑引擎,用于基于原子文字的一个或多个指派来评估逻辑表达式;用户界面模块,用于:创建包括多个用户输入元素的用户界面,所述多个用户输入元素中的每一个用户输入元素与原子文字之一相关联,监视用户与用户界面的交互,以检测用户与所述多个用户输入元素之一的交互,在检测到用户与所述多个用户输入元素之一的交互后,创建与所述多个用户输入元素之一相关联的原子文字的指派,并调用逻辑引擎以基于所创建的指派来评估逻辑表达式,以及基于评估逻辑表达式来改变用户界面,从而以剩余的原子文字的形式提供法律建议;以及网络连接器,用于通过从客户端设备接收用户输入来与客户端设备通信,并提供要在客户端设备上显示的用户界面。2.如权利要求1所述的在线web服务器,其中语言处理器还被配置为确定所述文本块中的每个文本块的解析树,并且映射器被配置为基于解析树将文本块映射到逻辑表达式。3.如权利要求1或2所述的在线web服务器,其中映射器还被配置为基于启发法将文本块映射到逻辑表达式。4.如前述权利要求中任一项所述的在线web服务器,其中映射器还被配置为在那个文本块中搜索重写连词“除非”并且在那个文本块中在发现位置处找到重写连词后,在发现位置处将文本块拆分成发现位置之前更早的第一文本子块和发现位置之后的第二文本子块。5.如权利要求4所述的在线web服务器,其中映射器还被配置为将第一子块映射到第一逻辑表达式,并将第二文本子块映射到重写第一逻辑表达式的第二逻辑表达式。6.如前述权利要求中任一项所述的在线web服务器,其中映射器还被配置为在那个文本块中搜索条件连词,并且在那个文本块中找到条件连词后,将文本块拆分成较早的第一文本子块和较晚的第二文本子块。7.如权利要求6所述的在线web服务器,其中映射器还被配置为将第一子块映射到第一逻辑表达式,并将第二文本子块映射到暗示第一逻辑表达式的第二逻辑表达式。8.如权利要求6或7所述的在线web服务器,其中拆分文本块基于由语言处理器生成的并且具有在表示条件连词的节点处连接的第一子树和第二子树的解析树,并且第一文本子块表示第一子树并且第二文本子块表示第二子树。9.如前述权利要求中任一项所述的在线web服务器,其中法律文本数据输入端被配置为将法律文本拆分成段落。10.如前述权利要求中任一项所述的在线web服务器,其中所述多个用户输入元素包括二进制输入元素。11.如前述权利要求中任一项所述的在线web服务器,其中用户界面模块被配置为通过减少所述多个用户输入元素来改变用户界面。12.如权利要求11所述的在线web服务器,其中减少所述多个用户输入元素包括由逻辑引擎基于与所述多个用户输入元素之一相关联的原子文字的指派来消除逻辑表达式中的原子文字并且通过用户界面模块停用与被消除的原子文字相关联的用户输入元素。13.如前述权利要求中任一项所述的在线web服务器,其中语言处理器被配置为确定原子文字与参考原子文字之间的相似性,用户界面模块被配置为创建包括一个或多个用户输入元素的用户界面,所述一个或多个用户输入元素中的每一个用户输入元素基于原子文字之一与参考原子文字之间的相似性而与所述原子文字之一相关联,监视用户与用户界面的交互,以检测用户与所述一个或多个用户输入元素之一的交互,在检测到用户与所述一个或多个用户输入元素之一的交互后,在逻辑表达式中将与所述多个用户输入元素之一相关联的原子文字与参考原子文字合并。14.如权利要求13所述的在线web服务器,其中语言处理器被配置为基于与所述原子文字中的每个原子文字相关联的法律文本的第一部分和与参考原子文字相关联的法律文本的第二部分之间的共同词来确定相似性。15.如前述权利要求中任一项所述的在线web服务器,其中逻辑表达式是道义上可废弃的逻辑表达式。16.如前述权利要求中任一项所述的在线web服务器,其中语言处理器包括StanfordCoreNLP解析器。17.如前述权利要求中任一项所述的在线web服务器,其中逻辑引擎包括SPINdle逻辑推理器引擎。18.如前述权利要求中任一项所述的在线web服务器,其中原子文字包括数字文字。19.如前述权利要求中任一项所述的在线web服务器,其中原子文字包括布尔文字。20.一种用于从法律文本创建逻辑规则的方法,该方法包括:将法律文本拆分成多个文本块;对所述文本块中的每个文本块执行自然语言处理,以提取与法律文本中的术语对应并在不同的文本块的逻辑表达式之间共享的原子文字;以及将所述文本块中的每个文本块映射到原子文字的逻辑表达式,逻辑表达式表示由法律文本描述的逻辑规则。21.如权利要求20所述的方法,其中执行自然语言处理包括确定所述文本块中的每个文本块的解析树,并且将所述文本块中的每个文本块映射到逻辑表达式是基于解析树的。22.如权利要求20或21所述的方法,其中将所述文本块中的每个文本块映射到逻辑表达式基于启发法。23.一种用于从法律文本创建逻辑规则的计算机系统,该计算机系统包括:数据输入端口,用于接收法律文本;处理器,用于将法律文本拆分成多个文本块;对所述文本块中的每个文本块执行自然语言处理,以提取与法律文本中的术语对应并在不同的文本块的逻辑表达式之间共享的原子文字;以及将所述文本块中的每个文本块映射到原子文字的逻辑表达式,逻辑表达式表示由法律文本描述的逻辑规则;以及数据输出端口,用于创建逻辑表达式的可视化表示。

百度查询: 联邦科学和工业研究组织 立法到逻辑的自动编码器

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。