一种基于规则的用户信息结构化和快速检索的方法及系统与流程

文档序号:21469861发布日期:2020-07-14 16:55阅读:181来源:国知局
一种基于规则的用户信息结构化和快速检索的方法及系统与流程

本申请属于信息检索技术领域,具体涉及一种基于规则的用户信息结构化和快速检索的方法及系统。



背景技术:

在传统的诊疗过程中,医生通常基于病人的口述对其症状进行分析判断。而历史就诊记录对医生判断的作用非常巨大,传统的病例式记录由于存在字迹不清晰,病例易丢失、破损等问题,导致其具有极大的不确定性,对历史就诊记录这一特性的利用极其有限。在电子病例上线后,医生可以通过数据库对历史就诊记录进行查询,大大提升了对历史就诊记录这一重要信息的利用能力。然而,随着数据库扩充,病人的历史就诊记录也越来越长,医生阅读就诊记录的成本也愈发高昂。

另一方面,医生经过诊断后,在对病人进行开药等操作时,由于病人的专业性不强,口述存在误差,医生存在疏忽等原因,开出的药物可能涉及与病人体质冲突等风险。现行的医疗系统基本只涉及对过敏史的分析,一些软冲突,例如药物与病人既往病史的冲突,药物与病人体质存在的冲突等并没有被考虑在内,存在分析不全面的问题。



技术实现要素:

本申请的目的在于提供一种基于规则的用户信息结构化和快速检索的方法及系统,不仅可提高检索有效性,还可降低用药失误率,保证就诊效率和安全性。

为实现上述目的,本申请所采取的技术方案为:

一种基于规则的用户信息结构化和快速检索的方法,所述基于规则的用户信息结构化和快速检索的方法,包括:

生成用户画像,所述用户画像包括两部分,第一部分为结构化用户信息,第二部分为用户就医时口述的症状表现;

搜索调出该用户所有的历史就诊记录,所述历史就诊记录基于结构化表达,所述历史就诊记录包括用户信息、诊断记录、症状记录、用药记录;

取用户画像中的症状表现与历史就诊记录中的症状记录进行相似度匹配,按相似度由高到低将该用户所有的历史就诊记录进行排序;

根据用户画像中的结构化用户信息以及历史就诊记录中的用药记录从冲突规则数据库中筛选出冲突规则;

获取医生本次的开药信息,若该开药信息触发冲突规则,则发出提醒通知。

作为优选,所述生成用户画像包括:

基于现有的用户数据库,提取用户的医学特征;

采用二值或多值向量表示用户的医学特征,并建立对应的“数值-医学特征”索引表,形成结构化用户信息,用{r,m}的连接向量表示作为用户画像的第一部分,其中向量r表示用户的过敏史,向量m表示用户的其他医学特征;

接收医生输入的用户就医时口述的症状表现,生成长文本信息;

将长文本信息输入至分词系统,得到长文本信息的分词表达;

根据所述分词表达,通过预训练的词向量模型输出词向量表达,得到文本特征,用矩阵t表示作为用户画像的第二部分;

则生成的用户画像p可表示为p=concatenate{r,m,flat(t)}。

