发明内容
本公开解决的一个技术问题是,如何自动化的为用户提供科学合理的医疗建议及医疗推荐。
根据本公开实施例的一个方面,提供了一种数据处理方法,包括:对用户输入的问询语句进行解析,获得待查询的医疗实体和待查询的医疗关系;利用待查询的医疗实体及待查询的医疗关系查询预先创建的医疗知识图谱,获得目标医疗实体,其中,医疗知识图谱的节点为各个医疗实体,医疗知识图谱的边为各个医疗实体之间的医疗关系,各个医疗实体包括待查询的医疗实体及目标医疗实体,各个医疗实体之间的医疗关系包括待查询的医疗关系;根据目标医疗实体,输出应答语句。
在一些实施例中,对用户输入的问询语句进行解析,获得待查询的医疗实体和待查询的医疗关系包括:识别用户输入的问询语句包含的待查询的医疗实体;识别用户输入的问询语句包含的至少一个关键词;根据待查询的医疗实体及问询语句的至少一个关键词,确定待查询的医疗关系。
在一些实施例中,问询语句包含多个关键词,待查询的医疗关系包括初始医疗关系及各个关键词之间的关联关系;根据待查询的医疗实体及问询语句的至少一个关键词,确定待查询的医疗关系包括:根据待查询的医疗实体及问询语句的第一个关键词,确定待查询的初始医疗关系;根据问询语句的各个关键词,确定各个关键词之间的关联关系。
在一些实施例中,识别用户输入的问询语句包含的待查询的医疗实体包括:采用双向长短期记忆网络及条件随机场,识别用户输入的问询语句包含的待查询的医疗实体。
在一些实施例中,利用待查询的医疗实体及待查询的医疗关系查询预先创建的医疗知识图谱包括:利用待查询的医疗实体及待查询的医疗关系,生成图数据库查询语句;利用图数据库查询语句查询预先创建的医疗知识图谱。
在一些实施例中,根据目标医疗实体,输出应答语句包括:根据待查询的医疗关系,确定应答语句的语句模板;将待查询的医疗实体、目标医疗实体填入应答语句的语句模板,生成应答语句;输出应答语句。
在一些实施例中,数据处理方法还包括:利用各个医疗实体及各个医疗实体之间的医疗关系,创建医疗知识图谱。
根据本公开实施例的另一个方面,提供了一种数据处理装置,包括:语句解析模块,被配置为对用户输入的问询语句进行解析,获得待查询的医疗实体和待查询的医疗关系;知识图谱查询模块,被配置为利用待查询的医疗实体及待查询的医疗关系查询预先创建的医疗知识图谱,获得目标医疗实体,其中,医疗知识图谱的节点为各个医疗实体,医疗知识图谱的边为各个医疗实体之间的医疗关系,各个医疗实体包括待查询的医疗实体及目标医疗实体,各个医疗实体之间的医疗关系包括待查询的医疗关系;语句输出模块,被配置为根据目标医疗实体,输出应答语句。
在一些实施例中,语句解析模块被配置为:识别用户输入的问询语句包含的待查询的医疗实体;识别用户输入的问询语句包含的至少一个关键词;根据待查询的医疗实体及问询语句的至少一个关键词,确定待查询的医疗关系。
在一些实施例中,问询语句包含多个关键词,待查询的医疗关系包括初始医疗关系及各个关键词之间的关联关系;语句解析模块被配置为:根据待查询的医疗实体及问询语句的第一个关键词,确定待查询的初始医疗关系;根据问询语句的各个关键词,确定各个关键词之间的关联关系。
在一些实施例中,语句解析模块被配置为:采用双向长短期记忆网络及条件随机场,识别用户输入的问询语句包含的待查询的医疗实体。
在一些实施例中,知识图谱查询模块被配置为:利用待查询的医疗实体及待查询的医疗关系,生成图数据库查询语句;利用图数据库查询语句查询预先创建的医疗知识图谱。
在一些实施例中,语句输出模块被配置为:根据待查询的医疗关系,确定应答语句的语句模板;将待查询的医疗实体、目标医疗实体填入应答语句的语句模板,生成应答语句;输出应答语句。
在一些实施例中,数据处理装置还包括图谱创建模块,被配置为:利用各个医疗实体及各个医疗实体之间的医疗关系,创建医疗知识图谱。
根据本公开实施例的又一个方面,提供了一种数据处理装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的数据处理方法。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的数据处理方法。
本公开以知识图谱作为自动问答的答案来源,实现了医疗知识的自动问答,能够更加准确地理解以自然语言描述的用户问题,解析用户的真实意图,返回给用户更加准确、专业的答案,从而为用户提供科学合理的医疗建议及医疗推荐。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
发明人对各类自动问答系统进行了深入的分析和研究。
在基于搜索引擎的问答系统中,用户可以输入关键词或句子,搜索引擎将返回排好序的相关文档集。现如今,这种问答系统已经很难满足用户的需求,基于搜索引擎的自动问答系统主要有两大缺点:一方面难以保证向用户反馈文档的数据质量,因为搜索引擎本身不能控制数据来源和数据本身,搜索引擎无法保证数据的准确性和全面性;另一方面,用户提出问题是希望得到一个精准且直接的答案,但搜索引擎给出的一系列文档,需要用户仔细研读才能找到需要的答案。
基于社区的问答系统主要基于互联网上的社区平台。社区平台往往是由用户提出问题,其他用户给出问题的答案,其他用户可以通过投票或点赞等方式来选择赞成哪个答案。因此,基于社区的问答系统所采用的主要技术是把新问题和社区中已有的所有问题进行相似性匹配,选择出相似性最高的已有问答对,其中包含了新问题可能的答案列表。基于社区的问答系统的缺陷在于无法判断和验证数据的准确性,因为用户提供的答案往往是不够准确和完善的。同时,基于社区的问答系统还无法解决长尾问题,即没有人提问过的问题无法匹配到可能的答案。
为实现更加智能化的医疗问答系统,本公开提供了一种数据处理方法,基于医疗知识图谱,自动化的为用户提供科学合理的医疗建议及医疗推荐。
首先介绍知识图谱的相关概念。
知识图谱:知识图谱是一种用图模型来描述知识和建模事物之间的关联关系的技术方法,它通过数据挖掘、信息处理、知识计量和图形绘制,把复杂的领域知识可视化地显示出来,揭示了知识领域的动态发展规律,能够为领域研究提供切实的、有价值的参考。在本质上,知识图谱就是将行业知识系统化、关系化,并通过图的形式把知识可视化地展示出来。
命名实体:命名实体一般指的是文本中具有特定意义或者指代性强的实体,通常包括人名、地名、组织机构名、日期时间、专有名词等。
命名实体识别:命名实体识别就是从非结构化的输入文本中抽取出命名实体,并且可以按照业务需求识别出更多类别的命名实体,比如产品名称、型号、价格等。
实体对齐:实体对齐也被称作实体匹配,是指对于异构数据源知识库中的各个实体,找出属于现实世界中的同一实体。
知识融合:即合并两个知识图谱,将来自多个来源的关于同一个实体或概念的描述信息融合起来。
在利用本公开提供的数据处理方法实现医疗知识的自动问答之前,可以利用各个医疗实体及各个医疗实体之间的医疗关系,创建医疗知识图谱。其中,医疗知识图谱的节点为各个医疗实体,医疗知识图谱的边为各个医疗实体之间的医疗关系,各个医疗实体包括待查询的医疗实体及目标医疗实体,各个医疗实体之间的医疗关系包括待查询的医疗关系。
例如,医疗实体具体可以为诸如感冒、发烧、肺气肿等具体的疾病名称,可以为诸如康泰克等具体的药品名称,也可以为B超、透视等具体的检查名称,还可以为具体的食物名称或症状名称。医疗关系具体可以为疾病与药品之间的对应关系、疾病与检查之间的对应关系、疾病与食物之间的对应关系、疾病与症状之间的对应关系,等等。
医疗知识图谱能够作为准确的知识库来提供医疗领域中的业务知识。与相关技术相比,医疗知识图谱能在三个方面有大幅度的提高。第一,结果准确性更高,由于一词多义、多词一义等语言现象以及多数据来源问题,知识图谱通过实体对齐和知识融合技术保证自身数据的准确性和全面性。第二,知识图谱中数据关联性更强,由于图数据结构的特性,知识图谱能够很轻松地从某实体关联到其他实体,能够更加深入地理解用户想要搜索的信息。第三,知识图谱能够给出包含完整的知识和关系的搜索结果,所以用户可以通过知识图谱发现丰富的未知信息。
下面结合图1描述本公开数据处理方法的一些实施例。
图1示出了本公开一些实施例的数据处理方法的流程示意图。如图1所示,本实施例包括步骤S101~步骤S103。
在步骤S101中,对用户输入的问询语句进行解析,获得待查询的医疗实体和待查询的医疗关系。
例如,用户输入的问询语句为“感冒吃啥药”,则可以通过实体对齐对用户输入的问询语句进行解析,可以获得待查询的医疗实体“感冒”,并获得待查询的医疗关系“疾病与药物的对应关系”。
在步骤S102中,利用待查询的医疗实体及待查询的医疗关系查询预先创建的医疗知识图谱,获得目标医疗实体。
查询医疗知识图谱时,可以利用待查询的医疗实体及待查询的医疗关系,生成图数据库查询语句。然后,利用图数据库查询语句查询预先创建的医疗知识图谱。
在步骤S103中,根据目标医疗实体,输出应答语句。
输出应答语句时,比较简单的方式是直接输出目标医疗实体,例如“康泰克”。在一些实施例中,可以先根据待查询的医疗关系,确定应答语句的语句模板。然后将待查询的医疗实体、目标医疗实体填入应答语句的语句模板生成应答语句,最终输出应答语句。后一种输出应答语句的方式能够给用户提供更加完善的用户体验。
例如,可以根据“疾病与药物的对应关系”确定预先设定的语句模板“___吃___”。然后,将查询的医疗实体“感冒”和目标医疗实体“康泰克”按照医疗实体在语句模板中的位置对应关系填入语句模板,生成并输出应答语句“感冒吃康泰克”。
本实施例以知识图谱作为自动问答的答案来源,实现了医疗知识的自动问答,能够更加准确地理解以自然语言描述的用户问题,解析用户的真实意图,返回给用户更加准确、专业的答案,从而为用户提供科学合理的医疗建议及医疗推荐。本实施例有助于规范医疗问答行为,提高医疗只是精准化问答的服务效率和服务质量,调整医疗行业供给关系。
下面结合图2描述如何对用户输入的问询语句进行解析。
图2示出了对用户输入的问询语句进行解析的流程示意图。如图2所示,本实施例包括步骤S2011~步骤S2013。
在步骤S2011中,识别用户输入的问询语句包含的待查询的医疗实体。
在一些实施例中,可以采用双向长短期记忆网络及条件随机场,识别用户输入的问询语句包含的待查询的医疗实体。长短期记忆网络(简称LSTM)是一种循环神经网络,最早由Hochreiter和Schmidhuber在1997年提出,设计初衷是希望能够解决循环神经网络中的长期依赖问题,让记住长期信息成为神经网络的默认行为,而双向长短期记忆网络(简称Bi-LSTM)不仅能学到上文信息,也能学到下文信息。条件随机场(简称CRF)可以用于构造在给定一组输入随机变量的条件下,另一组输出随机变量的条件概率分布模型。
图3使出了双向长短期记忆网络及条件随机场构成的网络模型。在Bi-LSTM上增加一个CRF层,目的是为获取全局最优的输出序列,相当于对Bi-LSTM信息的再利用。如果只采用Bi-LSTM网络,对于一个句子的标注序列,网络模型会选择出现每个词次数最多的序列,即不会考虑上下文是否合理,而加上一层CRF过滤,网络模型会考虑到在该上下文中,一个词最大概率出现的那个标注,这样能够得到更高的准确率。Bi-LSTM的优点是能够双向学习输入序列之间的依赖。在训练过程中,Bi-LSTM能够根据实体自动提取输入序列的特征。CRF的优点是能对隐含状态建模,从而学习状态序列的特点。所以在Bi-LSTM的后面再加一层CRF,能够同时获得两者的优点,从而使得命名实体识别任务效果更加准确和全面,具有良好的健壮性和领域开放性,针对多个领域、不同实体类别的识别任务时具有良好的可移植性。采用双向长短期记忆网络及条件随机场相结合,能够挖掘文本表层无法表示的深层语义信息和隐含信息,更贴近地对文本进行语义向量表示,大幅度提高命名实体识别的性能。
在医疗实体识别过程中,问询语句中可能出现疾病名称本身,也可能出现疾病俗称。而无论出现的是疾病名称本身还是疾病俗称,医疗实体的识别结果最终都能够与医疗知识图谱中相同的医疗实体相对应。
在步骤S2012中,识别用户输入的问询语句包含的至少一个关键词。
关键词可以为医疗实体的类别统称,例如“疾病”、“食物”、“检查”、“药”、“症状”等等。本领域技术人员应理解,关键词的个数可以为一个或更多个。例如,在问询语句“感冒吃啥药”中,关键词是“药”,关键词的个数为一个;而在在问询语句“感冒吃药多少钱”中,关键词是“药”、“钱”,关键词的个数为两个。
在步骤S2013中,根据待查询的医疗实体及问询语句的至少一个关键词,确定待查询的医疗关系。
例如,待查询的医疗实体“感冒”所属的关键词是“疾病”,而根据待查询的医疗实体“感冒”所属的关键词“疾病”与问询语句中的关键词“药”,可以确定待查询的医疗关系为“疾病与药物的对应关系”。
在一些实施例中,问询语句包含多个关键词。在这样的情况下,待查询的医疗关系包括初始医疗关系及各个关键词之间的关联关系。因此,可以根据待查询的医疗实体及问询语句的第一个关键词,确定待查询的初始医疗关系;根据问询语句的各个关键词,确定各个关键词之间的关联关系。
例如,在问询语句“感冒吃药多少钱”中,关键词是“药”、“钱”,关键词的个数为两个。那么,根据待查询的医疗实体“感冒”及第一个关键词“药”,可以确定待查询的初始医疗关系为“疾病与药物的对应关系”,根据第一个关键词“药”和第二个关键词“钱”,可以确定关键词之间的关联关系为“药物和金额的对应关系”。
下面结合图4描述利用本公开提供的数据处理方法生成的自动化医疗问答系统的一个应用示例。
图4示例性示出了自动化医疗问答系统的一个应用示例。自动化医疗问答系统主要由语义解析(包括医疗命名实体识别和医疗关系识别)、查询语句构建与转化以及答案回复规则器三个模块组成。
语义解析模块包含医疗命名实体识别和医疗关系识别两个部分,医疗命名实体识别旨在抽取出用户问询语句中包含的医疗特征词汇,能够提取出疾病、症状、药品、检查等二十多种类型的医疗实体。医疗关系识别通过关系识别规则器来理解问询语句所表达的语义,匹配医疗知识图谱中的关系类型,从而得到与医疗知识图谱对应的医疗关系。通过医疗命名实体识别和医疗关系识别得到了用户问句的医疗实体和医疗关系信息,实体和关系信息被送入查询语句构建与转化模块。
查询语句构建与转化模块,基于医疗实体识别和医疗关系识别得到的用户问询语句的医疗实体和医疗关系,将医疗实体和医疗关系结合起来,形成用户问句的逻辑表达式,然后将逻辑表达式转换为基于医疗知识图谱的与用户问句相对应的图数据库查询语句,例如Cypher图数据库查询语言。通过图数据库查询语句(具体包括一度或多度查询等)查询已建立好的医疗知识图谱,医疗知识图谱给出查询到的结果,即对应的医疗知识,送入答案回复规则器模块。
答案回复规则器模块接收医疗知识图谱查询到的结果,同时结合医疗知识、回答模板及符合用户表达习惯的自然语言,从而得到最终答案,并回复给用户。
下面结合图5描述本公开数据处理装置的一些实施例。
图5示出了本公开一些实施例的数据处理装置的结构示意图。如图5所示,本实施例中的数据处理装置50包括:语句解析模块501,被配置为对用户输入的问询语句进行解析,获得待查询的医疗实体和待查询的医疗关系;知识图谱查询模块502,被配置为利用待查询的医疗实体及待查询的医疗关系查询预先创建的医疗知识图谱,获得目标医疗实体,其中,医疗知识图谱的节点为各个医疗实体,医疗知识图谱的边为各个医疗实体之间的医疗关系,各个医疗实体包括待查询的医疗实体及目标医疗实体,各个医疗实体之间的医疗关系包括待查询的医疗关系;语句输出模块503,被配置为根据目标医疗实体,输出应答语句。
在一些实施例中,语句解析模块501被配置为:识别用户输入的问询语句包含的待查询的医疗实体;识别用户输入的问询语句包含的至少一个关键词;根据待查询的医疗实体及问询语句的至少一个关键词,确定待查询的医疗关系。
在一些实施例中,问询语句包含多个关键词,待查询的医疗关系包括初始医疗关系及各个关键词之间的关联关系;语句解析模块501被配置为:根据待查询的医疗实体及问询语句的第一个关键词,确定待查询的初始医疗关系;根据问询语句的各个关键词,确定各个关键词之间的关联关系。
在一些实施例中,语句解析模块501被配置为:采用双向长短期记忆网络及条件随机场,识别用户输入的问询语句包含的待查询的医疗实体。
在一些实施例中,知识图谱查询模块502被配置为:利用待查询的医疗实体及待查询的医疗关系,生成图数据库查询语句;利用图数据库查询语句查询预先创建的医疗知识图谱。
在一些实施例中,语句输出模块503被配置为:根据待查询的医疗关系,确定应答语句的语句模板;将待查询的医疗实体、目标医疗实体填入应答语句的语句模板,生成应答语句;输出应答语句。
在一些实施例中,数据处理装置50还包括图谱创建模块500,被配置为:利用各个医疗实体及各个医疗实体之间的医疗关系,创建医疗知识图谱。
本实施例以知识图谱作为自动问答的答案来源,实现了医疗知识的自动问答,能够更加准确地理解以自然语言描述的用户问题,解析用户的真实意图,返回给用户更加准确、专业的答案,从而为用户提供科学合理的医疗建议及医疗推荐。本实施例有助于规范医疗问答行为,提高医疗只是精准化问答的服务效率和服务质量,调整医疗行业供给关系。
下面结合图6描述本公开数据处理装置的另一些实施例。
图6示出了本公开另一些实施例的数据处理装置的结构示意图。如图6所示,该实施例的数据处理装置60包括:存储器610以及耦接至该存储器610的处理器620,处理器620被配置为基于存储在存储器610中的指令,执行前述任意一些实施例中的数据处理方法。
其中,存储器610例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
数据处理装置60还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630、640、650以及存储器610和处理器620之间例如可以通过总线660连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的数据处理方法。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。