导医信息推送方法、装置、设备、介质和计算机程序产品
文献发布时间:2024-04-18 19:58:53
技术领域
本申请涉及计算机技术领域,特别是涉及一种导医信息推送方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术、机器学习技术的进步和大众医疗需求的日益增长,智能导医逐渐成为各大企业和医院的关注热点,它涉及了多种机器学习任务,例如分类任务、问答任务,等等,可以为用户提供更及时、高效、精准的服务,为医护人员减轻工作负担,提高医院的整体运行效率。
目前,基于规则的智能导医,通常是基于大量的专家知识构建多种知识库,并在后期系统实际上线中不断修正知识库,构建知识库的人力成本高;基于深度学习的智能导医,不同的任务、不同的应用场景依赖于不同的模型,需要多个模型,部署维护较为繁琐,费事费力,且回复的导医信息也不够智能、准确。
发明内容
基于此,有必要针对上述技术问题,提供一种导医信息推送方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,不需要依赖于较高的人力成本,也不需要多个不同的模型,可以有效地降低训练、部署、维护的难度,而且能够返回更智能、准确的导医信息。
第一方面,本申请提供了一种导医信息推送方法,包括:
接收终端发送的问询信息;
根据所述问询信息识别出问询意图,所述问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种;
当所述问询意图为导诊意图时,基于所述问询信息进行多轮追问,根据所述终端发送的多轮回复获得主诉信息;
获取科室推荐任务的引导文本,根据所述科室推荐任务的引导文本、所述主诉信息与所述问询信息所涉及的候选科室,构造所述科室推荐任务的提示文本,调用大语言模型,基于所述科室推荐任务的提示文本进行语义理解得到推荐科室,所述推荐科室来自所述问询信息所涉及的候选科室;
根据所述主诉信息与属于所述推荐科室的医生的匹配度,从属于所述推荐科室的医生中确定推荐医生,向所述终端推送所述推荐科室和所述推荐医生。
第二方面,本申请还提供了一种导医信息推送装置,包括:
接收模块,用于接收终端发送的问询信息;
意图识别模块,用于根据所述问询信息识别出问询意图,所述问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种;
多轮追问模块,用于当所述问询意图为导诊意图时,基于所述问询信息进行多轮追问,根据所述终端发送的多轮回复获得主诉信息;
科室推荐模块,用于获取科室推荐任务的引导文本,根据所述科室推荐任务的引导文本、所述主诉信息与所述问询信息所涉及的候选科室,构造所述科室推荐任务的提示文本,调用大语言模型,基于所述科室推荐任务的提示文本进行语义理解得到推荐科室,所述推荐科室来自所述问询信息所涉及的候选科室;
医生推荐模块,用于根据所述主诉信息与属于所述推荐科室的医生的匹配度,从属于所述推荐科室的医生中确定推荐医生,向所述终端推送所述推荐科室和所述推荐医生。
在一个实施例中,所述意图识别模块,还用于调用大语言模型,基于意图识别任务的提示文本进行语义理解得到所述问询信息的问询意图;其中,所述意图识别任务的提示文本根据所述意图识别任务的引导文本与所述问询信息构造而成,所述意图识别任务的引导文本用于指示识别出的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。
在一个实施例中,所述装置还包括:
科室识别模块,用于对所述问询信息进行内容理解,得到所述问询信息所涉及的标准科室;
科室召回模块,根据所述标准科室从医院科室库中召回所述问询信息所涉及的候选科室,所述医院科室库包括医院库中各个医院的科室信息。
在一个实施例中,所述科室识别模块,还用于调用大语言模型,基于科室识别任务的提示文本进行语义理解得到所述问询信息所涉及的标准科室;其中,所述科室识别任务的提示文本根据所述科室识别任务的引导文本、所述问询信息与用户基本信息构造而成。
在一个实施例中,所述多轮追问模块,还用于若所述问询信息仅涉及一个标准症状,则发出关于所述标准症状的伴随症状追问消息;获取所述终端针对所述伴随症状追问消息所回复的伴随症状描述信息;根据所述问询信息、所述伴随症状描述信息获得所述主诉信息。
在一个实施例中,所述多轮追问模块,还用于调用大语言模型,基于症状识别任务的提示文本进行语义理解得到所述问询信息所涉及的标准症状;其中,所述症状识别任务的提示文本根据所述症状识别任务的引导文本、所述问询信息与用户基本信息构造而成。
在一个实施例中,所述多轮追问模块,还用于获取用于描述症状之间的共现关系的共现矩阵;基于所述共现矩阵查询所述一个标准症状的共现症状;根据查询到的所述共现症状发出关于所述标准症状的伴随症状追问消息。
在一个实施例中,所述多轮追问模块,还用于获取统计的每个科室的热门伴随症状;根据所述问询信息所涉及的至少一个标准科室,确定所述至少一个标准科室各自对应的热门伴随症状;根据所述热门伴随症状发出关于所述标准症状的伴随症状追问消息。
在一个实施例中,所述科室推荐模块,还用于获取所述科室推荐任务的提示文本模板,所述提示文本模板中包括所述科室推荐任务的引导文本;根据所述主诉信息与所述问询信息所涉及的候选科室,对所述科室推荐任务的提示文本模板进行填充,得到科室推荐任务的提示文本。
在一个实施例中,所述医生推荐模块,还用于从医生库中查询属于所述推荐科室的医生;通过句子向量表征模型,将属于所述推荐科室的医生的医生介绍文本转化为相应的医生向量,将所述主诉信息转化为对应的主诉向量;分别计算所述主诉向量与各所述医生向量之间的相似度;根据所述相似度从属于所述推荐科室的医生中召回候选医生;从所述候选医生中确定推荐医生。
在一个实施例中,所述医生推荐模块,还用于获取医生推荐任务的引导文本;根据所述医生推荐任务的引导文本、所述主诉信息与各所述候选医生的医生介绍文本,构造所述医生推荐任务的提示文本;调用大语言模型,基于所述医生推荐任务的提示文本进行语义理解得到推荐医生,所述推荐医生源自所述候选医生。
在一个实施例中,所述装置还包括:
院务信息问答模块,用于当所述问询意图为院务信息问答意图时,根据所述问询信息与院务信息问答对的匹配度,确定至少一个候选院务信息问答对;获取院务信息问答任务的提示文本模板,根据所述问询信息与所述至少一个候选院务信息问答对,对所述院务信息问答任务的提示文本模板进行填充,得到所述院务信息问答任务的提示文本;调用大语言模型,基于所述院务信息问答任务的提示文本进行语义理解得到所述问询信息的答案。
在一个实施例中,所述院务信息问答模块,还用于通过句子向量表征模型,将院务信息问答对库中的院务信息问答对转化为相应的问答对向量,将所述问询信息转化为对应的问询向量;分别计算所述问询向量与各院务信息问答对的问答对向量之间的相似度;根据所述相似度从所述院务信息问答对库中确定至少一个候选院务信息问答对。
在一个实施例中,所述装置还包括:
医学知识问答模块,用于当所述问询意图为医学知识问答意图时,根据所述问询信息与医学知识问答对的匹配度,确定至少一个候选医学知识问答对;获取医学知识问答任务的提示文本模板,根据所述问询信息与所述至少一个候选医学知识问答对,对所述医学知识问答任务的提示文本模板进行填充,得到所述医学知识问答任务的提示文本;调用大语言模型,基于所述医学知识问答任务的提示文本进行语义理解得到所述问询信息的答案。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述导医信息推送方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述导医信息推送方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述导医信息推送方法的步骤。
上述导医信息推送方法、装置、计算机设备、存储介质和计算机程序产品,接收终端发送的问询信息,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种,当识别出的问询意图为导诊意图时,则基于该问询信息进行多轮追问,根据该终端发送的多轮回复获得主诉信息,继而,获取科室推荐任务的引导文本,根据该科室推荐任务的引导文本、该主诉信息与该问询信息所涉及的候选科室,构造该科室推荐任务的提示文本,调用大语言模型基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室,根据该主诉信息与属于该推荐科室的医生的匹配度,从属于该推荐科室的医生中确定推荐医生,向该终端推送该推荐科室和该推荐医生,这样,充分利用了大语言模型的内容理解与生成能力,只需要部署一个大语言模型就可应对智能导医中的各个任务,不需要训练部署多个模型,有效降低训练、部署、维护的难度,而且能够返回更智能、准确的导医信息。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中导医信息推送方法的应用环境图;
图2为一个实施例中导医信息推送方法的流程示意图;
图3为一个实施例中智能导医会话界面的示意图;
图4为一个实施例中根据问询信息识别出问询意图的流程示意图;
图5为一个实施例中基于问询信息进行追问获得主诉信息的流程示意图;
图6为一个实施例中医生推荐的流程示意图;
图7为一个实施例中问询意图为导诊意图时后续处理流程示意图;
图8为一个实施例中标准科室与真实科室的映射数据示意图;
图9为一个实施例中院务信息问答的流程示意图;
图10为一个实施例中问询意图为院务信息问答意图时后续处理流程示意;
图11为一个实施例中导医信息推送方法的总体架构示意图;
图12为一个实施例中导医信息推送装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的导医信息推送方法,涉及人工智能(ArtificialIntelligence,AI)技术,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本申请实施例提供的导医信息方法,具体涉及人工智能的深度学习技术。
Large Language Model(LLM,大语言模型):是指基于深度学习技术,使用大规模语料库训练的自然语言处理模型。LLM模型通常具有数十亿甚至数百亿个参数,可以处理自然语言中的语义、语法、上下文等复杂信息,具有很强的语言理解和生成能力,可以为自然语言处理领域带来更加准确和智能的解决方案。
Prompt:指自然语言处理中的“提示语”,可以理解为是一种提示文本,它是模型的输入,形式可以是一个问题、一个主题、一个关键词等,用于引导模型理解并生成相应的自然语言文本。
预训练语言模型微调训练:是在预训练语言模型的基础上,利用特定任务(如智能导医场景下的分类任务、问答任务)的数据集对预训练语言模型进行进一步微调训练,使模型能够更好地适应特定任务。
LoRA(Low-Resource Adaptation):是一种高效且低资源的训练策略,通过在原有模型参数W的旁边外接一个旁路,将原始的输入维度d先降维到r,然后再升维度到原始的输出维度d。在保持大语言模型原始参数不变的情况下,通过优化额外的可学习参数来提高模型在特定任务的效果。
智能导医:根据用户输入的主诉,智能追问主诉相关的伴随症状,智能推荐导医信息,例如就诊科室和医生,对患者的问诊需求和医院的门诊资源进行优化匹配,优化服务流程,提升导医服务效能。
本申请实施例提供的导医信息推送方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。在一个实施例中,服务器104可以接收终端102发送的问询信息,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种;当问询意图为导诊意图时,服务器104基于问询信息进行多轮追问,根据终端发送的多轮回复获得主诉信息,获取科室推荐任务的引导文本,根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室,根据主诉信息与属于推荐科室的医生的匹配度,从属于推荐科室的医生中确定推荐医生,服务器104向终端102推送推荐科室和推荐医生。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种导医信息推送方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤202至步骤210。其中:
步骤202,接收终端发送的问询信息。
其中,问询信息是智能导医场景下用户输入的内容。本申请实施例对问询信息的具体内容不限,用户可以输入一段症状描述文本,例如,“膝关节肿胀疼痛”,用户还可以输入一段院务信息咨询文本,例如,“妇产科在几楼”、“门诊周六开到几点”,用户还可以输入一段医学知识相关问题,例如,“糖尿病吃什么药”、“三岁小孩发烧吃什么剂量的感冒药”、“孕妇可以吃布洛芬吗”等等。本申请实施例对问询信息的内容形式不限,用户输入的问询信息,可以是文本形式的,还可以是语音形式的,若为语音形式的,终端对用户输入的语音进行语音识别后转化为相应的文本内容,将文本内容发送至服务器,服务器接收用户输入的文本内容。
在一个具体的应用场景中,终端上运行提供智能导医功能的应用程序,终端运行该应用程序时可呈现智能导医会话界面,用户可在登录该应用程序后,进入该智能导医会话界面,在该智能导医会话界面中输入问询信息。可选地,与用户进行会话的是智能导医客服账号,终端将问询信息发送至服务器,服务器基于该问询信息与终端通过该智能导医客服账号进行交互,例如,服务器将生成的答复内容通过该智能导医客服账号发送至智能导医会话界面,呈现给用户。可选地,提供智能导医功能的应用程序,可以是原生应用程序,也可以是小程序,可以是某个医院的在线互联网医院程序,还可以是某个地区、区域的在线互联网医院程序,还可以是某个平台提供的在线健康医疗程序。
如图3所示,为一个实施例中智能导医会话界面的示意图。参照图3,用户可以通过在该智能导医会话界面中输入问询信息,与智能导医客服账号进行交互,获得推送的导医信息,导医信息包括导诊场景下推送的推荐科室与推荐医生、院务信息问答场景下推送的院务信息、医学知识问答场景下推送的医学知识,等等。
步骤204,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。
其中,服务器所提供的智能导医功能包括导诊、院务信息问答、医学知识问答意图、其它知识问答等,服务器可以根据问询信息识别出用户的问询意图是导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的哪一种或哪些,从而按照不同问询意图,为用户推送相应的导医信息。导诊意图即诊前导医意图,需要根据问询信息为用户推送相应的科室与医生,院务信息问答意图,则需要根据问询信息推送院务信息,医学知识问答意图则需要根据问询信息为用户推送医学知识。
在一个实施例中,如图4所示,根据问询信息识别出问询意图的步骤,包括:调用大语言模型,基于意图识别任务的提示文本进行语义理解得到问询信息的问询意图;其中,意图识别任务的提示文本根据意图识别任务的引导文本与问询信息构造而成,意图识别任务的引导文本用于指示识别出的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。具体包括如下步骤:
步骤402,获取意图识别任务的引导文本,引导文本用于指示识别的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。
其中,意图识别任务是根据问询信息从多个指定意图类型中识别出问询信息所属的一种或多种意图类型的过程。意图识别任务的引导文本,用于指示识别的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。例如,意图识别任务的引导文本为:
“请提取以下句子的意图,意图类型包括导诊、院务信息问答、医学知识问答、其它知识问答。”。
步骤404,根据意图识别任务的引导文本与问询信息,构造意图识别任务的提示文本。
例如,服务器从终端获取的问询信息为“脸上长痘红血丝和闭口要看什么科室”,根据上述的意图识别任务的引导文本与问询信息,构造意图识别任务的提示文本为:
“请提取“脸上长痘红血丝和闭口要看什么科室”的意图,意图类型包括导诊、院务信息问答、医学知识问答、其它知识问答。”。
可选地,除了根据上述的问询信息构造提示文本,服务器还可以获取用户的用户基本信息,如年龄、性别、是否怀孕等,根据上述的意图识别任务的引导文本、问询信息与用户基本信息,构造意图识别任务的提示文本。例如,在上面的例子中,构成的提示文本可以是:
“请提取用户信息为“35岁、性别男”的用户关于“脸上长痘红血丝和闭口要看什么科室”的意图,意图类型包括导诊、院务信息问答、医学知识问答、其它知识问答。”。
步骤406,通过大语言模型根据意图识别任务的提示文本识别问询意图。
接着,服务器将按照上述方式得到的提示文本,输入至大语言模型,通过大语言模型的内容理解能力,输出问询信息的问询意图。大语言模型通常具有数十亿甚至数百亿个参数,可以处理自然语言中的语义、语法、上下文等复杂信息,具有很强的语言理解和生成能力。在上面的例子中,大语言模型输出的问询意图为“导诊意图”。
上述实施例中,通过构造意图识别任务的引导文本,根据意图识别任务的引导文本与用户输入的问询信息,构造意图识别任务的提示文本,由于引导文本用于指示识别的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种,将该提示文本输入大语言模型,就可以通过大语言模型输出在上述指定意图类型集合形成的空间中的识别结果。
上述的大语言模型,是利用了导诊场景下各类任务的相关数据对预训练大语言模型进行进一步的微调训练得到的,通过导诊场景下的各类任务的相关数据进一步进行微调训练,可以使大语言模型更好地适应导诊场景下的各类任务,如科室识别任务、症状识别任务、意图识别任务、科室推荐任务、医生推荐任务,等等。后文将会对微调训练所需的训练数据进行详细说明。
需要说明的是,服务器根据问询信息识别出的问询意图可以为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的一种或多种,问询意图为其中的多种,则说明问询信息的意图是复合意图。
步骤206,当问询意图为导诊意图时,基于问询信息进行多轮追问,根据终端发送的多轮回复获得主诉信息。
具体地,当识别出的问询意图为导诊意图时,为了提高后续推送的科室、医生与用户当前的症状描述的匹配度,服务器可以基于问询信息进行多轮追问,根据用户通过终端发送的多轮回复获得必要的、准确的主诉信息,主诉信息即描述用户当前症状的信息,包括原始的问询信息、用户的多轮回复、用户基本信息,等等。通过多轮追问可以获得缺失的必要信息并纠正冲突的信息。
可选地,由于用户基本信息例如用户的性别、年龄对科室推荐具有重要的参考作用,如果服务器当前未获取到用户基本信息,则服务器可以追问用户的基本信息,如“请输入您的性别与年龄”。
可选地,如果服务器当前判断问询信息与获取的用户基本信息存在冲突,例如,为孩子问询但实际获取的是作为孩子父母的用户信息,那么此时就会存在冲突,例如问询信息为“小孩子能吃退烧药吗?”,而获取的用户基本信息是“男,35岁”,则服务器可以继续追问“孩子的年龄?”。可选地,如果服务器从问询信息中识别出怀孕状态或产后状态,但未标明明确的时间,则服务器可以追问孕产时间信息。
可选地,部分症状的发生部位,对科室推荐具有重要的参考作用,例如“身上起红疹,非常痒”,若当前服务器未获知症状发生的具体部位,则服务器可以追问发生的具体部位。上述信息均有助于提升后续服务器执行科室推荐任务时使推荐科室与用户的当前症状描述信息相匹配,提高推送信息的准确性。
在一个实施例中,如图5所示,基于问询信息进行多轮追问,根据终端发送的多轮回复获得主诉信息,包括:
步骤502,若问询信息仅涉及一个标准症状,则发出关于标准症状的伴随症状追问消息。
具体地,在接收终端发送的问询信息之后,服务器除了根据问询信息识别出问询意图,服务器还可以对问询信息进行内容理解,得到问询信息所涉及的标准症状。标准症状是较为笼统的症状,如“发热”,但很多原因都会引起发热。若服务器对问询信息进行内容理解,仅识别出一个标准症状,而由于单个标准症状可能对应多种可能的疾病,那么就会对应多个可能的科室,需要进一步参考对伴随症状,因此,若服务器仅识别出一个标准症状,则服务器可以进行伴随症状追问,即发出关于标准症状的伴随症状追问消息。可选地,服务器可以将伴随症状追问消息发送至终端,终端根据该伴随症状追问消息在智能导医会话界面中发送伴随症状追问会话内容,呈现给用户。
可选地,服务器可以通过符合医学逻辑的自定义决策树确定追问问题,从而实现对用户的多轮追问。
可选地,服务器还可以从大规模数据中挖掘症状之间的共现关系,根据挖掘出的共现关系确定与当前问询信息所涉及的一个标准症状共现度高的症状进行多轮追问,具体而言,服务器可以获取用于描述症状之间的共现关系的共现矩阵,基于共现矩阵查询一个标准症状的共现症状,根据查询到的共现症状发出关于标准症状的伴随症状追问消息。本申请实施例对共现矩阵的确定方式不限,一些可能的实施方式中,服务器可以获取一些医疗数据,假设症状词有n个,则共现矩阵可以是一个n*n的矩阵,里面的元素代表两个症状词共同出现的次数,即共现次数。假如一共有10份数据,症状词a在该10份数据中出现,遍历10份数据,统计其他症状词在这10份数据中出现的次数,即为症状词a跟其他症状词的共现次数。
可选地,服务器还可以根据问询信息所涉及的至少一个标准科室的热门症状进行追问,具体而言,服务器可以获取统计的每个科室的热门伴随症状,根据问询信息所涉及的至少一个标准科室,确定至少一个标准科室各自对应的热门伴随症状,根据热门伴随症状发出关于标准症状的伴随症状追问消息。热门伴随症状是出现次数相对较多的伴随症状,在一些可能的实施方式中,服务器可以统计每个科室下的数据中每个伴随症状出现的次数,比如消化内科的数据中,“腹痛”症状出现次数多,即为热门伴随症状。
步骤504,获取终端针对伴随症状追问消息所回复的伴随症状描述信息。
用户对伴随症状追问消息进行回复,回复内容即为伴随症状描述信息。
步骤506,根据问询信息、伴随症状描述信息获得主诉信息。
服务器将上述的问询信息、经过多轮追问获得的伴随症状描述信息,均作为后续科室推荐与医生推送所需的主诉信息,该主诉信息能够相对真实、全面地反应用户当前的身体状况。
在本实施例中,通过在问询信息仅涉及一个标准症状时发出关于标准症状的伴随症状追问消息,提示用户关于伴随症状的主动描述,可有助于获得准确的主诉信息,从而有助于提升后续推送导医信息的准确性与匹配度。
步骤208,获取科室推荐任务的引导文本,根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室。
其中,科室推荐任务是在指定的多个候选科室中推荐出部分与上述的主诉信息更匹配的科室的过程,该过程可通过大语言模型的语言理解与生成能力实现。服务器可以识别出问询信息所涉及的标准科室,再根据标准科室从医院科室库中召回问询信息所涉及的真实的候选科室,在得到候选科室之后,通过大语言模型从这些候选科室中筛选出若干推荐科室。
科室推荐任务的引导文本,用于引导大语言模型理解科室推荐。例如,科室推荐任务的引导文本为:
“你是一个导诊机器,基于以下科室信息,推荐最合适的1-3个科室,并说明理由”。
服务器可以根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本,再进一步调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室。
在一个实施例中,获取科室推荐任务的引导文本,根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本,包括:获取科室推荐任务的提示文本模板,提示文本模板中包括引导文本;根据主诉信息与问询信息所涉及的候选科室,对科室推荐任务的提示文本模板进行填充,得到科室推荐任务的提示文本。
例如,科室推荐任务的提示文本模板为:
“你是一个导诊机器,基于以下科室信息,推荐最合适的1-3个科室,并说明理由。已知信息:候选科室1,候选科室2,候选科室3,候选科室4,候选科室5,候选科室6,候选科室7,…。主诉信息:问询信息x1、多轮答复x2、性别x3、年龄x4。”
服务器根据得到的上述主诉信息与问询信息所涉及的候选科室,对科室推荐任务的提示文本模板进行填充,得到科室推荐任务的提示文本,将提示文本输入大语言模型中,获得推荐科室及相关解释。其中主诉信息包括问询信息、多轮追问得到的用户的多轮答复、用户基本信息如性别、年龄,等等。
步骤210,根据主诉信息与属于推荐科室的医生的匹配度,从属于推荐科室的医生中确定推荐医生,向终端推送推荐科室和推荐医生。
在确定了推荐科室之后,服务器可以确定推荐科室各自所在的医院,根据医院标识、推荐科室的科室名称,从医生库中查询属于该医院该推荐科室的医生,进而,根据主诉信息与属于推荐科室的医生的匹配度,从这些医生中确定推荐医生,并向述终端推送通过上述方式所确定的推荐科室和推荐医生。其中,主诉信息与属于推荐科室的医生的匹配度,可以通过相似度来表征。
在一个实施例中,根据主诉信息与属于推荐科室的医生的匹配度,从属于推荐科室的医生中确定推荐医生,包括:从医生库中查询属于推荐科室的医生;通过句子向量表征模型,将属于推荐科室的医生的医生介绍文本转化为相应的医生向量,将主诉信息转化为对应的主诉向量;分别计算主诉向量与各医生向量之间的相似度;根据相似度从属于推荐科室的医生中召回候选医生;从候选医生中确定推荐医生。
可选地,医生库中存放了各个医院各个科室的医生的医生介绍文本,服务器可以根据推荐科室确定推荐科室所在的医院ID,根据该医院ID、该推荐科室的科室ID,查询医生库得到医生以及相应医生介绍文本。服务器可以通过句子向量表征模型,将主诉信息转化为对应的主诉向量、将医生介绍文本转化为相应的医生向量,其中,句子向量表征模型可以是文本相似度模型,如Word2Vec、RankBM25、BERT、Sentence-BERT、CoSENT等多种文本表征、文本相似度计算模型。
可选地,医生库中存放了各个医院各个科室的医生的医生向量,该医生向量是提前通过句子向量表征模型生成的,那么,服务器就可以直接根据推荐科室确定推荐科室所在的医院ID,根据该医院ID、该推荐科室的科室ID查询医生库得到相应的医生向量。
在通过句子向量表征模型根据医生介绍文本生成相应的医生向量时,服务器需要对这些文本进行分片,得到多个文本片段,通过句子向量表征模型分别将每个文本片段转化为句子向量,根据得到的多个句子向量得到医生向量。
而后,服务器可以分别计算主诉向量与各医生向量之间的相似度,根据相似度从属于推荐科室的医生中召回候选医生,从候选医生中确定推荐医生。例如,服务器可以从属于推荐科室的医生中召回10个候选医生。可选地,相似度可以用余弦相似度cosine_similarity表示:
cosine_similarity=(A·B)/(||A||||B||);
其中,A和B是两个向量,·表示向量的点积,||A||和||B||分别表示向量A和向量B的模长。
继而,服务器可以继续从召回的10个候选医生中筛选出最合适的若干医生,作为推荐医生,例如1-3名医生,作为推荐医生。
本实施例中,根据得到的真实的推荐科室,从医生库中按照医院ID、推荐科室ID筛选出医生,继而将用户的主诉信息的主诉向量与筛选出的真实医生的医生向量进行相似度比较,召回相关的多个候选医生,能够从海量医生中逐步筛选出与用户当前的症状匹配的医生,具有较强的可解释性,提高了医生推荐的匹配度。
在一个实施例中,从候选医生中确定推荐医生,包括:获取医生推荐任务的引导文本;根据医生推荐任务的引导文本、主诉信息与各候选医生的医生介绍文本,构造医生推荐任务的提示文本;调用大语言模型,基于医生推荐任务的提示文本进行语义理解得到推荐医生,推荐医生源自候选医生。
其中,医生推荐任务是在指定的多个候选医生中推荐出部分与上述的主诉信息更匹配的医生的过程,该过程可通过大语言模型的语言理解与生成能力实现。医生推荐任务的引导文本,用于引导大语言模型理解医生推荐。例如,医生推荐任务的引导文本为:
“你是一个导诊机器,基于以下医生信息,给患者推荐最合适的1-3名医生,并说明理由。”
服务器可以根据医生推荐任务的引导文本、主诉信息与上述得到的候选医生的医生介绍文本,构造医生推荐任务的提示文本,再进一步通过大语言模型根据医生推荐任务的提示文本,从候选医生中确定推荐医生。
可选地,根据医生推荐任务的引导文本、主诉信息与各候选医生的医生介绍文本,构造医生推荐任务的提示文本,包括:获取医生推荐任务的提示文本模板,提示文本模板中包括医生推荐任务的引导文本,根据主诉信息与各候选医生的医生介绍文本,对医生推荐任务的提示文本模板进行填充,得到医生推荐任务的提示文本。
例如,医生推荐任务的提示文本模板为:
“你是一个导诊机器,基于以下医生信息,给患者推荐最合适的1-3名医生,并说明理由。已知信息:主诉信息:问询信息x1、多轮答复x2、性别x3、年龄x4。候选医生信息:候选医生1,职称M1,擅长治疗xxx;候选医生2,职称M2,擅长治疗xxx;候选医生3,职称M3,擅长治疗xxx;候选医生4,职称M4,擅长治疗xxx;候选医生5,职称M5,擅长治疗xxx;……;。”
服务器根据得到的上述主诉信息与各个候选医生的医生介绍文本,对医生推荐任务的提示文本模板进行填充,得到医生推荐任务的提示文本,将提示文本输入大语言模型中,获得推荐医生及相关解释。其中主诉信息包括问询信息、多轮追问得到的用户的多轮答复、用户基本信息如性别、年龄,等等。
如图6所示,为一个实施例中医生推荐的流程示意图。参照图6,首先需要将医生擅长文本或医生介绍文本进行数据读取和分片,继而通过句子向量表征模型,对文本片段进行向量化,转化为医生向量,存入医生库。根据上述步骤得到的真实的推荐科室,按照医院ID、推荐科室的科室ID从医生库中筛选出医生,继而将上述步骤得到的主诉信息通过句子向量标准模型转化为主诉向量,与筛选出的医生的医生向量进行相似度比较,召回最相关的10个候选医生。继而根据上述的主诉信息与10个候选医生的医生介绍文本构建医生推荐任务的提示文本,将提示文本输入大语言模型中,获得推荐医生及相关解释。
如图7所示,为一个实施例中问询意图为导诊意图时后续的处理流程示意图。参照图7,在识别出问询意图为导诊意图时,经过多轮追问,获取必要的缺失信息,根据通过内容理解得到的标准科室,进行真实的多个候选科室召回,继而通过大语言模型从多个候选科室中进行1-3个真实的推荐科室的决策,之后召回该推荐科室下的医生,根据主诉信息与医生各自的医生向量之间的相似度,从医生库中召回擅长的多个候选医生,继而通过大语言模型从多个候选医生中进行1-3个真实的推荐医生的决策,最后返回真实的推荐科室、推荐医生及相关解释。
上述导医信息推送方法,接收终端发送的问询信息,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种,当识别出的问询意图为导诊意图时,则基于该问询信息进行多轮追问,根据该终端发送的多轮回复获得主诉信息,继而,获取科室推荐任务的引导文本,根据该科室推荐任务的引导文本、该主诉信息与该问询信息所涉及的候选科室,构造该科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室,根据该主诉信息与属于该推荐科室的医生的匹配度,从属于该推荐科室的医生中确定推荐医生,向该终端推送该推荐科室和该推荐医生,这样,充分利用了大语言模型的内容理解与生成能力,只需要部署一个大语言模型就可应对智能导医中的各个任务,不需要训练部署多个模型,有效降低训练、部署、维护的难度,而且能够返回更智能、准确的导医信息。
在一些实施例中,在接收终端发送的问询信息之后,服务器除了根据问询信息识别出问询意图,服务器还可以对问询信息进行内容理解,得到问询信息所涉及的标准科室、标准症状、标准疾病和关键实体,等等。标准科室是识别出的科室名称,其相对于医院内部设置的具体的真实科室(本申请称之为候选科室)而言,是笼统、标准化的,例如,标准科室为“儿童保健科”,实际上某医院设置的科室是“新生儿保健门诊”。标准症状是较为笼统的症状,如“发热”,但很多原因都会引起发热,更具体的症状可能是“xx病毒感染引起持续发热”。
在一个实施例中,在根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本之前,上述导医信息方法还包括:对问询信息进行内容理解,得到问询信息所涉及的标准科室。具体地,对问询信息进行内容理解,得到问询信息所涉及的标准科室,包括:调用大语言模型,基于科室识别任务的提示文本进行语义理解得到问询信息所涉及的标准科室;其中,科室识别任务的提示文本根据科室识别任务的引导文本、问询信息与用户基本信息构造而成。可选地,服务器可以获取科室识别任务的引导文本;根据科室识别任务的引导文本、问询信息与用户基本信息,构造科室识别任务的提示文本;通过大语言模型根据科室识别任务的提示文本识别出问询信息所涉及的标准科室。
其中,科室识别任务是在指定的多个预设的标准科室中识别出一个或多个与上述的问询信息匹配的标准科室的过程,该过程也可通过大语言模型的内容理解能力实现。科室识别任务与科室推荐任务的区别在于,科室识别任务是在多个笼统的标准科室中进行选择,科室推荐任务是在给出的多个真实的候选科室中筛选出更合适的科室。
科室识别任务的引导文本,用于引导大语言模型理解科室识别。例如,科室识别任务的引导文本为:
“请提取以下句子的科室并说明理由。”
服务器可以根据科室识别任务的引导文本、问询信息,构造科室识别任务的提示文本,再进一步通过大语言模型根据科室识别任务的提示文本识别出一个或多个可能的标准科室。
例如,科室识别任务的提示文本模板为:
“请提取以下句子的科室并说明理由。句子:xxx。”
将问询信息填充到该提示文本模板中,得到科室识别任务的提示文本,将提示文本输入大语言模型中,识别出标准科室及相关解释。
可选地,上述导医信息方法还包括:根据标准科室从医院科室库中召回问询信息所涉及的候选科室,医院科室库包括医院库中各个医院的科室信息。具体来说,不同医院的真实科室名与标准科室名之间存在差异,服务器可以将各个医院的真实科室名映射到标准科室名,从而适应各个医院的科室名,减少对每个医院的定制化开发。如图8所示,为一个实施例中标准科室与真实科室的映射数据示意图。
在根据问询信息识别出标准科室之后,服务器可以查询医院科室库,获得与标准科室对应的真实科室,作为候选科室。可选地,服务器在查询医院科室库,获得与标准科室对应的真实科室,作为候选科室时,还可以结合其它信息进一步筛选,如根据用户当前的位置信息,筛选出距离当前的位置相对较近的医院的科室,又如,根据医院该科室的医疗团队、医疗经验、筛选出医疗水平相对更佳的医院的科室。
本实施例中,通过对问询信息进行内容理解,得到问询信息所涉及的标准科室,用于根据标准科室映射出候选科室,从候选科室中确定推荐科室。
在一个实施例中,上述导医信息方法还包括:对问询信息进行内容理解,得到问询信息所涉及的标准症状。具体地,对问询信息进行内容理解,得到问询信息所涉及的标准症状,包括:调用大语言模型,基于症状识别任务的提示文本进行语义理解得到问询信息所涉及的标准症状;其中,症状识别任务的提示文本根据症状识别任务的引导文本、问询信息与用户基本信息构造而成。具体地,获取症状识别任务的引导文本;根据症状识别任务的引导文本、问询信息与用户基本信息,构造症状识别任务的提示文本;通过大语言模型根据症状识别任务的提示文本从问询信息中识别出标准症状。
其中,症状识别任务是在指定的多个预设的标准症状中识别出一个或多个与上述的问询信息匹配的标准症状的过程,该过程也可通过大语言模型的内容理解能力实现。症状识别任务的引导文本,用于引导大语言模型理解症状识别。例如,症状识别任务的引导文本为:
“请提取以下句子的症状并说明理由。”
服务器可以根据症状识别任务的引导文本、问询信息,构造症状识别任务的提示文本,再进一步通过大语言模型根据症状识别任务的提示文本识别出一个或多个可能的标准症状。
例如,症状识别任务的提示文本模板为:
“请提取以下句子的症状并说明理由。句子:xxx。”
将问询信息填充到该提示文本模板中,得到症状识别任务的提示文本,将提示文本输入大语言模型中,识别出标准症状及相关解释。
本实施例中,通过对问询信息进行内容理解,得到问询信息所涉及的标准科室,用于根据标准症状进行多轮追问并发出伴随症状追问消息。
在一个实施例中,如图9所示,导医信息推送方法还包括院务信息问答的步骤,具体包括步骤902至步骤906:
步骤902,当问询意图为院务信息问答意图时,根据问询信息与院务信息问答对的匹配度,确定至少一个候选院务信息问答对。
可选地,当识别出问询意图为院务信息问答意图时,服务器可以从院务信息问答对库(根据医院介绍文本、医院院务信息文本、自媒体图文文章生成)中召回相关度较高的文本,作为候选院务信息问答对。
在一个实施例中,根据问询信息与院务信息问答对的匹配度,确定至少一个候选院务信息问答对,包括:通过句子向量表征模型,将院务信息问答对库中的院务信息问答对,转化为相应的问答对向量,将问询信息转化为对应的问询向量;分别计算问询向量与各院务信息问答对的问答对向量之间的相似度;根据相似度从院务信息问答对库中确定至少一个候选院务信息问答对。
如前文所提及的,服务器可以通过句子向量表征模型,将问询信息转化为对应的问询向量、将各院务信息问答对转化为相应的问答对向量,服务器可以分别计算问询向量与各问答对向量之间的相似度,根据相似度从院务信息问答对中召回至少一个候选院务信息问答对。可选地,院务信息问答对库中存放了各个院务信息问答对的问答对向量,该问答对向量是提前通过句子向量表征模型生成的,那么,服务器就可以直接计算问询向量与各问答对向量之间的相似度。
步骤904,获取院务信息问答任务的提示文本模板,根据问询信息与至少一个候选院务信息问答对,对院务信息问答任务的提示文本模板进行填充,得到院务信息问答任务的提示文本。
步骤906,调用大语言模型,基于院务信息问答任务的提示文本进行语义理解得到问询信息的答案。
其中,院务信息问答任务是在指定的多个候选院务信息问答对中推荐出部分与上述的问询信息更匹配的院务信息问答对的过程,该过程可通过大语言模型的语言理解与生成能力实现。院务信息问答任务的提示文本,用于提示大语言模型理解院务信息问答。例如,院务信息问答任务的提示文本模板为:
“你是一个问答机器人,基于以下已知信息,回答问题,并给出信息来源。如果无法从中得到答案,请说“根据已知信息无法回答该问题”。不允许在答案中添加编造成分,答案请使用中文。已知信息:候选院务问答对1,候选院务问答对2,候选院务问答对3,候选院务问答对4,…。问题:xxx”。
服务器根据问询信息与各个候选院务问答对,对院务信息问答任务的提示文本模板进行填充,得到院务信息问答任务的提示文本,将提示文本输入大语言模型中,获得对应问询信息的答案及相关解释。
例如,当用户输入的问询信息为“打了乙肝疫苗发烧了怎么办?”,服务器发送的答案为“打了乙肝疫苗后,有的孩子可能会有发热的情况。这种发热通常在接种后24小时内出现,而且除了发烧外,没有其它症状,持续时间一般不会超过三天。对于低热的孩子,可给物理降温,如予温水擦浴(保持接种部位干燥)、冰敷额头,或者用退热贴,同时给孩子多喝一些温开水。个别孩子体温可能会超过38.5度,为防止出现高温惊厥,在物理降温的基础上,可以给予退热药物退热。如果孩子除了发烧外,还伴有如咳嗽、呕吐、腹泻或者精神萎靡这些症状,或者发热持续三天以上不退,需要引起重视,及时就医检查”。
如图10所示,为一个实施例中问询意图为院务信息问答意图时后续的处理流程示意图。参照图10,首先形成院务问答对的向量库,即,将院务问答对的问题、院务问答对的答案、医院公众号文章进行数据读取和分片,继而通过句子向量表征模型,转化为向量,存入向量库中。将用户输入的问询信息通过句子向量表征模型转化为问询向量,跟向量库中的问答对向量进行相似度比较,召回最相关的10个候选院务信息问答对,继而构建院务信息问答任务的提示文本,将构造的提示文本输入大语言模型中,基于候选院务信息问答对获得答案及信息来源。
本实施例中,在理解到用户的问询意图为院务信息问答意图时,能根据院务信息问答对形成的院务信息问答库中的信息进行问答,提升回答的准确性。
在一个实施例中,方法还包括:当问询意图为医学知识问答意图时,根据问询信息与医学知识问答对的匹配度,确定至少一个候选医学知识问答对;获取医学知识问答任务的提示文本模板,根据问询信息与至少一个候选医学知识问答对,对医学知识问答任务的提示文本模板进行填充,得到医学知识问答任务的提示文本;调用大语言模型,基于医学知识问答任务的提示文本进行语义理解得到问询信息的答案。
类似地,在医学知识问答时,服务器也可以运用大语言模型的能力,根据医学知识库,进行自由的多轮问答,解答用户提出的医学知识问题。具体而言,需要先形成医学知识问答对的向量库,即,将医学知识问答对的问题、答案进行数据读取和分片,继而通过句子向量表征模型,转化为向量,存入向量库中。将用户输入的问询信息通过句子向量表征模型转化为问询向量,跟向量库中的问答对向量进行相似度比较,召回最相关的10个候选医学知识问答对,继而构建医学知识问答任务的提示文本,将构造的提示文本输入大语言模型中,基于候选医学知识问答对获得答案及信息来源。
接下来,对微调训练所需的训练数据进行详细说明。
目前有多种开源的大语言模型,如:ChatGLM、LLaMA、BLOOM等,这些模型在自然语言生成任务中都取得了很好的效果。然而,通用领域大语言模型的医疗能力相对较差,缺乏领域能力,且对于特定的分类任务、问答任务,大语言模型可能无法输出指定类别空间的结果。为了让大语言模型更好地适应导医信息推送场景所涉及的各类特定任务,服务器可以使用特定任务的相关数据对大语言模型进行进一步微调训练。
导医信息推送场景所涉及的各类特定任务可以分为两个大类,分别为分类任务、问答任务。其中,意图识别任务、科室识别任务、科室推荐任务、标准症状识别任务、医生推荐任务均为分类任务。院务信息问答任务、医学知识问答任务、各类解释任务均为问答任务。
以意图识别任务为例,构建如下所示的训练数据:
{"引导文本":"请提取“xxx”的意图,意图类型包括导诊、院务信息问答、医学知识问答、其它知识问答。",
"输入":"脸上长痘红血丝和闭口要看什么科室",
"输出":"导诊"}。
以标准科室识别任务为例,构建如下所示的训练数据:
{"引导文本":"请提取以下句子的科室并说明理由。",
"输入":"脸上长痘红血丝和闭口要看什么科室",
"输出":"皮肤科"}
以医学知识问答任务为例,构建如下所示的训练数据:
{"引导文本":"",
"输入":"年龄成人,性别女,撞伤膝盖骨要看什么科?",
"output":"创伤骨科。解析:导诊科室为创伤骨科,原因是患者主诉中提到了膝盖骨的撞伤和膝关节的外伤,以及膝关节的肿胀和疼痛,这些症状都与创伤骨科相关。"}。
在一些实施例中,在构造上述的各个特定任务的训练数据后,服务器可以使用LoRA进行模型微调,LoRA是一种高效且低资源的训练策略,目标是在保持大语言模型原始参数不变的情况下,通过优化额外的可学习参数来提高模型在特定任务的性能。在微调过程中,LoRA首先使用一个矩阵(即可学习参数)来学习特定任务的知识,然后通过低秩分解的方式将该矩阵分解为两个低秩矩阵相乘,从而减少模型的参数量和计算复杂度。通过这种方式,LoRA可以在保持原有模型参数不变的情况下,通过优化两个低秩矩阵来提高模型在特定任务上的性能,实现了在保持模型性能的同时,减少模型的参数量和计算复杂度,
从而提高模型的泛化能力。LoRA的公式如下:
h=w
Δw=BA
h=w
其中,w
其中,D表示训练数据集。x表示输入序列,即问询信息或主诉信息。y表示输出序列。P
如图11所示,为一个实施例中导医信息推送方法的总体架构示意图。参照图11,用户输入一段问询信息以及用户基本信息如性别、年龄,先通过大语言模型根据问询信息进行内容理解,得到用户输入文本的问询意图、问询信息所涉及的关键实体、标准症状、标准疾病、标准科室;继而,根据问询意图,为导诊意图、院务信息问答意图、医学知识问答意图、其它知识问答意图中的至少一种,进入不同处理流程。
参照图11,若问询意图为导诊意图,则进入导诊意图对应的处理流程,首先是如果存在信息缺失或冲突,则进行多轮追问,获得用户的多轮回复,上述的问询信息、用户基本信息与用户的多轮回复,可作为用户的主诉信息,在多轮追问后,根据前述进行内容理解中识别出的标准科室,从医院科室库中召回真实的候选科室,再根据上述的主诉信息对候选科室通过大语言模型进行决策并返回推荐科室,并进行解释。而后,根据推荐科室召回医生,根据医生向量与主诉向量之间的相似程度,返回topN医生,再根据上述的主诉信息对topN医生通过大语言模型进行决策并返回推荐医生,并进行解释,最终返回推荐科室与推荐医生。
参照图11,若问询意图为院务信息问答意图,则根据输入的问询信息,从院务信息问答库(包括院务问答对、医院文本、公众号文章)中,召回相关度较高的问答对,然后通过大语言模型根据召回的问答对进行决策并返回关于问询信息的答案及信息来源,解答用户咨询的院务信息相关问题。
参照图11,若问询意图为医学知识问答意图,则类似地,根据输入的问询信息,从医学知识问答库中,召回相关度较高的问答对,然后通过大语言模型根据召回的问答对进行决策并返回关于问询信息的答案及信息来源问答,解答用户咨询的医学知识相关问题。
若问询意图为其它知识问答意图,则可以运用大语言模型的能力,进行自由的多轮问答,也可以直接选择拒识,不回答非医疗问题。
在一个具体的实施例中,导医信息推送方法由服务器执行,包括如下步骤:
1、接收终端发送的问询信息;
2、获取科室识别任务的引导文本,根据科室识别任务的引导文本、问询信息与用户基本信息,构造科室识别任务的提示文本,通过大语言模型根据科室识别任务的提示文本识别出问询信息所涉及的标准科室;
3、获取症状识别任务的引导文本,根据症状识别任务的引导文本、问询信息与用户基本信息,构造症状识别任务的提示文本,调用大语言模型根据症状识别任务的提示文本从问询信息中识别出标准症状;
4、获取意图识别任务的引导文本,引导文本用于指示识别的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种;根据意图识别任务的引导文本与问询信息,构造意图识别任务的提示文本;调用大语言模型根据意图识别任务的提示文本识别问询意图。
5-1、当问询意图为导诊意图时,若问询信息仅涉及一个标准症状,则发出关于标准症状的伴随症状追问消息,获取终端针对伴随症状追问消息所回复的伴随症状描述信息,根据问询信息、伴随症状描述信息获得主诉信息。
其中,发出关于标准症状的伴随症状追问消息,可以包括:获取用于描述症状之间的共现关系的共现矩阵;基于共现矩阵查询一个标准症状的共现症状;根据查询到的共现症状发出关于标准症状的伴随症状追问消息。
其中,发出关于标准症状的伴随症状追问消息,还可以是:获取统计的每个科室的热门伴随症状;根据问询信息所涉及的至少一个标准科室,确定至少一个标准科室各自对应的热门伴随症状;根据热门伴随症状发出关于标准症状的伴随症状追问消息。
5-2、根据标准科室从医院科室库中召回问询信息所涉及的候选科室,医院科室库包括医院库中各个医院的科室信息;
5-3、获取科室推荐任务的提示文本模板,提示文本模板中包括科室推荐任务的引导文本,根据主诉信息与问询信息所涉及的候选科室,对科室推荐任务的提示文本模板进行填充,得到科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室;
5-4、从医生库中查询属于推荐科室的医生,通过句子向量表征模型,将属于推荐科室的医生的医生介绍文本转化为相应的医生向量,将主诉信息转化为对应的主诉向量,分别计算主诉向量与各医生向量之间的相似度,根据相似度从属于推荐科室的医生中召回候选医生;
5-5、获取医生推荐任务的引导文本,根据医生推荐任务的引导文本、主诉信息与各候选医生的医生介绍文本,构造医生推荐任务的提示文本,调用大语言模型根据医生推荐任务的提示文本从候选医生中确定推荐医生,向终端推送推荐科室和推荐医生。
6、当问询意图为院务信息问答意图时,根据问询信息与院务信息问答对的匹配度,确定至少一个候选院务信息问答对;获取院务信息问答任务的提示文本模板,根据问询信息与至少一个候选院务信息问答对,对院务信息问答任务的提示文本模板进行填充,得到院务信息问答任务的提示文本;调用大语言模型,基于院务信息问答任务的提示文本进行语义理解得到问询信息的答案,向终端推送关于问询信息的答案。
7、当问询意图为医学知识问答意图时,根据问询信息与医学知识问答对的匹配度,确定至少一个候选医学知识问答对;获取医学知识问答任务的提示文本模板,根据问询信息与至少一个候选医学知识问答对,对医学知识问答任务的提示文本模板进行填充,得到医学知识问答任务的提示文本;调用大语言模型,基于医学知识问答任务的提示文本进行语义理解得到问询信息的答案,向终端推送关于问询信息的答案。
上述导医信息推送方法,接收终端发送的问询信息,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种,当识别出的问询意图为导诊意图时,则基于该问询信息进行多轮追问,根据该终端发送的多轮回复获得主诉信息,继而,获取科室推荐任务的引导文本,根据该科室推荐任务的引导文本、该主诉信息与该问询信息所涉及的候选科室,构造该科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室,根据该主诉信息与属于该推荐科室的医生的匹配度,从属于该推荐科室的医生中确定推荐医生,向该终端推送该推荐科室和该推荐医生,这样,充分利用了大语言模型的内容理解与生成能力,只需要部署一个大语言模型就可应对智能导医中的各个任务,不需要训练部署多个模型,有效降低训练、部署、维护的难度,而且能够返回更智能、准确的导医信息。
本申请实施例提供的导医信息推送方法,可以在诊前导医业务中使用。当用户输入一段个人病情描述的文本时,可以智能理解患者主诉,智能追问主诉相关的伴随症状,智能推荐就诊科室和医生,对用户的问诊需求和医院的门诊资源进行优化匹配。当用户输入“妇产科在几楼”、“门诊周六开到几点”、“什么时候放号”等院务的问题时,可以自动调用医院问答库或文件,提取所需信息,返回给用户。当用户输入“糖尿病吃什么药”、“三岁小孩发烧吃什么剂量的感冒药”、“孕妇可以吃布洛芬吗”等知识型问答时,可以根据用户需求,进行多轮问答,解答用户疑问。
本申请实施例提供的导医信息推送方法,充分利用大规模预训练语言模型的内容理解和内容生成能力,通过部署仅一个大语言模型,解决诊前导医中的导诊、院务信息问答、知识知识问答任务,不需要训练部署多个模型,有效降低训练、部署、维护的难度;不仅返回推荐科室及推荐医生,而且返回对推荐结果的解释,更能让患者信服;在智能问答任务中也能更好地理解用户意图,返回更智能的回复。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的导医信息推送方法的导医信息推送装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个导医信息推送装置实施例中的具体限定可以参见上文中对于导医信息推送方法的限定,在此不再赘述。
在一个示例性的实施例中,如图12所示,提供了一种导医信息推送装置1200,包括:接收模块1202、意图识别模块1204、多轮追问模块1206、科室推荐模块1208和医生推荐模块1210,其中:
接收模块1202,用于接收终端发送的问询信息;
意图识别模块1204,用于根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种;
多轮追问模块1206,用于当问询意图为导诊意图时,基于问询信息进行多轮追问,根据终端发送的多轮回复获得主诉信息;
科室推荐模块1208,用于获取科室推荐任务的引导文本,根据科室推荐任务的引导文本、主诉信息与问询信息所涉及的候选科室,构造科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室;
医生推荐模块1210,用于根据主诉信息与属于推荐科室的医生的匹配度,从属于推荐科室的医生中确定推荐医生,向终端推送推荐科室和推荐医生。
在一个实施例中,意图识别模块1204,还用于调用大语言模型,基于意图识别任务的提示文本进行语义理解得到问询信息的问询意图;其中,意图识别任务的提示文本根据意图识别任务的引导文本与问询信息构造而成,意图识别任务的引导文本用于指示识别出的意图类型为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种。
在一个实施例中,导医信息推送装置1200还包括:
科室识别模块,用于对问询信息进行内容理解,得到问询信息所涉及的标准科室;
科室召回模块,根据标准科室从医院科室库中召回问询信息所涉及的候选科室,医院科室库包括医院库中各个医院的科室信息。
可选地,科室识别模块,还用于调用大语言模型,基于科室识别任务的提示文本进行语义理解得到问询信息所涉及的标准科室;其中,科室识别任务的提示文本根据科室识别任务的引导文本、问询信息与用户基本信息构造而成。
在一个实施例中,多轮追问模块1206,还用于若问询信息仅涉及一个标准症状,则发出关于标准症状的伴随症状追问消息;获取终端针对伴随症状追问消息所回复的伴随症状描述信息;根据问询信息、伴随症状描述信息获得主诉信息。
在一个实施例中,多轮追问模块1206,还用于调用大语言模型,基于症状识别任务的提示文本进行语义理解得到问询信息所涉及的标准症状;其中,症状识别任务的提示文本根据症状识别任务的引导文本、问询信息与用户基本信息构造而成。
在一个实施例中,多轮追问模块1206,还用于获取用于描述症状之间的共现关系的共现矩阵;基于共现矩阵查询一个标准症状的共现症状;根据查询到的共现症状发出关于标准症状的伴随症状追问消息。
在一个实施例中,多轮追问模块1206,还用于获取统计的每个科室的热门伴随症状;根据问询信息所涉及的至少一个标准科室,确定至少一个标准科室各自对应的热门伴随症状;根据热门伴随症状发出关于标准症状的伴随症状追问消息。
在一个实施例中,科室推荐模块1208,还用于获取科室推荐任务的提示文本模板,提示文本模板中包括科室推荐任务的引导文本;根据主诉信息与问询信息所涉及的候选科室,对科室推荐任务的提示文本模板进行填充,得到科室推荐任务的提示文本。
在一个实施例中,医生推荐模块1210,还用于从医生库中查询属于推荐科室的医生;通过句子向量表征模型,将属于推荐科室的医生的医生介绍文本转化为相应的医生向量,将主诉信息转化为对应的主诉向量;分别计算主诉向量与各医生向量之间的相似度;根据相似度从属于推荐科室的医生中召回候选医生;从候选医生中确定推荐医生。
在一个实施例中,医生推荐模块1210,还用于获取医生推荐任务的引导文本;根据医生推荐任务的引导文本、主诉信息与各候选医生的医生介绍文本,构造医生推荐任务的提示文本;调用大语言模型,基于医生推荐任务的提示文本进行语义理解得到推荐医生,推荐医生源自候选医生。
在一个实施例中,导医信息推送装置1200还包括:
院务信息问答模块,用于当问询意图为院务信息问答意图时,根据问询信息与院务信息问答对的匹配度,确定至少一个候选院务信息问答对;获取院务信息问答任务的提示文本模板,根据问询信息与至少一个候选院务信息问答对,对院务信息问答任务的提示文本模板进行填充,得到院务信息问答任务的提示文本;调用大语言模型,基于院务信息问答任务的提示文本进行语义理解得到问询信息的答案。
在一个实施例中,院务信息问答模块,还用于通过句子向量表征模型,将院务信息问答对库中的院务信息问答对转化为相应的问答对向量,将问询信息转化为对应的问询向量;分别计算问询向量与各院务信息问答对的问答对向量之间的相似度;根据相似度从院务信息问答对库中确定至少一个候选院务信息问答对。
在一个实施例中,导医信息推送装置1200还包括:
医学知识问答模块,用于当问询意图为医学知识问答意图时,根据问询信息与医学知识问答对的匹配度,确定至少一个候选医学知识问答对;获取医学知识问答任务的提示文本模板,根据问询信息与至少一个候选医学知识问答对,对医学知识问答任务的提示文本模板进行填充,得到医学知识问答任务的提示文本;调用大语言模型,基于医学知识问答任务的提示文本进行语义理解得到问询信息的答案。
上述导医信息推送装置1200,接收终端发送的问询信息,根据问询信息识别出问询意图,问询意图为导诊意图、院务信息问答意图、医学知识问答意图和其它知识问答意图中的至少一种,当识别出的问询意图为导诊意图时,则基于该问询信息进行多轮追问,根据该终端发送的多轮回复获得主诉信息,继而,获取科室推荐任务的引导文本,根据该科室推荐任务的引导文本、该主诉信息与该问询信息所涉及的候选科室,构造该科室推荐任务的提示文本,调用大语言模型,基于科室推荐任务的提示文本进行语义理解得到推荐科室,推荐科室来自问询信息所涉及的候选科室,根据该主诉信息与属于该推荐科室的医生的匹配度,从属于该推荐科室的医生中确定推荐医生,向该终端推送该推荐科室和该推荐医生,这样,充分利用了大语言模型的内容理解与生成能力,只需要部署一个大语言模型就可应对智能导医中的各个任务,不需要训练部署多个模型,有效降低训练、部署、维护的难度,而且能够返回更智能、准确的导医信息。
上述导医信息推送装置1200中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储医生向量数据、院务信息问答对的问答对向量数据或医学知识问答对的问答对向量数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种导医信息推送方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现本申请实施例提供的导医信息推送方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例提供的导医信息推送方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的导医信息推送方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
- 基于网页标签的产品数据推送方法、装置、设备及介质
- 产品数据推送方法、装置、计算机设备和存储介质
- 产品数据推送方法、装置、计算机设备及存储介质
- 产品推送方法、装置、计算机设备和存储介质
- 呈现、推送信息的方法、介质、装置和计算设备
- 金融产品推送方法、装置、设备、介质和计算机程序产品
- 产品信息提供装置、产品信息提供方法、产品信息提供系统和记录有计算机程序的记录介质