一种金融领域事件抽取方法和装置与流程

文档序号:31536241发布日期:2022-09-16 22:35阅读:180来源:国知局
一种金融领域事件抽取方法和装置与流程

1.本发明涉及自然语言处理技术领域,特别涉及一种金融领域事件抽取方法和装置。


背景技术:

2.事件抽取(event extraction)是自然语言处理领域中的一个重要研究方向,在智能问答、知识图谱、信息检索、自动摘要等领域中有着重要的应用。事件抽取旨在从非结构化的文本数据中自动抽取出用户感兴趣的事件,并以结构化的形式表示。一个结构化的事件通常由事件触发词、事件类型、事件元素和元素角色组成。
3.目前,事件抽取的方法可以大致分为两类——基于模式匹配的方法和基于机器学习的方法。早期的事件抽取大多都是基于模式匹配的方法,基于语法树或者正则表达式等方法利用人工制定大量的规则或模式。基于机器学习的方法大致分为管道抽取和联合抽取两种。管道抽取方法将事件抽取转化为多阶段的分类问题,顺序地执行事件类型检测任务和事件元素识别任务;联合抽取方法则考虑到事件触发词与事件元素之间的相互影响,将各个分类模型整体优化,并加入全局特征,对事件类型和事件元素进行联合抽取。


技术实现要素:

