CN116796742A - 一种中医古籍命名实体识别方法、装置、设备和存储介质 - Google Patents

一种中医古籍命名实体识别方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116796742A
CN116796742A CN202310301549.3A CN202310301549A CN116796742A CN 116796742 A CN116796742 A CN 116796742A CN 202310301549 A CN202310301549 A CN 202310301549A CN 116796742 A CN116796742 A CN 116796742A
Authority
CN
China
Prior art keywords
training
ancient book
model
corpus
chinese
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.)
Pending
Application number
CN202310301549.3A
Other languages
English (en)
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.)
Suzhou Fubian Medical Technology Co ltd
Shanghai Jiaotong University School of Medicine
Original Assignee
Suzhou Fubian Medical Technology Co ltd
Shanghai Jiaotong University School of Medicine
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 Suzhou Fubian Medical Technology Co ltd, Shanghai Jiaotong University School of Medicine filed Critical Suzhou Fubian Medical Technology Co ltd
Priority to CN202310301549.3A priority Critical patent/CN116796742A/zh
Publication of CN116796742A publication Critical patent/CN116796742A/zh
Pending legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种中医古籍命名实体识别方法、装置、设备和存储介质。其中,该方法包括:先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,在中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对预处理后的中医古籍语料进行预标注;基于预标注后的数据对待训练的命名实体识别模型进行初步训练,通过至少引入一次新数据对初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。本发明的技术方案,解决了中医古籍中经典名方的关键信息的考证问题,提高对中医古籍文献命名实体识别的准确度。

Description

