CN115274086B - 一种智能导诊方法及系统 - Google Patents

一种智能导诊方法及系统 Download PDF

Info

Publication number
CN115274086B
CN115274086B CN202211180071.5A CN202211180071A CN115274086B CN 115274086 B CN115274086 B CN 115274086B CN 202211180071 A CN202211180071 A CN 202211180071A CN 115274086 B CN115274086 B CN 115274086B
Authority
CN
China
Prior art keywords
symptom
department
user
symptoms
vector
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
Application number
CN202211180071.5A
Other languages
English (en)
Other versions
CN115274086A (zh
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.)
Nocode Tech Co ltd
Original Assignee
Nocode Tech Co ltd
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 Nocode Tech Co ltd filed Critical Nocode Tech Co ltd
Priority to CN202211180071.5A priority Critical patent/CN115274086B/zh
Publication of CN115274086A publication Critical patent/CN115274086A/zh
Application granted granted Critical
Publication of CN115274086B publication Critical patent/CN115274086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • 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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Epidemiology (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本申请公开了一种智能导诊方法及系统,涉及医疗信息技术领域,包括以下步骤:对用户的当前输入信息进行意图分类,得到用户的当前意图类别;于当前意图类别为症状描述时,对当前输入信息进行症状术语匹配,得到用户的主诉症状;基于主诉症状确定第一候选科室集合,并构建以主诉症状和各个第一候选科室为节点的带权有向图;根据边权重计算每个第一候选科室的得分以生成第一候选科室集合中科室分数分布的第一基尼指数,并根据所述基尼指数判断是否进行追问,若是则确定追问症状,否则向用户推荐最终的就诊科室。本申请以自动化形式生成导诊交互决策程度高,节约了人工成本,可泛化性好,同时在进行科室预测时也不需要大量的标注数据,可解释性高。

Description

一种智能导诊方法及系统
技术领域
本申请涉及医疗信息技术领域,尤其涉及一种智能导诊方法及系统。
背景技术
智能导诊系统用于根据用户症状等信息,通过人工智能相关技术帮助用户找到合适的就诊科室,多轮交互导诊系统的核心问题则是交互决策和科室预测,而交互决策主要是根据当前交互信息决定系统下一步行为,科室预测主要是基于症状信息预测最可能的若干个科室。
交互决策和科室预测的方法主要可以分为两类:人工规则和机器学习。人工规则的方法是主要依靠人工来构建结构化的知识库并设计推理规则,包括整理术语词表、建立术语之间的关系、设计追问路径等,依赖领域专家,人力成本较高且缺少可泛化性,而机器学习的方法主要是基于大量训练数据,利用机器学习算法进行学习训练,然后基于训练好的模型实现自动推理,需要大量标注数据,学习过程不可控,缺乏可解释性。
发明内容
本申请提供的一种智能导诊方法,旨在解决现有技术中人力成本高的问题,同时兼顾了可泛化性和可解释性。
为实现上述目的,本申请采用以下技术方案:
本申请的一种智能导诊方法,应用于智能导诊系统,包括以下步骤:
对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
于所述当前意图类别为症状描述时,对所述当前输入信息进行症状术语匹配,得到所述用户的主诉症状;
基于所述主诉症状确定第一候选科室集合,并构建以所述主诉症状和各个第一候选科室为节点的带权有向图;
根据边权重计算每个第一候选科室的得分以生成第一候选科室集合中科室分数分布的第一基尼指数,并根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室。
作为优选,所述方法还包括:在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中。
作为优选,所述方法还包括:从预先定义的各种系统回复模板中选出与当前系统决策相匹配的回复模板,并生成系统回复语句。
作为优选,所述对所述当前输入信息进行症状术语匹配,得到所述用户的主诉症状,包括:
将症状词典作为分词工具的自定义词典,根据所述症状词典对所述当前输入信息进行分词和词性识别;
根据词性提取所述当前输入信息中的关键词,并用所述关键词与症状术语进行匹配,若匹配成功,则得到所述用户的主诉症状;
否则分别将所述当前输入信息和症状术语转换成语义向量,并计算所述语义向量间的相似度以确定所述用户的主诉症状。
作为优选,所述分别将所述当前输入信息和症状术语转换成语义向量,并计算所述语义向量间的相似度以确定所述用户的主诉症状,包括:
运用无监督的SimCSE方法训练bert模型,得到句子向量化表示模型;
将症状术语和所述当前输入信息分别输入所述句子向量化表示模型中,得到所述症状术语和当前输入信息各自对应的语义向量;
计算所述症状术语的语义向量与当前输入信息的语义向量之间的相似度,根据计算结果确定所述用户的主诉症状。
作为优选,所述基于所述主诉症状确定第一候选科室集合,并构建以所述主诉症状和各个第一候选科室为节点的带权有向图,包括:
在预先构建的包含疾病、症状和科室的实体向量集合中,查找所述主诉症状对应的症状向量,并根据所述症状向量确定对应的科室向量以得到第一候选科室集合;
构建以所述主诉症状和第一候选科室为节点的第一实体关系图,并计算主诉症状节点与第一候选科室节点之间的向量相似度;
于所述向量相似度大于第一设定阈值时,连接对应的主诉症状节点与第一候选科室节点得到带权有向图,权重为对应节点之间的向量相似度。
作为优选,构建所述包含疾病、症状和科室的实体向量集合,包括:
采集包含疾病、症状与科室相关关系的语料集,并根据所述语料集构建以疾病、症状和科室为节点及以疾病与症状、疾病与科室为边的第二实体关系图;
基于所述第二实体关系图,利用metapath2vec算法训练图嵌入模型,得到每个节点的嵌入表示向量;
根据所述嵌入表示向量生成实体向量集合,并利用向量索引工具分别构建疾病向量索引、症状向量索引和科室向量索引,其中,疾病向量是症状向量与科室向量之间的查询媒介。
作为优选,所述根据边权重计算每个第一候选科室的得分以生成第一候选科室集合中科室分数分布的第一基尼指数,并根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室,包括:
设置每个节点的个性化权重,基于边权重和PageRank算法对所述个性化权重进行迭代计算,得到每个节点的得分;
对每个得分进行归一化得到归一化分数,并根据所述归一化分数计算第一候选科室集合中科室分数分布的第一基尼指数;
若所述第一基尼指数大于第二设定阈值,则进行追问,否则将得分最高的第一候选科室作为所述用户最终的推荐就诊科室。
作为优选,所述确定追问症状,包括:
对所述主诉症状的语义向量进行加权求和,得到查询向量;
将症状术语的语义向量与所述查询向量进行匹配,得到若干个相关症状;
根据所述若干个相关症状确定第二候选科室集合,并计算每个相关症状对应的所有候选科室分数分布的第二基尼指数;
将每个相关症状对应的所有候选科室分数分布的第二基尼指数的均值作为其选择指数,并将所有相关症状中选择指数最小的症状作为系统的追问症状。
一种智能导诊系统,包括:
意图识别模块,用于对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
状态跟踪模块,用于在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中;
导诊决策模块,用于确定所述用户的主诉症状和第一候选科室集合,并计算每个第一候选科室的得分以生成所述第一候选科室集合中科室分数分布的第一基尼指数,根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室;
回复生成模块,用于从预先定义的各种系统回复模板中选出与当前系统决策相匹配的回复模板,并生成系统回复语句。
本发明具有如下有益效果:
本申请基于用户的当前输入信息,通过意图分类识别出该用户的当前意图,再结合用户意图和用户信息对系统的下一步行为进行导诊决策,最终生成系统回复模板,整个过程自动化程度高,节约了人工成本,可泛化性好,同时在进行科室预测时也不需要大量的标注数据,可解释性高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种智能导诊系统框架图;
图2是本申请实现的一种智能导诊方法流程图;
图3是本申请中一种意图分类模型的示意图;
图4是本申请中第一候选科室得分迭代计算前后比对图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
实施例
智能导诊系统中,用户通过语音或文本输入等交互形式,将症状信息传达给系统,系统根据用户提供的信息做出决策,以决定是否继续追问或者输出导诊结果。
在此过程中,导诊系统需要解决的关键问题有:
1)如何判断是否需要导诊。
2)如何预测导诊科室。
3)如何判断是否需要追问。
4)如何选择需要追问的信息。
本申请对上述4个问题进行分析,得到的解决办法如下:问题1)是否需要导诊主要通过意图分类来判断;问题2)导诊科室可以基于图嵌入和语义匹配来预测;问题3)是否需要追问通过科室预测结果的基尼指数(Gini index)来决定;问题4)可以先根据相关性获得追问候选项,然后选择能使的预测结果的基尼指数最小候选项的作为追问信息。
具体地,本申请提供一种智能导诊系统,包括意图识别模块、状态跟踪模块、导诊决策模块和恢复生成模块,系统框架图如图1所示,其中,
所述意图识别模块,用于对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
所述状态跟踪模块,用于在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中;
所述导诊决策模块,用于确定所述用户的主诉症状和第一候选科室集合,并计算每个第一候选科室的得分以生成所述第一候选科室集合中科室分数分布的第一基尼指数,根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室;
所述回复生成模块,用于从预先定义的各种系统回复模板中选出与当前系统决策相匹配的回复模板,并生成系统回复语句。
本申请提供的智能导诊系统使得导诊交互决策过程实现了自动化,不仅能节约人工成本,可泛化性好,还使得进行导诊科室预测不需要大量的标注数据,可解释性高。
如图2所示,本申请还提供一种智能导诊方法,应用于上述智能导诊系统,具体包括以下步骤:
S110、对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
S120、于所述当前意图类别为症状描述时,对所述当前输入信息进行症状术语匹配,得到所述用户的主诉症状;
S130、基于所述主诉症状确定第一候选科室集合,并构建以所述主诉症状和各个第一候选科室为节点的带权有向图;
S140、根据边权重计算每个第一候选科室的得分以生成第一候选科室集合中科室分数分布的第一基尼指数,并根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室。
在本实施例中,意图识别模块主要对用户的输入信息进行意图识别,为后续的行为决策提供依据,其中用户意图大体上可以分为两类:“导诊”和“闲聊”,“导诊”可以进一步细分为:“症状描述”、“信息肯定”、“信息否定”和“信息不确定”。
意图识别则主要通过分类模型来实现,这里以BERT模型作为意图分类模型,如图3所示,当然也可用其他分类模型替代,将上一步系统输出和当前用户输入作为分类模型的输入,初始状态时无上一步系统输出,其就用空字符串代替,当前用户输入就是对话系统中用户输入的信息,可能是闲聊,可能是主动提问,也可能是对系统问题的回答,没有限制,以用户当前的实际意图作为标签,比如上一步系统输出为“有扁桃体肿大吗”,用户回复“不知道”,则模型输入input为“[CLS]有扁桃体肿大吗[SEP]不知道”,意图类别标签label为“信息不确定”,当然,实际输入分类模型的是输入input经过分词器tokenizer转化成标记token的id序列,然后经过BERT模型的embedding层和encoder层得到每个token的输出向量,一般将选择[CLS]的输出向量作为全连接层的输入,经过MLP得到各个类别的预测概率。
状态跟踪模块主要是对用户和系统的历史交互信息进行记录,用于后续的分析与决策。
状态跟踪模块主要记录的信息有用户对话的ID、用户个人信息、用户表述症状、用户意图、上一轮系统行为和上一轮系统消息等,其中用户每开始一个对话就会拥有一个用户对话ID,即同一个用户不同对话的ID也是不同的,以对话的结束状态作区分,当用户需求已经完成或是用户长时间无响应时就会结束当前对话,用户个人信息则是指用户的年龄、性别之类的,是在对话过程中或是用户注册的时候由用户输入的。
具体地,在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中。
在对话的过程中,会实时更新状态跟踪实例中的信息,如下:
Figure GDA0003943884190000091
其中,Tracker中记录的是用户和机器的历史交互信息,last_message记录的是上一次的系统消息,Tracker中记录什么,是可以自定义的。
假设继续追问“有没有发热症状”,并且用户否认信息,那么用户否定症状deny更新为["鼻塞","发热"],系统的上一次消息last_message会更新为“有没有发热症状”。
状态跟踪信息会实时保存到缓存和数据库中,在对话过程中,可以实时地从缓存中读取状态跟踪信息,一旦对话结束,在缓存中的该对话状态跟踪实例就会被清除,不过由于该对话消息已经被持久化存储到数据库中,所以此时仍然可以从数据库中查询该对话。
导诊决策模块是该智能导诊系统的核心模块,包括以下子模块:
1、信息匹配子模块
该模块主要是对用户的症状描述与症状术语进行匹配关联。用户对症状的表述方式多种多样,不一定能直接匹配到标准术语上,因此除了字符层面的匹配,还需要进行语义匹配。流程如下:
1)症状词典匹配
具体地,将症状词典作为分词工具的自定义词典,根据所述症状词典对所述当前输入信息进行分词和词性识别;
根据词性提取所述当前输入信息中的关键词,并用所述关键词与症状术语进行匹配,若匹配成功,则得到所述用户的主诉症状;
否则分别将所述当前输入信息和症状术语转换成语义向量,并计算所述语义向量间的相似度以确定所述用户的主诉症状。
将症状词典作为分词工具Jieba的自定义词典,并将词性设置为“sym”。当意图识别模块识别出用户的当前意图为症状描述时,利用分词工具对用户的当前输入信息即症状描述进行分词和词性识别,将其中词性为“sym”的词提取出来,作为匹配到的症状,例如用户输入“有点头疼,浑身乏力”,分词后得到“有点/n头疼/sym,/x浑身/n乏力/sym”,则可以匹配到症状“头疼”和“乏力”,即该用户的主诉症状是头疼和乏力,其中主诉症状仅指对用户的症状描述进行匹配得到的症状,不包括系统提问的症状。
2)症状语义向量匹配
如果不能直接通过字符匹配到症状术语,则通过语义向量的方式进行匹配,具体流程包括:
运用无监督的SimCSE方法训练bert模型,得到句子向量化表示模型;
将症状术语和所述当前输入信息分别输入所述句子向量化表示模型中,得到所述症状术语和当前输入信息各自对应的语义向量;
计算所述症状术语的语义向量与当前输入信息的语义向量之间的相似度,根据计算结果确定所述用户的主诉症状。
示例性地,症状向量化除了要对症状术语进行向量化外,还要兼顾较长的症状描述,比较合适的方式是看作句子向量化表示问题,句子向量化表示方法有很多,比如SimCSE、SBERT等,其中,症状术语是指每个症状的标准说法。
SimCSE是一种对比学习的方法,可以在无标注数据也就是无监督的情况下取得很好的学习效果:一个句子样本经过不同dropout操作之后作为该句子的正样本,batch内其他样本作为负样本。对比学习的目标是使得与正样本的距离尽可能小,与负样本的距离尽可能大。
假设一个batch有N个样本,每个样本seni的损失函数如下:
Figure GDA0003943884190000111
其中,sim表示相似度,hi
Figure GDA0003943884190000112
表示两次dropout的句子向量,τ是用于调节困难样本影响大小的系数。
无监督的SimCSE无需标注数据,只要提供句子语料即可。训练阶段,句子seni两次经过预训练模型(如BERT)的encoder表示得到句子向量hi
Figure GDA0003943884190000113
计算损失函数得到loss(seni),然后再通过误差反向传播计算和更新模型参数,直到模型满足终止条件,得到句子的向量化表示模型Modelvec。预测阶段,利用训练好的模型Modelvec,对输入的症状术语进行encoder表示,即可得到症状术语的向量Vectorssym
基于向量化表示模型Modelvec对当前输入信息进行语义向量化表示得到vecquery,再通过计算对应向量间的相似度,即可找到最匹配的症状。
为了加速匹配效率,可以使用向量检索工具,如Faiss、Annoy等。
首先,利用向量检索工具对症状术语向量Vectorssym进行索引构建,得到症状向量索引Indexsym
然后,以vecquery作为检索输入,在Indexsym上进行向量检索,得到该用户的主诉症状。
2、科室预测子模块
科室预测比较常用的方法是文本分类,以用户的症状描述作为输入,以科室作为标签,训练分类模型并进行预测,但文本分类的方法缺乏可解释性,且需要标注大量数据。这里考虑使用图嵌入和图链接分析的方法进行预测,不需要标注数据,而且具有很好的可解释性。具体步骤如下:
采集包含疾病、症状与科室相关关系的语料集,并根据所述语料集构建以疾病、症状和科室为节点及以疾病与症状、疾病与科室为边的第二实体关系图;
基于所述第二实体关系图,利用metapath2vec算法训练图嵌入模型,得到每个节点的嵌入表示向量;
根据所述嵌入表示向量生成实体向量集合,并利用向量索引工具分别构建疾病向量索引、症状向量索引和科室向量索引,其中,疾病向量是症状向量与科室向量之间的查询媒介。
1)构建第二实体关系图
首先从公开的医疗百科数据中提取疾病、症状、科室等信息,并建立它们之间的关系图Gent=(V,E,T),其中V表示节点,E表示边,T表示节点和边的类型。关系图中节点有Vdis、Vsym、Vdep三种,分别表示疾病、症状和科室。边有Edis~sym、Edis~dep,分别表示疾病与症状、疾病与科室之间的连接。TV={dis,sym,dep}表示节点类型,TE={dis~sym,dis~dep}表示边的类型。
2)训练图嵌入模型
基于步骤1)中构建的第二实体关系图Gent训练图嵌入模型。因为Gent中有多种节点类型,所以需要选择适用于异构图的嵌入模型,如metapath2vec模型。
metapath2vec是基于metapath的随机游走来构建每个节点的异构邻域。metapath是预先定义好的采样路径,如Vsym→Vdis→Vsym
采样分为正采样和负采样,按照预设采样路径,在有连接的节点中进行随机采样做为正样本,在所有节点中进行随机采样作为负样本。
采样得到节点的序列之后,就可以利用skip-gram模型来学习节点的嵌入表示了。skip-gram就是利用当前节点预测“上下文”节点,网络结构包括输入层、隐藏层和输出层,比如采样得到节点序列[“咳嗽”,“感冒”,“头疼”],假设当前节点是“感冒”,skip窗口大小是1,则“咳嗽”、“头疼”为“上下文”节点,输入节点是“感冒”,经过隐藏层变换得到嵌入向量,再经过softmax分类层计算得到“上下文”节点的预测概率,然后计算预测结果与实际结果的误差,再经过反向传播更新网络参数,迭代直到满足训练终止条件,即可得到节点的嵌入表示EmbV
3)构建实体向量索引
基于向量索引工具Faiss对实体的嵌入表示向量EmbV进行索引构建,按照不同实体类型,分别构建疾病向量索引EmbIndexdis、症状向量索引mbIndexsym、科室向量索引EmbIndexdep
4)预测相关科室
在对症状、疾病、科室等实体进行异构图嵌入表示的基础上,通过语义匹配获取相关科室候选,构建候选科室、症状关系图,再通过图链接分析算法计算候选科室权重,选择权重大的科室作为预测科室。具体如下:
在预先构建的包含疾病、症状和科室的实体向量集合中,查找所述主诉症状对应的症状向量,并根据所述症状向量确定对应的科室向量以得到第一候选科室集合;
构建以所述主诉症状和第一候选科室为节点的第一实体关系图,并计算主诉症状节点与第一候选科室节点之间的向量相似度;
于所述向量相似度大于第一设定阈值时,连接对应的主诉症状节点与第一候选科室节点得到带权有向图,权重为对应节点之间的向量相似度。
A、获取用户症状
从用户状态跟踪实例tracker中获取用户症状:
Figure GDA0003943884190000141
其中Sym+表示用户肯定的症状,Sym-表示用户否定的症状,在仅有用户的症状描述信息即主诉症状而无系统的提问症状信息时,只有肯定症状,无否定症状,毕竟主诉症状全部为肯定症状。
B、获取候选科室
对于
Figure GDA0003943884190000151
中的每个症状sym+,查询实体向量集EmbV得到症状向量embsym,再以embsym作为查询向量,查询科室向量索引EmbIndexdep,最后得到候选科室集合Canddep,当仅有主诉症状时,得到的是第一候选科室集合,否则就是第二候选科室集合,若追问次数较多,则是第三候选科室集合、…、第N候选科室集合,N为大于1的整数。
B1、构建候选科室与症状关系图即第一实体关系图
此处以构建第一候选科室与主诉症状关系图为例,以Symuser中的症状和Canddep中的第一候选科室为节点,计算主诉症状与第一科室节点之间的向量相似度,当相似度大于设置阈值时,如果症状为用户肯定症状,则建立一条双向边,如果症状为用户否定症状,则建立一条单向的症状指向科室的边,主诉症状中不存在否定症状,故第一实体关系图中也就没有单向边,如此便可得到带边权重的第一候选科室与主诉症状关系图,记作DGcand,边权重就是对应的向量相似度。
B2、获取预测科室即最终的推荐就诊科室
基于已经构建的第一候选科室与主诉症状关系图DGcand,利用个性化PageRank算法计算图中节点的得分,科室得分越高表示可能性越大。因为用户肯定症状与否定症状对于科室的得分贡献是不同的,所以需要设置不同的个性化权重,简单的,否定症状节点权重设为-1,其他节点设置为1,如图4所示,“腹痛”、“呕吐”为用户肯定症状,“尿痛”为用户否定症状,“消化内科”、“呼吸内科”为第一候选科室,计算前图中节点权重为个性化权重参数,经过PageRank迭代计算后,得到的节点权重即为节点的最终得分也就是该科室的最终得分,例如,“消化内科”和“泌尿外科”的分数分别为0.38和0.12,归一化之后分别为0.76和0.24。
3、追问决策子模块
该子模块主要解决下一步进行追问还是返回导诊科室的决策问题。这里选择基尼指数即Gini指数作为追问决策的依据,即科室预测分数分布越不纯,则越倾向于追问。假设第一候选科室集合为Canddep,对应的归一化分数S,个数为K,则Gini指数为:
Figure GDA0003943884190000161
根据第一候选科室集合中科室的分数分布计算Gini指数,然后再与设定的Gini指数阈值进行比较,如果小于阈值则返回科室即将得分最高的第一候选科室作为对该用户的推荐就诊科室,否则继续追问,比如Gini指数阈值为0.5,第一候选科室集合中科室的得分为[0.7,0.2,0.1],计算得到的Gini指数为0.45,小于设定阈值,则将得分为0.7的第一候选科室作为给用户的推荐就诊科室,如果多个第一候选科室的得分分别为[0.4,0.3,0.3],计算得到的Gini指数为0.66,大于设定阈值,则继续追问。为了防止追问次数过多,可以设置最大追问次数阈值,当追问超过最大次数时,则停止追问。
4、追问信息选择
该模块主要解决追问环节如何选择追问信息的问题。具体步骤包括:
对所述主诉症状的语义向量进行加权求和,得到查询向量;
将症状术语的语义向量与所述查询向量进行匹配,得到若干个相关症状;
根据所述若干个相关症状确定第二候选科室集合,并计算每个相关症状对应的所有候选科室分数分布的第二基尼指数;
将每个相关症状对应的所有候选科室分数分布的第二基尼指数的均值作为其选择指数,并将所有相关症状中选择指数最小的症状作为系统的追问症状。
流程如下:
A、获取后续追问信息即第二候选科室集合
将用户肯定症状与否定症状的向量进行加权求和,其中肯定症状的权重为1,否定症状的权重为-1,利用加权求和的向量作为查询向量,通过向量检索工具从症状索引EmbIndexsym进行检索查询,得到最相关的若干个症状作为候选追问信息Candask
B、选择追问信息
对候选追问信息中的每个症状即相关症状
Figure GDA0003943884190000171
并确定所有相关症状对应的第二候选科室集合,同时分别计算
Figure GDA0003943884190000172
被用户肯定和否定情况下的第二候选科室的Gini指数,上述过程与得到第一候选科室集合并计算第一候选科室集合中科室分数分布的Gini指数步骤相同,然后取均值作为该相关症状的选择指数,记作
Figure GDA0003943884190000173
假设
Figure GDA0003943884190000174
为肯定症状,对应的第一候选科室分数为S+,当
Figure GDA0003943884190000175
为否定症状时,预测科室分数为S-,则:
Figure GDA0003943884190000181
选择所有候选追问信息中mg最小的症状,作为下一步系统的追问症状,对于系统追问症状,用户的回答有三种可能的结果即“是的”“不是”以及“不知道”,这三种可能也分别对应了意图类别标签中的“信息肯定”“信息否定”以及“信息不确定”。
回复生成模块主要是将系统计算和决策的结果转换成方便用户理解的形式并返回给用户。回复生成的方法主要包括基于模板的方法和seq2seq生成方法,但seq2seq是一种基于深度学习模型的端到端的文本生成方法,一般应用于用户开放式的对话系统中,这里我们选择适用于任务型对话系统的基于模板的回复生成方法,具体如下:
首先,根据不同场景定义不同的回复模板,包括追问模板、返回导诊科室模板等,比如“请问是否伴有#symptom#”是个追问模板,#symptom#代表需要追问的症状。
然后,根据当前系统决策结果,选择合适的模板并生成回复。假设系统决策的下一步行为是追问,选择的追问症状为“头痛”,利用前面的追问模板,系统生成的回复为“请问是否伴有头痛”。
本实施例基于用户的当前输入信息,通过意图分类识别出该用户的当前意图,再结合用户意图和用户信息对系统的下一步行为进行导诊决策,最终生成系统回复模板,整个过程自动化程度高,节约了人工成本,可泛化性好,同时在进行科室预测时也不需要大量的标注数据,可解释性高。
此处需要说明的是,本实施例的计算过程以用户症状只有主诉症状而无系统提问症状的情况为主,但有系统提问症状时的计算过程与本实施例原理本质上并无区别,只是系统计算次数更多。
本申请还提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的一种智能导诊方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请同时还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述的一种智能导诊方法。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,并由输入接口和输出接口完成数据的I/O接口传输,以完成本发明,一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,存储器、处理器,本领域技术人员可以理解,本实施例仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入器、网络接入设备、总线等。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等,进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备,存储器用于存储计算机程序以及计算机设备所需的其他程序和数据,存储器还可以用于暂时地存储在输出器,而前述的存储介质包括U盘、移动硬盘、只读存储器ROM、随机存储器RAM、碟盘或光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (7)

