NLP 2.5信息抽取 Information extraction

文章目录

信息抽取介绍 Information Extraction

1、信息抽取概要 (IE)

Extraction information from unstructured text(非结构化数据)

  • 图片
  • 文本
  • video
  • 音频

抽取实体(entities):

  • 人,地名,时间
  • 医疗领域:蛋白质,疾病,药物

抽取关系(relations)

  • 位于 located in
  • 工作在 work at
  • 部分 is part of

先做实体抽取,再做关系抽取

2、信息抽取应用场景

2.1 一个例子

  • 1、NER: 标记所有的实体和每个实体的类别
  • 2、**关系抽取分析:**找到实体间的关系
  • 3、指代消解,每个代词指代的是哪个名词。

在这里插入图片描述

2.2 More application

  • 知识库的搭建
  • Google scholar
  • 购物引擎,产品搜索
  • 正确分析
  • 问答案系统

2.3 Search Engine vs Question Answering

  • Question Answering:用户输入问题,系统直接给定answer
  • Search Engine:用户需要自己筛选

问答系统的等级

  • level 1: 返回文档
  • level 2:返回关键句子
  • level 3:返回key phrase
  • level 4: 返回答案

3、命名实体识别介绍

3.1 概念

命名实体识别,简称NER,又称作专名识别,是指识别文本中具有特定意义的实体,主要包括任命,地名,机构名,专有名词等。

3.2 Case 1: Chat bot

在这里插入图片描述

先做意图识别:文本分类
第一次抽取实体:北京,伤害
第二次抽取实体:11月16日

3.3 Case 2:Extract from news

在这里插入图片描述
在这里插入图片描述

4、搭建命名实体识别 NER分类器

  • 定义实体种类
  • 准备训练数据
  • 训练NER

在这里插入图片描述
给定word, 词性和实体类别,O为不需要关注的单词,多个单词构成一个实体类别。

4.1 评估 NER Recognizer

  • 精确率和召回率
  • F1-score

4.2 Methods

4.2. 1 rule-based approach 利用规则

在这里插入图片描述

4.2.2 Majority voting approach 投票表决

在这里插入图片描述
选择概率最大的实体类型

4.2.3 基于监督学习的方法

  • 1、非时序模型,逻辑回归,svm
  • 2、时序模型:HMM,CRF, LSTM-CRF

针对一个单词,使用特征工程,提取特征,得到feature vector,输入到模型得到分类结果。

比如,应用随机森林进行分类,将一个单词是否是标题,是否有大写,它的词长度等作为feature,输入到模型进行训练,得到分类结果。这种特征提取没有考虑上下文信息。

5、文本的特征工程

对于一个句子的特征提取: The professor Colin proposed a model for NER in 1999
1、Bag-of-word features

  • 当前词:Colin:
  • 前后词:professor,proposed
  • 前前,后后词:the, model
  • Bi-gram: Professor Colin,Colin proposed,the professor, proposed model

2、词性的feature

  • 当前词词性:名词
  • 前后词词性:名词,动词
  • 前前后后词性:冠词,名词

3、前缀后缀

  • 当前词:Co,in
  • 前后词:pr,or;pro, ed

4、当前词的特性

  • 词长
  • 包含有多少个大写字母
  • 是否大写开头
  • 是否包含“-”
  • 是否包含数字

5、 stemming
对单词做stemming后重复上面四个操作

6、特征编码 Feature Encoding

对于当前词的词性:Loc,需要把这个词性转变为one-hot encoding,但会使特征的维度变大很多很多。

常见的特征种类:

1、类别型的特征,使用one-hot encoding

  • 男女
  • 动词,名词

2、连续性的特征

  • 身高
  • 温度
    可以直接使用做归一化,还可以转为高斯分布N(0,1)
    做discretize,按区间做分类。

在这里插入图片描述
3、Ordinal Feature 与ranking 相关的

在这里插入图片描述
通过特征只能了解到顺序,但无法了解具体的差别。一个同学考试拿A,一个拿B,不知道他们具体差了多少

  • 方法1:直接使用
  • 方法2:当作categorical feature使用
    在这里插入图片描述

7、关系抽取介绍

7.1信息抽取任务:

在这里插入图片描述

通过NER抽取出张三,北京大学和北京三个实体

使用三元组保存实体之间的关系。——RDF Store

在这里插入图片描述

7.2 Automatic Content Extraction(ACE)

在这里插入图片描述
知识图谱:包含多种关系类型+包含多种实体类型

Ontological Relation(本体关系)

  • IS-A (hypernym relation)
  • instance-of

7.3 关系抽取方法介绍

1、基于规则
2、监督学习
3、半监督-无监督学习

  • Boostrap
  • Distant Supervision
  • 无监督学习

8、基于规则的方法

8.1 举例 “is-a”

在这里插入图片描述
在这里插入图片描述

8.2 Benefits and Drawbacks

优点:

  • 准确
  • 不需要训练数据

缺点:

  • low recall rate
  • 人力成本
  • 规则本身难设计

9、基于监督学习方法

1、定义关系类型
2、实义实体类型
3、训练数据准备

  • 实体标记好
  • 实体之间的关系

同时考虑两个单词的特征,构造特征放入算法进行分类。

9.1 特征工程

1) Bag of word feature:

American Airline, Tim Wanger,以及bigram,trigram特征

2)中间部分特征

a unit of Amr, immediately, match the move, spokesman

3) pos feature:词性相关特征

名词/动词/,也可以加入bigram或者中间部分的词性

4)实体类别特征

American Airline: OGR
Tim Wanger: PER

5) Stemming

6)位置相关信息

  • 两个实体间包含了多少个单词?
  • 这句话在本文中的位置

7)句法分析相关特征

计算两个节点之间最短路径
在这里插入图片描述

8)依存文法相关

w1,w2,w3,w4,w5
分析出每个单词和其他单词的关系

  • shortest path
  • 0/1

9.2 Classification Model

在这里插入图片描述
SVM,神经网络
在这里插入图片描述

  • 先做二分类,看单词之间有没有关系:k+1类
  • 如果有关系,再用模型2做多分类问题:k类
  • 模型会更加简单,大部分的实体会被model1 过滤掉

10、Bootstrap 方法

10.1 Bootstrap

在这里插入图片描述

  • 使用有限的tuple去生成一些规则
  • 使用规则去生成额外的tuple
  • 再使用原有的tuple和生成的tuple去重复上述步骤
  • 直到训练出很多很多的tuple和规则

优点:全自动的过程

算法的缺点:

  • error accumulation,随着循环,误差会提高,准确率在经过三次迭代后,严重下降。
    在这里插入图片描述
    在这里插入图片描述

10.2 Snow ball

step 1:生成规则

从文章中寻找在tuple中的实体,标记规则。使用近似匹配的算法,计算规则和规则之间的相似度,规则和tuple之间的相似度。
snow ball 的核心:使用模板
pattern representation:五元组算法
< left >[org]< middle > [loc]< right>

如何计算相似度

在这里插入图片描述

在这里插入图片描述

  • 如果两个实体不一样,相似度为0。
  • 如果实体类型一样,计算相似度。

step2:生成模板

使用聚类,对每个模板做分类,使相似度比较高的模板聚类在一起。
在这里插入图片描述

将每一个类中的模板取平均值作为一个新的模板。

step 3: 生成tuple与模板评估

根据生成的规则匹配在文章中生成新的tuple
规则里面的指的是实体类型
在生成tuple的过程中也要使用五元组表示法,生成tuple的过程就是计算与规则库中规则的之间的相似度
在这里插入图片描述

step 4: pattern evaluation

选择一个模板,只用这个模板,对一个文档生成一些tuples,与seed tuples对比计算confidence,如果confidence值小于阈值,就把该模板从规则库中去掉。
在这里插入图片描述

step 5:评估记录+过滤:tuple evaluation

计算confidence(tuple)

已知:seed tuples是由规则库中的哪个规则产生的。
对比两个tuple的confidence就是对比生辰他们的规则的confidence哪个更高
如果一个tuple是由多个靠谱的规则生成的,那么该tuple的confidence一定比只由一个规则生成的更靠谱。
在这里插入图片描述