一种中医古籍命名实体识别方法、装置、设备和存储介质
技术领域
本发明实施例涉及信息处理技术领域,尤其涉及一种中医古籍命名实体识别方法、装置、设备和存储介质。
背景技术
经典名方的制剂简化注册成为目前新药研发的热点之一,其中,关键信息考证是经典名方开发利用的关键性、源头性问题。
然而,由于中医药具有独特的理论体系,海量的中医典籍和几千年的人用经验中蕴藏着不为我们所知的大量信息。经典名方的关键信息具有时间跨度长、变迁多、数据量大、存储形式多样化、高价值性等特征。人工智能(Artificial Intelligence,AI)的意义不仅在于掌握庞大的数据信息,而且在于对这些数据进行专业化处理,应用的关键在于提高对数据的“加工”能力,通过人工智能高效准确地“加工”挖掘数据的“价值”。
但传统中医药典数据与现代文本训练数据存在较大的写作风格与用词的差异,现有的自然语言处理常用训练集并不能很好的适用于中医古籍。此外,中医古籍的成书时间跨度很大,相互之间也存在显著的风格差异。若采用传统的监督学习方法,则需要对每本药典都进行部分标记,以使得深度学习网络能够适应该典籍。然而,中医领域的标注和特征设计需要较深的专业领域知识,所以时间和人力代价较高。
总体而言运用人工智能、互联网、数据挖掘技术等技术对中医药文献的创新研究不足,准确性和专业性有待提高,亟需建立和发展一种更为高效专业的机器学习方法用于古医籍中经典名方关键信息的考证。
发明内容
本发明提供一种中医古籍命名实体识别方法、装置、设备和存储介质,以解决中医古籍中经典名方的关键信息考证问题,提高对中医古籍文献命名实体识别的准确度。
第一方面,本发明实施例提供了一种中医古籍命名实体识别方法,包括:
S1、获取包含中医古籍的中文古籍原始语料;
S2、对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
S3、先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
S4、将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
S5、基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
S6、在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
第二方面,本发明实施例还提供了一种中医古籍命名实体识别装置,包括:
原始语料获取模块,用于获取包含中医古籍的中文古籍原始语料;
预处理模块,用于对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
预训练模块,用于先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
预标注模块,用于将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
初步训练模块,用于基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
模型更新模块,用于在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例中任一项所述的中医古籍命名实体识别方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述实施例中任一项所述的中医古籍命名实体识别方法。
本发明的有益效果:
本发明采用二次预训练的方式,在预处理后的中文古籍语料进行第一阶段的语言模型预训练,然后在预处理后的中医古籍语料进行第二阶段的语言模型预训练,通过两个阶段的预训练,可以更细粒度地针对中医古籍这一在中文古籍中高度专业化、表达更生僻的文本进行表示学习,提升对下游任务的学习能力;
此外,采用基于中文古籍语料预训练的方法,相比于从头开始训练模型(learnfrom scratch),一方面较好地解决了标注语料有限所导致的小样本问题,另一方面也解决了中文古文由于语言风格特殊所导致的基于现代汉语预训练的语言模型难以迁移使用的问题。
本发明的命名实体识别方法基于序列标注和边界约束,较好地解决了中医古籍命名实体识别任务中的多类型嵌套标签问题。
附图说明
图1为本发明实施例提供的一种中医古籍命名实体识别方法的流程图;
图2为本发明实施例提供的一种基于人机协作的自动命名实体识别模型训练流程;
图3为本发明实施例提供的一种命名实体识别模型整体结构图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例
图1为本发明实施例提供的一种中医古籍命名实体识别方法的流程图,具体包括如下步骤:
S1、获取包含中医古籍的中文古籍原始语料。
本实施例中的原始语料可以从各种公开的数据库获取。示例性的,本实施例数据源为殆知阁(https://github.com/garychowcmu/daizhigev20),该语料库包含超过1.5万本古籍,约17亿字符,其中的中医古籍部分需要经过专业人士认证。
S2、对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料。
具体的,首先对原始语料进行简繁转换,再进行错别字、生僻字、标点符号的处理以及乱码校正,并将单字作为基本单元(不做分词),构建词表,得到预处理后的中文古籍语料;
进一步的,从预处理后的中文古籍语料中挑选出中医古籍语料,作为预处理后的中医古籍语料。其中,中医古籍的排版需要按照药方名、出处、正文的格式。
S3、先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型。
本实施例中,首先基于大规模无标签古籍,如佛、儒、医、史、子、易、诗、道、集等做第一阶段的语言模型预训练(粗粒度预训练),然后在无标签中医古籍上做进行第二阶段的语言模型预训练(细粒度预训练)。本实施例中使用RoBERTa作为预训练模型。
进一步的,上述S3具体包括:
S31、基于所述预处理后的中文古籍语料,通过拷贝方式模拟动态掩码,按照句子长度的一定比例进行掩码操作。
本实施例中,预训练的任务形式为:以掩码后的句子作为输入,预测被掩码的内容。上述一定比例为10%。
表1中文古籍语料中单句动态掩码结果示例
原文 峨眉山月半轮秋影入平羌江水流
MASK1输入 峨眉山[MASK]半轮秋影入平[MASK]江水流
MASK2输入 峨[MASK]山月半轮秋影入平羌江水流
MASK3输入 峨眉山月半轮[MASK]影入平羌江水[MASK]
S32、基于经掩码操作的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型。
在本实施例中,基于现代汉语RoBERTa模型的权重,使用步骤S31的数据,以掩码语言任务进行初次预训练,将现代汉语知识向古代汉语进行迁移,得到中文古籍预训练模型。
S33、基于所述预处理后的中医古籍语料,通过拷贝的方式模拟动态掩码,按照句子长度一定比例进行掩码操作。
本实施例中,预训练的任务形式为:以掩码后的句子作为输入,预测被掩码的内容。上述一定比例为10%。
表2中医古籍语料中单句动态掩码结果示例。
原文 五脏六腑之精华,皆上注于目。
MASK1输入 五[MASK]六腑之精华,皆上注于目。
MASK2输入 五脏六腑之精华[MASK]皆上[MASK]于目。
MASK3输入 五脏六[MASK]之精华,皆上注于目。
S34、基于所述中文古籍预训练模型权重,以及经掩码操作的中医古籍掩码语料,进行第二阶段的语言模型预训练,得到中医古籍预训练模型。
基于S32的中文古籍预训练模型权重,以及S33生成的中医古籍掩码语料,以掩码语言任务进行二次预训练,将古汉语知识进一步迁移到中医古籍领域,得到中医古籍语料预训练模型。
本发明采用二次预训练的方式,在大语言模型基于中文古籍进行预训练后,又基于中医古籍进行预训练,由此可以更细粒度地针对中医古籍这一在中文古籍中高度专业化、表达更生僻的文本进行表示学习,提升对下游任务的学习能力。
S4、将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集。
本实施例从预处理后的中医古籍语料中进一步挑选用于专业人士标注的目标中医古籍语料。示例性的,本发明实施例从预处理后的中医古籍语料选择《千金药方》作为专业人士进行预标注的文本。通过将目标中医古籍语料上传至数据标注平台,通过该平台可展示古籍药方文本,专业人士可通过古籍选取、标签选择、字段选取、高亮展示等操作执行标注工作。
本发明实施例通过采用有限的经过专业人士预标注的数据来初步训练命名实体识别模型,重点解决了多类型标签嵌套问题。
进一步参见图2,图2为本发明实施例提供的一种基于人机协作的自动命名实体识别模型训练流程图。在本实施中,首先通过专业人士对预处理后的部分中医古籍语料进行预标注,然后基于预标注后的数据对命名实体识别模型进行初步训练,后续通过引入新数据,用最近迭代的命名实体识别模型自动生成标签(即机器标签)后,经过专业人士进行标签纠错,可用于模型进一步的迭代更新。
具体的,在整个预标注的步骤包括:
S41:确定实体识别种类。
本实施例中选择的初始实体类型为:处方(0)、制法(1)、用法用量(2)、药味(3)、炮制规格(4)、剂量(5)和功能主治(6)。在具体实施过程中,专业人士可以在标注平台上增加实体类型。平台或系统的实体种类包含但不限于上述实体种类。
S42:确定序列标注形式。
示例性的,本实施例采用BMEO的标注方案。其中,B即Begin,用于表示一个实体的开始。E,即End,用于表示一个实体的结束。M,即Median,用于表示一个实体除了头部和尾部位置外中间的字符。O表示Others,用于标注非实体开头和结尾的其他位置字符。
S43:把标注平台导出的json文件分别划分为训练集和测试集,一个json文件代表一首药方。其中,随机挑选若干首药方作为测试集,其余药方作为训练集。
由于中医古籍源于不同时代,其语言风格也会有些不同,因此最终测试集的构成也需要多元。
每一本中医古籍,无论是用于预标注,或者作为新数据用于后续人机协作机器学习,都需要被独立抽取出一部分作为测试集。本实施例对每本中医古籍均采用100首药方作为测试集,该测试集仅用于最终的模型效果评价,不参与标签纠错和模型更新的回路。
S44:基于步骤S43的划分方式,将S4获得的用于专家预标注的中医古籍的json文件处理成模型训练所需要的格式。json文件关键内容包含药方原始文本、实体开始下标、实体结束下标、实体类型以及实体文本。本实施例中标注平台导出json文件格式如下:。
本实施例中的位置标注符合Python语法左闭右开,即包含startindex所指下标,不包含endindex所指下标。
本发明实施例通过标注平台上传经过预处理的中医古籍文献,供专业人士进行适当标注、标签纠错等操作,无需借助第三方平台,且可自由定义需求,保证了数据安全和任务的灵活度。
S45:对模型初步训练阶段的文本进行预标注,具体包括:
标注文本中的每个字符是否属于某个实体的开头、结尾或者中间部分,以及每个字符对应的实体种类,中间以下划线连接。如果同一个字符同时拥有多个标签,即存在实体嵌套情况,则两个实体类型通过“||”符号连接。此外,预处理过程也需要清洗原始文本中的空格或者换行符等特殊符号。去除文本中的特殊符号的同时需要修改实体对应的开始下标和结束下标。
表3预处理后的训练数据示例
文本内容 标签
B_1
M_1
M_1||B_3
M_1||E_3
E_1
O
S46:基于S45的结果进行标点符号的标签修正。由于不同专业人士的标注习惯不同或者误标情况的存在,文本中的标点符号在标注时存在与前一个实体相同或者为O的情况。预处理时规定标点符号统一标注为O标签。原本为上一个实体结尾的标点符号,其前一个字符改标注成实体的结尾E。原本为O标签的标点符号保持不变。
S47:将S46经过修正后的结果持久化存储为npz文件,后续模型的训练可以直接读取该npz文件。经持久化存储后的训练文件名为train.npz,测试文件名为test.npz。
S48:读取训练集数据,按照9∶1的比例将训练数据进一步划分成训练集和验证集。同时测试集保持不变。
S5、基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型。
本实施例中的命名实体识别模型是在中医古籍预训练模型的基础上,结合双向长短期记忆网络模型、实体边界分类模型和实体类型分类模型构建得到,基于所述训练数据集对所述待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型。
本实施例中,通过将所述训练数据集中的文本序列输入中医古籍预训练模型得到文本序列每个字符对应的字向量;将每个字符对应的字向量输入双向长短期记忆网络得到文本序列对应的隐层向量;根据隐藏向量同时训练实体边界分类模型和实体类型分类模型,以得到初步训练后的命名实体识别模型。
具体的,命名实体识别模型的初步训练包括以下步骤:
S510:将经过两个阶段预训练得到的中医古籍预训练模型guwenRoBERTa作为初步训练的编码层。
输入文本序列X=(x1,x2,…,xn)通过编码层可以获取每个字符所对应的字向量Y=(y1,y2,…,yn)。其中xi∈X,yi∈Y。
yi=guwenRoBERTa(xi)
本实施例中,设置文本序列最大长度阈值为500,即n<=500。小于该阈值的序列直接使用中医古籍预训练模型获取序列对应的字向量表示。大于该阈值的序列,首先按照句号对序列进行切分。切分完之后,以单个句子为序列再使用中医古籍预训练模型获取对应的字向量。
S511:在获取字向量之后,使用BiLSTM模型获取序列的隐层向量H=(h1,h2,…,hn)。数学公式表达如下,→符号表示序列正向方向,←符号表示序列反向方向,hi∈H。
S512:获取到S511生成的隐层向量H,使用实体边界分类器classifierl对每个带标签的字符(token)进行分类。本实施例使用全连接层(MLP)作为实体边界分类器classifierl。
因为本实施例采用的是BMEO标注方式,在进行实体边界分类任务时,只考虑实体开头和结尾,因此标注方式改成BEO,即将原先属于M的token标签改成O。
更换过程中,如果某一token同时存在多个标签,则只保留表示实体开头B或者结尾E的标签,其余改成O标签。
本实施例中,使用实体边界分类器classifierl预测出每个token的标签种类分布di
di=SoftMax(MLP(hi))
使用KL散度计算损失,优化实体边界判断模型,其中是第i位token的真实分布。
S513:组合候选实体。
S513.1:基于S512获得的token标签,以逗号“,”或者句号“。”作为分隔符,将原序列切分成多个子序列。
S513.2:在切分后的子序列基础上,对每个出现的“B”与每个出现的“E”进行组合得到候选实体Entity(i,j),i表示实体开始位置,j表示实体结束位置,1<=i<=j<=n,“B”标签对应的单字可作为单字实体候选。
表4B、E标签组合示例
S514:使用实体类型分类器classifier2对候选实体进行分类。本实施例的classifier2为全连接层(MLP)分类器。
S514.1:计算候选实体的向量表示。基于S513.2得到的候选实体,通过公式计算每个候选实体的向量表示。
S514.2:本实施例中,初始实体种类有七种,加上“不属于实体”这一类别共有八种。classifier2分类器基于Entity(i,j)进行八分类判断。
di,j=SoftMax(MLP(Entity(i,j)))
S514.3:使用KL散度计算损失,优化实体类型判断模型。其中,是位置i到位置j实体的真实种类分布。
S515:以多任务形式,同时训练实体边界分类模型和实体类型分类模型得到最终中医古籍命名实体识别模型guwenMedNER。多任务训练损失函数计算公式如下。
Lmulti=α∑LBKL+(1-α)∑LEKL
本实施例中的命名实体识别模型的整体结构如图3所示。
本发明基于序列标注和边界约束实现嵌套实体识别方法,相比于传统基于单一的序列标注方法,本发明更利于解决标签嵌套问题,相比于单一的基于span的方法,本发明的计算复杂度更低。
S6、在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
本实施例中,初步训练的命名实体识别模型可以在未经人工标注的数据上生成机器标签。
继续参见2,在命名实体识别模型初步训练之后,还可以通过引入新数据通过初步训练后的命名实体识别模型生成机器标签,并将带有机器标签的数据回传至标注平台,请专业人士进行标签纠错,更新后的数据可用于命名实体识别模型的进一步更新,专业人士在标注平台的标注工作与模型的训练更新可重复交替进行,由此得到稳定高效的模型。本实施例中的新数据可以采用从预处理后的中医古籍语料中挑选的《太平惠民和剂局方》。
具体的,引入新数据生成机器标签之后还包括以下步骤:
S61对生成机器标签的新数据进行文本预处理,具体包括去除文本中的换行符,空格。将预处理好的文本写进中间文件clean_file.txt进行持久化保存。
S62:逐行读取clean_file.txt,将每行文本输入命名实体识别guwenMedNER模型进行推理。
S63:按照每行的原始文本与每行的推理结果顺序进行拼接,最后以行为单位写进推理结果文件。当某一字符预测出多标签时以“||”进行拼接。
表5为部分结果示例
次入雄黄,…['O','O','B_药味','E_药味','O',…]
常服助养真逐阴…['O','O','O','B_功能主治','M_功能主治','M_功能主治','E_功能主治',…]
大痢,服二丸…['B_功能主治','E_功能主治','O','B_用法用量','M_用法用量','E_用法用量',…]
S64:推理结果转写成json文件供后台调用并高亮展示给专业人士进行校正使用。
具体的,专业人士可以在标注平台检视机器标签,并在此基础上对错误的结果进行修正,机器标签可能的错误包括:类型错、区间对-改正类型;类型对、区间错-改正区间;类型错、区间错-删除重标。专业人士也可以在原有实体类型的基础上,增加新的实体类型。基于专业人士修正过标签的文本数据,可以再次被用于更新模型。
可选的,如果专业人士是做自动标注结果纠错,则将纠错后的文本及正确标签纳入原训练集做模型更新。目标是使新模型提升对上一版本预测错的样例的预测准确率。
如果专业人士做新实体类型的添加,则需要将新标注的文本和标签,结合原训练集,做增量学习(incremental learning),使得新模型既在新类上有较好的效果,又不牺牲在旧类上的效果。
人机协作机器学习中的三个模块——引入新数据生成机器标签、标签纠错、模型更新重复交替进行,直到测试准确率达到可接受范围,进而得到目标命名实体识别模型。
本发明训练的模型可在无标签数据上做推理,所得结果可作为自动标注结果回流至标注平台,供专业人士进行效果评价或者标签纠错。经过标签纠错的数据可用于更新原模型。这种人机协作机器学习可较好地在机器学习过程中引入人的反馈,使得标注和训练相互促进。
进一步的,在上述实施例的基础上,在得到目标命名实体识别模型之后,可以部署模型并对更大规模的中医古籍文本进行命名实体识别。
本发明实施例在《千金药方》和《太平惠民和剂局方》这两本中医古籍中随机各抽取100首药方作为最终测试集,进行了两个方面的效果评价。评价指标使用精度、召回率和F1 score,其中,精度(precision)是指模型预测正确数量/模型预测为实体的总述,召回率(recall)是指模型预测正确数量/测试语料中所有实体的数量,F1 score=2*precision*recall/(precision+recall)。第一方面,将本发明的方法与传统命名实体识别方法GlobalPointer模型和两阶段增长模型(Two-stage Model)进行比较,比较结果见表6;第二方面,将本发明的方法与头开始训练模型(learn from scratch)的方法进行比较,比较结果参见表7。
表6本发明与传统的命名实体识别方法效果比较
表7本发明与不采用古文预训练的方法效果比较
上述实验证明了本发明实施例中基于序列标注和边界约束的命名实体识别方法的优越性,也证明了基于中文古籍(包含中医古籍)的大语言模型预训练在中医古籍自动命名实体识别任务中的优越性。
本发明实施例还提供了一种中医古籍命名实体识别装置,该装置包括:
原始语料获取模块,用于获取包含中医古籍的中文古籍原始语料;
预处理模块,用于对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
预训练模块,用于先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
预标注模块,用于将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
初步训练模块,用于基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
模型更新模块,用于在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
可选的,所述预处理模块具体用于:
对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料;
从所述预处理后的中文古籍语料中筛选出中医古籍语料作为预处理后的中医古籍语料。
可选的,所述预训练模块具体用于:
基于所述预处理后的中文古籍语料,通过拷贝方式模拟动态掩码,按照句子长度的一定比例进行掩码操作;
基于经掩码操作的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型;
基于所述预处理后的中医古籍语料,通过拷贝的方式模拟动态掩码,按照句子长度一定比例进行掩码操作;
基于所述中文古籍预训练模型权重,以及经掩码操作的中医古籍掩码语料,进行第二阶段的语言模型预训练,得到中医古籍预训练模型。
可选的,所述预标注模块具体用于:
从预处理后的中医古籍语料中确定用于预标注的目标中医古籍语料;
将所述目标中医古籍语料上传至所述数据标注平台,以供专业人士根据实体识别种类和序列标注形式对所述目标中医古籍语料中的每个字符进行预标注,从而得到预标注后的训练数据集。
所述初步训练模块具体用于:
在所述中医古籍预训练模型的基础上,结合双向长短期记忆网络模型、实体边界分类模型和实体类型分类模型,构建待训练的命名实体识别模型;
基于所述训练数据集对所述待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型。
进一步的,上述模型更新模块中基于所述训练数据集对所述待训练的命名实体识别模型进行初步训练,包括:
将所述训练数据集中的文本序列输入中医古籍预训练模型得到文本序列每个字符对应的字向量;
将每个字符对应的字向量输入双向长短期记忆网络得到文本序列对应的隐层向量;
根据隐藏向量同时训练实体边界分类模型和实体类型分类模型,以得到初步训练后的命名实体识别模型。
本发明实施例所提供的一种中医古籍命名实体识别装置可执行本发明任意实施例所提供的一种中医古籍命名实体识别方法,具备执行方法相应的功能模块和有益效果。
图4为本发明实施例提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图4显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种中医古籍命名实体识别方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述实施例中任一项所述的中医古籍命名实体识别方法。其中,该方包括:
S1、获取包含中医古籍的中文古籍原始语料;
S2、对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
S3、先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
S4、将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
S5、基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
S6、在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种中医古籍命名实体识别方法,其特征在于,包括:
S1、获取包含中医古籍的中文古籍原始语料;
S2、对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
S3、先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
S4、将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
S5、基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
S6、在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
2.根据权利要求1所述的方法,其特征在于,所述S2具体包括:
对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料;
从所述预处理后的中文古籍语料中筛选出中医古籍语料作为预处理后的中医古籍语料。
3.根据权利要求1所述的方法,其特征在于,所述S3具体包括:
基于所述预处理后的中文古籍语料,通过拷贝方式模拟动态掩码,按照句子长度的一定比例进行掩码操作;
基于经掩码操作的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型;
基于所述预处理后的中医古籍语料,通过拷贝的方式模拟动态掩码,按照句子长度一定比例进行掩码操作;
基于所述中文古籍预训练模型权重,以及经掩码操作的中医古籍掩码语料,进行第二阶段的语言模型预训练,得到中医古籍预训练模型。
4.根据权利要求1所述的方法,其特征在于,所述S4具体包括:
从预处理后的中医古籍语料中确定用于预标注的目标中医古籍语料;
将所述目标中医古籍语料上传至所述数据标注平台,以供专业人士根据实体识别种类和序列标注形式对所述目标中医古籍语料中的每个字符进行预标注,从而得到预标注后的训练数据集。
5.根据权利要求1所述的方法,其特征在于,所述S5具体包括:
在所述中医古籍预训练模型的基础上,结合双向长短期记忆网络模型、实体边界分类模型和实体类型分类模型,构建待训练的命名实体识别模型;
基于所述训练数据集对所述待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型。
6.根据权利要求1所述的方法,其特征在于,基于所述训练数据集对所述待训练的命名实体识别模型进行初步训练,包括:
将所述训练数据集中的文本序列输入中医古籍预训练模型得到文本序列每个字符对应的字向量;
将每个字符对应的字向量输入双向长短期记忆网络得到文本序列对应的隐层向量;
根据隐藏向量同时训练实体边界分类模型和实体类型分类模型,以得到初步训练后的命名实体识别模型。
7.根据权利要求1所述的方法,其特征在于,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,包括:
通过初步训练后的命名实体模型生成新数据的机器标签;
将带有机器标签的新数据上传到标注平台以供专业人士进行标签纠错;
根据纠错后的新数据对所述初步训练后的命名实体识别模型进行更新。
8.一种中医古籍命名实体识别装置,其特征在于,包括:
原始语料获取模块,用于获取包含中医古籍的中文古籍原始语料;
预处理模块,用于对所述中文古籍原始语料进行数据预处理,以得到预处理后的中文古籍语料和中医古籍语料;
预训练模块,用于先基于预处理后的中文古籍语料进行第一阶段的语言模型预训练,得到中文古籍预训练模型,在所述中文古籍预训练模型的基础上,基于预处理后的中医古籍语料进行第二阶段的语言模型预训练,得到中医古籍预训练模型;
预标注模块,用于将预处理后的中医古籍语料上传至数据标注平台,以供专业人士对所述预处理后的中医古籍语料进行预标注,以得到预标注后的训练数据集;
初步训练模块,用于基于所述训练数据集对待训练的命名实体识别模型进行初步训练,以得到初步训练后的命名实体识别模型;
模型更新模块,用于在初步训练后的命名实体识别模型的基础上,通过至少引入一次新数据对所述初步训练后的命名实体识别模型进行更新,以得到目标命名实体识别模型。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的中医古籍命名实体识别方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的中医古籍命名实体识别方法。
CN202310301549.3A 2023-03-27 2023-03-27 一种中医古籍命名实体识别方法、装置、设备和存储介质 Pending CN116796742A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310301549.3A CN116796742A (zh) 2023-03-27 2023-03-27 一种中医古籍命名实体识别方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310301549.3A CN116796742A (zh) 2023-03-27 2023-03-27 一种中医古籍命名实体识别方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN116796742A true CN116796742A (zh) 2023-09-22

Family

ID=88046938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310301549.3A Pending CN116796742A (zh) 2023-03-27 2023-03-27 一种中医古籍命名实体识别方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116796742A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117236342A (zh) * 2023-09-28 2023-12-15 南京大经中医药信息技术有限公司 结合知识图谱的中医典籍语义分析方法及系统
CN117236342B (zh) * 2023-09-28 2024-05-28 南京大经中医药信息技术有限公司 结合知识图谱的中医典籍语义分析方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134953A (zh) * 2019-05-05 2019-08-16 北京科技大学 基于中医古籍文献的中医命名实体识别方法及识别系统
CN112163410A (zh) * 2020-10-14 2021-01-01 四川大学 一种基于深度学习的古文预训练系统及其训练方法
CN112541355A (zh) * 2020-12-11 2021-03-23 华南理工大学 一种实体边界类别解耦的少样本命名实体识别方法与系统
CN114021567A (zh) * 2021-11-03 2022-02-08 南京农业大学 一种基于深度学习模型的自动识别古籍引书系统和方法
CN114239585A (zh) * 2021-12-17 2022-03-25 安徽理工大学 一种生物医学嵌套命名实体识别方法
CN115510242A (zh) * 2022-10-04 2022-12-23 河南科技大学 一种中医文本实体关系联合抽取方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134953A (zh) * 2019-05-05 2019-08-16 北京科技大学 基于中医古籍文献的中医命名实体识别方法及识别系统
CN112163410A (zh) * 2020-10-14 2021-01-01 四川大学 一种基于深度学习的古文预训练系统及其训练方法
CN112541355A (zh) * 2020-12-11 2021-03-23 华南理工大学 一种实体边界类别解耦的少样本命名实体识别方法与系统
CN114021567A (zh) * 2021-11-03 2022-02-08 南京农业大学 一种基于深度学习模型的自动识别古籍引书系统和方法
CN114239585A (zh) * 2021-12-17 2022-03-25 安徽理工大学 一种生物医学嵌套命名实体识别方法
CN115510242A (zh) * 2022-10-04 2022-12-23 河南科技大学 一种中医文本实体关系联合抽取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
阎覃: "GuwenBERT:古文预训练语言模型(古文BERT)", pages 1 - 6, Retrieved from the Internet <URL:https://github. com/Ethan-yt/guwenbert> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117236342A (zh) * 2023-09-28 2023-12-15 南京大经中医药信息技术有限公司 结合知识图谱的中医典籍语义分析方法及系统
CN117236342B (zh) * 2023-09-28 2024-05-28 南京大经中医药信息技术有限公司 结合知识图谱的中医典籍语义分析方法及系统

Similar Documents

Publication Publication Date Title
CN109871545B (zh) 命名实体识别方法及装置
CN112214995B (zh) 用于同义词预测的分层多任务术语嵌入学习
CN107908635B (zh) 建立文本分类模型以及文本分类的方法、装置
CN109960728B (zh) 一种开放域会议信息命名实体识别方法及系统
US11157686B2 (en) Text sequence segmentation method, apparatus and device, and storage medium thereof
CN112613273A (zh) 多语言bert序列标注模型的压缩方法及系统
CN110309511B (zh) 基于共享表示的多任务语言分析系统及方法
CN111489746B (zh) 一种基于bert的电网调度语音识别语言模型构建方法
CN110110334B (zh) 一种基于自然语言处理的远程会诊记录文本纠错方法
CN113704429A (zh) 基于半监督学习的意图识别方法、装置、设备及介质
CN110991185A (zh) 一种文章中实体的属性抽取方法及装置
CN113642316A (zh) 中文文本纠错方法、装置、电子设备及存储介质
Xu et al. Sentence segmentation for classical Chinese based on LSTM with radical embedding
CN113657105A (zh) 基于词汇增强的医学实体抽取方法、装置、设备及介质
Hifny Hybrid LSTM/MaxEnt networks for Arabic syntactic diacritics restoration
CN109086274A (zh) 基于约束模型的英文社交媒体短文本时间表达式识别方法
CN114218940B (zh) 文本信息处理、模型训练方法、装置、设备及存储介质
CN115757325B (zh) 一种xes日志智能转换方法及系统
Mahmudi et al. Automated grapheme-to-phoneme conversion for central kurdish based on optimality theory
CN116796742A (zh) 一种中医古籍命名实体识别方法、装置、设备和存储介质
Vishnubhotla et al. Improving automatic quotation attribution in literary novels
CN115017908A (zh) 一种命名实体识别方法及系统
CN111090720B (zh) 一种热词的添加方法和装置
JP7218803B2 (ja) モデル学習装置、方法及びプログラム
CN113160793A (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