CN111985240B - 命名实体识别模型的训练方法、命名实体识别方法及装置 - Google Patents
命名实体识别模型的训练方法、命名实体识别方法及装置 Download PDFInfo
- Publication number
- CN111985240B CN111985240B CN202010838651.3A CN202010838651A CN111985240B CN 111985240 B CN111985240 B CN 111985240B CN 202010838651 A CN202010838651 A CN 202010838651A CN 111985240 B CN111985240 B CN 111985240B
- Authority
- CN
- China
- Prior art keywords
- model
- named entity
- entity recognition
- ner
- recognition
- 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 145
- 238000012549 training Methods 0.000 title claims abstract description 129
- 238000003860 storage Methods 0.000 claims description 44
- 238000012937 correction Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 15
- 238000012804 iterative process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 238000003058 natural language processing Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000011218 segmentation Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000002372 labelling Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 206010013700 Drug hypersensitivity Diseases 0.000 description 3
- 206010020751 Hypersensitivity Diseases 0.000 description 3
- 208000026935 allergic disease Diseases 0.000 description 3
- 230000007815 allergy Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 201000005311 drug allergy Diseases 0.000 description 3
- 239000000779 smoke Substances 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 235000019504 cigarettes Nutrition 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005906 menstruation Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010013911 Dysgeusia Diseases 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007423 decrease Effects 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
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000013526 transfer learning 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/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
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)
- Machine Translation (AREA)
Abstract
本申请公开了一种命名实体识别模型的训练方法、命名实体识别方法及装置,涉及人工智能的自然语言处理,适用于医疗领域。该方法包括:调用第一NER模型识别第一无标签数据集得到第一模型识别结果集;调用第二NER模型识别第一无标签数据集得到第二模型识别结果集;根据第二模型识别结果集修正第一模型识别结果集得到第三模型识别结果集;根据第三模型识别结果集训练更新第一NER模型;调用更新后的第一NER模型识别第二无标签数据集得到第一更新识别结果集,根据第一更新识别结果集更新第二NER模型的词典。该方法可以节省模型训练的人力成本,提高模型训练效率。
Description
技术领域
本申请涉及人工智能的自然语言处理,特别涉及一种命名实体识别模型的训练方法、命名实体识别方法及装置。
背景技术
人工智能技术是一门综合学科,自然语言处理(Natural Language Processing,NLP)是人工智能研究的一大方向,命名实体识别(Named Entity Recognition,NER)是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。例如,对句子“小明早上8点去学校上课。”进行NER,应该能提取信息:人名:小明,时间:早上8点,地点:学校。
相关技术中,对医疗领域的文本数据进行NER,使用人工标注的数据作为训练集来训练神经网络模型,通过神经网络模型来识别文本数据中的命名实体。
该方法依赖于人工标注的数据,需要大量人力成本和时间成本来标注数据。
发明内容
本申请实施例提供了一种命名实体识别模型的训练方法、命名实体识别方法及装置,可以使用无标签数据训练模型,节省人力资源,提高模型训练效率。所述技术方案如下:
根据本申请的一个方面,提供了一种命名实体识别模型的训练方法,所述方法包括:
调用第一NER模型识别第一无标签数据集得到第一模型识别结果集,所述第一命名实体识别NER模型是基于预训练语言模型进行命名实体识别的模型;
调用第二NER模型识别所述第一无标签数据集得到第二模型识别结果集,所述第二NER模型是基于词典进行命名实体识别的模型;
根据所述第二模型识别结果集修正所述第一模型识别结果集得到第三模型识别结果集;
根据所述第三模型识别结果集训练更新所述第一NER模型;
调用更新后的所述第一NER模型识别第二无标签数据集得到第一更新识别结果,根据所述第一更新识别结果集更新所述第二NER模型的所述词典。
根据本申请的另一个方面,提供了一种命名实体识别方法,所述方法包括:
调用第一NER模型识别文本数据得到第一识别结果,所述第一NER模型是采用上述命名实体识别模型的训练方法训练得到的所述第一NER模型;
或;
调用第二NER模型识别所述文本数据得到第二识别结果,所述第二NER模型是采用上述命名实体识别模型的训练方法训练得到的所述第二NER模型;
或;
调用所述第一NER模型和所述第二NER模型识别所述文本数据得到第三识别结果。
根据本申请的另一方面,提供了一种命名实体识别模型的训练装置,所述装置包括:
第一模型模块,用于调用第一NER模型识别第一无标签数据集得到第一模型识别结果集,所述第一NER模型是基于预训练语言模型进行命名实体识别的模型;
第二模型模块,用于调用第二NER模型识别所述第一无标签数据集得到第二模型识别结果集,所述第二NER模型是基于词典进行命名实体识别的模型;
修正模块,用于根据所述第二模型识别结果集修正所述第一模型识别结果集得到第三模型识别结果集;
训练模块,用于根据所述第三模型识别结果集训练更新所述第一NER模型;
所述第一模型模块,还用于调用更新后的所述第一NER模型识别第二无标签数据集得到第一更新识别结果集;
词典更新模块,用于根据所述第三模型识别结果集更新所述第二NER模型的所述词典。
根据本申请的另一方面,提供了一种命名实体识别装置,所述装置包括:
存储模块,用于存储第一NER模型和第二NER模型,所述第一NER模型是采用上述命名实体识别模型的训练方法训练得到的所述第一NER模型,所述第二NER模型是采用上述命名实体识别模型的训练方法训练得到的所述第二NER模型;
第一调用模块,用于调用第一NER模型识别文本数据得到第一识别结果;
或;
第二调用模块,用于调用第二NER模型识别所述文本数据得到第二识别结果;
或;
第三调用模块,用于调用所述第一NER模型和所述第二NER模型识别所述文本数据得到第三识别结果。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的命名实体识别模型的训练方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的命名实体识别模型的训练方法。
根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的命名实体识别方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的命名实体识别方法。
根据本公开实施例的另一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的命名实体识别模型的训练方法。
根据本公开实施例的另一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的命名实体识别方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过使用两个NER模型对同一个第一无标签数据集进行命名实体识别,得到两个命名实体识别结果,然后根据两个命名实体识别结果修正得到一个命名实体识别结果,使用修正得到的命名实体识别结果作为样本训练集,对基于深度学习的NER模型进行训练,调用更新后的基于深度学习的NER模型识别第二无标签数据集得到更新识别结果集,使用更新识别结果集扩充基于词典的NER模型的词典,从而同时更新两个模型,使NER模型可以根据无标签数据进行迭代更新,不需要人力来标注大量数据,降低人力成本投入,减少模型训练所需要的时间,提高模型训练的效率,提高模型的学习能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的框图;
图2是本申请一个示例性实施例提供的BERT-CRF模型的结构示意图;
图3是本申请另一个示例性实施例提供的DAG示意图;
图4是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的示意图;
图5是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的示意图;
图6是本申请另一个示例性实施例提供的修正方法的示意图;
图7是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图8是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图9是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图10是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图11是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图12是本申请另一个示例性实施例提供的命名实体识别模型的训练方法的方法流程图;
图13是本申请另一个示例性实施例提供的命名实体识别模型的训练装置的框图;
图14是本申请另一个示例性实施例提供的命名实体识别装置的框图;
图15是本申请另一个示例性实施例提供的服务器的结构示意图;
图16是本申请另一个示例性实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请实施例涉及的若干个名词进行简介:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
图1示出了本申请一个示例性实施例提供的计算机系统的结构示意图,该计算机系统包括终端120和服务器140。
终端120与服务器140之间通过有线或者无线网络相互连接。
终端120可以包括智能手机、笔记本电脑、台式电脑、平板电脑、智能音箱、智能机器人中的至少一种。
终端120包括显示器;显示器用于显示命名实体识别结果。
终端120包括第一存储器和第一处理器。第一存储器中存储有第一程序;上述第一程序被第一处理器调用执行以实现命名实体识别模型的训练方法或命名实体识别方法。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。可选地,第一处理器可以通过调用第一NER模型或第二NER模型来实现本申请提供的命名实体识别模型的训练方法或命名实体识别模型。示例性的,终端中的第一NER模型或第二NER模型可以是由终端训练得到的;或,由服务器训练得到,终端从服务器获取。
服务器140包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本申请提供的命名实体识别模型的训练方法或命名实体识别方法。示例性的,第二存储器中存储有第一NER模型或第二NER模型,上述第一NER模型或第二NER模型被第二处理器调用以实现命名实体识别模型的训练方法或命名实体识别方法。可选地,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。可选地,第二处理器可以是通用处理器,比如,CPU或者NP。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
示意性的,本申请提供的命名实体识别模型的训练方法和命名实体识别方法可用于医疗,家居,时政,购物,推荐等领域的多种自然语言处理任务中的命名实体识别基础任务。在医疗领域内,可用于症状识别,身体部位识别,病症识别,药物识别等多个基础任务。
本申请实施例提供了一种NER模型的训练方法,可以使用无标签数据同时、迭代训练两个NER模型:基于深度学习的BERT-CRF(Bidirectional Encoder Representationfrom Transformers-Conditional Random Field,来自变压器的双向编码器表示-条件随机场)模型和基于词典的DAG(Directed Acyclic Graph,有向无环图)模型。
首先,对BERT-CRF模型进行介绍。BERT-CRF模型是由BERT与CRF组合而成的深度学习模型。其中,BERT,全称为Bidirectional Encoder Representation fromTransformers,即双向Transformer(变压器)的Encoder(编码器),是一个基于Transformer的在大规模语料库上进行Mask Language Model(MLM,掩码语言模型)和Next SentencePrediction(NSP,下一句预测)多任务训练得到的预训练语言模型。BERT可以参照2018年10月11日由Google(谷歌)发布的论文《Pre-training of Deep BidirectionalTransformers for Language Understanding(深度双向变压器的语言理解预培训)》。Transformer可以参照2017年由Google团队的Ashish Vaswani等人发表的论文《AttentionIs All You Need(你只需要注意)》。CRF是一个序列化标注算法(sequence labelingalgorithm),其接收一个输入序列如X=(x1、x2、……xn),并且输出目标序列Y=(y、y2、……yn),也能被看作是一种seq2seq模型。CRF可以参照2001年由John D.Lafferty发表的论文《Conditional Random Fields:Probabilistic Models for Segmenting and LabelingSequence Data(条件随机字段:概率模型用于分割和标记序列数据)》。
示例性的,如图2所示,给出了一种BERT-CRF模型的结构示意图,在BERT-CRF模型的输入层输入单句(Single Sentence)序列501:[CLS]、Tok 1、Tok2……Tok N,每个序列的第一个token(标记)始终是特殊分类嵌入([CLS]),剩下的每一个token代表一个汉字,例如,输入“你好”,则Tok 1为“你”,Tok 2为“好”。BERT的input embeddings(输入嵌入)是token的token embeddings(标记嵌入),segmentation embeddings(分段嵌入)和positionembeddings(位置嵌入)的总和。其中,token embeddings为词向量;segmentationembeddings为文本向量,用来描述当前字所在的句子在全文中的位置;positionembedding为位置向量,用来描述当前字在句子中的位置。即,Tok 1对应的inputembeddings:E1为Tok 1的词向量、文本向量和位置向量之和。BERT的output(输出)是每个token的状态特征502,状态特征502用于表示每个字属于多个命名实体类别的概率,例如,BERT-CRF模型用于预测5种命名实体类别,则某个token对应的状态特征为(0.5,0.1,0.1,0.3,0),即状态特征是一个多维向量,其维数等于命名实体类别的数量。CRF层用于对状态特征502进行调整得到分类结果。示例性的,分类结果包括对每个字的标签。标签可以采用任意标注方式,以BIO标注为例,标注形式为“B-X”、“I-X”、“O”,其中,“B-X”表示此元素所在的片段属于X类型并且此元素在此片段的开头,“I-X”表示此元素所在的片段属于X类型并且此元素在此片段的中间位置,“O”表示不属于任何类型。其中,X可以定义为任意类型。例如,图2中的“B-PER”、“I-LOC”,其中,PER表示人名,LOC表示地名。示例性的,CRF用于对BERT输出的状态特征做约束,得到新的状态特征,将新的状态特征中概率值最大的命名实体类别作为分类结果。例如,CRF根据BIO标注法的规则对状态特征做约束,例如,I标签一定位于B标签之后。示例性的,CRF的参数化方程如下所示:
其中,x为BERT输出的状态特征,y为CRF输出的转移特征,l为命名实体类别的个数,L为命名实体类别的总数,k为转移特征的个数,K为转移特征的总数,i表示字在句子中的位置,I为句子中的总位置数,tk为转移特征函数,sl为状态特征函数,λk为转移特征函数的权重系数,μl表示状态特征函数的权重系数,其中,λk和μl通过最大似然估计得到。
示例性的,本实施例中BERT-CRF模型的训练采用的损失函数为交叉熵(Cross-Entropy):
其中,y为x的真实标签。x为输入的单句中的字,X为该单句中所有字的集合,BERT-CRF(x)为BERT-CRF模型输出的预测标签。
然后,对DAG模型进行介绍。DAG模型利用词典以及词频信息来对输入的句子构造DAG并用路径搜索算法或前后向最大概率路径匹配算法来实现匹配。例如,如图3所示,对于输入的句子“南京市长江大桥”504,根据词典中的词汇“南京”、“南京市”、“市长”、“长江”、“长江大桥”、“大桥”,该句子可以有多个路径从“南”到“桥”,例如,“南京/市长/江大桥”、“南京市/长江大桥”等,通过不同的路径可以得到不同的分词结果。示例性的,将概率值最大的路径确定为最终的输出结果,概率值根据句子中每个词语的词频和词长确定。示例性的,词典中存储有每个词语的词频,词长是指该词语的字数。词频除以词长为改词语的权重,概率值为句子中所有词语的权重的乘积。以分词结果“南京市/长江大桥”为例,例如,词典中“南京市”的词频为6,“长江大桥”的词频,4,则“南京市”的权重为6/3=2,“长江大桥”的权重为4/4=1,则分词结果“南京市/长江大桥”对应的概率值为2*1=2。计算出每种分词结果的概率值,概率值最大的分词结果即为DAG模型输出的分词结果。
对于上述两种模型,本实施例提供了一种训练方法,使模型可以基于无标签数据进行迭代训练,减少训练模型所需的人力资源。如图4所示,示出了本申请一个示例性实施例提供的命名实体识别模型的训练方法的流程图。该方法由计算机设备来执行,例如,由图1所示的计算机系统中的终端或服务器来执行。
该方法包括两个过程:训练过程和修正过程。训练过程用于训练BERT-CRF模型和更新DAG模型的词典。修正过程用于对无标签数据进行识别,得到识别结果,从而用识别结果扩充有标签数据,进而再次对BERT-CRF模型进行训练、对DAG模型的词典进行更新。
对于训练过程,首先,使用有标签数据601(样本有标签数据集),来训练BERT-CRF模型602。示例性的,有标签数据采用BIO标注法进行标注。然后,使用训练好的BERT-CRF模型602对无标签数据604进行识别得到识别结果,从识别结果中提取命名实体构建词典,基于词典构建得到DAG模型603。
示例性的,对于DAG模型的构建,如图5所示,使用训练好的BERT-CRF模型602对无标签数据604进行识别,得到识别结果,提取识别结果中的命名实体来构建词典,基于词典构建DAG模型603。例如,本实施例采用22万样本的口语无标签数据在BERT-CRF模型上解析,经过统计,清洗和扩充后,可以得到16万个带有词频信息的词语,组成词典。
对于修正过程,首先,使用BERT-CRF模型602识别无标签数据604(第一无标签数据集),得到识别结果1(第一模型识别结果集);使用DAG模型603识别无标签数据604,得到识别结果2(第二模型识别结果集),然后对识别结果1和识别结果2进行对比修正得到识别结果。示例性的,修正过程是当BERT-CRF模型产出命名实体识别结果在一个命名实体上,预测的边界有一边与DAG模型的预测结果相同而另一边不相同时,此时DAG模型预测结果更为可靠,用DAG模型的预测结果修正这不相同一边的边界。除上述情形外,采用BERT-CRF模型的识别结果。
例如,如图6所示,对于输入的句子701“无烟酒等不良生活嗜好,无药物过敏史,家族史无异常”,BERT-CRF模型的识别结果702为“(type)无(/type)烟酒等(type)不良生活(/type)嗜好,(type)无(/type)药物(type)过敏(/type)史,家族史(type)无(/type)(type)异常(/type)”,其中,(type)和(/type)间为模型识别到的命名实体,type为命名实体的类型。DAG模型的识别结果703为“无烟酒等(type)不良生活嗜好(/type),无(type)药物过敏(/type)史,家族史无异常”,则其中,BERT-CRF模型识别出的“不良生活”与DAG模型识别出的“不良生活嗜好”起始位置相同、终止位置不同,则此时采用DAG模型的识别结果“不良生活嗜好”;BERT-CRF模型识别出的“过敏”与DAG模型识别出的“药物过敏”终止位置相同、起始位置不同,则此时采用DAG模型的识别结果“药物过敏”,其他保留BERT-CRF模型的识别结果,则修正后的识别结果704为“(type)无(/type)烟酒等(type)不良生活嗜好(/type),(type)无(/type)(type)药物过敏(/type)史,家族史(type)无(/type)(type)异常(/type)”。
在得到识别结果后,将识别结果中的命名实体添加到有标签数据601。再次使用有标签数据601训练BERT-CRF模型,再使用训练后的BERT-CRF模型对无标签数据604进行识别得到识别结果,将识别结果中的命名实体加入到DAG模型的词典中,更新词典,如此反复迭代。示例性的,直至经过修正后的识别结果中的命名实体,已经全部存在于有标签数据601中,识别结果已经无法更新有标签数据601时,迭代停止。示例性的,迭代停止后,还可以采用新的无标签数据来开始新的迭代过程。
使用本实施例提供的NER模型的训练方法,只需要使用少量有标签数据训练BERT-CRF模型,然后基于大量的无标签数据来迭代训练BERT-CRF模型和迭代更新DAG模型的词典,使模型的训练不需要大量依赖人工标注数据,减少人力资源的消耗。并且,该方法可以同时训练得到两个NER模型,使用其中任意一个NER模型都可以进行命名实体识别,此外,还可以同时使用这两种NER模型来进行命名实体识别,由于NER模型经过了迭代学习的过程,使用该方法训练得到的NER模型具有较高的识别能力和识别准确度。
例如,表一所示,其中,初始模型是使用有标签数据训练得到的BERT-CRF模型;扩增数据训练后模型是迭代训练后得到的BERT-CRF模型;最终DAG模型是指基于迭代更新后的词典构建的DAG模型。可以看出,经过半监督扩充数据再训练后的BERT-CRF模型比之前的BERT-CRF模型识别出的命名实体要准确,比如可以识别出(ato)无精打彩(/ato),而之前的未经过半监督扩充数据再训练的BERT-CRF模型只能识别到(neg)无(/neg)精打彩。
表一
同时,最终产出的NER模型效率高。从可测量的结果上看,在从训练集(样本有标签数据集)划分出1/8数据得到的约六千余条验证数据组成的验证集合上可达到平均82%以上的识别精准率。在测试数据上的部分输出例子如下表二所示。
表二
图7示出了本申请一个示例性实施例提供的命名实体识别模型的训练方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。所述方法包括:
步骤201,调用第一NER模型识别第一无标签数据集得到第一模型识别结果集,第一NER模型是基于预训练语言模型进行命名实体识别的模型。
示例性的,第一NER模型是基于预训练语言模型构建的模型,即,采用预训练的方式来训练模型。预训练语言模型包括多种模型,例如,单向特征表示的自回归预训练语言模型,统称为单向模型:ELMO(Embeddings from Language Models,语言模型的嵌入)模型、ULMFiT(Universal Language Model Fine-tuning for Text Classification,文本分类的通用语言模型微调)模型、GPT(Generative Pre-Training,生成性预训练)1.0模型、GPT2.0模型等;双向特征表示的自编码预训练语言模型,统称为BERT系列模型:BERT模型、MASS(Masked Sequence to Sequence Pre-training for Language Generation,基于蒙蔽序列的语言生成预训练)模型、UNILM(Unified Language Model Pre-training forNatural Language Understanding and Generation,面向自然语言理解与生成的统一语言模型预训练)模型、ERNIE(Enhanced Language Representation with InformativeEntities,信息实体的增强语言表示)1.0模型、ERNIE2.0模型、SpanBERT模型、RoBERTa模型等。示例性的,第一NER模型是一种深度学习模型,第一NER模型可以根据输入的文本数据的上下文提取文本的语义特征,根据语义特征进行命名实体识别。示例性的,第一NER模型可以是上述的BERT-CRF模型。示例性的,第一NER模型根输入文本数据的词向量,提取文本数据的上下文特征,进行命名实体识别。
示例性的,第一无标签数据集是文本数据集。示例性的,除有特别说明之外,本申请说明书中所提及的第一无标签数据集是同一个第一无标签数据集,即,在训练过程中会反复使用同一个第一无标签数据集。示例性的,第一无标签数据集中包括需要进行命名实体识别的领域的大量的文本数据。例如,当NER模型用于医学领域的命名实体识别时,选用大量的医学领域的文本数据组成第一无标签数据集。
第一模型识别结果集是使用第一NER模型对第一无标签数据集进行识别得到的识别结果。即,第一模型识别结果集包括第一无标签数据集中全部的文本数据,以及第一NER模型对文本数据预测得到的命名实体类别的标签。示例性的,第一NER模型使用BIO标注法来标注命名实体类别。例如,第一无标签数据集中包括文本数据“3个月没有来月经”,第一模型识别结果集中包括文本数据以及对文本数据的标签“3”对应“B-tem”、“个”对应“I-tem”、“月”对应“I-tem”、“没”对应“B-neg”、“有”对应“I-neg”、“来”对应“O”、“月”对应“B-head”、“经”对应“I-head”,其中,tem、neg、head是人工为命名实体划分的类别,tem为时间、neg为否定词、head为头部。则第一NER模型识别出了该文本数据中的三个命名实体:“3个月”、“没有”、“月经”,这三个命名实体的命名实体类别分别为:时间、否定词、头部。
步骤202,调用第二NER模型识别第一无标签数据集得到第二模型识别结果集,第二NER模型是基于词典进行命名实体识别的模型。
第二NER模型是基于规则和词典的NER模型。第二NER基于词典中存储的命名实体(词语)来识别输入的文本数据中的命名实体。例如,第二NER模型可以是上述的DAG模型,即,使用DAG和词典来识别命名实体。示例性的,词典用于存储命名实体(词语)、命名实体的词频、命名实体类别。
示例性的,步骤202中的第一无标签数据集与步骤201中的第一无标签数据集是同一个第一无标签数据集。示例性的,步骤202和步骤201可以同时进行,也可以不同时进行,不同时进行时二者的先后顺序任意。
第二模型识别结果集是使用第二NER模型对第一无标签数据集进行识别得到的识别结果。即,第二模型识别结果集包括第一无标签数据集中全部的文本数据,以及第二NER模型对文本数据预测得到的命名实体类别的标签。示例性的,第二NER模型使用BIO标注法来标注命名实体类别,即,词典中存储有命名实体的命名实体类别。
示例性的,第一模型识别结果集和第二模型识别结果集是使用不同的NER模型对同一个第一无标签数据集进行NER得到的两个模型识别结果集,第一模型识别结果集和第二模型识别结果集对文本数据标注的标签(命名实体类别)可以相同也可以不同。示例性的,由于第一无标签数据集中文本数据量巨大,通常情况下,第一模型识别结果集和第二模型识别结果集中存在至少一个文本数据(字)对应不同的标签。
步骤203,根据第二模型识别结果集修正第一模型识别结果集得到第三模型识别结果集。
示例性的,由于第二模型识别结果集和第一模型识别结果集中存在对同一文本数据标注不同的情况,因此,可以根据两个模型识别结果集对同一文本数据的不同标签,来修正该文本数据的标签,使该文本数据的标签更准确。
例如,修正的方式可以是:根据第一NER模型对该标签预测的概率值,若概率值大于阈值,则采信第一NER模型的识别结果,若概率值小于阈值,则采信第二NER模型的识别结果。
再如,修正的方式可以是:根据该命名实体在词典中的词频,若词频大于阈值,则采信第二NER模型的识别结果,若概率小于阈值,则采信第一NER模型的识别结果。
再如,修正的方式可以是:当第一模型识别结果集中存在第二模型识别结果集未预测出的命名实体时,将第一模型识别结果集中的该命名实体标注到第二模型识别结果集中。或,当第二模型识别结果集中存在第一模型识别结果集未预测出的命名实体时,将第二模型识别结果集中的该命名实体标注到第一模型识别结果集中。
示例性的,计算机设备通过修正后可以得到第三模型识别结果集。第三模型识别结果集依旧是对第一无标签数据集的标注结果。
示例性的,经过修正后得到的第三模型识别结果集的置信度要高于第一模型识别结果集和第二模型识别结果集。
步骤204,根据第三模型识别结果集训练更新第一NER模型。
计算机设备将第三模型识别结果集作为训练样本训练第一NER模型。
步骤205,调用更新后的第一NER模型识别第二无标签数据集得到第一更新识别结果集,根据第一更新识别结果集更新第二NER模型的词典。
示例性的,第一无标签数据集和第二无标签数据集可以是同一个无标签数据集也可以是不同的无标签数据集。第二无标签数据中也包括大量的无标签的文本数据。
示例性的,计算机设备将第一更新识别结果集中的命名实体加入到词典中。
示例性的,词典中存储有多个命名实体,每个命名实体对应一个词条,词条存储了该命名实体、该命名实体的词频、该命名实体的命名实体类别。示例性的,在往词典中增加命名实体时,对于词典中已有的命名实体,更改该命名实体的词频,对于词典中没有的命名实体,增加该命名实体的词条。
综上所述,本实施例提供的方法,通过使用基于预训练语言模型的深度学习NER模型(第一NER模型)来对第一无标签数据集进行标注,得到第一模型识别结果集,使用基于词典的NER模型(第二NER模型)来对同一个第一无标签数据集进行标注,得到第二模型识别结果集,然后用第二模型识别结果集修正第一模型识别结果集得到第三模型识别结果集,使第三模型识别结果集综合了两种模型对同一个第一无标签数据集的识别结果,然后用第三模型识别结果集重新训练基于预训练语言模型的深度学习NER模型,基于第三模型识别结果集扩充词典,从而同时更新两个模型,使NER模型可以根据无标签数据进行迭代更新,不需要人力来标注大量数据,降低人力成本投入,减少模型训练所需要的时间,提高模型训练的效率,提高模型的学习能力。
示例性的,给出一种根据第二模型识别结果集修正第一模型识别结果集的示例性实施例。
图8示出了本申请一个示例性实施例提供的命名实体识别模型的训练方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。在图7所示的示例性实施例的基础上,步骤203还包括步骤2031,步骤205还包括步骤2051。
步骤2031,根据第二模型识别结果集中的第i个有标签文本数据修正第一模型识别结果集中的第i个有标签文本数据,第二模型识别结果集中的第i个有标签文本数据与第一模型识别结果集中的第i个有标签文本数据存在至少一个标签不同的命名实体,i是小于或等于K的正整数。
示例性的,第一无标签数据集包括K个无标签文本数据,第一模型识别结果集、第二模型识别结果集和第二模型识别结果集包括K个有标签文本数据,K是正整数。
示例性的,K个无标签文本数据是指K个文本片段,例如,K个段落、K个句子、K个短语等。由于第一无标签数据集中包括K个无标签文本数据,对应地,第一模型识别结果集、第二模型识别结果集、第三模型识别结果集中都对应有K个有标签文本数据。
当两个NER模型对同一个无标签文本数据的标注相同时,计算机设备不会对标注进行修正。只有当两个NER模型对同一个无标签文本数据的标注不同时,计算机设备才会对标注进行修正。
示例性的,计算机设备以第一模型识别结果集为基础,使用第二模型识别结果集对第一模型识别结果集进行修正。
例如,两个NER模型对第i个无标签文本数据标注的标签不同,则根据第二NER模型对第i个无标签文本数据的识别结果来修正第一NER模型对第i个无标签文本数据的识别结果。
示例性的,如图9所示,给出了一种修正方法,步骤2031还包括步骤2031-1和步骤2031-3。
步骤2031-1,判断命名实体的起始位置和终止位置。
示例性的,计算机设备判断第二模型识别结果集中的第i个有标签文本数据,与,第一模型识别结果集中的第i个有标签文本数据中,是否存在起始位置相同终止位置不同的命名实体,或,是否存在终止位置相同起始位置不同的命名实体。
步骤2031-2,响应于第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置相同且终止位置不同,使用第m个命名实体的标签替换第n个命名实体的标签,m、n是正整数。
步骤2031-3,响应于第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置不同且终止位置相同,使用第m个命名实体的标签替换第n个命名实体的标签,m、n是正整数。
示例性的,当两个NER模型对同一个无标签文本数据中同一个命名实体(两个模型预测的两个命名实体中存在至少一个字位于无标签文本数据中的相同位置)的起始位置和终止位置的识别,其中一个位置相同,另一个位置不同时,使用第二NER模型的识别结果替换第一NER模型的识别结果。示例性的,第m个命名实体和第n个命名实体中存在至少一个字相同,即,该字在第i个无标签文本数据中的位置相同。
例如,如下所示:
第一模型识别结果集中第i个有标签文本数据为:
“无(B)烟(O)酒(O)等(O)不(B)良(I)生(I)活(I)嗜(O)好(O)”。
第二模型识别结果集中第i个有标签文本数据为:
“无(O)烟(O)酒(O)等(O)不(B)良(I)生(I)活(I)嗜(I)好(I)”。
则第一模型识别结果集中第i个有标签文本数据的第2个命名实体“不良生活”,与第二模型识别结果集中第i个有标签文本数据的第1个命名实体“不良生活嗜好”,具有相同的起始位置、不同的终止位置,则使用第二模型识别结果集对该命名实体的标注替换第一模型识别结果集中的标注。
可以得到第三模型识别结果集中对第i个有标签文本数据为:
“无(B)烟(O)酒(O)等(O)不(B)良(I)生(I)活(I)嗜(I)好(I)”。
示例性的,还可以只有在第m个命名实体的字数大于第n个命名实体的字数,并满足步骤2031-1或步骤2031-2中的条件时,才会使用第m个命名实体的标签替换第n个命名实体的标签。
示例性的,还可以只有在第m个命名实体的字数大于第n个命名实体的字数,并满足步骤2031-1或步骤2031-2中的条件,且对于第m个命名实体中多出的字的部分,在第一模型识别结果集中没有将其识别为命名实体时,才会使用第m个命名实体的标签替换第n个命名实体的标签。例如,第m个命名实体为“举高高”,第n个命名实体为“举高”,但第一NER模型将“举高高”中的第二个“高”识别为了另一个命名实体,则无法使用第m个命名实体的标签替换第n个命名实体的标签。
示例性的,除了上述情形之外的情形,则保持第一模型识别结果集中的标签不变。例如,第一模型识别结果集识别出的命名实体,在第二模型识别结果集中并没有被识别出,则保持第一模型识别结果集对该命名实体的标签不变。再如,第一模型识别结果集没有识别出的命名实体,在第二模型识别结果集中被识别出,也保持第一模型识别结果集对该命名实体的标签不变(即没有被识别出)。再如,第一模型识别结果集和第二模型识别结果集中对同一个命名实体(存在至少一个字相同)识别的起始位置和终止位置都不相同,则保持第一模型识别结果集对该命名实体的标签不变。
综上所述,本实施例提供的方法,对于第二模型识别结果集中和第一模型识别结果集相同的句子,如果两个模型对同一个句子的标签不相同,则会用基于词典的NER模型输出的结果来修正基于预训练语言模型输出的结果。由于基于词典的NER模型输出的结果对词组的识别更完整,基于深度学习模型输出的结果可以结合上下文的特征、语义特征进行命名实体识别,因此,修正后的模型识别结果集可以更准确地识别命名实体。
本实施例提供的方法,如果基于词典的模型对同一句话中的命名实体识别结果不同,且两个识别结果中的命名实体的起始位置一端相同一端不同,则采用基于词典的NER模型输出的结果。例如,对于句子“无烟酒等不良嗜好”,基于词典的NER模型识别结果为“无烟酒等(type)不良生活嗜好(/type)”,基于预训练语言模型的NER模型识别结果为“(type)无(/type)烟酒等(type)不良生活(/type)嗜好”,则“不良生活嗜好”与“不良生活”的起始位置相同、终止位置不同,用“不良生活嗜好”的标签替换“不良生活”的标签,最终得到的识别结果为“(type)无(/type)烟酒等(type)不良生活嗜好(/type)”。
示例性的,给出一种首次训练得到第一NER模型和第二NER模型的示例性实施例。
图10示出了本申请一个示例性实施例提供的命名实体识别模型的训练方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。在图2所示的示例性实施例的基础上,步骤201之前还包括步骤301至步骤303。步骤204还包括步骤2041至步骤2042。
步骤301,使用样本有标签数据集训练初始模型得到第一NER模型。
示例性的,对于第一NER模型的训练,首先获取初始模型,即,对模型进行参数的初始化设置。然后使用样本有标签数据集对初始模型进行训练。
样本有标签数据集是有标签的文本数据集。示例性的,样本有标签数据集中的文本数据与无标签数据集中的文本数据无关。示例性的,样本有标签数据集中的标签可以由人工标注。即,在模型训练开始时,使用少量的有标签数据(样本有标签数据集)来训练第一NER模型,使之具有初步的命名实体识别能力。
步骤302,调用第一NER模型识别第二无标签数据集得到更新识别结果集。
在使用样本有标签数据集训练初始模型得到具有一定识别能力的第一NER模型之后,使用第一NER模型来对第二无标签数据集进行识别得到更新识别结果集。
步骤303,根据更新识别结果集构建第二NER模型的词典。
计算机设备用更新识别结果集中的命名实体构建词典。
步骤2041,将第三模型识别结果集加入样本有标签数据集,更新样本有标签数据集。
示例性的,在经过一次修正得到修正后的第三模型识别结果集后,计算机设备还可以将第三模型识别结果集加入到初始使用的样本有标签数据集中,更新样本有标签数据集,然后使用更新后的样本有标签数据集重新训练第一NER模型。
如此,在之后的迭代过程中,可以不断的扩充样本有标签数据集,然后不断使用扩充后的样本有标签数据集训练第一NER模型。
示例性的,计算机设备可以直接将第三模型识别结果集与样本有标签数据集合并得到新的样本有标签数据集。
示例性的,计算机设备也可以将第三模型识别结果集中与样本有标签数据集中重复的部分去除得到去重后的第三模型识别结果集,然后将去重后的第三模型识别结果集与样本有标签数据集合并得到新的样本有标签数据集。
示例性的,两个数据集(第三模型识别结果集和样本有标签数据集)中的重复部分是指:对于同一个文本数据(同一句话),如果两个数据集中对该文本数据标注的标签不同,则不重复;若果两个样本数据中对该文本数据标注的标签相同,则重复。
示例性的,对于去重:如果两个数据集中对同一个文本数据标注的标签不同,则可以使用第三模型识别结果集中对该文本数据标注的标签替换样本有标签数据集中的该文本数据;也可以直接将第三模型识别结果集中的该文本数据加入到样本有标签数据集中,即,更新后的样本有标签数据集中包含两个该文本数据,但两个该文本数据所标注的标签不同。
步骤2042,使用更新后的样本有标签数据集训练更新第一NER模型。
综上所示,本实施例提供的方法,在初始阶段,使用有标签数据来训练第一NER模型,然后使用第一NER模型来识别无标签数据得到识别结果,用识别结果来扩充词典。
本实施例提供的方法,通过在得到修正的模型识别结果集后,将得到的有标签数据集加入到样本有标签数据集中,使用扩充后的样本有标签数据集训练第一NER模型,使第一NER模型可以根据对第一无标签数据集的识别结果,自动完成更新迭代。
示例性的,给出一种迭代更新两种NER模型的示例性实施例。
图11示出了本申请一个示例性实施例提供的命名实体识别模型的训练方法的流程图。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。在图2所示的示例性实施例的基础上,步骤205之后还包括步骤401至步骤406。
步骤401,调用更新后的第一NER模型识别第一无标签数据集得到第j-2模型识别结果集,j是3的整数倍且j为正数。
示例性的,步骤201至步骤205示出了两个模型的一次训练过程,在步骤205两个模型分别更新后,还可以继续重复步骤201至步骤205的过程,进行迭代更新。示例性的,为了更准确地描述迭代过程,使用步骤401至步骤405来说明迭代更新两个模型的过程。
示例性的,由于步骤401至步骤405分别与步骤201至步骤205相对应,在此不再赘述。
步骤402,调用更新后的第二NER模型识别第一无标签数据集得到第j-1模型识别结果集。
步骤403,根据第j-2模型识别结果集修正第j-1模型识别结果集得到第j模型识别结果集。
步骤404,根据第j模型识别结果集训练更新第一NER模型。
示例性的,如图12所示,步骤404还包括步骤4041至步骤4042。
步骤4041,将第j模型识别结果集加入样本有标签数据集,更新样本有标签数据集。
示例性的,步骤4041、步骤4042与步骤2041、步骤2042相对应,即,在训练过程中,不断使用修正后的模型识别结果集扩充样本有标签数据集。
步骤4042,使用更新后的样本有标签数据集训练更新第一NER模型。
步骤405,调用更新后的第一NER模型识别第二无标签数据集得到第j-2更新识别结果集,根据第j-2更新识别结果集更新第二NER模型的词典。
示例性的,调用第一NER模型识别第二无标签数据集,得到第j-2更新识别结果集,将第j-2更新识别结果集中的命名实体增加至第二NER模型的词典中。
步骤406,重复上述步骤迭代更新第一NER模型和第二NER模型。
示例性的,如图12所示,步骤406之后还包括步骤407。
步骤407,响应于样本有标签数据集包含第x模型识别结果集,停止迭代,x大于等于j且x是3的整数倍。
示例性的,在两个NER模型的迭代训练过程中,两个NER模型的命名实体识别能力逐渐增加,两个NER模型逐步提取第一无标签数据集中的命名实体,将新识别出的命名实体加入到样本有标签数据集中,当两个NER模型的识别能力达到上限时,两个NER模型无法再从第一无标签数据集中再提取出新的命名实体,也就不会再有新的命名实体增加到样本有标签数据集中,此时迭代停止。
示例性的,也可以设置迭代次数的阈值,在迭代次数满足设置的阈值时,停止迭代。
综上所示,本实施例提供的方法,当对第一无标签数据集进行识别得到的修正的识别结果中,所有的命名实体都已经加入过样本有标签数据集,则模型已经完全提取了无标签数据中的所有命名实体,此时,迭代停止。
示例性的,本申请还提供了一种命名实体识别方法。该方法可以由计算机设备来执行,例如,如图1所示的终端或服务器来执行。该方法包括以下步骤。
调用第一NER模型识别文本数据得到第一识别结果,第一NER模型是采用上述命名实体识别模型的训练方法训练得到的第一NER模型;
或,
调用第二NER模型识别文本数据得到第二识别结果,第二NER模型是采用上述命名实体识别模型的训练方法训练得到的第二NER模型;
或,
调用第一NER模型和第二NER模型识别文本数据得到第三识别结果。
示例性的,采用上述任一实施例训练得到的第一NER模型和第二NER模型可以分别被调用用于命名实体识别。也可以将两个模型结合起来进行命名实体识别。
示例性的,当两个NER模型被结合使用时,可以先将需要识别的文本数据输入第一NER模型进行识别,得到识别结果,然后将识别结果中没有被识别为命名实体的字,再输入到第二NER模型中进行识别,得到识别结果,然后两个识别结果相加即为最终的识别结果。例如,对于文本数据“书籍是人类进步的阶梯”,将其输入到第一NER模型中得到识别结果“书(B)籍(I)是(O)人(O)类(O)进(O)步(O)的(O)阶(O)梯(O)”,则对于未被识别为命名实体的“是人类进步的阶梯”可以继续输入到第二NER模型中识别得到识别结果“是(O)人(B)类(I)进(B)步(I)的(O)阶(B)梯(I)”,然后将两个识别结果中的命名实体相加,得到最终的识别结果“书(B)籍(I)是(O)人(B)类(I)进(B)步(I)的(O)阶(B)梯(I)”。
综上所示,本实施例提供的方法,通过调用采用上述任一实施例的模型训练方法训练得到的两个NER模型对命名实体进行识别,用户可以使用其中任意一个模型,也可以同时使用两个模型,满足用户多方面的使用需求。
示例性的,可以将本申请提供的命名实体识别模型的训练用于训练医疗领域的NER模型。
步骤1201,构造样本有标签数据集,人工对医疗相关的文本数据标注标签,得到样本有标签数据集。构造无标签数据集,无标签数据集可以使用医疗领域的任意文本数据构成,例如,使用医院的诊断文本数据、医学论文、医学书籍等。
示例性的,可以根据NER模型使用的场景来确定无标签数据集和样本有标签数据集中的文本数据来源。例如,如果使用NER模型来识别医生出具的诊断文本,则可以人工对部分诊断文本标注标签作为样本有标签数据集,搜集各个医院保存的大量诊断文本作为无标签数据集。
步骤1202,使用样本有标签数据集训练BERT-CRF模型的初始模型,得到BERT-CRF模型。
步骤1203,调用BERT-CRF模型对无标签数据集进行命名实体识别得到更新识别结果集,将更新识别结果集中的命名实体加入到词典中。
步骤1204,根据词典构建DAG模型。
步骤1205,调用BERT-CRF模型对第一无标签数据集进行命名实体识别得到第一模型识别结果集,调用DAG模型对第一无标签数据集进行命名实体识别得到第二模型识别结果集。
步骤1206,对于第一模型识别结果集与第二模型识别结果集中具有相同的起始位置、不同的终止位置,或,具有相同的终止位置、不同的起始位置的命名实体,采信第二模型识别结果集中对该命名实体标注的标签,其余情况采信第一模型识别结果集中对其余命名实体标注的标签,经过修正得到第三模型识别结果集。
步骤1207,将第三模型识别结果集加入到样本有标签数据集中,更新样本有标签数据集。
然后重复步骤1202至步骤1207的步骤,迭代训练更新BERT-CRF模型和DAG模型的词典。从而最终获得能够识别医疗文本数据中的命名实体的两个NER模型,使用其中至少一个NER模型来识别医疗文本中的命名实体。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图13示出了本申请的一个示例性实施例提供的命名实体识别模型的训练装置的结构示意图。该装置包括:
第一模型模块801,用于调用第一NER模型识别第一无标签数据集得到第一模型识别结果集,所述第一NER模型是基于预训练语言模型进行命名实体识别的模型;
第二模型模块802,用于调用第二NER模型识别所述第一无标签数据集得到第二模型识别结果集,所述第二NER模型是基于词典进行命名实体识别的模型;
修正模块803,用于根据所述第二模型识别结果集修正所述第一模型识别结果集得到第三模型识别结果集;
训练模块804,用于根据所述第三模型识别结果集训练更新所述第一NER模型;
所述第一模型模块801,还用于调用更新后的所述第一NER模型识别第二无标签数据集得到第一更新识别结果集;
词典更新模块805,用于根据所述第一更新识别结果集更新所述第二NER模型的所述词典。
在一个可选的实施例中,所述第一无标签数据集包括K个无标签文本数据,所述第一模型识别结果集、所述第二模型识别结果集和所述第二模型识别结果集包括K个有标签文本数据,K是正整数;
所述修正模块803,还用于根据所述第二模型识别结果集中的第i个有标签文本数据修正所述第一模型识别结果集中的第i个有标签文本数据,所述第二模型识别结果集中的第i个有标签文本数据与所述第一模型识别结果集中的第i个有标签文本数据存在至少一个标签不同的命名实体,i是小于或等于K的正整数。
在一个可选的实施例中,所述修正模块803,还用于响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置相同且终止位置不同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,m、n是正整数;
或,
所述修正模块803,还用于响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置不同且终止位置相同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,m、n是正整数。
在一个可选的实施例中,所述训练模块804,还用于使用样本有标签数据集训练初始模型得到所述第一NER模型。
在一个可选的实施例中,所述第一模型模块801,还用于调用所述第一NER模型识别所述第二无标签数据集得到更新识别结果集;
所述词典更新模块805,还用于根据所述更新识别结果集构建所述第二NER模型的所述词典。
在一个可选的实施例中,所述装置还包括:
样本更新模块806,用于将所述第三模型识别结果集加入所述样本有标签数据集,更新所述样本有标签数据集;
所述训练模块804,还用于使用更新后的所述样本有标签数据集训练更新所述第一NER模型。
在一个可选的实施例中,所述装置还包括:
所述第一模型模块801,还用于调用更新后的所述第一NER模型识别所述第一无标签数据集得到第j-2模型识别结果集,j是3的整数倍且j为正数;
所述第二模型模块802,还用于调用更新后的所述第二NER模型识别所述第一无标签数据集得到第j-1模型识别结果集;
所述修正模块803,还用于根据所述第j-2模型识别结果集修正所述第j-1模型识别结果集得到第j模型识别结果集;
所述训练模块804,还用于根据所述第j模型识别结果集训练更新所述第一NER模型;
所述第一模型模块801,还用于调用更新后的所述第一命名实体识别NER模型识别所述第二无标签数据集得到第j-2更新识别结果集;
所述词典更新模块805,还用于根据所述第j-2更新识别结果集更新所述第二NER模型的所述词典;
迭代模块807,用于重复上述步骤迭代更新所述第一NER模型和所述第二NER模型。
在一个可选的实施例中,所述装置还包括:
样本更新模块806,用于将所述第j模型识别结果集加入样本有标签数据集,更新所述样本有标签数据集;
所述训练模块804,还用于使用更新后的所述样本有标签数据集训练更新所述第一NER模型;
所述迭代模块807,还用于响应于所述样本有标签数据集包含第x模型识别结果集,停止迭代,x大于等于j且x是3的整数倍。
图14示出了本申请的一个示例性实施例提供的命名实体识别装置的结构示意图。该装置包括:
存储模块904,用于存储第一NER模型和第二NER模型,所述第一NER模型是采用上述任一实施例提供的命名实体识别模型的训练方法训练得到的所述第一NER模型,所述第二NER模型是采用任一实施例提供的命名实体识别模型的训练方法装置训练得到的所述第二NER模型;
第一调用模块901,用于调用所述第一NER模型识别文本数据得到第一识别结果;
或,
第二调用模块902,用于调用所述第二NER模型识别所述文本数据得到第二识别结果;
或,
第三调用模块903,用于调用所述第一NER模型和所述第二NER模型识别所述文本数据得到第三识别结果。
图15是本申请一个实施例提供的服务器的结构示意图。具体来讲:服务器1000包括中央处理单元(英文:Central Processing Unit,简称:CPU)1001、包括随机存取存储器(英文:Random Access Memory,简称:RAM)1002和只读存储器(英文:Read-Only Memory,简称:ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入/输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入/输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者只读光盘(英文:Compact Disc Read-Only Memory,简称:CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(英文:Erasable Programmable Read-Only Memory,简称:EPROM)、电可擦除可编程只读存储器(英文:Electrically Erasable Programmable Read-Only Memory,简称:EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(英文:Digital Versatile Disc,简称:DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本申请的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的命名实体识别模型的训练方法。需要说明的是,该终端可以是如下图16所提供的终端。
图16示出了本申请一个示例性实施例提供的终端1100的结构框图。该终端1100可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行以实现本申请中方法实施例提供的命名实体识别模型的训练方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107和电源1108中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。示例性的,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105可以是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。示例性的,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1100的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
电源1108用于为终端1100中的各个组件进行供电。电源1108可以是交流电、直流电、一次性电池或可充电电池。当电源1108包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1109。该一个或多个传感器1109包括但不限于:加速度传感器1110、陀螺仪传感器1111、压力传感器1112、光学传感器1113以及接近传感器1114。
加速度传感器1110可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1110可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1110采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1110还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1111可以检测终端1100的机体方向及转动角度,陀螺仪传感器1111可以与加速度传感器1110协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1111采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1112可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1112设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1112采集的握持信号进行左右手识别或快捷操作。当压力传感器1112设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1113用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1113采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1113采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1114,也称距离传感器,通常设置在终端1100的前面板。接近传感器1114用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1114检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1114检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图16中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的命名实体识别模型的训练方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的命名实体识别模型的训练方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的命名实体识别模型的训练方法。
本申请还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的命名实体识别方法。
本申请还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的命名实体识别方法。
本申请还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的命名实体识别模型的训练方法。
本申请还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述可选实现方式中提供的命名实体识别方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种命名实体识别模型的训练方法,其特征在于,所述方法包括:
使用样本有标签数据集训练初始模型得到第一命名实体识别NER模型,所述第一命名实体识别NER模型是基于预训练语言模型进行命名实体识别的模型,所述第一命名实体识别NER模型将根据输入的文本数据的上下文提取所述文本数据的语义特征,根据所述语义特征进行命名实体识别;调用所述第一命名实体识别NER模型识别第一无标签数据集得到更新识别结果集,所述第一无标签数据集包括K个无标签文本数据;根据所述更新识别结果集通过词频统计的方式构建第二命名实体识别NER模型的词典,所述第二命名实体识别NER模型是基于词典进行命名实体识别的模型,所述第二命名实体识别NER模型将基于所述词典中存储的词语识别输入的文本数据中的命名实体;
调用所述第一命名实体识别NER模型和所述第二命名实体识别NER模型,执行多次迭代过程;在一次迭代过程中,执行如下步骤:
调用所述第一命名实体识别NER模型识别所述第一无标签数据集得到第一模型识别结果集;调用所述第二命名实体识别NER模型识别所述第一无标签数据集得到第二模型识别结果集;
响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置相同且终止位置不同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,得到第三模型识别结果集中的第i个有标签文本数据,m、n是正整数;响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置不同且终止位置相同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,得到第三模型识别结果集中的第i个有标签文本数据,所述第二模型识别结果集中的第i个有标签文本数据与所述第一模型识别结果集中的第i个有标签文本数据存在至少一个标签不同的命名实体,i是小于或等于K的正整数;响应于所述第一模型识别结果集识别出的命名实体,在所述第二模型识别结果集中并没有被识别出,在所述第三模型识别结果集中保持所述第一模型识别结果集对所述识别出的命名实体的标签不变;
在所述样本有标签数据集未包含所述第三模型识别结果集的情况下,将所述第三模型识别结果集加入所述样本有标签数据集,更新所述样本有标签数据集;在所述样本有标签数据集包含所述第三模型识别结果集的情况下,停止迭代;
使用更新后的所述样本有标签数据集训练更新所述第一命名实体识别NER模型; 调用更新后的所述第一命名实体识别NER模型识别所述第一无标签数据集得到第一更新识别结果集,根据所述第一更新识别结果集更新所述第二命名实体识别NER模型的所述词典。
2.一种命名实体识别方法,其特征在于,所述方法包括:
调用第一命名实体识别NER模型识别文本数据得到第一识别结果,所述第一命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第一命名实体识别NER模型;
或,
调用第二命名实体识别NER模型识别所述文本数据得到第二识别结果,所述第二命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第二命名实体识别NER模型;
或,
调用第一命名实体识别NER模型和第二命名实体识别NER模型识别所述文本数据得到第三识别结果,所述第一命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第一命名实体识别NER模型;所述第二命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第二命名实体识别NER模型。
3.一种命名实体识别模型的训练装置,其特征在于,所述装置包括:
训练模块,用于使用样本有标签数据集训练初始模型得到第一命名实体识别NER模型,所述第一命名实体识别NER模型是基于预训练语言模型进行命名实体识别的模型,所述第一命名实体识别NER模型将根据输入的文本数据的上下文提取所述文本数据的语义特征,根据所述语义特征进行命名实体识别;
第一模型模块,用于调用所述第一命名实体识别NER模型识别第一无标签数据集得到更新识别结果集,所述第一无标签数据集包括K个无标签文本数据;
词典更新模块,用于根据所述更新识别结果集通过词频统计的方式构建第二命名实体识别NER模型的词典,所述第二命名实体识别NER模型是基于词典进行命名实体识别的模型,所述第二命名实体识别NER模型将基于所述词典中存储的词语识别输入的文本数据中的命名实体;
迭代模块,用于调用所述第一命名实体识别NER模型和所述第二命名实体识别NER模型,执行多次迭代过程;
所述第一模型模块,用于在一次迭代过程中,调用所述第一命名实体识别NER模型识别第一无标签数据集得到第一模型识别结果集;
第二模型模块,用于在一次迭代过程中,调用所述第二命名实体识别NER模型识别所述第一无标签数据集得到第二模型识别结果集;
修正模块,用于在一次迭代过程中,响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置相同且终止位置不同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,得到第三模型识别结果集中的第i个有标签文本数据,m、n是正整数;响应于所述第二模型识别结果集中的第i个有标签文本数据的第m个命名实体与所述第一模型识别结果集中的第i个有标签文本数据的第n个命名实体的起始位置不同且终止位置相同,使用所述第m个命名实体的标签替换所述第n个命名实体的标签,得到第三模型识别结果集中的第i个有标签文本数据,所述第二模型识别结果集中的第i个有标签文本数据与所述第一模型识别结果集中的第i个有标签文本数据存在至少一个标签不同的命名实体,i是小于或等于K的正整数;响应于所述第一模型识别结果集识别出的命名实体,在所述第二模型识别结果集中并没有被识别出,在所述第三模型识别结果集中保持所述第一模型识别结果集对所述识别出的命名实体的标签不变;
样本更新模块,用于在一次迭代过程中,在所述样本有标签数据集未包含所述第三模型识别结果集的情况下,将所述第三模型识别结果集加入所述样本有标签数据集,更新所述样本有标签数据集;
所述迭代模块,还用于在一次迭代过程中,在所述样本有标签数据集包含所述第三模型识别结果集的情况下,停止迭代;
所述训练模块,还用于在一次迭代过程中,使用更新后的所述样本有标签数据集训练更新所述第一命名实体识别NER模型;
所述第一模型模块,还用于在一次迭代过程中,调用更新后的所述第一命名实体识别NER模型识别第二无标签数据集得到第一更新识别结果集,所述第二无标签数据集与所述第一无标签数据集是同一个无标签数据集;
所述词典更新模块,还用于在一次迭代过程中,根据所述第一更新识别结果集更新所述第二命名实体识别NER模型的所述词典。
4.一种命名实体识别装置,其特征在于,所述装置包括:
存储模块,用于存储第一命名实体识别NER模型和第二命名实体识别NER模型,所述第一命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第一命名实体识别NER模型,所述第二命名实体识别NER模型是采用如权利要求1所述的方法训练得到的所述第二命名实体识别NER模型;
第一调用模块,用于调用所述第一命名实体识别NER模型识别文本数据得到第一识别结果;
或,
第二调用模块,用于调用所述第二命名实体识别NER模型识别所述文本数据得到第二识别结果;
或,
第三调用模块,用于调用所述第一命名实体识别NER模型和所述第二命名实体识别NER模型识别所述文本数据得到第三识别结果。
5.一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现如权利要求1所述的命名实体识别模型的训练方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行,以实现如权利要求1所述的命名实体识别模型的训练方法。
7.一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现如权利要求2所述的命名实体识别方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行,以实现如权利要求2所述的命名实体识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838651.3A CN111985240B (zh) | 2020-08-19 | 2020-08-19 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838651.3A CN111985240B (zh) | 2020-08-19 | 2020-08-19 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985240A CN111985240A (zh) | 2020-11-24 |
CN111985240B true CN111985240B (zh) | 2024-02-27 |
Family
ID=73435730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010838651.3A Active CN111985240B (zh) | 2020-08-19 | 2020-08-19 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985240B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487814B (zh) * | 2020-11-27 | 2024-04-02 | 北京百度网讯科技有限公司 | 实体分类模型训练方法、实体分类方法、装置及电子设备 |
CN114548094A (zh) * | 2020-11-27 | 2022-05-27 | 新智数字科技有限公司 | 一种用于命名实体识别的模型训练方法和装置 |
CN112766001A (zh) * | 2021-01-14 | 2021-05-07 | 语联网(武汉)信息技术有限公司 | 企业名称翻译方法及装置 |
CN113051921B (zh) * | 2021-03-17 | 2024-02-20 | 北京智慧星光信息技术有限公司 | 互联网文本实体识别方法、系统、电子设备及存储介质 |
CN113408285B (zh) * | 2021-05-26 | 2024-03-22 | 杭州安恒信息技术股份有限公司 | 金融主体的识别方法、电子装置和存储介质 |
CN113642330B (zh) * | 2021-07-19 | 2024-04-30 | 西安理工大学 | 基于目录主题分类的轨道交通规范实体识别方法 |
CN113392633B (zh) * | 2021-08-05 | 2021-12-24 | 中国医学科学院阜外医院 | 一种医疗命名实体识别的方法、装置及存储介质 |
CN113836919A (zh) * | 2021-09-30 | 2021-12-24 | 中国建筑第七工程局有限公司 | 一种基于迁移学习的建筑行业文本纠错方法 |
CN114004232A (zh) * | 2021-10-28 | 2022-02-01 | 深圳壹账通智能科技有限公司 | 一种切割地址的方法、装置、设备及可读存储介质 |
CN114330345B (zh) * | 2021-12-24 | 2023-01-17 | 北京百度网讯科技有限公司 | 命名实体识别方法、训练方法、装置、电子设备及介质 |
CN114548109B (zh) * | 2022-04-24 | 2022-09-23 | 阿里巴巴达摩院(杭州)科技有限公司 | 命名实体识别模型训练方法及命名实体识别方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201904167D0 (en) * | 2019-03-26 | 2019-05-08 | Benevolentai Tech Limited | Name entity recognition with deep learning |
CN109858041A (zh) * | 2019-03-07 | 2019-06-07 | 北京百分点信息科技有限公司 | 一种半监督学习结合自定义词典的命名实体识别方法 |
US10635751B1 (en) * | 2019-05-23 | 2020-04-28 | Capital One Services, Llc | Training systems for pseudo labeling natural language |
CN111125378A (zh) * | 2019-12-25 | 2020-05-08 | 同方知网(北京)技术有限公司 | 一种基于自动样本标注的闭环实体抽取方法 |
CN111339759A (zh) * | 2020-02-21 | 2020-06-26 | 北京百度网讯科技有限公司 | 领域要素识别模型训练方法、装置及电子设备 |
CN111553164A (zh) * | 2020-04-29 | 2020-08-18 | 平安科技(深圳)有限公司 | 命名实体识别模型的训练方法、装置、计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017130434A1 (ja) * | 2016-01-28 | 2017-08-03 | 楽天株式会社 | 多言語の固有表現認識モデルの転移を行うコンピュータシステム、方法、およびプログラム |
-
2020
- 2020-08-19 CN CN202010838651.3A patent/CN111985240B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858041A (zh) * | 2019-03-07 | 2019-06-07 | 北京百分点信息科技有限公司 | 一种半监督学习结合自定义词典的命名实体识别方法 |
GB201904167D0 (en) * | 2019-03-26 | 2019-05-08 | Benevolentai Tech Limited | Name entity recognition with deep learning |
US10635751B1 (en) * | 2019-05-23 | 2020-04-28 | Capital One Services, Llc | Training systems for pseudo labeling natural language |
CN111125378A (zh) * | 2019-12-25 | 2020-05-08 | 同方知网(北京)技术有限公司 | 一种基于自动样本标注的闭环实体抽取方法 |
CN111339759A (zh) * | 2020-02-21 | 2020-06-26 | 北京百度网讯科技有限公司 | 领域要素识别模型训练方法、装置及电子设备 |
CN111553164A (zh) * | 2020-04-29 | 2020-08-18 | 平安科技(深圳)有限公司 | 命名实体识别模型的训练方法、装置、计算机设备 |
Non-Patent Citations (2)
Title |
---|
基于多神经网络协同训练的命名实体识别;王栋;李业刚;张晓;;智能计算机与应用(第02期);133-137 * |
基于预训练BERT字嵌入模型的领域实体识别;丁龙;文雯;林强;;情报工程(第06期);65-75 * |
Also Published As
Publication number | Publication date |
---|---|
CN111985240A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985240B (zh) | 命名实体识别模型的训练方法、命名实体识别方法及装置 | |
CN110490213B (zh) | 图像识别方法、装置及存储介质 | |
US20210264227A1 (en) | Method for locating image region, model training method, and related apparatus | |
CN112347795B (zh) | 机器翻译质量评估方法、装置、设备及介质 | |
CN111897964B (zh) | 文本分类模型训练方法、装置、设备及存储介质 | |
CN110599557B (zh) | 图像描述生成方法、模型训练方法、设备和存储介质 | |
WO2022007823A1 (zh) | 一种文本数据处理方法及装置 | |
CN110110145B (zh) | 描述文本生成方法及装置 | |
CN112069309B (zh) | 信息获取方法、装置、计算机设备及存储介质 | |
WO2023125335A1 (zh) | 问答对生成的方法和电子设备 | |
CN111414736B (zh) | 故事生成模型训练方法、装置、设备及存储介质 | |
CN110852100A (zh) | 关键词提取方法、装置、电子设备及介质 | |
EP4336490A1 (en) | Voice processing method and related device | |
US20220309088A1 (en) | Method and apparatus for training dialog model, computer device, and storage medium | |
CN113515942A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN113761888A (zh) | 文本翻译方法、装置、计算机设备及存储介质 | |
CN110555102A (zh) | 媒体标题识别方法、装置及存储介质 | |
CN114281956A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN113822076A (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
CN115757692A (zh) | 一种数据处理方法及其装置 | |
CN111553163A (zh) | 文本相关度的确定方法、装置、存储介质及电子设备 | |
CN113836946B (zh) | 训练评分模型的方法、装置、终端及存储介质 | |
CN111414737B (zh) | 故事生成模型训练方法、装置、设备及存储介质 | |
CN113822084A (zh) | 语句翻译方法、装置、计算机设备及存储介质 | |
CN117454954A (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 |