CN114385799A - 基于常识融合的医疗自动问答方法及系统 - Google Patents

基于常识融合的医疗自动问答方法及系统 Download PDF

Info

Publication number
CN114385799A
CN114385799A CN202111552888.6A CN202111552888A CN114385799A CN 114385799 A CN114385799 A CN 114385799A CN 202111552888 A CN202111552888 A CN 202111552888A CN 114385799 A CN114385799 A CN 114385799A
Authority
CN
China
Prior art keywords
training
common sense
sentences
entity
module
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
CN202111552888.6A
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202111552888.6A priority Critical patent/CN114385799A/zh
Publication of CN114385799A publication Critical patent/CN114385799A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Public Health (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Primary Health Care (AREA)
  • Epidemiology (AREA)
  • Pathology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明提供了一种基于常识融合的医疗自动问答方法及系统,包括:对训练语句分词,查询常识库和知识库,得到实体关系三元组;将三元组与训练语句融合编码;将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区编码器训练;对问答数据中的问句进行分词和实体关系查询,并融合编码;问题的常识融合编码序列作为模型输入,将回答作为监督标签训练得到常识融合语言模型;搭建可视化医疗自动问答系统,通过前端将问题输入模型,将模型的输出作为回答显示到界面。本发明对用户问题没有类型限制,并且将常识和医疗知识融合到语言模型中,在保证回答符合语法规则的同时,提高了专业性。

Description

基于常识融合的医疗自动问答方法及系统
技术领域
本发明涉及医疗自动问答领域,具体地,涉及一种基于常识融合的医疗自动问答方法及系统。
背景技术
医疗自动问答系统能够获取用户医疗相关的问题,并自动给出回答。传统的搜索引擎需要用户自己对查询到的结果进行提取、鉴别,问答系统则能够根据知识库自动生成回答。例如能够对疾病、药物、症状、检查等问题直接给出相应的回答,能够大大方便用户,并减轻医务人员的压力。
现有医疗问答系统通常只能回答给定类型的问题,并生成固定语法类型的答案。具体来说,现有医疗问答系统首先将用户输入的问题与给定问题库的关键词进行匹配。例如常见的问题包括“疾病属于哪个科室”、“疾病的常用药物有哪些”、“疾病的症状有哪些”等。然后确定问题的类型,并提取关键词,查找相应的知识库获取知识。最后,根据给定对应类型答案的语法规则,生成回答。例如根据“XX疾病的常用药物有XXX”这样的固定规则生成药物相关的回答。这样的问答系统过于死板,对问题没有理解能力,使得用户体验较差。
构建问答系统的另一类方法为基于语言模型的端到端自然语言生成方法,但是该方法缺乏领域常识和知识。具体来说,通过构建端到端模型,学习到最大的p(answer|question),输入问题后能够得到条件概率最大的回答。这类方法能够对问题具有一定的理解能力,因此问题的类型不受限制,并且回答语句能够更流利自然,使得用户体验更好。但是目前的模型通常基于大规模开放语料训练得到,因此只能应用在开放领域,而不能直接用于医学这样的专业领域。
现有方法在知识与语言模型融合上做出了一些尝试。百度在2019年提出ERNIE(Sun Y,Wang S,Li Y,et al.Ernie:Enhanced representation through knowledgeintegration[J].arXiv preprint arXiv:1904.09223,2019.),将BERT的字符掩码方式修改为词掩码的方式,一定程度上增加了语料中的知识,但是这种方式没有考虑到实体之间的关系。Bosselut在2019年提出的COMET(Bosselut A,Rashkin H,Sap M,et al.Comet:Commonsense transformers for automatic knowledge graph construction[J].arXivpreprint arXiv:1906.05317,2019.),将知识库的三元组作为训练语料,增加了模型对知识的掌握,但是这样直接将常识库生成训练语句进行训练,成本过高。Weijie Liu等在2020年提出K-BERT(Liu W,Zhou P,Zhao Z,et al.K-bert:Enabling languagerepresentation with knowledge graph[C]//Proceedings of the AAAI Conference onArtificial Intelligence.2020,34(03):2901-2908.),将知识图谱的三元组嵌入训练语料中,增加了模型在专业领域的知识,但是常识只能通过预训练模型进行获取,并且未考虑不同关系类型的三元组之间的语义关系。
在公告号为CN101373532(余正涛,孟祥燕,张志坤,et al.FAQ Chinese request-answering system implementing method in tourism field:,2009.)的中国专利文献中,公开了一种融合了常识库的旅游领域问答系统实现方法。该方法基于本体论思想,首先人工定义旅游领域的术语和关系,对“旅游领域知网”和常识库“知网”的数据进行融合,在此基础上构建常识库,然后基于自建的常识库搭建问答系统。该专利提出了一种计算问题相似度的方法,能够将问题归结为给定类型,可见,该方法仍然需要限制问题的类型。
专利文献CN112071429A公开了及一种自动问答的技术领域,揭露了一种基于知识图谱的医疗自动问答系统构建方法,包括:对医疗领域知识图谱中的实体、关系以及属性进行预定义;获取医疗领域数据,根据所预定义的医疗领域知识图谱,利用数据自动标注算法对医疗领域数据进行标注;利用知识图谱构建模型对所述标注数据进行知识图谱的构建,得到医疗领域知识图谱;利用对话编码器将用户的对话文本进行编码,得到对话文本编码数据;利用基于知识图谱的强化学习网络对文本编码数据进行路径推断,得到用户的意图路径,意图路径所指向的知识图谱结果即为自动问答结果,还构建了一种基于知识图谱的医疗自动问答系统。但是该发明对问题类型有限制。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于常识融合的医疗自动问答方法及系统。
根据本发明提供的一种基于常识融合的医疗自动问答方法,包括:
步骤S1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
步骤S2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
步骤S3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
步骤S4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
步骤S5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
步骤S6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
优选地,多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
优选地,在所述步骤S2中:
步骤S2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
步骤S2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
步骤S2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
步骤S2.2.2:对三元组根据关系进行分类;
步骤S2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
步骤S2.2.4:每类关系分配一个关系编号,从1开始递增;
步骤S2.2.5:头实体后序的字符编号都增加l;
步骤S2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列;
在所述步骤S4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照步骤S2的方法获取得到问题的常识融合编码序列。
优选地,在所述步骤S3中:
步骤S3.1:统计序列中实体的位置;
步骤S3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
步骤S3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
步骤S3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
步骤S3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
步骤S3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
步骤S3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
优选地,在所述步骤S5中:
步骤S5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
步骤S5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
步骤S5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
根据本发明提供的一种基于常识融合的医疗自动问答系统,包括:
模块M1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
模块M2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
模块M3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
模块M4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
模块M5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
模块M6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
优选地,多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
优选地,在所述模块M2中:
模块M2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
模块M2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
模块M2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
模块M2.2.2:对三元组根据关系进行分类;
模块M2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
模块M2.2.4:每类关系分配一个关系编号,从1开始递增;
模块M2.2.5:头实体后序的字符编号都增加l;
模块M2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列。
在所述模块M4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照模块M2的方法获取得到问题的常识融合编码序列。
优选地,在所述模块M3中:
模块M3.1:统计序列中实体的位置;
模块M3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
模块M3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
模块M3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
模块M3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
模块M3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
模块M3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
优选地,在所述模块M5中:
模块M5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
模块M5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
模块M5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
与现有技术相比,本发明具有如下的有益效果:
1、本发明使用语言模型来针对问题生成回答,相较于传统的基于医疗知识库和给定语法规则的问答系统,本发明不限制问题类型,回答更符合人类语言习惯,更便于用户理解,提高了用户体验;
2、相较于普通的基于语言模型的问答系统,本发明将常识库和医疗知识库中的结构化三元组融合到训练语料,使得学习到的模型能够对问题具有一定的理解和推理能力,并能掌握基本的医疗常识和知识,在医疗领域问答中取得更好的效果;
3、本发明对用户问题没有类型限制,并且将常识和医疗知识融合到语言模型中,在保证回答符合语法规则的同时,提高了专业性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例中基于常识融合的医疗自动问答模型训练示意图;
图2为本发明实施例中常识编码融合示意图;
图3为本发明实施例中多层分区transformer编码器示意图;
图4为本发明实施例基于常识融合的医疗自动问答系统示意图;
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种基于常识融合的医疗自动问答方法,如图1-图4所示,包括:
步骤S1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
步骤S2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
步骤S3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
步骤S4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
步骤S5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
步骤S6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
具体地,多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
具体地,在所述步骤S2中:
步骤S2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
步骤S2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
步骤S2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
步骤S2.2.2:对三元组根据关系进行分类;
步骤S2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
步骤S2.2.4:每类关系分配一个关系编号,从1开始递增;
步骤S2.2.5:头实体后序的字符编号都增加l;
步骤S2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列。
在所述步骤S4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照步骤S2的方法获取得到问题的常识融合编码序列。
具体地,在所述步骤S3中:
步骤S3.1:统计序列中实体的位置;
步骤S3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
步骤S3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
步骤S3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
步骤S3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
步骤S3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
步骤S3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
具体地,在所述步骤S5中:
步骤S5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
步骤S5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
步骤S5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
实施例2:
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
本领域技术人员可以将本发明提供的一种基于常识融合的医疗自动问答方法,理解为基于常识融合的医疗自动问答系统的具体实施方式,即所述基于常识融合的医疗自动问答系统可以通过执行所述基于常识融合的医疗自动问答方法的步骤流程予以实现。
根据本发明提供的一种基于常识融合的医疗自动问答系统,包括:
模块M1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
模块M2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
模块M3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
模块M4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
模块M5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
模块M6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
具体地,多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
具体地,在所述模块M2中:
模块M2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
模块M2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
模块M2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
模块M2.2.2:对三元组根据关系进行分类;
模块M2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
模块M2.2.4:每类关系分配一个关系编号,从1开始递增;
模块M2.2.5:头实体后序的字符编号都增加l;
模块M2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列。
在所述模块M4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照模块M2的方法获取得到问题的常识融合编码序列。
具体地,在所述模块M3中:
模块M3.1:统计序列中实体的位置;
模块M3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
模块M3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
模块M3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
模块M3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
模块M3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
模块M3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
具体地,在所述模块M5中:
模块M5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
模块M5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
模块M5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
实施例3:
实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
本发明提供的一种基于常识融合的医疗自动问答方法与系统,包括以下步骤:
步骤S1:对训练语句进行分词,将得到的分词作为关键词,查询常识库和知识库,得到实体关系三元组;
步骤S2:将三元组与训练语句进行融合编码,使得结构化常识能够融合到普通的训练语句中;
步骤S3:将融合编码后的语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将两种方式得到的训练语料输入多层分区transformer编码器进行训练,得到初步的模型;
步骤S4:按照步骤S2的方式,对医疗问答对中的问句进行处理,得到问题的常识融合编码序列;
步骤S5:将步骤S4处理结果作为模型的输入,将回答作为监督标签,继续对模型进行训练,得到最终模型;
步骤S6:构建用户界面系统,通过界面接收用户输入的问题,并将问题输入步骤S4得到的最终模型,将模型的输出作为回答显示到界面;
具体地,所述步骤S2中的三元组与训练语句进行融合编码包括:
步骤S2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
步骤S2.2:给常识三元组、训练语料分配编号,此处编号对后期训练时注意力权重具有调节功能,通过这种方式将常识与普通的训练语料进行融合;
步骤S2.3:将带编号的关系拼接到语句尾部,形成一维的序列;
具体地,所属步骤S2.2中给常识三元组、训练语料分配编号包括以下步骤:
步骤S2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
步骤S2.2.2:对三元组根据关系进行分类;
步骤S2.2.3:每类关系的尾实体编号从头实体编号后序开始递增;
步骤S2.2.4:每类关系分配一个关系编号,从1开始递增;
步骤S2.2.5:调整主句头实体后序的字符序列;
具体地,所述步骤S3包括以下步骤:
步骤S3.1:统计步骤S2所得序列中实体的位置;
步骤S3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
步骤S3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联;
具体地,常识融合语言模型的主体结构为多层分区transformer编码器。融合了常识的语句已经不是一维的语句,而是具有常识和的二维语句。其中的每一种实体关系都作为一个分区,分区与分区之间也具有不同的注意力。因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
具体地,所述步骤S 3.2,具体为:
步骤S3.2.1:对头实体按照概率p1进行掩蔽,头实体的每个字符都替换成<mask>;
步骤S3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
步骤S3.2.3:如果头实体未进行掩蔽,则尾实体按照p2概率进行掩蔽,尾实体每个字符替换成<mask>;
步骤S3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
具体地,所述步骤S3.2.1和S3.2.3中的概率p1,p2可以取50%,50%;
具体地,所述步骤S5包括以下步骤:
步骤S5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
步骤S5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
步骤S5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器;
根据上述发明技术实现的基于常识融合的端到端医疗自动问答系统,该系统包括以下模块:
模块M1:常识库和知识库的实体关系三元组查询模块。对训练语料进行分词,并查询常识库和知识库得到实体关系三元组;
模块M2:常识融合编码模块。对模块M1得到的实体和关系,与训练语料进行融合,得到融合了常识的训练语句;
模块M3:训练数据构造模块。将模块M2得到的训练语句按照步骤S3得到两种训练语料;
模块M4:多层分区transformer编码模块。对M3得到的训练语料进行训练,学习出一个包含常识和医疗知识,并且能够生成符合语法规则的句子的语言模型;
模块M5:医疗问答对训练模块。对医疗问答对数据进行处理,输入模型继续进行训练,学习出能够根据医疗问题生成回答的语言模型;
模块M6:问题输入和回答输出模块。接收用户输入问题,通过语言模型给出回答;
实施例4:
实施例4为实施例1的优选例,以更为具体地对本发明进行说明。
如图1所示,本发明基于常识融合的医疗自动问答模型的训练方法包括以下步骤:
步骤S1:对训练语句进行分词,将得到的分词作为关键词,查询常识库和知识库,得到实体关系三元组;
步骤S2:将三元组与训练语句进行融合编码,使得结构化常识能够融合到普通的训练语句中;
步骤S3:将融合编码后的语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将两种方式得到的训练语料输入多层分区transformer编码器进行训练,得到初步的模型;
步骤S4:按照步骤S2的方式,对医疗问答对中的问句进行处理,得到问题与常识的融合编码序列;
步骤S5:步骤S4处理结果作为模型的输入,将回答作为监督标签,继续对模型进行训练,得到最终模型;
具体地,步骤S1包括如下步骤:
步骤S1.1:将训练语料的句子进行分词;
步骤S1.2:将每个分词作为关键词,在知识库和常识库中查询实体,得到实体关系三元组<eh,r,et>;其中实体eh为多个字符的序列<x0,x1,x2…>;
具体地,所述步骤S2中的三元组与训练语句进行融合编码包括:
步骤S2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志,这两个标志作为特殊标志,也是与普通字符编码为相同维度的词向量;
步骤S2.2:给常识三元组、训练语料分配编号,此处编号对后期训练时注意力权重具有调节功能,通过这种方式将常识与普通的训练语料进行融合;
步骤S2.3:将带编号的关系拼接到语句尾部,形成一维的序列<x0,x1,x2…>,其中的主句只带有编号,三元组的尾实体则带有关系类型编号;
具体地,如图2所示,所属步骤S2.2中给常识三元组、训练语料分配编号包括以下步骤:
步骤S2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增。例如<cls>ABCDEFGHIJ<sep>,每个字符分配一个编号,得到<cls>1A2B3C4D5E6F7G8H9I10J11<sep>12;
步骤S2.2.2:对三元组根据关系进行分类,例如图2所示,分为四类;
步骤S2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,例如图2所示,O(8,1)P(9,1)等从实体E6F7开始分配递增的编号8,9;
步骤S2.2.4:每类关系分配一个关系编号,从1开始递增,例如图2所示,每一类有1个类型编号,得到O(8,1)P(9,1)等分配了关系类型的编号1;
步骤S2.2.5:调整主句中头实体后的字符的编号,例如图2所示,得到G10H11……。通过这种融合编码方式,常识三元组的信息能够与普通语句一起进行训练,实现了常识的融合。
具体地,所述步骤S3包括以下步骤:
步骤S3.1:统计步骤S2所得序列中实体的编号;
步骤S3.2:对实体按照一定的概率进行掩蔽,训练模型学习上下文和常识;
步骤S3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联;
具体地,所述步骤S 3.2,具体为:
步骤S3.2.1:对头实体按照50%概率进行掩蔽,头实体的每个字符都替换成<mask>。;
步骤S3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽。以图2所示序列为例,如果头实体进行掩蔽,则得到序列<cls>1A2B3C4D5<mask>6<mask>7G10H11……;
步骤S3.2.3:如果头实体未进行掩蔽,则尾实体按照50%概率进行掩蔽,尾实体每个字符替换成<mask>。以图2所示序列为例,如果头实体未进行掩蔽,则可能得到以下序列……E6F7G10……<mask>(8,4)<mask>(9,4)……;
步骤S3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练。以图2所示序列为例,将头实体掩蔽后的序列输入到编码器中,则对应的标签为E6F7;
具体地,所述步骤S3.4包括以下步骤:
步骤S3.4.1:对上下句按照50%概率替换,例如<cls>ABCDEF<sep><cls>GHIJK<seq>替换后可能得到<cls>ABCDEF<sep><cls>UVWXYZ<seq>
步骤S3.4.2:将上句和下句拼接作为输入,传入分区transformer,得到判断是否为上下句关系,计算误差,更新模型参数;
具体地,所述步骤S5包括以下步骤:
步骤S5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
步骤S5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
步骤S5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,更新参数,训练编码器和解码器;
具体地,如图3所示,所属步骤S3和S5中的多层分区transformer编码器是指,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句。其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力。因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。具体的,以图3所示为例,K(8,4)L(9,4)为分区4,M(8,3)N(9,3)为分区3,O(8,1)P(9,1),Q(8,1)R(9,1),S(8,1)T(9,1)为分区1,U(8,2)V(9,2)为分区2。四个分区之间构成权重矩阵wij,在输入字符注意力之前,分区权重矩阵的数值也通过训练过程学习得到。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于常识融合的医疗自动问答方法,其特征在于,包括:
步骤S1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
步骤S2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
步骤S3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
步骤S4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
步骤S5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
步骤S6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
2.根据权利要求1所述的基于常识融合的医疗自动问答方法,其特征在于:
多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
3.根据权利要求1所述的基于常识融合的医疗自动问答方法,其特征在于:
在所述步骤S2中:
步骤S2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
步骤S2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
步骤S2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
步骤S2.2.2:对三元组根据关系进行分类;
步骤S2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
步骤S2.2.4:每类关系分配一个关系编号,从1开始递增;
步骤S2.2.5:头实体后序的字符编号都增加l;
步骤S2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列;
在所述步骤S4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照步骤S2的方法获取得到问题的常识融合编码序列。
4.根据权利要求1所述的基于常识融合的医疗自动问答方法,其特征在于,在所述步骤S3中:
步骤S3.1:统计序列中实体的位置;
步骤S3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
步骤S3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
步骤S3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
步骤S3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
步骤S3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
步骤S3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
5.根据权利要求1所述的基于常识融合的医疗自动问答方法,其特征在于,在所述步骤S5中:
步骤S5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
步骤S5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
步骤S5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
6.一种基于常识融合的医疗自动问答系统,其特征在于,包括:
模块M1:对训练语句分词,将分词作为关键词,查询常识库和知识库,得到实体关系三元组;
模块M2:将三元组与训练语句进行融合编码,使库中的结构化的常识融合训练语句;
模块M3:将融合编码后的训练语句随机选择部分实体掩蔽,将下句按固定概率替换成其他的随机语句,将得到的训练语料输入多层分区transformer编码器训练,得到初步的常识融合语言模型;
模块M4:对问答数据中的问句进行分词和实体关系查询,并进行常识融合编码,得到问题的常识融合编码序列;
模块M5:问题的常识融合编码序列作为模型输入,将回答作为监督标签,基于有监督学习,训练得到常识融合语言模型;
模块M6:搭建可视化医疗自动问答系统,通过前端界面将问题输入常识融合语言模型,将模型的输出作为回答显示到界面。
7.根据权利要求6所述的基于常识融合的医疗自动问答系统,其特征在于:
多层分区transformer编码器是指考虑了常识融合信息的transformer编码器,融合了常识的语句已经不是一维的语句,而是具有常识的二维语句,其中的每一种关系都作为一个分区,分区与分区之间也具有不同的注意力,因此,在计算字符与字符之间注意力之前,需要先计算分区之间的注意力,通过这种方式能够将常识信息学习到模型中。
8.根据权利要求6所述的基于常识融合的医疗自动问答系统,其特征在于:
在所述模块M2中:
模块M2.1:在训练语料的句首添加<cls>标志,句尾添加<sep>标志;
模块M2.2:给常识三元组、训练语料分配编号,编号对后期训练时注意力权重有调节功能,通过这种方式将常识与训练语句进行融合;
模块M2.2.1:从<cls>开始,对每个字符分配一个编号,编号从1开始递增;
模块M2.2.2:对三元组根据关系进行分类;
模块M2.2.3:每类关系的尾实体编号从头实体编号后序开始递增,最长尾实体长度记为l;
模块M2.2.4:每类关系分配一个关系编号,从1开始递增;
模块M2.2.5:头实体后序的字符编号都增加l;
模块M2.3:将已分配编号的三元组尾实体拼接到语句尾部,形成一维的序列;
在所述模块M4中:
对问答数据中的问句进行分词和实体关系查询并进行常识融合编码,按照模块M2的方法获取得到问题的常识融合编码序列。
9.根据权利要求6所述的基于常识融合的医疗自动问答系统,其特征在于,在所述模块M3中:
模块M3.1:统计序列中实体的位置;
模块M3.2:对实体按概率进行掩蔽,训练模型学习上下文和常识;
模块M3.2.1:对头实体按照p1概率进行掩蔽,头实体的每个字符都替换成<mask>;
模块M3.2.2:如果头实体进行了掩蔽,则尾实体不进行掩蔽;
模块M3.2.3:如果头实体未进行掩蔽,则尾实体按照概率p2进行掩蔽,尾实体每个字符替换成<mask>;
模块M3.2.4:将得到的序列作为输入,传入多层分区transformer,将被掩蔽的实体作为标签进行训练;
模块M3.3:对训练语料上下句中的下句按一定概率替换,训练模型学习上下句之间的关联。
10.根据权利要求6所述的基于常识融合的医疗自动问答系统,其特征在于,在所述模块M5中:
模块M5.1:将常识融合编码后的问题序列输入到多层分区transformer编码器;
模块M5.2:将最后一层分区transformer编码器的输出,作为解码器的输入;
模块M5.3:问答对中的回答不做常识编码,直接作为监督标签,与解码器的输出计算损失,训练编码器和解码器。
CN202111552888.6A 2021-12-17 2021-12-17 基于常识融合的医疗自动问答方法及系统 Pending CN114385799A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111552888.6A CN114385799A (zh) 2021-12-17 2021-12-17 基于常识融合的医疗自动问答方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111552888.6A CN114385799A (zh) 2021-12-17 2021-12-17 基于常识融合的医疗自动问答方法及系统

Publications (1)

Publication Number Publication Date
CN114385799A true CN114385799A (zh) 2022-04-22

Family

ID=81198774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111552888.6A Pending CN114385799A (zh) 2021-12-17 2021-12-17 基于常识融合的医疗自动问答方法及系统

Country Status (1)

Country Link
CN (1) CN114385799A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955579A (zh) * 2023-09-21 2023-10-27 武汉轻度科技有限公司 一种基于关键词知识检索的聊天回复生成方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955579A (zh) * 2023-09-21 2023-10-27 武汉轻度科技有限公司 一种基于关键词知识检索的聊天回复生成方法和装置
CN116955579B (zh) * 2023-09-21 2023-12-29 武汉轻度科技有限公司 一种基于关键词知识检索的聊天回复生成方法和装置

Similar Documents

Publication Publication Date Title
Li et al. Leveraging linguistic structures for named entity recognition with bidirectional recursive neural networks
WO2021233112A1 (zh) 基于多模态机器学习的翻译方法、装置、设备及存储介质
CN106202010B (zh) 基于深度神经网络构建法律文本语法树的方法和装置
CN114064918B (zh) 一种多模态事件知识图谱构建方法
US20200242146A1 (en) Artificial intelligence system for generating conjectures and comprehending text, audio, and visual data using natural language understanding
CN114565104A (zh) 语言模型的预训练方法、结果推荐方法及相关装置
WO2023225858A1 (zh) 一种基于常识推理的阅读型考题生成系统及方法
CN115269857A (zh) 一种基于文档关系抽取的知识图谱构建方法和装置
CN109977220B (zh) 一种基于关键句和关键字的反向生成摘要的方法
CN113672708A (zh) 语言模型训练方法、问答对生成方法、装置及设备
CN113254616B (zh) 面向智能问答系统的句向量生成方法及系统
CN115510814B (zh) 一种基于双重规划的篇章级复杂问题生成方法
CN113779220A (zh) 一种基于三通道认知图谱和图注意力网络的蒙语多跳问答方法
CN113312912B (zh) 一种用于交通基础设施检测文本的机器阅读理解方法
CN111639254A (zh) 一种医疗领域的sparql查询语句的生成系统和方法
CN112309528A (zh) 一种基于视觉问答方法的医疗影像报告生成方法
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN116578717A (zh) 用于电力营销场景的多源异构知识图谱构建方法
Nair et al. Knowledge graph based question answering system for remote school education
CN114385799A (zh) 基于常识融合的医疗自动问答方法及系统
CN117235261A (zh) 一种多模态方面级情感分析方法、装置、设备及存储介质
CN116386895B (zh) 基于异构图神经网络的流行病舆情实体识别方法与装置
CN117009456A (zh) 医疗查询文本的处理方法、装置、设备、介质和电子产品
Aakur et al. Leveraging Symbolic Knowledge Bases for Commonsense Natural Language Inference Using Pattern Theory
Lovenia et al. Automatic question-answer pairs generation from text

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