10.3 snowball 总结

  • 1、信息抽取领域重要的部分
  • 2、细节和流程
  • 3、pattern representation,confidence score,五元组

11、Distant-supervision方法

12、无监督学习

13、实体消歧 Entity Disambiguiation

实体消歧的本质:一个词可能有多个意思,也就是在不同的上下文中所表达的含义不太一样

13.1 介绍

在这里插入图片描述
在这里插入图片描述

13.2 实体消歧算法

将query使用tf-idf转为向量,与苹果的两个定义计算余弦相似度,选择更大的相似形的定义

在这里插入图片描述

14、实体统一 Entity Resolution

在这里插入图片描述
在数据清洗中是很重要的部分

14.1 实体统一算法

问题定义:给定两个实体,判断是否是指向同一个实体:0/1二分类问题
举例:给定两个实体,字符串的形状 str1,str2:判断是否指向同一个实体

1、方法一:计算两个str的相似度:edit distance
2、方法二:基于规则

在这里插入图片描述
根据给定规则的表格删除str中出现的字符串元素。

3、方法三:有监督学习的方法
一篇文章出现百度有限公司,百度科技公司,标记其属于同一类。提取特征:单词本身,单词上下文。

在这里插入图片描述
4、基于图的实体统一:个体特征加关系相关特征
在这里插入图片描述
通过相似度计算设置阈值,判断它们是否是个实体
如果是,就做merge
如果不是,remain

15、指代消解

15.1 举例

张三没有去上班,因为生病了,昨天李四陪他去了医院,好消息是,他已经好了。 将他看作一个二分类问题。

  • 1、最简单的方法:分类成离他最近的实体
  • 2、supervised learning:

15.2 收集数据

1)收集数据
2) 构造分类器

在这里插入图片描述
考虑(张三,A) 为1的这一组数据,将张三和他在文本中出现的位置中间的,张三左边的,他右边的几个字符串转换为向量的形式。

16、句法分析 —— Parsing

16.1 介绍

理解一个句子,两种方法:

  • 从句法分析的角度理解一个句子(主谓宾)
  • 感觉,基于语言模型

16.2 语法树

在这里插入图片描述

  • p: phrase
  • N:名词
  • V:动词
  • NP:名词短语
  • P:介词
  • PP:介词短语

16.2 Parsing for Feature Extraction

  • 1、最短路径
  • 2、路径上的符号

在这里插入图片描述

16.3 语法

什么样的条件下可以把句子转换成语法树?

在这里插入图片描述
右边的都是终结符号,只要没遇到终结符号,就可以一直向下分类。

在这里插入图片描述

16.4 From CFG(context free grammars) to PCFG (probablistic context free grammars)

在这里插入图片描述
每一个中间结点的再向下分的类型都会有一定概率

16.5 评估语法树

目的:给定一个grammar,把一个句子转换成语法树
在这里插入图片描述

16.6 寻找最好的数

  • 1、枚举所有可能的句法树,时间复杂度很大
  • 2、CKY算法:核心理念就是动态规划

17、CKY 算法

17.1 CKY 算法核心思想

Binarization is the Key,规则的右边只能出现两个不同的符号。

17.2 Transforming to CNF(chosmsky normal form)

  • 不能允许出现1个符号
  • 不能允许出现两个以上的符号
    remove e会产生很多新的规则

在这里插入图片描述

remove unaries
s …> vp,把s看作vp
在这里插入图片描述
继续去掉unaries
在这里插入图片描述
删除掉unaries后,右边的词性对照的单词数量增多
在这里插入图片描述
到此为止,右边没有出现unaries和e

如果出现三个,就把两个定义成新的变量,新的变量再指向原先的两个词性

在这里插入图片描述

红色部分为CNF form

  • about CKY
    1、必须符合binarization
    2、其他的条件不是必须的

17.3 CKY算法

给定一个句子, fish people fish tanks
在这里插入图片描述
把一棵树从叶节点开始慢慢生成。

猜你喜欢

转载自blog.csdn.net/weixin_51182518/article/details/113814590