作为优选,所述历史就诊记录中的用户信息采用二值或多值向量表示该历史就诊记录中用户的医学特征,形成{r′,m'}的连接向量;

所述历史就诊记录中的诊断记录d∈rz被表示为一个z维向量;

所述历史就诊记录中的症状记录通过分词系统和词向量模型后表示为文本特征,用矩阵t′表示;

历史就诊记录中的用药记录由索引值q∈rs表达,将药品名录转换成词典,通过索引值q指向词典中的药品,s是用药列表的最大长度;

则一条结构化表达的历史就诊记录h可以表示为:

h=concatenate{r′,m′,flat(t′),d,q}。

作为优选,取用户画像中的症状表现与历史就诊记录中的症状记录进行相似度匹配,按相似度由高到低将该用户所有的历史就诊记录进行排序,包括:

计算中间注意力因子:

eij=f′(ai,bj)=f(ai)tf(bj)

其中,eij为中间注意力因子,{ai}为用户画像中口述的症状表现的文本特征,ai为文本特征{ai}中的第i个词向量,{bj}为历史就诊记录中的症状记录的文本特征,bj为文本特征{bj}中的第i个词向量,f为前馈神经网络,la为文本特征{ai}中词向量的个数,lb为文本特征{bj}中词向量的个数,i∈[1,2,...,la],j∈[1,2,...,lb];

根据中间注意力因子,计算文本间注意力如下:

其中,βi为文本特征{bj}经过词向量ai对应的中间注意力因子强化并加和后的强化文本特征,αj为文本特征{ai}经过词向量bj对应的中间注意力因子强化并加和后的强化文本特征;

将词向量与对应的强化文本特征的联合表达输入一个前馈神经网络,加和后得到强化文本向量:

其中,g为前馈神经网络,v1和v2为强化文本向量;

将强化文本向量v1和v2合并连接后输入至一个二分类器中,输出相似度预测值;

按相似度预测值由高到低将该用户所有的历史就诊记录进行排序。

作为优选,所述二分类器在训练过程中,取医生在实际就诊过程中对用户不同历史就诊记录的浏览次数,对所有历史就诊记录的浏览次数进行归一化,将归一化后的值作为对应历史就诊记录的相似度检测标签;

计算相似度预测值与真实的相似度检测标签之间的误差值,通过二值交叉熵损失函数对二分类器进行优化,所述二值交叉熵损失函数的表达式为:

其中,xn表示相似度预测值,yn表示相似度检测标签,n为样本数量。

本申请还提供一种基于规则的用户信息结构化和快速检索的系统,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项技术方案所述的基于规则的用户信息结构化和快速检索的方法的步骤。

本申请提供的基于规则的用户信息结构化和快速检索的方法及系统,通过结构化用户信息表达,将散乱的用户信息转化为用户画像,用来辅助指导医生开药流程,降低因人工失误而导致的药物冲突等,提高安全性。另外,该方法基于结构化文本信息,通过机器学习模型计算病人口述与历史就医记录中诊断记录的相似度,并根据相似度高低将历史就诊记录排序,使得医生更容易将精力放在相关性更大的就诊记录上,提高检索有效性,提高诊断效率。

附图说明

图1为本申请的基于规则的用户信息结构化和快速检索的方法的流程图;

图2为本申请的历史就诊记录的一种结构示意图;

图3为本申请进行相似度匹配的一种实施例流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。

其中一个实施例中,提供一种基于规则的用户信息结构化和快速检索的方法,该方法可解决医生阅读历史就诊记录成本高昂,并且存在开出的药物可能与病人体质或者既往病史冲突的问题。

如图1所示,本申请的基于规则的用户信息结构化和快速检索的方法,包括以下步骤:

步骤s1、生成用户画像,所述用户画像包括两部分,第一部分为结构化用户信息,第二部分为用户就医时口述的症状表现。

用户画像中的第一部分基于现有的用户数据库,对医学上的用户特征进行结构化提取得到,具体如下:

步骤s1.1、基于现有的用户数据库,提取用户的医学特征。

步骤s1.2、基于医学数据库,采用二值或多值向量表示用户的医学特征,并建立对应的“数值-医学特征”索引表,形成结构化用户信息,用{r,m}的连接向量表示作为用户画像的第一部分。

其中向量r表示用户的过敏史,r=(r1,r2,...,ri,...,rk),ri∈(0,1),对第i种药物过敏则将ri置为1;向量m表示用户的其他医学特征,且m=(m1,m2,...,mi,...,mn)∈rn,具有某种医学特征时,则将该医学特征在向量m中对应地址的元素赋予相应值。

用户画像中的第二部分来源于医生根据用户就医时口述的症状表现录入所得,根据录入信息进行处理得到第二部分,处理过程如下:

步骤s1.3、接收医生输入的用户就医时口述的症状表现,生成长文本信息。

步骤s1.4、将长文本信息输入至分词系统,得到长文本信息的分词表达,如l={w1,w2,...,wl},其中l是长文本中词语的个数,wi,i∈(1,l)是分词表达,分词操作可调用成熟的分词系统完成,例如jieba,pkuseg等。

步骤s1.5、根据所述分词表达,通过预训练的词向量模型输出词向量表达,得到文本特征,文本特征用矩阵t表示作为用户画像的第二部分,其中矩阵t可表示为:

其中,为词向量模型,d是词向量的维度,vi为词向量模型输出的词向量表达,l是词语个数,采用的词向量模型可以是word2vec模型、fasttext模型或bert模型等。

因此,本实施例中生成的用户画像p表示为p=concatenate{r,m,flat(t)}。

步骤s2、搜索调出该用户所有的历史就诊记录,所述历史就诊记录基于结构化表达,所述历史就诊记录包括用户信息、诊断记录、症状记录、用药记录。

本申请与常规的历史就诊数据不同,本申请使用的历史就诊记录同样采用结构化信息表达,以便于进行快速的信息检索。

需要说明的是,为了统一就诊记录的表达,对于现存于历史就诊记录数据库中的历史就诊记录,本申请对其进行了结构化处理,并更新在历史就诊记录数据库中;对于每次用户就诊结束后新增的用户就诊记录,本申请同样进行结构化处理后添加入现有的历史就诊记录数据库中。

在搜索调用用户的历史就诊记录时,可以基于历史就诊记录数据库,以用户身份证、用户就诊病历号等具有标识身份的信息为条件进行搜索,得到相应的历史就诊记录。

历史就诊记录中的用户信息采用二值或多值向量表示该历史就诊记录中用户的医学特征,形成{r′,m'}的连接向量,表达方式与用户画像中的结构化用户信息相同,这里就不再进行赘述。

历史就诊记录中的诊断记录d∈rz被表示为一个z维向量,使用高维向量表示诊断记录的好处在于,表达能力更丰富,可以对并发症之类的复杂情况有更清晰的描述,后期更新维护也更为简单。

历史就诊记录中的症状记录通过分词系统和词向量模型后表示为文本特征,用矩阵t′表示,转换与表示方式与用户画像中的第二部分相同,这里不再进行赘述。

历史就诊记录中的用药记录由索引值q∈rs表达,将所有可能使用到的药品名录转换成词典,通过索引值q指向词典中的药品,从而保存用药记录。由于每次用药种类不同,因此使用一个较长的索引数组储存用药信息,s是用药列表的最大长度。

则本实施例中一条结构化表达的历史就诊记录h可以表示为:

h=concatenate{r′,m′,flat(t′),d,q}。

本实施例将文字表述的就诊数据转化为向量或索引值表示的结构化历史就诊记录,即转化为数字形式表示,极大的降低了数据长度,这不仅可便于数据存储,还便于医生快速获取所需信息。

如图2所示,为历史就诊记录的一种具体实例,可以解释为,向量r′为过敏史,其中第二项置1表示维生素k过敏;向量m′为其他医学特征,第一个2可以表达病人患有轻度肝炎,第二个5可以表明病人曾经接受过小肠气手术,以此类推,每一个数值表达病人的一个医学特征;症状记录t′是一组文本特征矩阵,记录了用户的相应症状;诊断记录d是结构化表达的数据,其中,1,6,8等表示医生对于此次病症的判断,如1表示有咳嗽,6表示发热,8表示血小板偏高等;用药记录q则表达不同的用药品种,如28表示泰诺,95表示阿莫西林等。

需要说明的是,图2仅为一个可实施例的实例,在实际应用时,可根据需求或表达习惯设置不同地址的元素表示的对象,以及不同元素值所表示的含义。

对于用户当前就诊的口述症状表现与历史就诊记录中的症状描述,本实施例都利用自然语言处理技术,将数据整合成长文本,而后调用分词模块,选择合适的停用词词典进行微调。分词后的细粒度文本表达,通过合适的词向量模型,实现自然语言到文本特征的转化,以便于后续的特征匹配,具体使用的词向量模型可以是glove,word2vec,bert等。

步骤s3、取用户画像中的症状表现与历史就诊记录中的症状记录进行相似度匹配,按相似度由高到低将该用户所有的历史就诊记录进行排序。

为了计算文本相似度,单纯的细粒度文本特征表达并不合适,因为在症状描述中,其记录顺序与方式各有差异,上下文信息颠倒,描述语句主被动方式不同等情况及其普遍,如果直接使用细粒度文本特征,会导致相似度计算准确率低,影响后续快速检索工作。因此,本实施例引入基于注意力权重的相似度比较机制,可将传统注意力机制的复杂度大大降低,减少训练参数的同时保证了效果。具体如下:

步骤s3.1、对于长度分别为la和lb的待比较文本,直接计算文本间相似度需要做la×lb次运算,对于长文本而言,计算量过于庞大,训练效率低。因此,本实施例引入中间注意力因子,中间注意力因子计算公式如下:

eij=f′(ai,bj)=f(ai)tf(bj)

其中,eij为中间注意力因子,{ai}为用户画像中口述的症状表现的文本特征,ai为文本特征{ai}中的第i个词向量,{bj}为历史就诊记录中的症状记录的文本特征,bj为文本特征{bj}中的第i个词向量,f为前馈神经网络,i∈[1,2,...,la],j∈[1,2,...,lb]。中间注意力因子使运算数量级从la×lb降到la+lb,使得参数量降低,训练速度更快。

步骤s3.2、根据中间注意力因子,计算文本间注意力如下:

其中,la为文本特征{ai}中词向量的个数,lb为文本特征{bj}中词向量的个数,βi为文本特征{bj}经过词向量ai对应的中间注意力因子强化并加和后的强化文本特征,αj为文本特征{ai}经过词向量bj对应的中间注意力因子强化并加和后的强化文本特征。

步骤s3.3、将词向量与对应的强化文本特征的联合表达输入一个前馈神经网络,加和后得到强化文本向量:

其中,将词向量与对应的强化文本特征的联合表达输入一个前馈神经网络,得到如下联合表达:

v1,i=g([ai,βi]),i∈[1,2,…,la]

v2,j=g([bj,αj]),j∈[1,2,…,lb]

将上述联合表达进行加和,得到强化文本向量如下:

其中,g为前馈神经网络,v1和v2为强化文本向量。

步骤s3.4、将强化文本向量v1和v2合并连接后输入至一个二分类器中,输出相似度预测值。

如图3所示,为相似度匹配的一种实施例示意图,图中左侧的矩形框中颜色深浅表示相似度高低,中间的竖条表示抽取出的较高相似度的词向量,如红疹对应ai,红斑对应bj,实际均为向量表达,该图中为了可视化效果还原了向量对应的之前的文字表达,强化后的文本表达输入二分类器,输出两个文本向量的相似度,完成相似度匹配。

步骤s3.5、按相似度预测值由高到低将该用户所有的历史就诊记录进行排序。将搜索到的历史就诊记录根据相似度预测值进行排序后呈现,便于医生快速找到具有参考性的历史浏览记录,降低医生的浏览成本。

在实际使用前,为了保证二分类器的预测准确率,需要对二分类器进行训练。二分类器在训练过程中,取医生在实际就诊过程中对用户不同历史就诊记录的浏览次数,对所有历史就诊记录的浏览次数进行归一化,将归一化后的值作为对应历史就诊记录的相似度检测标签,即浏览次数越多,新输入症状与该历史就诊记录相关性越高。

计算相似度预测值与真实的相似度检测标签之间的误差值,通过二值交叉熵损失函数对二分类器进行优化,所述二值交叉熵损失函数的表达式为:

其中,xn表示相似度预测值,yn表示相似度检测标签,n为样本数量。

步骤s4、根据用户画像中的结构化用户信息以及历史就诊记录中的用药记录从冲突规则数据库中筛选出冲突规则。

冲突规则数据库是基于大数据与医学专家的意见生成,例如1号药物与2号药物不可同时服用,即将该冲突信息添加至冲突规则数据库中,又如医学专家认为存在某病史的患者不可服用3号药物,则将该冲突信息添加至冲突规则数据库中。因此冲突规则数据库是基于现有特定用药常识生成,包含所有的用药冲突规则,信息全面,相对的直接使用冲突规则数据库判断此次医生的用药是否存在冲突判断数据量较大。为了加快判断速度,本实施例根据结构化信息以及用药记录从冲突规则数据库中筛选出对应的冲突规则,以便于后续调用判断。

步骤s5、获取医生本次的开药信息,若该开药信息触发冲突规则,则发出提醒通知;否则不产生提醒通知,允许医生按流程正常操作。

本实施例的基于规则的用户信息结构化和快速检索的方法在实际应用中,将患者的口述症状长文本输入医疗系统时,后台会自动对文本进行分词,词向量生成等操作,并根据用户的基本信息进行匹配,调出所有历史就诊记录,快速通过算法进行与当前口述症状的相似度计算,根据输出的预测值高低进行排序,优先将相似度高的结果对应的历史就诊记录展示给医生,供医生分析,减少因历史就医记录过于繁多复杂引起的不必要人工开销。

同时,由于历史就诊记录中包含了结构化的用户信息与用药信息,这些信息可以在医生进行诊断和开药时起到智能助诊的作用,并且根据病人的结构化信息,其过敏史等会影响用药的信息会被列入冲突规则,及时提示用药冲突等情况,防止因人为疏忽引起的用药冲突、用药不当等,对病人的安全和就诊效率有更好保障。

在另一实施例中,提供了一种计算机设备,即一种基于规则的用户信息结构化和快速检索的系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于规则的用户信息结构化和快速检索的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1