4.发明人发现,目前,大多数基于机器学习的事件抽取方法仅通过触发词的类型来判断事件类型,而在实际的事件描述中,不一定会用到对应事件的触发词,或者可能用到其它事件的触发词,因此容易造成误判或漏判的情况。为了至少部分地解决现有技术存在的技术问题,发明人做出本发明,通过具体实施方式,提供的技术方案如下:
5.第一方面,本发明实施例提供一种方法,所述方法包括以下步骤:
6.对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合;
7.针对所述分句集合中的每个分句,获取分句中每个分词的词向量和位置向量,并将所述词向量和对应的位置向量累加,得到对应分词的输出向量;
8.根据预定义的元素标注序列,对每个分句执行序列标注,标注出分句中属于事件元素的分词;所述事件元素为对应于金融事件中的相应类型事件角色的实体;
9.获取分句的句向量,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果;
10.根据所述累加结果,在预设的事件分类模型中,确定所述分句是否属于预设类型金融事件的事件句;所述预设的事件分类模型是根据预先标注的训练文本训练得到的;
11.若是,则输出所述分句对应的结构化事件。
12.进一步的,所述获取分句的句向量,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果,包括:
13.根据注意力机制,对分句中全部分词的输出向量进行加权求和,得到所述分句的
句向量;
14.将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果。
15.进一步的,所述预设的事件分类模型包括前馈神经网络和归一化分类器;
16.所述根据所述累加结果,在预设的事件分类模型中,确定所述分句是否属于预设类型金融事件的事件句,包括:
17.在前馈神经网络中对所述累加结果进行分析,得到一个维度为2的特征向量;
18.在归一化分类器中对所述维度为2的特征向量进行归一化处理,得到对应分句的分类结果,根据所述分类结果,确定所述分句是否属于预设类型金融事件的事件句。
19.进一步的,所述根据预定义的元素标注序列,对每个分句执行序列标注,标注出分句中属于事件元素的分词,包括:
20.根据预定义的元素标注序列,使用预设的事件元素抽取模型,对每个分句执行序列标注,标注出分句中属于事件元素的分词;
21.所述预设的事件元素抽取模型包括全连接层神经网络和条件随机场,是根据所述预先标注的训练文本训练得到的。
22.进一步的,所述预先标注的训练文本通过以下方式得到:
23.生成原始文本集中各原始文本的索引信息;
24.针对每一原始文本,根据预定义的金融事件结构中的各事件角色,分类抽取出原始文本中符合对应类型事件角色的实体,得到候选实体集;所述预定义的金融事件结构包括组成对应金融事件的事件角色和所述事件角色的属性,所述事件角色的属性包括是否为核心事件角色;
25.根据所述预定义的金融事件结构,对候选实体集中的各类实体进行排列组合,组成第一候选事件集;
26.根据第一候选事件集中的各候选事件在对应原始文本中的文本特征和位置特征,在预设的分类器中,筛选得到所述第一候选事件集中的真实事件;
27.将所述真实事件以及所述真实事件所对应原始文本的索引信息写入金融事件知识库;
28.根据金融事件知识库中的所述原始文本的索引信息,将所述金融事件知识库中的真实事件的各事件角色分别标注到对应原始文本中的对应实体上,得到事件元素标注文本;
29.将所述事件元素标注文本中包含核心事件角色标注且事件角色标注的数量大于预设数量的句子标注为事件句,得到预先标注的训练文本。
30.进一步的,所述根据第一候选事件集中的各候选事件在对应原始文本中的文本特征和位置特征,在预设的分类器中,筛选得到所述第一候选事件集中的真实事件,包括:
31.根据预设过滤条件对第一候选事件集中的候选事件进行筛选,得到第二候选事件集;
32.根据所述第二候选事件集中的各候选事件在对应原始文本中的文本特征和位置特征,在预设的分类器中,筛选得到所述第二候选事件集中的真实事件。
33.进一步的,所述根据所述第二候选事件集中的各候选事件在对应原始文本中的文
本特征和位置特征,在预设的分类器中,筛选得到所述第二候选事件集中的真实事件,包括:
34.针对所述第二候选事件集中的每一候选事件,根据候选事件中的各实体在对应原始文本中的词性、词频、词长度、以及所处的位置,构建对应候选事件的特征向量;
35.将所述候选事件的特征向量输入到预设的分类器中,判断对应候选事件是否属于预设类型金融事件,得到所述第二候选事件集中的真实事件。
36.进一步的,所述对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合,包括:
37.设定标准分句长度;
38.根据具有句子意义的标点符号对待抽取文本进行分句;
39.若分句后的句子长度大于所述标准分句长度,则以分句长度小于且最接近标准分句长度的标点符号进行分句;
40.用填充符号将分句后长度不足标准分句长度的句子填充至标准分句长度,得到所述待抽取文本的分句集合;
41.利用分词工具对分句集合中的每个分句进行分词,得到每个分句的分词集合。
42.进一步的,所述对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合,还包括:
43.设定标准分句数量,当对待抽取文本切分出的分句数量达到标准分句数量时,对其余文本进行截断;当对待抽取文本切分出的分句数量少于标准分句数量时,用填充符号补充至标准分句数量。
44.第二方面,本发明实施例提供一种金融领域事件抽取装置,其特征在于,包括文本预处理模块、词向量生成模块、事件元素抽取模块、句向量累加模块、事件分类模块和事件输出模块,其中:
45.所述文本预处理模块,用于对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合;
46.所述词向量生成模块,用于针对所述分句集合中的每个分句,获取分句中每个分词的词向量和位置向量,并将所述词向量和对应的位置向量累加,得到对应分词的输出向量;
47.所述事件元素抽取模块,用于根据预定义的元素标注序列,对每个分句执行序列标注,标注出分句中属于事件元素的分词;所述事件元素为对应于金融事件中的相应类型事件角色的实体;
48.所述句向量累加模块,用于获取分句的句向量,并将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果;
49.所述事件分类模块,用于根据所述累加结果,在预设的事件分类模型中,确定所述分句是否属于预设类型金融事件的事件句;所述预设的事件分类模型是根据预先标注的训练文本训练得到的;
50.所述事件输出模块,用于当所述分句属于预设类型金融事件的事件句时,输出所述分句对应的结构化事件。
51.本发明实施例提供的上述技术方案的有益效果至少包括:
52.本发明实施例对待抽取文本进行分句、分词后,将分词的词向量和位置向量累加得到对应分词的输出向量;然后根据预定义的元素标注序列,对每个分句执行序列标注,得到对应分句的事件元素标注结果;并根据事件元素标注结果,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,根据累加结果判断所述分句是否属于预设类型金融事件的事件句,若是,则输出所述分句对应的结构化事件。本发明实施例根据文本中每一个句子所包含的事件元素来判断对应句子是否属于预设类型事件的事件句,从而来判断文本中的事件类型,与现有技术中通过触发词来判断文本中的事件类型相比,通过分析句子整体信息的方式,增加了判断的元素,能够减少误判和漏判的情况,提高对文本事件类型检测的准确率,从而提高事件抽取任务的抽取效果。
53.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
54.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
55.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
56.图1为本发明实施例中,一种金融领域事件抽取方法的流程示意图;
57.图2为本发明实施例中,另一种金融领域事件抽取方法的流程示意图;
58.图3为本发明实施例中,一种金融领域事件抽取模型的结构示意图;
59.图4为本发明实施例中,一种获取预先标注的训练文本方法的流程示意图;
60.图5为本发明实施例中,另一种获取预先标注的训练文本方法的流程示意图;
61.图6为本发明实施例中,一种金融领域事件抽取装置的结构示意图。
具体实施方式
62.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
63.为更好地理解本发明,下面对一些专用名词作出介绍。
64.实体(entity):一个语义类别中的对象或对象的集合,如公司名称、日期和价格等。
65.事件(event):在真实世界中已经/可能/将要发生的事情,一般包括时间、地点和人物等角色,如公司上市、公司倒闭、融资、投资等事件。
66.角色(role):事件的参与者和属性,一般用实体来填充。如上市的公司、上市日期和开盘价就是“公司上市”事件的角色。
67.本发明实施例提供了一种金融领域事件抽取方法,如图1所示,包括以下步骤:
68.s11,对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合。
69.具体的,先利用预设的分句工具对待抽取文本进行分句,然后通过开源的分词工具如hanlp、jieba等对每个分句进行分词。
70.在一个实施例中,所述预设的分句工具输出的分句长度为固定值,以便于分词工具对分句进行分词。
71.具体的,在所述预设的分句工具中,设定有标准分句长度,当输入一篇待抽取文本时,所述预设的分句工具根据具有句子意义的标点符号对待抽取文本进行分句,若分句后的句子长度大于所述标准分句长度,则以分句长度小于且最接近标准分句长度的标点符号进行分句,然后,用填充符号将分句后长度不足标准分句长度的句子填充至标准分句长度,得到所述待抽取文本的分句集合。将得到的分句集合输入到分词工具中进行分词,即得到每个分句的分词集合。
72.举例来说,标准分句长度设定为64个字,利用所述预设的分句工具对表1中的原始文本进行切分后,得到表2中的分句集合,其中的填充符号省略。
[0073][0074]
表1
[0075][0076][0077]
表2
[0078]
在一个实施例中,所述预设的分句工具输出的分句数量为固定值,以便于分词工
具对分句进行分词。
[0079]
具体的,在所述预设的分句工具中,还设有标准分句数量,例如设定为5句,在上述分句方式的基础上,当所述预设的分句工具对待抽取文本切分出的分句数量达到标准分句数量时,对其余文本进行截断;当所述预设的分句工具对待抽取文本切分出的分句数量少于标准分句数量时,用填充符号补充至标准分句数量。根据这一分句方法,得到由标准分句数量的分句组成的分句集合。将得到的分句集合输入到分词工具中进行分词,即得到每个分句的分词集合。
[0080]
s12,针对所述分句集合中的每个分句,获取分句中每个分词的词向量和位置向量,并将所述词向量和对应的位置向量累加,得到对应分词的输出向量。
[0081]
具体的,可利用预设的bert层(bidirectional encoder representationsfrom transformers,基于transformer结构的双向编码器表示)将每个分词转换成对应的词向量,所述词向量具有固定的维度,例如为64维。并且,在bert层中为每个分词加入一个位置向量,以表示每个分词在对应分句中的位置。将分词的词向量和位置向量在各个维度上累加,即得到各分句中对应分词的输出向量。
[0082]
所述预设的bert层是通过训练文本训练得到的,模型训练时,确定分词的位置向量的具体方法可以是:随机初始化一个参数矩阵p= [max_sentence_len,width],其中参数矩阵p的每一行表示对应分句中每个分词的位置向量,width表示位置向量的维度,与词向量的维度保持一致,然后在模型训练过程中不断更新p中的元素,得到对应分句中每个分词的位置向量。
[0083]
s13,根据预定义的元素标注序列,对每个分句执行序列标注,标注出分句中属于事件元素的分词。
[0084]
需要说明的是,所述事件元素为对应于金融事件中的相应类型事件角色的实体。
[0085]
具体的,根据要抽取的目标类型事件所包含的事件角色,预定义一个元素标注序列,所述元素标注序列中包括各事件角色的标签和非事件角色的标签;根据所述预定义的元素标注序列,对每个分句执行序列标注,为分句中每一个分词标注一个标签,其中,标注为某种事件角色标签的分词即为事件元素或事件元素的一部分,考虑到部分实体可能被拆分为多个分词,将这些分词组合,视为一个事件元素。当要抽取的目标类型事件包括多类时,所述元素标注序列中包括这些类型事件中的全部事件角色的标签。
[0086]
其中,序列标注步骤中可以采取bio(begin-inside-outside,头部-内部
ꢀ‑
外部)的标签标注格式,即将每个分词标记成b-x、i-x或o中的一种,其中,b-x表示对应分词所在的片段属于x类型事件角色并且该分词在此片段的开头位置,i-x表示对应分词所在的片段属于x类型事件角色并且该分词在此片段的中间或末尾位置,o表示对应分词不属于任何一种事件角色。完成bio标签标注后,即可识别出分句中属于事件元素的分词。
[0087]
在一个实施例中,如图2所示,步骤s13包括:
[0088]
s131,根据预定义的元素标注序列,使用预设的事件元素抽取模型,对每个分句执行序列标注,标注出分句中属于事件元素的分词。
[0089]
具体的,所述事件元素抽取子模型包括全连接层神经网络和crf (conditional random field,条件随机场)层,工作时,事件元素抽取子模型接收由步骤s12得到的各分句中分词的输出向量,通过全连接层神经网络学习所述分词的输出向量在预定义的元素标注
序列中的状态特征,得到各分词的状态分数,将各分词的状态分数输入到crf层,由crf层学习得到一个转移分数矩阵,矩阵中每一列表示对应分词为各种标签的概率值,将概率值最大的标签标注到对应的分词上。其中,标注为某种事件角色标签的分词即为事件元素或事件元素的一部分。
[0090]
需要说明的是,所述事件元素抽取模型是根据所述预先标注的训练文本训练得到的。所述预先标注的训练文本包括事件元素的标注和事件句的标注,可以是由人工标注得到的,也可以是基于机器学习方法自动标注得到的。
[0091]
s14,获取分句的句向量,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果。
[0092]
具体的,通过步骤s13,已经标注出分句中属于事件元素的分词,可以直接得到这些分词的输出向量。而分句的句向量是由分句中每个分词的词向量求和得到的,可以是直接累加,也可以是平均求和。
[0093]
优选的,在一个实施例中,如图2所示,步骤s14具体包括:
[0094]
s141,根据注意力机制,对分句中全部分词的输出向量进行加权求和,得到所述分句的句向量。
[0095]
s142,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果。
[0096]
举例来说,可以在注意力(attention)机制的框架中,使用键向量(keyi)和值向量(valuei)表示分词的词向量,然后随机初始化一个查询向量(queryvector),对查询向量和分词的键向量进行点积操作,得到输出值si,对分句中所有分词的输出值si进行归一化后得到每个分词的权重值αi,将分句中所有分词对应的权重值αi与值向量valuei相乘并累加,即得到分句的句向量表示。本优选方案采取加权求和的方式,可根据每个分词的重要程度获得更好的句向量表示。
[0097]
容易知道的是,由于各分词词向量的维度一致,则求和得到的分句句向量的维度与分词词向量的维度相同,可便于累加。
[0098]
s15,根据所述累加结果,在预设的事件分类模型中,确定所述分句是否属于预设类型金融事件的事件句。
[0099]
在所述预设的事件分类模型,事件类型检测被当作二分类任务处理,根据需要检测的事件类型,分别设有对应的判别子模型,每个判别子模型均由简单的前馈神经网络组成。
[0100]
需要说明的是,所述预设的事件分类模型是根据预先标注的训练文本训练得到的;所述预先标注的训练文本可以是上述用于训练事件元素抽取模型的文本。在实际训练时,所述事件分类模型和事件元素抽取模型可以根据同一训练文本同时进行训练,并共用一个损失函数,以避免误差的传递,使得事件分类模型和事件元素抽取模型的关联性更好,分类和抽取的效果更好。
[0101]
应用时,将分句的句向量和分句中属于事件元素的分词的词向量的累加结果,输入到预设的事件分类模型中,分别由各个判别子模型对所述累加结果进行分析,每个判别子模型输出一个维度为2的特征向量,再通过 softmax(归一化)分类器对每个所述特征向量进行归一化即可得到0/1输出,输出为1则表示对应分句属于对应判别子模型所对应的事
件类型的事件句。
[0102]
s16,若所述分句属于预设类型金融事件的事件句,则输出所述分句对应的结构化事件。
[0103]
根据步骤s13和步骤s15,已经标注出分句中属于事件元素的分词,并确定了所述分句是否属于预设类型金融事件的事件句,根据这些信息,可以输出具体事件内容。
[0104]
在本实施例中,以结构化事件的形式输出具体事件内容,所述结构化事件可以由事件类型和事件元素构成;优选的,所述结构化事件还包括事件句;优选的,还包括文本id或文本名。表3为一种输出的结构化事件。
[0105][0106]
表3
[0107]
可以理解的是,输出的结构化事件中,根据不同的事件类型,事件角色的类别是预先定义好的。举例来说,定义的“公司上市”事件,包含“公司名称”、“上市日期”、“交易所”、“板块”、“股票代码”和“开盘价”这6种事件角色,若在事件句中标注出了符合这些事件角色的事件元素,则将这些事件元素输出显示在对应的事件角色栏中。每一类型事件的具体结构,可根据相应的领域知识和领域经验进行定义。
[0108]
本实施例对待抽取文本进行分句、分词后,将分词的词向量和位置向量累加得到对应分词的输出向量;然后根据预定义的元素标注序列,对每个分句执行序列标注,得到对应分句的事件元素标注结果;并根据事件元素标注结果,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,根据累加结果判断所述分句是否属于预设类型金融事件的事件句,若是,则输出所述分句对应的结构化事件。
[0109]
本发明实施例根据文本中每一个句子所包含的事件元素来判断对应句子是否属于预设类型事件的事件句,从而来判断文本中的事件类型,与现有技术中仅通过触发词来
判断文本中的事件类型相比,通过分析句子整体信息的方式,增加了判断的元素,能够减少误判和漏判的情况,提高对文本事件类型检测的准确率,从而提高事件抽取任务的抽取效果。
[0110]
为了更好地理解本发明,在本实施例中,结合图3所示,下面还对事件元素抽取模型和事件分类模型进行说明。
[0111]
事件元素抽取模型和事件分类模型是整个金融领域事件抽取模型的组成部分,所述金融领域事件抽取模型还包括输入层、bert层和输出层,其中:
[0112]
输入层用于执行步骤s11;
[0113]
bert层用于执行步骤s12;
[0114]
事件元素抽取模型包括全连接层神经网络和crf层,用于执行步骤s13;
[0115]
事件分类模型包括attention层、前馈神经网络层和softmax层,所述 attention层用于执行步骤s14,前馈神经网络层和softmax层用于执行步骤 s15;
[0116]
输出层用于执行步骤s16。
[0117]
事件元素抽取模型和事件分类模型都是根据预先标注的训练文本训练得到的,具体的训练过程与上述对带抽取文本的抽取过程类似,主要的不同之处在于:训练时,事件元素抽取模型对训练文本中事件元素的标注结果和事件分类模型对训练文本中事件句的标注结果,需要与训练文本中预先标注好的事件元素和事件句进行对比,并计算损失值,根据损失函数,使用adam算法对模型不断更新和优化。
[0118]
在本实施例中,事件元素抽取模型和事件分类模型同时对训练文本进行分析,并共用同一个损失函数,整体损失值由事件元素抽取模型和事件分类模型的损失共同组成,并使用超参数λ调节这两个模型产生的损失在整体损失中的占比。
[0119]
其中,所述事件元素抽取模型以分句为单位计算事件元素抽取模型中 crf层的损失值,假设分句中的分词在经过crf层一共出现n种可能的标注结果,每种结果对应一个分数pi,其中包含一个正确的结果,其对应的分数为p
realpath
。将训练文本中所有分句的损失值累加起来,即可得到整个训练文本的事件元素抽取损失值lossc,如下式所示。
[0120][0121]
所述事件分类模型使用交叉熵为每种事件类型计算分类损失值losse,如下式所示。
[0122][0123]
其中,y表示训练文本中预先标注的事件类型,表示模型预测出的事件类型。
[0124]
而事件元素抽取模型和事件分类模型的整体损失函数loss如下式所示。
[0125][0126]
其中,n表示从训练文本中切分出来的分句数量,k表示事件类型的数量,λ是用于调节事件元素抽取模型和事件类型检测模型损失比重的超参数。
[0127]
在本实施例中,如图4所示,所述预先标注的训练文本可以通过以下方式得到:
[0128]
s21,生成原始文本集中各原始文本的索引信息。
[0129]
具体的,搜集与想要抽取的事件相关的原始文本,组成原始文本集,并生成这些原始文本的索引信息,所述索引信息可以是文本id等。
[0130]
s22,针对每一原始文本,根据预定义的金融事件结构中的各事件角色,分类抽取出原始文本中符合对应类型事件角色的实体,得到候选实体集;所述预定义的金融事件结构包括组成对应金融事件的事件角色和所述事件角色的属性,所述事件角色的属性包括是否为核心事件角色。
[0131]
举例来说,“公司上市”事件的所述预定义的金融事件结构如表4所示。
[0132][0133]
表4
[0134]
所述原始文本可以是经过预处理的,所述预处理可以包括格式转换、数据清洗等,举例来说,先将xml、json、pdf等格式的金融领域数据进行解析并转换成文本格式,然后对转换后的文本进行乱码字符、特殊符号的过滤;所述乱码字符和特殊符号包括{*?!!/|\&^#@~`《》}等。
[0135]
抽取原始文本中的实体时,借助开源的命名实体识别工具如jieba、hanlp 以及正则表达式、词典和人工构建规则等方式从文本数据中抽取出各种类型的实体。举例来说,根据表1所示的文本,抽取得到如表5所示的候选实体集。
[0136][0137]
[0138]
表5
[0139]
s23,根据所述预定义的金融事件结构,对候选实体集中的各类实体进行排列组合,组成第一候选事件集。
[0140]
结合表4可知,所述预定义的金融事件结构中,包括对应类型事件所需的角色以及这些事件角色对实体属性的约束。根据这种约束,将候选实体集中不同类型的实体组合起来,形成第一候选事件集,第一候选事件集中的每个元素表示一个可能成立的结构化事件。举例来说,根据表5所示的候选实体集,可以得到如表6所示的第一候选事件集。
[0141][0142]
表6
[0143]
s24,根据第一候选事件集中的各候选事件在对应原始文本中的文本特征和位置特征,在预设的分类器中,筛选得到所述第一候选事件集中的真实事件。
[0144]
在本实施例中,所述文本特征和位置特征,包括各个实体对应的词性、词频、长度,以及在文本中所处的位置等特征。提取各个实体的文本特征和位置特征,拼接成一个特征向量,送入到由全连接层神经网络组成的二分类器中,判断各候选事件是否属于某一类金融事件,若属于,则筛选为真实事件。
[0145]
在一个原始文本中,通常只描述一个主要事件,即只包含一个真实事件,当然也存在一个文本中描述多个事件的情况,此时,根据不同的筛选条件也可以筛选出多个真实事件。以表6所示的第一候选事件集为例,其中只包含一个真实事件,如表7所示。
[0146][0147]
表7
[0148]
在一个实施例中,如图5所示,步骤s24具体包括:
[0149]
s241,根据预设过滤条件对第一候选事件集中的候选事件进行筛选,得到第二候
选事件集;
[0150]
s242,根据所述第二候选事件集中的各候选事件在对应原始文本中的文本特征和位置特征,在预设的分类器中,筛选得到所述第二候选事件集中的真实事件。
[0151]
在步骤s241中,将第一候选事件集中的每个候选事件传入到事件过滤器中,事件过滤器通过自定义的规则进一步筛选出第二候选事件集,如某一类型事件必须包含哪些类型的实体,实体出现的顺序等规则。例如,在筛选“公司上市”事件时,可以遵循以下规则:
[0152]
规则1:当出现多个公司名称时,只取出现频率最高的那个;
[0153]
规则2:上市日期应为xxxx年xx月xx日或xx月xx日的一种;
[0154]
规则3:股票代码应为6位数字;
[0155]
规则4:开盘价格不得包含“万”、“亿”等字眼;
[0156]
规则5:板块应为“主板”、“中小板”、“科创板”、“创业板”中的一种。
[0157]
根据这些筛选规则,可从表6所示的第一候选事件集中筛选出第二候选事件集,如表6.1所示。
[0158][0159]
表6.1
[0160]
得到第二候选事件集后,再通过步骤s242筛选出第二候选事件集中的真实事件。
[0161]
本实施例先通过自定义的规则对第一候选事件集中的候选事件进行筛选,再根据所述第二候选事件集筛选出真实事件,相比于直接根据第一候选事件集筛选出真实事件,可提高对真实事件的筛选效率,并减少对真实事件的判断误差。
[0162]
s25,将所述真实事件以及所述真实事件所对应原始文本的索引信息写入金融事件知识库。
[0163]
具体的,在所述金融事件知识库设有对应各类型金融事件的表结构,所述表结构包括对应类型金融事件的事件角色栏和索引信息栏,所述索引信息可以是文本id,例如“公司上市”事件对应的表结构如表8所示。
[0164]
[0165]
表8
[0166]
逐步将步骤s24筛选出的真实事件和这一真实事件所在原始文本的索引信息写入的对应类型事件的表结构中,即可组成金融事件知识库。
[0167]
s26,根据金融事件知识库中的所述原始文本的索引信息,将所述金融事件知识库中的真实事件的各事件角色分别标注到对应原始文本中的对应实体上,得到事件元素标注文本。
[0168]
具体的,针对原始文本集中的每篇文本,根据文本的索引信息,在所述金融知识库中进行检索,确认该文本中是否存在结构化事件,如果存在,则筛选为训练文本,然后根据金融事件知识库中记录的真实事件,将真实事件中的事件角色标注到对应训练文本中的对应实体上。
[0169]
举例来说,对表1所示的训练文本进行标注后,得到如表9所示的事件元素标注文本。
[0170][0171]
表9
[0172]
s27,将所述事件元素标注文本中包含核心事件角色标注且事件角色标注的数量大于预设数量的句子标注为事件句,得到预先标注的训练文本。
[0173]
在本实施例中,句子即为用句号或者分号分割的语法单位,即通常意义上的句子。判断一个句子为事件句需要满足以下两个条件:
[0174]
条件一:事件句至少包含一个由所述预定义的金融事件结构定义的核心事件角色,例如,在“公司上市”事件中,公司名称就是核心事件角色;
[0175]
条件二:事件句包含的事件角色数量不得少于k个,k的取值区间一般为[3,5],具体可根据事件类型的不同进行选取。
[0176]
当一个句子同时满足所述条件一和所述条件二时,即标注为事件句。
[0177]
在表9所示的事件元素标注文本中,“1月5日,中国移动(600941)正式登陆上海证券交易所主板市场,开盘价为63元,相较57.58元的ipo发行价上涨9.41%。”不仅包含公司名称核心事件角色,而且其包含的事件角色数量为6,满足上述条件,因此可标注为事件句,得到预先标注的训练文本。
[0178]
实施训练时,将所述预先标注的训练文本按一定比例划分为训练集、验证集和测试集,以对事件元素抽取模型和事件分类模型进行训练和优化。例如,按照80%、10%、10%的比例进行划分,分别得到训练集、验证集和测试集。
[0179]
本发明实施例提供的获取预先标注的训练文本的方式,基于远程监督思想,实现了对文本中事件元素和事件句的自动标注,节省了人工标注的成本,可便于获取大规模的预先标注的训练文本。
[0180]
基于与上述金融领域事件抽取方法同样的发明构思,本发明实施例还提供了一种金融领域事件抽取装置,如图6所示,包括文本预处理模块301、词向量生成模块302、事件元素抽取模块303、句向量累加模块304、事件分类模块305和事件输出模块306,其中:
[0181]
文本预处理模块301,用于对待抽取文本进行分句、分词处理,得到所述待抽取文本的分句集合和每个分句的分词集合;
[0182]
词向量生成模块302,用于针对所述分句集合中的每个分句,获取分句中每个分词的词向量和位置向量,并将所述词向量和对应的位置向量累加,得到对应分词的输出向量;
[0183]
事件元素抽取模块303,用于根据预定义的元素标注序列,对每个分句执行序列标注,标注出分句中属于事件元素的分词;所述事件元素为对应于金融事件中的相应类型事件角色的实体;
[0184]
句向量累加模块304,用于获取分句的句向量,将分句中属于事件元素的分词的输出向量与所述分句的句向量累加,得到累加结果;
[0185]
事件分类模块305,用于根据所述累加结果,在预设的事件分类模型中,确定所述分句是否属于预设类型金融事件的事件句;所述预设的事件分类模型是根据预先标注的训练文本训练得到的;
[0186]
事件输出模块306,用于当所述分句属于预设类型金融事件的事件句时,输出所述分句对应的结构化事件。
[0187]
由于该金融领域事件抽取装置所解决问题的原理与上述金融领域事件抽取方法相似,因此该金融领域事件抽取装置的实施可以参见上述方法的实施,重复之处不再赘述。
[0188]
根据本发明实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一种金融领域事件抽取方法。
[0189]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0190]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0191]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0192]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0193]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1