知识抽取概念

知识抽取概念

知识抽取包括三种要素:命名实体识别(NER)、实体关系抽取(RE)和属性抽取。属性抽取可以使用python爬虫爬取网站,较为简单,NER和RE作为知识抽取中的重要部分,也是NLP领域中非常关键的问题。

一、概念

命名实体识别与关系抽取是两个独立的任务,NER是在句子中找出具有可描述意义的实体,RE则是对两个实体关系进行抽取。可以说先进行NER后,再建立RE。

1.1实体与关系

实体是指具有可描述意义的单词或短语,通常可以是人名、地名、组织机构名、产品名称,或者在某个领域内具有一定含义的内容,比如医学领域内疾病、药物、生物体名称,或者法律学涉及到的专有词汇等。实体是构建知识图谱的主要成员。
关系是指不同实体之间的相互的联系。实体与实体之间并不是相互独立的,往往存在一定的关联。例如“马云”和“阿里巴巴”分别属于实体中的人名和机构名,而它们是具有一定关系的。
在命名实体识别和关系抽取之后,需要对所产生的数据进行整合,三元组是能够描述整合后的最好方式。三元组是指(实体1,关系,实体2)组成的元组,在关系抽取任务中,对任意两个实体1和实体2进行关系抽取时,若两者具有关系,则它们可以构建成三元组。例如一句话“马云创办了阿里巴巴”,可以构建的三元组为(“马云”,“创办”,“阿里巴巴”)。
1.2标注问题
监督学习中有三种问题,分别是分类问题、回归问题和标注问题。标注问题是根据输入的序列数据使用预先设置的标签进行依次标注。常用的序列标注任务有命名实体识别、词性标注、句法分析、分词、机器翻译等,解决此类问题常用的深度学习模型为循环神经网络。本文设计的NER任务便是序列标注问题的典型。

二、序列模型数据

对于命名实体识别、关系抽取及词性标注、情感分类等任务中,文本多以句子为主。句子是由多个单词组成,且长度不固定的,因此对于模型来说输入大部分为单词。单个的词往往没有特殊的意义,然而多个词组合在一起可能会有不同的含义,如“马云”一词中,“马”可能表示一种动物,“云”则是天上的云彩,但合在一起“马云”却表示人名。所以词之间是有关联的。我门把句子级别的数据称为序列模型数据。
文本类的序列模型数据通常不能直接作为模型输入数据,需要进行预处理。
2.1one-hot向量
这种方法可以把句子中的单词转换为数字。为了能通过向量形式表达,one-hot向量是指除了下标为该单词编号所对应的值为1以外其他为0。比如一个集合中的话为“马云在杭州创建了阿里巴巴”,其中有11个不重复的词,则“马”字的向量为[1,0,0,0,0,0,0,0,0,0,0],“里”的向量为[0,0,0,0,0,0,0,0,1,0,0]。
2.2词嵌入向量(word embeddings)
单纯的one-hot向量不能够存储大量的词汇,且不能体现出词语之间存在的关联性,因此引入词向量概念。
词向量有许多表达方式,传统的方法是统计该词附近的词出现的次数。基于深度学习的词向量有word embeddings,是通过Goggle提出的word2vec方法训练来的。
word2vec方法是将高维度的one-hot向量进行降维,通常维度设置为128或者300,通过神经网络模型进行训练。基于神经网络的词向量训练有两种模型,分别是CBOW和Skip-Gram模型。
CBOW模型是将一个词所在的上下文中的词作为输入,那个词本身作为输出。通常设置一个窗口,不断在句子上滑动,每次滑动都把窗口的中心词作为输出,其它作为输入。基于大量语句进行模型训练,通过神经网络的梯度下降法进行调参。最终神经网络的权重矩阵即为所有词汇的word embeddings。
Skip-Gram模型与CBOW相反,它随机选择窗口内的一个词作为输入,预测其他所有词可能出现的概率,训练后的神经网络权重矩阵即为所有词的word embeddings。

三、长短期记忆神经网络

