CN112417878B - 实体关系抽取方法、***、电子设备及存储介质 - Google Patents
实体关系抽取方法、***、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112417878B CN112417878B CN202011330157.2A CN202011330157A CN112417878B CN 112417878 B CN112417878 B CN 112417878B CN 202011330157 A CN202011330157 A CN 202011330157A CN 112417878 B CN112417878 B CN 112417878B
- Authority
- CN
- China
- Prior art keywords
- entity
- vector
- inputting
- obtaining
- relation
- 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 66
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 239000013598 vector Substances 0.000 claims abstract description 190
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000011218 segmentation Effects 0.000 claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 230000006872 improvement Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000002787 reinforcement Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 235000012907 honey Nutrition 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及实体关系抽取方法、***、电子设备及存储介质。该方法包括:对输入的原始文本进行分词操作并输出分词;将分词输入至Embedding层得到对应分词的初始向量表示;将初始向量表示输入至Bi‑LSTM层得到前向和后向两组实体向量表示;将初始向量表示输入至Tree‑based‑LSTM层得到语法树结构的节点向量;将两组实体向量表示输入至Attention层得到第一状态向量,将第一状态向量输入至Q‑Learning网络得到两个实体向量表示对应代表的实体之间存在关系的概率;将节点向量输入至softmax层,得到第二状态向量并将第二状态向量输入至Q‑Learning网络,结合实体之间存在关系的概率输出实体关系。通过考虑命名实体识别和关系抽取之间的依赖关系,解决了实体关系抽取过程中误差延续的问题,实现了实体关系抽取的误差率的提升。
Description
技术领域
本申请涉及自然语言处理领域,特别是涉及实体关系抽取方法、***、电子设备及存储介质。
背景技术
近年来,随着深度学习的发展,各种前沿技术被应用于自然语言处理中。其中,对话机器人是自然语言处理的一个分支,特别是垂直领域下的对话机器人,如淘宝购物中的阿里小蜜,已在业界有广泛的应用。实体关系抽取(Entity and Relation Extraction,ERE)是对话机器人中一个必不可少的模块,负责从用户的输入中提取重要信息。ERE是一个级联任务,其可分为两个子任务:命名实体识别和关系抽取。
其中,命名实体识别(Named Entity Recognition,NER)是对话机器人中的一个重要模块,它负责从用户的输入中对关键词进行识别,从中提取下游任务需要的信息。假定当前对话机器人建立在数码产品领域,考虑如下句子“我想要买iPhone11”,其中“我”被识别为人,而“iPhone11”被识别为手机型号,因而***能知道用户的意图为购买手机,之后能根据识别到的实体从图谱中提取出相关的信息(如价格,官网链接等)。
关系抽取(Relation Extraction, RE)在命名实体识别的基础上抽取各个实体之间的关系,如上述例句中的“我”和“iPhone11”的关系为“购买”,该功能在复合句中能帮助***理解两两实体之间的关系。
由上述描述可知,ERE模块的准确率对后续操作有着重大的影响。
目前现有技术还是通过先做命名实体识别,再做关系抽取。该方法灵活性高,易于实现。但是这样做也存在缺点:当命名实体识别过程中存在误差就会延续到关系抽取部分,影响关系抽取的效果;由于关系抽取需要对所有命名实体进行两两配对。因而会对许多无用实体去预测,提升了误差率;模板匹配只能人工添加模板,灵活性差,泛用性弱;命名实体识别和关系抽取分开导致整个***忽略了两者之间的内在关系和依赖。
目前针对相关技术中上述问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种实体关系抽取方法、***、电子设备和计算机可读存储介质,本方法基于深度神经网络,放弃先命名实体后关系的处理方案,使用联合实体关系抽取,同时考虑了命名实体识别和关系抽取两个子任务之间的相关性,并在关系抽取部分使用强化学习,以至少解决相关技术中的灵活性差、泛用性弱以及精度低的问题。
第一方面,本申请实施例提供了一种实体关系抽取方法,其特征在于,包括以下步骤:
获取分词步骤,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示步骤,将所述分词输入至Embedding层得到对应所述分词的初始向量表示;
获取实体向量表示步骤,将所述初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量步骤,将所述初始向量表示输入至Tree-based-LSTM层得到语法树结构的节点向量;
获取实体存在关系概率步骤,将两组所述实体向量表示输入至Attention层得到第一状态向量,将所述第一状态向量输入至Q-Learning网络得到两个所述实体向量对应代表的实体之间存在关系的概率;
获取实体关系步骤,将所述节点向量输入至softmax层,得到第二状态向量并将所述第二状态向量输入至所述Q-Learning网络,结合所述实体之间存在关系的概率输出实体关系。
在其中一些实施例中,所述获取实体存在关系概率步骤具体包括:
输出权重矩阵步骤,通过线性变换得到每个所述分词的权重并输出权重矩阵;
获取第一状态向量步骤,将所述权重矩阵乘以所述实体向量表示所构成的矩阵得到所述第一状态向量。
在其中一些实施例中,所述获取实体向量表示步骤之后还包括以下步骤:
获取运算结果步骤,将两组所述实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体步骤,接收并根据所述运算结果利用Viterbi算法得到命名实体。
在其中一些实施例中,所述获取节点向量步骤具体包括:
获取语法树结构步骤,接受并根据所述初始向量表示利用句法分析工具输出所述原始文本的语法树结构;
获取树节点向量步骤,将所述语法树结构输入至所述Tree-based-LSTM层得到所述语法树结构中每一个节点的所述节点向量。
第二方面,本申请实施例提供了一种实体关系抽取***,包括:
获取分词模块,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示模块,将所述分词输入至Embedding层得到对应所述分词的初始向量表示;
获取实体向量表示模块,将所述初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量模块,将所述初始向量表示输入至Tree-based-LSTM层得到语法树结构的节点向量;
获取实体存在关系概率模块,将两组所述实体向量表示输入至Attention层得到第一状态向量,将所述第一状态向量输入至Q-Learning网络得到两个所述实体向量对应代表的实体之间存在关系的概率;
获取实体关系模块,将所述节点向量输入至softmax层,得到第二状态向量并将所述第二状态向量输入至所述Q-Learning网络,结合所述实体之间存在关系的概率输出实体关系。
在其中一些实施例中,所述获取实体存在关系概率模块具体包括:
输出权重矩阵单元,通过线性变换得到每个所述分词的权重并输出权重矩阵;
获取第一状态向量单元,将所述权重矩阵乘以所述实体向量表示所构成的矩阵得到所述第一状态向量。
在其中一些实施例中,所述获取实体向量表示模块连接有获取运算结果模块和获取命名实体模块,其中:
获取运算结果模块,将两组所述实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体模块,接收并根据所述运算结果利用Viterbi算法得到命名实体。
在其中一些实施例中,所述获取节点向量模块具体包括:
获取语法树结构单元,接受并根据所述分词的所述初始向量表示利用句法分析工具输出所述原始文本的语法树结构;
获取树节点向量单元,将所述语法树结构输入至所述Tree-based-LSTM层得到所述语法树结构中每一个节点的节点向量。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的实体关系抽取方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的实体关系抽取方法。
相比于相关技术,本申请实施例提供的一种实体关系抽取方法,通过考虑命名实体识别和关系抽取之间的依赖关系,解决了实体关系抽取过程中误差延续的问题,实现了实体关系抽取的误差率的提升。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的实体关系抽取方法的流程图;
图2是本申请实施例中Bi-LSTM网络结构图;
图3是本申请实施例中Tree-based-LSTM网络结构图;
图4是根据本申请实施例的获取实体存在关系概率步骤的流程图;
图5是根据本申请实施例的获取节点向量步骤的流程图;
图6是根据本申请优选实施例的实体关系抽取方法的流程图;
图7是根据本申请实施例的实体关系抽取***的结构框图;
图8为根据本申请实施例的电子设备的硬件结构示意图。
附图标记说明:
1、获取分词模块;2、获取初始向量表示模块;
3、获取实体向量表示模块;4、获取节点向量模块;
5、获取实体存在关系概率模块; 6、获取实体关系模块;
51、输出权重矩阵单元;52、获取第一状态向量单元
7、获取运算结果模块;8、获取命名实体模块;
41、获取语法树结构单元;42、获取树节点向量单元;
91、处理器;92、存储器;93、通信接口;90、总线。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获取的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
现有技术通过先做命名实体识别,再做关系抽取。两部分中所用到的技术和具体步骤描述如下:
命名实体识别属于自然语言处理中的序列标注问题。该问题主要分成两个部分。
第一个部分为语义编码器。编码器负责将句子中的文本输入转换为上下文相关的向量表示,其可能用到的技术有Word2Vec,LSTM,GRU,BERT等。具体步骤为:
(1)对句子进行分词;
(2)将句子中每个分词用训练好的Word2Vec等模型转换为原始向量;
(3)将(2)中得到的向量输入编码器(LSTM/GRU/BERT等)得到每个词的向量表示;
第二部分为标签解码器。解码器负责将向量转换为目标输出,在本提案中即命名实体识别,本部分可能用到的技术有LSTM,GRU,CRF,指针网络等,步骤为将编码器的结果输入到解码器即可得到所求的标签序列。
关系抽取目前以模板匹配为主流。模板匹配能在极小范围内高精度解决关系抽取问题,但无法解决对话机器人中语言多样化或者涉及领域较为广泛的情况。其具体步骤为:
(1)获取命名实体识别步骤中得到的实体及其句中所在位置;
(2)将(1)中的信息输入模板得到实体之间的关系;
但是现有技术中还存在以下问题:
(1)预测误差的积累,如果采用先实体后关系的方案,命名实体识别的误差会延续到关系抽取部分,影响其性能;
(2)冗余实体的关系抽取,由于关系抽取需要对所有命名实体进行两两配对,因而会对许多无用实体去预测,提升了误差率;
(3)模板匹配只能人工添加模板,灵活性较差,泛用性弱;
(4)命名实体识别和关系抽取分开导致整个***忽略了两者之间的内在关系和依赖。
本实体关系抽取方法应用于对话机器人中,预处理模块之后,对话管理模块之前,因此输入为预处理后的句子,即原始文本,输出为识别出的实体和他们之间拥有的关系。
实施例1
本实施例提供了一种实体关系抽取方法。图1是根据本申请实施例的实体关系抽取方法的流程图,如图1所示,该流程包括如下步骤:
获取分词步骤S1,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示步骤S2,将分词输入至Embedding层得到对应分词的初始向量表示;
获取实体向量表示步骤S3,将初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量步骤S4,将初始向量表示输入至Tree-based-LSTM层得到语法树结构的节点向量;
获取实体存在关系概率步骤S5,将两组实体向量表示输入至Attention层得到第一状态向量,将第一状态向量输入至Q-Learning网络得到两个实体向量对应代表的实体之间存在关系的概率;
获取实体关系步骤S6,将节点向量输入至softmax层,得到第二状态向量并将第二状态向量输入至Q-Learning网络,结合实体之间存在关系的概率输出实体关系。
通过上述步骤,将命名实体识别和关系抽取在一个算法中得到,两者互相影响,比起将两个子任务分开处理,考虑了两者之间的依赖关系,在对话机器人这种高精度需求的目标任务中更有价值。同时,使用Tree LSTM做关系抽取,比起模版方法泛用性更广,效果更好。使用强化学习连接两个步骤,模型参数在两个步骤中不断更新,即命名实体的优化会考虑到关系抽取的目标,同时关系抽取的优化也会考虑到命名实体的精度。
上述步骤中用到三类神经网络,分别是Bi-LSTM(Bi-directionalLong Short-Term Memory),Attention,Tree based LSTM和深度强化学习的Policy Gradient网络。
图2是本申请实施例中Bi-LSTM网络结构图,如图2所示,Bi-LSTM,由两个连续的LSTM层组成,负责解析用户输入预处理的结果,将其输入Embedding层得到每个分词的表示后输入Bi-LSTM层得到上下文相关的向量表示。
Attention是自然语言处理中一种常用的技术,其本质为通过线性变换得到每个词的权重,然后在当前任务中,用得到的权重矩阵乘以Bi-LSTM得到的每个词的向量组成的矩阵得到当前的第一状态变量,用于后续的强化学习。
图3是本申请实施例中Tree based LSTM网络结构图,如图3所示,Tree basedLSTM是LSTM的改进版本,其本质思想是根据依存句法分析,语义依存分析等结果构建一颗树,然后将不同分词对应的向量输入该结构中。与普通的LSTM不同,Tree based LSTM不以邻近的输入作为输出,其输入为所有子节点的表示,即当前节点的输入为所有子节点分词的向量表示。同时,由于需要对关系做分类,其输入中还需包含分词位置的embedding和实体类型的embedding。除此之外,第一步构建的树的根节点的向量表示记为当前的第二状态变量,用于后续的强化学习。
是深度强化学习中的一种技术,其本质为根据训练数据中的标签拟合一个神经网络,其功能为对序列中的状态进行打分。在本提案中,有两个地方用到了该技术,第一个为识别两个实体之间是否有关系,若有关系,则第二个地方会将其关系分为预定义候选集中的一个。
上述三个技术中,Bi-LSTM主要用来做命名实体识别,Tree-based-LSTM用来做关系抽取,而则用来连接两个步骤,得到了命名实体和他们两两之间的关系后,将他们输入对话管理模块即可。
图4是根据本申请实施例的获取实体存在关系概率步骤的流程图,如图4所示,在其中一些实施例中,获取实体存在关系概率步骤S5具体包括:
输出权重矩阵步骤S51,通过线性变换得到每个分词的权重并输出权重矩阵;
获取第一状态向量步骤S52,将权重矩阵乘以实体向量表示所构成的矩阵得到第一状态向量。
在其中一些实施例中,获取实体向量表示步骤S3之后还包括以下步骤:
获取运算结果步骤S7,将两组实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体步骤S8,接收并根据运算结果利用Viterbi算法得到命名实体。
图5是根据本申请实施例的获取节点向量步骤的流程图,如图5所示,在其中一些实施例中,获取节点向量步骤S4具体包括:
获取语法树结构步骤S41,接受并根据分词的初始向量表示利用句法分析工具输出原始文本的语法树结构;
获取树节点向量步骤S42,将语法树结构输入至Tree-based-LSTM层得到语法树结构中每一个节点的节点向量。
下面通过优选实施例对本申请实施例进行描述和说明。
图6是根据本申请优选实施例的实体关系抽取方法的流程图。如图5所示,该方法的流程包括以下步骤:
(1)对输入的句子进行分词;
(2)将上一步得到的分词输入Embedding层得到每个分词的初始向量表示;
(3)将2)的向量输入Bi-LSTM层,得到前向和后向的两组向量表示;
(4)将两组向量表示分别乘以权重矩阵后输入层;
(5)对4)的结果使用Viterbi算法得到每个分词的标签,即识别到的实体;
(6)通过句法分析工具得到整个句子的语法树结构;
(7)将2)的初始向量表示输入Tree-based-LSTM层得到每个节点的节点向量;
(8)取3)的结果中的两个实体的向量表示输入Attention层得到第一状态向量;
(9)将输入/>网络得到/>和/>的概率值,其中/>和/>分别代表两个实体有关系和两个实体没关系;
(10)同样,取8)中得到的两个实体对应的节点向量输入层得到第二状态向量/>;
(11)将第二状态向量输入/>网络得到/>的概率值,其中/>为候选关系的集合;
(12)重复步骤8)到11)最终得到所有识别的实体和他们之间的关系。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种实体关系抽取***,该***用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的***较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本申请实施例的实体关系抽取***的结构框图,如图6所示,该***包括:
获取分词模块1,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示模块2,将分词输入至Embedding层得到对应分词的初始向量表示;
获取实体向量表示模块3,将初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量模块4,将初始向量表示输入至Tree-based-LSTM层得到语法树结构的节点向量;
获取实体存在关系概率模块5,将两组实体向量表示输入至Attention层得到第一状态向量,将第一状态向量输入至Q-Learning网络得到两个实体向量对应代表的实体之间存在关系的概率;
获取实体关系模块6,将节点向量输入至softmax层,得到第二状态向量并将第二状态向量输入至Q-Learning网络,结合实体之间存在关系的概率输出实体关系。
在其中一些实施例中,获取实体存在关系概率模块5具体包括:
输出权重矩阵单元51,通过线性变换得到每个分词的权重并输出权重矩阵;
获取第一状态向量单元52,将权重矩阵乘以实体向量表示所构成的矩阵得到第一状态向量。
在其中一些实施例中,获取实体向量表示模块3连接有获取运算结果模块7和获取命名实体模块8,其中:
获取运算结果模块7,将两组实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体模块8,接收并根据运算结果利用Viterbi算法得到命名实体。
在其中一些实施例中,获取节点向量模块4具体包括:
获取语法树结构单元41,接受并根据分词的初始向量表示利用句法分析工具输出原始文本的语法树结构,
获取树节点向量单元42,将语法树结构输入至Tree-based-LSTM层得到语法树结构中每一个节点的节点向量。
将命名实体识别和关系抽取在一个算法中得到,两者互相影响,比起将两个子任务分开处理,考虑了两者之间的依赖关系,在对话机器人这种高精度需求的目标任务中更有价值。同时,使用Tree LSTM做关系抽取,比起模版方法泛用性更广,效果更好。使用强化学习连接两个步骤,模型参数在两个步骤中不断更新,即命名实体的优化会考虑到关系抽取的目标,同时关系抽取的优化也会考虑到命名实体的精度。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例实体关系抽取方法可以由电子设备来实现。图8为根据本申请实施例的电子设备的硬件结构示意图。
电子设备可以包括处理器91以及存储有计算机程序指令的存储器92。
具体地,上述处理器91可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器92可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器92可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器92可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器92可在数据处理装置的内部或外部。在特定实施例中,存储器92是非易失性(Non-Volatile)存储器。在特定实施例中,存储器92包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器92可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器91所执行的可能的计算机程序指令。
处理器91通过读取并执行存储器92中存储的计算机程序指令,以实现上述实施例中的任意一种实体关系抽取方法。
在其中一些实施例中,电子设备还可包括通信接口93和总线90。其中,如图8所示,处理器91、存储器92、通信接口93通过总线90连接并完成相互间的通信。
通信接口93用于实现本申请实施例中各模块、***、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线90包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线90包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(ControlBus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线90可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(FrontSide Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、***组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线90可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以基于获取到的原始文本,执行本申请实施例中的实体关系抽取方法,从而实现结合图1描述的实体关系抽取方法。
另外,结合上述实施例中的实体关系抽取方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种实体关系抽取方法。
实施例2
本实施例在实施例1的基础上做出以下技术改变:将LSTM的相关神经网络可以替换为GRU相关神经网络。
将词向量提取方法可以用BERT(BidirectionalEncoderRepresentationsfromTransformers),XLNET等方法。
GRU是对LSTM的变体,对LSTM的门机制进行改进可以得到多种变体,而GRU(GatedRecurrent Unit,门控循环单元网络)就是其中一种比LSTM网络更简单的循环神经网络。
GRU网络对LSTM网络的改进有两个方面:
1、将遗忘门和输入门合并为一个门:更新门,此外另一门叫做重置门。
2、不引入额外的内部状态c,直接在当前状态ht和历史状态ht-1之间引入线性依赖关系。
xlnet作为bert的升级模型,主要在以下三个方面进行了优化:采用AR模型替代AE模型,解决mask带来的负面影响;双流注意力机制;引入transformer-xl。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种实体关系抽取方法,其特征在于,包括以下步骤:
获取分词步骤,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示步骤,将所述分词输入至Embedding层得到对应所述分词的初始向量表示;
获取实体向量表示步骤,将所述初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量步骤,将所述初始向量表示输入至Tree-based-LSTM层得到节点向量;
获取实体存在关系概率步骤,将两组所述实体向量表示输入至Attention层得到第一状态向量,将所述第一状态向量输入至Q-Learning网络得到两个所述实体向量表示对应代表的实体之间存在关系的概率;
获取实体关系步骤,将所述节点向量输入至softmax层,得到第二状态向量并将所述第二状态向量输入至所述Q-Learning网络,结合实体之间存在关系的所述概率输出实体关系。
2.根据权利要求1所述的实体关系抽取方法,其特征在于,所述获取实体存在关系概率步骤具体包括:
输出权重矩阵步骤,通过线性变换得到每个所述分词的权重并输出权重矩阵;
获取第一状态向量步骤,将所述权重矩阵乘以所述实体向量表示所构成的矩阵得到所述第一状态向量。
3.根据权利要求1所述的实体关系抽取方法,其特征在于,所述获取实体向量表示步骤之后还包括以下步骤:
获取运算结果步骤,将两组所述实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体步骤,接收并根据所述运算结果利用Viterbi算法得到命名实体。
4.根据权利要求1所述的实体关系抽取方法,其特征在于,所述获取节点向量步骤具体包括:
获取语法树结构步骤,根据所述初始向量表示利用句法分析工具输出所述原始文本的语法树结构;
获取树节点向量步骤,将所述语法树结构输入至所述Tree-based-LSTM层得到所述语法树结构中每一个节点的所述节点向量。
5.一种实体关系抽取***,其特征在于,包括:
获取分词模块,对输入的原始文本进行分词操作并输出分词;
获取初始向量表示模块,将所述分词输入至Embedding层得到对应所述分词的初始向量表示;
获取实体向量表示模块,将所述初始向量表示输入至Bi-LSTM层得到前向和后向两组实体向量表示;
获取节点向量模块,将所述初始向量表示输入至Tree-based-LSTM层得到语法树结构的节点向量;
获取实体存在关系概率模块,将两组所述实体向量表示输入至Attention层得到第一状态向量,将所述第一状态向量输入至Q-Learning网络得到两个所述实体向量对应代表的实体之间存在关系的概率;
获取实体关系模块,将所述节点向量输入至softmax层,得到第二状态向量并将所述第二状态向量输入至所述Q-Learning网络,结合所述实体之间存在关系的概率输出实体关系。
6.根据权利要求5所述的实体关系抽取***,其特征在于,所述获取实体存在关系概率模块具体包括:
输出权重矩阵单元,通过线性变换得到每个所述分词的权重并输出权重矩阵;
获取第一状态向量单元,将所述权重矩阵乘以所述实体向量表示所构成的矩阵得到所述第一状态向量。
7.根据权利要求5所述的实体关系抽取***,其特征在于,所述获取实体向量表示模块连接有获取运算结果模块和获取命名实体模块,其中:
获取运算结果模块,将两组所述实体向量表示乘以对应的权重矩阵后输入至softmax层并输出运算结果;
获取命名实体模块,接收并根据所述运算结果利用Viterbi算法得到命名实体。
8.根据权利要求7所述的实体关系抽取***,其特征在于,所述获取节点向量模块具体包括:
获取语法树结构单元,根据所述初始向量表示利用句法分析工具输出所述原始文本的语法树结构;
获取树节点向量单元,将所述语法树结构输入至所述Tree-based-LSTM层得到所述语法树结构中每一个节点的所述节点向量。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的实体关系抽取方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的实体关系抽取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330157.2A CN112417878B (zh) | 2020-11-24 | 2020-11-24 | 实体关系抽取方法、***、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011330157.2A CN112417878B (zh) | 2020-11-24 | 2020-11-24 | 实体关系抽取方法、***、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417878A CN112417878A (zh) | 2021-02-26 |
CN112417878B true CN112417878B (zh) | 2024-06-14 |
Family
ID=74778176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011330157.2A Active CN112417878B (zh) | 2020-11-24 | 2020-11-24 | 实体关系抽取方法、***、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417878B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966517B (zh) * | 2021-04-30 | 2022-02-18 | 平安科技(深圳)有限公司 | 命名实体识别模型的训练方法、装置、设备及介质 |
CN113158679B (zh) * | 2021-05-20 | 2023-07-04 | 广东工业大学 | 基于多特征叠加胶囊网络的海洋产业实体识别方法及装置 |
CN113408289B (zh) * | 2021-06-29 | 2024-04-16 | 广东工业大学 | 一种多特征融合的供应链管理实体知识抽取的方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503833B2 (en) * | 2016-12-06 | 2019-12-10 | Siemens Aktiengesellschaft | Device and method for natural language processing |
CN110210019A (zh) * | 2019-05-21 | 2019-09-06 | 四川大学 | 一种基于递归神经网络的事件要素抽取方法 |
CN110196978A (zh) * | 2019-06-04 | 2019-09-03 | 重庆大学 | 一种关注关联词的实体关系抽取方法 |
CN111126067B (zh) * | 2019-12-23 | 2022-02-18 | 北大方正集团有限公司 | 实体关系抽取方法及装置 |
CN111339774B (zh) * | 2020-02-07 | 2022-11-29 | 腾讯科技(深圳)有限公司 | 文本的实体关系抽取方法和模型训练方法 |
CN111353306B (zh) * | 2020-02-22 | 2020-10-16 | 杭州电子科技大学 | 基于实体关系和依存Tree-LSTM的联合事件抽取的方法 |
-
2020
- 2020-11-24 CN CN202011330157.2A patent/CN112417878B/zh active Active
Non-Patent Citations (2)
Title |
---|
基于深度学习的实体和关系的联合抽取研究;艾鑫;;现代计算机;20200225(06);全文 * |
实体关系抽取综述;王传栋;徐娇;张永;;计算机工程与应用;20200531(12);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112417878A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698932B2 (en) | Method and apparatus for parsing query based on artificial intelligence, and storage medium | |
CN112417878B (zh) | 实体关系抽取方法、***、电子设备及存储介质 | |
CN112115267B (zh) | 文本分类模型的训练方法、装置、设备及存储介质 | |
CN109960728B (zh) | 一种开放域会议信息命名实体识别方法及*** | |
CN112036162B (zh) | 文本纠错的适配方法、装置、电子设备及存储介质 | |
CN110309511B (zh) | 基于共享表示的多任务语言分析***及方法 | |
CN112101031B (zh) | 一种实体识别方法、终端设备及存储介质 | |
CN110826335A (zh) | 一种命名实体识别的方法和装置 | |
CN111259144A (zh) | 多模型融合文本匹配方法、装置、设备和存储介质 | |
CN112906392A (zh) | 一种文本增强方法、文本分类方法及相关装置 | |
CN113326702B (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN111339308B (zh) | 基础分类模型的训练方法、装置和电子设备 | |
CN113449084A (zh) | 基于图卷积的关系抽取方法 | |
CN112668333A (zh) | 命名实体的识别方法和设备、以及计算机可读存储介质 | |
CN113947086A (zh) | 样本数据生成方法、训练方法、语料生成方法和装置 | |
CN113486178A (zh) | 文本识别模型训练方法、文本识别方法、装置以及介质 | |
CN112232070A (zh) | 自然语言处理模型构建方法、***、电子设备及存储介质 | |
CN114860942A (zh) | 文本意图分类方法、装置、设备及存储介质 | |
CN113626608B (zh) | 增强语义的关系抽取方法、装置、计算机设备及存储介质 | |
CN113158667B (zh) | 基于实体关系级别注意力机制的事件检测方法 | |
CN112487813B (zh) | 命名实体识别方法及***、电子设备及存储介质 | |
CN111091001B (zh) | 一种词语的词向量的生成方法、装置及设备 | |
CN116245102B (zh) | 一种基于多头注意力和图神经网络的多模态情感识别方法 | |
CN112632956A (zh) | 文本匹配方法、装置、终端和存储介质 | |
CN113761845A (zh) | 一种文本生成方法、装置、存储介质及电子设备 |
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 |