1.一种智能导诊方法,其特征在于,应用于智能导诊系统,包括以下步骤:
对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
于所述当前意图类别为症状描述时,将症状词典作为分词工具的自定义词典,根据所述症状词典对所述当前输入信息进行分词和词性识别;
根据词性提取所述当前输入信息中的关键词,并用所述关键词与症状术语进行匹配,若匹配成功,则得到所述用户的主诉症状;
否则运用无监督的SimCSE方法训练bert模型,得到句子向量化表示模型;
将症状术语和所述当前输入信息分别输入所述句子向量化表示模型中,得到所述症状术语和当前输入信息各自对应的语义向量;
计算所述症状术语的语义向量与当前输入信息的语义向量之间的相似度,根据计算结果确定所述用户的主诉症状;
基于所述主诉症状确定第一候选科室集合,并构建以所述主诉症状和各个第一候选科室为节点的带权有向图;
设置每个节点的个性化权重,基于边权重和PageRank算法对所述个性化权重进行迭代计算,得到每个节点的得分;
对每个得分进行归一化得到归一化分数,并根据所述归一化分数计算第一候选科室集合中科室分数分布的第一基尼指数;
若所述第一基尼指数大于第二设定阈值,则进行追问并确定追问症状,否则将得分最高的第一候选科室作为所述用户最终的推荐就诊科室。
2.根据权利要求1所述的一种智能导诊方法,其特征在于,所述方法还包括:在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中。
3.根据权利要求1所述的一种智能导诊方法,其特征在于,所述方法还包括:从预先定义的各种系统回复模板中选出与当前系统决策相匹配的回复模板,并生成系统回复语句。
4.根据权利要求1所述的一种智能导诊方法,其特征在于,所述基于所述主诉症状确定第一候选科室集合,并构建以所述主诉症状和各个第一候选科室为节点的带权有向图,包括:
在预先构建的包含疾病、症状和科室的实体向量集合中,查找所述主诉症状对应的症状向量,并根据所述症状向量确定对应的科室向量以得到第一候选科室集合;
构建以所述主诉症状和第一候选科室为节点的第一实体关系图,并计算主诉症状节点与第一候选科室节点之间的向量相似度;
于所述向量相似度大于第一设定阈值时,连接对应的主诉症状节点与第一候选科室节点得到带权有向图,权重为对应节点之间的向量相似度。
5.根据权利要求4所述的一种智能导诊方法,其特征在于,构建所述包含疾病、症状和科室的实体向量集合,包括:
采集包含疾病、症状与科室相关关系的语料集,并根据所述语料集构建以疾病、症状和科室为节点及以疾病与症状、疾病与科室为边的第二实体关系图;
基于所述第二实体关系图,利用metapath2vec算法训练图嵌入模型,得到每个节点的嵌入表示向量;
根据所述嵌入表示向量生成实体向量集合,并利用向量索引工具分别构建疾病向量索引、症状向量索引和科室向量索引,其中,疾病向量是症状向量与科室向量之间的查询媒介。
6.根据权利要求1所述的一种智能导诊方法,其特征在于,所述确定追问症状,包括:
对所述主诉症状的语义向量进行加权求和,得到查询向量;
将症状术语的语义向量与所述查询向量进行匹配,得到若干个相关症状;
根据所述若干个相关症状确定第二候选科室集合,并计算每个相关症状对应的所有候选科室分数分布的第二基尼指数;
将每个相关症状对应的所有候选科室分数分布的第二基尼指数的均值作为其选择指数,并将所有相关症状中选择指数最小的症状作为系统的追问症状。
7.一种智能导诊系统,其特征在于,包括:
意图识别模块,用于对用户的当前输入信息进行意图分类,得到所述用户的当前意图类别;
状态跟踪模块,用于在对话开始时,创建状态跟踪实例,所述状态跟踪实例用于记录所述用户与系统的交互信息,并将所述交互信息保存到数据库中;
导诊决策模块,用于确定所述用户的主诉症状和第一候选科室集合,并计算每个第一候选科室的得分以生成所述第一候选科室集合中科室分数分布的第一基尼指数,根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室;
其中,所述确定所述用户的主诉症状包括:
于所述当前意图类别为症状描述时,将症状词典作为分词工具的自定义词典,根据所述症状词典对所述当前输入信息进行分词和词性识别;
根据词性提取所述当前输入信息中的关键词,并用所述关键词与症状术语进行匹配,若匹配成功,则得到所述用户的主诉症状;
否则运用无监督的SimCSE方法训练bert模型,得到句子向量化表示模型;
将症状术语和所述当前输入信息分别输入所述句子向量化表示模型中,得到所述症状术语和当前输入信息各自对应的语义向量;
计算所述症状术语的语义向量与当前输入信息的语义向量之间的相似度,根据计算结果确定所述用户的主诉症状;
所述生成所述第一候选科室集合中科室分数分布的第一基尼指数,根据所述第一基尼指数判断是否进行追问,若是则确定追问症状,否则向所述用户推荐最终的就诊科室,包括:
设置每个节点的个性化权重,基于边权重和PageRank算法对所述个性化权重进行迭代计算,得到每个节点的得分;
对每个得分进行归一化得到归一化分数,并根据所述归一化分数计算第一候选科室集合中科室分数分布的第一基尼指数;
若所述第一基尼指数大于第二设定阈值,则进行追问并确定追问症状,否则将得分最高的第一候选科室作为所述用户最终的推荐就诊科室;
回复生成模块,用于从预先定义的各种系统回复模板中选出与当前系统决策相匹配的回复模板,并生成系统回复语句。
CN202211180071.5A 2022-09-27 2022-09-27 一种智能导诊方法及系统 Active CN115274086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211180071.5A CN115274086B (zh) 2022-09-27 2022-09-27 一种智能导诊方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211180071.5A CN115274086B (zh) 2022-09-27 2022-09-27 一种智能导诊方法及系统

