具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的实时事件摘要的生成方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,接收文本流和用户查询文本,文本流包括按时间排序的事件文本。
本发明适用于数据处理平台或计算机、服务器等数据处理设备。可通过在网络中实时采集事件文本(例如社交媒体文本),由这些不同时间戳下采集到的事件文本构成文本流。用户查询文本为用户输入的关键字文本。每个事件文本和用户查询文本中都包括多个单词。
在步骤S102中,依据事件文本、用户查询文本和预设的知识库,生成事件文本的知识感知文本表示和用户查询文本的知识感知文本表示。
在本发明实施例中,知识库(Knowledge base,KB)中包含大量的知识,例如微软知识库或者一些基于维基百科构建的知识库,借助知识库对事件文本和用户查询文本进行文本表示,可有效地提高实时时间摘要的丰富度。
在本发明实施例中,事件文本的知识感知文本表示包括事件文本的初始上下文表示和初始知识表示,用户查询文本的知识感知文本表示包括用户查询文本的初始上下文表示和初始知识表示。在获得文本流和用户查询文本后,依据文本流中事件文本的单词得到事件文本的初始上下文表示,依据知识库和注意力机制得到事件文本的初始知识表示。同样的,依据文本流中用户查询文本的单词得到用户查询文本的初始上下文表示,依据知识库和注意力机制得到用户查询文本的初始知识表示。
在步骤S103中,依据事件文本的知识感知文本表示、用户查询文本的知识感知文本表示和训练好的交互式多头注意力网络,生成事件文本的交互式学习文本表示和用户查询文本的交互式学习文本表示。
在本发明实施例中,预先构建并训练交互式多头注意力网络,将事件文本的和用户查询文本的知识感知文本表示输入训练好的交互式多头注意力网络,得到每个事件文本的注意力矩阵,基于事件文本的注意力矩阵和事件文本的知识感知文本表示计算得到事件文本的交互式学习文本表示。同样地,通过将事件文本的和用户查询文本的知识感知文本表示输入交互式多头注意力网络,得到用户查询文本的注意力矩阵。基于用户查询文本的注意力矩阵和用户查询文本的知识感知文本表示计算得到用户查询文本的交互式学习文本表示。
在本发明实施例中,事件文本的注意力矩阵的计算过程有用户查询文本的参与,用户查询文本的注意力矩阵的计算过程有事件文本的参与,交互式多头注意力网络实现了事件文本与用户查询文本之间的交互学习,能够有效地捕捉到事件文本与用户查询文本之间的交互信息,提供事件文本和用户查询文本的文本表示的性能。
在步骤S104中,依据事件文本的交互式学习文本表示、用户查询文本的交互式学习文本表示和训练好的动态记忆网络,生成事件文本的特定文本表示。
在本发明实施例中,动态记忆网络用于记忆过去的事件文本,依据记忆内容调整当前的注意力,以免实时事件摘要中出现大量冗余内容。动态记忆网络除了记忆过去的事件文本、调整当前的注意力、依据事件文本的交互式学习文本表示和注意力生成与记忆内容重复度低的特定文本表示之外,还包括用于更新记忆内容的循环网络,该循环网络根据上一时间戳下事件文本的记忆内容和当前时间戳下事件文本的交互式学习文本表示得到当前时间戳下事件文本的记忆内容。
在步骤S105中,将事件文本的特定文本表示输入训练好的多任务联合训练模型,生成文本流的实时事件摘要,多任务联合训练模型包括实时事件摘要任务模型和相关性预测任务模型。
在本发明实施例中,将文本流中每个事件文本的特定文本表示输入至训练好的多任务联合训练模型,通过多任务联合训练模型中相关性预测任务模型计算得到文本流中每个事件文本的特定文本表示相对于用户查询文本的相关性标签,通过多任务联合训练模型中的实时事件摘要确定文本流中每个事件文本的文本动作,根据每个事件文本的文本动作生成文本流的实时事件摘要。其中,预测相关性标签包括高度相关、相关和不相关,文本动作包括推送和不推送,当文本动作为推送时将该事件文本的特定文本表示推送至实时事件摘要。
在本发明实施例中,借助知识库生成事件文本的和用户查询文本的知识感知文本表示,通过交互式多头注意力网络对这些知识感知文本进行交互式学习,生成事件文本的和用户查询文本的交互式学习文本表示,通过动态记忆网络对这些交互式学习文本表示进行处理,生成事件文本的特定文本表示,将事件文本的特定文本表示输入多任务联合训练模型,生成文本流的实时事件摘要,从而有效地提高了实时事件摘要的内容丰富度和性能,降低了实时事件摘要的冗余度,进而提高了实时事件摘要的生成效果。
实施例二:
图2示出了本发明实施例二提供的实时事件摘要的生成方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S201中,接收文本流和用户查询文本,文本流包括按时间排序的事件文本。
在本发明实施例中,文本流可表示为D={d
1,d
2,…,d
t,…,d
T},T表示文本流中事件文本的总数,d
t为文本流中第t个时间戳下的事件文本。文本流中的每个文本
由l个单词
组成(此处省略了文本的时间下缀,以简化这些参数的数学表示)。用户查询文本可表示为
由n个单词
组成。
在步骤S202中,通过提取事件文本中单词的隐藏状态,得到事件文本的初始上下文表示,通过提取用户查询文本中单词的隐藏状态,得到用户查询文本的初始上下文表示。
在本发明实施例中,通过预设的词嵌入层将事件文本中的每个单词和用户查询文本中的每个单词分别映射低维词嵌入向量。将事件文本中每个单词的低维词嵌入向量输入第一门控循环单元(GRU),计算得到事件文本中每个单词的隐藏状态。将用户查询文本中每个单词的低维词嵌入向量输入第二门控循环单元,计算得到用户查询文本中每个单词的隐藏状态。其中,第一门控循环单元与第二门控循环单元为互相独立的门控循环单元。
优选地,通过门控循环单元计算单词隐藏状态的计算公式为:
hk=GRU(hk-1,vk),其中,vk表示第k个单词的低维词嵌入向量,hk表示第k个单词的隐藏状态,hk-1表示第k-1个单词的隐藏状态。
在本发明实施例中,将事件文本中所有单词的隐藏状态组合成事件文本的初始上下文表示,将用户查询文本中所有单词的隐藏状态组合成用户查询文本的初始上下文表示。事件文本的初始上下文表示为
用户查询文本的初始上下文表示为
其中,
为事件文本中第i个单词
的隐藏状态,
为事件文本中第j个单词
的隐藏状态。
在步骤S203中,根据事件文本的初始上下文表示、注意力机制和知识库,生成事件文本的初始知识表示,根据用户查询文本的初始上下文表示、注意力机制和知识库,生成查询文本的初始知识表示。
在本发明实施例中,在知识库中为事件文本中的每个单词和用户查询文本中的每个分别选取预设数量个嵌入实体构成的候选实体集,候选实体集表示为:
N为嵌入实体的总数,e
k为第k个单词对应的候选实体集,当单词为事件文本中的单词时k=1,2,…,l,当单词为用户查询文本中的单词时k=1,2,…,n,d
kb为知识库中候选实体的维度。
在本发明实施例中,通过知识库中相应候选实体集的嵌入来学习事件文本中每个单词的知识表示,学习过程可表示为:
E
k d为事件文本中第k个单词的知识表示,e
ki为事件文本中第k个单词的候选实体集中第i个嵌入实体,a
ki为e
ki的上下文引导注意力权重,a
ki=softmax(ρ(e
ki,μ(H
d))),ρ(e
ki,μ(H
d))=tanh(W
kbe
ki+W
cμ(H
d)+b
kb),μ为平均池化操作,W
kb和W
c为训练好的权重矩阵,b
kb为偏置值。由事件文本中所有单词的知识表示构成事件文本的初始知识估计
从而通过上下文引导的注意力机制、知识库和事件文本的初始上下文表示,可得到事件文本的初始知识表示。同样地,通过上下文引导的注意力机制、知识库和用户查询文本的初始上下文表示,可得到用户查询文本的初始知识表示
具体可参照事件文本初始知识表示的学习过程,在此不再赘述。
在步骤S204中,由事件文本的初始上下文表示和事件文本的初始知识表示组合得到事件文本的知识感知文本表示,由用户查询文本的初始上下文表示和用户查询文本的初始知识表示组合得到用户查询文本的知识感知文本表示。
在本发明实施例中,事件文本的知识感知文本表示为:
用户查询文本的知识感知文本表示为:
在步骤S205中,将事件文本的知识感知文本表示和用户查询文本的知识感知文本表示输入交互式多头注意力网络,计算事件文本的注意力矩阵和用户查询文本的注意力矩阵。
在本发明实施例中,将事件文本的知识感知文本表示和用户查询文本的知识感知文本表示输入交互式多头注意力网络,计算得到事件文本的注意力矩阵和用户查询文本的注意力矩阵。
优选地,事件文本的注意力矩阵的计算公式表示为:
其中,μ为平均池化操作,
为事件文本中第i个单词的知识感知文本表示,A
i为事件文本的注意力矩阵A中的第i行矩阵,ρ为注意力函数,且
U
(1)和W
(1)为交互式多头注意力网络训练好的权重矩阵。
优选地,用户查询文本的注意力矩阵的计算公式表示为:
其中,B
i为用户查询文本的注意力矩阵B中的第i行矩阵。
在步骤S206中,根据事件文本的注意力矩阵和知识感知文本表示,计算得到事件文本的交互式学习文本表示,根据用户查询文本的注意力矩阵和知识感知文本表示,计算得到用户查询文本的交互式学习文本表示。
在本发明实施例中,事件文本的交互式学习文本表示的计算公式为od=AZd,用户查询文本的交互式学习文本表示的计算公式为oq=AZq。
在步骤S207中,依据事件文本的交互式学习文本表示、用户查询文本的交互式学习文本表示和训练好的动态记忆网络,生成事件文本的特定文本表示。
在本发明实施例中,由于文本流包括按时间排序的事件文本,文本流中的每个时间戳相当于动态记忆网络的每个步长。依次针对每个时间戳,获取当前时间戳的上一个时间戳的记忆内容,将该记忆内容、当前时间戳下的事件文本的交互式学习文本表示、以及用户查询文本输入动态记忆网络,通过动态网络中的注意力机制,计算得到当前时间戳下事件文本的特定文本表示。
优选地,事件文本的特定文本表示的计算公式为:
其中,emb
t为时间戳t下事件文本的特定文本表示,o
tj d为时间戳t下事件文本中第j个单词的交互式学习文本表示,注意力函数w
tj是一个前向神经网络,δ为用于将矩阵展平为矢量形式的函数,W
a、U
a、V
a是w
tj中的权重矩阵,b
a为w
tj中的偏置项,m
t-1为时间戳t-1下事件文本的记忆内容。
优选地,根据上一时间戳下事件文本对应的记忆内容和当前时间戳下事件文本的特定文本表示,计算当前时间戳下事件文本对应的记忆内容,从而按照时间戳的顺序生成事件文本对应的记忆内容并存储在动态记忆网络中。
进一步优选地,根据上一时间戳下事件文本对应的记忆内容和当前时间戳下事件文本的特定文本表示,通过第三门控循环单元计算当前时间戳下事件文本对应的记忆内容,计算公式为:
m
t=GRU(emb
t,m
t-1)。其中,初始时间戳下时间文本对应的记忆内容为用户查询文本中最后一个单词对应的交互式学习文本表示
即
在步骤S208中,将事件文本的特定文本表示输入训练好的多任务联合训练模型,生成文本流的实时事件摘要,多任务联合训练模型包括实时事件摘要任务模型和相关性预测任务模型。
在本发明实施例中,在多任务联合训练模型的训练过程中,相关性预测任务模型的目标函数可表示为:
其中,
分别为相关性预测任务模型中softmax层和全连接层的输出,
为特定文本表示emb
t相对于用户查询文本预测到的相关性标签,V
1 r和
为相关性预测的权重矩阵,需要在训练过程中对该权重矩阵进行训练。K为相关性标签的类别,例如当相关性标签包括高度相关、相关和不相关时K=3。I{·}是一个指示标记,I{true}=1,I{false}=0。通过有监督的方式对相关性预测任务的权重矩阵V
1 r和
进行学习,训练数据集为
d
t和q
t分别为训练数据集中时间戳t下的事件文本和用户查询文本,
为d
t相对于q
t的真实的相关性标签。通过最小化该目标函数(即预测的相关性标签与真实的相关性标签之间的交叉熵)进行训练。
在本发明实施例中,实时事件摘要任务模型的目标函数可表示为:
其中,R
T=r(a
1:T)=λEG(a
1:T)+(1-λ)nCG(a
1:T)为根据预测得到的相关性标签计算得到的预期奖励,表示在给定文本流和生成实时事件摘要的全局动作序列a
1:T之间的分数,由于无法在得到最终的全局动作序列之前获得奖励,该预期奖励是典型的延迟奖励,r(·)为奖励函数,λ为控制函数EG(·)和函数nCG(·)的系数,
为策略函数,此处采用随机策略梯度算法中具有参数θ的独立函数逼近器逼近随机策略π
θ,V
1 s和
为策略函数中要学习的权重矩阵,b
s为偏置值,a
t∈{0,1}为文本动作,a
t=1表示将时间戳为t的事件文本的特定文本表示推送至实时事件摘要中,a
t=0表示不将时间戳为t的事件文本的特定文本表示推送至实时事件摘要中,s
t=emb
t。在训练过程中采用强化学习算法对实时事件摘要任务模型的目标函数进行优化,优选地,采用策略梯度算法作为优化实时事件摘要任务模型的强化学习算法,以提高实时事件摘要任务模型的训练效果。
在本发明实施例中,多任务联合训练模型可表示为:
L=γ1L1+γ2L2,L1为相关性预测任务模型的目标函数,L2为实时事件摘要任务模型的目标函数,γ1、γ2分别为L1和L2的权重系数,对多任务联合训练模型进行训练即对相关性预测任务模型和实时事件摘要任务模型进行同步训练,充分考虑到相关性预测任务和实时事件摘要任务相互依赖的关系,有效地提高实时时间摘要的生成效果。
在本发明实施例中,借助知识库生成事件文本的和用户查询文本的知识感知文本表示,通过交互式多头注意力网络对这些知识感知文本进行交互式学习,生成事件文本的和用户查询文本的交互式学习文本表示,通过动态记忆网络对这些交互式学习文本表示进行处理,生成事件文本的特定文本表示,将事件文本的特定文本表示输入多任务联合训练模型,生成文本流的实时事件摘要,从而有效地提高了实时事件摘要的内容丰富度和性能,降低了实时事件摘要的冗余度,进而提高了实时事件摘要的生成效果。
实施例三:
图3示出了本发明实施例三提供的实时事件摘要的生成装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
文本接收模块31,用于接收文本流和用户查询文本,文本流包括按时间排序的事件文本;
知识感知表示生成模块32,用于依据事件文本、用户查询文本和预设的知识库,生成事件文本的知识感知文本表示和用户查询文本的知识感知文本表示;
交互式表示生成模块33,用于依据事件文本的知识感知文本表示、用户查询文本的知识感知文本表示和训练好的交互式多头注意力网络,生成事件文本的交互式学习文本表示和用户查询文本的交互式学习文本表示;
特定表示生成模块34,用于依据事件文本的交互式学习文本表示、用户查询文本的交互式学习文本表示和训练好的动态记忆网络,生成事件文本的特定文本表示;以及
实时摘要生成模块35,用于将事件文本的特定文本表示输入训练好的多任务联合训练模型,生成文本流的实时事件摘要,多任务联合训练模型包括实时事件摘要任务模型和相关性预测任务模型。
优选地,如图4所示,知识感知表示生成模块32包括:
上下文生成模块321,用于通过提取事件文本中单词的隐藏状态,得到事件文本的初始上下文表示,通过提取用户查询文本中单词的隐藏状态,得到用户查询文本的初始上下文表示;
初始知识表示生成模块322,用于根据事件文本的初始上下文表示、注意力机制和知识库,生成事件文本的初始知识表示,根据用户查询文本的初始上下文表示、注意力机制和知识库,生成查询文本的初始知识表示;以及
知识感知表示组合模块323,用于由事件文本的初始上下文表示和事件文本的初始知识表示组合得到事件文本的知识感知文本表示,由用户查询文本的初始上下文表示和用户查询文本的初始知识表示组合得到用户查询文本的知识感知文本表示。
优选地,交互式表示生成模块33包括:
注意力矩阵计算模块,用于将事件文本的知识感知文本表示和用户查询文本的知识感知文本表示输入交互式多头注意力网络,计算事件文本的注意力矩阵和用户查询文本的注意力矩阵;以及
交互式表示生成子模块,用于根据事件文本的注意力矩阵和知识感知文本表示,计算得到事件文本的交互式学习文本表示,根据用户查询文本的注意力矩阵和知识感知文本表示,计算得到用户查询文本的交互式学习文本表示。
优选地,特定表示生成模块34包括:
记忆内容获取模块,用于获取文本流中上一时间戳下的事件文本的记忆内容;以及
特定表示生成子模块,用于将上一时间戳下事件文本的记忆内容、当前时间戳下事件文本的交互式学习文本表示和用户查询文本的交互式学习文本表示输入动态记忆网络,获得当前时间戳下事件文本的特定文本表示。
优选地,特定表示生成模块34还包括:
记忆内容计算模块,用于根据当前时间戳下事件文本的特定文本表示和上一时间戳下事件文本的记忆内容,计算当前时间戳下事件文本的记忆内容。
优选地,实时事件摘要的生成装置还包括:
训练模块,用于获取训练数据,根据训练数据对实时事件摘要任务与相关性预测任务进行同时训练,实时事件摘要任务采用策略梯度算法进行训练,相关性预测任务采用有监督方式进行训练。
在本发明实施例中,借助知识库生成事件文本的和用户查询文本的知识感知文本表示,通过交互式多头注意力网络对这些知识感知文本进行交互式学习,生成事件文本的和用户查询文本的交互式学习文本表示,通过动态记忆网络对这些交互式学习文本表示进行处理,生成事件文本的特定文本表示,将事件文本的特定文本表示输入多任务联合训练模型,生成文本流的实时事件摘要,从而有效地提高了实时事件摘要的内容丰富度和性能,降低了实时事件摘要的冗余度,进而提高了实时事件摘要的生成效果。
在本发明实施例中,实时事件摘要的生成装置的各单元的实施内容可参照实施例一、实施例二相应步骤的详细描述,在此不再赘述。
在本发明实施例中,实时事件摘要的生成装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例四:
图5示出了本发明实施例四提供的计算机设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的计算机设备5包括处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52。该处理器50执行计算机程序52时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器50执行计算机程序52时实现上述装置实施例中各单元的功能,例如图3所示单元31至35的功能。
在本发明实施例中,借助知识库生成事件文本的和用户查询文本的知识感知文本表示,通过交互式多头注意力网络对这些知识感知文本进行交互式学习,生成事件文本的和用户查询文本的交互式学习文本表示,通过动态记忆网络对这些交互式学习文本表示进行处理,生成事件文本的特定文本表示,将事件文本的特定文本表示输入多任务联合训练模型,生成文本流的实时事件摘要,从而有效地提高了实时事件摘要的内容丰富度和性能,降低了实时事件摘要的冗余度,进而提高了实时事件摘要的生成效果。
实施例五:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S105。或者,该计算机程序被处理器执行时实现上述装置实施例中各单元的功能,例如图3所示单元31至35的功能。
在本发明实施例中,借助知识库生成事件文本的和用户查询文本的知识感知文本表示,通过交互式多头注意力网络对这些知识感知文本进行交互式学习,生成事件文本的和用户查询文本的交互式学习文本表示,通过动态记忆网络对这些交互式学习文本表示进行处理,生成事件文本的特定文本表示,将事件文本的特定文本表示输入多任务联合训练模型,生成文本流的实时事件摘要,从而有效地提高了实时事件摘要的内容丰富度和性能,降低了实时事件摘要的冗余度,进而提高了实时事件摘要的生成效果。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。