CN113111656B - 实体识别方法、装置、计算机可读存储介质和计算机设备 - Google Patents
实体识别方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN113111656B CN113111656B CN202010031702.1A CN202010031702A CN113111656B CN 113111656 B CN113111656 B CN 113111656B CN 202010031702 A CN202010031702 A CN 202010031702A CN 113111656 B CN113111656 B CN 113111656B
- Authority
- CN
- China
- Prior art keywords
- entity
- adjacent
- word
- probability
- word segmentation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000011218 segmentation Effects 0.000 claims abstract description 164
- 238000012549 training Methods 0.000 claims abstract description 98
- 238000012545 processing Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000013145 classification model Methods 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 15
- 238000012216 screening Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 abstract description 21
- 235000015278 beef Nutrition 0.000 description 15
- 241000251468 Actinopterygii Species 0.000 description 13
- 235000019580 granularity Nutrition 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000002372 labelling Methods 0.000 description 5
- 235000015277 pork Nutrition 0.000 description 5
- 241000237858 Gastropoda Species 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 241000238413 Octopus Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000009833 condensation Methods 0.000 description 3
- 230000005494 condensation Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 241000282320 Panthera leo Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000008188 pellet Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000013311 vegetables Nutrition 0.000 description 2
- 235000007328 Hericium erinaceus Nutrition 0.000 description 1
- 241000124033 Salix Species 0.000 description 1
- 241000404975 Synchiropus splendidus Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015271 coagulation Effects 0.000 description 1
- 238000005345 coagulation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种实体识别方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取待识别文本的分词;确定相邻所述分词之间的紧密概率;将所述分词进行组合得到紧邻词组;根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;确定所述候选实体的实体类型;当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。本实施例是通过紧密概率来预测紧邻词组是否可以作为候选实体,因此不需要为待识别文本的分词设置位置标签即可识别出候选实体,也不需要通过复杂的训练过程来训练模型以实现实体识别,包括嵌套实体的识别,简化了实体识别过程,提高了实体识别效率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种实体识别方法、装置、计算机可读存储介质和计算机设备。
背景技术
随着人工智能和大数据技术的发展,对于自然语言处理的技术需求不断提高,其中,实体识别作为语义理解、语音合成等任务的必要前操作,在自然语言理解中具有重要的作用。实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名和专有名词等。
目前实体识别任务中,主要关注人名、地名、机构名三个类别的实体识别,其类别相对固定,并且实体中的结构相对扁平化,较少嵌套结构。其中,嵌套结构的实体被称为嵌套实体,存在包含结构的实体,比如,菜品实体“毛氏红烧肉”中,“红烧肉”也是菜品实体,再比如,“狗不理包子”中,“包子”也是菜品实体。
随着自然语言处理深入到不同的垂类领域,比如餐饮、医疗、金融等,实体识别更加关注垂类实体的识别,比如餐饮中的菜品名识别、金融中的行业名识别。区别于传统命名实体,垂类实体中存在很多嵌套实体,嵌套实体中的名词可以作为一个实体,名词词组也可以作为一个实体,其特点是其类型范围比较开放,同时实体间存在较多的嵌套结构。然而,目前能够识别出嵌套实体的实体识别方法较少,且这些方法需要复杂的过程实现且识别效率低下,并不能满足实际的识别需求。
发明内容
基于此,有必要针对目前实体识别方法比较复杂且效率低的技术问题,提供一种实体识别方法、装置、计算机可读存储介质和计算机设备。
一种实体识别方法,包括:
获取待识别文本的分词;
确定相邻所述分词之间的紧密概率;
将所述分词进行组合得到紧邻词组;
根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;
确定所述候选实体的实体类型;
当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
在一个实施例中,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
根据所述紧邻词组对应分词的紧密概率和外部特征资源,从所述紧邻词组中确定候选实体。
在一个实施例中,所述确定相邻所述分词之间的紧密概率包括:
通过预测模型对所述相邻所述分词进行处理,得到紧密概率;
其中,所述预测模型为根据采集的关系训练样本,基于预设的网络模型训练获取的,用于对输入的各相邻所述分词进行处理,得到紧密概率;所述关系训练样本包括所述输入的各相邻所述分词以及对应的紧密概率。
在一个实施例中,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
在一个实施例中,所述根据所述紧邻词组对应分词的紧密概率和所述外部特征资源,从所述紧邻词组中确定候选实体包括:
通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
在一个实施例中,当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体所述确定所述候选实体的实体类型包括:
将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;
当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体;
其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述质量训练样本包括所述输入的候选实体以及对应的实体类型。
在一个实施例中,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
获取所述紧邻词组对应分词的紧密概率;
根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;
确定在所述紧邻词组中处于边界的分词;
获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;
从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;
将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
一种实体识别装置,包括:
分词获取模块,用于获取待识别文本的分词;
紧密概率确定模块,用于确定相邻所述分词之间的紧密概率;
紧邻词组组合模块,用于将所述分词进行组合得到紧邻词组;
候选实体确定模块,用于根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;
实体类型确定模块,用于确定所述候选实体的实体类型;
目标实体确定模块,用于当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
在一个实施例中,所述候选实体确定模块包括:
外部特征资源获取模块,用于获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
候选实体筛选模块,用于根据所述紧邻词组对应分词的紧密概率和外部特征资源,从所述紧邻词组中确定候选实体。
在一个实施例中,所述紧密概率确定模块包括:
紧密概率计算模块,用于通过预测模型对所述相邻所述分词进行处理,得到紧密概率;
其中,所述预测模型为根据采集的关系训练样本,基于预设的网络模型训练获取的,用于对输入的各相邻所述分词进行处理,得到紧密概率;所述关系训练样本包括所述输入的各相邻所述分词以及对应的紧密概率。
在一个实施例中,所述目标实体确定模块包括:
第一质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;
目标实体确定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
在一个实施例中,所述候选实体筛选模块包括:
第二质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
在一个实施例中,所述目标实体确定模块包括:
实体类型确定模块,用于将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;
其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述质量训练样本包括所述输入的候选实体以及对应的实体类型。
在一个实施例中,所述候选实体确定模块包括:
第一紧密概率获取模块,用于获取所述紧邻词组对应分词的紧密概率;
均值计算模块,用于根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;
边界分词确定模块,用于确定在所述紧邻词组中处于边界的分词;
第二紧密概率获取模块,用于获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;
最大紧密概率确定模块,用于从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;
质量分数计算模块,用于将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;
候选实体选定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述的实体识别方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的实体识别方法的步骤。
上述实体识别方法、装置、计算机可读存储介质和计算机设备,在实体识别任务中,在获取待识别文本的分词后,确定相邻分词之间的紧密概率,并根据分词组合出紧邻词组,然后根据紧邻词组对应分词的紧密概率,从紧邻词组中确定候选实体,确定候选实体的实体类型,其中,当候选实体的实体类型为目标实体类型时,将候选实体作为目标实体。本实施例的实体识别分为候选实体生成和实体类型预测两个任务,首先确定待识别文本中相邻分词的紧密概率,将分词进行组合得到多个紧邻分词,其中,多个紧邻分词中包括了嵌套实体,然后根据紧密概率来预测紧邻词组是否可以作为候选实体,完成候选实体生成的任务,进一步,再确定候选实体的实体类型,并且当确定候选实体的实体类型是目标实体类型时,得到目标实体,完成实体类型预测的任务。本实施例是通过紧密概率来预测紧邻词组是否可以作为候选实体,因此不需要为待识别文本的分词设置位置标签即可识别出候选实体,也不需要通过复杂的训练过程来训练模型以实现实体识别,包括嵌套实体的识别,简化了实体识别过程,提高了实体识别效率。
附图说明
图1为一个实施例中实体识别方法的应用环境图;
图2为一个实施例中实体识别方法的流程示意图;
图3为一个实施例中LabelNe的网络结构示意图;
图4为一个实施例中NestedNER的网络结构示意图;
图5为另一个实施例中实体识别方法的流程示意图;
图6为一个实施例中ENestedNER的网络结构示意图;
图7为一个实施例中实体识别装置的结构框图;
图8为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中实体识别方法的应用环境图。参照图1,该实体识别方法应用于实体识别***。该实体识别***包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
终端110可以向服务器120发送待识别文本,服务器120可以获取待识别文本的分词,并执行本申请实施例中的实体识别方法,得到目标实体。
如图2所示,在一个实施例中,提供了一种实体识别方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该实体识别方法具体包括如下步骤:
S202,获取待识别文本的分词。
在自然语言处理中,经常需要进行实体识别,即对文本中特定词的具体类型进行识别,以便于后续确定该词的含义,或者识别文本输入者的意图等。具体地,实体识别方法可以事先定义识别的目标实体类型,并且需要针对不同的识别领域与应用场景。比如,针对菜品推荐场景,可以定义需要识别的目标实体类型为菜品,针对路线导航场景,可以定义需要识别的目标实体类型为地名。
在本实施例中,需要进行实体识别的文本称之为待识别文本。待识别文本一般是一句话,由多个词组成,比如待识别文本“我爱吃红烧鱼”,由“我”,“爱吃”,“红烧”,“鱼”这几个分词组成。
在本实施例中,并不限定如何对待识别文本进行分词,比如可以通过分词工具对待识别文本进行分词,同样也还可以采用其他的方式对待识别文本进行分词,具体不做限定。
当需要进行命名实体识别时,终端可以向服务器的识别***发送实体识别处理请求,实体识别***接收到实体识别处理请求后,对实体识别处理请求进行解析,得到待识别文本,然后将对待识别文本进行分词处理。
S204,确定相邻所述分词之间的紧密概率。
在相关方案中,实体识别分为实体边界预测和实体类型预测两个任务,具体是通过label schema(标签的表示方式)对文本的分词进行标注,使得分词具有标签,该标签包括位置标签和类型标签,通过位置标签可以组合分词得到候选实体,通过类型标签可以识别候选实体的实体类型,如果候选实体的实体类型为目标实体,则可以将该候选实体作为目标实体。
具体地,实体识别任务常用的标签的表示方式是BIO(B-begin,I-inside,O-outside)标注方式,其中,B-X表示此分词所在的文本属于X类型并且此分词在此片段的开头,I-X表示此分词所在的文本属于X类型并且此分词在此文本的中间位置,O表示不属于任何实体类型。
比如,文本“我爱吃红烧鱼”中各分词的标签分别是:
我:O,表示“我”不是实体一部分
爱吃:O,表示“爱吃”不是实体一部分
红烧:B_DISH,表示“红烧”是一个菜品实体的开头
鱼:I_DISH,表示“鱼”是一个菜品实体的中间部分
其中,实体识别任务中最重要的两个信息是边界信息(实体边界预测)和类型信息(实体类型预测),相关方案中的模型在训练中同时学习实体的边界和类型的关系。比如LSTM+CRF模型,其中LSTM是指的长短期记忆网络(Long Short-Term Memory),CRF是指的条件随机场(conditional random field),LSTM+CRF模型将边界信息和类型信息用统一的BIO标注方式来表示,比如标签B_DISH表示当前词既是一个菜品实体的一部分(类型),又是一个菜品实体的开头(边界)。而在嵌套实体识别任务中,一个词可能对应多个不同的位置标签,比如“潮汕牛肉火锅”中的“牛肉”既是实体“潮汕牛肉火锅”的I_DISH,又是实体“牛肉火锅”的B_DISH,如果要识别出嵌套实体,就需要修改标签的表示方式。
而在本实施例中,将实体识别任务抽象成独立的候选实体生成和实体类型预测两个任务。其中,候选实体生成的任务替换了原先相关方案中的实体边界预测的任务,本实施例不再需要为分词添加边界信息,即不再需要为分词添加位置标签。
在本实施例中,训练支持多粒度候选实体的模型来支持嵌套实体识别,该模型称为LabelNet,其网络结构如图3所示,包括3.1词典匹配层(Phrase embedding)、3.2分布式表示层(Word embedding)、3.3特征表示层(BILSTM)、3.4语义匹配层(Phraserepresentation)和3.5二分类层(sigmod),基于LabelNet实现实体识别的过程为:
3.1词典匹配层:将待识别文本中根据已整理好的专有词典采用字符串匹配方式生成候选实体,即图3中的K1、K2、K3和K4,并将映射为向量后的c1、c2、c3和c4传递到3.4语义匹配层。比如,待识别文本“潮汕牛肉火锅加盟品牌”可以在专有词典中匹配得到K1:潮汕牛肉,K2:潮汕牛肉火锅,K3:火锅加盟,K4:品牌这几个候选实体。
3.2分布式表示层:将待识别文本的分词,即W1、W2、W3、W4和W5映射为向量后传递到3.3特征表示层。比如,针对待识别文本“潮汕牛肉火锅加盟火锅”的分词为W1:潮汕,W2:牛肉,W3:火锅,W4:火锅和W5:品牌,然后将上述分词映射为向量后传递到3.3特征表示层。
3.3特征表示层:根据映射为向量后的分词W1、W2、W3、W4和W5计算分词的概率值并传递到3.4语义匹配层,其中L代表分词左侧的上下文特征,R代表分词右侧的上下文特征,C代表了分词左右两侧的组合。
3.4语义匹配层:根据分词的概率值确定候选实体的平均概率值AVG,得到AVG1、AVG2、AVG3和AVG4,并传递到3.5二分类层。其中,AVG1为W1和W2组合(K1)的平均概率值,AVG2为W1、W2和W3组合(K2)的平均概率值,AVG3为W4组合(K3)的平均概率值,AVG4为W5组合(K4)的平均概率值。
3.5二分类层:根据K1、K2、K3和K4映射为向量后的c1、c2、c3和c4以及对应的平均概率值AVG1、AVG2、AVG3和AVG4确定候选实体的实体类型是否是目标实体类型,是则输出1,否则输出0。
通过本实施例的LabelNet可以实现多粒度实体识别,由于多粒度实体中包括嵌套实体,因此可以实现嵌套实体的识别。本实施例的候选实体生成是基于词典匹配,故不需要依赖位置标签进行边界预测,并且,还可以通过二分类层来确定候选实体是否是目标实体。然而,LabelNet在候选实体的生成完全依赖于词典,而词典的有限覆盖造成模型无泛化能力,不在词典中的候选实体不会被识别出来。
因此,本实施例进一步提出在候选实体生成时,计算出待识别文本中相邻分词之间的紧密概率,比如,针对一待识别文本“我喜欢吃老婆饼”进行分词后得到五个分词“我”“喜欢”“吃”“老婆”“饼”,将得到四个紧密概率s_ab,s_bc,s_cd,sde,其中,s_ab表示“我”和“喜欢”的紧密概率,s_bc表示“喜欢”和“吃”的紧密概率,s_cd表示“吃”和“老婆”的紧密概率,sde表示“老婆”和“饼”的紧密概率。
在具体实现中,相邻分词之间的紧密概率可以反映待识别文本中相邻分词之间的紧密程度,紧密概率越大,表示该相邻分词能够组合为一个词组的概率越大。
S206,将所述分词进行组合得到紧邻词组。
在本实施例中,可以对于待识别文本中的分词进行组合,得到紧邻词组。其中,紧邻词组通过枚举得到。比如针对分词“我爱吃红烧鱼”,可以得到如下的紧邻词组:“我”,“我爱吃”,“我爱吃红烧”,“我爱吃红烧鱼”,“爱吃”,“爱吃红烧”,“爱吃红烧鱼”,“红烧”,“红烧鱼”,“鱼”。
当然,枚举出的紧邻词组中有些存在意义不大,可以通过启发式规则或者其他方式过滤掉一些低质量的紧邻词组,比如,针对上述的示例,最终可以过滤得到紧邻词组“红烧鱼”。
S208,根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体。
在本实施例中,在得到紧邻词组后,为了进一步验证紧邻词组的质量是否满足需求,可以根据紧邻词组对应分词的紧密概率,从紧邻词组中确定候选实体。
紧密概率可以反映相邻分词之间的紧密程度,紧密概率越大,表示该相邻分词能够组合为一个词组的概率越大。以待识别文本“我爱吃章鱼小丸子”为例,如下表1给出了在两种不同标签的表示方式下的实例,其中B表示Break,两个分词的关系是断开的,T表示Tie,两个分词的关系是紧密连在一起的。
表1:
我 | 爱吃 | 章鱼 | 小 | 丸子 | |
BIO | O | O | B_DISH | I_DISH | I_DISH、B_DISH |
Tie or Break | B | B | B | T | T |
根据表1可知,如果采用相关方案中的BIO标注方式,那么“丸子”可能会存在两个标签I_DISH和B_DISH,即表示“丸子”即是一个实体的中间部分,也是另一个实体的开头,是一个嵌套实体,如果要识别出嵌套实体,那么就需要比较通过复杂过程训练所得的模型进行识别,而在本实施例中,则是可以使用Tie or Break(紧密断开预测)的方式,可以根据各相邻分词之间的紧密概率确定候选实体,具体来说,如果紧邻词组中相邻分词对应的紧密概率如果满足预设条件,则表示该相邻分词之间可以是紧密的,参照表1,针对紧密的相邻分词可以标记为“T”,反之,则标记为“B”,那么可以确定“章鱼小丸子”是可以进行组合。由于本实施例是基于紧密概率进行候选实体的生成,故不论是嵌套实体还是其他实体,都可以通过本实施例来预测生成。
具体地,本实施例可以根据紧邻词组中相邻分词的紧密概率,定义该紧邻词组的质量分数,然后将达到预设质量阈值的紧邻词组,作为候选实体。比如,如果质量分数达到0.5,则可以将该紧邻词组作为候选实体。
在一个实施例中,所述步骤S208包括如下内容:通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
具体实现中,确定紧邻词组的质量分数时,可以将紧邻词组对应分词的紧密概率输入至质量模型中,通过质量模型对紧邻词组进行处理,确定质量分数。其中,质量模型是根据采集的质量训练样本,基于预设的网络模型训练获取的。具体地,可以将质量训练样本包括输入的紧邻词组和对应分词的紧密概率,输入至预设的网络模型进行训练,得到质量模型,从而使用质量模型对输入的紧邻词组对应分词的紧密概率进行处理,得到对应的质量分数。
本实施例通过紧邻词组的紧密概率输入到质量模型来预测紧邻词组的质量分数,从而可以根据质量分数从紧邻词组中确定候选实体,由于紧密概率可以反映相邻分词之间的紧密程度,因此而不需要复杂的标签表达方式和复杂的模型即可实现边界预测,从而识别候选实体。
当然,除了通过质量模型之外,本实施例还可以通过其他方式去确定紧邻词组的质量分数。在一个可选实施例中,所述S208具体包括如下内容:获取所述紧邻词组对应分词的紧密概率;根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;确定在所述紧邻词组中处于边界的分词;获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
可选地,本实施例除了通过质量模型预测质量分数来筛选候选实体之外,还可以通过质量分数的计算公式计算获得。在一个实施例中,紧邻词组的质量分数的计算公式为:
score(candidate_entity)=avg(inner_tight)-max(left_tight,right_tight)
其中,在上述的计算公式中,score(candidate_entity)表示紧邻词组的质量分数,avg(inner_tight)表示紧邻词组对应分词的紧密概率的平均值,max(left_tight,right_tight)表示紧邻词组对应分词中处于边界的分词,与非紧邻词组的分词之间的紧密概率的最大值。其中,紧邻词组对应分词中处于边界的分词是指的在紧邻词组中处于最左边分词和最右边分词,比如假设紧邻词组为“红烧狮子头”,“红烧”为紧邻词组中最左边分词,“头”为紧邻词组中最右边分词。
举例来说,紧邻词组的质量分数计算方式可以为:假设待识别文本中的分词“绍兴红烧狮子头的味道”中,紧邻词组为“红烧狮子头”,那么紧邻词组“红烧狮子头”的质量分数为:<红烧、狮子>和<狮子、头>的紧密概率的平均值,减去<绍兴、红烧>和<头、的>紧密概率的最大值。其中,质量分数大于一定数值的紧邻词组,即可以作为候选实体。
当然,除了上述通过质量模型和计算公式的方式之外,本实施例还可以采用其他方式基于紧邻词组的紧密概率来计算质量分数,以确定该紧邻词组是否为候选实体,比如,如果相邻分词的紧密概率达到预设阈值,则可以将相邻分词组合,本实施例对此无需限制。本实施例的紧邻词组的确定方式不再基于词典,具有泛化能力。
S210,确定所述候选实体的实体类型。
在具体实现中,候选实体的实体类型可以根据分类模型进行确定。需要注意的是,本实施例中实体类型预测的任务与候选实体生成的任务可以分别采用不同的模型实现。其中,实体类型预测的模型和候选实体生成的模型可以分开训练,也可以一起训练,本实施例对此并不加以限制。
在一个实施例中,所述确定所述候选实体的实体类型包括:将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述质量训练样本包括所述输入的候选实体以及对应的实体类型。
具体实现中,确定候选实体的实体类型时,可以将候选实体输入至分类模型中,通过分类模型对候选实体进行处理,确定候选实体的实体类型。其中,分类模型是根据采集的分类训练样本,基于预设的网络模型训练获取的。具体地,可以将分类训练样本包括输入的候选实体和对应候选实体的实体类型,输入至预设的网络模型进行训练,得到分类模型,从而使用分类模型对输入的候选实体进行处理,得到对应的实体类型。
由于本实施例中候选实体的分类模型与生成候选实体的质量模型是分开的,因此在标注训练数据和训练模型时,实现过程比较简单且效率高。
S212,当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
在具体实现中,可以根据实际的任务需求,从候选实体中确定目标实体。比如,对于候选实体,可以根据候选实体的实体类型是否是目标实体类型,来进一步确定是否是目标实体。
假设候选实体的实体类型为地名,如果目标实体类型同样为地名,则可以将候选实体作为目标实体。比如,如果目标实体类型为“餐饮”,如果候选实体的实体类型为“菜名”,由于“菜名”属于“餐饮”,则可以将该候选实体作为目标实体。
本实施例将实体识别的任务分为独立的候选实体生成和实体类型预测两个任务,使得模型的标注和训练过程变得简单且高效,满足实际的识别需求。
为了使本领域技术人员更好地理解本实施例,下面采用具体示例进行说明。在LabelNe的基础上,本实施例提出一种新的网络结构,称为NestedNER,其思路是将实体识别任务分成两步,候选实体生成+实体类型预测。区别于LabelNet,NestedNER候选实体的生成是基于模型的预测生成,而不是通过词典匹配,其网络结构如图4所示,该模型针对候选实体生成,也即是边界预测引入紧密断开预测层(Tie or Break Layer),紧密断开预测层对相邻的两个分词的紧密和断开关系建模,预测相邻两个分词的紧密程度。
参照图4,本实施例中不同于相关方案,并不是预测单个分词的概率值,而是预测的待识别文本中两个相邻分词之间的紧密概率,NestedNER包括4.1分布式表示层(Wordembedding)、4.2特征表示层(BILSTM)、4.3紧密断开预测层(Tie or Break Layer)和4.4分类层(Typing Layer),基于NestedNER实现实体识别的过程为:
4.1分布式表示层:将待识别文本的分词,即W1、W2、W3、W4和W5映射为向量后传递到4.2特征表示层。
4.2特征表示层:根据映射为向量后的分词W1、W2、W3、W4和W5,预测相邻分词之间的紧密概率,并将该紧密概率传递到4.3紧密断开预测层。
4.3紧密断开预测层:根据相邻分词之间的紧密概率生成预测分数tight12,tight23,tight34,tight45,根据预测分数进一步得到紧邻词组的质量分数,将质量分数大于预设阈值的紧邻词组作为候选(嵌套)实体(Candidate Nested Entity),比如W1W2W3、W1W2、W2W3W4和W5,并将候选实体将传递到4.4分类层。其中,此处可以根据质量模型生成质量分数,也可以根据质量分数计算公式生成质量分数。其中,在特征表示层得到紧密概率的数值范围是(0,1),将该紧密概率输入到紧密断开预测层后,将得到各相邻分词之间的预测分数。预测分数的数值范围是(-1,1),大于0表示相邻分词是紧密的(Tie),小于0则表示相邻分词是断开的(Break)。
4.4分类层:做k+1分类来判断候选实体的实体类型,其中,k是目标实体类型数,+1是因为多了无类型(NONE),具体地,候选实体的实体类型可以是菜名(DISH),也可以是无类型(NONE)。其中,如果候选实体的实体类型为目标实体类型,则可以将该候选实体作为目标实体。比如,假设候选实体的实体类型为地名,如果目标实体类型同样为地名,则可以将候选实体作为目标实体,假设候选实体的实体类型为菜名,如果目标实体类型同样为餐饮,则可以将候选实体作为目标实体。
上述实体识别方法、装置、计算机可读存储介质和计算机设备,在实体识别任务中,在获取待识别文本的分词后,确定相邻分词之间的紧密概率,并根据分词组合出紧邻词组,然后根据紧邻词组对应分词的紧密概率,从紧邻词组中确定候选实体,确定候选实体的实体类型,其中,当候选实体的实体类型为目标实体类型时,将候选实体作为目标实体。
在相关方案中,实体识别分为实体边界预测和实体类型预测两个任务,其中,实体边界预测是基于待识别文本的分词上所标注的标签,该标签包括位置标签和类型标签,通过位置标签可以组合分词得到实体,通过类型标签可以识别实体的实体类型,然而,这种方案如果针对嵌套实体,那么分词的标签存在多个位置标签和多个类型标签,标签非常复杂,因此识别标签以及用于识别标签的模型的训练过程将非常复杂且效率低下。本实施例的实体识别分为候选实体生成和实体类型预测两个任务,首先确定待识别文本中相邻分词的紧密概率,将分词进行组合得到多个紧邻分词,其中,多个紧邻分词中包括了嵌套实体,然后根据紧密概率来预测紧邻词组是否可以作为候选实体,完成候选实体生成的任务,可见本实施例中候选实体生成不需要依赖位置标签,进一步,再确定候选实体的实体类型,并且当确定候选实体的实体类型是目标实体类型时,得到目标实体,完成实体类型预测的任务。本实施例不需要为待识别文本的分词设置位置标签即可识别出候选实体,因此也不需要通过复杂的训练过程来训练模型以实现实体识别,包括嵌套实体的识别,简化了实体识别过程,提高了实体识别效率。
如图5所示,在另一个实施例中,提供了一种实体识别方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图5,该实体识别方法具体包括如下步骤:
S502,获取待识别文本的分词。
S504,确定相邻所述分词之间的紧密概率。
S506,将所述分词进行组合得到紧邻词组。
在本实施例中,得到待识别文本中各相邻分词之间的紧密概率,然后根据待识别文本的分词组合得到紧邻词组,并根据紧邻词组对应的紧密概率来确定候选实体。
由于本实施例可以根据分词组合出多种不同粒度的紧邻词组,比如细粒度词组和粗粒度词组,其中,细粒度词组是由较多分词组成,粗粒度词组是由较少分词组成,细粒度词组中包括了粗粒度词组,因此应用本实施例可以得到多种粒度的候选实体,包括为嵌套实体的候选实体。最后,可以预测候选实体的实体类型,并在其实体类型为目标实体类型时确定为目标实体。
在本实施例中,基于图4所示的NestNER可以识别出嵌套实体,包括细粒度实体和粗粒度实体,参照表2,所示为一些菜品中嵌套实体的实例:
表2:
可见,应用本实施例的实体识别方法,可以识别出多种粒度的实体,在实际应用中,正确识别不同粒度的嵌套实体是非常有必要的,不同的应用有不同的粒度需求。如果实体识别结果是面向运营人员用作定向***时需要选择粗粒度的实体(火锅、牛肉火锅),而如果是作为特征输入到定向模型中,则不同粒度的实体(火锅、牛肉火锅、潮汕牛肉火锅)均对增加模型的效果都有帮助。
NestNER优点是在标签的表示方式和嵌套实体的样本标注上,相比于基于BIO标注方式的模型都较为容易,并且有一定的泛化能力。然而,NestNER在生成多粒度候选实体时,预测的紧密概率只考虑到候选实体的内凝度和完整度,忽略了候选实体的信息量作为先验信息,而通常高质量的候选实体应该满足下面三个标准:
内凝度(Concordance):是指的候选实体的分词之间的关联程度。比如,牛肉火锅>牛肉火锅吃法,“牛肉火锅”和“吃法”的内凝度低。
完整度(Completeness):是指的候选实体是否完整的词组。比如,柳州螺蛳粉>柳州螺蛳,“柳州螺蛳”不是一个完整的词组。
信息量(Informative):是指的候选实体所具有的信息的度量,比如“今天早晨,阅读原文”,相对没有信息量,不适合作为候选实体,再比如“柳州螺蛳”,能够反映实际中的一个事物,适合作为候选实体。
结合高质量候选实体的三个标准,在预测的紧密概率(有泛化能力)基础上,本实施例重点引入了信息量相关的特征,比如外部特征资源,训练一个候选实体质量模型来预测候选实体的质量,过滤低质量的候选实体,相当于结合了局部信息(紧密概率)和全局信息(引入的外部特征资源)。具体地,筛选出高质量的候选实体的方式可以通过如下步骤S508至步骤S512实现。
S508,获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
外部特征资源是指采用紧邻词组通过外部手段或者外部资源获取的特征资源,其中,外部手段可以包括互联网的搜索引擎,外部资源可以包括互联网的文章。比如,采用紧邻词组通过搜索引擎从互联网中获取到的特征资源,或者,采用紧邻词组在文章中获取到的特征资源。
具体地,外部特征资源可以包括搜索次数(qv,query view)、逆文本频率指数(idf,inverse document frequency)、紧邻词组特征、紧邻词组中分词的个数和搜索结果页特征之一;其中,所述紧邻词组特征至少包括是否包括停用词、是否包含标点符号和是否包含特殊词性之一,所述搜索结果页特征至少包括基于所述紧邻词组在搜索引擎中搜索后结果。
具体地,搜索结果页特征是指的,如果基于紧邻词组在搜索引擎搜索后,假设首页有十个结果,这十个结果是否有广告,视频资源、百科词条等。例如,假设紧邻词组为“无闻西东”,那么其外部资源特征的搜索结果页特征包括:是否存在针对该紧邻词组的百科词条,热门搜索引擎首页中是否有视频链接等。
可以理解,紧邻词组的外部特征资源越多,表示该紧邻词组的信息量越多,故越是能够反映对应的事物是真实存在,因此,引入外部特征资源来从紧邻词组筛选候选实体,能够提高候选实体的质量。
S510,根据所述紧邻词组对应分词的紧密概率和所述外部特征资源,从所述紧邻词组中确定候选实体。
在本实施例中,引入了质量模型,其中该质量模型将基于紧邻词组对应分词的紧密概率和外部特征资源,得到质量分数,然后可以根据质量分数从紧邻词组确定候选实体。
在一个实施例中,所述S510具体包括如下内容:通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
具体实现中,在确定紧邻词组的质量分数时,可以将紧邻词组对应分词的紧密概率和紧邻词组的外部特征资源输入至质量模型中,通过质量模型对紧邻词组对应分词的紧密概率和紧邻词组的外部特征资源进行处理,确定紧邻词组的质量分数。其中,质量模型是根据采集的实体训练样本,基于预设的网络训练获取的。具体地,可以将实体训练样本包括输入的紧邻词组对应分词的紧密概率和输入的紧邻词组的外部特征资源,输入至预设的网络模型进行训练,得到质量模型,从而使用质量模型对紧邻词组对应分词的紧密概率和紧邻词组的外部特征资源进行处理,得到对应的质量分数。
本实施例通过紧邻词组的紧密概率和外部特征资源输入到质量模型来预测紧邻词组的质量分数,从而可以根据质量分数从紧邻词组中确定候选实体,由于紧密概率可以反映相邻分词之间的紧密程度,因此而不需要复杂的标签表达方式和复杂的模型训练过程即可实现边界预测,从而识别候选实体。并且,本实施例还引入了能够反映紧邻词组信息量的外部特征资源,因此所得的候选实体质量极高。
需要说明的是,除了紧密度概率和外部特征资源之外,本实施例还可以引入左右熵,语言模型分数等其他数据一起输入到质量模型中,用于生成质量分数,从而进一步提高候选实体的质量,本实施例对此无需加以限制。
S512,确定所述候选实体的实体类型。
S514,当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
本实施例在基于紧邻词组对应分词的紧密概率和外部资源特征从紧邻词组中筛选出高质量的候选实体后,就可以进一步确定候选实体的实体类型,然后进一步判断其类型是否是目标实体类型,并在确定候选实体的实体类型为目标实体类型时输出。
例如,假设待识别文本中“我在广州想吃红烧鱼”,其中,可以从该文本中识别出候选实体为“广州”,“红烧鱼”,其中,“广州”的实体类型为地名,“红烧鱼”的体类型为菜名,则如果实体类型为菜名,则确定目标实体为“红烧鱼”,如果实体类型为地名,则确定目标实体为“广州”。
本实施例中引入了外部特征资源用于确定候选实体,故本实施例不仅考虑了候选实体的内凝度和完整度,还进一步考虑了候选实体的信息量,使得最后得到候选实体兼具内凝度、完整度和信息量,规避一些不合理候选实体,候选实体的质量极高。
为了使本领域技术人员更好地理解本实施例,下面采用具体示例进行说明。本实施例在在NestedNER结构上,引入了质量模型(entity span quality model),相当于在紧密断开预测层和分类层中间加了一层质量层(Entity Span Quality Layer),其网络结构如图6所示,称为ENestedNER。
ENestedNER的网络结构相当于多任务学习,其中每一层的模型在共享学习的词和字的基础上,各自训练过程是相对独立的,这样的好处是训练过程简单,并且每个模型可根据任务特点方便的加入一些任务相关的特征。比如,质量模型可以和其它模型一起训练,也可以直接采用预训练好的模型不再参与ENestedNER的训练过程,本实施例对此不加以限制。
具体地,ENestedNER包括包括6.1分布式表示层(Word embedding)、6.2特征表示层(BILSTM)、6.3紧密断开预测层(Tie or Break Layer)、6.4质量层和6.5分类层(TypingLayer),基于ENestedNER实现实体识别的过程为:
6.1分布式表示层:将待识别文本的分词,即W1、W2、W3、W4和W5映射为向量后传递到6.2特征表示层。
6.2特征表示层:根据映射为向量后的分词W1、W2、W3、W4和W5,预测相邻分词之间的紧密概率,并将该紧密概率传递到6.3紧密断开预测层。
6.3紧密断开预测层:根据相邻分词之间的紧密概率生成预测分数tight12,tight23,tight34和tight45,并输入到6.4质量层。具体地,在特征表示层得到紧密概率的数值范围是(0,1),将该紧密概率输入到紧密断开预测层后,将得到各相邻分词之间的预测分数。其中,预测分数的数值范围是(-1,1),大于0表示相邻分词是紧密的(Tie),小于0则表示相邻分词是断开的(Break)。
6.4质量层:获取待识别文本的分词组成紧邻词组对应的外部特征资源,结合预测分数输入到质量层的质量模型中,计算紧邻词组的质量分数,将质量分数大于预设阈值的紧邻词组作为候选(嵌套)实体(Candidate Nested Entity),比如W1W2W3、W1W2、W2W3W4和W5,并将候选实体将传递到6.5分类层。
6.5分类层:做k+1分类来判断候选实体的实体类型,其中,k是目标实体类型数,+1是因为多了无类型(NONE)。如果候选实体的实体类型为目标实体类型,则可以将该候选实体作为目标实体。比如,假设候选实体的实体类型为地名,如果目标实体类型同样为地名,则可以将候选实体作为目标实体。
本实施例的分类层为多分类层,即可以识别出多种实体类型,优选地,本实施例还可以根据任务需求修改NestedNER,比如可以将分类层由多分类层修改为多标签分类层,使得分类层可以识别并输出多种实体类型的候选实体。比如在某个实体识别任务中,“臭鳜鱼”的实体既属于“水产”又属于“徽菜”类型,只需要将分类层由多分类层改成多标签分类层,即可输出“水产”和“徽菜”两种类型的目标实体。
本实施例的ENestedNER,在构建的嵌套实体识别标准测试集上进行效果评估时,ENestedNER相比于LabelNet无论是在准确率还是召回率都有一定的提升,尤其在召回率,具体如表3所示:
表3:
全量测试集 | 准确率 | 召回率 | F1(综合评价指标) |
LabelNet | 61.6% | 68.2% | 64.7% |
ENestedNER | 63.2% | 86.2% | 72.9% |
本实施例的ENestedNER之所以有如此提升,得益于ENestedNER的训练数据集更容易标注和引入更泛化的候选实体生成层(紧密断开预测层+质量层),结合表3中的实例可以看出ENestedNER能够规避一些不合理结果,模型泛化能力更强。
表4:
综上可知,本实施例通过对实体边界预测(候选实体生成)和实体类型预测分别建模,提出网络结构灵活简单高效的嵌套实体识别模型ENestedNER,使得不需要复杂的标签表达方式和复杂的模型,即可实现嵌套实体的识别,实现过程简单且高效。
图2和图5为一个实施例中实体识别方法的流程示意图。应该理解的是,虽然图2和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了实体识别装置700,包括分词获取模块702,紧密概率确定模块704,紧邻词组组合模块706,候选实体确定模块708,实体类型确定模块710和目标实体确定模块712,其中:
分词获取模块702,获取待识别文本的分词;
紧密概率确定模块704,定相邻所述分词之间的紧密概率;
紧邻词组组合模块706,将所述分词进行组合得到紧邻词组;
候选实体确定模块708,根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;
实体类型确定模块710,用于确定所述候选实体的实体类型;
目标实体确定模块712,用于当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
在一个实施例中,所述候选实体确定模块708包括:
外部特征资源获取模块,用于获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
候选实体筛选模块,用于根据所述紧邻词组对应分词的紧密概率和外部特征资源,从所述紧邻词组中确定候选实体。
在一个实施例中,所述紧密概率确定模块704包括:
紧密概率计算模块,用于通过预测模型对所述相邻所述分词进行处理,得到紧密概率;
其中,所述预测模型为根据采集的关系训练样本,基于预设的网络模型训练获取的,用于对输入的各相邻所述分词进行处理,得到紧密概率;所述关系训练样本包括所述输入的各相邻所述分词以及对应的紧密概率。
在一个实施例中,所述目标实体确定模块712包括:
第一质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;
目标实体确定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
在一个实施例中,所述候选实体筛选模块包括:
第二质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
在一个实施例中,所述目标实体确定模块712包括:
实体类型确定模块,用于将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;
其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述质量训练样本包括所述输入的候选实体以及对应的实体类型。
在一个实施例中,所述候选实体确定模块708包括:
第一紧密概率获取模块,用于获取所述紧邻词组对应分词的紧密概率;
均值计算模块,用于根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;
边界分词确定模块,用于确定在所述紧邻词组中处于边界的分词;
第二紧密概率获取模块,用于获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;
最大紧密概率确定模块,用于从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;
质量分数计算模块,用于将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;
候选实体选定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
上述实体识别装置,在实体识别任务中,在获取待识别文本的分词后,确定相邻分词之间的紧密概率,并根据分词组合出紧邻词组,然后获取紧邻词组的外部特征资源,并根据紧邻词组对应分词的紧密概率,从紧邻词组中确定候选实体,最后,当候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。本实施例通过将实体识别的任务拆分为候选实体生成和实体类型预测,使得在识别嵌套实体时,不需要复杂的标签表达方式或者复杂的模型,即可实现嵌套实体的识别。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图8所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现实体识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行实体识别方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的实体识别装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该实体识别装置的各个程序模块,比如,图7所示的分词获取模块702,紧密概率确定模块704,紧邻词组组合模块706,候选实体确定模块708,实体类型确定模块710和目标实体确定模块712。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的实体识别方法中的步骤。
例如,图8所示的计算机设备可以通过如图7所示的实体识别装置中的获取模块702执行获取待识别文本的分词,所述分词具有类型标签。计算机设备可通过紧密概率确定模块704执行确定相邻所述分词之间的紧密概率。计算机设备可通过紧邻词组组合模块706执行将所述分词进行组合得到紧邻词组。计算机设备可通过候选实体确定模块708执行根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体,从所述候选实体中确定目标候选实体。计算机设备可通过实体类型确定模块710执行确定所述候选实体的实体类型。计算机设备可通过目标实体确定模块712执行所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述实体识别方法的步骤。此处实体识别方法的步骤可以是上述各个实施例的实体识别方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述实体识别方法的步骤。此处实体识别方法的步骤可以是上述各个实施例的实体识别方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种实体识别方法,包括:
获取待识别文本的分词;
确定相邻所述分词之间的紧密概率;
将所述分词进行组合得到紧邻词组;
根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;
确定所述候选实体的实体类型;
当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体;
所述实体识别方法基于NestedNER网络实现,所述NestedNER网络包括分布式表示层、特征表示层、紧密断开预测层以及分类层;
所述分布式表示层将待识别文本的分词,映射为向量后传递到所述特征表示层;所述特征表示层根据映射为向量后的分词,预测相邻所述分词之间的紧密概率,并将所述紧密概率传递到所述紧密断开预测层;所述紧密断开预测层根据相邻分词之间的紧密概率生成预测分数,根据预测分数得到紧邻词组的质量分数,将质量分数大于预设阈值的紧邻词组作为候选实体,并将所述候选实体传递到分类层;所述预测分数用于表征相邻分词是紧密的或者断开的;所述分类层用于判断所述候选实体的实体类型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
根据所述紧邻词组对应分词的紧密概率和外部特征资源,从所述紧邻词组中确定候选实体。
3.根据权利要求1所述的方法,其特征在于,所述确定相邻所述分词之间的紧密概率包括:
通过预测模型对所述相邻所述分词进行处理,得到紧密概率;
其中,所述预测模型为根据采集的关系训练样本,基于预设的网络模型训练获取的,用于对输入的各相邻所述分词进行处理,得到紧密概率;所述关系训练样本包括所述输入的各相邻所述分词以及对应的紧密概率。
4.根据权利要求1所述的方法,其特征在于,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
5.根据权利要求2所述的方法,其特征在于,所述根据所述紧邻词组对应分词的紧密概率和所述外部特征资源,从所述紧邻词组中确定候选实体包括:
通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
6.根据权利要求1所述的方法,其特征在于,所述确定所述候选实体的实体类型包括:
将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;
其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述分类训练样本包括所述输入的候选实体以及对应的实体类型。
7.根据权利要求1所述的方法,其特征在于,所述根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体包括:
获取所述紧邻词组对应分词的紧密概率;
根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;
确定在所述紧邻词组中处于边界的分词;
获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;
从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;
将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
8.一种实体识别装置,包括:
分词获取模块,用于获取待识别文本的分词;
紧密概率确定模块,用于确定相邻所述分词之间的紧密概率;
紧邻词组组合模块,用于将所述分词进行组合得到紧邻词组;
候选实体确定模块,用于根据所述紧邻词组对应分词的紧密概率,从所述紧邻词组中确定候选实体;
实体类型确定模块,用于确定所述候选实体的实体类型;
目标实体确定模块,用于当所述候选实体的实体类型为目标实体类型时,将所述候选实体作为目标实体;
所述实体识别装置基于NestedNER网络实现,所述NestedNER网络包括分布式表示层、特征表示层、紧密断开预测层以及分类层;
所述分布式表示层将待识别文本的分词,映射为向量后传递到所述特征表示层;所述特征表示层根据映射为向量后的分词,预测相邻所述分词之间的紧密概率,并将所述紧密概率传递到所述紧密断开预测层;所述紧密断开预测层根据相邻分词之间的紧密概率生成预测分数,根据预测分数得到紧邻词组的质量分数,将质量分数大于预设阈值的紧邻词组作为候选实体,并将所述候选实体传递到分类层;所述预测分数用于表征相邻分词是紧密的或者断开的;所述分类层用于判断所述候选实体的实体类型。
9.根据权利要求8所述的装置,其特征在于,所述候选实体确定模块包括:
外部特征资源获取模块,用于获取所述紧邻词组的外部特征资源;所述外部特征资源为采用所述紧邻词组从互联网中获取、用于反映所述紧邻词组的信息量的特征资源;
候选实体筛选模块,用于根据所述紧邻词组对应分词的紧密概率和外部特征资源,从所述紧邻词组中确定候选实体。
10.根据权利要求8所述的装置,其特征在于,所述紧密概率确定模块包括:
紧密概率计算模块,用于通过预测模型对所述相邻所述分词进行处理,得到紧密概率;
其中,所述预测模型为根据采集的关系训练样本,基于预设的网络模型训练获取的,用于对输入的各相邻所述分词进行处理,得到紧密概率;所述关系训练样本包括所述输入的各相邻所述分词以及对应的紧密概率。
11.根据权利要求8所述的装置,其特征在于,所述目标实体确定模块包括:
第一质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率进行处理,得到质量分数;
目标实体确定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词的紧密概率进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率以及对应的质量分数。
12.根据权利要求9所述的装置,其特征在于,所述候选实体筛选模块包括:
第二质量分数计算模块,用于通过质量模型对所述紧邻词组对应分词的紧密概率和外部特征资源进行处理,得到质量分数;
当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体;
其中,所述质量模型为根据采集的质量训练样本,基于预设的网络模型训练获取的,用于对输入的紧邻词组对应分词紧密概率和外部特征资源进行处理,得到所述紧邻词组的质量分数;所述质量训练样本包括所述输入的紧邻词组对应分词的紧密概率和外部特征资源以及对应的质量分数。
13.根据权利要求8所述的装置,其特征在于,所述目标实体确定模块包括:
实体类型确定模块,用于将所述候选实体输入到分类模型中,得到所述候选实体的实体类型;
其中,所述分类模型为根据采集的分类训练样本,基于预设的网络模型训练获取的,用于对输入的候选实体进行处理,得到实体类型;所述分类训练样本包括所述输入的候选实体以及对应的实体类型。
14.根据权利要求8所述的装置,其特征在于,所述候选实体确定模块包括:
第一紧密概率获取模块,用于获取所述紧邻词组对应分词的紧密概率;
均值计算模块,用于根据所述紧邻词组对应分词的紧密概率计算紧密概率均值;
边界分词确定模块,用于确定在所述紧邻词组中处于边界的分词;
第二紧密概率获取模块,用于获取所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率;
最大紧密概率确定模块,用于从所述处于边界的分词与非所述紧邻词组的分词之间的紧密概率中,筛选出最大的紧密概率;
质量分数计算模块,用于将所述紧密概率均值减去所述最大的紧密概率,得到所述紧邻词组的质量分数;
候选实体选定模块,用于当所述质量分数达到预设阈值时,将所述紧邻词组作为候选实体。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031702.1A CN113111656B (zh) | 2020-01-13 | 2020-01-13 | 实体识别方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010031702.1A CN113111656B (zh) | 2020-01-13 | 2020-01-13 | 实体识别方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113111656A CN113111656A (zh) | 2021-07-13 |
CN113111656B true CN113111656B (zh) | 2023-10-31 |
Family
ID=76708859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010031702.1A Active CN113111656B (zh) | 2020-01-13 | 2020-01-13 | 实体识别方法、装置、计算机可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111656B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391485A (zh) * | 2017-07-18 | 2017-11-24 | 中译语通科技(北京)有限公司 | 基于最大熵和神经网络模型的韩语命名实体识别方法 |
CN107608960A (zh) * | 2017-09-08 | 2018-01-19 | 北京奇艺世纪科技有限公司 | 一种命名实体链接的方法和装置 |
CN109190124A (zh) * | 2018-09-14 | 2019-01-11 | 北京字节跳动网络技术有限公司 | 用于分词的方法和装置 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及*** |
CN110008309A (zh) * | 2019-03-21 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 一种短语挖掘方法及装置 |
CN110321550A (zh) * | 2019-04-25 | 2019-10-11 | 北京科技大学 | 一种面向中医古籍文献的命名实体识别方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075228B (zh) * | 2006-05-15 | 2012-05-23 | 松下电器产业株式会社 | 识别自然语言中的命名实体的方法和装置 |
-
2020
- 2020-01-13 CN CN202010031702.1A patent/CN113111656B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391485A (zh) * | 2017-07-18 | 2017-11-24 | 中译语通科技(北京)有限公司 | 基于最大熵和神经网络模型的韩语命名实体识别方法 |
CN107608960A (zh) * | 2017-09-08 | 2018-01-19 | 北京奇艺世纪科技有限公司 | 一种命名实体链接的方法和装置 |
CN109190124A (zh) * | 2018-09-14 | 2019-01-11 | 北京字节跳动网络技术有限公司 | 用于分词的方法和装置 |
CN109388803A (zh) * | 2018-10-12 | 2019-02-26 | 北京搜狐新动力信息技术有限公司 | 中文分词方法及*** |
CN110008309A (zh) * | 2019-03-21 | 2019-07-12 | 腾讯科技(深圳)有限公司 | 一种短语挖掘方法及装置 |
CN110321550A (zh) * | 2019-04-25 | 2019-10-11 | 北京科技大学 | 一种面向中医古籍文献的命名实体识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113111656A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572221B2 (en) | Methods and systems for identifying a level of similarity between a plurality of data representations | |
CN109858010B (zh) | 领域新词识别方法、装置、计算机设备和存储介质 | |
CN108733766B (zh) | 一种数据查询方法、装置和可读介质 | |
CA2774278C (en) | Methods and systems for extracting keyphrases from natural text for search engine indexing | |
US20170337260A1 (en) | Method and device for storing data | |
CN110909539A (zh) | 语料库的词语生成方法、***、计算机设备和存储介质 | |
US11977589B2 (en) | Information search method, device, apparatus and computer-readable medium | |
US11023503B2 (en) | Suggesting text in an electronic document | |
US11734332B2 (en) | Methods and systems for reuse of data item fingerprints in generation of semantic maps | |
CN110362798B (zh) | 裁决信息检索分析方法、装置、计算机设备和存储介质 | |
KR20200087977A (ko) | 멀티모달 문서 요약 시스템 및 방법 | |
CN112988784B (zh) | 数据查询方法、查询语句生成方法及其装置 | |
CN114090776A (zh) | 文档解析方法、***及装置 | |
CN112287069A (zh) | 基于语音语义的信息检索方法、装置及计算机设备 | |
CN112256863B (zh) | 一种确定语料意图的方法、装置及电子设备 | |
CN115525757A (zh) | 合同摘要的生成方法和装置、合同关键信息提取模型的训练方法 | |
CN117194616A (zh) | 一种垂域知识图谱的知识查询方法、装置、计算机设备和存储介质 | |
CN113111656B (zh) | 实体识别方法、装置、计算机可读存储介质和计算机设备 | |
CN112989011B (zh) | 数据查询方法、数据查询装置和电子设备 | |
CN117556033B (zh) | 确定问答***的嵌入模型参数的方法、装置及计算设备 | |
CN117931858B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN117972117A (zh) | 搜索方法、装置、电子设备及存储介质 | |
CN117972021A (zh) | 搜索方法、装置、电子设备及存储介质 | |
CN118246441A (zh) | 推送文本的方法、装置、电子设备及存储介质 | |
JP2023007593A (ja) | 知的財産支援装置および知的財産支援方法並びに知的財産支援プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048677 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |