CN114586038B - 事件抽取和抽取模型训练的方法和装置、设备、介质 - Google Patents
事件抽取和抽取模型训练的方法和装置、设备、介质 Download PDFInfo
- Publication number
- CN114586038B CN114586038B CN202080002135.5A CN202080002135A CN114586038B CN 114586038 B CN114586038 B CN 114586038B CN 202080002135 A CN202080002135 A CN 202080002135A CN 114586038 B CN114586038 B CN 114586038B
- Authority
- CN
- China
- Prior art keywords
- event
- character
- layer
- determining
- characters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 145
- 238000012549 training Methods 0.000 title claims description 64
- 238000000034 method Methods 0.000 title claims description 57
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012512 characterization method Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 7
- 238000012360 testing method Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 238000002790 cross-validation Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000001737 promoting effect Effects 0.000 description 5
- 230000006403 short-term memory Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000007787 long-term memory Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003094 perturbing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本公开提供的事件抽取的方法包括:用预设的抽取模型处理对象文本,确定对象文本的事件信息;其中,所述事件信息包括事件元素,以及所述事件元素对应的事件类型和角色;所述抽取模型包括分类层、输出层;所述分类层配置为确定所述对象文本的字符的字符属性;所述字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;所述输出层配置为根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色。
Description
技术领域
本公开实施例涉及人工智能技术领域,特别涉及事件抽取和抽取模型训练的方法和装置、电子设备、计算机可读介质。
背景技术
事件抽取(EE,Event Extraction)是指根据自然语言的文本,确定文本中描述的“事件”,并确定出事件的相关信息的技术。事件抽取在智能风控、智能投研、舆情监测、事件图谱等领域有着重要的应用。
但是,现有的事件抽取技术的抽取效果往往不够理想。
发明内容
本公开实施例提供一种事件抽取和抽取模型训练的方法和装置、电子设备、计算机可读介质。
第一方面,本公开实施例提供一种事件抽取的方法,其包括:
用预设的抽取模型处理对象文本,确定对象文本的事件信息;
其中,所述事件信息包括事件元素,以及所述事件元素对应的事件类型和角色;所述抽取模型包括分类层、输出层;
所述分类层配置为确定所述对象文本的字符的字符属性;所述字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;
所述输出层配置为根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色。
在一些实施例中,所述抽取模型还包括编码层;
所述编码层配置为对所述对象文本进行编码,并将编码结果输入至所述分类层。
在一些实施例中,所述编码层包括基于转换器的双向编码器表征子层。
在一些实施例中,所述编码层还包括词性嵌入子层;所述词性嵌入子层的输出和所述基于转换器的双向编码器表征子层的输出拼接为所述编码结果。
在一些实施例中,所述编码层还包括双向长短期记忆子层,所述基于转换器的双向编码器表征子层的输出经过所述双向长短期记忆子层后为所述编码结果。
在一些实施例中,所述分类层包括起始二分类网络、终止二分类网络、多个标签二分类网络;
其中,所述起始二分类网络配置为确定所述对象文本的字符是否为事件元素的起始字符;所述终止二分类网络配置为确定所述对象文本的字符是否为事件元素的终止字符;每个所述标签二分类网络对应一个预定标签,并配置为确定所述对象文本的字符是否符合所述预定标签,所述预定标签包括预定事件类型和预定角色,任意两个不同所述标签二分类网络对应的所述预定标签中的预定事件类型和预定角色有至少一者不同;
所述根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色包括:根据所述起始字符和终止字符确定事件元素,并根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签,以及确定该事件元素对应该预定标签的预定事件类型和预定角色。
在一些实施例中,所述确定所述对象文本的字符是否为事件元素的起始字符包括:逐一确定所述对象文本的每个字符是否为事件元素的起始字符;
所述确定所述对象文本的字符是否为事件元素的终止字符包括:逐一确定所述对象文本的每个字符是否为事件元素的终止字符。
在一些实施例中,所述根据所述起始字符和终止字符确定事件元素包括:确定距离最接近的起始字符和终止字符为一组,确定同组的起始字符到终止字符间的字符为一个事件元素。
在一些实施例中,所述确定所述对象文本的字符是否符合所述预定标签包括:
仅确定所述对象文本的每个所述起始字符和每个所述终止字符是否符合所述预定标签。
在一些实施例中,所述根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签包括:
确定事件元素的起始字符和终止字符同时符合的预定标签为该事件元素的预定标签。
在一些实施例中,所述抽取模型还包括事件提取层;所述事件提取层配置为确定所述各事件类型的类型概率;事件类型的类型概率表征对象文本与该事件类型的相关性;
所述确定所述对象文本的字符的字符属性包括:
确定所述对象文本的字符为一个事件类型的一个角色的事件元素的起始字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的起始字符;
确定所述对象文本的字符为一个事件类型的一个角色的事件元素的终止字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的终止字符。
在一些实施例中,所述确定所述对象文本的字符的字符属性包括:
对所述对象文本的字符,分别独立的确定其是否为每个事件类型和每个角色的事件元素的起始字符,以及是否为每个事件类型和每个角色的事件元素的终止字符。
在一些实施例中,所述确定所述事件元素对应的事件类型和角色包括:
响应于多个所述事件元素对应同一事件类型和同一角色的情况,基于该多个事件元素中的每一个事件元素对应该事件类型和该角色的置信度,确定所述置信度最大的事件元素对应该事件类型和该角色。
第二方面,本公开实施例提供一种抽取模型训练的方法,其包括:
确定初始模型;
用多个训练样本对所述初始模型进行训练,得到所述抽取模型;
其中,所述抽取模型配置为处理对象文本,以确定对象文本的事件信息;其中,所述事件信息包括事件元素,以及所述事件元素对应的事件类型和角色;所述抽取模型包括分类层、输出层;所述分类层配置为确定所述对象文本的字符的字符属性;所述字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;所述输出层配置为根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色。
在一些实施例中,所述用多个训练样本对所述初始模型进行训练,得到所述抽取模型包括:
用多个训练样本对所述初始模型进行对抗训练,得到所述抽取模型。
第三方面,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现以上任意一种事件抽取的方法。
第四方面,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现以上任意一种抽取模型训练的方法。
第五方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任意一种事件抽取的方法。
第六方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任意一种抽取模型训练的方法。
附图说明
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种事件抽取的方法的流程图;
图2为本公开实施例提供的事件抽取的方法中使用的一种抽取模型的结构示意图;
图3为本公开实施例提供的事件抽取的方法中使用的一种抽取模型的分类层的分类结果的示意图;
图4为本公开实施例提供的事件抽取的方法中使用的另一种抽取模型的结构示意图;
图5为本公开实施例提供的事件抽取的方法中使用的另一种抽取模型的中的双指针网络的处理结果的示意图;
图6为本公开实施例提供的一种抽取模型训练的方法的流程图;
图7为本公开实施例提供的一种电子设备的组成框图;
图8为本公开实施例提供的另一种电子设备的组成框图;
图9为本公开实施例提供的一种计算机可读介质的组成框图;
图10为本公开实施例提供的另一种计算机可读介质的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开实施例的技术方案,下面结合附图对本公开实施例提供的事件抽取和抽取模型训练的方法和装置、电子设备、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述本公开实施例,但是所示的实施例可以以不同形式来体现,且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本公开实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的术语“和/或”包括一个或多个相关列举条目的任何和所有组合。如本公开所使用的单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。如本公开所使用的术语“包括”、“由……制成”,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。
本公开实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不是旨在限制性的。
技术术语解释
本公开实施例中,如无特别说明,则以下技术术语应按照以下的解释理解:
事件,其是指预定类别的“事情”,例如“A球员绝杀,B球队战胜C球队晋级决赛”、“D市E会议在F时间闭幕”、“G国家与H国家建立外交关系”、“I公司宣布推出J产品”等。
事件类型,其是指预先设定的事情所属的“类别”事情的“分类”。例如,事件类型可包括“比赛行为-胜负”、“比赛行为-晋级”、“组织行为-开幕”、“组织行为-闭幕”、“战争行为-胜负”、“战争行为-开始”、“战争行为-结束”等。
应当理解,以上部分事件类型的含义有重叠,但它们仍属于不同的事件类型。例如“比赛行为-胜负”和“比赛行为-晋级”都和比赛有关,但二者是两个不同的事件类型,因为比赛有胜负不一定导致晋级(比如只有一场的比赛),而比赛晋级也不一定与胜负相关(如小组赛打平也可能晋级)。
应当理解,由于事件类型是预先设定的,故一个“事情”是否被视为本公开实施例的“事件”,以及其属于哪种事件类型,都是与事件类型的设定方式相关的。例如,若没有设定“比赛行为-胜负”、“比赛行为-晋级”等事件类型,则虽然“A球员绝杀,B球队战胜C球队晋级决赛”在现实中通常被视为一件“事情”,但在本公开实施例中不被视为一个“事件”;再如,对“A球员绝杀,B球队战胜C球队晋级决赛”的事情,若仅设定有“比赛行为-胜负”事件类型,则该事情仅对应该“比赛行为-胜负”事件类型,而若同时还设定有“比赛行为-晋级”事件类型,则该事情同时也对应“比赛行为-晋级”事件类型。
事件元素,其也称为事件的“论元(Argument)”,是指预定的、与事件相关的“要素”,其可以是事件的“参与者(如事件的主语、宾语)”,也可以是表示事件相关性质的词(如事件的状语)。例如,事件元素可包括以上“A球员”、“B球队”、“C球队”、“D市”、“F时间”等。
角色,其是指预定的、事件中可能出现处于不同“地位”的相关内容,通常每个角色是与事件的一个事件元素对应的,而事件的每个事件元素也都在事件中为一定的角色。例如,以上“B球队”是事件中的“胜者”角色和/或“晋级者”角色,“C球队”是事件中的“败者”角色,“D市”是事件中的“地点”角色,“F时间”是事件中的“时间”角色等。
应当理解,“角色”通常是与“事件类型”相关的,即,不同事件类型对应有不同角色。例如,对应“比赛行为-胜负”事件类型,可能有“胜者”角色、“败者”角色,但不会有“晋级者”角色。
应当理解,由于“角色”是预先设定的,故一个事件涉及哪些事件元素,以及这些事件元素分别是什么角色,都是与角色的设定方式相关的。例如,对“A球员绝杀,B球队战胜C球队晋级决赛”的事件,对“比赛行为-胜负”事件类型,若仅设定有“胜者”角色而没有“败者”角色,则“B球队”是事件元素,且角色是“胜者”;但“C球队”就不再是事件元素(因为其没有对应角色)。
应当理解,每个事件中并不一定同时存在其事件类型对应的所有预设的角色和相应事件元素。例如,若“比赛行为-胜负”事件类型还设定有“时间”角色,则对“A球员绝杀,B球队战胜C球队晋级决赛”的事件,其中就没有对应“时间”角色的事件元素。
事件抽取,其是指通过对自然语言的文本的处理,确定文本中描述的“事件”,并且确定事件所属的事件类型、事件涉及的事件元素,以及各事件元素对应的事件类型和角色(或者说是什么事件类型中的什么角色)。
二分类网络,其是一类智能分类网络,用于将待处理的对象分入两个可能分类中的一个分类,既其不能认为对象同时属于两个分类,也不能认为对象对两个分类都不符合。
其中,二分类网络对应的两个分类往往是“互斥”的,即为“符合某特征”和“不符合某特征”的形式,或者说是“是(如用1表示)”和“否(如用0表示)”的形式。因此,二分类网络通常可计算出对象符合某特征的概率(当然符合该特征的概率与不符合该特征的概率的和为1),并根据该符合某特征的概率是否超过一个预定值,判断该对象“是否”符合该特征。
“字符(Token)”是指按照自然语言,文本(对象文本)可被划分出的最小的独立单元。例如,每个字符可为一个汉字、一个阿拉伯数字、一个英文/法文/德文/俄文/阿拉伯文/拉丁文的字母、一个标点符号(如逗号、句号、问号、连接符)等。
具体实施方式
在一些相关技术中,事件抽取过程可包括触发词识别、事件类型识别、事件元素识别、角色识别四个任务。
其中,触发词识别是指识别出文本中代表“有事件”的“关键词”,触发词通常为动词,且通常与事件类型有一定关系,如战胜、晋级、闭幕等。
事件类型识别是一个基于词的多分类任务,用于判断文本中的每个词对应的事件类型,以确定出文本中的事件的事件类型。
事件元素识别是确定出文本中的事件涉及的事件元素的过程。
角色识别是一个基于“词对”的多分类任务,其将文本中对应事件元素的词(如实体)和对应事件类型的词(如触发词)构成“词对”,并确定每个“词对”中的事件元素在相应事件类型中的角色。
可见,以上触发词识别和事件类型识别相当于确定了文本中“有什么事件”,故二者可组成“事件识别任务”。而以上事件元素识别和角色识别则相当于确定了每个事件元素在事件(特定事件类型的事件)中的角色,故二者可组成“角色分类任务”。
在一些相关技术中,可采用事件识别任务和角色分类任务为管道式(pipelineapproach)的抽取模型进行事件识别。即,先对文本进行事件识别任务,确定事件类型,而事件类型作为角色分类任务的输入,以进一步确定事件元素和相应角色。但是,以上形式的抽取模型中事件识别任务和角色分类任务相互脱节(或者说它们是两个独立的模型),前者的错误必然导致后者的错误(级联错误),且后者无法对前者进行反馈,最终导致事件抽取的效果不好。
在一些相关技术中,还可采用事件识别任务和角色分类任务为联合式(jointapproach)的抽取模型进行事件识别。即,事件识别任务和角色分类任务之间相互关联反馈,从而可避免级联错误。但是,以上形式的抽取模型中,由于事件识别任务和角色分类任务间的交互是“双向”的,故前者的改变会使后者改变,后者的改变又再使前者改变,如此循环导致抽取模型的两个部分在训练过程中往往难以同时达到最优,训练过程难以收敛,且事件抽取的效果不好。
另外,在以上相关技术中,由于事件元素和角色的对应通过“词对”的方式进行的,故其对存在“事件元素重叠”或“角色重叠”的事件无法很好的处理。
例如,对“A球员绝杀,B球队战胜C球队晋级决赛”的事件,其中“B球队”事件元素既是“竞赛行为-胜负”事件类型的“胜者”角色,也是“竞赛行为-晋级”事件类型的“晋级者”角色,这种情况称为“角色重叠”。
再如,对“D市E会议在F时间闭幕”的事件,其中“组织行为-闭幕”事件类型的“活动名称”角色对应的事件元素是“D市E会议”,而“地点”角色对应的事件元素是“D市”,即,不同角色对应的事件元素是有部分重叠的,这种情况称为“事件元素重叠”。
第一方面,本公开实施例提供一种事件抽取的方法。
参照图1,本公开实施例的方法用于从自然语言的文本中抽取事件,其包括:
S101、用预设的抽取模型处理对象文本,确定对象文本的事件信息。
其中,事件信息包括事件元素,以及事件元素对应的事件类型和角色;抽取模型包括分类层、输出层;
分类层配置为确定对象文本的字符的字符属性;字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;
输出层配置为根据字符的字符属性确定事件元素,以及确定事件元素对应的事件类型和角色。
本公开实施例中,用预设的抽取模型处理对象文本(即要进行事件抽取的自然语言的文本),以抽取其中的事件信息。
其中,获取对象文本的具体方式是多样的。例如,可以是读取特定存储介质(如硬盘)中存储的对象文本,也可以通过网络(局域网或互联网)获取对象文本。
其中,对象文本的来源也可以是多样的。例如,对象文本可以是某个特定范围内的文本,如一份报纸、一份杂志中的文本;或者,对象文本也可以是通过某些方式收集的来自多个来源的文本,如通过某搜索引擎获取的文本(如热点中的文本,特定时间范围内搜索到的文本等),或者是通过网路爬虫方式爬取的文本等。
该事件信息包括对象文本中描述的事件的事件类型,对象文本中出现的事件中涉及到事件元素,以及以上事件元素与事件类型中的角色的对应关系(即事件元素是什么事件类型和什么角色)。
参照图2,本公开实施例的抽取模型包括分类层、输出层。
其中,分类层用于确定对象文本的字符(Token)的字符属性,即确定字符是否是各种事件类型和各种角色的事件元素的起始字符(第一个字符),以及是否是各种事件类型和各种角色的事件元素的终止字符(最后一个字符)。
因此,分类层既确定了哪些字符各事件类型的各角色“有关”,也确定了当字符与一个事件类型的一个角色“有关”时,是否是相应事件元素的第一个或最后一个字符。
由此可见,以上分类层实际上相当于对字符(Token)进行了“多分类”,即将字符分入多种可能的分类中的一种或多种,其中,每个分类可为一个特定的事件类型和特定的角色的起始字符或终止字符。
而在得出以上字符属性后,输出层即根据各字符的字符属性,确定对象文本中哪些字符是对应事件元素(也就是对应至少一个事件类型的至少一个角色)的,以及这些事件元素具体对应的事件类型和角色,从而完成事件抽取。
可见,根据本公开实施例,抽取模型通过直接确定对象文本中的单个字符与事件元素、事件类型、角色之间的关系,确定哪些字符对应事件元素,以及事件元素对应的事件类型和角色,从而完成事件抽取。而以上抽取过程中根本不进行“触发词”的识别,也没有进行“事件识别任务”和“角色分类任务”,故与相关技术中的事件识别技术根本不同。
由此,本公开实施例中不会产生级联错误,抽取模型易于训练达到最佳,事件抽取效果好。
在一些实施例中,抽取模型还包括编码层;编码层配置为对对象文本进行编码,并将编码结果输入至分类层。
参照图4,为更好的获取对象文本的语义特征,还可在抽取模型中设置编码层,其将对象文本进行“编码”后,再将编码输入至分类网络。
在一些实施例中,编码层包括基于转换器的双向编码器表征子层。
作为本公开实施例的一种方式,编码层包括基于转换器的双向编码器表征(BERT,Bidirectional Encoder Representations from Transformers)子层。
由此,本公开实施例的抽取模型可视为一个“基于BERT的多层标签指针网络(BMPN,Multi-layer Label Pointer Net Based on BERT)”。
示例性的,BERT子层先用分词器对输入的对象文本进行分词,得到一个分词后的序列X,然后将X编码成一个字嵌入矩阵Wt和一个位置嵌入矩阵Wp,再将两个矩阵(或者说向量)相加作为嵌入表示向量h0,然后嵌入表示向量h0通过一个L层的转换器(Transformer)得到输出的文本语义表示向量hL,相应过程表示为:
h0=XWt+Wp;
hi=Transformer(hi-1),i∈[1,L];
其中,Transformer()表示转换器对括号中的内容进行一层处理;hi表示转换器第i层的输出,故i不为L时hi是转换器的隐藏层的输出,而i为L时的hi即为文本语义表示向量hL,是转换器的最终输出。
其中,从格式上看,BERT子层可在输入其中的文本前加上特定的标识符(如CLS),以及在文本最后加入特定的分隔符(如SEP)。
在一些实施例中,编码层还包括词性嵌入子层;词性嵌入子层的输出和基于转换器的双向编码器表征子层的输出拼接为编码结果。
考虑到BERT子层采用字编码,可能丢失一部分“词(由多个子组成的语言结构)”的语义信息;故参照图4,编码层还包括词性嵌入子层(Postag Embedding子层),词性嵌入子层对对象文本进行词性嵌入,并将其输出结果与BERT子层的输出结果(文本语义表示向量hL)拼接(Concatenate)后共同作为编码层的输出结果,也就是作为分类网络的输入。
示例性的,可先用词性标注工具(如结巴,Jieba)对输入的对象文本进行词性标注(如标注为动词、名词、副词等),然后将每个词按照词性以B-I-E标注方式进行词性嵌入,得到词性嵌入向量hpos。其中,B-I-E标注方式用B表示一个词的开始,用I表示一个词的中间,用E表示一个词的结束,并用S表示单独的字符。
之后,将以上得到的词性嵌入向量hpos和BERT子层输出的文本语义表示向量hL拼接(例如直接连接),得到编码层的输出结果,具体为一条个共享编码层(Share Layer)的向量hs,相应过程表示为:
hs=Concatenate([hL,hpos])。
在一些实施例中,编码层还包括双向长短期记忆子层,基于转换器的双向编码器表征子层的输出经过双向长短期记忆子层后为编码结果。
作为本公开实施例的另一种方式,也可在BERT子层后增加双向长短期记忆(BILSTM,Bi-Long Short Term Memory)子层,以提取对象文本中的长期依赖性信息。
在一些实施例中,分类层包括起始二分类网络、终止二分类网络、多个标签二分类网络;
其中,起始二分类网络配置为确定对象文本的字符是否为事件元素的起始字符;终止二分类网络配置为确定对象文本的字符是否为事件元素的终止字符;每个标签二分类网络对应一个预定标签,并配置为确定对象文本的字符是否符合预定标签,预定标签包括预定事件类型和预定角色,任意两个不同标签二分类网络对应的预定标签中的预定事件类型和预定角色有至少一者不同;
根据字符的字符属性确定事件元素,以及确定事件元素对应的事件类型和角色包括:根据起始字符和终止字符确定事件元素,并根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签,以及确定该事件元素对应该预定标签的预定事件类型和预定角色。
可见,以上分类层的工作逻辑上可分为两部分,一部分是确定字符是否是事件元素的起始/终止字符,另一部分是确定字符对应的事件类型和角色的组合。而这两部分的结果结合,即可确定字符的字符属性。
为此,分类层的“多分类”具体可通过多个“二分类”实现,即分类层可包括起始二分类网络、终止二分类网络、多个标签二分类网络。
其中,起始二分类网络仅判断对象文本的字符是否为事件元素的起始字符,而终止二分类网络仅判断对象文本的字符是否为事件元素的终止字符。从而二者的共同分类结果是确定出了对象文本中的事件元素的起始字符和终止字符。
由此,以上起始二分类网络和终止二分类网络整体可视为一个“双指针网络(Pointer Net)”,即,双指针网络用于分别给出头位置指针(Start,对应起始字符)和尾位置指针(End,对应终止字符),而根据一个头位置指针和一个尾位置指针,即可确定一个事件元素的边界(Span),也就是确定一个事件元素。
例如,双指针网络的处理结果可参照图5,其中Start行标注为1(图5中用麻点填充表示)表示相应位置(正下方)的字符是起始字符,为0表示相应位置的字符不是起始字符;End行标注为1(图5中用麻点填充表示)表示相应位置的字符是终止字符,为0表示相应位置的字符不是终止字符;从而对象文本中的起始字符与终止字符也就被确定出来了(图5中用麻点填充表示)。
同时,分类层还包括多个标签二分类网络,而每个标签二分类网络用于确定字符是否是一种特定的事件类型和角色的组合对应的事件元素中的字符,即确定字符是否符合一个预定标签。
而且,任意不同标签二分类网络用于分类的预定标签是不同的,即任意两个不同的预定标签中,预定事件类型和预定角色中有至少一者不同。
作为本公开实施例的一种形式,所有的标签二分类网络对应的预定标签,应当与所有可能的事件类型(预设的)和所有可能的角色(预设的)的组合一一对应。
例如,若所有可能的事件类型和所有可能的角色如下表,则所有的预定标签可包括(竞赛行为-胜负,胜者)、(竞赛行为-胜负,败者)、(竞赛行为-胜负,时间)、(竞赛行为-晋级,时间)、(竞赛行为-晋级,晋级者)(竞赛行为-晋级,晋级赛事)六种。
表1、事件类型和角色的示例
事件类型 | 角色1 | 角色2 | 角色3 |
竞赛行为-胜负 | 胜者 | 败者 | 时间 |
竞赛行为-晋级 | 时间 | 晋级者 | 晋级赛事 |
由此,通过多个标签二分类网络的共同作用,则相当于确定了对象文本中的字符与事件类型和角色的组合的对应情况。
其中,不同标签二分类网络的工作可以是相对独立的,故对每个字符,其最终可能被判断为仅符合一个预定标签,也可能被判断为同时符合多个预定标签,也可能被判断为不符合任何预定标签。
由此,以上多个标签二分类网络实质上相当于一个“多层标签分类网络(Multi-layer Label Net)”,其用于确定在多个预定标签中,字符符合的情况。
其中,以上“双指针网络”和“多层标签分类网络”逻辑上均可通过全连接层,例如通过Dense实现,故在附图4中,二者用两个Dense表示。
其中,Dense是一个函数,其是全连接层的一种具体实现形式,其计算公式如下:
Out=Activation(W*a+bias);
其中,a为函数的输入,其是一个n维向量;W是预设的权重,为m*n维向量的形式;Activation表示激活函数;bias表示预设的偏置;Out为函数的输出,为m维向量。
可见,通过起始二分类网络和终止二分类网络可确定出对象文本中哪些字符属于“事件元素”,而通过多个标签二分类网络可确定出对象文本中的字符符合哪些预定标签(预定事件类型和预定角色)。从而,将起始二分类网络、终止二分类网络、多个标签二分类网络的输出相结合,即相当于确定了字符是否为各事件类型和各角色的事件元素的起始字符,以及是否为各事件类型和各角色的事件元素的终止字符,也就是确定了字符的字符属性,完成了分类层整体的工作。
而在确定出事件元素的起始字符和终止字符后,输出层即可确定位于起始字符和终止字符之间的字符(包括起始字符和终止字符本身)就是“事件元素”的字符,即完成了确定事件元素的过程;进而,输出层还可根据事件元素的字符符合的预定标签,确定事件元素的预定标签,也就是确定事件元素对应的事件类型和角色的组合,以完成事件抽取。
可见,以上分类层的工作过程逻辑上可视为计算出字符符合各个分类(每个分类为一个特定事件类型的特定角色的起始字符或终止字符)的概率,再根据该概率确定字符符合的分类。
示例性的,第i个字符被预测为预定标签r的起始字符的概率为而被预测为预定标签r的终止字符的概率为则和可表示为以下形式:
其中,s和e分别对应起始字符和终止字符,分别为预设的、可训练的、对应该组合r的权重向量,分别为预设的、可训练、对应该组合r的偏置项,σ为sigmoid激活函数。
由此,以上分类层的总分类结果可参照图3。其中,每个预定标签,如(竞赛行为-胜负,胜者),分别对应一行表示起始字符的标注(Start),以及一行表示终止字符的标注(End),每行标注中的1(图3中用麻点填充表示)表示相应位置(正下方)的字符是该预定标签的预定角色的事件元素的起始字符或终止字符,0则表示相应位置的字符不是该预定标签的预定角色的事件元素的起始字符或终止字符。从而,两行标注中两个1的位置之间的字符即为该预定标签的预定角色的事件元素(图3中用麻点填充表示)。
应当理解,对部分预定标签,其两行标注均为0,这表示,对象文本不涉及该预定标签的预定事件类型和/或预定角色。
具体的,以上分类层的总分类结果可用两个二维矩阵Ss和Se的形式表示。其中,Ss表示起始字符和预定标签的对应关系,其每列为一个对象文本的一个字符,每行为一个预定标签,从而一行和一列的交叉表示该列的字符是否为该行的预定标签的预定角色的事件元素的起始字符。类似的,Ss表示终止字符和预定标签的对应关系,其每列为一个对象文本的一个字符,每行为一个预定标签,从而一行和一列的交叉表示该列的字符是否为该行的预定标签的预定角色的事件元素的终止字符。
在一些实施例中,确定对象文本的字符是否为事件元素的起始字符包括:逐一确定对象文本的每个字符是否为事件元素的起始字符;
确定对象文本的字符是否为事件元素的终止字符包括:逐一确定对象文本的每个字符是否为事件元素的终止字符。
作为本公开实施例的一种方式,可是用起始二分类网络和终止二分类网络将对象文本的每个字符都进行分类,分别确定每个字符是否为事件元素的起始字符或终止字符。
应当理解,起始字符与终止字符的判断也可采用其它具体方式。例如,也可在确定出对象文本中的第一个起始字符之后,才开始确定其后的字符是否为终止字符(因为第一个起始字符之前显然不会有终止字符)。
在一些实施例中,根据起始字符和终止字符确定事件元素包括:确定距离最接近的起始字符和终止字符为一组,确定同组的起始字符到终止字符间的字符为一个事件元素。
显然,对象文本中可能涉及多个事件元素,从而就有相应的多个起始字符与多个终止字符,而这些起始字符与终止字符以不同方式组合时,则相当于头位置指针(Start)和尾位置指针(End)以不同方式组合,从而会产生不同的事件元素的边界(Span),也就是得出不同的事件元素。
为保证得出的事件元素的正确性,可将距离最接近的起始字符和终止字符定为“一组”,并将它们之间的字符(包括起始字符和终止字符本身)作为该事件元素的字符(参照图3)。
在一些实施例中,确定对象文本的字符是否符合预定标签包括:
仅确定对象文本的每个起始字符和每个终止字符是否符合预定标签。
作为本公开实施例的一种方式,可先用起始二分类网络和终止二分类网络确定对象文本的哪些字符是起始字符或终止字符,之后再用多个标签二分类网络进行预定标签的分类;由此,每个标签二分类网络可只判断以上起始字符和终止字符是否符合预定标签,而不必处理对象文本中的其它字符。
应当理解,标签二分类网络对字符的判断也可采用其它具体方式。例如,每个标签二分类网络也可对对象文本中的所有字符都进行分类。
在一些实施例中,根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签包括:确定事件元素的起始字符和终止字符同时符合的预定标签为该事件元素的预定标签。
事件元素的角色与其起始字符和终止字符的角色的相关性最大,因此,输出层可在起始字符和终止字符具有相同的预定标签时,将相同的预定标签作为该事件元素的预定标签,也就是确定该事件元素对应该预定标签中的预定事件和预定角色。
应当理解,事件元素的预定标签的确定也可采用其它具体方式。例如,也可以是当事件元素的全部字符(包括中间字符)都具有相同的预定标签时才将该预定标签(相同的预定标签)作为该事件元素的预定标签;或者,也可以是当事件元素的任意字符具有一个预定标签时,即将该预定标签作为该事件元素的预定标签。
在一些实施例中,抽取模型还包括事件提取层;事件提取层配置为确定各事件类型的类型概率;事件类型的类型概率表征对象文本与该事件类型的相关性;
确定对象文本的字符的字符属性包括:
确定对象文本的字符为一个事件类型的一个角色的事件元素的起始字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的起始字符;
确定对象文本的字符为一个事件类型的一个角色的事件元素的终止字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的终止字符。
如前,分类层本质上是对对象文本中的“字符”进行分类的,故其从对象文本“整体”的角度获取的信息较少。为此,参照图4,抽取模型还可包括事件提取层,其用于对对象文本整体进行分析,以确定对象文本整体(不是其中的单独字符)与各事件类型的相关程度(类型概率)。
示例性的,事件提取层也可用以上共享编码层的向量hs为输入,并对其进行最大池化(Maxpooling),然后用一个全连接层(如Dense)对其进行多分类(每个分类对应一个事件类型),确定对象文本与各事件类型相关的程度,即类型概率pg,相应过程表示为:
xp=Maxpooling(hs);
pg=σ(Wgxp+bg);
其中,Wg为预设的、可训练的权重向量,bg为预设的、可训练的偏置项,σ为sigmoid激活函数,Maxpooling()为最大池化处理。
相应的,分类层先通过自身的多分类确定字符为某预定标签的事件元素的初始字符或终止字符的概率(初始概率),之后再根据该初始概率和相同事件类型的类型概率,共同判断出字符是否符合该预定标签。
示例性的,可以是将字符对应某预定标签的初始概率与相应的类型概率相乘,若二者的乘积大于一个预定值,则判断字符符合该预定标签;而若二者的乘积不大于该预定值,则即使初始概率本身很大,也判断字符不符合该预定标签。
示例性的,以上第i个字符被预测为预定标签r的预定角色的事件元素的起始字符的概率(最终概率)以及被预测为预定标签r的预定角色的事件元素的终止字符的概率(最终概率)的公式可变为:
其中,和即相当于以上初始概率,而prg表示预定标签r对应的事件类型的类型概率pg。
当然,根据初始概率与最终概率确定字符是否符合预定标签的具体方式是多样的。例如,也可根据初始概率与最终概率的和的值,判断出字符是否符合预定标签;或者在初始概率与最终概率分别都大于预定值(可为两个不同预定值)时,才判断出字符符合预定标签。
可见,设置事件提取层后,相当于结合了“字符”和“对象文本整体”两个角度提取信息,从而可在一定程度上提升抽取模型的训练收敛速度和最终的事件抽取效果。
在一些实施例中,确定对象文本的字符的字符属性包括:
对对象文本的字符,分别独立的确定其是否为每个事件类型和每个角色的事件元素的起始字符,以及是否为每个事件类型和每个角色的事件元素的终止字符。
作为本公开实施例的一种方式,可以是分别独立的确定各字符是否是预定标签(即特定的事件类型和特定角色的组合)的事件元素的起始字符/终止字符,即一个字符的分类结果如何,与其它字符的分类结果没有关系。
根据以上方式,可能产生一个字符对应多个预定标签的情况,从而最终可能确定出一个事件元素是多个事件类型的多个角色;或者一个事件元素的一分是另一个事件元素。
由此,本公开实施例可很好的处理存在“事件元素重叠”或“角色重叠”的事件,进一步改善事件抽取的效果。
确定事件元素对应的事件类型和角色包括:
响应于多个事件元素对应同一事件类型和同一角色的情况,基于该多个事件元素中的每一个事件元素对应该事件类型和该角色的置信度,确定置信度最大的事件元素对应该事件类型和该角色。
由于本公开实施例中的事件抽取是基于“字符”进行的,有可能产生同一事件类型和同一角色,对应有多个不同的事件元素的情况,这些不同的事件元素同时是对一个“事实上的事件元素”的“不同表述”,但这种情况的存在可能导致事件抽取的结果复杂。因此,当出现以上情况时,输出层可分别判断这些事件元素符合该事件类型和该角色的置信度,并取置信度最大的一个事件元素,为对应该事件类型和该角色的事件元素。
例如,对“H球队战胜卫冕冠军I球队”的对象文本,其原始的抽取结果(Result)可包括:
Result:{“event_type”:“竞赛行为-胜负”,“argument”:[{“role”:“败者”,“argument”:“I球队”},{“role”:“败者”,“argument”:“卫冕冠军I球队”}]”;
其中,event_type表示事件类型,argument表示事件元素,role表示角色。
可见,因为“定语”取法的不同,故对“竞赛行为-胜负”事件类型的“败者”角色,产生了“I球队”和“卫冕冠军I球队”两个对应事件元素,此时需要确定两个事件元素的置信度,例如以事件元素初始字符对应的最终概率作为置信度,从而判断出“I球队”的置信度比“卫冕冠军I球队”的置信度更大,故“竞赛行为-胜负”事件类型的“败者”角色对应的事件元素是“I球队”,而不是“卫冕冠军I球队”。
当然,以上置信度比较的过程也是可选的。例如,若在确定字符对应的字符属性时,规定字符属性只能是一个事件类型的一个角色的起始字符/终止字符,则不会产生以上问题;或者,也可设定允许同一事件类型和同一角色对应有多个不同的事件元素(视为一个事件元素的不同表达)。
第二方面,参照图6,本公开实施例提供一种抽取模型训练的方法,其包括:
S201、确定初始模型。
S202、用多个训练样本对初始模型进行训练,得到抽取模型。
其中,抽取模型配置为处理对象文本,以确定对象文本的事件信息;其中,事件信息包括事件元素,以及事件元素对应的事件类型和角色;抽取模型包括分类层、输出层;分类层配置为确定对象文本的字符的字符属性;字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;输出层配置为根据字符的字符属性确定事件元素,以及确定事件元素对应的事件类型和角色。
本公开实施例的抽取模型可以是通过预先的训练得到的,其训练过程可包括:设定初始模型和训练样本,初始模型与抽取模型具有相同结构,训练样本则包括待处理的对象文本和对象文本进行处理后应获得的标准结果(或者说“标准答案”);之后,用初始模型处理训练样本,将处理结果与标准结果比较,通过损失函数确定处理结果与标准结果的差异,根据该差异调整初始模型中的参数;如此重复,直到符合结束条件(如处理的训练样本达到预定数量,或对验证样本的处理达到预定效果,或参数的变化收敛等)时结束训练,以此时的初始模型(参数已经有改变)作为抽取模型。
例如,以上训练中采用的损失函数可为:
其中,s和e分别对应起始字符和终止字符,n为输入的对象文本的长度(字符数),求和符号表示对对象文本所有字符处理结果进行综合判断(求和的上限是“n+2”是因为BERT子层实际处理的字符序列还包括以上标识符CLS和分隔符SEP),从而两个求和符号分别对应起始字符的损失和和终止字符的损失;而和为标准结果中对相应字符是否预定标签的判断(0为不符合,1为符合)。
在一些实施例中,用多个训练样本对初始模型进行训练,得到抽取模型包括:
用多个训练样本对初始模型进行对抗训练,得到抽取模型。
作为本公开实施例的一种方式,为提高所得抽取模型的抽取效果,还可采用“对抗训练”的方式。
即,将部分训练样本设定为“对抗样本”,对抗样本中故意添加有细微的扰动,而这些扰动有很大可能导致抽取模型产生错误的结果。通过用对抗样本进行训练,可使模型适应扰动,从而提高训练得到的抽取模型的抗干扰鲁棒性(Adversarial Robustness)。
例如,对抗训练可为在编码层加入扰动,如扰动BERT子层的字嵌入矩阵Wt和词性嵌入子层(Postag Embedding子层)的词性嵌入向量hpos。从而,对抗训练可表示为以下的最大最小化公式:
其中,D表示所有训练样本设构成的训练集,x为样本的输入表示,y表示样本的预定标签(标准结果),θ表示模型参数,Δx表示叠加的扰动,Ω表示全部扰动的扰动空间。
进一步的,Δx可通过计算嵌入层的梯度得到,其具体可表示为:
Δx=εsign[▽xL(x,y;θ)];
其中,L(x,y,θ)为样本的损失函数(loss),▽xL(x,y;θ)表示损失函数对x求梯度,ε是一个预设的常数,由此,L(x+Δx,y;θ)则表示在样本x上叠加扰动Δx后(即扰动样本),处理得到的结果与y比较得到的损失函数。
可见,以上通过直接对编码层的字嵌入矩阵Wt和词性嵌入子层的词性嵌入向量hpos进行扰动(即加入扰动Δx),达到了对抗训练的目的,从而让抽取模型适应该扰动Δx,具有更好的抗干扰鲁棒性。
第三方面,参照图7,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互;
当一个或多个计算机程序被一个或多个处理器执行时,能实现以上任意一种事件抽取的方法。
第四方面,参照图8,本公开实施例提供一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互;
当一个或多个计算机程序被一个或多个处理器执行时,能实现以上任意一种抽取模型训练的方法。
第五方面,参照图9,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上任意一种事件抽取的方法。
第六方面,参照图10,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上任意一种抽取模型训练的方法。
具体实例
下面结合一些具体实例,更详细的介绍本公开实施例。
(1)实验数据
利用一个预设的中文事件抽取数据集作为实验数据,该数据集包括17000个来自特定搜索引擎的热点关注的句子(对象文本),其中事件类型、事件元素、角色的标准结果通过人工标注确定,其共预设了65个事件类型(包括近期新增的事件类型),据此确定所有句子共包括20000个事件。
随机选择数据集中的1.2万个句子作为训练集,随机选择0.15万个句子作为验证集,剩余的0.35万个句子作为测试集;从测试集的所有句子中随机选择0.15万个句子为测试集1(test1),而测试集所有的0.35万个句子称为测试集2(test2)。
(2)模型设置
设置包括BERT子层、词性嵌入子层、起始二分类网络、终止二分类网络、多个标签二分类网络的本公开实施例的主体抽取模型(称为BMNP)。
去掉主体抽取模型中的词性嵌入子层作为本公开实施例的抽取模型1,称为BMPN-POS。
在主体抽取模型中增加BILSTM子层作为本公开实施例的抽取模型2,称为BMNP+BILSTM。
使用对抗训练的方式训练得到本公开实施例的抽取模型3(即其它抽取模型不采用对抗训练),称为BMNP+对抗训练。
其中,BERT子层采用RoBERTa-Large预训练语言模型,其最大序列长度为160个字符,优化算法采用Adam,初始学习率为5e-5,1个阶段(Epoch)后降到1e-5,总的epoch数为8,词性嵌入维度为256。
采用一些相关技术中的已有的“BERT+CRF(条件随机场)”结构的抽取模型为对比例抽取模型,称为BERT+CRF。
分别训练得到本公开实施例和对比例的各抽取模型。
(3)实验结果
用各抽取模型分别处理以上测试集1(test1)中的句子,处理结果如下表:
表2、各抽取模型对测试集1的处理结果
抽取模型(model) | precision(准确率) | recall(召回率) | F1 |
BERT+CRF | 0.843 | 0.84 | 0.841 |
BMPN-POS | 0.845 | 0.869 | 0.857 |
BMPN | 0.847 | 0.872 | 0.859 |
BMPN+BILSTM | 0.855 | 0.862 | 0.858 |
BMPN+对抗训练 | 0.851 | 0.871 | 0.861 |
其中,准确率和召回率通过将抽取结果与标准结果比较得到,F1表示采用字级别匹配。
其中,字级别匹配F1=2*字级别匹配P值*字级别匹配R值/(字级别匹配P值+字级别匹配R值);
字级别匹配P值=模型预测事件元素和标准结果事件元素共有字的数量/模型预测事件元素事件元素字数;
字级别匹配R值=模型预测事件元素和标准结果事件元素共有字的数量/标准结果事件元素字数。
可见,在准确率和字级别匹配F1方面,本公开实施例的各抽取模型的效果均优于对比例的抽取模型,而在召回率上的优势则更加明显。
而通过加入词性嵌入子层(指BMPN与BMPN-POS的数据比较)、BILSTM子层,或进行对抗训练,均可进一步改善提取模型效果,其中加入BILSTM子层对准确率的改善最为明显。
为充分利用数据集,进一步将训练集和验证集组合在一起随机打乱等分成10份样本,对本公开实施例的各抽取模型进行10折交叉验证(CV,Cross Validation,即10份样本中选择1份样本为验证样本,剩下的9份样本为训练样本,选择不同份的验证样本时分别训练)以得到各抽取模型,然后对结果进行投票融合(Voting Ensembles,即根据各抽取模型的处理结果,通过投票方式确定标准结果),再分别处理测试集1(test1)和测试集2(test2),结果如下表:
表3、各抽取模型对测试集1的处理结果(交叉验证+投票融合)
抽取模型(model) | precision(准确率) | recall(召回率) | F1 |
BMPN-POS | 0.862 | 0.87 | 0.866 |
BMPN | 0.862 | 0.872 | 0.867 |
BMPN+BILSTM | 0.863 | 0.872 | 0.867 |
BMPN+对抗训练 | 0.86 | 0.876 | 0.868 |
Ensemble all(融合结果) | 0.873 | 0.875 | 0.874 |
表4、各抽取模型对测试集1的处理结果(交叉验证+投票融合)
抽取模型(model) | precision(准确率) | recall(召回率) | F1 |
Ensemble all(融合结果) | 0.8758 | 0.8429 | 0.859 |
其中,如前,对某一特定事件类型的特定角色对应的“事实上的事件元素”,不同的抽取模型还可能给出不同的“不同表述”,例如以上“I球队”和“卫冕冠军I球队”的不同表述,则此时不同“表述”应视为不同的结果,并根据各抽取模型的投票确定哪种“表述”是正确的(如确定“I球队”是正确的)。
可见,交叉验证投票融合带来了一定的抽取效果的提升,最终交叉验证投票融合结果在测试集2(test2)上的F1达到了0.859的值。
本领域普通技术人员可以理解,上文中所公开的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。
某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器(CPU)、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH)或其它磁盘存储器;只读光盘(CD-ROM)、数字多功能盘(DVD)或其它光盘存储器;磁盒、磁带、磁盘存储或其它磁存储器;可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或事件元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (18)
1.一种事件抽取的方法,其包括:
用预设的抽取模型处理对象文本,确定对象文本的事件信息;
其中,所述事件信息包括事件元素,以及所述事件元素对应的事件类型和角色;所述抽取模型包括分类层、输出层;
所述分类层配置为确定所述对象文本的字符的字符属性;所述字符属性包括字符是否为每个事件类型和每个角色的事件元素的起始字符,以及字符是否为每个事件类型和每个角色的事件元素的终止字符;
所述输出层配置为根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色;
其中,所述抽取模型还包括事件提取层;所述事件提取层配置为确定所述各事件类型的类型概率;事件类型的类型概率表征对象文本与该事件类型的相关性;
所述确定所述对象文本的字符的字符属性包括:
确定所述对象文本的字符为一个事件类型的一个角色的事件元素的起始字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的起始字符;
确定所述对象文本的字符为一个事件类型的一个角色的事件元素的终止字符的初始概率;根据该初始概率和该事件类型的类型概率,确定该字符是否为该事件类型和该角色的事件元素的终止字符。
2.根据权利要求1所述的方法,其中,所述抽取模型还包括编码层;
所述编码层配置为对所述对象文本进行编码,并将编码结果输入至所述分类层。
3.根据权利要求2所述的方法,其中,
所述编码层包括基于转换器的双向编码器表征子层。
4.根据权利要求3所述的方法,其中,
所述编码层还包括词性嵌入子层;所述词性嵌入子层的输出和所述基于转换器的双向编码器表征子层的输出拼接为所述编码结果。
5.根据权利要求3所述的方法,其中,
所述编码层还包括双向长短期记忆子层,所述基于转换器的双向编码器表征子层的输出经过所述双向长短期记忆子层后为所述编码结果。
6.根据权利要求1所述的方法,其中,所述分类层包括起始二分类网络、终止二分类网络、多个标签二分类网络;
其中,所述起始二分类网络配置为确定所述对象文本的字符是否为事件元素的起始字符;所述终止二分类网络配置为确定所述对象文本的字符是否为事件元素的终止字符;每个所述标签二分类网络对应一个预定标签,并配置为确定所述对象文本的字符是否符合所述预定标签,所述预定标签包括预定事件类型和预定角色,任意两个不同所述标签二分类网络对应的所述预定标签中的预定事件类型和预定角色有至少一者不同;
所述根据所述字符的字符属性确定事件元素,以及确定所述事件元素对应的事件类型和角色包括:根据所述起始字符和终止字符确定事件元素,并根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签,以及确定该事件元素对应该预定标签的预定事件类型和预定角色。
7.根据权利要求6所述的方法,其中,
所述确定所述对象文本的字符是否为事件元素的起始字符包括:逐一确定所述对象文本的每个字符是否为事件元素的起始字符;
所述确定所述对象文本的字符是否为事件元素的终止字符包括:逐一确定所述对象文本的每个字符是否为事件元素的终止字符。
8.根据权利要求7所述的方法,其中,
所述根据所述起始字符和终止字符确定事件元素包括:确定距离最接近的起始字符和终止字符为一组,确定同组的起始字符到终止字符间的字符为一个事件元素。
9.根据权利要求6所述的方法,其中,所述确定所述对象文本的字符是否符合所述预定标签包括:
仅确定所述对象文本的每个所述起始字符和每个所述终止字符是否符合所述预定标签。
10.根据权利要求9所述的方法,其中,所述根据事件元素的至少部分字符的预定标签确定该事件元素对应的预定标签包括:
确定事件元素的起始字符和终止字符同时符合的预定标签为该事件元素的预定标签。
11.根据权利要求1所述的方法,其中,所述确定所述对象文本的字符的字符属性包括:
对所述对象文本的字符,分别独立的确定其是否为每个事件类型和每个角色的事件元素的起始字符,以及是否为每个事件类型和每个角色的事件元素的终止字符。
12.根据权利要求1所述的方法,其中,所述确定所述事件元素对应的事件类型和角色包括:
响应于多个所述事件元素对应同一事件类型和同一角色的情况,基于该多个事件元素中的每一个事件元素对应该事件类型和该角色的置信度,确定所述置信度最大的事件元素对应该事件类型和该角色。
13.一种抽取模型训练的方法,其包括:
确定初始模型;
用多个训练样本对所述初始模型进行训练,得到所述抽取模型;
其中,所述抽取模型为权利要求1至12中任意一项所述事件抽取的方法中使用的所述抽取模型。
14.根据权利要求13所述的方法,其中,所述用多个训练样本对所述初始模型进行训练,得到所述抽取模型包括:
用多个训练样本对所述初始模型进行对抗训练,得到所述抽取模型。
15.一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现所述权利要求1至12中任意一项所述的事件抽取的方法。
16.一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个计算机程序:
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,能实现所述权利要求13至14中任意一项所述的抽取模型训练的方法。
17.一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现所述权利要求1至12中任意一项所述的事件抽取的方法。
18.一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时能实现所述权利要求13至14中任意一项所述的抽取模型训练的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/118374 WO2022061877A1 (zh) | 2020-09-28 | 2020-09-28 | 事件抽取和抽取模型训练的方法和装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114586038A CN114586038A (zh) | 2022-06-03 |
CN114586038B true CN114586038B (zh) | 2024-08-27 |
Family
ID=80846135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080002135.5A Active CN114586038B (zh) | 2020-09-28 | 2020-09-28 | 事件抽取和抽取模型训练的方法和装置、设备、介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220318506A1 (zh) |
CN (1) | CN114586038B (zh) |
WO (1) | WO2022061877A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114996414B (zh) * | 2022-08-05 | 2022-09-30 | 中科雨辰科技有限公司 | 一种确定相似事件的数据处理系统 |
CN116629387B (zh) * | 2023-07-24 | 2023-10-27 | 湖南视觉伟业智能科技有限公司 | 一种用于训练缺失条件下的文本处理方法及处理系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120284271A1 (en) * | 2010-01-18 | 2012-11-08 | Nec Corporation | Requirement extraction system, requirement extraction method and requirement extraction program |
DK179049B1 (en) * | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
CN108334492B (zh) * | 2017-12-05 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 文本分词、即时消息处理方法和装置 |
CN109582949B (zh) * | 2018-09-14 | 2022-11-22 | 创新先进技术有限公司 | 事件元素抽取方法、装置、计算设备及存储介质 |
CN109918658B (zh) * | 2019-02-28 | 2023-04-07 | 云孚科技(北京)有限公司 | 一种从文本中获取目标词汇的方法及系统 |
CN110765265B (zh) * | 2019-09-06 | 2023-04-11 | 平安科技(深圳)有限公司 | 信息分类抽取方法、装置、计算机设备和存储介质 |
CN111241832B (zh) * | 2020-01-15 | 2023-08-15 | 北京百度网讯科技有限公司 | 核心实体标注方法、装置及电子设备 |
CN111368551B (zh) * | 2020-02-14 | 2023-12-05 | 京东科技控股股份有限公司 | 一种确定事件主体的方法和装置 |
CN111488726B (zh) * | 2020-03-31 | 2023-05-23 | 成都数之联科技股份有限公司 | 基于指针网络的非结构文本抽取多任务联合训练方法 |
CN111177326B (zh) * | 2020-04-10 | 2020-08-04 | 深圳壹账通智能科技有限公司 | 基于精标注文本的关键信息抽取方法、装置及存储介质 |
-
2020
- 2020-09-28 US US17/419,836 patent/US20220318506A1/en active Pending
- 2020-09-28 CN CN202080002135.5A patent/CN114586038B/zh active Active
- 2020-09-28 WO PCT/CN2020/118374 patent/WO2022061877A1/zh active Application Filing
Non-Patent Citations (1)
Title |
---|
基于BERT的多层标签指针网络事件抽取模型——2020语言与智能技术竞赛事件抽取任务系统报告;王炳乾 等;中文信息学报;20210715;第35卷(第7期);81-88 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022061877A1 (zh) | 2022-03-31 |
US20220318506A1 (en) | 2022-10-06 |
CN114586038A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599032B (zh) | 一种结合稀疏编码和结构感知机的文本事件抽取方法 | |
WO2018028077A1 (zh) | 一种基于深度学习的中文语义分析的方法及装置 | |
CN109800414B (zh) | 语病修正推荐方法及系统 | |
US20210065126A1 (en) | Job skill taxonomy | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN112232053B (zh) | 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质 | |
US11170169B2 (en) | System and method for language-independent contextual embedding | |
CN113177412A (zh) | 基于bert的命名实体识别方法、系统、电子设备及存储介质 | |
US11003950B2 (en) | System and method to identify entity of data | |
CN112966525B (zh) | 一种基于预训练模型和卷积神经网络算法的法律领域事件抽取方法 | |
CN114548101B (zh) | 基于可回溯序列生成方法的事件检测方法和系统 | |
CN114586038B (zh) | 事件抽取和抽取模型训练的方法和装置、设备、介质 | |
CN112131876A (zh) | 一种基于相似度确定标准问题的方法及系统 | |
CN114372470B (zh) | 基于边界检测和提示学习的中文法律文本实体识别方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
US20230014904A1 (en) | Searchable data structure for electronic documents | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN117370562A (zh) | 基于情感分析的用户评价数据处理方法及装置 | |
CN111914553A (zh) | 一种基于机器学习的金融信息负面主体判定的方法 | |
CN118313382A (zh) | 一种基于特征金字塔的小样本命名实体识别方法和系统 | |
CN113312918B (zh) | 融合部首向量的分词和胶囊网络法律命名实体识别方法 | |
CN114626463A (zh) | 语言模型的训练方法、文本匹配方法及相关装置 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN113012685B (zh) | 音频识别方法、装置、电子设备及存储介质 | |
CN116910251A (zh) | 基于bert模型的文本分类方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |