第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > NLP自然语言处理-机器学习和自然语言处理介绍(四)

NLP自然语言处理-机器学习和自然语言处理介绍(四)

时间:2021-07-31 09:49:21

相关推荐

NLP自然语言处理-机器学习和自然语言处理介绍(四)

NLP自然语言处理-机器学习和自然语言处理介绍-事件抽取

一.案例介绍

1.背景

事件抽取技术的核心价值,是可以把半结构化、非结构化数据转换为对事件的结构化描述,进而支持丰富的下游应用。

比如说我们要为一些人物整理年表,如图,把人物经历的重要事件汇总起来,就可以用事件抽取方法来完成;我们不仅可以整理历史数据,还可以把新闻数据中的事件(天气、体育比赛情况、不和谐的行为和言论、面馆开张信息等等)抽取出来等等。

2.什么是事件

“事件”指在特定的时空下,由一个或多个角色(事件主体)参与的,围绕某个主题开展的一系列活动。

2.1事件组成元素

组成事件的各元素包括: 触发词、事件类型、论元及论元角色。

事件触发词/trigger:表示事件发生的核心词,多为动词或名词;

事件类型/event type:ACE 定义了8种事件类型和33种子类型。其中,大多数事件抽取均采用33 种事件类型。 事件识别是基于词的34 类( 33类事件类型+None) 多元分类任务,角色分类是基于词对的36 类( 35 类角色类型+None) 多元分类任务;

事件论元/事件要素/argument:事件的参与者,主要由实体、值、时间组成。值是一种非实体的事件参与者,例如工作岗位 ;

论元角色/要素角色/role:事件论元在事件中充当的角色。共有35类角色,例如,攻击者 、受害者等。

如材料:在 Baghdad,当一个美国坦克对着 Palestine 酒店开火时一个摄影师死去了。

序号 事件类型 触发词 论元 论元角色

“事件图谱“指持续、快速地获取客观世界中发生的事件,并丰富事件属性、建立事件间的关联关系,构成以事件为基本单位的知识网络。

2.2事件的8种类别即相应子类别

例如:Life/Marry 是结婚事件,Marry事件是官方活动,两人在法律定义下结婚。其模版包括一个participate slot和两个attribute slot,如下所示:

3.什么是事件抽取

(1)定义

将非结构化文本中的事件信息转化为结构化形式,包括识别出事件的触发词,支持该事件论元(主体、客体、时间、地点)。

例如材料:苹果公司将于西部时间9月12日上午10点,北京时间9月13日凌晨1点举行新品发布会,这一次的发布会地点是全新建造的史蒂夫-乔布斯剧院。根据目前的消息,这次发布会上苹果将会发布iphone8、iphone7s、Apple Watch3以及全新Apple TV。

抽取结果如下:

(2)分类

对事件进行分类,包括极性、时态。

例如材料:过往世卫组织曾5度宣布“国际关注公共卫生紧急事件”。

抽取结果如下:

二.模型介绍

1.事件抽取模型的核心构成

(1) 事件类型体系,以及各类事件里重要的角色,统称为schema。

(2) 信息抽取方法。

2.Schema的制定

“schema”即纲要,是我们对事物一般的、抽象的描述,体现人类对事物的认知水平,决定了机器抽取事件的能力,因此非常重要。而确定了schema,一方面方便大家在相同的概念基础上展开协作,另一方面也让机器有了相对确定的学习和预测目标。

一个完整的事件schema,应当包括:

(1)事件类型体系,比如“企业成立”、“企业并购”等等组成的,就是我关心的事件的类型体系;

(2)各类事件的重要角色,比如一段文本所含的各个字段,就是一个事件得以发展所依赖的重要角色。有时候,我们会设置一种特殊的角色,即“事件触发词”,用来辅助判断事件的发生。

3.信息抽取的方法

即信息抽取模型构建—换句话说, 我们需要构建一定的工具,让它从半结构化、非结构化数据中,把schema描述的信息抽取出来。

3.1事件抽取-触发词提取器

(1)模型框架:BERT + Feature

(2)原理:将标注数据中的所有Trigger作为知识库,类似于远程监督的方式,作为Trigger抽取的先验特征,抽取句子中与知识库内Trigger匹配的文本标注出来,将其映射到Extra-Feature Embedding中,与BERT的输出拼接。

(3)知识库构建:知识库构建(训练集内部交叉构建,测试集使用全体训练集作为知识库构建)。

3.2事件抽取-论元提取器

(1)模型框架:BERT-ConditionalLayerNorm

(2)原理:将原始文本+Trigger在文本中的位置输入模型,以文本中所有词到Trigger的相对距离,Trigger本身的相对距离为0为特征,模型利用ConditionalLayerNorm让文本融入Trigger的语义信息,直接标注出trigger的位置,帮助模型预测role。

3.3事件抽取-属性分类器

(1)模型框架:BERT-DynamicPooling

(2)原理:将原始文本+Trigger在文本中的位置输入模型,我们认为事件的属性只与Trigger本身和其左右窗口大小为N的词有关,故模型中mask多余部分,利用窗口内Pooling后的logits+Trigger Start Logits+Trigger End Logits 对 tense 和 polarity 进行分类。

三.样例数据

文本如下:

1.毛泽东(1893年12月26日1976年9月9日),字润之(原作咏芝,后改润芝),笔名子任。湖南湘潭人。中国人民的领袖,伟大的马克思主义者,无产阶级革命家、战略家和理论家,中国共产党、中国人民解放军和中华人民共和国的主要缔造者和领导人,政治家,军事家,诗人,书法家。

四.结果展示

1.{“markResult”: [{“trigger”: {“text”: “缔造”, “end”: 112, “start”: 110}, “arguments”: [{“role”: “object”, “text”: “中国共产党、中国人民解放军和中华人民共和国的主要缔造者和领导人,政治家,军事家,诗人,书法家”, “start”: 86, “end”: 132}, {“role”: “object”, “text”: “毛泽东”, “start”: 0, “end”: 3}], “eventClassify”: [{“task”: “polarity”, “res”: “肯定”}, {“task”: “tense”, “res”: “过去”}]}]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。