CN112257449B - 命名实体识别方法、装置、计算机设备和存储介质 - Google Patents

命名实体识别方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112257449B
CN112257449B CN202011269512.XA CN202011269512A CN112257449B CN 112257449 B CN112257449 B CN 112257449B CN 202011269512 A CN202011269512 A CN 202011269512A CN 112257449 B CN112257449 B CN 112257449B
Authority
CN
China
Prior art keywords
entity
training
character
category
sentence
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
Application number
CN202011269512.XA
Other languages
English (en)
Other versions
CN112257449A (zh
Inventor
郑恒毅
文瑞
陈曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011269512.XA priority Critical patent/CN112257449B/zh
Publication of CN112257449A publication Critical patent/CN112257449A/zh
Application granted granted Critical
Publication of CN112257449B publication Critical patent/CN112257449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Character Discrimination (AREA)

Abstract

本申请涉及一种命名实体识别方法、装置、计算机设备和存储介质。所述方法涉及人工智能的自然语言处理技术,包括:获取待识别的语句,提取语句的字符特征,获得字符特征集合;基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;根据语句中实体的实体类别和实体位置得到命名实体识别结果。采用本方法能够提高命名实体识别的准确性。

Description

命名实体识别方法、装置、计算机设备和存储介质
技术领域
本申请涉及人工智能技术领域,特别是涉及一种命名实体识别方法、装置、计算机设备和存储介质,以及一种命名实体识别模型处理方法、装置、计算机设备和存储介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的发展,自然语言处理(Natural Language Processing,NLP)技术在语音识别、语音翻译、理解完整的句子、理解匹配词的同义词,以及生成语法正确完整句子和段落等方面得到广泛的应用。作为自然语言处理的一个基础任务,命名实体识别(Named Entities Recognition,NER)的目的在于识别语料中人名、地名、组织机构名等命名实体,如从语句中识别出人名、地名、机构名、时间、日期等命名实体。
目前,传统命名实体识别处理方法中,模型的耦合度高,处理的特征细化程度低,导致命名实体识别的准确性较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高命名实体识别准确性的命名实体识别方法、装置、计算机设备和存储介质,以及一种命名实体识别模型处理方法、装置、计算机设备和存储介质。
一种命名实体识别方法,所述方法包括:
获取待识别的语句,提取语句的字符特征,获得字符特征集合;
基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;
基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;
根据语句中实体的实体类别和实体位置得到命名实体识别结果。
一种命名实体识别装置,所述装置包括:
语句特征提取模块,用于获取待识别的语句,提取语句的字符特征,获得字符特征集合;
实体位置抽取模块,用于基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;
实体类别判定模块,用于基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;
识别结果获得模块,用于根据语句中实体的实体类别和实体位置得到命名实体识别结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待识别的语句,提取语句的字符特征,获得字符特征集合;
基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;
基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;
根据语句中实体的实体类别和实体位置得到命名实体识别结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待识别的语句,提取语句的字符特征,获得字符特征集合;
基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;
基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;
根据语句中实体的实体类别和实体位置得到命名实体识别结果。
上述命名实体识别方法、装置、计算机设备和存储介质,分别基于语句对应的字符特征集合进行实体位置抽取,基于字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,并根据获得的实体位置和实体类别得到命名实体识别结果。在命名实体识别处理过程中,通过不同路径分别对语句进行实体位置抽取和实体类别判定,从而将命名实体识别任务拆分,降低了命名实体识别中实体位置抽取任务和实体类别判定任务的耦合度,可以获得细化程度高的细粒度特征,提高了命名实体识别的准确性。
一种命名实体识别模型处理方法,所述方法包括:
获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;
通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;
通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;
根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;
基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
一种命名实体识别模型处理装置,所述装置包括:
训练语句获取模块,用于获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;
位置抽取分支训练模块,用于通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;
类别判定分支训练模块,用于通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;
模型训练结果模块,用于根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;
模型更新模块,用于基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;
通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;
通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;
根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;
基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;
通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;
通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;
根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;
基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
上述命名实体识别模型处理方法、装置、计算机设备和存储介质,通过待训练的命名实体识别模型所包括的实体位置抽取分支基于训练语句对应的训练字符特征集合进行实体位置抽取,通过待训练的命名实体识别模型所包括的实体类别判定分支基于训练字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,根据通过实体位置抽取分支获得的实体位置和通过实体类别判定分支获得的实体类别得到命名实体识别结果,并基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至训练结束得到训练完成的命名实体识别模型。在命名实体识别模型处理过程中,由待训练的命名实体识别模型所包括的实体位置抽取分支对训练语句进行实体位置抽取,由实体类别判定分支分别对训练语句进行实体类别判定,从而将命名实体识别任务拆分,降低了模型的耦合度,且由实体位置抽取分支和实体类别判定分支可以获得细化程度高的细粒度特征,提高了通过训练完成的命名实体识别模型进行命名实体识别处理的准确性。
附图说明
图1为一个实施例中命名实体识别方法的应用环境图;
图2为一个实施例中命名实体识别方法的流程示意图;
图3为一个实施例中实体位置抽取的流程示意图;
图4为另一个实施例中命名实体识别方法的流程示意图;
图5为一个实施例中实体类别判定的流程示意图;
图6为一个实施例中命名实体识别模型处理方法的流程示意图;
图7为一个实施例中模型损失确定的流程示意图;
图8为一个实施例中命名实体识别装置的结构框图;
图9为一个实施例中命名实体识别模型处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
本申请实施例提供的方案涉及人工智能的自然语言处理等技术,具体通过如下实施例进行说明。
本申请提供的命名实体识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以采集待识别的语句,并将待识别的语句发送至服务器104,服务器104接收到待识别的语句后,分别基于语句对应的字符特征集合进行实体位置抽取,基于字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,并根据获得的实体位置和实体类别得到命名实体识别结果。此外,也可以单独由服务器104从数据库中获取待识别的语句,并对获得的语句进行命名实体识别处理。
本申请的提供的命名实体识别模型处理方法,也可以应用于如图1所示的应用环境中。服务器104分别通过待训练的命名实体识别模型基于训练语句对应的训练字符特征集合进行实体位置抽取,通过待训练的命名实体识别模型基于训练字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,根据获得的实体位置和实体类别得到命名实体识别结果,并基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至训练结束得到训练完成的命名实体识别模型。获得训练完成的命名实体识别模型后,服务器104可以接收从终端102发送的待识别的语句,并通过训练完成的命名实体识别模型对接收的语句进行命名实体识别,得到命名实体识别结果。此外,训练完成的命名实体识别模型还可以移植到其他服务器,以由其他服务器进行命名实体识别的处理。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种命名实体识别方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取待识别的语句,提取语句的字符特征,获得字符特征集合。
其中,语句是需要进行命名实体识别的语料,如可以为文本语句,语句由一个多个字符组成。例如,对于语句“今天天气真好啊,我们去郊游吧。”语句中每个文字和标点符合,均为组成该语句的字符,该语句包括15个字符。实体是指语句中具有特定意义的实体,如人名、地名、组织机构、日期、时间、百分数或货币等,命名实体指人名、机构名、地名以及其他所有以名称为标识的实体。命名实体识别即需要从语句中识别出命名实体,如通用领域中从语句识别出人名、地名、机构名、专有名词等;又如在医疗领域可以识别出医疗活动过程中的电子记录中的手术名称、药物名称、解剖部位等。字符特征为组成待识别的语句的字符对应的特征,字符特征携带了对应字符的语义特征,基于该语义特征可以对字符的实体类别、实体位置进行分析识别。字符特征集合由语句的各字符特征组成。具体地,字符特征为字向量时,语句中各字符对应的字向量组成字向量组,该字向量组即为语句的字符特征集合。
具体地,服务器从数据库获取待识别的语句,或获取由终端发送的待识别的语句,服务器对获得的语句进行字符特征提取,得到语句的字符特征,具体可以通过预训练语音模型,如BERT(Bidirectional Encoder Representations from Transformers,双向Transformer编码器)、RoBERTa(A Robustly Optimized BERT Pretraining Approach,鲁棒优化的双向Transformer编码器预训练方法)、ELECTRA(Efficiently Learning anEncoder that Classifies Token Replacements Accurately,高效地学习对令牌替换进行准确分类的编码器)、XLNET(Generalized Autoregressive Pretraining for LanguageUnderstanding,用于语言理解的广义自回归预训练)等,对语句进行字符特征映射,以将语句中各字符映射为字符特征,得到语句对应的字符特征集合。
步骤204,基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置。
其中,实体位置抽取目的在于确定语句中各实体的实体位置,实体位置用于标识语句中各字符在对应实体中的所处位置,如对于命名实体A“奥美拉唑”,该实体A由4个字符组成,其中,字符“奥”处于实体A的起始位置,“美”和“拉”处于实体A的内部位置,“唑”处于实体A的结束位置,从而根据各字符对应的实体位置可以确定该实体A在语句中的位置。实体位置抽取可以通过命名实体识别模型实现,命名实体识别模型是基于携带实体位置标签和实体类别标签的训练语句训练得到的,命名实体识别模型可以包括实体位置抽取分支和实体类别判定分支,从而可以通过命名实体识别模型中的实体位置抽取分支对语句进行实体位置抽取,得到语句中各实体的实体位置。实体位置抽取分支具体可以包括CRF(Conditional Random Fields,条件随机场)层,以对语句进行实体位置抽取。
具体地,服务器获得语句的字符特征集合后,服务器基于该字符特征集合进行实体位置抽取,具体服务器可以将字符特征集合输入预训练的命名实体识别模型中,以由命名实体识别模型的实体位置抽取分支中进行实体位置抽取处理,得到由实体位置抽取分支输出的语句中各实体的实体位置。
步骤206,基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别。
其中,命名实体识别中还需要对语句进行实体类别判定,确定语句中各实体对应的实体类别,实体类别为命名实体对应的分类类别,如可以包括人名类别、地名类别、物名类别、药品命名类别、手术名称类别或部位类别等。命实体类别根据命名实体识别具体应用场景进行设定。具体可以通过预训练的命名实体识别模型所包括的实体类别判定分支对语句进行实体类别判定,得到语句中各实体对应的实体类别。
具体地,服务器基于字符特征集合进行实体类别映射,确定字符特征集合中字符特征相应字符所对应的实体类别,再结合确定的实体位置,确定语句中各实体所包括的字符,根据每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别。例如,对于每个实体,服务器可以统计该实体包括的每个字符对应的实体类别,将实体类别数目最多的实体类别判定为该实体的实体类别。
步骤208,根据语句中实体的实体类别和实体位置得到命名实体识别结果。
其中,命名实体识别结果为语句最终的识别结果,包括语句中各命名实体的实体位置和对应的实体类别。具体地,得到语句中实体的实体类别和实体位置后,服务器融合各实体的实体类别和实体位置,得到语句的命名实体识别结果。
在一个具体应用中,命名实体识别方法可以应用于医疗预问诊系统中,医疗预问诊系统利用命名实体识别方法对用户的输入语句进行命名实体识别,从输入语句中抽取出细粒度的医学实体词,例如病征、疾病史、患者情况等,基于该医学实体词信息的准确识别可以辅助在医疗知识图谱中定位到准确的医学实体,从而利用知识图谱的能力对用户的输入语句生成合适准确的回答,达到对用户病情的预问诊目的。
上述命名实体识别方法中,分别基于语句对应的字符特征集合进行实体位置抽取,基于字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,并根据获得的实体位置和实体类别得到命名实体识别结果。在命名实体识别处理过程中,通过不同路径分别对语句进行实体位置抽取和实体类别判定,从而将命名实体识别任务拆分,降低了命名实体识别中实体位置抽取任务和实体类别判定任务的耦合度,可以获得细化程度高的细粒度特征,提高了命名实体识别的准确性。
在一个实施例中,如图3所示,实体位置抽取的处理步骤,即基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置包括:
步骤302,通过命名实体识别模型所包括的实体位置抽取分支对字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合。
其中,命名实体识别模型是基于携带实体位置标签和实体类别标签的训练语句训练得到的,命名实体识别模型可以包括实体位置抽取分支和实体类别判定分支,实体位置抽取分支用于对语句进行实体位置抽取,实体类别判定分支用于对语句进行实体类别判定。特征映射用于对字符特征集合中的各字符特征进行变换,如可以为线性变换,得到各字符特征对应的字符映射特征,从而得到字符映射特征集合。通过对字符特征集合中的各字符特征进行特征映射,可以便于实体位置抽取分支进行特征提取,得到能够准确表达实体位置信息的特征,从而提高实体位置抽取的准确性。具体地,由服务器查询预训练的命名实体识别模型,通过该命名实体识别模型所包括的实体位置抽取分支中的线性变换层对字符特征集合中的各字符特征进行特征映射,得到字符映射特征集合。
步骤304,通过实体位置抽取分支对字符映射特征集合进行特征提取,得到实体位置特征。
得到字符映射特征集合后,由实体位置抽取分支对字符映射特征集合进行特征提取,具体可以由实体位置抽取分支中的特征提取层,如CRF层对字符映射特征集合进行特征提取,得到实体位置特征。实体位置特征反映了语句中字符的实体位置信息,基于实体位置特征可以确定语句中各实体的实体位置。
具体地,得到字符映射特征集合后,服务器通过实体位置抽取分支对字符映射特征集合进行特征提取,如通过实体位置抽取分支的CRF层对字符映射特征集合进行特征提取,得到实体位置特征。其中,CRF层是一种判别式模型,是一种概率图模型,常用于标注或分析序列资料,如自然语言文字或是生物序列。条件随机场是条件概率分布模型P(Y|X),表示的是给定一组输入随机变量X的条件下另一组输出随机变量Y的马尔可夫随机场,也就是说CRF的特点是假设输出随机变量构成马尔可夫随机场,条件随机场可被看作是最大熵马尔可夫模型在标注问题上的推广。
步骤306,基于实体位置特征确定语句中各实体的实体位置。
得到实体位置特征后,服务器通过实体位置抽取分支基于各字符对应的实体位置特征确定语句中各实体的实体位置。例如,实体位置特征可以为基于条件随机场分析得到的实体位置转移矩阵,转移矩阵中的各元素表征实体位置转移概率,即表征了各字符在所属实体中的时序相关程度。根据转移矩阵可以确定语句中各字符的实体位置,从而确定语句中各实体的实体位置。
本实施例中,服务器通过实体位置抽取分支对字符特征集合中的各字符特征依次进行特征映射和特征提取,根据得到的实体位置特征确定待识别的语句中各实体的实体位置,从而通过实体位置抽取分支实现命名实体识别任务拆分后的实体位置抽取任务,可以使实体位置抽取分支能够提取到与实体位置相关的细粒度特征,从而确保实体位置抽取的准确性,进而提高命名实体识别的准确性。
在一个实施例中,字符特征包括字向量,字符特征集合包括字向量组。通过命名实体识别模型所包括的实体位置抽取分支对字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合,包括:通过命名实体识别模型所包括的实体位置抽取分支对字向量组中的各字向量进行线性变换,获得字线性向量组。
其中,字向量由语句中的字符经过预训练语言模型映射得到,如通过BERT进行向量映射,得到字符对应的字向量。其中,BERT采用多层Transformer结构,Transformer是一个encoder-decoder(编码-解码)的结构,由若干个编码器和解码器堆叠形成,编码器由Multi-Head Attention(多头部注意力)和一个全连接组成,用于将输入语料转化成特征向量,即得到语句的字向量。语句各字符对应的字向量组成字向量组。
具体地,在通过实体位置抽取分支对字符特征集合中的各字符特征进行特征映射时,服务器通过命名实体识别模型所包括的实体位置抽取分支对字向量组中的各字向量进行线性变换,具体通过实体位置抽取分支的线性变换层将字向量组中各字向量进行线性变换,获得字线性向量组。
进一步地,通过实体位置抽取分支对字符映射特征集合进行特征提取,得到实体位置特征,包括:通过实体位置抽取分支对字线性向量组进行条件随机场分析,得到实体位置转移矩阵;转移矩阵中的各元素表征实体位置转移概率。
得到字线性向量组后,由服务器通过实体位置抽取分支对字线性向量组进行条件随机场分析,具体可以将字线性向量组输入实体位置抽取分支中的条件随机场层进行分析,由条件随机场层输出实体位置转移矩阵,该转移矩阵中的各元素表征实体位置转移概率。
进一步地,实体位置特征包括条件随机场层输出的转移矩阵,基于该转移矩阵中各元素确定语句中的各字符的实体位置标签,并根据各字符的实体位置标签确定语句中各实体的实体位置。
本实施例中,通过实体位置抽取分支对字向量组中的各字向量依次进行线性变换和特征提取,以根据得到的转移矩阵确定待识别的语句中各实体的实体位置,通过实体位置抽取分支实现命名实体识别任务拆分后的实体位置抽取任务,可以使实体位置抽取分支能够提取到与实体位置相关的细粒度特征,从而确保实体位置抽取的准确性,进而提高命名实体识别的准确性。
在一个实施例中,基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别,包括:通过命名实体识别模型所包括的实体类别判定分支对字符特征集合中各字符特征进行特征映射,得到语句中各字符对应的实体类别特征;通过实体类别判定分支对各实体类别特征进行概率映射,获得语句中各字符对应的实体类别概率;基于实体类别概率确定语句中各字符对应的实体类别。
本实施例中,对语句的实体类别判定通过训练的命名实体识别模型实现,具体通过命名实体识别模型所包括的实体类别判定分支获得语句中各字符对应的实体类别特征,基于实体类别特征得到语句中各字符对应的实体类别概率,根据实体类别概率确定语句中各字符对应的实体类别,从而确定语句中各字符的实体类别。
具体地,通过实体类别判定分支确定语句中各字符对应的实体类别时,服务器通过实体类别判定分支对字符特征集合中各字符特征进行特征映射,具体可以对字符特征集合中各字符特征进行线性变换,得到各字符对应的实体类别特征。服务器在对各实体类别特征进行概率映射,如可以通过分类器对各实体类别特征进行概率映射,得到每个字符对应的实体类别概率。最后由服务器基于实体类别概率确定语句中各字符对应的实体类别,如可以将每个字符对应的最大实体类别概率的实体类别确定为该字符的实体类别。
本实施例中,对字符特征集合中各字符特征进行特征映射后,将得到的实体类别特征进行概率映射,并基于各字符对应的实体类别概率;基于实体类别概率确定语句中各字符对应的实体类别,从而通过实体类别判定分支确定语句中各字符的实体类别,使实体类别判定分支能够对表征字符的实体类别的细粒度特征进行实体类别判定,提高了实体类别判定的准确性。
在一个实施例中,基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别,包括:统计每个实体所包括的每个字符所对应的实体类别,得到每个实体对应各种实体类别的数目;基于每个实体对应各种实体类别的数目,判定语句中每个实体的实体类别。
其中,每个实体所包括的每个字符可以根据实体位置抽取分支得到的语句中各实体的实体位置得到。具体地,服务器可以根据语句中各实体的实体位置确定每个实体的起始字符、中间字符和结束字符,从而确定各实体所包括的字符。语句中的实体可以包括一个或多个字符,而每个字符分别进行实体类别判定,则同一实体中多个字符可能会有不同的实体类别判定结果,本实施例综合同一实体中各字符对应的实体类别确定该实体的实体类别。
具体地,在通过实体类别判定分支判定语句中每个实体的实体类别时,服务器统计每个实体所包括的每个字符所对应的实体类别,确定每个实体对应各种实体类别的数目。例如,服务器可以统计同一实体中各个字符对应实体类别的数目。服务器基于每个实体对应各种实体类别的数目,判定语句中每个实体的实体类别,具体可以由服务器将同一实体中数目最多的实体类别确定为该实体的实体类别,从而基于统计结果实现对同一实体中各字符的实体类别判定结果的容差处理,能够有效提高实体类别判定的准确性。
本实施例中,基于统计得到的每个实体对应各种实体类别的数目判定语句中每个实体的实体类别,可以在实体包括多个字符时,减小多个字符的类别判定误差的影响,确保实体类别判定的准确性。
在一个实施例中,命名实体识别方法通过命名实体识别模型实现,命名实体识别模型是基于模型训练步骤得到的,模型训练步骤包括:获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;基于命名实体识别结果、实体位置标签和实体类别标签确定的模型损失对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
其中,训练语句携带提前标注实体位置标签和实体类别标签,训练字符特征为组成训练语句的训练字符对应的特征,训练字符特征携带了对应训练字符的语义特征,基于该语义特征可以对训练字符的实体类别、实体位置进行分析识别。训练字符特征集合由训练语句的各训练字符特征组成。具体地,训练字符特征为训练字向量时,训练语句中各训练字符对应的训练字向量组成训练字向量组,该训练字向量组即为训练语句的训练字符特征集合。具体地,服务器获取携带实体位置标签和实体类别标签的训练语句,服务器对获得的训练语句进行字符特征提取,得到训练语句的训练字符特征,具体可以通过预训练语音模型,如BERT、RoBERTa、ELECTRA、XLNET等,对训练语句进行训练字符特征映射,以将训练语句中各训练字符映射为训练字符特征,得到训练语句对应的训练字符特征集合。
进一步地,待训练的命名实体识别模型包括实体位置抽取分支和实体类别判定分支。通过实体位置抽取分支基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置。具体地,服务器通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于该训练字符特征集合进行实体位置抽取,具体可以将训练字符特征集合输入命名实体识别模型的实体位置抽取分支中进行实体位置抽取处理,得到由实体位置抽取分支输出的训练语句中各实体的实体位置。
进一步地,其中,实体类别判定分支用于对训练语句进行实体类别判定,确定训练语句中各实体对应的实体类别。具体地,服务器通过待训练的命名实体识别模型所包括的实体类别判定分支基于训练字符特征集合进行实体类别映射,确定训练字符特征集合中字符特征相应字符所对应的实体类别,再结合训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符,根据每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别。其中,训练语句对应的实体词掩码序列为非0即1的序列,其反映了训练语句中各字符是否为实体,即训练语句中有实体的位置为1,无实体的位置为0。实体词掩码序列可以根据训练语句的实体位置标签得到,如根据训练语句的实体位置标签将训练语句中各字符映射成0或1,得到训练语句对应的实体词掩码序列。
进一步地,得到训练语句中实体的实体类别和实体位置后,服务器融合各实体的实体类别和实体位置,得到训练语句的命名实体识别结果,训练语句的命名实体识别结果为待训练模型训练时针对训练语句的识别输出。得到训练语句的命名实体识别结果后,结合训练语句携带的实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,如调整实体位置抽取分支和实体类别判定分支中的权重参数后继续进行训练,直至模型训练结束,如模型输出精度满足预设要求或训练次数满足预设要求时结束训练,得到训练完成的命名实体识别模型。训练完成的命名实体识别模型可以根据输入的待识别的语句的字符特征集合进行实体位置抽取和实体类别判定,并根据待识别的语句中实体的实体类别和实体位置得到命名实体识别结果,从而实现对待识别语句的命名实体识别处理。
在一个实施例中,提供了一种命名实体识别方法,该方法应用于医疗领域的命名实体识别应用场景。命名实体识别任务是自然语言处理任务中重要的底层技术,医疗命名实体识别模型可以广泛的应用到各种NLP下游任务中,提升机器学习模型在下游任务上的表现。在实际业务场景中,包括但不限于:医疗预问诊系统、医疗知识图谱构建系统、医疗问答系统、智能分诊助手等。以医疗预问诊系统为例,本实施例中提出的命名实体识别方法可以先从用户的输入序列中抽取出细粒度的医学实体词,例如病征、疾病史、患者情况等,这些信息的准确识别可以辅助医疗知识图谱中定位到准确的医学实体,从而利用知识图谱的能力对用户的输入序列生成合适准确的回答,达到对用户病情的预问诊目的。具体地,该命名实体识别方法在该应用场景的应用如下:
目前的命名实体识别方法中,命名实体识别模型为预训练语言模型与CRF相结合的单任务模型,用B(Begin)、I(Intermediate)、O(Others)、E(End)、S(Single)表示文本中字符在实体中的位置,然后拼接上类别的标签,最终形成NER任务的标签。模型的训练目标停留于粗粒度层面,将实体位置抽取和实体类别判定混杂在一起,使得模型耦合度较高,引入了过多的标签,导致任务学习难度增加,使得其在医疗领域高质量训练样本缺乏的情况下,所抽取实体的准确性较差,同时使模型内部的结构过于复杂,如模型中CRF层的转移矩阵的复杂度过高,使得训练速度大幅下降。一般地,NER任务是在token-level(令牌级别)对输入文本进行分类,即每个字符可以当作一个待分类的样本。目前的命名实体识别方法在NER任务中引入的标签数为:4*N+1,N为实体类别数,而且,CRF层需要学习一个形状为(4N+3,4N+3)的转移矩阵。
如图4所示,本实施例提供的命名实体识别方法,包括实体位置抽取和实体类别判定两个分支,实体位置抽取分支如图4左侧虚线部分,实体类别判定分支如图4右侧虚线部分。模型引入的标签包括实体位置抽取的标签和实体类别判定分支的标签,其中,实体位置抽取的标签数为5,即BIOES。其中,BIOES是一种命名实体标注方法,B表示字符处于一个实体的开始(Begin),I表示内部(inside),O表示外部(outside),E表示字符处于一个实体的结束为止,S(Single)表示,字符是自己就可以组成一个单字符实体。转移矩阵中的各元素数值代表从标签A转移到标签B的概率,即各标签之间的时序相关程度。实体类别判定分支的标签数为N,N为实体类别数,具体根据实际需求进行设置,例如可以设N=6。在N取6时,本实施例中引入的标签数为N+5=11,而现有方法引入的标签数为4N+1=25。显然,标签数减少了一倍以上,且两者之间的差距将与实体类别数N的增加成正比。并且,本实施例以更细粒度的视角将模型分解为两个部分,通过多任务的形式共享BERT编码层,两个任务相辅相成,相比现有单任务的方法增加了模型的可解释性,有效的提高了模型结果的准确率,同时加快了训练速度。
具体地,获取待识别的语句B“患者痛,服用奥美拉唑治疗”,其中,下划线且斜体的字符为命名实体。由预训练语言模型(如BERT、RoBERTa等)将输入序列,即待识别语句映射为字向量,字向量中隐含着该序列中每一个字符的语义表征。本实施例中采用BERT作为预训练语言模型,BERT是一种预训练语言模型,通过大量的语料进行自编码预训练,学习到的词或字向量表征可以帮助下游自然语言处理任务提升性能。而后对于实体位置抽取分支,将输入序列对应的组向量经线性变换后输入CRF层,CRF层可以获得形状为(tag_size+2,tag_size+2)的转移矩阵,即(tag_size+2)×(tag_size+2)的转移矩阵,tag_size即为需标注的标签数量,在本实施例中为BIOES。
对于实体类别判定分支,与实体位置抽取分支共享预训练语言模型映射出的字向量。实体类别判定分支利用字向量所包含的语义信息,通过线性变换将字向量最后一维映射到cls_size,cls_size即实体类别数。此时该实体类别判定任务为多分类任务,经过分类器,如Softmax分类器处理后取每一个token,即语句中每个字符所对应的最大概率,得到每个字符的类别。进一步地,如图5所示,实体类别判定分支确定语句中每个实体的实体类别时,还结合实体位置抽取分支确定的实体位置进行推断。此外,实体位置抽取分支也可以采用与实体类别判定分支相同的模型结果,即采用分类器实现实体位置抽取。具体地,输入序列经过实体位置抽取分支和实体类别判定分支分别进行处理时,实体位置抽取分支确定语句中各实体的实体位置,还包括语句开始位置和结束位置,实体类别判定分支确定语句中各字符对应的实体类别,实体类别判定分支结合实体位置抽取分支确定的实体位置,根据每个实体所包括的字符中最多的实体类别确定该实体的实体类别,从而确定语句中各实体对应的实体类别,最后综合实体位置和实体类别得到语句的命名实体识别结果。
如图4所示,输入序列“患者痛,服用奥美拉唑治疗”经过实体位置抽取后得到的实体位置结果包括“O O S O O O O B I I E O O”,即对于输入序列中的13个字符,第3个字符以及第8-11个字符为命名实体,具体地3个字符为单实体的字符,第8个字符为命名实体的起始字符,第9-10个字符为命名实体的内部字符,第11个字符为命名实体的结束字符。另一方面,实体类别判定分支得到的结果为“N N解剖部位N N N N药品药品药品药品N N”,即第3个字符为解剖部位的命名实体,第8-11个字符为药品的命名实体。综合实体位置抽取分支和实体类别判定分支的结果,得到输入序列的命名实体识别结果为“O O S-解剖部位OO O O B-药品I-药品I-药品E-药品O O”。
本实施例提供的命名实体识别方法,基于迁移学习和多任务学习(Multi-TaskLearning)理论,将命名实体识别分解为两个子任务,其一是实体位置抽取,即对非结构化文本进行标注,找出实体的位置;其二是实体类别判定,即判定被标注出的实体的类别。两子任务共享预训练语言模型对输入文本的编码向量,从而以更细粒度的视角分解模型,提升了模型预测实体的准确性。其中,多任务学习目标是在一个端到端的神经网络模型中实现多个任务目标。这些子任务之间富含了丰富的关联信息,使得模型能够更好的学习目标间的相关性,提升模型的泛化性能。
具体地,如下表1所示,为从评测指标和实例数据两个方面进行了实验和分析的结果。
表1
模型 准确率/召回率/F1值 训练时间
传统方法模型 83.02/84.44/83.72 150分
本实施例方法模型 89.27/84.57/86.81 80分
可见,在保持召回率(Recall)稳定的情况下,相比于传统方法,本实施例方法的模型大幅提高了抽取实体的准确率(Precision),这意味着本实施例的模型抽取结果与现有方案相比减少了大量的错误实体,在将模型应用到自然语言处理任务底层时,将大大减少传递给下游任务的误差。同时,本实施例所用的模型结构在结果优于现有技术的前提下,加快了模型训练速度,所节省的时间将与数据量的增加成正比。
进一步地,在实例数据方面,通过随机抽取模型预测的两组结果,如下表2所示。
表2
Figure GDA0003772115360000191
Figure GDA0003772115360000201
Figure GDA0003772115360000211
可见,本实施例模型能够抽取出输入文本序列中所包含的大部分实体。由于细粒度的任务分解,实体位置抽取更加准确,减少了结果中的错误实体,比传统方法取得了更优的表现。
在一个实施例中,如图6所示,提供了一种命名实体识别模型处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤602,获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合。
其中,训练语句携带提前标注实体位置标签和实体类别标签,训练字符特征为组成训练语句的训练字符对应的特征,训练字符特征携带了对应训练字符的语义特征,基于该语义特征可以对训练字符的实体类别、实体位置进行分析识别。训练字符特征集合由训练语句的各训练字符特征组成。具体地,训练字符特征为训练字向量时,训练语句中各训练字符对应的训练字向量组成训练字向量组,该训练字向量组即为训练语句的训练字符特征集合。
具体地,服务器获取携带实体位置标签和实体类别标签的训练语句,服务器对获得的训练语句进行字符特征提取,得到训练语句的训练字符特征,具体可以通过预训练语音模型,如BERT、RoBERTa、ELECTRA、XLNET等,对训练语句进行训练字符特征映射,以将训练语句中各训练字符映射为训练字符特征,得到训练语句对应的训练字符特征集合。
步骤604,通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置。
待训练的命名实体识别模型可以包括实体位置抽取分支和实体类别判定分支。通过实体位置抽取分支基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置。具体地,服务器通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于该训练字符特征集合进行实体位置抽取,具体可以将训练字符特征集合输入命名实体识别模型的实体位置抽取分支中进行实体位置抽取处理,得到由实体位置抽取分支输出的训练语句中各实体的实体位置。
步骤606,通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别。
其中,命名实体识别模型可以包括实体类别判定分支,用于对训练语句进行实体类别判定,确定训练语句中各实体对应的实体类别。具体地,服务器通过待训练的命名实体识别模型所包括的实体类别判定分支基于训练字符特征集合进行实体类别映射,确定训练字符特征集合中字符特征相应字符所对应的实体类别,再结合训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符,根据每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别。其中,训练语句对应的实体词掩码序列为非0即1的序列,其反映了训练语句中各字符是否为实体,即训练语句中有实体的位置为1,无实体的位置为0。实体词掩码序列可以根据训练语句的实体位置标签得到,如根据训练语句的实体位置标签将训练语句中各字符映射成0或1,得到训练语句对应的实体词掩码序列。
步骤608,根据训练语句中实体的实体类别和实体位置得到命名实体识别结果。
得到训练语句中实体的实体类别和实体位置后,服务器融合各实体的实体类别和实体位置,得到训练语句的命名实体识别结果,训练语句的命名实体识别结果为待训练模型训练时针对训练语句的识别输出。
步骤610,基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
得到训练语句的命名实体识别结果后,结合训练语句携带的实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,如调整实体位置抽取分支和实体类别判定分支中的权重参数后继续进行训练,直至模型训练结束,如模型输出精度满足预设要求或训练次数满足预设要求时结束训练,得到训练完成的命名实体识别模型。训练完成的命名实体识别模型可以根据输入的待识别的语句的字符特征集合进行实体位置抽取和实体类别判定,并根据待识别的语句中实体的实体类别和实体位置得到命名实体识别结果,从而实现对待识别语句的命名实体识别处理。
上述命名实体识别模型处理方法,分别通过待训练的命名实体识别模型所包括的实体位置抽取分支基于训练语句对应的训练字符特征集合进行实体位置抽取,通过待训练的命名实体识别模型所包括的实体类别判定分支基于训练字符特征集合进行实体类别映射,基于每个实体所包括的每个字符所对应的实体类别对每个实体的实体类别进行判定,根据通过实体位置抽取分支获得的实体位置和通过实体类别判定分支获得的实体类别得到命名实体识别结果,并基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至训练结束得到训练完成的命名实体识别模型。在模型处理过程中,由待训练的命名实体识别模型所包括的实体位置抽取分支对训练语句进行实体位置抽取,由实体类别判定分支分别对训练语句进行实体类别判定,从而将命名实体识别任务拆分,降低了模型的耦合度,且由实体位置抽取分支和实体类别判定分支可以获得细化程度高的细粒度特征,提高了通过训练完成的命名实体识别模型进行命名实体识别处理的准确性。
在一个实施例中,基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型,包括:基于命名实体识别结果中的实体位置和实体位置标签确定实体位置抽取分支的实体位置抽取损失;基于命名实体识别结果中的实体类别和实体类别标签确定实体类别判定分支的实体类别判定损失;将实体位置抽取损失和实体类别判定损失进行加权处理,得到模型损失;基于模型损失对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
其中,实体位置抽取损失为实体位置抽取分支进行实体位置抽取处理的损失,其反应了实体位置抽取分支进行实体位置抽取处理的性能。实体位置抽取损失根据命名实体识别结果中的实体位置和实体位置标签确定得到。实体类别判定损失基于命名实体识别结果中的实体类别和实体类别标签确定得到,其反映了实体类别判定分支进行实体类别判定处理的性能。
具体地,在根据训练语句的命名实体识别结果结合训练语句的实体位置标签和实体类别标签对模型进行更新时,服务器基于命名实体识别结果中的实体位置和实体位置标签确定实体位置抽取分支的实体位置抽取损失,基于命名实体识别结果中的实体类别和实体类别标签确定实体类别判定分支的实体类别判定损失,并将实体位置抽取损失和实体类别判定损失进行加权处理,得到模型损失,模型损失根据实体位置抽取分支和实体类别判定分支分别的损失加权得到,其反映了待训练的命名实体识别模型进行命名实体识别处理的性能。服务器基于模型损失对命名实体识别模型的参数调整后继续进行训练,如服务器基于模型损失判定是否结束命名实体识别模型的训练,若否,则基于模型损失调整命名实体识别模型的参数后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
本实施例中,根据实体位置抽取分支和实体类别判定分支分别的损失加权得到能够准确反映命名实体识别模型整体性能的模型损失,基于该模型损失对命名实体识别模型的训练进行指导,能够有效提高训练得到的命名实体识别模型的识别能力,提高命名实体识别的准确性。
在一个实施例中,基于命名实体识别结果中的实体位置和实体位置标签确定实体位置抽取分支的实体位置抽取损失,包括:基于命名实体识别结果中的实体位置确定实体位置转移路径概率;基于命名实体识别结果中的实体位置和实体位置标签的对比结果,确定实体位置标注路径概率;根据实体位置标注路径概率和实体位置转移路径概率的比值获得实体位置抽取分支的实体位置抽取损失。
具体地,对于实体位置抽取分支的实体位置抽取损失,服务器基于命名实体识别结果中的实体位置确定实体位置转移路径概率,实体位置转移路径概率包括了实体位置所有可能路径的概率。服务器基于命名实体识别结果中的实体位置和实体位置标签的对比结果,确定实体位置标注路径概率,实体位置标注路径概率为训练语句真实标注路径的概率。得到实体位置转移路径概率和实体位置标注路径概率后,服务器根据实体位置标注路径概率和实体位置转移路径概率的比值获得实体位置抽取分支的实体位置抽取损失。具体地,可以根据实体位置标注路径概率和实体位置转移路径概率的比值的对数取反后作为实体位置抽取分支的实体位置抽取损失。
在一个实施例中,基于命名实体识别结果中的实体类别和实体类别标签确定实体类别判定分支的实体类别判定损失,包括:根据训练语句对应的实体词掩码序列从命名实体识别结果中确定训练语句中实体字符所对应的实体类别;根据训练语句中实体字符所对应的实体类别和实体字符对应的实体类别标签,获得实体类别判定分支的实体类别判定损失。
具体地,对于实体类别判定分支的实体类别判定损失,服务器根据训练语句对应的实体词掩码序列从命名实体识别结果中确定训练语句中实体字符所对应的实体类别,即实体类别判定损失可以只根据训练语句中的真实实体进行计算,而不考虑训练语句中非实体的字符。进一步地,服务器根据训练语句中实体字符所对应的实体类别和实体字符对应的实体类别标签,获得实体类别判定分支的实体类别判定损失。具体地,对于每种实体类别,可以由服务器根据实体类别标签和训练语句中实体字符所对应的实体类别之间的交叉熵得到实体类别判定损失。
本实施例中,只根据训练语句中的真实实体确定实体类别判定损失,而不考虑训练语句中非实体的字符,可以有效减少实体类别判定损失计算的数据量,提高实体类别判定损失计算的处理效率。
在一个实施例中,将实体位置抽取损失和实体类别判定损失进行加权处理,得到模型损失,包括:获取基于实体位置抽取损失对应的位置抽取噪声参数确定的位置抽取置信度参数和位置抽取正则化参数;获取基于实体类别判定损失对应的类别判定噪声参数确定的类别判定置信度参数和类别判定正则化参数;通过位置抽取置信度参数对实体位置抽取损失进行加权处理,得到实体位置抽取加权损失;通过类别判定置信度参数对实体类别判定损失进行加权处理,得到实体类别判定加权损失;根据实体位置抽取加权损失、实体类别判定加权损失、位置抽取正则化参数和类别判定正则化参数得到模型损失。
本实施例中,基于同方差不确定性(Homoscedastic Uncertainty)的自适应权重对实体位置抽取损失和实体类别判定损失进行加权处理。其中,同方差不确定性是随机不确定性(Aleatoric uncertainty)的一个子类,指的是观测中固有的噪音。有时事件本身就是随机的,所以在这种情况下,获取更多的数据对模型训练并没有帮助,因为噪声属于数据固有的,而同方差不确定性是随机不确定性中与任务相关联的部分,即相同的数据噪声在不同任务中的引发的不确定性。
具体地,服务器获取基于实体位置抽取损失对应的位置抽取噪声参数确定的位置抽取置信度参数和位置抽取正则化参数,以及基于实体类别判定损失对应的类别判定噪声参数确定的类别判定置信度参数和类别判定正则化参数。其中,置信度参数和正则化参数可以根据噪声参数确定,噪声参数为可学习参数,其物理意义为相同数据在不同任务中的不确定性噪声。进一步地,噪声越大,子任务结果的置信度越低,子任务的损失占比就越低;而在梯度下降过程中,通过正则化参数对噪声参数学习进行约束,以防止模型训练过拟合。
进一步地,服务器通过位置抽取置信度参数对实体位置抽取损失进行加权处理,得到实体位置抽取加权损失,且通过类别判定置信度参数对实体类别判定损失进行加权处理,得到实体类别判定加权损失,具体可以由服务器根据位置抽取置信度参数与实体位置抽取损失的乘积得到实体位置抽取加权损失,根据类别判定置信度参数与实体类别判定损失的乘积得到实体类别判定加权损失。服务器根据的得到的实体位置抽取加权损失、实体类别判定加权损失、位置抽取正则化参数和类别判定正则化参数得到模型损失。具体可以根据实体位置抽取加权损失、实体类别判定加权损失、位置抽取正则化参数和类别判定正则化参数的和得到模型损失。模型损失综合了实体位置抽取分支和实体类别判定分支的损失,可以有效反映命名实体模型整体的性能。
本申请还提供一种应用场景,该应用场景应用上述的模型处理方法。具体地,该模型处理方法在该应用场景的应用如下:
如图7所示,待训练的命名实体识别模型包括实体位置抽取分支和实体类别判定分支,模型训练时,待训练的命名实体识别模型接收两个输入,分别为输入训练语句和实体词MASK,实体词MASK为训练语句对应的实体词掩码序列。其中,实体位置抽取分支只需要用到输入的训练语句,通过预训练语言模型后得到的字向量组形状为(seq_len,hidden_size)。其中seq_len为输入的训练语句的序列长度,hidden_size的各维度存储向量包含的语义信息。进一步地,对字向量组做线性变换,将其映射为(seq_len,tag_size),tag_size即需标注的实体位置标签数量,将组向量输入CRF层中进行实体位置抽取处理,并根据实体位置抽取分支确定实体位置和实体位置标签确定实体位置抽取分支的实体位置抽取损失。实体位置抽取损失Loss1具体如下式(1),
Figure GDA0003772115360000271
其中,PRealPath为真实标注路径的概率,P1+P2+…+Pn为概率图模型的归一化因子,即所有可能路径的概率之和,其计算服从马尔可夫假设。其中,马尔可夫假设基于马尔可夫链(Markov chain)确定,马尔可夫链为状态空间中从一个状态到另一个状态的转换的随机过程,该过程要求具备“无记忆”的性质,即下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫假设。
对于实体类别判定分支,需要用到输入的训练语句和实体词MASK,通过线性变换和Softmax分类器处理后的向量组形状为(seq_len,cls_size)。cls_size的各维度的每一个数值表示当前token,即当前字符对应该类别的概率。而实体词MASK是一个非0即1的序列,即文本序列中有实体的位置为1,无实体的位置为0,在计算交叉熵损失时,只计算实体词MASK为1的部分,即只计算有实体的部分。实体类别判定损失Loss2具体如下式(2),
Figure GDA0003772115360000281
其中,x为训练语句中的字符,即当前token;c为当前实体类别,yc为真实标签,即为实体类别标签;j为所有的实体类别,
Figure GDA0003772115360000282
为对数似然概率。
得到实体位置抽取分支的实体位置抽取损失和实体类别判定分支的实体类别判定损失后,将实体位置抽取损失和实体类别判定损失进行加权处理以对模型进行再优化。最简单方式为设置两个阈值进行加权求和,如下式(3),
Loss=threshold1*Loss1+threshold2*Loss2 (3)
其中,threshold1为实体位置抽取分支的损失阈值,threshold2为实体类别判定分支的损失阈值。然而,不同的阈值对于任务的结果影响较大,预先设置阈值难以对模型进行有效的调优。
基于此,本实施例采用基于同方差不确定性的自适应权重对实体位置抽取损失和实体类别判定损失进行加权处理。具体如下式(4),
Figure GDA0003772115360000283
其中,σ为可学习参数,其物理意义为相同数据在不同任务中的不确定性噪声。噪声越大,子任务结果的置信度越低,子任务的损失占比就越低。对数项起到的是正则化的作用,即Loss的梯度下降过程中,Loss的权重部分期望σ增大,而对数部分则期望σ减小,对σ的学习过程有一定的约束作用,可以提高模型训练效果。
本实施例中,实体位置抽取和实体类别判定两子任务共享预训练语言模型对输入文本的编码向量,自适应的对损失进行加权优化,在降低现有方法耦合度,加快模型训练速度的同时,以更细粒度的视角分解模型,提升了模型预测实体的准确性。而且。以多任务、细粒度的方式降低了模型耦合度,减少了引入标签的数量和CRF层中转移矩阵的复杂度,前者使得任务难度下降,让模型所抽取的实体结果准确率提升;后者则大大加快了模型训练的速度。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种命名实体识别装置800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:语句特征提取模块802、实体位置抽取模块804、实体类别判定模块806和识别结果获得模块808,其中:
语句特征提取模块802,用于获取待识别的语句,提取语句的字符特征,获得字符特征集合;
实体位置抽取模块804,用于基于字符特征集合进行实体位置抽取,得到语句中各实体的实体位置;
实体类别判定模块806,用于基于字符特征集合进行实体类别映射,确定语句中各字符对应的实体类别;基于实体位置,确定语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定语句中每个实体的实体类别;
识别结果获得模块808,用于根据语句中实体的实体类别和实体位置得到命名实体识别结果。
在一个实施例中,实体位置抽取模块804包括特征映射模块、实体位置特征模块和实体位置确定模块;其中:特征映射模块,用于通过命名实体识别模型所包括的实体位置抽取分支对字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合;实体位置特征模块,用于通过实体位置抽取分支对字符映射特征集合进行特征提取,得到实体位置特征;实体位置确定模块,用于基于实体位置特征确定语句中各实体的实体位置。
在一个实施例中,字符特征包括字向量,字符特征集合包括字向量组;特征映射模块,还用于通过命名实体识别模型所包括的实体位置抽取分支对字向量组中的各字向量进行线性变换,获得字线性向量组;实体位置特征模块,还用于通过实体位置抽取分支对字线性向量组进行条件随机场分析,得到实体位置转移矩阵;转移矩阵中的各元素表征实体位置转移概率。
在一个实施例中,实体类别判定模块806包括实体类别特征模块、实体类别概率模块和实体类别确定模块;其中:实体类别特征模块,用于通过命名实体识别模型所包括的实体类别判定分支对字符特征集合中各字符特征进行特征映射,得到语句中各字符对应的实体类别特征;实体类别概率模块,用于通过实体类别判定分支对各实体类别特征进行概率映射,获得语句中各字符对应的实体类别概率;实体类别确定模块,用于基于实体类别概率确定语句中各字符对应的实体类别。
在一个实施例中,实体类别判定模块806包括实体类别统计模块和统计结果分析模块;其中:实体类别统计模块,用于统计每个实体所包括的每个字符所对应的实体类别,得到每个实体对应各种实体类别的数目;统计结果分析模块,用于基于每个实体对应各种实体类别的数目,判定语句中每个实体的实体类别。
在一个实施例中,还包括训练语句获取模块、位置抽取分支训练模块、类别判定分支训练模块、模型训练结果模块和模型更新模块;其中:训练语句获取模块,用于获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;位置抽取分支训练模块,用于通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;类别判定分支训练模块,用于通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;模型训练结果模块,用于根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;模型更新模块,用于基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
在一个实施例中,如图9所示,提供了一种命名实体识别模型处理装置900,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:训练语句获取模块902、位置抽取分支训练模块904、类别判定分支训练模块906、模型训练结果模块908和模型更新模块910,其中:
训练语句获取模块902,用于获取携带实体位置标签和实体类别标签的训练语句,提取训练语句的训练字符特征,获得训练字符特征集合;
位置抽取分支训练模块904,用于通过待训练的命名实体识别模型所包括的实体位置抽取分支,基于训练字符特征集合进行实体位置抽取,得到训练语句中各实体的实体位置;
类别判定分支训练模块906,用于通过命名实体识别模型所包括的实体类别判定分支,基于训练字符特征集合进行实体类别映射,确定训练语句中各字符对应的实体类别;基于训练语句对应的实体词掩码序列,确定训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别,判定训练语句中每个实体的实体类别;
模型训练结果模块908,用于根据训练语句中实体的实体类别和实体位置得到命名实体识别结果;
模型更新模块910,用于基于命名实体识别结果、实体位置标签和实体类别标签对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
在一个实施例中,模型更新模块910包括位置抽取损失模块、类别判定损失模块、损失加权处理模块和参数更新模块;其中:位置抽取损失模块,用于基于命名实体识别结果中的实体位置和实体位置标签确定实体位置抽取分支的实体位置抽取损失;类别判定损失模块,用于基于命名实体识别结果中的实体类别和实体类别标签确定实体类别判定分支的实体类别判定损失;损失加权处理模块,用于将实体位置抽取损失和实体类别判定损失进行加权处理,得到模型损失;参数更新模块,用于基于模型损失对命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
在一个实施例中,位置抽取损失模块包括转移路径概率模块、标注路径概率模块和位置抽取损失确定模块;其中:转移路径概率模块,用于基于命名实体识别结果中的实体位置确定实体位置转移路径概率;标注路径概率模块,用于基于命名实体识别结果中的实体位置和实体位置标签的对比结果,确定实体位置标注路径概率;位置抽取损失确定模块,用于根据实体位置标注路径概率和实体位置转移路径概率的比值获得实体位置抽取分支的实体位置抽取损失。
在一个实施例中,类别判定损失模块包括实体字符筛选模块和类别判定损失确定模块;其中:实体字符筛选模块,用于根据训练语句对应的实体词掩码序列从命名实体识别结果中确定训练语句中实体字符所对应的实体类别;类别判定损失确定模块,用于根据训练语句中实体字符所对应的实体类别和实体字符对应的实体类别标签,获得实体类别判定分支的实体类别判定损失。
在一个实施例中,损失加权处理模块包括位置分支参数获取模块、类别分支参数获取模块、位置加权损失确定模块、类别加权损失确定模块和模型损失确定模块;其中:位置分支参数获取模块,用于获取基于实体位置抽取损失对应的位置抽取噪声参数确定的位置抽取置信度参数和位置抽取正则化参数;类别分支参数获取模块,用于获取基于实体类别判定损失对应的类别判定噪声参数确定的类别判定置信度参数和类别判定正则化参数;位置加权损失确定模块,用于通过位置抽取置信度参数对实体位置抽取损失进行加权处理,得到实体位置抽取加权损失;类别加权损失确定模块,用于通过类别判定置信度参数对实体类别判定损失进行加权处理,得到实体类别判定加权损失;模型损失确定模块,用于根据实体位置抽取加权损失、实体类别判定加权损失、位置抽取正则化参数和类别判定正则化参数得到模型损失。
关于命名实体识别装置的具体限定可以参见上文中对于命名实体识别方法的限定,在此不再赘述。关于模型处理装置的具体限定可以参见上文中对于模型处理方法的限定,在此不再赘述。上述命名实体识别装置或模型处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种命名实体识别方法或模型处理装置。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (24)

1.一种命名实体识别方法,其特征在于,所述方法包括:
获取待识别的语句,提取所述语句的字符特征,获得字符特征集合;
通过命名实体识别模型所包括的实体位置抽取分支对所述字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合;
通过所述实体位置抽取分支对所述字符映射特征集合进行特征提取,得到实体位置特征;所述实体位置特征用于表征所述语句中各字符的实体位置信息;
基于所述实体位置特征确定所述语句中各实体的实体位置;
通过所述命名实体识别模型所包括的实体类别判定分支对所述字符特征集合中各字符特征进行特征映射,得到所述语句中各字符对应的实体类别特征;
通过所述实体类别判定分支对各所述实体类别特征进行概率映射,获得所述语句中各字符对应的实体类别概率;
基于所述实体类别概率确定所述语句中各字符对应的实体类别;基于所述实体位置,确定所述语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述语句中每个实体的实体类别;
根据所述语句中所述实体的实体类别和实体位置得到命名实体识别结果。
2.根据权利要求1所述的方法,其特征在于,所述通过所述实体位置抽取分支对所述字符映射特征集合进行特征提取,得到实体位置特征,包括:
通过所述实体位置抽取分支中的条件随机场层,对所述字符映射特征集合进行特征提取,得到实体位置特征。
3.根据权利要求1所述的方法,其特征在于,所述字符特征包括字向量,所述字符特征集合包括字向量组;所述通过命名实体识别模型所包括的实体位置抽取分支对所述字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合,包括:
通过命名实体识别模型所包括的实体位置抽取分支对所述字向量组中的各字向量进行线性变换,获得字线性向量组;
所述通过所述实体位置抽取分支对所述字符映射特征集合进行特征提取,得到实体位置特征,包括:
通过所述实体位置抽取分支对字线性向量组进行条件随机场分析,得到实体位置转移矩阵;所述转移矩阵中的各元素表征实体位置转移概率。
4.根据权利要求1所述的方法,其特征在于,所述通过所述命名实体识别模型所包括的实体类别判定分支对所述字符特征集合中各字符特征进行特征映射,得到所述语句中各字符对应的实体类别特征,包括:
通过所述命名实体识别模型所包括的实体类别判定分支,对所述字符特征集合中各字符特征进行线性变换,得到所述语句中各字符对应的实体类别特征。
5.根据权利要求1所述的方法,其特征在于,所述基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述语句中每个实体的实体类别,包括:
统计每个实体所包括的每个字符所对应的实体类别,得到每个实体对应各种实体类别的数目;
基于每个实体对应各种实体类别的数目,判定所述语句中每个实体的实体类别。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述命名实体识别方法通过命名实体识别模型实现,所述命名实体识别模型是基于模型训练步骤得到的,所述模型训练步骤包括:
获取携带实体位置标签和实体类别标签的训练语句,提取所述训练语句的训练字符特征,获得训练字符特征集合;
通过待训练的命名实体识别模型所包括的实体位置抽取分支,对所述训练字符特征集合中的各字符特征进行特征映射,获得训练字符映射特征集合;通过所述实体位置抽取分支对所述训练字符映射特征集合进行特征提取,得到训练实体位置特征;所述训练实体位置特征用于表征所述训练语句中各字符的实体位置信息;基于所述训练实体位置特征确定所述训练语句中各实体的实体位置;
通过所述命名实体识别模型所包括的实体类别判定分支,对所述训练字符特征集合中各字符特征进行特征映射,得到所述训练语句中各字符对应的训练实体类别特征;通过所述实体类别判定分支对各所述训练实体类别特征进行概率映射,获得所述训练语句中各字符对应的训练实体类别概率;基于所述训练实体类别概率确定所述训练语句中各字符对应的实体类别;基于所述训练语句对应的实体词掩码序列,确定所述训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述训练语句中每个实体的实体类别;
根据所述训练语句中所述实体的实体类别和实体位置得到命名实体识别结果;
基于所述命名实体识别结果、所述实体位置标签和所述实体类别标签确定的模型损失对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
7.一种命名实体识别模型处理方法,其特征在于,所述方法包括:
获取携带实体位置标签和实体类别标签的训练语句,提取所述训练语句的训练字符特征,获得训练字符特征集合;
通过待训练的命名实体识别模型所包括的实体位置抽取分支,对所述训练字符特征集合中的各字符特征进行特征映射,获得训练字符映射特征集合;通过所述实体位置抽取分支对所述训练字符映射特征集合进行特征提取,得到训练实体位置特征;所述训练实体位置特征用于表征所述训练语句中各字符的实体位置信息;基于所述训练实体位置特征确定所述训练语句中各实体的实体位置;
通过所述命名实体识别模型所包括的实体类别判定分支,对所述训练字符特征集合中各字符特征进行特征映射,得到所述训练语句中各字符对应的训练实体类别特征;通过所述实体类别判定分支对各所述训练实体类别特征进行概率映射,获得所述训练语句中各字符对应的训练实体类别概率;基于所述训练实体类别概率确定所述训练语句中各字符对应的实体类别;基于所述训练语句对应的实体词掩码序列,确定所述训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述训练语句中每个实体的实体类别;
根据所述训练语句中所述实体的实体类别和实体位置得到命名实体识别结果;
基于所述命名实体识别结果、所述实体位置标签和所述实体类别标签对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
8.根据权利要求7所述的方法,其特征在于,所述基于所述命名实体识别结果、所述实体位置标签和所述实体类别标签对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型,包括:
基于所述命名实体识别结果中的实体位置和所述实体位置标签确定所述实体位置抽取分支的实体位置抽取损失;
基于所述命名实体识别结果中的实体类别和所述实体类别标签确定所述实体类别判定分支的实体类别判定损失;
将所述实体位置抽取损失和所述实体类别判定损失进行加权处理,得到模型损失;
基于所述模型损失对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
9.根据权利要求8所述的方法,其特征在于,所述基于所述命名实体识别结果中的实体位置和所述实体位置标签确定所述实体位置抽取分支的实体位置抽取损失,包括:
基于所述命名实体识别结果中的实体位置确定实体位置转移路径概率;
基于所述命名实体识别结果中的实体位置和所述实体位置标签的对比结果,确定实体位置标注路径概率;
根据所述实体位置标注路径概率和所述实体位置转移路径概率的比值获得所述实体位置抽取分支的实体位置抽取损失。
10.根据权利要求8所述的方法,其特征在于,所述基于所述命名实体识别结果中的实体类别和所述实体类别标签确定所述实体类别判定分支的实体类别判定损失,包括:
根据所述训练语句对应的实体词掩码序列从所述命名实体识别结果中确定所述训练语句中实体字符所对应的实体类别;
根据所述训练语句中实体字符所对应的实体类别和所述实体字符对应的实体类别标签,获得所述实体类别判定分支的实体类别判定损失。
11.根据权利要求8至10任意一项所述的方法,其特征在于,所述将所述实体位置抽取损失和所述实体类别判定损失进行加权处理,得到模型损失,包括:
获取基于所述实体位置抽取损失对应的位置抽取噪声参数确定的位置抽取置信度参数和位置抽取正则化参数;
获取基于所述实体类别判定损失对应的类别判定噪声参数确定的类别判定置信度参数和类别判定正则化参数;
通过所述位置抽取置信度参数对所述实体位置抽取损失进行加权处理,得到实体位置抽取加权损失;
通过所述类别判定置信度参数对所述实体类别判定损失进行加权处理,得到实体类别判定加权损失;
根据所述实体位置抽取加权损失、所述实体类别判定加权损失、所述位置抽取正则化参数和所述类别判定正则化参数得到模型损失。
12.一种命名实体识别装置,其特征在于,所述装置包括:
语句特征提取模块,用于获取待识别的语句,提取所述语句的字符特征,获得字符特征集合;
实体位置抽取模块,用于通过命名实体识别模型所包括的实体位置抽取分支对所述字符特征集合中的各字符特征进行特征映射,获得字符映射特征集合;通过所述实体位置抽取分支对所述字符映射特征集合进行特征提取,得到实体位置特征;所述实体位置特征用于表征所述语句中各字符的实体位置信息;基于所述实体位置特征确定所述语句中各实体的实体位置;
实体类别判定模块,用于通过所述命名实体识别模型所包括的实体类别判定分支对所述字符特征集合中各字符特征进行特征映射,得到所述语句中各字符对应的实体类别特征;通过所述实体类别判定分支对各所述实体类别特征进行概率映射,获得所述语句中各字符对应的实体类别概率;基于所述实体类别概率确定所述语句中各字符对应的实体类别;基于所述实体位置,确定所述语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述语句中每个实体的实体类别;
识别结果获得模块,用于根据所述语句中所述实体的实体类别和实体位置得到命名实体识别结果。
13.根据权利要求12所述的装置,其特征在于,所述实体位置抽取模块包括:
实体位置特征模块,用于通过所述实体位置抽取分支中的条件随机场层,对所述字符映射特征集合进行特征提取,得到实体位置特征。
14.根据权利要求12所述的装置,其特征在于,所述字符特征包括字向量,所述字符特征集合包括字向量组;
特征映射模块,还用于通过命名实体识别模型所包括的实体位置抽取分支对所述字向量组中的各字向量进行线性变换,获得字线性向量组;
所述实体位置特征模块,还用于通过所述实体位置抽取分支对字线性向量组进行条件随机场分析,得到实体位置转移矩阵;所述转移矩阵中的各元素表征实体位置转移概率。
15.根据权利要求12所述的装置,其特征在于,所述实体类别判定模块包括:
实体类别特征模块,用于通过所述命名实体识别模型所包括的实体类别判定分支,对所述字符特征集合中各字符特征进行线性变换,得到所述语句中各字符对应的实体类别特征。
16.根据权利要求12所述的装置,其特征在于,所述实体类别判定模块包括:
实体类别统计模块,用于统计每个实体所包括的每个字符所对应的实体类别,得到每个实体对应各种实体类别的数目;
统计结果分析模块,用于基于每个实体对应各种实体类别的数目,判定所述语句中每个实体的实体类别。
17.根据权利要求12至16任意一项所述的装置,其特征在于,还包括:
训练语句获取模块,用于获取携带实体位置标签和实体类别标签的训练语句,提取所述训练语句的训练字符特征,获得训练字符特征集合;
位置抽取分支训练模块,用于通过待训练的命名实体识别模型所包括的实体位置抽取分支,对所述训练字符特征集合中的各字符特征进行特征映射,获得训练字符映射特征集合;通过所述实体位置抽取分支对所述训练字符映射特征集合进行特征提取,得到训练实体位置特征;所述训练实体位置特征用于表征所述训练语句中各字符的实体位置信息;基于所述训练实体位置特征确定所述训练语句中各实体的实体位置;
别判定分支训练模块,用于通过所述命名实体识别模型所包括的实体类别判定分支,对所述训练字符特征集合中各字符特征进行特征映射,得到所述训练语句中各字符对应的训练实体类别特征;通过所述实体类别判定分支对各所述训练实体类别特征进行概率映射,获得所述训练语句中各字符对应的训练实体类别概率;基于所述训练实体类别概率确定所述训练语句中各字符对应的实体类别;基于所述训练语句对应的实体词掩码序列,确定所述训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述训练语句中每个实体的实体类别;
模型训练结果模块,用于根据所述训练语句中所述实体的实体类别和实体位置得到命名实体识别结果;
模型更新模块,用于基于所述命名实体识别结果、所述实体位置标签和所述实体类别标签确定的模型损失对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
18.一种命名实体识别模型处理装置,其特征在于,所述装置包括:
训练语句获取模块,用于获取携带实体位置标签和实体类别标签的训练语句,提取所述训练语句的训练字符特征,获得训练字符特征集合;
位置抽取分支训练模块,用于通过待训练的命名实体识别模型所包括的实体位置抽取分支,对所述训练字符特征集合中的各字符特征进行特征映射,获得训练字符映射特征集合;通过所述实体位置抽取分支对所述训练字符映射特征集合进行特征提取,得到训练实体位置特征;所述训练实体位置特征用于表征所述训练语句中各字符的实体位置信息;基于所述训练实体位置特征确定所述训练语句中各实体的实体位置;
类别判定分支训练模块,用于通过所述命名实体识别模型所包括的实体类别判定分支,对所述训练字符特征集合中各字符特征进行特征映射,得到所述训练语句中各字符对应的训练实体类别特征;通过所述实体类别判定分支对各所述训练实体类别特征进行概率映射,获得所述训练语句中各字符对应的训练实体类别概率;基于所述训练实体类别概率确定所述训练语句中各字符对应的实体类别;基于所述训练语句对应的实体词掩码序列,确定所述训练语句中各实体所包括的字符;基于每个实体所包括的每个字符所对应的实体类别的统计数量,判定所述训练语句中每个实体的实体类别;
模型训练结果模块,用于根据所述训练语句中所述实体的实体类别和实体位置得到命名实体识别结果;
模型更新模块,用于基于所述命名实体识别结果、所述实体位置标签和所述实体类别标签对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
19.根据权利要求18所述的装置,其特征在于,所述模型更新模块包括:
位置抽取损失模块,用于基于所述命名实体识别结果中的实体位置和所述实体位置标签确定所述实体位置抽取分支的实体位置抽取损失;
类别判定损失模块,用于基于所述命名实体识别结果中的实体类别和所述实体类别标签确定所述实体类别判定分支的实体类别判定损失;
损失加权处理模块,用于将所述实体位置抽取损失和所述实体类别判定损失进行加权处理,得到模型损失;
参数更新模块,用于基于所述模型损失对所述命名实体识别模型的参数调整后继续进行训练,直至模型训练结束,得到训练完成的命名实体识别模型。
20.根据权利要求19所述的装置,其特征在于,所述位置抽取损失模块包括:
转移路径概率模块,用于基于所述命名实体识别结果中的实体位置确定实体位置转移路径概率;
标注路径概率模块,用于基于所述命名实体识别结果中的实体位置和所述实体位置标签的对比结果,确定实体位置标注路径概率;
位置抽取损失确定模块,用于根据所述实体位置标注路径概率和所述实体位置转移路径概率的比值获得所述实体位置抽取分支的实体位置抽取损失。
21.根据权利要求19所述的装置,其特征在于,所述类别判定损失模块包括:
实体字符筛选模块,用于根据所述训练语句对应的实体词掩码序列从所述命名实体识别结果中确定所述训练语句中实体字符所对应的实体类别;
类别判定损失确定模块,用于根据所述训练语句中实体字符所对应的实体类别和所述实体字符对应的实体类别标签,获得所述实体类别判定分支的实体类别判定损失。
22.根据权利要求19至21任意一项所述的装置,其特征在于,所述损失加权处理模块包括:
位置分支参数获取模块,用于获取基于所述实体位置抽取损失对应的位置抽取噪声参数确定的位置抽取置信度参数和位置抽取正则化参数;
类别分支参数获取模块,用于获取基于所述实体类别判定损失对应的类别判定噪声参数确定的类别判定置信度参数和类别判定正则化参数;
位置加权损失确定模块,用于通过所述位置抽取置信度参数对所述实体位置抽取损失进行加权处理,得到实体位置抽取加权损失;
类别加权损失确定模块,用于通过所述类别判定置信度参数对所述实体类别判定损失进行加权处理,得到实体类别判定加权损失;
模型损失确定模块,用于根据所述实体位置抽取加权损失、所述实体类别判定加权损失、所述位置抽取正则化参数和所述类别判定正则化参数得到模型损失。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202011269512.XA 2020-11-13 2020-11-13 命名实体识别方法、装置、计算机设备和存储介质 Active CN112257449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011269512.XA CN112257449B (zh) 2020-11-13 2020-11-13 命名实体识别方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011269512.XA CN112257449B (zh) 2020-11-13 2020-11-13 命名实体识别方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112257449A CN112257449A (zh) 2021-01-22
CN112257449B true CN112257449B (zh) 2023-01-03

Family

ID=74265638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011269512.XA Active CN112257449B (zh) 2020-11-13 2020-11-13 命名实体识别方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112257449B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113011186B (zh) * 2021-01-25 2024-04-26 腾讯科技(深圳)有限公司 命名实体识别方法、装置、设备及计算机可读存储介质
CN113064997B (zh) * 2021-04-22 2024-05-07 中国平安财产保险股份有限公司 基于bert模型的意图分析方法、装置、设备及介质
CN113362151B (zh) * 2021-06-30 2023-07-11 平安银行股份有限公司 金融业务的数据处理方法、装置、电子设备及存储介质
CN113688622A (zh) * 2021-09-05 2021-11-23 安徽清博大数据科技有限公司 一种基于ner识别情景喜剧对话幽默度的方法
CN114742060B (zh) * 2022-04-21 2023-05-02 平安科技(深圳)有限公司 实体识别方法、装置、电子设备及存储介质
CN115910070A (zh) * 2022-12-12 2023-04-04 科大讯飞股份有限公司 语音识别方法、装置、设备及存储介质
CN116956915A (zh) * 2023-02-02 2023-10-27 腾讯科技(深圳)有限公司 实体识别模型训练方法、装置、设备、存储介质及产品
CN116720520B (zh) * 2023-08-07 2023-11-03 烟台云朵软件有限公司 一种面向文本数据的别名实体快速识别方法及系统
CN117408259B (zh) * 2023-12-13 2024-04-05 金蝶软件(中国)有限公司 一种信息提取方法、装置、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073573A (zh) * 2016-11-16 2018-05-25 北京搜狗科技发展有限公司 一种机器翻译方法、装置和机器翻译系统训练方法、装置
CN109522546A (zh) * 2018-10-12 2019-03-26 浙江大学 基于上下文相关的医学命名实体识别方法
CN109635280A (zh) * 2018-11-22 2019-04-16 园宝科技(武汉)有限公司 一种基于标注的事件抽取方法
CN110516247A (zh) * 2019-08-27 2019-11-29 湖北亿咖通科技有限公司 基于神经网络的命名实体识别方法及计算机存储介质
CN111274820A (zh) * 2020-02-20 2020-06-12 齐鲁工业大学 一种基于神经网络的智能医疗命名实体识别方法和装置
CN111597804A (zh) * 2020-05-15 2020-08-28 腾讯科技(深圳)有限公司 一种实体识别模型训练的方法以及相关装置
CN111611775A (zh) * 2020-05-14 2020-09-01 沈阳东软熙康医疗系统有限公司 一种实体识别模型生成方法、实体识别方法及装置、设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10853576B2 (en) * 2018-12-13 2020-12-01 Hong Kong Applied Science and Technology Research Institute Company Limited Efficient and accurate named entity recognition method and apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073573A (zh) * 2016-11-16 2018-05-25 北京搜狗科技发展有限公司 一种机器翻译方法、装置和机器翻译系统训练方法、装置
CN109522546A (zh) * 2018-10-12 2019-03-26 浙江大学 基于上下文相关的医学命名实体识别方法
CN109635280A (zh) * 2018-11-22 2019-04-16 园宝科技(武汉)有限公司 一种基于标注的事件抽取方法
CN110516247A (zh) * 2019-08-27 2019-11-29 湖北亿咖通科技有限公司 基于神经网络的命名实体识别方法及计算机存储介质
CN111274820A (zh) * 2020-02-20 2020-06-12 齐鲁工业大学 一种基于神经网络的智能医疗命名实体识别方法和装置
CN111611775A (zh) * 2020-05-14 2020-09-01 沈阳东软熙康医疗系统有限公司 一种实体识别模型生成方法、实体识别方法及装置、设备
CN111597804A (zh) * 2020-05-15 2020-08-28 腾讯科技(深圳)有限公司 一种实体识别模型训练的方法以及相关装置

Also Published As

Publication number Publication date
CN112257449A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN112257449B (zh) 命名实体识别方法、装置、计算机设备和存储介质
CN109471895B (zh) 电子病历表型抽取、表型名称规范化方法及系统
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
CN107944559B (zh) 一种实体关系自动识别方法及系统
CN111738003B (zh) 命名实体识别模型训练方法、命名实体识别方法和介质
CN108664589B (zh) 基于领域自适应的文本信息提取方法、装置、系统及介质
CN113239700A (zh) 改进bert的文本语义匹配设备、系统、方法及存储介质
CN111930942B (zh) 文本分类方法、语言模型训练方法、装置及设备
CN112487820B (zh) 一种中文医疗命名实体识别方法
CN111414461A (zh) 一种融合知识库与用户建模的智能问答方法及系统
CN111444715B (zh) 实体关系识别方法、装置、计算机设备和存储介质
EP4361843A1 (en) Neural network searching method and related device
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN114330354A (zh) 一种基于词汇增强的事件抽取方法、装置及存储介质
CN114818717B (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
Wu et al. Chinese text classification based on character-level CNN and SVM
CN113505193A (zh) 一种数据处理方法及相关设备
CN115393933A (zh) 一种基于帧注意力机制的视频人脸情绪识别方法
CN112988970A (zh) 一种服务于智能问答系统的文本匹配算法
CN114781375A (zh) 一种基于bert与注意力机制的军事装备关系抽取方法
Yang et al. Bidirectional LSTM-CRF for biomedical named entity recognition
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法
Tekir et al. Deep learning: Exemplar studies in natural language processing and computer vision
CN113761192A (zh) 文本处理方法、文本处理装置及文本处理设备
CN116842168A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40037376

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant