医疗咨询信息聚合分析方法与流程

文档序号:17075294发布日期:2019-03-08 23:40阅读:595来源:国知局
医疗咨询信息聚合分析方法与流程

本发明涉及医疗咨询领域,具体地说,是一种医疗咨询信息聚合分析方法。



背景技术:

随着社会经济的发展,人们的生活水平越来越高,对身体健康也更加关注,对权威健康信息的需求迫切增长。近年来,互联网、移动互联网等技术发展迅速、人们深度参与网络知识生产和在线社交,涌现出一大批在线问答咨询应用系统。其中,医疗众包问答网站因为可以方便的对病患进行及时初诊而受到广大用户的欢迎。在国外,如美国的medhelp.org,国内有寻医问药(xywy.com)、百度拇指医生(muzhi.baidu.com)等。在这些中,有数百万注册用户和数十万名注册医生,用户在线向网站输入自己的医疗问题,医生收到问题,根据患者情况给出诊断或治疗建议。这些医疗问答网站提供的多是多对多服务,即一名用户提出的问题会由多名医生来回答,而一名医生又对多个问题进行回答,所以这种服务模式下,医疗信息的增长速度非常快,例如,寻医问药网站中,每分钟就会有上百条问题提出,而每个问题都会产生多个答案,可见其信息产生速度之快。

在线医疗数据巨量增长,但是隐含在这些数据背后的医疗知识却无法有效甄别和提取,主要体现在医生的水平参差不齐,一条咨询问题的答案质量也有差别。如果能够更好地发现和利用这些知识将是一笔宝贵的财富。

计算对答案的可信度以及医生的知识水平有几个问题需要解决。第一,真值发现方法,为了计算答案的可信度以及医生的知识水平,一种可能的办法是标注答案的质量,然后学习分类或回归模型,但是,这是一个专业度比较高的领域,一般的工人无法对样本进行有效的标注,需要有一定医疗知识的工人去标注样本,这样就加大了标注的成本,所以,人工标注的监督学习方式在此问题上成本太高,甚至无法实现;第二,噪声输入的净化问题,医疗咨询网站上的医疗问答都是非结构化且嘈杂的文本数据,这给计算对答案的可信度以及医生的知识水平带来了不便,为了获得更好的效果,就需要更好地表达问题和答案;第三,长尾现象,大多数问题仅仅收到了两三个甚至只有一个答案,这就给筛选答案带来了麻烦,因为答案太少筛选也就没有意义了,而且这些仅有的几个答案甚至没有合理的,这就需要想办法扩大答案集;第四,同一个问题的答案之间的相关性,医疗咨询问题的答案不是唯一确定的,一个问题可能有多个合理可靠的答案,这些答案之间可能有比较高的相似性,这也可以成为计算答案可信度的一个重要依据。

目前,对于医疗问答信息的文本挖掘大多专注于医疗命名实体的识别以及实体之间的关系的发现,最终可以获取医疗问答对中潜在的医疗知识,但是未考虑医疗问答的质量问题。而现实中医疗问答网站中确实存在一些水平不高的医生,甚至一些医生仅仅是为了赚钱而未对患者的提问认真回答,那么得到的医疗知识的质量就难以保证。



技术实现要素:

本发明的目的在于提供一种获取医疗众包问答网站上的问答信息,计算答案可信度及医生水平,从而得到医疗知识的方法。

实现本发明目的的技术解决方案为:一种医疗咨询信息聚合分析方法,包括以下步骤:

(1)利用网络爬虫技术获取医疗健康咨询网站上问答网页,通过网页解析获取文本格式的“问题-答案-医生”三元组形式的医疗信息;

(2)将文本格式的医疗信息转化为基于实体的结构化数据;

(3)计算结构化的问题之间的相似度,合并相似度超过特定阈值的问题以扩大问题的答案集;

(4)利用迭代的方式计算答案的可信度以及医生的知识水平评分,得到“问题-答案-可信度”形式的医疗知识;如果一名医生的水平高,则认为该医生所提供的答案可靠,如果一条答案可靠,则认为提供该答案的医生水平高。

本发明与现有技术相比,其显著优点:(1)本发明以无监督的方式,用迭代计算的思想计算出答案的可信度和医生的医疗知识水平,相比于有监督学习中大量标注医疗问答数据的方式,节省了大量资金和时间成本,从而得到宝贵的医疗知识。(2)针对“问题-答案”以及“医生-答案”上的长尾现象,本方法根据问题相似度来合并相似度高的问题,扩大答案集以便选出更可靠的答案;伪计数cpseudo可以降低那些只回答了少量问题的医生的水平评分,避免回答少量问题的低水平医生由于偶然性而获得较高的评分。(3)相比专注于问答数据中医疗实体之间关系来挖掘医疗知识的方法,本方法从质量评估的角度去挖掘医疗问答信息中潜在的医疗知识,即利用迭代的方式从计算答案可信度及医生知识水平的角度来挖掘医疗问答信息中潜在的医疗知识,如此获取的医疗知识具有较高的质量保证。

