实体关系抽取方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种实体关系抽取方法及装置。
背景技术
互联网技术的发展与普及给人们的生活带来了很多便利,通过提取网络海量的文本数据中有价值的信息,对改善人们的生活有着十分重要的作用和意义。通过信息抽取技术,实现了从海量自然语言文本中抽取结构化的数据,从而为人们构建知识库、自动问答及文本挖掘等领域提供了有效帮助。
在根据信息抽取技术构建知识库的过程中,通常利用关系抽取技术,从非结构化文本中抽取三元组用于构建知识库。随着网络中数据的不断增加,知识库中的信息也需要持续更新,关系抽取技术实现了知识库自动更新,因此关系抽取模型的效果很大程度上决定了知识库的质量。现有技术中,一般采用深度神经网络的关系抽取方法构建知识库。在利用深度神经网络关系抽取方法训练模型时,采用远程监督的方法生成关系抽取的训练语料,解决了关系抽取数据匮乏的问题。
但是,现有的远程监督关系抽取方法易受到噪声数据的影响,导致模型的准确率普遍很低。
发明内容
本发明的目的在于提供一种实体关系抽取方法及装置,提高了实体关系抽取方法的准确率。
第一方面,本发明提供一种实体关系抽取方法,包括:
根据训练语料的实体信息和关键词生成正则表达式;
将所述训练语料进行分词获得分词结果,将所述分词结果转换为向量,并将所述向量输入神经网络;
将所述向量输入神经网络的第一隐藏层,输出向量集合;
根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式;
将所述向量表达式输入神经网络的输出层,输出实体关系类别的概率;
根据所述实体关系类别的概率对实体信息进行关系抽取。
在一种可能的设计中,所述将所述分词结果输入神经网络的第一隐藏层,输出向量集合,包括:
将所述分词结果输入神经网络的第一隐藏层,根据所述第一隐藏层中的参数输出向量集合,其中,所述参数包括输入门参数、遗忘门参数、细胞状态参数和输出门参数。
在一种可能的设计中,所述根据训练语料的实体信息和关键词生成正则表达式,包括:
通过对训练语料进行分词,获得候选关键词;
通过对所述候选关键词进行聚类,获得聚类结果;
对聚类结果进行筛选处理类别关键词;
根据训练语料的实体信息和所述类别关键词生成正则表达式。
在一种可能的设计中,所述通过对训练语料进行分词,获得候选关键词,包括:
通过对训练语料进行分词;
利用TF-IDF算法对所述分词结果进行过滤,获得候选关键词。
在一种可能的设计中,所述通过对所述候选关键词进行聚类,获得类别关键词,包括:
利用word2vec算法对所述候选关键词进行聚类,获得类别关键词。
第二方面,本发明实施例提供一种实体关系抽取装置,基于第一方面任一项所述的实体关系抽取方法,包括:
生成模块,用于根据训练语料的实体信息和关键词生成正则表达式;
分词模块,用于将所述训练语料进行分词获得分词结果,将所述分词结果转换为向量,并将所述向量输入神经网络;
第一输出模块,用于将所述向量输入神经网络的第一隐藏层,输出向量集合;
第二输出模块,用于根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式;
第三输出模块,用于将所述向量表达式输入神经网络的输出层,输出实体关系类别的概率;
抽取模块,用于根据所述实体关系类别的概率对实体信息进行关系抽取。
在一种可能的设计中,所述生成模块,具体用于将所述分词结果输入神经网络的第一隐藏层,根据所述第一隐藏层中的参数输出向量集合,其中,所述参数包括输入门参数、遗忘门参数、细胞状态参数和输出门参数。
在一种可能的设计中,所述第一输出模块,具体用于通过对训练语料进行分词,获得候选关键词;
通过对所述候选关键词进行聚类,获得聚类结果;
对聚类结果进行筛选处理类别关键词;
根据训练语料的实体信息和所述类别关键词生成正则表达式。
第三方面,本发明实施例提供一种服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的实体关系抽取方法;
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的实体关系抽取方法。
本发明实施例提供的一种实体关系抽取方法及装置,通过根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式,加强神经网络对每个实体类别特征的学习,利用正则表达式与神经网络相结合的方法对实体信息进行关系抽取,促使神经网络更好地学习到每个关系类别的特征,对实体信息进行关系抽取更准确,解决了远程监督模型受到噪声数据干扰导致实体关系抽取准确率低的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例提供的实体关系抽取方法的应用场景示意图;
图2为本发明实施例提供的实体关系抽取方法流程图一;
图3为本发明实施例提供的实体关系抽取方法流程图二;
图4为本发明实施例提供的实体关系抽取装置的结构示意图;
图5为本发明实施例提供的服务器结构示意图。
具体实施方式
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
本发明涉及的名词定义;
双向长短期记忆:(Bidirectional Long Short-Term Memory,简称BiLSTM);
词频:(Term Frequency,简称TF);
逆文本频率指数(Inverse Document Frequency,简称IDF);
信息检索与数据挖掘的常用加权技术(term frequency–inverse documentfrequency,简称TF-IDF)。
本发明实施例提供的实体关系抽取的方法属于深度学习神经网络算法。互联网的兴起和发展改变了人们利用人工整理的方式从书本、报纸、电视等传统社会媒体被动获取知识的模式,人们可以借助搜索引擎主动从海量文本中快速查找所需的资料。然而当前基于关键词匹配技术的搜索引擎虽然能够在一定程度上满足用户信息获取的需求,但仍存在信息过载、资源迷向等问题。实体信息抽取作为信息抽取领域的重要研究方向,主要作用是抽取句子中实体对之间的语义关系,即在实体识别的基础上确定无结构文本中实体对间的关系类别,并形成结构化的数据以便存储和取用。本发明实施例体统的实体关系抽取的方法可以用于构建知识图谱活本体知识库,用户可从检索和使用所需要的知识。
参考图1,图1为本发明实施例提供的实体关系抽取方法的应用场景示意图。如图1所示,本实施例提供的系统包括终端101和服务器102。其中,终端101可以为个人电脑、手机、平板等。本实施例对终端101的实现方式不做特别限制,只要该终端101能够与用户进行交互即可。服务器102可以是一台或者几台组成的集群。
本发明实施例由终端101或者服务器102实现的实体关系抽取方法,用户通过利用实体关系抽取方法对实体信息数据进行实体关系抽取,解决了现有实体关系抽取方法中存在信息过载、资源迷向等问题。用户通过终端101或者服务器102实现的实体关系抽取方法构建知识图谱或本体知识库,便于用户检索和使用所需要的知识。
图2为本发明实施例提供的实体关系抽取方法流程图一,如图2所示,本实施例的执行主体可以为图1所示实施例中的终端,也可以为图1所示实施例的服务器,本实施例此处不做特别限制。该实体关系抽取方法包括以下步骤:
S21:根据训练语料的实体信息和关键词生成正则表达式。
通过远程监督获得包含实体信息的训练语料,根据训练语料抽取关键词生成正则表达式。例如训练语料为“李丽出生于北京”,抽取关键词为“出生于”,则生成的正则表达式为/实体1出生于实体2/,可根据生成的正则表达式对训练语料进行标注,将标注后的特征用于后续神经网络训练。
S22:将所述训练语料进行分词获得分词结果,将所述分词结果转换为向量,并将所述向量输入神经网络。
对训练语料进行分词获得分词结果,将分词结果转换为向量,即分词后的每个词标识为向量,将向量输入神经网络中。
S23:根据分词结果对神经网络的第一隐藏层进行训练,输出向量集合。
本发明实施例中神经网络的第一隐藏层为BiLSTM层,其中BiLSTM层由前向的LSTM与后向的LSTM结合⊙组成。通过将向量[李丽,出生于,北京]根据前向的LSTM进行训练后获得三个向量{hL0,hL1,hL2},根据后向的LSTM进行训练后获得三个向量{hR0,hR1,hR2},最后将前向和后向的隐向量进行拼接得到{[hL0,hR2],[hL1,hR1],[hL2,hR0]},则输出向量集合即为{h0,h1,h2}。
S24:根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式。
本发明实施例中神经网络的第二隐藏层为Attention层,神经网络中的Attention层的作用是通过取不同的权重来关注句子中对分类有价值的词,通过将S21中获得的正则表达式加入到Attention层,根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式。可进一步辅助神经网络分类器学习到每个类别的关键词特征。
针对每种实体关系k使用不同的注意力aK生成的句子的向量表示sK:
Sk=∑iakihi
其中
,C
k是可训练的向量,W
a是权值矩阵,h
i是词i的BiLSTM的输出。
对于一个句子使用正向attention和负向attention两种方式,正向attention告诉模型哪个关键词属于该类,负向attention则相反。
例如:
“人名+出生于+地名”可以被标注为“出生地”的关系;
“人名+居住在+地名”不可以被标注为“出生地”的关系。
S25:将所述向量表达式输入神经网络的输出层,输出实体关系类别的概率。
本发明实施例中神经网络的输出为Softmax层,将向量表达式Sk=∑iakihi输入Softmax层。在Softmax层中根据Softmax函数到句子x属于第k类的概率为:
其中logitk=WkSk+bk,其中Wk是权值向量,bk是偏置。在实际中,将正向attention对于第k类的打分和负向attention对第k类的打分相减,得到第k类最终的打分:
logitk=logitk;positive-logitk;negative
S26:根据所述实体关系类别的概率对实体信息进行关系抽取。
S27:损失函数
利用正则表达式指导attention项,attention对应的损失函数为:
lossatt=∑k∑itkilog(aki)
当词i不是关系k的关键词时tki的值为0,否则tki=1/lk,lk为关系k的关键词总数。那么最终的损失函数:
loss=lossori+βplossatt_p+βnlossatt_n
根据S25中获得的实体关系类别的概率对实体信息的训练语料进行关系抽取,从而获得实体信息中每种类别的关系特征。通过实体信息中每种类别的关系特征构建知识库和更新知识库。
从上述实施例可知,本发明实施例通过提出通过生成正则表达式加在神经网络的第二隐藏层attention层来指导神经网络的训练,加强神经网络对每个实体类别特征的学习,利用正则表达式与神经网络相结合的方法对实体信息进行关系抽取,促使神经网络更好地学习到每个关系类别的特征,对实体信息进行关系抽取更准确,缓解了远程监督模型受到噪声数据干扰准确率低的问题。
在本发明的一个实施例中,将所述分词结果输入神经网络的第一隐藏层,输出向量集合,包括将所述分词结果输入神经网络的第一隐藏层,根据所述第一隐藏层中的参数输出向量集合,其中,所述参数包括输入门参数、遗忘门参数、细胞状态参数和输出门参数。
本发明实施例中神经网络的第一隐藏层为BiLSTM层,将所述分词结果输入神经网络的BiLSTM层,输出向量集合。其中第一隐藏层中的参数包括输入门参数、遗忘门参数、细胞状态参数和输出门参数。本发明实施例中LSTM层的分别定义输入门i,遗忘门f,细胞状态c,输出门o如下:
其中σ为sigmoid函数,⊙表示点乘,w、u为权值矩阵,b为偏置,w、u、b作为网络的参数参与训练。
根据上述训练参数对BiLSTM层进行训练,输出向量集合。BiLSTM层的输出为:
其中
和
分别表示第i时刻前向LSTM和后向LSTM的隐藏层的状态,⊕表示连接
和
通过将向量[李丽,出生于,北京]根据前向的LSTM进行训练后获得三个向量
根据后向的LSTM进行训练后获得三个向量
最后将前向和后向的隐向量进行拼接得到h
i={[h
L0,h
R2],[h
L1,h
R1],[h
L2,h
R0]},则输出向量集合即为h
i={h
0,h
1,h
2}。
从上述实施例可知,本发明实施例提供了第一隐藏层中的参数,包括输入门参数、遗忘门参数、细胞状态参数和输出门参数,通过利用BiLSTM隐藏层的训练模型获得BiLSTM隐藏层输出向量集合。
图3为本发明实施例提供的实体关系抽取方法流程图二,在图2实施例的基础上,如图3所示,S21中具体包括以下步骤:
S31:通过对训练语料进行分词,获得候选关键词。
通过对远程监督获得的训练语料利用分词工具进行分词,获得候选关键词。
S32:通过对所述候选关键词进行聚类,获得聚类结果。
将分词后的语料进行聚类训练,获得候选关键词的聚类结果。
S33:对聚类结果进行筛选处理类别关键词。
由于远程监督获得的训练数据存在着噪声,因此候选关键词的聚类结果中只有一部分是真正能表示对应关系类别的关键词,通过对聚类结果进行分析和筛选,获得类别关键词。
S34:根据训练语料的实体信息和所述类别关键词生成正则表达式。
对于实体信息中每种关系类别的训练语料,根据句子中的两个实体及类别关键词,生成正则表达式。例如关系“出生地”的关键词之一“出生于”,那么对于句子“李丽出生于北京。”可生成正则表达式:/实体1出生于实体2/。
从上述实施例可知,通过对远程监督生成的训练数据进行关键词提取获得候选关键词,对候选关键词进行聚类并筛选获得类别关键词,根据训练语料的实体信息和类别关键词进行训练,生成正则表达式。利用正则表达式对句子进行标注,将标注后的特征加在神经网络中辅助训练。
在本发明的一个实施例中,通过对训练语料进行分词,获得候选关键词,包括通过对训练语料进行分词获得关键词,利用TF-IDF算法对关键词进行过滤,获得候选关键词。
TF-IDF算法是一种用于信息检索与数据挖掘的常用加权技术,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度,字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。根据远程监督获得的每种关系的训练语料进行分词,利用TF-IDF算法进行关键词抽取;
TF表示词w在文本中出现的频率,计算方法如下:
IDF由文档总数除以包含词w的文档数再取对数得到:
TFIDF值为:
TFIDF=TF*IDF
取TFIDF值高的前N个词,利用TF-IDF算法可以过滤掉常见的词语,保留重要的词语,获得候选关键词。
从上述实施例可知,通过对远程监督生成的训练数据进行分词,获得候选关键词;通过对所述候选关键词进行聚类,获得聚类结果;对聚类结果进行筛选处理类别关键词;根据训练语料的实体信息和所述类别关键词生成正则表达式。
在本发明的一个实施例中,通过对候选关键词进行聚类,获得类别关键词,包括利用word2vec算法对候选关键词进行聚类获得类别关键词。
Word2vec算法可用于产生词向量的相关模型。首先对候选关键词利用分词工具进行分词,再将分词后的语料利用word2vec工具进行聚类训练,获得候选关键词的聚类结果。
在本发明的一个实施例中,还包括根据增强学习算法,利用噪声过滤器对损失函数进行噪声过滤。
对于句子集合X={(x1,r1),(x2,r2),…,(xn,rn)},其中句子xi与实体对(hi,ti)以及关系ri对应,ri是由远程监督产生的标签,噪声过滤器的目标是根据策略函数判断X中哪个句子真正表达了它对应的关系类型,并将其选择出来作为训练数据。
策略函数如下:
πθ(si,ai)=Pθ(ai|si)=aiσ(W*F(si)+b)+(1-ai)(1-σ(W*F(si)+b))
πθ表示句子si被选择出来的概率,其中ai∈{0,1},0表示不选择句子si,1表示选择si,F(si)由三部分组成:
1)si的句子向量;
2)所有已经选择出来的句子向量的平均值;
3)实体词hi、ti对应的向量;
σ是sigmoid函数,策略函数的参数为θ={W,b}
从上述实施例可知,通过使用噪声过滤器对噪声进行初步过滤,对远程监督产生的噪声数据进行筛除,缓解了远程监督模型受到噪声数据干扰准确率低的问题。
图4为本发明实施例提供的实体关系抽取装置的结构示意图。如图4所示,该实体关系抽取装置40包括:生成模块401、分词模块402、第一输出模块403、第二输出模块404、第三输出模块405和抽取模块406。
生成模块401,用于根据训练语料的实体信息和关键词生成正则表达式;
分词模块402,用于将所述训练语料进行分词获得分词结果,将所述分词结果转换为向量,并将所述向量输入神经网络;
第一输出模块403,用于将所述向量输入神经网络的第一隐藏层,输出向量集合;
第二输出模块404,用于根据正则表达式将所述向量集合输入神经网络的第二隐藏层,输出向量表达式;
第三输出模块405,用于将所述向量表达式输入神经网络的输出层,输出实体关系类别的概率;
抽取模块406,用于根据所述实体关系类别的概率对实体信息进行关系抽取。
在本发明的一个实施例中,所述第一输出模块403具体用于:
具体用于将所述分词结果输入神经网络的第一隐藏层,根据所述第一隐藏层中的参数输出向量集合,其中,所述参数包括输入门参数、遗忘门参数、细胞状态参数和输出门参数。
在本发明的一个实施例中,所述生成模块401具体用于:
通过对训练语料进行分词,获得候选关键词;
通过对所述候选关键词进行聚类,获得聚类结果;
对聚类结果进行筛选处理类别关键词;
根据训练语料的实体信息和所述类别关键词生成正则表达式。
在本发明的一个实施例中,所述第二获得模块405具体用于
通过对训练语料进行分词获得关键词;
利用TF-IDF算法对所述关键词进行过滤,获得候选关键词。
在本发明的一个实施例中,所述第二获得模块405具体还用于:
利用word2vec算法对所述候选关键词进行聚类,获得类别关键词。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本发明实施例提供的服务器结构示意图。如图5所示,本实施例的服务器50包括:处理器501和存储器502;其中:
存储器502,用于存储计算机执行指令;
处理器501,用于执行存储器存储的计算机执行指令,以实现上述实施例中服务器50所执行的各个步骤;
具体可以参见前述方法实施例中的相关描述。
在一种可能的设计中,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502独立设置时,该服务器50还包括总线503,用于连接所述存储器502和处理器501。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的实体关系抽取的方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。