Publications (2)

Publication Number Publication Date
CN115274086A CN115274086A (zh) 2022-11-01
CN115274086B true CN115274086B (zh) 2023-01-13

Family

ID=83757264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211180071.5A Active CN115274086B (zh) 2022-09-27 2022-09-27 一种智能导诊方法及系统

Country Status (1)

Country Link
CN (1) CN115274086B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115688760B (zh) * 2022-11-11 2023-08-04 深圳市蒲睿科技有限公司 一种智能化导诊方法、装置、设备及存储介质
CN116344009B (zh) * 2023-05-22 2023-08-15 武汉盛博汇信息技术有限公司 一种线上就诊通知方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110993081A (zh) * 2019-12-03 2020-04-10 济南大学 一种医生在线推荐方法及系统
CN111709233A (zh) * 2020-05-27 2020-09-25 西安交通大学 基于多注意力卷积神经网络的智能导诊方法及系统
CN114822800A (zh) * 2022-05-17 2022-07-29 全一医疗(珠海)有限公司 一种互联网医疗分诊方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813957A (zh) * 2020-07-14 2020-10-23 深圳中兴网信科技有限公司 基于知识图谱的医疗导诊方法和可读存储介质
CN112035674B (zh) * 2020-08-28 2023-05-23 康键信息技术(深圳)有限公司 导诊数据获取方法、装置、计算机设备和存储介质
CN112287232B (zh) * 2020-11-09 2024-04-16 北京京东拓先科技有限公司 生成推荐信息的方法、装置
CN112507696B (zh) * 2021-02-04 2021-04-20 湖南大学 基于全局注意力意图识别的人机交互导诊方法与系统
CN113111162A (zh) * 2021-04-21 2021-07-13 康键信息技术(深圳)有限公司 科室推荐方法、装置、电子设备及存储介质
CN113488157B (zh) * 2021-07-30 2023-10-13 卫宁健康科技集团股份有限公司 智能导诊处理方法、装置、电子设备及存储介质
CN113851219A (zh) * 2021-11-29 2021-12-28 山东交通学院 一种基于多模态知识图谱的智能导诊方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110993081A (zh) * 2019-12-03 2020-04-10 济南大学 一种医生在线推荐方法及系统
CN111709233A (zh) * 2020-05-27 2020-09-25 西安交通大学 基于多注意力卷积神经网络的智能导诊方法及系统
CN114822800A (zh) * 2022-05-17 2022-07-29 全一医疗(珠海)有限公司 一种互联网医疗分诊方法及系统