附图说明

图1是本发明医疗咨询信息聚合分析方法的流程图。

图2是从网站的到文本格式的医疗问答数据的方式示意图。

图3是数据结构化过程中,提取关键词作为结构化数据的实体示意图。

图4是表示两个医疗咨询问题有较高的相似度,将它们合并为一个问题以扩大答案集的示意图。

图5是迭代计算答案可信度和医生水平的流程图。

图6表示同一个答案集中,相似度较高的答案之间提供支持,彼此提高可信度。

具体实施方式

本发明提出一种提取医疗知识的方法。其基本思想是,利用自动信息抽取的技术手段将网站上的“问题-答案”对以及医生的相关信息提取出来,通过计算对答案的可信度以及医生的知识水平进行评估,为医疗咨询问题筛选出质量较高的答案,形成宝贵的医疗知识。这些医疗知识有十分重要的现实意义,可用于构建智能医疗诊断系统的知识库。

下面结合说明书附图对本发明作进一步说明。

结合图1,包括以下步骤:

数据获取。选取特定的医疗健康咨询网站,利用现有的网络爬虫技术爬取网站上的医疗问答信息和对应医生的信息,包括患者性别、年龄、咨询问题和医生的回答,医生的信息包括科室和职称等级。将这些数据保存到数据库中。如图2所示,一条医疗咨询问题一般是一个网页,问题之后会有一条至多条答案并带有对应医生的资料链接,这些答案来至不同的医生。利用爬虫工具获取这些网页后,再用已有的网页解析工具解析这些网页以获取文本格式的{问题,答案,医生}三元组数据。

文本数据的结构化处理。从医疗健康咨询网站上获取的数据都是文本格式的,不便计算答案可信度和医生水平,所以要对这些数据进行结构化处理。目标数据结构是基于实体的,其形式为{问题,答案,医生}三元组的形式,其中“问题”的形式为{性别,年龄,科室,[几个关键词]},“答案”的形式为{几个关键词},“医生”的形式为{科室,职称等级}。如图3,这里使用一个非常大的医疗词汇库,首先对文本进行分词,然后遍历分词结果,存在于词库中的词将被选出作为关键词。由此得到的结构化数据将作为真值发现算法的输入。

相似问题合并。大多咨询问题收到的答案只有两三个甚至只有一个,这就是长尾现象,给答案的评估带来麻烦,答案太少评估也就没有太大意义了,甚至仅有的一两个答案本身可能不合理,那就无法选出合理的答案了。在患者提出的问题中,很多都是相似甚至完全相同的,把相似度高的咨询问题合并,只留下其中的一个问题,合并它们的答案集,就会明显扩大答案集。相似度的计算采用自然语言处理中的余弦相似度。如图4,假设有两个相似度极高的答案,问题q1收到了3个答案,问题q2收到了2个答案,单独地给这两个咨询问题计算答案可信度没有太大意义,因为有可能找不到比较可信的答案。有必要将这两个问题合并,那么问题的答案就变成了5个,从而扩大了答案集。

迭代计算答案可信度和医生水平。流程图如图5,其基本思想是,如果一名医生的水平比较高,就认为该医生所提供的答案比较可靠,如果一条答案比较可靠,就认为提供该答案的医生水平比较高。首先根据医生职称等级对医生在各个科室上的评分初始化,等级较高的医生获得的初始分数也较高。根据公式:

计算答案的可信度,xq表示问题q的一个可能答案,表示医生d对问题q提供的答案,是指示函数,xq和相同时为1,否则为0,表示医生d在科室t上的水平评分;表示问题q的两个不同答案之间的相似度,如图6所示,相似度越高两者之间相互提供的支持就越高,相互支持的答案可以提高彼此的可信度,如果一个答案与其他的答案差异比较大,那么这个答案得不到支持,可信度就比较低;adopted(xq)表示是否被患者采纳,若xq被采纳,那么它就应该具有更高的可信度。

以上对答案可信度的计算是在各个问题的答案集内分别计算的,公式(1)中,由于相似答案之间的相互支持机制,答案集的大小会影响到可信度数值的大小,这会对医生的水平评分计算产生影响。所以利用如下公式对同一问题中答案可信度进行归一化处理:

t(xq)=t(xq)/max

其中,max是问题q的答案集中可信度的最大值。

根据公式:

计算医生的水平评分,表示医生d在科室t上的答案集的模,如果比较小,那么式子中,伪计数cpseudo会有绝对的影响力使变小,医生的分数也随之变低,从而避免长尾现象带来的偶然性。当比较大时,cpseudo的影响就非常小甚至可以忽略。rank(d)是医生的职称等级,rankmax是等级机制中等级的最大值,就可以根据医生的职称等级给医生的评分打一个小幅度的加成分,既考虑到等级的加成又不让等级优势对医生评分有绝对的主导力。

通过以上计算就可以得到{问题,答案,可信度}形式的医疗知识,还可以得到医生的专业水平,这些医疗知识有很多用途,比如可用于智能诊断软件的知识。

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