发明内容
本发明提供一种法条推荐方法、设备和存储介质,以提高法条推荐效果。
第一方面,本发明提供一种法条推荐方法,包括:
获取用户输入的法律问题的语义分析结果;
根据所述法律问题的语义分析结果,获取与所述法律问题对应的多个相关的法条,并建立多个问题-法条对;所述问题-法条对包括:所述法律问题与各个所述相关的法条的配对;
利用训练得到的法条匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;N为大于0的整数;
向用户推荐所述前N个问题-法条对中的法条。
在一种可能的实现方式中,所述获取用户输入的法律问题的语义分析结果,包括:
利用训练得到的语言模型,获取所述法律问题的向量表示;
利用预先设定的正则表达式,确定所述法律问题的意图识别符;所述意图识别符用于标识所述法律问题对应的正则表达式;
根据所述法律问题的向量表示和意图识别符,得到所述法律问题的语义分析结果。
在一种可能的实现方式中,所述根据所述法律问题的语义分析结果,获取与所述法律问题对应的多个相关的法条,包括:
根据所述法律问题的语义分析结果,利用预先训练得到的分类模型,获取与所述法律问题对应的法律类别;
利用预设的法条关系图谱,获取与所述法律问题对应的法律类别相关的法条。
在一种可能的实现方式中,所述利用预设的法条关系图谱,获取与所述法律问题对应的法律类别相关的法条之前,还包括:
根据法条关联信息,建立所述法条关系图谱;所述法条关联信息包括以下至少一项:每个所述法律类别与各自对应的地方性法规及其解释之间的关联信息、各个所述法律类别之间的关联信息、每个所述法律类别中不同条款之间的关联信息、不同法律类别中各个条款之间的关联信息。
在一种可能的实现方式中,建立多个问题-法条对,包括:
根据所述法律问题的向量表示和所述相关的法条中各个法条的向量表示,利用训练得到的自编码器,分别获取所述法律问题的法条要素以及各个所述法条的法条要素;所述自编码器的输入参数包括:所述法律问题的向量表示或法条的向量表示,所述自编码器的输出参数包括:权重大于预设阈值的法条要素;
根据所述法律问题相关的法条要素,与各个所述法条的法条要素,获取各个所述法条对应的注意力机制的加权值;
将加权值最大的前S个法条分别与所述法律问题,建立所述问题-法条对;S为大于1的整数。
在一种可能的实现方式中,所述法条匹配模型包括:第一匹配模型和第二匹配模型;所述利用训练得到的法条匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对,包括:
利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前M个问题-法条对;所述M大于N;所述第一匹配模型的输入参数包括:问题-法条对中法条的向量表示和法律问题的向量表示;所述第一匹配模型的输出参数包括:问题-法条对的匹配概率;
利用训练得到的第二匹配模型,对所述M个问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;所述第二匹配模型的输入参数包括:问题-法条对中法律问题和法条拼接后的向量表示,所述第二匹配模型的输出参数包括:问题-法条对的匹配概率。
在一种可能的实现方式中,所述利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选之前,还包括:
根据第一训练数据,对预先建立的第一匹配模型进行训练,得到训练后的第一匹配模型;所述第一训练数据包括:正例数据和负例数据,所述正例数据包括:法律问题与相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息,所述负例数据包括:法律问题与不相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息。
在一种可能的实现方式中,利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前M个问题-法条对,包括:
针对各个所述问题-法条对,将所述问题-法条对中法条的向量表示,输入第一匹配模型的第一网络单元中,得到法条的隐层表示和法条的语义表示向量;
将所述问题-法条对中法律问题的向量表示,输入第一匹配模型的第二网络单元中,得到法律问题的隐层表示和法律问题的语义表示向量;
根据所述法条的隐层表示、所述法律问题的语义表示向量、所述法条的语义表示向量以及所述法律问题的隐层表示进行交互处理,得到处理结果;
将所述处理结果输入所述第一匹配模型的隐藏层中,得到所述问题-法条对的匹配概率;
根据各个所述问题-法条对的匹配概率,得到匹配概率最大的前M个问题-法条对。
在一种可能的实现方式中,利用训练得到的第二匹配模型,对所述M个问题-法条对进行筛选之前,还包括:
根据第二训练数据,对预先建立的第二匹配模型进行训练,得到训练后的第二匹配模型;所述第二训练数据包括:法律问题与相关的法条形成的多个问题-法条对,以及各个所述问题-法条对是否匹配的匹配信息;所述多个问题-法条对以法律问题和法条拼接后的向量表示输入所述第二匹配模型中。
第二方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第三方面,本发明实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
本发明实施例提供的法条推荐方法、设备和存储介质,获取用户输入的法律问题的语义分析结果;根据所述法律问题的语义分析结果,获取与所述法律问题对应的多个相关的法条,并建立多个问题-法条对;所述问题-法条对包括:所述法律问题与各个所述相关的法条的配对;利用训练得到的法条匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;N为大于0的整数;向用户推荐所述前N个问题-法条对中的法条,上述方案中对法律问题进行语义分析,可以降低用户使用门槛,输入的法律问题可以不限定输入形式以及特定查询词,通过对法条匹配模型将用户输入的法律问题匹配到合适的法条并推荐给用户,提高推荐效率和效果。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本发明所涉及的应用场景进行介绍:
本发明实施例提供的法条推荐方法,包括但不局限于基于用户输入的法律问题进行法条检索,向用户推荐法条,同时也可以实现基于用户输入的法律问题的自然语言问答任务。本发明实施例的方法,旨在降低使用法条检索的门槛、提高检索/法律咨询的效率和效果。
常规法律法规检索需要用户按照指定规则输入一个或多个法律关键词,检索系统根据该关键词,对法律法规数据中的词频进行排序、筛选和匹配,并返回法条的检索结果。常规法条检索具体的过程如下:1.对输入进行分词处理,划分为一个或多个关键词的组合,如“财产分割”:可作为一个整体,也可分别为“财产”和“分割”;2.根据上述关键词,对法律法规数据进行检索,目前常用的方法有标题检索、全文检索等。
常规法律法规检索技术对用户的输入要求较高,由于该方案将用户输入作为关键字对法律法规数据进行检索,因此仅当输入准确的关键词时,才能返回相应的结果。这些方法只能利用法律法规数据中词汇的数学统计信息(如词频等),而没有利用数据的语义和上下文信息。同时,指定的输入规则(如布尔逻辑规则等)也缺乏对连贯的语义信息的捕获能力,不利于对用户的检索需求进行充分的分析和理解,从而无法精准定位用户需求也无法得到最准确的回答。此外,上述方案仅将法律法规数据作为待检索的文档,对这些数据的处理也仅限于根据适用区域、效力级别、发布时间等的分类处理,缺乏对法律法规数据中知识的提取、学习和应用。
本发明实施例的方法,通过分析自然语言问题(无固定格式的问题),从问题中解析出或将问题映射到与法律相关的主题,并基于该主题推理出能够解决该问题的法条法规,最终向用户推荐最合适的多条法律法规。
图1为本发明一实施例提供的应用场景图,可选的,如图1所示,该应用场景中包括服务器11、电子设备12;该电子设备12例如包括手机、平板电脑、智能机器人等终端设备。进一步的,电子设备还可以包括显示屏,用于显示推荐的法条。
本发明提供的方法可由电子设备如处理器执行相应的软件代码实现,也可由该电子设备在执行相应的软件代码的同时,通过和服务器进行数据交互来实现,如服务器执行部分操作,来控制电子设备执行该法条推荐方法。
其中,电子设备12和服务器11可以通过网络连接,例如3G、4G、5G、无线保真(Wireless Fidelity,WIFI)或有线等通信网络。
本发明提供的方法可由电子设备12如处理器执行相应的软件代码实现,也可由该电子设备12在执行相应的软件代码的同时,通过和服务器11进行数据交互来实现,如服务器执行部分操作,来控制电子设备执行方法。
下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本发明提供的法条推荐方法一实施例的流程示意图。如图2所示,本实施例提供的方法,包括:
步骤201、获取用户输入的法律问题的语义分析结果。
具体的,用户输入法律问题,例如“离婚的条件是什么?”、“临时工属于合法劳动关系吗?”等。
对用户输入的法律问题基于自然语言理解NLU等算法进行分析和理解,并根据该法律问题对用户需求进行判断。
例如可以通过预先训练得到的语言模型,基于用户输入的法律问题,输出该法律问题对应的词向量表示,进一步还可以对用户意图进行判断,例如用户需要获取办理事项所需的材料信息、需要获取的法律法规信息类别为部门条例等。
步骤202、根据法律问题的语义分析结果,获取与法律问题对应的多个相关的法条,并建立多个问题-法条对;问题-法条对包括:法律问题与各个相关的法条的配对。
具体的,根据得到的法律问题的语义分析结果,获取与该法律问题对应的相关的法条,例如可以通过预先训练得到的神经网络模型得到相关的法律类别,以及该法律类别中的相关法条。
基于得到的多个相关的法条,分别与法律问题进行配对,建立多个问题-法条对。
步骤203、利用训练得到的法条匹配模型,对多个问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;N为大于0的整数。
步骤204、向用户推荐前N个问题-法条对中的法条。
具体的,将得到的多个问题-法条对输入法条匹配模型中,得到各个问题-法条对的匹配概率,选择匹配概率最大的前N个问题-法条对,将该N个问题-法条对中的法条推荐给用户。
进一步的,还可以输出各个法条与该法律问题的匹配程度,例如可以输出基于匹配程度进行排序后的结果。
法条匹配模型可以基于神经网络等算法模型建立,并通过获取到的训练数据进行训练得到,训练数据例如多个问题-法条对,以及问题-法条对是否匹配的信息。
本实施例的方法,获取用户输入的法律问题的语义分析结果;根据所述法律问题的语义分析结果,获取与所述法律问题对应的多个相关的法条,并建立多个问题-法条对;所述问题-法条对包括:所述法律问题与各个所述相关的法条的配对;利用训练得到的法条匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;N为大于0的整数;向用户推荐所述前N个问题-法条对中的法条,上述方案中对法律问题进行语义分析,可以降低用户使用门槛,输入的法律问题可以不限定输入形式以及特定查询词,通过对法条匹配模型将用户输入的法律问题匹配到合适的法条并推荐给用户,提高推荐效率和效果。
在上述实施例的基础上,进一步的,步骤201具体可以采用如下方式实现:
利用训练得到的语言模型,获取所述法律问题的向量表示;
利用预先设定的正则表达式,确定所述法律问题的意图识别符;所述意图识别符用于标识所述法律问题对应的正则表达式;
根据所述法律问题的向量表示和意图识别符,得到所述法律问题的语义分析结果。
其中,所述语言模型的输入参数包括:所述法律问题,所述语言模型的输出参数包括所述法律问题包括的向量表示。
具体的,可以通过预先训练得到的语言模型,基于用户输入的法律问题,输出该法律问题对应的向量表示,进一步还可以结合正则表达式匹配对用户意图进行判断,例如用户需要获取办理事项所需的材料信息、需要获取的法律法规信息类别为部门条例等。
训练语言模型所需的语料数据分为法律法规数据和法律问题数据两部分,可以来源于网络。法律规章数据(如《中华人民共和国婚姻法》等)来自司法部门官方网站,法律问题数据(如“离婚的条件是什么?”、“临时工属于合法劳动关系吗?”等)可以来自法律咨询及法律问答网站或人工构建。由于法律语言的词汇中有许多固定搭配,语言模型采用词级别的语言模型(即以词为最小单位学习其向量表示),作用是构建法律语言的向量表示空间,将文字转化为向量表示(如在法律上有相近含义的词的空间距离较近),从而能够用数学模型将语言表示出来。该语言模型可以通过神经网络等算法模型建立,例如通过深度双向自注意力机制建立。该语言模型需要同时使用到法律数据和问题数据,目的是使该语言模型同时学习问题和法律法规中的语言表达方式、词汇关联等,具体为:学习法律法规中的专业语言结构、法律专业用语的含义及其关联、不同条款之间的关联;学习法律问题的深层语义表达,能够理解问题间的关联,如将“离婚的条件是什么?”和“什么情况可以离婚?”理解为相似的问题;学习法律问题与法律法规数据之间的关联,如,将与劳动关系相关问题联系到《中华人民共和国劳动法》等法律中的相关条款。
上述词级别语言模型能够将用户输入的法律问题解析为向量表示,例如:“离婚的条件是什么”表示为“离婚”(w1)、“的”(w2)、“条件”(w3)、“是”(w4)、“什么”(w5)5个词向量的拼接向量,表示为s。
示例性的,句子的长度例如可以为100,即一句话包含词数不超过100个词,不足部分用0向量补齐;即一句话包含词数超过100个词,则超过部分被截断,不进行向量表示。句子向量s的维度为100×d,d表示词向量维度。
进一步的,在利用上述语言模型得到法律问题的向量表示,对法律问题进行理解后,还可以结合预先设置的正则表达式集合,判断用户意图。
正则表达式集合可以通过人工编写构建,主要用于判断用户所需要信息的类别,减少语言模型的复杂度。例如,正则表达式可以包含:“关于.*{,20}条例”表明需要获取的法律法规信息类别为部门条例;“.*{,20}需要.*{,10}材料”表明需要获取办理事项所需的材料信息;以及其他意图分类的表达式。通过正则表达式匹配,可获得表示用户意图的识别符,表示为si。识别符用于标识用户意图对应的正则表达式。识别符si维度与单个词向量的维度相同。最终,问题的语义分析结果可以是上述向量的拼接形式,表示为v=[w;si],维度为101×d。
在本发明的其他实施例中,法律问题的语义分析结果也可以仅采用基于语言模型得到的向量表示。
在本发明的其他实施例中,分类模型还可以通过其他算法模型建立,本发明对此并不限定。
在上述实施例的基础上,进一步的,步骤202具体可以采用如下方式实现:
根据所述法律问题的语义分析结果,利用预先训练得到的分类模型,获取与所述法律问题对应的法律类别;利用预设的法条关系图谱,获取与所述法律问题对应的法律类别相关的法条。
具体的,经过上述过程,可获得问题的语义分析结果,即v(v=[w;si]),作为分类模型的输入。分类模型的输出为法律类别的概率,如婚姻法,合同法,保险法等的概率。
在实际应用中,若法律类别太多,会增加分类模型的计算复杂度,耗时也会显著增加,因此法律类别可以不包括地方规定和实施细则等其他政策文件,仅包含法律。
分类模型可采用卷积神经网络((Convolutional Neural Network,简称CNN)模型、或条件随机场(Conditional Random Field,简称CRF)模型,进一步为了降低模型复杂度可以采用单层CNN模型、或单层CRF模型。
在本发明的其他实施例中,分类模型还可以通过其他算法模型建立,本发明对此并不限定。
进一步的,获取与所述法律问题相关的法律类别具体可以采用如下方式实现:
将所述法律问题的语义分析结果输入所述分类模型,得到各个所述法律类别对应的概率;
对各个所述法律类别对应的概率进行排序,选择概率最大的前L个法律类别作为与所述法律问题对应的法律类别;L为大于0的整数。
具体的,将法律问题的语义分析结果(向量表示)输入该分类模型,基于该分类模型输出的各法律类别的概率,可以选择概率最大的前L个法律类别作为分类结果(即与法律问题相关的法律类别),例如L为5。
在本发明的其他实施例中,分类模型还可以采用其他算法模型,本发明实施例对此并不限定。
进一步的,由于法律类别可能不包括地方规定和实施细则等其他政策文件,上述基于分类模型得到的与法律问题相关的法律类别可能存在局限性,不能找出所有与法律问题相关的法律法规。因此,需要以分类结果为基础,对与法律问题相关的法条进行补充完善。由于法律法规之间存在相互解释、依赖和支持的关系,将法规和具体条款的关联提取并构成法条关系图谱,能够提高获取的法条信息的完整性和覆盖范围,从而对上述分类结果进行补充和完善。例如,下述法律法规包括法律及其他条例、规定、解释等司法性质文件。
进一步,利用预设的法条关系图谱,获取与所述法律问题对应的法律类别相关的法条之前,可以根据法条关联信息,建立所述法条关系图谱;所述法条关联信息包括以下至少一项:每个所述法律类别与各自对应的地方性法规及其解释之间的关联信息、各个所述法律类别之间的关联信息、每个所述法律类别中不同条款之间的关联信息、不同法律类别中各个条款之间的关联信息。
其中,每个所述法律类别与各自对应的地方性法规及其解释之间的关联信息,例如:
《中华人民共和国婚姻法》与《最高人民法院关于适用<中华人民共和国婚姻法>若干问题的解释(一)(婚姻法解释一)》、《中国共产党纪律处分条例》与《机构编制违纪行为适用<中国共产党纪律处分条例>若干问题的解释》等的关联。
各个所述法律类别之间的关联信息,例如:《中华人民共和国婚姻法》与《中华人民共和国反家庭暴力法》的关联、《中华人民共和国证券法》与《上海证券交易所融资融券交易实施细则》的关联等。
每个所述法律类别中不同条款之间的关联信息,例如:《公安机关互联网安全监督检查规定》中第十一条为对第十条的补充;
第十条公安机关应当根据互联网服务提供者和联网使用单位履行法定网络安全义务的实际情况,依照国家有关规定和标准,对下列内容进行监督检查:(一)是否办理联网单位备案手续,并报送接入单位和用户基本信息及其变更情况;(二)是否制定并落实网络安全管理制度和操作规程,确定网络安全负责人;(三)是否依法采取记录并留存用户注册信息和上网日志信息的技术措施;(四)是否采取防范计算机病毒和网络攻击、网络侵入等技术措施;(五)是否在公共信息服务中对法律、行政法规禁止发布或者传输的信息依法采取相关防范措施;(六)是否按照法律规定的要求为公安机关依法维护国家安全、防范调查恐怖活动、侦查犯罪提供技术支持和协助;(七)是否履行法律、行政法规规定的网络安全等级保护等义务。
第十一条除本规定第十条所列内容外,公安机关还应当根据提供互联网服务的类型,对下列内容进行监督检查:(一)对提供互联网接入服务的,监督检查是否记录并留存网络地址及分配使用情况;(二)对提供互联网数据中心服务的,监督检查是否记录所提供的主机托管、主机租用和虚拟空间租用的用户信息;(三)对提供互联网域名服务的,监督检查是否记录网络域名申请、变动信息,是否对违法域名依法采取处置措施;(四)对提供互联网信息服务的,监督检查是否依法采取用户发布信息管理措施,是否对已发布或者传输的法律、行政法规禁止发布或者传输的信息依法采取处置措施,并保存相关记录;(五)对提供互联网内容分发服务的,监督检查是否记录内容分发网络与内容源网络链接对应情况;(六)对提供互联网公共上网服务的,监督检查是否采取符合国家标准的网络与信息安全保护技术措施。
不同法律类别中各个条款之间的关联信息,例如:《最高人民法院关于适用<中华人民共和国婚姻法>若干问题的解释(一)(婚姻法解释一)》第一条与《中华人民共和国婚姻法》第三条、第三十二条、第四十三条、第四十五条、第四十六条之间的关联;
《婚姻法解释一》第一条内容为:婚姻法第三条、第三十二条、第四十三条、第四十五条、第四十六条所称的“家庭暴力”,是指行为人以殴打、捆绑、残害、强行限制人身自由或者其他手段,给其家庭成员的身体、精神等方面造成一定伤害后果的行为。持续性、经常性的家庭暴力,构成虐待。
法条关系图谱的构成方式如下:每部法律法规文件都有唯一标识id,id以哈希表的方式存储和查询;相关文件(有上述4种关系的任一种即为相关文件)通过id相连接,每个文件都会记录与之相关的文件id并按照上述4种关系排列,形成文件哈希表;每个文件中的每条条款都会记录与之相关的本文件或其他文件中的条款信息,并以另外的哈希表形式储存,条款哈希表数量多,但是每个表的大小远小于文件哈希表。基于哈希表存储可以实现快速搜索。
最终得到的法律问题相关的候选法条包括:1、由分类模型得到的概率最大的5个法律类别中的全部条款;2、根据上述法律及其条款,在法条关系图谱中找到直接相关的法律法规或条款。上述过程是对所有法条文件的查询结果,与法律问题相关的法条,可包含多达上万条法条。
进一步的,对前述获取的法律问题相关的候选法条进行筛选,建立多个问题-法条对。
步骤202中建立多个问题-法条对,具体可以采用如下方式实现:
根据所述法律问题的向量表示和所述相关的法条中各个法条的向量表示,利用训练得到的自编码器,分别获取所述法律问题的法条要素以及各个所述法条的法条要素;所述自编码器的输入参数包括:所述法律问题的向量表示或法条的向量表示,所述自编码器的输出参数包括:权重大于预设阈值的法条要素;
根据所述法律问题相关的法条要素,与各个所述法条的法条要素,获取各个所述法条对应的注意力机制的加权值;
将加权值最大的前S个法条分别与所述法律问题,建立所述问题-法条对;S为大于1的整数。
进一步的,在获取法条要素之前,根据训练数据,对所述自编码器进行训练,使得所述自编码器的损失函数最小,以得到训练后的自编码器;所述训练数据包括:多个法条的词向量表示。
具体的,可以通过法条要素,对法律问题以及前述得到的相关的法条进行表示,法条要素可以采用自动学习的方式进行提取,无需利用人工标注。为了忠于法条本身的语义信息,本发明实施例提出完全依赖于深度神经网络的无监督法条要素生成方式,无人工知识的干预,利用自编码器(autoencoder)对法条进行重新编码,将每个法条中权重较大的词语作为法条要素,权值越大说明该词语对法条语义的影响越大,因此可将这些词作为法条中的法条要素。法条要素可根据权重的阈值进行截断选择,若需要生成较多法条要素,则可设置较小阈值,若需要生成较少法条要素,则可设置较大阈值。
自编码器采用非监督学习,为了使法条要素信息无损失传入后续模型中,其隐藏层单元数量可以和语言模型的维度一致(d维)。自编码器每一次的训练迭代都是对自身的对比,不需要额外的训练标签,其输入以法条为单位,表示为x(采用词向量表示),输出表示为
其中AE表示自编码器。训练的目标为使输出接近输入,即损失函数最小化;损失函数为
其中θ表示自编码器需要优化的参数;训练方式可采用梯度下降法。
由于前述得到的与法律问题相关的候选法条数量庞大且伴随冗余信息,需要结合法条要素对候选法条进行精炼,确保候选法条内容与用户诉求一致。首先,用户输入的法律问题用词向量表示并通过上述训练好的自编码器获取法律问题的法条要素;候选法条中各个法条也基于自编码器提取法条要素。
再根据注意力机制,将获得的法律问题的法条要素与候选法条中的每一条法条的法条要素进行加权求和,得到注意力机制的加权值。最后选择加权值较大的前S个法条分别与所述法律问题,建立所述问题-法条对;S为大于1的整数。例如,保留前500条法条建立问题-法条对,即将这些法条与用户输入的法律问题以“(法律问题,法条)”形式进行一一配对,构建问题-法条对集合。例如:
{(“离婚的条件是什么”,“男女双方自愿离婚的,准予离婚。双方必须到婚姻登记机关申请离婚。婚姻登记机关查明双方确实是自愿并对子女和财产问题已有适当处理时,发给离婚证。”),
(“离婚的条件是什么”,“现役军人的配偶要求离婚,须得军人同意,但军人一方有重大过错的除外。”),
(“离婚的条件是什么”,“男女一方要求离婚的,可由有关部门进行调解或直接向人民法院提出离婚诉讼。人民法院审理离婚案件,应当进行调解;如感情确已破裂,调解无效,应准予离婚。有下列情形之一,调解无效的,应准予离婚:(一)重婚或有配偶者与他人同居的;(二)实施家庭暴力或虐待、遗弃家庭成员的;(三)有赌博、吸毒等恶习屡教不改的;(四)因感情不和分居满二年的;(五)其他导致夫妻感情破裂的情形。一方被宣告失踪,另一方提出离婚诉讼的,应准予离婚。”),
(“离婚的条件是什么”,“女方在怀孕期间、分娩后一年内或中止妊娠后六个月内,男方不得提出离婚。女方提出离婚的,或人民法院认为确有必要受理男方离婚请求的,不在此限。”),
……},其中,“离婚的条件是什么”是用户输入的法律问题。
上述具体实施方式中,对候选法条进行提炼,以删除候选法条中的冗余信息,主要目的是减少搜索空间,降低匹配模型计算复杂度提高后续模型匹配的准确率。
在上述实施例的基础上,进一步的,为了提高法条匹配模型的处理效率和准确性,本实施例中,法条匹配模型可以包括:第一匹配模型和第二匹配模型;步骤203具体可以采用如下方式实现:
利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前M个问题-法条对;所述M大于N;所述第一匹配模型的输入参数包括:问题-法条对中法条的向量表示和法律问题的向量表示;所述第一匹配模型的输出参数包括:问题-法条对的匹配概率;
利用训练得到的第二匹配模型,对所述M个问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;所述第二匹配模型的输入参数包括:问题-法条对中法律问题和法条拼接后的向量表示,所述第二匹配模型的输出参数包括:问题-法条对的匹配概率。
具体的,第一匹配模型可以对得到的多个问题-法条对进行初步筛选,为了快速并对大量数据进行处理,在保证准确率不过多降低的前提下,采用复杂度较低且参数较少的模型,例如可以基于双向自然语言推理模型建立第一匹配模型,在本发明的其他实施例中,还可以通过RNN神经网络模型以及其变体建立第一匹配模型。
首先,需要对建立的第一匹配模型进行训练。
具体可以采用如下方式:根据第一训练数据,对预先建立的第一匹配模型进行训练,得到训练后的第一匹配模型;所述第一训练数据包括:正例数据和负例数据,所述正例数据包括:法律问题与相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息,所述负例数据包括:法律问题与不相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息。
具体的,第一匹配模型的训练数据采用自动生成的形式,例如从网络问答数据中抽取包含法律及具体条款的数据,并将该网络问答中的问题与所提及条款的具体内容以问题-法条对的形式作为训练数据中的正例数据,正例数据中的问题-法条对为匹配的问题-法条对。进一步,还可以输入负例数据,引入负例数据的目的是帮助第一匹配模型区分正确法律与错误法律,并能学习和区分正确法律中的正确条款和错误条款,因此,负例数据的构建需同时考虑以下两种方式:1.随机抽取m个其他法律法规(除上述正例数据中包含的法律法规外,例如2-3个法律法规)中的条款,与问题构成问题-法条对;2.在正例数据所包含的法律法规中,随机抽取正确的条款之外的n(例如1-2)条法条数据,与问题构成问题-法条对。例如训练数据中,正例数据和负例数据的比例约为1:4。负例数据中问题-发条对是不匹配的问题-法条对。通过上述第二训练数据进行训练,得到训练后的第一匹配模型。第一匹配模型的输入为:法律问题的向量表示,和法条的向量表示;输出为法律问题和法条匹配的概率,区间为[0,1]。对第二匹配模型的输出结果按照概率从大到小进行排序后,选择前M个法条(例如前150个)作为处理结果输入第二匹配模型,即在通过第一匹配模型对候选问题-法条对进行筛选后,可以进一步基于结构更复杂的精确匹配模型,即第二匹配模型确定最终推荐的法条。
第二匹配模型相比于第一匹配模型有以下特点:网络更深、结构更复杂、训练和测试时间更长、对硬件设备的要求更高(例如要求多块显卡并行计算)。受益于以上特点,第二匹配模型准确率相比第一匹配模型有显著提升。
在本发明一实施例中,可以根据深度双向Transformer编码器,建立第二匹配模型,在本发明的其他实施例中,还可以通过单向transformer、DTRNN、stackRNN等其他网络模型等建立第二匹配模型。
根据第二训练数据,对所述第二匹配模型进行训练,得到训练后的第二匹配模型;所述第二训练数据包括:法律问题与相关的法条形成的多个问题-法条对,以及各个所述问题-法条对是否匹配的匹配信息;所述多个问题-法条对以法律问题和法条拼接后的向量表示输入所述第二匹配模型中。
具体的,第二匹配模型例如可以采用深度双向transformer编码器进行建立,为了更好的学习法条的语言特征和其中词语的语义特征,深度双向transformer编码器需要基于词向量表示进行训练。第二训练数据包括:法律问题与相关的法条形成的多个问题-法条对,以及各个所述问题-法条对是否匹配的匹配信息,第二训练数据中多个问题-法条对,以如下形式输入第二匹配模型,即“问题[sep]法条”形式,其中[sep]为问题和法条内容的分隔符,输入需要转换为词向量形式,即将用户输入的法律问题和法条拼接之后转换为词向量形式输入第二匹配模型。通过上述第二训练数据进行训练,得到训练后的第二匹配模型。
第二匹配模型的输入参数包括:问题-法条对中法律问题和法条拼接后的向量表示,所述第二匹配模型的输出参数包括:问题-法条对的匹配概率,区间为[0,1]。
对第二匹配模型的输出结果按照概率从大到小进行排序后,选择前N个法条(例如前3个)作为最终法条推荐结果。
在本发明的其他实施例中,第一匹配模型、第二匹配模型还可以通过其他算法模型建立,本发明对此并不限定。
在本发明的一实施例中,如图3所示,本发明实施例的方法实现过程如下:
首先,对用户输入的法律问题进行基于自然语言理解NLU进行分析和理解,即根据法律问题对用户需求进行判断。然后,基于分类模型和法条关系图谱,从法律数据中获取与法律问题相关的候选法条。首先可以利用分类模型对用户输入的法律问题进行分类,将法律问题映射到有限数量的法律类别中,例如包含预测概率最大的5个法律类别;进一步根据预先构建的法条关系图谱,获取分类得到的法律类别中法条的关联法条,从而得到与法律问题相关的候选法条。进一步,利用法律问题的向量表示,以及与预先学习构建的自编码器模型,提取法律问题以及候选法条的法条要素,对候选法条进行提炼,得到提炼后的多个法条,并与用户输入的法律问题建立多个问题-法条对,以删除候选法条中的冗余信息,提高后续模型匹配的准确率,并降低匹配模型计算复杂度。最后,基于复杂度相对较低的第一匹配模型,对多个问题-法条对进行初步筛选,筛选出与用户输入的法律问题匹配度较高的M条法条,并将该M条法条与用户输入的法律问题建立的问题-法条对输入深度和广度远大于第一匹配模型的第二匹配模型进行进一步处理,最终保留匹配度最高的N个法条作为推荐法条。
在本发明的一实施例中,利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前M个问题-法条对,具体可以采用如下方式实现:
针对各个所述问题-法条对,将所述问题-法条对中法条的向量表示,输入第一匹配模型的第一网络单元中,得到法条的隐层表示和法条的语义表示向量;
将所述问题-法条对中法律问题的向量表示,输入第一匹配模型的第二网络单元中,得到法律问题的隐层表示和法律问题的语义表示向量;
根据所述法条的隐层表示、所述法律问题的语义表示向量、所述法条的语义表示向量以及所述法律问题的隐层表示进行交互处理,得到处理结果;
将所述处理结果输入所述第一匹配模型的隐藏层中,得到所述问题-法条对的匹配概率;
根据各个所述问题-法条对的匹配概率,得到匹配概率最大的前M个问题-法条对。
具体的,第一匹配模型结构例如如图4所示,通过第一网络单元和第二网络单元(例如双向LSTM单元)分别获得用户输入的法律问题的语义表示向量和隐层表示,以及候选问题-法条对中法条的语义表示向量和隐层表示后,第一匹配模型通过交互处理模块同时计算法条的每一层隐层表示与法律问题的语义表示向量的交互结果和法律问题的每一层隐层表示与法条的语义表示向量的交互结果,并对两个交互结果进行处理,上述交互处理例如计算余弦相似度等计算相似度的处理,从而判断这两个文本是否匹配。最后,将处理结果输入隐藏层(即图4中输出层)得到最终的匹配概率。第一匹配模型输出结果为匹配的概率,区间为[0,1]。
通过上述第一匹配模型的筛选,获得候选的问题-法条对中每对问题-法条对的匹配概率,并以这些概率为排序依据,对问题-法条对按照概率从大到小进行排序,保留前M对问题-法条对,输入第二匹配模型进行进一步筛选。
在本发明的一实施例中,第二匹配模型结构图如图5所示,第二匹配模型例如可以采用深度双向transformer编码器进行建立,深度双向transformer编码器其输入为:“问题[sep]法条”形式,其中[sep]为问题和法条内容的分隔符,输入需要转换为词向量形式,即将用户输入的法律问题和法条拼接之后转换为词向量形式输入第二匹配模型;经过第二匹配模型的若干层双向编码器,以及多层感知器MLP处理后得到输出结果。第二匹配模型的输出为问题和法条匹配的概率,区间为[0,1]。对第二匹配模型的输出结果按照概率从大到小进行排序后,选择前N个法条(例如前3个)作为最终法条推荐结果。
上述具体实施方式中,由于第二匹配模型的时间和空间复杂度高,对设备的运算性能要求高,在进行精确匹配前,需要对候选的问题-法条对进行初步筛选,从而减少时间开销和对高性能硬件设备的依赖,使本发明实施例方法的应用范围更广。第一匹配模型用于对候选的问题-法条对进行筛选,目的是快速并对大量数据进行处理,并保留匹配度最高的M对问题-法条对。
在本发明的其他实施例中,上述法律问题的向量表示和法条的向量表示可以为词向量表示,或其他向量表示,本发明对此并不限定。
综上,本发明实施例的方法是基于对用户输入的理解,对用户需求的定位,对法条法规数据的学习和理解以及对用户输入和法条法规数据进行交互匹配。具体是:理解分析自然语言句子或段落,如法律问题和案情描述等,例如利用深度双向注意力机制的语言模型对用户输入的数据和法律语料数据进行联合学习和建模,获得不同词语在法条语料空间的向量表示和深层语义关联,用于理解用户输入和学习法条知识,得到用户输入的法律问题的语义分析结果,利用CNN或CRF等分类模型对用户意图和需求进行判断,用于精准定位用户需求,并构建法条关系图谱,获取与用户输入的法律问题相关的候选法条,挖掘法条数据的深层信息提取法条要素,建立候选的问题-法条对;最后,利用多级深度语义匹配模型对问题和法条数据进行交互匹配,推荐与问题最佳匹配的法条。
图6为本发明提供的电子设备实施例的结构图,如图6所示,该电子设备包括:
处理器601,以及,用于存储处理器601的可执行指令的存储器602。
可选的,还可以包括:通信接口603,用于实现与其他设备的通信。
上述部件可以通过一条或多条总线进行通信。
其中,处理器601配置为经由执行所述可执行指令以实现:
获取用户输入的法律问题的语义分析结果;
根据所述法律问题的语义分析结果,获取与所述法律问题对应的多个相关的法条,并建立多个问题-法条对;所述问题-法条对包括:所述法律问题与各个所述相关的法条的配对;
利用训练得到的法条匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;N为大于0的整数;
向用户推荐所述前N个问题-法条对中的法条。
在一种可能的实现方式中,处理器601配置为:
利用训练得到的语言模型,获取所述法律问题的向量表示;
利用预先设定的正则表达式,确定所述法律问题的意图识别符;所述意图识别符用于标识所述法律问题对应的正则表达式;
根据所述法律问题的向量表示和意图识别符,得到所述法律问题的语义分析结果。
在一种可能的实现方式中,处理器601配置为:
根据所述法律问题的语义分析结果,利用预先训练得到的分类模型,获取与所述法律问题对应的法律类别;
利用预设的法条关系图谱,获取与所述法律问题对应的法律类别相关的法条。
在一种可能的实现方式中,处理器601配置为:
根据法条关联信息,建立所述法条关系图谱;所述法条关联信息包括以下至少一项:每个所述法律类别与各自对应的地方性法规及其解释之间的关联信息、各个所述法律类别之间的关联信息、每个所述法律类别中不同条款之间的关联信息、不同法律类别中各个条款之间的关联信息。
在一种可能的实现方式中,处理器601配置为:
根据所述法律问题的向量表示和所述相关的法条中各个法条的向量表示,利用训练得到的自编码器,分别获取所述法律问题的法条要素以及各个所述法条的法条要素;所述自编码器的输入参数包括:所述法律问题的向量表示或法条的向量表示,所述自编码器的输出参数包括:权重大于预设阈值的法条要素;
根据所述法律问题相关的法条要素,与各个所述法条的法条要素,获取各个所述法条对应的注意力机制的加权值;
将加权值最大的前S个法条分别与所述法律问题,建立所述问题-法条对;S为大于1的整数。
在一种可能的实现方式中,所述法条匹配模型包括:第一匹配模型和第二匹配模型;处理器601配置为:
利用训练得到的第一匹配模型,对多个所述问题-法条对进行筛选,得到匹配概率最大的前M个问题-法条对;所述M大于N;所述第一匹配模型的输入参数包括:问题-法条对中法条的向量表示和法律问题的向量表示;所述第一匹配模型的输出参数包括:问题-法条对的匹配概率;
利用训练得到的第二匹配模型,对所述M个问题-法条对进行筛选,得到匹配概率最大的前N个问题-法条对;所述第二匹配模型的输入参数包括:问题-法条对中法律问题和法条拼接后的向量表示,所述第二匹配模型的输出参数包括:问题-法条对的匹配概率。
在一种可能的实现方式中,处理器601配置为:
根据第一训练数据,对预先建立的第一匹配模型进行训练,得到训练后的第一匹配模型;所述第一训练数据包括:正例数据和负例数据,所述正例数据包括:法律问题与相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息,所述负例数据包括:法律问题与不相关的法条形成的多个问题-法条对以及各个所述问题-法条对是否匹配的匹配信息。
在一种可能的实现方式中,处理器601配置为:
针对各个所述问题-法条对,将所述问题-法条对中法条的向量表示,输入第一匹配模型的第一网络单元中,得到法条的隐层表示和法条的语义表示向量;
将所述问题-法条对中法律问题的向量表示,输入第一匹配模型的第二网络单元中,得到法律问题的隐层表示和法律问题的语义表示向量;
根据所述法条的隐层表示、所述法律问题的语义表示向量、所述法条的语义表示向量以及所述法律问题的隐层表示进行交互处理,得到处理结果;
将所述处理结果输入所述第一匹配模型的隐藏层中,得到所述问题-法条对的匹配概率;
根据各个所述问题-法条对的匹配概率,得到匹配概率最大的前M个问题-法条对。
在一种可能的实现方式中,处理器601配置为:
根据第二训练数据,对预先建立的第二匹配模型进行训练,得到训练后的第二匹配模型;所述第二训练数据包括:法律问题与相关的法条形成的多个问题-法条对,以及各个所述问题-法条对是否匹配的匹配信息;所述多个问题-法条对以法律问题和法条拼接后的向量表示输入所述第二匹配模型中。
本实施例的电子设备,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。