3.1 长短期记忆神经网络LSTM
长短期记忆神经网络(LSTM)巧妙的运用门控概念,实现了可以长期记忆的一个状态。LSTM的模型结构与循环神经网络结构是一样的,不同的是隐含层的部分不是简单的求和。隐含层的部分又称为LSTM单元,主要由三个门控构成,分别是遗忘门、输入门和输出门。中间的cell称为记忆细胞,用来存储当前的记忆状态。
(1)遗忘门:作用是决定记忆细胞中丢弃什么信息,采用sigmod激活函数,其数据来源与当前的输入、上一时刻的隐层状态及上一时刻的记忆细胞。最终的ft取值为0或1,0表示完全丢弃,1表示完全保留。
(2)输入门:决定了要新增的内容。采用的是sigmod激活函数,It的值为0或1,0表示不添加当前的内容,1表示新增当前的内容。待新增的内容取决于当前的输入以及上一时刻的隐含状态。
(3)记忆细胞:存储已经记住的内容。当确定了当前时刻是否保留过去的记忆(即ft的取值)和是否记住新的内容(it的取值),于是更新记忆细胞。
(4)输出门:决定输出什么内容。对当前时刻t,若Ot=0则表示不输出,Ot=1表示输出。
因此,LSTM模型原理:在t时刻时,首先判断是否保留过去的记忆内容,其次判断是否需要新增内容,更新记忆细胞后判断是否需要将当前时刻内容输出。
3.2 双向长短期记忆神经网络Bi-LSTM
单向的神经网络模型不能记住未来时刻的内容,因此采用双向模型。该结构同一时刻在隐含层设置两个记忆单元,分别按照顺时间(前向)和逆时针(后向)顺序进行记忆,最后将该时刻两个方向的输出进行拼接。
在论文中,对命名实体识别最常用的便是Bi-LSTM模型,该模型实体识别的精度通常高达80%。

四、概率图模型(PGM)

在基于深度学习的命名实体识别中,使用RNN、LSTM或GRU模型是对序列数据的一种编码(encoding),虽然他们的输出数据也表示对实体标注的预测,但往往会出现错误。通常在NER任务中使用“BIES”表示实体词中每个单词的相对位置,其中B表示位于实体词的第一个位置,I表示中间位置,E表示最后一个位置,S表示实体词只有一个单词。如实体”华北电力大学“序列标注“BIIIIE”。对于RNN、LSTM的输出只会单纯输出其是否是实体,但并未考虑相对位置,即可能输出“BBBBBB”,这是错误的,因此需要引入解码器(decoding)。
常用的解码器可以是LSTM,也可以是基于概率图模型的隐马尔可夫模型和条件随机场模型。
4.1 概率图模型概念
概率图模型是通过图结构直观的表现出各个随机变量之间的依赖关系。
概率图模型分为有向概率图模型和无向概率图模型。有向概率图包括贝叶斯网络,隐马尔可夫模型;无向图包括条件随机场等。
4.2 贝叶斯网络
贝叶斯网络又称信念网络或因果网络,属于有向无环图。例如对于结点V1和V2分别表示随机变量X1和X2,则随机变量X2的概率为p(X2|X1),即变量X1是X2的因。对于没有边相连接的结点表示的随机变量,则两者是互相独立的。
在概率论中,贝叶斯定理表示的条件概率与各个变量之间的关系,即p(A|B)=p(A)p(B|A)/p(B)。
4.3 隐马尔可夫模型(HMM)
隐马尔可夫模型是一种特殊的贝叶斯网络,各个随机变量之间的依赖关系并不像图结构一样错综复杂,而是单纯的一条链式结构,被称为隐马尔科夫链,如图:
知识抽取概念_第1张图片
S={S0,S1,…,Sn}表示隐含状态序列,其中St表示第t时刻的某一状态。隐马尔可夫模型的假设指出,t时刻状态仅受t-1时刻的影响,与其它时刻无关。因此,t-1时刻与t时刻之间存在一个有向边,表示状态的转移,用矩阵A表示。每个时刻的状态都将对应一个输出,且该时刻的输出仅与当前时刻的隐含状态有关,输出的值即为观测值,输出矩阵为B。
隐马尔可夫模型表达的含义即多个随机变量含有隐含状态(内因)以及它们对应的外在表现(观测序列)。主要解决的问题包括评估问题、解码问题和学习问题。
在命名实体识别中,主要应用的是解码问题。解码问题根据已知的观测序列,推测最有可能的隐状态序列。即已知O={O1,O2…,On}来推测S。通过初始化隐状态的转移概率矩阵及各个观测值为某个状态的概率,可构建若干条状态路径,每条路径对应一个评分值,通过选择最大评分值对应的路径即为预测的隐含状态序列。
4.4 条件随机场模型(CRF)
条件随机场是给定一组输入序列条件下另一组输出序列的条件概率分布模型。对于命名实体识别的标注问题,常采用线性条件随机场。
线性条件随机场也满足隐马尔可夫模型,在此基础上引入特征函数。

你可能感兴趣的:(知识抽取概念)