具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
本领域技术人员还将理解的是,虽然本文中可使用用语“第一”、“第二”等来描述各种种子事件、种子子句、描述事件、描述子句、前提事件、前提子句、正例假设事件、正例假设子句、负例假设事件、负例假设子句、无关事件、无关子句等,但是这些种子事件、种子子句、描述事件、描述子句、前提事件、前提子句、正例假设事件、正例假设子句、负例假设事件、负例假设子句、无关事件、无关子句不应被这些用语限制。这些用语仅用于将一个种子事件、种子子句、描述事件、描述子句、前提事件、前提子句、正例假设事件、正例假设子句、负例假设事件、负例假设子句、无关事件、无关子句与其它种子事件、种子子句、描述事件、描述子句、前提事件、前提子句、正例假设事件、正例假设子句、负例假设事件、负例假设子句、无关事件、无关子句区分开。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
图1示出了可以应用本公开的实施例的检测语句之间的关联关系的方法、装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如浏览器应用、搜索类应用、深度学习应用、购物类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是支持各类客户端应用的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上进行的图像获取请求提供支持的后台服务器。后台服务器可以对接收到的图像获取请求等数据进行分析等处理,并将处理结果反馈给终端设备。
服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成例如用来提供分布式服务的多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,在实践中,本公开的实施例所提供的检测语句之间的关联关系的方法可以由终端设备101、102、103或服务器105执行。相应地,检测语句之间的关联关系的装置可以设置于终端设备101、102、103或服务器105中。在此不做具体限定。
应该理解,图1中的终端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
继续参考图2,图2示出了根据本公开的检测语句之间的关联关系的方法的一些实施例的示意性流程图。
如图2所示,检测语句之间的关联关系的方法200,包括:
在步骤210中,针对预设事件,获取种子语句和描述语句。
在本实施例中,种子语句包括描述第一种子事件的第一种子子句和描述第二种子事件的第二种子子句,描述语句包括描述第一描述事件的第一描述子句和描述第二描述事件的第二描述子句。种子语句作为检测描述语句的基准语句存在,第一种子事件与第二种子事件之间存在预设逻辑关系。描述语句是指针对预设事件进行描述的语句。
这里的预设事件,是指用户关注的、属于预先设定的事件类型的事件。例如,公司事件,基金事件或股票事件等。
这里的预设逻辑关系,是指用户关注的逻辑关系。例如,因果关系、顺承关系、条件关系或上下位关系等。
其中,因果关系是指两个事件之间,在先事件(原因)的发生导致在后事件(结果)的发生。在事理图谱中,因果关系满足原因事件在前,结果事件在后的时间上的偏序关系,因此在一定意义上,可以认为因果关系是顺承关系的子集。因果事件对之间存在一个介于0到1之间的因果强度值,表示该因果关系成立的置信度。
顺承关系是指两个事件在时间上相继发生的偏序关系。我们借鉴TimeML时序关系类别中的before和after偏序关系,在事理图谱中的顺承关系包括两种情况:一种情况是顺承的前序事件a结束后,后序事件b紧接着发生;另一种情况是前序事件a结束后,隔一段时间后序事件b才会发生,具体如图1所示。两个前后顺承的事件之间存在一个介于0到1之间的转移概率,表示从在先事件按时序顺承关系演化到在后事件的置信度。
条件关系是指在先事件是在后事件发生的条件。条件关系属于思想中命题的某种逻辑关系,因果关系属于对客观事实的某种认识,“原因≠理由”,“原因”指的是事件之间的因果关系,是关于事实的,“理由”是前提与结论或论据与论点的内在联系,是关于逻辑的。举例来说,“如果买票的人多,那么电影好看”这一条件是成立的,而“因为买票的人多,所以电影好看”这一因果是不成立的。
上下位关系是指在先事件与在后事件之间是上下位关系。事件之间的上下位关系有两种:名词性上下位关系和动词性上下位关系。例如,事件“食品价格上涨”与“蔬菜价格上涨”构成名词性上下位关系;事件“杀害”与“刺杀”互为动词性上下位关系。需要注意的是,上下位关系一般是没有疑义的确定知识,因此可认为该类关系的置信度为常数1或0,即表示该知识是正确的或者是错误的。
上述检测语句之间的关联关系的方法的执行主体(例如图1所示的终端或服务器)可以采用现有技术或未来发展的技术中获取数据的方法来获取种子语句和描述语句,本公开对此不做限定。例如,可以从本地数据库或远程数据库获取种子语句和描述语句。可以理解的是,本地数据库或远程数据库中针对同一预设事件,可以存储大量的种子语句和描述语句。
数据库中所存储的种子语句和描述语句,可以来源于需要整理的专业领域的一些说明文档。以金融领域为例,这些说明文档可以包括:上市公司的招股说明书,上市公司年报,上市公司其他公告,券商公司研报,券商行业研报等。
在步骤220中,将种子语句输入文本蕴含模型的前提模型,将描述语句输入文本蕴含模型的假设模型,基于前提模型的状态矩阵和假设模型的状态矩阵,得到文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果。
在本实施例中,前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。可以理解的是,前提模型的初始记忆矩阵可以为一个全0的记忆矩阵。
上述执行主体可以将种子语句输入文本蕴含模型的前提模型,得到由种子语句的各个字的记忆向量组成的前提模型的记忆矩阵、由种子语句的各个字的状态向量组成的前提模型的状态矩阵。
上述执行主体还可以将需要检测的描述语句输入文本蕴含模型的假设模型,将基于种子语句的最后一个字的记忆向量作为假设模型的初始记忆矩阵,得到由描述语句的各个字的记忆向量组成的记忆矩阵、由描述语句的各个字的状态向量组成的假设模型的状态矩阵。
之后,上述执行主体可以直接基于前提模型的状态矩阵与假设模型的状态矩阵,确定文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果。备选地,上述执行主体还可以先对前提模型的状态矩阵与假设模型的状态矩阵进行进一步的数据处理,分析处理后的数据,并将分析结果作为文本蕴含模型的输出结果。
在本实施例的一些可选实现方式中,假设模型中针对描述语句中各个词的状态向量基于逐字注意力机制引入前提模型中对应种子语句中各个词的状态向量作为约束。
在本实现方式中,在建模的过程中引入了注意力(Attention mechanism)机制,即在处理假设模型中的语句时考虑前提模型中的语句的信息。并且使用逐字注意力(word byword Attention)机制,即在长短期记忆网络(LSTM,Long Short-Term Memory)处理假设模型中的语句中的每个词时,都引入前提模型中的语句中的每个词经过LSTM建模后的信息。在计算能力有限情况下,注意力机制(Attention mechanism)是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务,这样进一步提升了模型的性能。
在本实施例的一些可选实现方式中,文本蕴含模型的输出结果基于以下步骤确定:将假设模型的状态矩阵与注意力权重矩阵相乘,得到修正后的假设模型的状态矩阵;其中,注意力权重矩阵为前提模型中各个字的状态向量约束假设模型中的各个字的状态向量的权重;将修正后的假设模型的状态矩阵与归一化概率矩阵相乘,得到一维向量;将一维向量输入逻辑回归模型,得到文本蕴含模型的输出结果。
在本实现方式中,上述执行主体将假设模型的状态矩阵中的每一列所对应的向量,与基于前提模型中的各个字的状态向量得出的约束假设模型中的各个字的状态向量的注意力权重矩阵相乘,得到一个修正后的假设模型的状态矩阵。
之后,上述执行主体将修正后的假设模型的状态矩阵与一个归一化概率矩阵相乘,得到一个一维向量。之后,上述执行主体再将一维向量输入逻辑回归模型(softmax),得到文本蕴含模型的输出结果。其中,归一化概率矩阵用于将修正后的假设模型的状态矩阵转化为一个一维向量。
本领域技术人员可以理解的是,softmax用于多分类(例如假设模型的输入语句与前提模型的输入语句同一逻辑、与前提模型的输入语句不同逻辑以及与前提模型的输入语句无任何关系)过程,它将一维向量的输出映射至(0,1)区间内,而映射得到的值的累和为1。然后可以根据映射得到的值的大小来进行多分类的任务,如取权重最大的一维。那么,文本蕴含模型的输出结果的取值介于(0,1)区间内,权重最大的一维趋近于0表示前提语句和假设语句是蕴涵关系,权重最大的一维趋近于1表示前提语句和假设语句没有蕴涵关系。
本实现方式中的检测语句之间的关联关系的方法,通过采用注意力权重矩阵获取修正后的假设模型的状态矩阵,提高了检测结果与前提模型的输入语句中权重较大的字的相关性,通过采用归一化概率矩阵和softmax对修正后的假设模型的状态矩阵进行处理,并得到假设模型的输入语句的检测结果,提高了文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果的计算效率,并简化了文本蕴含模型的输出结果。
在可选步骤230中,响应于所述输出结果指示所述描述语句与所述种子语句具有相同的逻辑关系,将所述描述语句确定为目标语句。
在本实施例中,上述执行主体若分析出文本蕴含模型的输出结果指示描述语句的逻辑关系与种子语句的逻辑关系相同,那么上述执行主体确定该描述语句为用户希望提取的与种子语句具有相同逻辑关系的目标语句,从而提高了确定描述语句是否为与种子语句具有相同的逻辑关系的目标语句的准确性。
上述执行主体分析文本蕴含模型的输出结果时,可以采用现有技术或未来发展的技术中用于分析数据的方法来进行分析。例如根据预设的分析规则进行分析,也可以采用预先训练好的分析数据的模型进行分析,本申请对此不作限定。
在可选步骤240中,基于种子语句和目标语句,构建事理图谱。
在本实施例中,上述执行主体可以基于预设事件、预设事件的种子语句、目标语句和预设逻辑关系,构建事理图谱。事理图谱能够揭示事件的演化规律和发展逻辑。
在图结构上,事理图谱是一个有向有环图,其中节点表示事件,有向边表示事件之间的演化关系。事理图谱可以体现现实世界中事件演化规律的复杂性。本质上,事理图谱是一个事理逻辑知识库,描述了事件之间的演化规律和模式,提高所呈现的信息的逻辑性和完整性。
以下结合图3,描述本公开的检测语句之间的关联关系的方法的示例性应用场景。
如图3所示,图3示出了根据本公开的检测语句之间的关联关系的方法的一些应用场景的示意性流程图。
如图3所示,检测语句之间的关联关系的方法300运行于电子设备310中,可以包括:
首先,针对预设事件301,获取种子语句302和描述语句303。
之后,将种子语句302输入文本蕴含模型304的前提模型305,将描述语句303输入文本蕴含模型304的假设模型306,基于前提模型的状态矩阵307和假设模型的状态矩阵308得到文本蕴含模型的输出结果309。
最后,响应于输出结果309指示描述语句303与种子语句302具有相同的逻辑关系310,将描述语句303确定为目标语句311。
应当理解,上述图3中所示出的检测语句之间的关联关系的方法的应用场景,仅为对于检测语句之间的关联关系的方法的示例性描述,并不代表对该方法的限定。例如,上述方法还可以包括:基于种子语句和目标语句,构建事理图谱。本公开对此不做限定。
本公开上述实施例提供的检测语句之间的关联关系的方法,可以采用已训练完成的文本蕴涵模型,只要输入种子语句,就能自动确定出与种子语句相同逻辑关系的描述语句,而无需变更用于训练文本蕴含模型的训练语料,提高了确定与不同种子语句具有相同逻辑关系的描述语句的效率。
请参考图4a,其示出了根据本公开的文本蕴含模型的训练方法的一些实施例的示例性结构图。
如图4a所示,本实施例的文本蕴含模型的训练方法400,可以包括:
在步骤410中,获取文本蕴含模型的训练数据。
在本实施例中,文本蕴含模型的训练方法运行于其上的执行主体(例如图1中所示的终端或服务器,与检测语句之间的关联关系的方法的执行主体可以为同一执行主体,也可以为不同的执行主体)可以从本地或远程的数据库获取训练数据。
获取的训练数据,可以包括多组训练语句。每组训练语句中的每条语句包括描述两个不同事件的不同子句,且每组训练语句包括:前提语句,前提语句的第一前提子句所描述的第一前提事件与第二前提子句所描述的第二前提事件之间存在预设逻辑关系;正例假设语句,正例假设语句的第一正例假设子句所描述的第一正例假设事件与第二正例假设子句所描述的第二正例假设事件之间存在预设逻辑关系。也即,正例假设语句的第一事件与第二事件之间的逻辑关系与前提语句的第一事件与第二事件之间的逻辑关系相同。
本领域技术人员可以理解的是,每条语句可以包括两个不同的子句,每个子句描述一个事件。每组训练语句中前提语句的两个子句(第一前提子句与第二前提子句)与正例假设语句的两个子句(第一正例假设子句与第二正例假设子句)可以部分相同或完全相同,也可以不同,本申请对此不做限定。但前提语句的两个子句之间的预设逻辑关系同样存在于正例假设语句的两个子句之间。
文本蕴含模型的训练数据,主要来源于专业领域的一些说明文档。以金融领域为例,这些说明文档可以包括:上市公司的招股说明书,上市公司年报,上市公司其他公告,券商公司研报,券商行业研报等。在这些说明文档中,可以预先针对各种预设逻辑关系,提取出描述语句。例如,表示事件因果关系的描述语句,表示事件顺承关系的描述语句,表示事件条件关系的描述语句和表示事件上下位的描述语句。
最终提取的训练语句组的数量可以根据技术人员的经验或应用场景的数据精度需要确定。例如,可以提取10000组训练语句组供训练文本蕴含模型使用,另外提取2000组训练语句组供测试文本蕴含模型使用。
文本蕴含模型的结构与图2所示的实施例中的文本蕴含模型的结构相同。文本蕴含模型可以包括前提模型和假设模型。前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。前提模型的初始记忆矩阵可以为一个全0的记忆矩阵。
在这里,LSTM模型Long short term memory,是指循环神经网络的变形结构。在普通RNN基础上,LSTM模型在隐藏层各神经单元中增加记忆单元,从而使时间序列上的记忆信息可控,每次在隐藏层各单元间传递时通过几个可控门(遗忘门、输入门、候选门、输出门),可以控制之前信息和当前信息的记忆和遗忘程度,从而使RNN网络具备了长期记忆功能,对于RNN的实际应用,有巨大作用。
具体地,在LSTM模型中,隐状态矩阵H是由当前输入xt和上一时刻(t-1)的状态矩阵ht-1组成。具体公式如下:
LSTM模型的输入门it可以控制输入信息,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,σ(x)为Sigmoid型激活函数(原因为sigmoid的输出为0-1之间,将输入门的输出与输入节点的输出相乘可以起控制信息量的作用)。Wi为输入门的参数矩阵,bi为输入门的参数偏移量,Wi和bi是需要估计的参数。具体公式如下:
it=σ(WiH+bi) (2)
LSTM模型的遗忘门ft起控制内部状态信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,σ(x)为Sigmoid型激活函数(原因为sigmoid的输出为0-1之间,将内部状态节点的输出与忘记门的输出相乘可以起控制信息量的作用)。Wf为遗忘门的参数矩阵,bf为遗忘门的参数偏移量,Wf和bf是需要估计的参数。具体公式如下:
ft=σ(WfH+bf) (3)
LSTM模型的输出门ot起控制输出信息的作用,门的输入为上一个时刻点的隐藏节点的输出以及当前的输入,σ(x)为Sigmoid型激活函数(原因为sigmoid的输出为0-1之间,将输出门的输出与内部状态节点的输出相乘可以起控制信息量的作用);Wo为遗忘门的参数矩阵,Bo为输入门的参数偏移量,Wo和Bo是需要估计的参数。具体公式如下:
ot=σ(W°H+b°) (4)
LSTM模型的记忆单元ct的输入为被输入门过滤后的当前输入以及上一时刻点的内部记忆单元ct-1的输出,Wc为记忆单元的参数矩阵,bc为记忆单元的参数偏移量,Wc和bc是需要估计的参数。⊙表示同或运算,即两个输入变量值相同时为1。激活函数tanh是双曲函数中的一个,tanh()为双曲正切。具体公式如下:
ct=ft⊙ct-1+it⊙tanh(WcH+bc) (5)
LSTM模型的当前状态值ht由输出门ot和记忆单元ct决定。⊙表示同或运算,即两个输入变量值相同时为1。激活函数tanh是双曲函数中的一个,tanh()为双曲正切。具体公式如下:
ht=ot⊙tanh(ct) (6)
在步骤420中,将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入,将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型。
在本实施例中,上述文本蕴含模型的训练方法运行于其上的执行主体可以将前提语句和正例假设语句分别转化为一个矩阵,该矩阵中的每一列为对应字的向量。
之后,上述文本蕴含模型的训练方法运行于其上的执行主体可以基于预先设置的前提模型的初始记忆矩阵(一个全0的记忆矩阵)和前提语句的向量矩阵,得到前提语句的记忆矩阵和状态矩阵。
上述文本蕴含模型的训练方法运行于其上的执行主体还可以基于假设模型的初始记忆矩阵(前提模型所输出的最后一个记忆矩阵)和假设语句的向量矩阵,得到假设语句的记忆矩阵和状态矩阵。
最后,上述文本蕴含模型的训练方法运行于其上的执行主体可以基于前提语句的状态矩阵和假设语句的状态矩阵,将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型。
示例性地,在将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型时,可以将假设语句的状态矩阵中的每一个向量,与注意力权重矩阵相乘,得到修正后的假设模型的状态矩阵。其中,注意力权重矩阵为前提模型中各个字的状态向量约束假设模型中的各个字的状态向量的权重。
之后,可以将修正后的假设模型的状态矩阵与归一化概率矩阵相乘,得到一维向量;将一维向量输入逻辑回归模型,得到文本蕴含模型的输出结果,并将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型。
在一个具体的示例中,文本蕴含模型的一些实施例的结构如图4b所示,上述文本蕴含模型的训练方法运行于其上的执行主体可以将前提语句和正例假设语句分别转化为一个矩阵后,前提语句的矩阵为[x1-x5],假设语句的矩阵为[x6-x9],把[x1-x5]和[x6-x9]分别输入给两个不同LSTM(一个LSTM结构的前提模型和一个LSTM结构的假设模型)。
基于预先设置的前提模型的初始记忆矩阵(一个全0的记忆矩阵),上述文本蕴含模型的训练方法运行于其上的执行主体将[x1-x5]输入到第一个LSTM网络中,得到记忆矩阵[c1-c5]和状态矩阵[h1-h5]。
基于前提模型所输出的最后一个记忆矩阵c5,将其作为假设模型的初始记忆矩阵c6,上述文本蕴含模型的训练方法运行于其上的执行主体将[x6-x9]输入到第二个LSTM网络中,得到记忆矩阵[c6-c9]和状态矩阵[h6-h9]。
之后,上述文本蕴含模型的训练方法运行于其上的执行主体将[h7-h9]每一个向量,都会和基于前提语句得出用于约束该向量的一个注意力权重矩阵(概率矩阵)相乘得到一个新的向量。即[H7-H9]。之后,将[H7-H9]乘以归一化概率矩阵,得到一维向量。再将一维向量输入逻辑回归模型,得到文本蕴含模型的输出结果。
在本实施例的一些可选实现方式中,每组训练语句还包括:负例假设语句,负例假设语句的第一负例假设子句所描述的第一负例假设事件与第二负例假设子句所描述的第二负例假设事件之间存在的逻辑关系不同于预设逻辑关系;以及无关语句,无关语句的第一无关子句所描述的第一无关事件与第二无关子句所描述的第二无关事件之间不存在关联关系;将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入、将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型还包括:将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入、将0作为文本蕴含模型对应正例假设语句的期望输出,以及基于以下至少一项训练文本蕴含模型:将负例假设语句作为假设模型的输入、将1作为文本蕴含模型对应负例假设语句的期望输出;将无关语句作为假设模型的输入、将1作为文本蕴含模型对应无关语句的期望输出。
在本实现方式中,每条语句可以包括两个不同的子句,每个子句描述一个事件。每组训练语句中前提语句的两个子句(第一前提子句与第二前提子句)与正例假设语句的两个子句(第一正例假设子句与第二正例假设子句)可以部分相同或完全相同,也可以不相同,本申请对此不做限定。但前提语句的两个子句之间的预设逻辑关系同样存在于正例假设语句的两个子句之间。
此外,每组训练语句中负例假设语句的两个子句(第一负例假设子句与第二负例假设子句)中的第一个子句(第一负例假设子句)与前提语句的第一个子句(第一前提子句)、正例假设语句的第一个子句(第一正例假设子句)可以相同,也可以不同,本申请对此不做限定;每组训练语句中负例假设语句的第二个子句(第二负例假设子句)与前提语句的第二个子句(第二前提子句)、正例假设语句的第二个子句(第二正例假设子句)均不相同,且每组训练语句中负例假设语句的两个子句之间存在的逻辑关系不同于预设逻辑关系。
此外,每组训练语句中无关语句的两个子句(第一无关子句与第二无关子句)中的第一个子句(第一无关子句)与前提语句的第一个子句、正例假设语句的第一个子句以及负例假设语句的第一个子句可以相同,也可以不同,本申请对此不做限定;每组训练语句中无关语句的第二个子句(第二无关子句)与前提语句的第二个子句、正例假设语句的第二个子句以及负例假设语句的第二个子句均不相同,且每组训练语句中无关语句的两个子句之间不存在关联关系。
本实现方式中通过将0作为文本蕴含模型对应正例假设语句的期望输出、将1作为文本蕴含模型对应负例假设语句的期望输出、将1作为文本蕴含模型对应无关语句的期望输出,可以在实际输出结果与期望输出结果的差值达到预设条件时确定文本蕴含模型中的参数,从而得到训练完成的文本蕴含模型。
该实现方式中的文本蕴含模型的训练方法,所得到的训练完成的文本蕴含模型的输出结果的取值介于(0,1)区间内,趋近于0表示前提语句和假设语句是蕴涵关系,趋近于1表示前提语句和假设语句没有蕴涵关系,提高了采用文本蕴含模型检测描述语句的逻辑关系的效率。
本公开上述图4a所示的实施例中的文本蕴含模型的训练方法,可以采用大量的包括前提语句、正例假设语句、负例假设语句和无关语句的训练数据对文本蕴含模型进行训练,提升了所训练的文本蕴含模型所预测的输出结果的准确性,从而提高了文本蕴含模型检测与种子语句具有相同逻辑的描述语句的准确性。此外,文本蕴含模型所采用的网络架构中考虑了注意力权重矩阵,将计算资源分配给更重要的任务,这样进一步提升了模型的性能。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种检测语句之间的关联关系的装置的一些实施例,该装置实施例与图2-图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的检测语句之间的关联关系的装置500可以包括:语句获取单元510,被配置成针对预设事件,获取种子语句和描述语句,其中,种子语句包括描述第一种子事件的第一种子子句和描述第二种子事件的第二种子子句,且第一种子事件与第二种子事件之间存在预设逻辑关系,描述语句包括描述第一描述事件的第一描述子句和描述第二描述事件的第二描述子句;结果确定单元520,被配置成将种子语句输入文本蕴含模型的前提模型,将描述语句输入文本蕴含模型的假设模型,基于前提模型的状态矩阵和假设模型的状态矩阵,得到文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果;其中,前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。
在本实施例的一些可选实现方式中,结果确定单元520中的假设模型中针对描述语句中各个词的状态向量基于逐字注意力机制引入前提模型中对应种子语句中各个词的状态向量作为约束。
在本实施例的一些可选实现方式中,结果确定单元520中所采用的文本蕴含模型基于以下单元确定(图中未示出):数据获取单元,被配置成获取文本蕴含模型的训练数据;训练数据包括多组训练语句,每组训练语句中的每条语句包括描述两个不同事件的不同子句,且每组训练语句包括:前提语句,前提语句的第一前提子句所描述的第一前提事件与第二前提子句所描述的第二前提事件之间存在预设逻辑关系;正例假设语句,正例假设语句的第一正例假设子句所描述的第一正例假设事件与第二正例假设子句所描述的第二正例假设事件之间存在预设逻辑关系;模型训练单元,被配置成将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入,将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型。
在本实施例的一些可选实现方式中,数据获取单元(图中未示出)所获取的每组训练语句还包括:负例假设语句,负例假设语句的第一负例假设子句所描述的第一负例假设事件与第二负例假设子句所描述的第二负例假设事件之间存在的逻辑关系不同于预设逻辑关系;以及无关语句,无关语句的第一无关子句所描述的第一无关事件与第二无关子句所描述的第二无关事件之间不存在关联关系;模型训练单元(图中未示出)中将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入、将0作为文本蕴含模型对应正例假设语句的期望输出,训练文本蕴含模型还包括:将前提语句作为前提模型的输入,将正例假设语句作为假设模型的输入、将0作为文本蕴含模型对应正例假设语句的期望输出,以及基于以下至少一项训练文本蕴含模型:将负例假设语句作为假设模型的输入、将1作为文本蕴含模型对应负例假设语句的期望输出;将无关语句作为假设模型的输入、将1作为文本蕴含模型对应无关语句的期望输出。
在本实施例的一些可选实现方式中,结果确定单元530中文本蕴含模型的输出结果基于以下单元确定(图中未示出):矩阵修正单元,被配置成将假设模型的状态矩阵与注意力权重矩阵相乘,得到修正后的假设模型的状态矩阵;其中,注意力权重矩阵为前提模型中各个字的状态向量约束假设模型中的各个字的状态向量的权重;向量确定单元,被配置成将修正后的假设模型的状态矩阵与归一化概率矩阵相乘,得到一维向量;向量输入单元,被配置成将一维向量输入逻辑回归模型,得到文本蕴含模型的输出结果。
在本实施例的一些可选实现方式中,装置还包括500:目标确定单元530,被配置成响应于输出结果指示描述语句与种子语句具有相同的逻辑关系,将所述描述语句确定为目标语句。
在本实施例的一些可选实现方式中,装置还包括500:图谱构建单元540,被配置成基于种子语句和目标语句,构建事理图谱。
在本实施例的一些可选实现方式中,语句获取单元510中的预设事件包括:公司事件,基金事件或股票事件;和/或语句获取单元510中的预设逻辑关系包括:因果关系、顺承关系、条件关系或上下位关系。
本公开的实施例还提供了一种电子设备/终端/服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上任一所述的方法。
本公开的实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一所述的方法。
本公开的实施例还提供了一种服务器,包括:接口;存储器,其上存储有一个或多个程序;以及一个或多个处理器,在操作上连接到上述接口和上述存储器,用于:针对预设事件,获取种子语句和描述语句,其中,种子语句包括描述第一种子事件的第一种子子句和描述第二种子事件的第二种子子句,且第一种子事件与第二种子事件之间存在预设逻辑关系,描述语句包括描述第一描述事件的第一描述子句和描述第二描述事件的第二描述子句;将种子语句输入文本蕴含模型的前提模型,将描述语句输入文本蕴含模型的假设模型,基于前提模型的状态矩阵和假设模型的状态矩阵,得到文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果;其中,前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当上述计算机程序被一个或多个处理器执行时,使得上述一个或多个处理器:针对预设事件,获取种子语句和描述语句,其中,种子语句包括描述第一种子事件的第一种子子句和描述第二种子事件的第二种子子句,且第一种子事件与第二种子事件之间存在预设逻辑关系,描述语句包括描述第一描述事件的第一描述子句和描述第二描述事件的第二描述子句;将种子语句输入文本蕴含模型的前提模型,将描述语句输入文本蕴含模型的假设模型,基于前提模型的状态矩阵和假设模型的状态矩阵,得到文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果;其中,前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器或终端设备)600的结构示意图。本公开的实施例中的终端设备可以包括但不限于诸如笔记本电脑、台式计算机等。图6示出的终端设备/服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:针对预设事件,获取种子语句和描述语句,其中,种子语句包括描述第一种子事件的第一种子子句和描述第二种子事件的第二种子子句,且第一种子事件与第二种子事件之间存在预设逻辑关系,描述语句包括描述第一描述事件的第一描述子句和描述第二描述事件的第二描述子句;将种子语句输入文本蕴含模型的前提模型,将描述语句输入文本蕴含模型的假设模型,基于前提模型的状态矩阵和假设模型的状态矩阵,得到文本蕴含模型指示描述语句与种子语句之间的关联关系的输出结果;其中,前提模型和假设模型为串联的两个LSTM模型,且前提模型所输出的最后一个记忆矩阵作为假设模型的初始记忆矩阵。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括语句获取单元和结果确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,语句获取单元还可以被描述为“针对预设事件,获取种子语句和描述语句的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。