Also Published As

Publication number Publication date
CN115274086A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
WO2019153737A1 (zh) 用于对评论进行评估的方法、装置、设备和存储介质
CN115274086B (zh) 一种智能导诊方法及系统
WO2020244073A1 (zh) 基于语音的用户分类方法、装置、计算机设备及存储介质
CN110727779A (zh) 基于多模型融合的问答方法及系统
CN111259127B (zh) 一种基于迁移学习句向量的长文本答案选择方法
CN111949787A (zh) 基于知识图谱的自动问答方法、装置、设备及存储介质
US10755177B1 (en) Voice user interface knowledge acquisition system
US20230395075A1 (en) Human-machine dialogue system and method
US20230394247A1 (en) Human-machine collaborative conversation interaction system and method
CN114936277A (zh) 相似问题匹配方法和户相似问题匹配系统
CN111241397A (zh) 一种内容推荐方法、装置和计算设备
CN113705191A (zh) 样本语句的生成方法、装置、设备及存储介质
CN114428850A (zh) 一种文本检索匹配方法和系统
CN111353026A (zh) 一种智能法务律师助手客服系统
KR20200041199A (ko) 챗봇 구동 방법, 장치 및 컴퓨터 판독가능 매체
Luan Information extraction from scientific literature for method recommendation
Ali et al. K-means clustering to improve the accuracy of decision tree response classification
JP2020135689A (ja) モデル学習システム、意図解釈システム、モデル学習方法およびモデル学習用プログラム
CN113378569A (zh) 模型生成、实体识别方法、装置、电子设备及存储介质
CN113705207A (zh) 语法错误识别方法及装置
Arbaaeen et al. Natural language processing based question answering techniques: A survey
CN117009456A (zh) 医疗查询文本的处理方法、装置、设备、介质和电子产品
US11880664B2 (en) Identifying and transforming text difficult to understand by user
CN115221284A (zh) 文本相似度的计算方法、装置、电子设备及存储介质
CN114625878A (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
GR01 Patent grant
GR01 Patent grant