CN111708874B - 基于复杂意图智能识别的人机交互问答方法与系统 - Google Patents
基于复杂意图智能识别的人机交互问答方法与系统 Download PDFInfo
- Publication number
- CN111708874B CN111708874B CN202010854637.2A CN202010854637A CN111708874B CN 111708874 B CN111708874 B CN 111708874B CN 202010854637 A CN202010854637 A CN 202010854637A CN 111708874 B CN111708874 B CN 111708874B
- Authority
- CN
- China
- Prior art keywords
- question
- entity
- sentence
- industry
- dependency
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于复杂意图智能识别的人机交互问答方法与系统,本发明方法包括获取用户的原始问句,进行分句及词性标注,得到问句各个组成词语的词性信息;对问句进行依存句法分析,得到依存句法树;进行行业实体识别得到行业实体及数量,抽取核心依存树以简化问句;对问句进行行业问句关系分类、进行中文多意图问句改写,然后针对问句进行知识检索;针对知识检索结果进行答案选择与生成,并返回给用户。本发明能在任意行业场景下有效地简化多意图复杂问句,准确理解用户的意图,更加自然地将行业知识反馈给用户,让用户更加准确快速获得所需行业知识,提升用户的体验,尤其适用于医疗行业的人机交互智能问答。
Description
技术领域
本发明涉及人机交互智能问答技术,具体涉及一种基于复杂意图智能识别的人机交互问答方法与系统。
背景技术
随着Web技术的不断发展,人们从传统的以文档互联为中心的“Web 1.0”时代和以数据互联为特征的“Web 2.0”时代,逐步迈向基于知识互联的崭新“Web 3.0”时代。知识图谱(Knowledge Graph, KG)的出现为“Web3.0”时代的知识互联带来了曙光,其强大的开放互联和语义处理的能力可以将互联网上散乱复杂、不同结构、不同来源的数据联合起来构成一个结构统一、条理清晰的知识网络,并在智能问答、智能搜索、情报分析等方面发挥巨大的应用价值。知识图谱本质上是一种结构化的语义网络知识库,基本组成单位是“实体1-关系-实体2”以及实体-属性-属性值的三元组形式,实体间通过关系相互联结,构成网状结构。
人类社会正在从信息化、数字化时代迈向智能化时代,智慧医疗、智慧教育、智慧金融给人们的生活带来了极大的便利和舒适快捷的体验。智能问答系统已经成为人与机器交互的新趋势,尤其是在智慧医疗中智能问答系统能发挥极大的作用,传统的医疗行业依赖于人工处理各种医疗咨询服务,不仅耗费的大量的人力物力,工作效率也十分低下,而基于知识图谱的问答系统是以知识图谱作为答案来源,能够在精准化问答、咨询服务中起到关键作用。近年来,在医疗领域基于知识图谱的问答系统得到了极大的发展,相关技术方面取得了一些研究成果。
在知识图谱构建方法上,以中医药学语言系统为基础骨架,用现有的数据库资源进行填充,构建了中医药知识图谱,这种方式需要后期耗费大量的人力深入数据库中修改数据进行规范化操作。中国医学科学院医学信息研究所利用网络爬虫技术和中文命名实体识别工具StanfordNLP构建了医学卫生知识服务系统知识图谱,这种方式构造的知识图谱规模较小,信息量不能满足实际应用的需求。通过网络爬虫技术、自然语言处理(NatureLanguage Processing, NLP)技术、深度学习技术等在规模庞大、多源异构的临床路径指南、临床实践、医学百科等资源中进行命名实体识别(Named Entity Recognition, NER)及关系抽取识别出疾病、药物和诊疗技术等方面的专有名词和短语,整合成100余万个医学概念关系的实例。现有的医学知识图谱从规模化、形式化等方面在实际应用中都仍有很大的提升空间。
在问答系统相关技术方面,曹等人在构建的原发性肝癌知识图谱基础上,对问句进行实体识别再结合词频-逆文本频率指数和词向量生成句子向量, 匹配最相似的问题模板, 最后到知识图谱中检索答案,但由于受到模板数量和质量的影响,应用受到限制。此外现有技术还公开了一种基于模板匹配技术的知识图谱问答系统和方法,通过对问句进行语法分析,在离线定义的手工模板库中寻找匹配的问句模板,根据所述的实体匹配方法和关系匹配方法,生成最终的查询语句,在知识图谱中进行检索,返回最终的结果。此外现有技术还公开了一种基于知识图谱的自然语言问题实现方法和系统,其中所述在线部分模块包括:(1)复杂问题解析单元,用于接受问句并进行解析,如果是复杂性问题,则将其分解为一系列的二元事实型问题,并在概率推导单元用概率推算的方法来找它的值;(2)知识图谱查询单元,用于从预先训练的知识图谱中找到答案。此外现有技术还公开了一种基于深度学习的通用知识图谱增强问答交互系统及方法,系统包括:扩展知识图谱混合问答模块用于得到扩展知识图谱;知识库问题生成模块生成多个问题-答案对;web交互界面,用于获取问题;知识图谱问答模块,获取问题对应的答案类型,并得到对应的数值向量;知识深度推理模块,用于知识检索与推理,并结合多个问题-答案对得到问题的目标答案。
综上所述,相关技术的知识图谱问答系统存在的主要问题:(1)大多数知识问答采用模板匹配的方式,复杂问题的分解是在预先制定的大量问题模板上进行概率计算。(2)在智能问答领域,深度学习模型以强大的学习和特征提取能力备受关注,但需大量训练语料资源。由于目前医疗领域大规模开源问答语料数据缺乏,一般需要投入大量人力物力从网络收集数据或制定问题模板生成数据,这使得基于深度学习的问答系统在对于复杂问句的语义理解不透彻,回答不准确。(3)实际环境中问句意图复杂,现有的医疗领域问答系统没有对问句的语法结构和实体关系进行有效挖掘,导致在知识库中检索出的答案不全面、错误或匹配失败。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于复杂意图智能识别的人机交互问答方法与系统,本发明能在任意行业场景下有效地简化多意图复杂问句,准确理解用户的意图,更加自然地将行业知识反馈给用户,让用户更加准确快速获得所需行业知识,提升用户的体验,尤其适用于医疗行业的人机交互智能问答。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于复杂意图智能识别的人机交互问答方法,包括:
1)获取用户的原始问句;
2)对原始问句进行分句及词性标注,得到问句各个组成词语的词性信息;
3)对问句进行依存句法分析,得到依存句法树;
4)对问句进行行业实体识别得到行业实体及其实体数量,在行业实体和依存句法树的基础上抽取核心依存树以简化问句;
5)在实体识别得到的行业实体和核心依存树基础上对问句进行行业问句关系分类,并针对进行行业问句关系分类后的问句进行中文多意图问句改写;
6)针对问句进行知识检索;
7)针对知识检索结果进行答案选择与生成;
8)将生成的答案返回给用户。
可选地,步骤3)对问句进行依存句法分析具体是指根据分句及词性标注找到问句中的核心动词,并将问句中的核心动词作为支配者支配其他成分、所有受支配成分从属于支配者,并将上述依存关系构建得到依存句法树T = (R, D, N),其中R为依存句法树的根节点,表示语句中的核心动词;D 为依存弧集合,表示两个成分之间的依存关系,依存弧的方向可以由支配词指向从属词或者从属词指向支配词;N 为从属词构成的节点集合,即表示语句中除核心动词外的其他成分;且依存句法树T满足下述约束条件:(1) 一个句子中只有核心动词是独立的,不受句子其他成分支配;(2) 句子中除核心动词外,其他任何一个成分都从属于某一成分且这种从属关系只有一对;(3) 核心动词左右两边的其他成分之间无关系表示;(4) 核心动词到任何一个其他成分都有一条有向通路。
可选地,步骤4)中的行业实体是指医疗实体,步骤4)中对问句进行行业实体识别采用的是基于BiLSTM-CRF模型训练得到的医疗实体识别模型,且步骤4)之前还包括获取中文电子病历和网络上爬取的各种疾病的描述文本,按照BIO标注体系进行标注然后训练BiLSTM-CRF模型得到医疗实体识别模型的步骤;步骤4)中在行业实体和依存句法树的基础上抽取核心依存树以简化问句包括下述步骤:针对依存句法树抽取出核心结构组成核心依存树,所述核心结构具体是指状中结构和定中关系相邻出现的句法结构。
可选地,步骤5)中对问句进行行业问句关系分类的详细步骤包括:5.1)检查问句中的实体数量,若实体数量为0,则跳转执行步骤5.2);若实体数量为1,则跳转执行步骤5.3);若实体数量为2,则跳转执行步骤5.4);否则跳转执行步骤5.5);5.2)查看上下文信息中是否有实体信息暂存,若无实体信息暂存,表明这是用户第一轮咨询,则返回信息不全的反馈,结束并退出;若有实体信息暂存,将该暂存的实体信息嵌入到当前问句中,组成一个完整的问句,跳转执行步骤6);5.3)判定该问句为单实体属性类问句,不需要进行中文多意图问句改写,直接跳转执行步骤6);5.4)判定该问句为并列型实体属性类问句和双实体关系类问句,将其中的两个实体分别记为实体1和实体2,若两个实体的类型一致且实体2的依存关系为['并列关系'],则句子属于并列型实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;若两个实体类型不一致时且实体1的依存关系为['主谓关系']或['核心关系']且实体2的依存关系为['并列关系'],则句子属于并列型实体属性问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;先对判定为并列型实体属性类问句或者双实体关系类的该问句去停用词,去停用词后若实体2后的句子成分数量小于某个阈值,则句子属于双实体关系类问句,不需要改写直接返回结果;若双实体关系类问句为主从实体属性类问句,这类问句的特点是实体2是实体1的某个属性或关系实体,也将主从实体属性类问句划分为单实体属性类问句,不需要改写直接返回结果,跳转执行步骤6);进行中文多意图问句改写,跳转执行步骤6);5.5)根据关系类问句较实体属性类问句的特点将多实体关系类问句区分出来,然后确定核心关系实体,核心关系实体是第一个实体或最后一个实体,若最后一个实体的依存关系为['动宾关系']或['介宾关系'],则该实体为核心关系实体,否则默认第一个实体为核心关系实体,代入多实体关系类问句改写规则中得到多个双实体关系类问句;对各个实体的依存关系进行遍历,若存在['并列关系'],则句子属于多实体并列型实体属性类问句或多实体主从实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,否则该问句超出行业场景知识图谱的范围,报错并退出;进行中文多意图问句改写,跳转执行步骤6)。
可选地,将问句表示为S,依存句法树表示为T =[n 1,n 2,…,n |E|] ,实体列表为E =[e 1,e 2,…,e |E|] ,问句改写列表为Q =[q 1,q 2,…,q |E|],|E|为实体数量,所述进行中文多意图问句改写的详细步骤包括:
S1)判断问句的类型,若类型为并列型实体属性类问句,跳转执行步骤S2);若类型为多实体关系类问句,则跳转至步骤S5);
S2)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S3)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 2;
S4)计算单实体属性类问句q k =p 1⊕e k⊕p 2,k<|E|,其中⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S3)直到k=|E|时结束并退出;
S5)根据实体列表E抽取出核心实体e c,核心实体e c选择实体e 1或e |E|;
S6)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S7)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1和e 2之间、或实体e |E|-1和e |E|之间的所有句子成分p 2;
S8)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 3;
S9)计算单实体属性类问句q k =p 1⊕e c⊕p 2⊕e k ⊕p 3,k<|E|-1,⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S7)直到k=|E|-1时结束并退出。
可选地,步骤6)的详细步骤包括:6.1)根据行业实体识别得到行业实体进行分析得到表示问句的意图类别的行业疑问词;6.2)将行业实体和行业疑问词结合生成Cypher查询语句在预设的行业知识图谱中检索出相关知识得到知识检索结果。
可选地,步骤7)的详细步骤包括:7.1)判断问句的类型,若为单实体属性类问句,跳转执行步骤7.2);若为双实体关系类问句,则跳转至步骤7.6);7.2)将行业知识图谱中检索出来的知识检索结果进行向量化表示为;7.3)检查行业实体识别结果,如果实体识别没有识别结果,提取出上下文信息暂存的实体和疑问词对问句进行填充操作,组合成一个新的问句;然后将新的问句进行向量化表示为;7.4)计算新的问句的向量与知识检索结果的向量之间的语义相似度,根据语义相似度l筛选出更为准确的知识检索结果,作为处理后的知识;7.5)根据问句谓词映射得到的问句类型匹配相应的自然语言模板,并将行业实体和处理后的知识嵌入到预留的槽位中,生成自然语言答案,结束并退出;7.6)根据行业实体识别结果的实体信息,将两个实体其中一个作为支配实体另一个作为从属实体,以支配实体为核心在行业知识图谱中检索与从属实体同一类型的相关实体,并将从属实体和检索得到的实体分别向量化表示为和;7.7)计算从属实体和检索得到的实体之间的语义相似度以判断两个实体之间是否存在关联;7.8)根据设定的阈值ε进行判断,若语义相似度l大于等于阈值ε,表示两个实体之间存在关联,选择肯定回复的自然语言模板,若语义相似度l小于阈值ε,表示两个实体之间不存在关联,选择否定回复的自然语言模板,最后将处理过的行业实体嵌入到预留的槽位中,生成自然语言答案,结束并退出。
可选地,步骤1)获取用户的原始问句具体是指采集用户语音,然后进行语音识别得到文本形式的原始问句;步骤8)将生成的答案返回给用户是指将生成的答案进行语音合成后输出给用户。
此外,本发明还提供一种基于复杂意图智能识别的人机交互问答系统,至少包括微处理器和存储器,该微处理器被编程或配置以执行所述基于复杂意图智能识别的人机交互问答方法的步骤,或者该存储器中存储有被编程或配置以执行所述基于复杂意图智能识别的人机交互问答方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述基于复杂意图智能识别的人机交互问答方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明方法包括获取用户的原始问句,进行分句及词性标注,得到问句各个组成词语的词性信息;对问句进行依存句法分析,得到依存句法树;进行行业实体识别得到行业实体及数量,抽取核心依存树以简化问句;对问句进行行业问句关系分类、进行中文多意图问句改写,然后针对问句进行知识检索;针对知识检索结果进行答案选择与生成,并返回给用户。本发明能在任意行业场景下有效地简化多意图复杂问句,准确理解用户的意图,更加自然地将行业知识反馈给用户,让用户更加准确快速获得所需行业知识,提升用户的体验,尤其适用于医疗行业的人机交互智能问答。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中问句依存句法树的可视化图。
图3为本发明实施例中医疗实体识别模型的框架示意图。
图4为本发明实施例中的多意图问句改写部分示例效果图。
图5为本发明实施例中的构建行业场景知识图谱的流程图。
图6为本发明实施例的医疗场景知识图谱实体属性和关系的部分示例效果图。
图7为本发明实施例的自然语言生成模板部分示例效果图。
图8为本发明实施例的一个简单医疗问答交互的示例效果图。
图9为本发明实施例的系统的架构示意图。
具体实施方式
下文将以医疗行业作为行业实例,对本发明基于复杂意图智能识别的人机交互问答方法与系统进行进一步的详细说明。需要说明的是,本发明基于复杂意图智能识别的人机交互问答方法与系统可以适用于不同的行业咨询,其区别仅仅在于不同行业的行业知识图谱的内容以及构建时的数据来源有所不同。
针对问答系统中需要对用户问句中包含的意图准确的分析与解读,为了提高问答系统的鲁棒性,本实施例提出一种基于实体识别与依存句法分析的中文多意图医疗问句改写方法,以提高对用于问题语义理解的准确性。如图1所示,本实施例基于复杂意图智能识别的人机交互问答方法包括:
1)获取用户的原始问句;
2)对原始问句进行分句及词性标注,得到问句各个组成词语的词性信息;
3)对问句进行依存句法分析,得到依存句法树;
4)对问句进行行业实体识别得到行业实体及其实体数量,在行业实体和依存句法树的基础上抽取核心依存树以简化问句;
5)在实体识别得到的行业实体和核心依存树基础上对问句进行行业问句关系分类,并针对进行行业问句关系分类后的问句进行中文多意图问句改写;
6)针对问句进行知识检索;
7)针对知识检索结果进行答案选择与生成;
8)将生成的答案返回给用户。
本实施例中,步骤1)获取用户的原始问句具体是指采集用户语音,然后进行语音识别得到文本形式的原始问句。由于语音识别为现有语音转换技术,其具体实现细节不在本实施例方法的讨论之内。
本实施例中,步骤2)对原始问句进行分句及词性标注时,具体是使用自然语言处理工具Hanlp配合自定义的行业名词词典(医疗行业为医疗专用名词词典),对用户输入的问题进行分词及词性标注。例如针对“我现在感觉有点发烧,头也有点晕,请问我要去挂哪个科”,词性标注结果为:我/r、现在/nt、感觉/v、有点/d、发烧/v、,/wp、头/n、也/d、有点/d、晕/v、,/wp、请问/v、我/r、要/v、去/v、挂/v、哪个/r、科/n、/wp,其中,r为代词的标注、nt为时间名词的标注、d为副词的标注、v为动词的标注、wp为标点符号的标注。各个词性的含义的解释如表1所示。
表1:词性标注集合。
标注 | 说明 | 标注 | 说明 | 标注 | 说明 | 标注 | 说明 |
a | 形容词 | m | 数词 | p | 介词 | i | 成语 |
b | 区别词 | n | 名词 | q | 量词 | j | 简称略语 |
c | 连词 | nd | 方向名词 | r | 代词 | k | 后缀 |
d | 副词 | nr | 人名 | u | 助词 | nt | 时间名词 |
e | 叹号 | ni | 机构名 | v | 动词 | nz | 其他专名 |
g | 学术词汇 | nh | 健康名词 | wp | 标点符号 | o | 拟声词 |
h | 前缀 | ns | 地名 | ws | 外语词 | z | 状态词 |
依存句法分析通过分析语句各成分之间的依存关系,以动词为核心结构,用通俗易懂的形式展示语句的句法结构。依存关系用一个有向弧表示,叫做依存弧。语句中的核心动词支配其他成分, 所有受支配成分都以某种关系从属于支配者。词与词之间存在依存关系,其中一个是支配词,另一个是从属词,构成一个依存对,依存弧的方向为由从属词指向支配词(指向方向不唯一,可以自行定义)。本实施例中,步骤3)对问句进行依存句法分析具体是指根据分句及词性标注找到问句中的核心动词,并将问句中的核心动词作为支配者支配其他成分、所有受支配成分从属于支配者,并将上述依存关系构建得到依存句法树T =(R, D, N),其中R为依存句法树的根节点,表示语句中的核心动词;D 为依存弧集合,表示两个成分之间的依存关系,依存弧的方向可以由支配词指向从属词或者从属词指向支配词;N 为从属词构成的节点集合,即表示语句中除核心动词外的其他成分;且依存句法树T满足下述约束条件:(1) 一个句子中只有核心动词是独立的,不受句子其他成分支配;(2)句子中除核心动词外,其他任何一个成分都从属于某一成分且这种从属关系只有一对;(3)核心动词左右两边的其他成分之间无关系表示;(4) 核心动词到任何一个其他成分都有一条有向通路。
例如,图2为问句“我现在感觉有点发烧,头也有点晕,请问我要去挂哪个科”的依存句法树可视化的结果。句子的依存句法分析结果:我/主谓关系、现在/状中结构、感觉/核心关系、有点/状中结构、发烧/动宾关系、,/标点符号、头/主谓关系、也/状中结构、有点/状中结构、晕/并列关系、,/标点符号、请问/并列关系、我/主谓关系、要/状中结构、去/状中结构、挂/动宾关系、哪个/定中关系、科/动宾关系、/标点符号。从图2中可以清晰的看出各个词汇的词性以及词汇之间的依存关系,为下一步的语义解析打下良好的基础。
本实施例中,步骤4)中的行业实体是指医疗实体,步骤4)中对问句进行行业实体识别采用的是基于BiLSTM-CRF模型训练得到的医疗实体识别模型,且步骤4)之前还包括获取中文电子病历和网络上爬取的各种疾病的描述文本,按照BIO(B-begin,I-inside,O-outside)标注体系进行标注然后训练BiLSTM-CRF模型得到医疗实体识别模型的步骤;步骤4)中在行业实体和依存句法树的基础上抽取核心依存树以简化问句包括下述步骤:针对依存句法树抽取出核心结构组成核心依存树,核心结构具体是指状中结构和定中关系相邻出现的句法结构。按照BIO标注体系进行标注时,如[感, 冒, 可, 能, 会, 引, 起, 发, 烧]的标注为[B-DIS, I-DIS, O, O, O, O, O, B-SYM, I-SYM]。其中,B-DIS表示疾病实体的起始部分,I-DIS表示疾病实体的中间部分,O表示非实体词,B-SYM表示症状实体的起始部分,I-SYM表示症状实体的中间部分。然后对BiLSTM-CRF模型进行训练,得到医疗实体识别模型,如图3所示。以“感”字为例,首先用预先训练好的字向量进行字向量化表示,然后输入到BiLSTM层,该层的输出为每一个标签的预测分数值,最后将这些分值作为原始参数输入到CRF层,该层的输出是标签序列的概率。针对依存句法树抽取出核心结构组成核心依存树时,根据行业实体识别结果分析行业实体之间的句法结构,对依存树进行剪枝去除对意图描述的无用或多余信息,生成核心依存树,初步组建成意图核心问句。例如,医疗实体均为名词性词语,在句法结构中的位置基本上是['主谓关系', '核心关系', '动宾关系', '介宾关系', '并列关系'],经过分析,句法结构中的状中结构和定中关系相邻出现的时候,这个词就对句子的完整意图有贡献,需要保留,因此在对复杂问句做预处理的时候,就会抽取出这些核心结构组成核心依存树,这样就可以去除对句子含义无关的成分和修饰词。
毫无疑问,对于其他行业场景,同样也可以根据能够获得的数据源来基于BiLSTM-CRF模型训练得到的对应的行业实体识别模型。
本实施例中,步骤5)中对问句进行行业问句关系分类将问答系统中出现的问句分成三个大类,即单实体问句、双实体问句和多实体问句,最后通过分析实体之间的依存关系,将多意图复杂问句改写成单实体属性类问句和双实体关系类问句,从而将复杂问题简单化,更准确的理解用户的意图。本实施例步骤5)中对问句进行行业问句关系分类的详细步骤包括:5.1)检查问句中的实体数量,若实体数量为0,则跳转执行步骤5.2);若实体数量为1,则跳转执行步骤5.3);若实体数量为2,则跳转执行步骤5.4);否则跳转执行步骤5.5);5.2)查看上下文信息中是否有实体信息暂存,若无实体信息暂存,表明这是用户第一轮咨询,则返回信息不全的反馈,结束并退出;若有实体信息暂存,将该暂存的实体信息嵌入到当前问句中,组成一个完整的问句,跳转执行步骤6);5.3)判定该问句为单实体属性类问句,不需要进行中文多意图问句改写,直接跳转执行步骤6);5.4)判定该问句为并列型实体属性类问句和双实体关系类问句,将其中的两个实体分别记为实体1和实体2,若两个实体的类型一致且实体2的依存关系为['并列关系'],则句子属于并列型实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;若两个实体类型不一致时且实体1的依存关系为['主谓关系']或['核心关系']且实体2的依存关系为['并列关系'],则句子属于并列型实体属性问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;先对判定为并列型实体属性类问句或者双实体关系类的该问句去停用词,去停用词后若实体2后的句子成分数量小于某个阈值,则句子属于双实体关系类问句,不需要改写直接返回结果;若双实体关系类问句为主从实体属性类问句,这类问句的特点是实体2是实体1的某个属性或关系实体,也将主从实体属性类问句划分为单实体属性类问句,不需要改写直接返回结果,跳转执行步骤6);进行中文多意图问句改写,跳转执行步骤6);5.5)根据关系类问句较实体属性类问句的特点将多实体关系类问句区分出来,然后确定核心关系实体,核心关系实体是第一个实体或最后一个实体,若最后一个实体的依存关系为['动宾关系']或['介宾关系'],则该实体为核心关系实体,否则默认第一个实体为核心关系实体,代入多实体关系类问句改写规则中得到多个双实体关系类问句;对各个实体的依存关系进行遍历,若存在['并列关系'],则句子属于多实体并列型实体属性类问句或多实体主从实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,否则该问句超出行业场景知识图谱的范围,报错并退出;进行中文多意图问句改写,跳转执行步骤6)。
步骤5.4)中当问句中的实体数目为2时,在医疗场景知识图谱的范围内有两种类型的问句,并列型实体属性类问句和双实体关系类问句。经实践分析,若两个实体的类型一致且实体2的依存关系为['并列关系'],则句子属于并列型实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,返回结果;若两个实体类型不一致时且实体1的依存关系为['主谓关系']或['核心关系']且实体2的依存关系为['并列关系'],则句子属于并列型实体属性问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,返回结果;双实体关系类问句较并列型实体属性类问句有一个显著的特点是实体2后的句子成分相对来说少一些,因此先对问句去停用词,如['.', '。', '','!', '吗', '呢', '嘛']等,若实体2后的句子成分小于某个阈值,则句子属于双实体关系类问句,是简单句,不需要改写直接返回结果;双实体问句剩下一种类型的问句为主从实体属性类问句,这类问句的特点是实体2是实体1的某个属性或关系实体,也将其划分为单实体属性类问句,是简单句,不需要改写直接返回结果。步骤5.5)中当实体数目超过2时,在医疗场景知识图谱的范围内属于多实体复杂问句。根据关系类问句较实体属性类问句的特点将多实体关系类问句区分出来,然后确定核心关系实体(一般是第一个实体或最后一个实体)。经分析,若最后一个实体的依存关系为['动宾关系']或['介宾关系'],则该实体为核心关系实体,否则默认第一个实体为核心关系实体,代入多实体关系类问句改写规则中得到多个双实体关系类问句,返回结果;对各个实体的依存关系进行遍历,若存在['并列关系'],则句子属于多实体并列型实体属性类问句或多实体主从实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,返回结果,否则该问句超出医疗场景知识图谱的范围,无法解答。
本实施例中,将问句表示为S,依存句法树表示为T =[n 1,n 2,…,n |E|] ,实体列表为E =[e 1,e 2,…,e |E|] ,问句改写列表为Q =[q 1,q 2,…,q |E|],|E|为实体数量,所述进行中文多意图问句改写的详细步骤包括:
S1)判断问句的类型,若类型为并列型实体属性类问句,跳转执行步骤S2);若类型为多实体关系类问句,则跳转至步骤S5);
S2)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S3)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 2;
S4)计算单实体属性类问句q k =p 1⊕e k⊕p 2,k<|E|,其中⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S3)直到k=|E|时结束并退出;
S5)根据实体列表E抽取出核心实体e c,核心实体e c选择实体e 1或e |E|;
S6)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S7)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1和e 2之间、或实体e |E|-1和e |E|之间的所有句子成分p 2;
S8)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 3;
S9)计算单实体属性类问句q k =p 1⊕e c⊕p 2⊕e k ⊕p 3,k<|E|-1,⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S7)直到k=|E|-1时结束并退出。
如图4所示为多意图问句改写的部分结果示例,其中User表示用户,Robot为本实施例方法返回的测试结果。例如用户问“感冒的传染方式有哪些”,本实施例方法返回的测试数据包括实体识别结果、问句简化结果、问句类型。
问句谓词映射用于将自然语言问句的意图映射到知识图谱中实体的关系类型或属性信息。传统的方法在处理问句谓词映射时多使用短文本分类技术来对问句进行分类,如TextCNN文本分类模型,类别设置对应知识图谱中的知识属性。本实施例根据基于知识图谱问答系统的特性,使用实体识别技术来解决问句谓词映射问题,即将知识图谱中的知识属性当做一类实体来处理代替短文本问句分类技术来对问句的谓词进行映射。表2所示的问句疑问词集合,通过同义词替换拓展训练语料和实体数量;然后对BiLSTM-CRF模型进行训练,得到医疗实体识别模型。
表2:问句疑问词集合。
谓词设置 | 标注 | 同义词替换 |
疾病疑问词 | DISQW | 病|疾病|病痛|毛病|疾患|痼疾|急症|急病|疫病|并发症 |
症状疑问词 | SYMQW | 症状|表征|现象|症候|表现|病象|病征|迹象征象|征候 |
科室疑问词 | DEPQW | 科室|诊室|医务室|诊疗室|地方|场所|地点|哪里|哪儿|哪 |
检查疑问词 | CHEQW | 检查|检验|查验|检验|查检|化验|查|验|诊疗|查看 |
饮食疑问词 | FODQW | 饮食|膳食|补品|保健品|食谱|菜谱|食物|补品|饭|膳|食品 |
药品疑问词 | DRUQW | 药品|胶囊|药物|口服液|特效药|推荐药|药剂|良药|药 |
厂商疑问词 | PROQW | 厂|厂子|厂家|厂商|工厂|药厂|制造商|制造者|制作商 |
参见图3,医疗实体识别模型即可以得到医疗实体又可以得到医疗疑问词,根据实体和疑问词的组合形式判断问句的类别,映射知识图谱中的知识。
本实施例中,步骤6)的详细步骤包括:6.1)根据行业实体识别得到行业实体进行分析得到表示问句的意图类别的行业疑问词;如问句“感冒可能会引起什么症状”的实体识别结果为['感冒':'DIS', '症状':' SYMQW '],可以得到问句的医疗类别问句DIS_SYM,即询问疾病的症状;6.2)将行业实体和行业疑问词结合生成Cypher查询语句在预设的行业知识图谱中检索出相关知识得到知识检索结果。
Cypher查询语句结构为:(1)实体属性类查询语句["MATCH (m:实体类型) wherem.name = '{查询实体名称}' return 实体相关知识"];(2)实体关系类查询语句["MATCH(m:实体1)-[r:实体关系]->(n:实体2) where m.name = '{查询实体名称}' return 实体相关知识"];知识检索在医疗实体和医疗疑问词的结合下可以在医疗知识图谱中检索出相关知识,给问答系统提供稳固的知识基础。
本实施例中,步骤6)中使用的预设的行业知识图谱具体为医疗场景的知识图谱。如图5所示,知识图谱的数据来源一般分为三类:结构化数据、半结构化数据、纯文本数据。本实施例的数据来源主要是中文开放知识图谱的中文症状库、百科和医药网站和医院场景知识。中文症状库数据源格式为RDF,本场景的知识表示是以<实体1、关系、实体2>以及<实体、属性、属性值>三元组的形式存储在Neo4j(https://neo4j.com/)图数据库中,因此需要对数据进行格式转换,然后重构成键值对的形式暂存到MongoDB(https://www.mongodb.com/)数据库中,方便后续的去重和融合操作。
针对百科和医药网站的数据,使用网络爬虫技术构造一个包装器,将网页上的数据爬取下来,然后经过清洗和去污得到原始数据,再经过制定规则抽取出三元组数据,最后以键值对的形式暂存在MongoDB数据库中,详细过程如下:
S1) 设置请求的请求头(headers)参数,初始化URL队列(待爬取网页https://www.集合);
S2)使用get/post的方式向目标站点提交请求,即发送一个请求。
S3) 获取响应内容,若正常响应,会得到一个响应,其内容便是HTML格式内容;如响应失败(404、502等错误)则进入下一个URL,返回(1-1)。
S4) 使用正则表达式工具xpath对HTML网页数据进行解析,如:x_data.xpath('//div[@class=""]/a/text()')。在实践中发现网页数据的半结构化格式包括:段落、大小标题、符号等信息。针对这些半结构化信息人工制定了7大类规则来对数据进行清洗和抽取三元组数据,每一类规则之后都有数十条更具体的规则。7大类规则对应七类实体,疾病、症状、科室、检查、药品、饮食、药品厂商。经过整理之后将数据暂存到MongoDB数据库中。例如,提取的部分三元组信息有:(感冒,症状,发烧、流鼻涕、干咳、咽喉干燥及灼热感、发热伴寒战等)、(感冒,治疗科室,呼吸内科)、(感冒,传染方式、呼吸道传染)等。
S5) 重复执行步骤S2)~S4)直到待爬取URL队列为空。
中文电子病历的处理需要借助于NLP技术和自然语言处理工具Hanlp。具体步骤,首先根据爬取的网页数据制作医疗专有名词词典包括:疾病、症状、部位、科室、检查、药品、饮食,然后对文本进行分句、分词和词性标注;然后,对分句后的文本使用BiLSTM-CRF模型来进行实体识别,将识别出的第一个实体作为主实体,其他实体作为从属实体,根据实体类别来标注他们之间的关系。经过整理之后将数据暂存到MongoDB数据库中。
医院场景知识包括医疗特色、医师团队和环境信息属于第三方企业数据,针对这类数据自身的特点制定规则来抽取三元组数据并暂存到MongoDB数据库中。
医疗知识数据整理完成之后将数据按照类别进行分组,首先将每个类别中同名数据(包括别名)进行整合删除,冗余信息。然后使用冒泡排序法对每个组别的数据进行遍历,通过计算编辑距离、Jaccard 相似度和余弦距离进行属性相似度计算,相似度大于设定的阈值就认为是同一实体。所有数据融合完成之后,存储到Neo4j图形数据库中,完成了医疗场景知识图谱的构建。图6所示的是医疗场景知识图谱的实体、属性、属性值以及实体1、关系、实体2的部分示例。
本实施例中,步骤7)的详细步骤包括:7.1)判断问句的类型,若为单实体属性类问句,跳转执行步骤7.2);若为双实体关系类问句,则跳转至步骤7.6);7.2)将行业知识图谱中检索出来的知识检索结果进行向量化表示为;7.3)检查行业实体识别结果,如果实体识别没有识别结果,提取出上下文信息暂存的实体和疑问词对问句进行填充操作,组合成一个新的问句;然后将新的问句进行向量化表示为;如问句“感冒有什么症状”医疗实体识别结果为['感冒':'DIS', '症状':' SYMQW '],将识别结果作为上下文信息进行暂存,对于下一个问句“吃什么药”医疗实体识别结果为[ '药':' DRUQW '],问句缺乏实体,将暂存的上下文信息中的实体信息填充到问句中组成新的问句“感冒吃什么药”。7.4)计算新的问句的向量与知识检索结果的向量之间的语义相似度,根据语义相似度l筛选出更为准确(大于设定值)的知识检索结果,作为处理后的知识;7.5)根据问句谓词映射得到的问句类型匹配相应的自然语言模板,并将行业实体和处理后的知识嵌入到预留的槽位中,生成自然语言答案,结束并退出;7.6)根据行业实体识别结果的实体信息,将两个实体其中一个作为支配实体另一个作为从属实体,以支配实体为核心在行业知识图谱中检索与从属实体同一类型的相关实体,并将从属实体和检索得到的实体分别向量化表示为和;7.7)计算从属实体和检索得到的实体之间的语义相似度以判断两个实体之间是否存在关联;7.8)根据设定的阈值ε进行判断,若语义相似度l大于等于阈值ε,表示两个实体之间存在关联,选择肯定回复的自然语言模板,若语义相似度l小于阈值ε,表示两个实体之间不存在关联,选择否定回复的自然语言模板,最后将处理过的行业实体嵌入到预留的槽位中,生成自然语言答案,结束并退出。
本实施例中向量化表示方法具体是指利用word2vec模型训练字向量,维度表示为128维。本实施例中采用的自然语言生成模板如图7所示,根据知识图谱中存在的实体类型和实体属性,结合自然语言表达形式制定的自然语言生成模板部分示例如图8所示,其中:<DIS>是疾病类型、<SYM>是症状类型、<DEP>是科室类型、<DRU>是药品类型、<FOD>是饮食类型、<CHE>是检查类型;<cause>、<prevent>、<groups>、<spread_way>、<cure_way>是疾病的属性。本实施例中用常见的医疗咨询问题对本实施例的问答系统简单的进行测试,实验结果如图8所示,从图8可以看出本实施例提出的一种基于复杂意图智能识别的人机交互问答方法与系统能有效的解决医院场景中的医疗咨询问题,给用户提供一个良好的体验。本实施例结合依存句法树、医疗关键词典、业务规则、医疗实体识别和问句分类对中文多意图问句进行分析判断,简化语义理解的难度,同时能够减少问句分类对训练语料的需求,使深度学习模型能充分发挥出优势,并能够针对医院的场景,提供医院科室导航、医生信息咨询、医疗信息咨询、挂号咨询、食疗养生等服务功能,具有很好的实际应用价值。
作为一种可选的实施方式,本实施例中步骤8)将生成的答案返回给用户是指将生成的答案进行语音合成后输出给用户。
综上所述,为了解决现有的医疗知识图谱和问答系统相关技术存在的缺陷与问题,提高医疗知识图谱和问答系统在实际应用中的效果,本实施例提出一种基于复杂意图智能识别的人机交互问答方法与系统。本实施例将医疗知识图谱、医疗实体识别、依存句法分析、中文多意图问句改写、模板匹配技术应用到问答系统当中,首先构建一个医疗场景知识图谱,其次使用多种不同模态的人机交互技术与用户进行互动,包括语音输入、文本输入、语音合成、语音播报和人机交互界面,再对获取的用户问句进行分词、词性标注和依存句法分析得到依存句法树,接着对问句进行实体识别并结合上下文信息和依存句法树对中文多意图复杂问句进行改写,然后对改写后的简单问句进行分类获取用户意图,最后,通过医疗实体和医疗疑问词的组合形式在知识图谱中检索相关知识并根据语义信息对知识进行筛选,得到最终的答案反馈给用户。本实施例采用的方法可以对用户提出的问句进行分析判断,结合依存句法树、医疗关键词典和业务规则,将用户输入的原始语句进行简化,去除不包含医疗实体的非主干句法结构,得到包括完整医疗实体和全部意图的多意图问句,然后在实体识别和依存句法分析的基础上提出中文多意图问句改写方法,将多意图问句划分为单实体属性类问句、双实体关系类问句和多实体复杂类问句三类,并将多实体复杂类问句改写成单实体属性类问句、双实体关系类问句或是两者的组合形式,提高语义理解准确性,同时减少问句分类所需训练语料规模,使深度学习模型能充分发挥出优势。进一步针对医院的场景,提供医院科室导航、医生信息咨询、医疗信息咨询、挂号咨询、食疗养生等服务功能。
此外,本实施例还提供一种基于复杂意图智能识别的人机交互问答系统,至少包括微处理器和存储器,该微处理器被编程或配置以执行前述基基于复杂意图智能识别的人机交互问答方法的步骤,或者该存储器中存储有被编程或配置以执行前述基于复杂意图智能识别的人机交互问答方法的计算机程序。
如图9所示,本实施例中基于复杂意图智能识别的人机交互问答系统包括医疗场景知识图谱构建模块、人机交互模块、问句预处理模块、问句解析模块、知识检索模块、答案选择与生成模块。其中:
医疗场景知识图谱构建模块:根据医院场景本身的医疗特色、医师团队和环境信息并结合互联网上开放的医疗知识构建医疗场景知识图谱。该步骤的目的是为了将医院场景知识和互联网上的医疗知识相结合,为问答系统提供良好的知识基础。
人机交互模块:包括语音输入、文字输入和语音合成、语音播报和人机交互界面,人机交互界面提供自主检索、问答信息反馈与展示、知识图谱可视化等功能。该步骤的目的一是为了获取用户的问题,二是为了反馈给用户所需要的信息和服务。如图9所示,本实施例中人机交互模块具体是通过在机器人端安装语音识别与合成设备用于语音识别、语音合成和语音播报,安装显示设备用于文字输入和人机交互界面的显示,方便跟用户交互和提供医疗服务。
问句预处理模块:包括分词、词性标注、依存句法分析,该步骤的目的是用自然语言处理配合医疗专用名词词典,对用户输入的问题进行分词及词性标注,然后使用依存句法分析模块得到问句中各词语之间的依存关系表,生成依存句法树。
问句解析模块:包括医疗实体识别、中文多意图问句改写、上下文信息暂存与提取,不同于现有的方法,本实施例提出的基于实体识别和依存句法分析的中文多意图问句改写方法,最终是为了得到简单问句。该步骤的目的是获得单实体属性类问句或双实体关系类问句,减少分句分类所需的问答语料和复杂句式,降低计算复杂度同时提高问句分类的准确率。
知识检索模块:包括问句谓词映射和知识查询。问句谓词映射是对问句进行分类,获取问句在医疗信息中所对应的谓词,类别设置为疾病、症状、科室、检查、饮食、药品、厂商七大类。知识查询是将实体识别结果与问句谓词映射结果组合成cypher查询语句,然后在知识图谱中检索相关知识。该步骤的目的是用知识驱动问答,将收集来的医疗知识与用户的问句相对应,获得更全面系统的医疗信息。
答案选择与生成模块:包括:答案选择和答案生成两部分。答案选择是结合上下文信息与医疗实体信息来对从知识图谱中获取的知识进行筛选。答案生成采用基于模板和业务规则的自然语言答案生成方法对筛选出的知识进行整合与修饰,然后反馈给用户。该步骤的目的是对需要反馈给用户的医疗知识进行检验并以正确的中文表达方式呈现给用户,使人机交互更加智能化。
和现有技术相比,本实施例具有下述优点:本实施例一种基于复杂意图智能识别的人机交互问答方法与系统,通过设计网络包装器从百科和医药网站上获取医疗知识数据,并对其进行清洗去除网络结构和无关信息,经由医疗知识图谱构建模块将处理后的医疗知识同医院场景知识相结合构建医疗场景知识图谱存储到图数据库中。通过人机交互模块,用户可以直接语音输入或文字输入的形式进行医疗咨询和业务办理,人机交互界面会将文字答案和相关信息的知识图谱展示给用户,也可以将回复的答案进行语音播报。同时,用户可以直接在人机交互界面检索所需要的知识和办理业务。本实施例的问句预处理模块是通过自然语言处理和自定义的医疗专用名词词典对问句进行分词、词性标注和依存句法分析得到依存句法树;本实施例的问句解析模块提出的基于实体识别和依存句法分析的中文多意图问句改写方法,能有效地将多实体复杂类问句改写成单实体属性类问句、双实体关系类问句或是两者的组合形式,降低语义理解的难度,同时减少问句分类对训练语料的需求;本实施例的问句检索模块将问句映射到知识图谱中的医疗知识中,让用户更加准确快速获得所需医疗知识;本实施例的答案选择与生成模块使用语义分析和基于模板与业务规则的自然语言生成方法对医疗知识进行加工修饰,更符合自然语言的表达方式,提升用户的体验。因此,本实施例能在医疗场景下的问答系统中能够有效地简化多意图复杂问句,准确理解用户的意图,更加自然地将医疗知识反馈给用户,具有非常重要的实际应用价值。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于复杂意图智能识别的人机交互问答方法的计算机程序。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于复杂意图智能识别的人机交互问答方法,其特征在于,包括:
1)获取用户的原始问句;
2)对原始问句进行分句及词性标注,得到问句各个组成词语的词性信息;
3)对问句进行依存句法分析,得到依存句法树;
4)对问句进行行业实体识别得到行业实体及其实体数量,在行业实体和依存句法树的基础上抽取核心依存树以简化问句;
5)在实体识别得到的行业实体和核心依存树基础上对问句进行行业问句关系分类,并针对进行行业问句关系分类后的问句进行中文多意图问句改写;
6)针对问句进行知识检索;
7)针对知识检索结果进行答案选择与生成;
8)将生成的答案返回给用户;
步骤5)中对问句进行行业问句关系分类的详细步骤包括:5.1)检查问句中的实体数量,若实体数量为0,则跳转执行步骤5.2);若实体数量为1,则跳转执行步骤5.3);若实体数量为2,则跳转执行步骤5.4);否则跳转执行步骤5.5);5.2)查看上下文信息中是否有实体信息暂存,若无实体信息暂存,表明这是用户第一轮咨询,则返回信息不全的反馈,结束并退出;若有实体信息暂存,将该暂存的实体信息嵌入到当前问句中,组成一个完整的问句,跳转执行步骤6);5.3)判定该问句为单实体属性类问句,不需要进行中文多意图问句改写,直接跳转执行步骤6);5.4)判定该问句为并列型实体属性类问句和双实体关系类问句,将其中的两个实体分别记为实体1和实体2;若两个实体的类型一致且实体2的依存关系为['并列关系'],则句子属于并列型实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;若两个实体类型不一致时且实体1的依存关系为['主谓关系']或['核心关系']且实体2的依存关系为['并列关系'],则句子属于并列型实体属性问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句;先对判定为并列型实体属性类问句或者双实体关系类的该问句去停用词,去停用词后若实体2后的句子成分数量小于某个阈值,则句子属于双实体关系类问句,不需要改写直接返回结果;若双实体关系类问句为主从实体属性类问句,这类问句的特点是实体2是实体1的某个属性或关系实体,也将主从实体属性类问句划分为单实体属性类问句,不需要改写直接返回结果,跳转执行步骤6);进行中文多意图问句改写,跳转执行步骤6);5.5)根据关系类问句较实体属性类问句的特点将多实体关系类问句区分出来,然后确定核心关系实体,核心关系实体是第一个实体或最后一个实体,若最后一个实体的依存关系为['动宾关系']或['介宾关系'],则该实体为核心关系实体,否则默认第一个实体为核心关系实体,代入多实体关系类问句改写规则中得到多个双实体关系类问句;对各个实体的依存关系进行遍历,若存在['并列关系'],则句子属于多实体并列型实体属性类问句或多实体主从实体属性类问句,代入并列型实体属性类问句改写规则中得到两个单实体属性类问句,否则该问句超出行业场景知识图谱的范围,报错并退出;进行中文多意图问句改写,跳转执行步骤6)。
2.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,步骤3)对问句进行依存句法分析具体是指根据分句及词性标注找到问句中的核心动词,并将问句中的核心动词作为支配者支配其他成分、所有受支配成分从属于支配者,并将上述依存关系构建得到依存句法树T = (R, D, N),其中R为依存句法树的根节点,表示语句中的核心动词;D 为依存弧集合,表示两个成分之间的依存关系,依存弧的方向可以由支配词指向从属词或者从属词指向支配词;N 为从属词构成的节点集合,即表示语句中除核心动词外的其他成分;且依存句法树T满足下述约束条件:(1) 一个句子中只有核心动词是独立的,不受句子其他成分支配;(2) 句子中除核心动词外,其他任何一个成分都从属于某一成分且这种从属关系只有一对;(3) 核心动词左右两边的其他成分之间无关系表示;(4) 核心动词到任何一个其他成分都有一条有向通路。
3.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,步骤4)中的行业实体是指医疗实体,步骤4)中对问句进行行业实体识别采用的是基于BiLSTM-CRF模型训练得到的医疗实体识别模型,且步骤4)之前还包括获取中文电子病历和网络上爬取的各种疾病的描述文本,按照BIO标注体系进行标注然后训练BiLSTM-CRF模型得到医疗实体识别模型的步骤;步骤4)中在行业实体和依存句法树的基础上抽取核心依存树以简化问句包括下述步骤:针对依存句法树抽取出核心结构组成核心依存树,所述核心结构具体是指状中结构和定中关系相邻出现的句法结构。
4.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,将问句表示为S,依存句法树表示为T =[n 1,n 2,…,n |E|] ,实体列表为E =[e 1,e 2,…,e |E|] ,问句改写列表为Q =[q 1,q 2,…,q |E|],|E|为实体数量,所述进行中文多意图问句改写的详细步骤包括:
S1)判断问句的类型,若类型为并列型实体属性类问句,跳转执行步骤S2);若类型为多实体关系类问句,则跳转至步骤S5);
S2)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S3)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 2;
S4)计算单实体属性类问句q k =p 1⊕e k⊕p 2,k<|E|,其中⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S3)直到k=|E|时结束并退出;
S5)根据实体列表E抽取出核心实体e c,核心实体e c选择实体e 1或e |E|;
S6)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1前的所有句子成分p 1;
S7)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e 1和e 2之间、或实体e |E|-1和e |E|之间的所有句子成分p 2;
S8)根据实体列表E中在句法树T中对应的句法结构位置,抽取问句S中位于实体e |E|后的所有句子成分p 3;
S9)计算单实体属性类问句q k =p 1⊕e c⊕p 2⊕e k ⊕p 3,k<|E|-1,⊕为字符串拼接操作,更新问句改写列表Q,更新k值为k+1,跳转执行步骤S7)直到k=|E|-1时结束并退出。
5.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,步骤6)的详细步骤包括:6.1)根据行业实体识别得到行业实体进行分析得到表示问句的意图类别的行业疑问词;6.2)将行业实体和行业疑问词结合生成Cypher查询语句在预设的行业知识图谱中检索出相关知识得到知识检索结果。
6.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,步骤7)的详细步骤包括:7.1)判断问句的类型,若为单实体属性类问句,跳转执行步骤7.2);若为双实体关系类问句,则跳转至步骤7.6);7.2)将行业知识图谱中检索出来的知识检索结果进行向量化表示为;7.3)检查行业实体识别结果,如果实体识别没有识别结果,提取出上下文信息暂存的实体和疑问词对问句进行填充操作,组合成一个新的问句;然后将新的问句进行向量化表示为;7.4)计算新的问句的向量与知识检索结果的向量之间的语义相似度,根据语义相似度l筛选出更为准确的知识检索结果,作为处理后的知识;7.5)根据问句谓词映射得到的问句类型匹配相应的自然语言模板,并将行业实体和处理后的知识嵌入到预留的槽位中,生成自然语言答案,结束并退出;7.6)根据行业实体识别结果的实体信息,将两个实体其中一个作为支配实体另一个作为从属实体,以支配实体为核心在行业知识图谱中检索与从属实体同一类型的相关实体,并将从属实体和检索得到的实体分别向量化表示为和;7.7)计算从属实体和检索得到的实体之间的语义相似度以判断两个实体之间是否存在关联;7.8)根据设定的阈值ε进行判断,若语义相似度l大于等于阈值ε,表示两个实体之间存在关联,选择肯定回复的自然语言模板,若语义相似度l小于阈值ε,表示两个实体之间不存在关联,选择否定回复的自然语言模板,最后将处理过的行业实体嵌入到预留的槽位中,生成自然语言答案,结束并退出。
7.根据权利要求1所述的基于复杂意图智能识别的人机交互问答方法,其特征在于,步骤1)获取用户的原始问句具体是指采集用户语音,然后进行语音识别得到文本形式的原始问句;步骤8)将生成的答案返回给用户是指将生成的答案进行语音合成后输出给用户。
8.一种基于复杂意图智能识别的人机交互问答系统,至少包括微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~7中任意一项所述基于复杂意图智能识别的人机交互问答方法的步骤,或者该存储器中存储有被编程或配置以执行权利要求1~7中任意一项所述基于复杂意图智能识别的人机交互问答方法的计算机程序。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~7中任意一项所述基于复杂意图智能识别的人机交互问答方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010854637.2A CN111708874B (zh) | 2020-08-24 | 2020-08-24 | 基于复杂意图智能识别的人机交互问答方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010854637.2A CN111708874B (zh) | 2020-08-24 | 2020-08-24 | 基于复杂意图智能识别的人机交互问答方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708874A CN111708874A (zh) | 2020-09-25 |
CN111708874B true CN111708874B (zh) | 2020-11-13 |
Family
ID=72547415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010854637.2A Active CN111708874B (zh) | 2020-08-24 | 2020-08-24 | 基于复杂意图智能识别的人机交互问答方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708874B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930918B (zh) * | 2020-09-29 | 2020-12-18 | 湖南大学 | 一种跨模态的双边个性化人机社交对话生成方法及系统 |
CN112148862B (zh) * | 2020-10-15 | 2024-01-30 | 腾讯科技(深圳)有限公司 | 一种问题意图识别方法、装置、存储介质及电子设备 |
CN112507728A (zh) * | 2020-12-11 | 2021-03-16 | 平安科技(深圳)有限公司 | 智能对话方法、装置、电子设备及存储介质 |
CN112699348A (zh) * | 2020-12-25 | 2021-04-23 | 中国平安人寿保险股份有限公司 | 核身信息校验的方法、装置、计算机设备及存储介质 |
CN112650846A (zh) * | 2021-01-13 | 2021-04-13 | 北京智通云联科技有限公司 | 一种基于问句框架的问答意图知识库构建系统及方法 |
CN112381186A (zh) * | 2021-01-18 | 2021-02-19 | 成都晓多科技有限公司 | 一种多行业多品类的意图识别方法、装置及存储介质 |
CN112784574B (zh) * | 2021-02-02 | 2023-09-15 | 网易(杭州)网络有限公司 | 一种文本分割方法、装置、电子设备及介质 |
CN112800778B (zh) * | 2021-02-07 | 2023-07-18 | 北京智通云联科技有限公司 | 一种基于词串长度的意图识别方法、系统及存储介质 |
CN113010780B (zh) * | 2021-03-11 | 2022-07-15 | 北京三快在线科技有限公司 | 一种模型训练以及点击率预估方法及装置 |
CN113157884A (zh) * | 2021-04-09 | 2021-07-23 | 杭州电子科技大学 | 一种基于校园业务的问答检索方法 |
CN113220830A (zh) * | 2021-04-30 | 2021-08-06 | 上海适享文化传播有限公司 | 无网络条件下离线语音检索产品的方法 |
CN113268564B (zh) * | 2021-05-24 | 2023-07-21 | 平安科技(深圳)有限公司 | 相似问题的生成方法、装置、设备及存储介质 |
CN113345468A (zh) * | 2021-05-25 | 2021-09-03 | 平安银行股份有限公司 | 语音质检方法、装置、设备及存储介质 |
CN113360616A (zh) * | 2021-06-04 | 2021-09-07 | 科大讯飞股份有限公司 | 自动问答处理方法、装置、设备及存储介质 |
CN113407688B (zh) * | 2021-06-15 | 2022-09-16 | 西安理工大学 | 一种基于知识图谱的勘察规范智能问答系统的建立方法 |
CN113468307B (zh) * | 2021-06-30 | 2023-06-30 | 网易(杭州)网络有限公司 | 文本处理方法、装置、电子设备及存储介质 |
CN113609838B (zh) * | 2021-07-14 | 2024-05-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 文档信息抽取及图谱化方法和系统 |
CN115146037A (zh) * | 2021-08-09 | 2022-10-04 | 上海蓬海涞讯数据技术有限公司 | 基于知识图谱的问答方法及系统、电子设备及存储介质 |
CN113377969B (zh) * | 2021-08-16 | 2021-11-09 | 中航信移动科技有限公司 | 意图识别数据处理系统 |
CN113707303A (zh) * | 2021-08-30 | 2021-11-26 | 康键信息技术(深圳)有限公司 | 基于知识图谱的医疗问题解答方法、装置、设备及介质 |
CN113836280A (zh) * | 2021-08-31 | 2021-12-24 | 上海欣能信息科技发展有限公司 | 基于知识图谱技术的电网运检知识语音问答方法及系统 |
CN113764112A (zh) * | 2021-09-16 | 2021-12-07 | 山东大学第二医院 | 一种在线医疗问答方法 |
CN113987145B (zh) * | 2021-10-22 | 2024-02-02 | 智联网聘信息技术有限公司 | 一种精准推理用户属性实体的方法、系统、设备和存储介质 |
CN114281959B (zh) * | 2021-10-27 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 语句处理的方法、装置、设备、介质及计算机程序产品 |
CN114003709A (zh) * | 2021-12-30 | 2022-02-01 | 中国电子科技集团公司第二十八研究所 | 一种基于问句匹配的智能问答系统和方法 |
CN114020898B (zh) * | 2022-01-07 | 2022-04-19 | 和美(深圳)信息技术股份有限公司 | 人机自动对话方法、装置、电子设备及存储介质 |
CN115116572B (zh) * | 2022-08-27 | 2022-11-25 | 朔至美(南通)科技有限公司 | 一种基于人工智能的医疗数据管理系统及方法 |
CN115270786B (zh) * | 2022-09-27 | 2022-12-27 | 炫我信息技术(北京)有限公司 | 一种识别问句意图的方法、装置、设备和可读存储介质 |
CN116257610B (zh) * | 2023-01-11 | 2023-12-08 | 长河信息股份有限公司 | 基于行业知识图谱的智能问答方法、装置、设备及介质 |
CN116108830B (zh) * | 2023-03-30 | 2023-07-07 | 山东大学 | 一种句法可控文本改写方法和装置 |
CN116821307B (zh) * | 2023-08-21 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 内容交互方法、装置、电子设备和存储介质 |
CN117271752B (zh) * | 2023-11-17 | 2024-02-27 | 炫我信息技术(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885844A (zh) * | 2017-11-10 | 2018-04-06 | 南京大学 | 基于分类检索的自动问答方法及系统 |
US11226997B2 (en) * | 2017-12-05 | 2022-01-18 | International Business Machines Corporation | Generating a chatbot from an FAQ |
CN110674274B (zh) * | 2019-09-23 | 2022-07-01 | 中国农业大学 | 一种针对食品安全法规问答系统的知识图谱构建方法 |
-
2020
- 2020-08-24 CN CN202010854637.2A patent/CN111708874B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111708874A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708874B (zh) | 基于复杂意图智能识别的人机交互问答方法与系统 | |
Höffner et al. | Survey on challenges of question answering in the semantic web | |
Khan et al. | A novel natural language processing (NLP)–based machine translation model for English to Pakistan sign language translation | |
CN111078875B (zh) | 一种基于机器学习的从半结构化文档中提取问答对的方法 | |
US20150081277A1 (en) | System and Method for Automatically Classifying Text using Discourse Analysis | |
Zubrinic et al. | The automatic creation of concept maps from documents written using morphologically rich languages | |
CN112148851A (zh) | 一种基于知识图谱的医药知识问答系统的构建方法 | |
JP2005535007A (ja) | 文書検索システム用の知識抽出のための自己学習システムの合成方法 | |
Tyagi et al. | Demystifying the role of natural language processing (NLP) in smart city applications: background, motivation, recent advances, and future research directions | |
Rodrigues et al. | Advanced applications of natural language processing for performing information extraction | |
CN112599213B (zh) | 一种分类编码确定方法、装置、设备及存储介质 | |
Soualmia et al. | Combining different standards and different approaches for health information retrieval in a quality-controlled gateway | |
Houssein et al. | Semantic protocol and resource description framework query language: a comprehensive review | |
Berzins et al. | Innovations in natural language document processing for requirements engineering | |
CN113314236A (zh) | 一种面向高血压的智能问答系统 | |
Zhao et al. | Natural language query for technical knowledge graph navigation | |
Yousef | Translation Alignment Applied to Historical Languages | |
CN110188169A (zh) | 一种基于简化标签的知识匹配方法、系统及设备 | |
Liu et al. | PrimeNet: A Framework for Commonsense Knowledge Representation and Reasoning Based on Conceptual Primitives | |
Fong et al. | Treebank parsing and knowledge of language | |
Guo | Treebank-based acquisition of Chinese LFG Resources for Parsing and Generation | |
Kavitha et al. | Refine search by Question Answering System by using Knowledge Graphs | |
Kalajdjieski et al. | Recent Advances in SQL Query Generation: A Survey | |
Sinhababu et al. | Medical information retrieval and interpretation: a question-answer based interaction Model | |
Zhu | Graph-based interactive bibliographic information retrieval systems |
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 |