一种老年健康领域知识问答系统构建方法与流程

文档序号:17130989发布日期:2019-03-16 01:13阅读:281来源:国知局
本发明涉及养老服务
技术领域
:,特别涉及一种老年健康领域知识问答系统构建方法。
背景技术
::人口老龄化是当今世界很多国家面临的人口问题,老年人的健康问题也愈发受到社会的关注。随着医疗健康研究工作和信息技术的发展,老年人的医疗健康的相关知识开始在网上慢慢积累起来,比如各大百科平台,关于医疗健康的网站等等。这些信息大多以结构化或非结构化的方式存储于传统关系型数据库中。这种存储方式往往不利于对数据进行挖掘,这就意味着数据的服务能力不足。因此,对老年人相关的医疗健康知识进行良好的存储和分析,以提供更好的服务是当今健康医疗领域重要的挑战。近几年来,知识谱图由于其相对于传统存储方式具有更好的知识推理的逻辑结构能力,变得愈发的火热。知识谱图通过结点和边的关系将海量的知识构建成一个巨大的知识网络,将散碎的知识联系起来,为用户提供知识检索,推荐等服务。自从google在2012年使用知识图谱技术在搜索领域带来提升之后,百度、搜狗、微软等巨头在知识图谱领域纷纷跟进,百度知心、搜狗知立方、微软人立方产品随即问市。但是这些知识图谱都是面向开放性领域的,目前很少有将知识图谱专门运用于老年人的医疗健康问答系统中,为老年人在医疗健康方面答疑解惑。同时传统的问答系统无法根据用户的历史行为提供一些建议,导致了在面对专业性问题时,所获取的内容往往不够准确,具有一定的局限性。技术实现要素:本发明的目的是为了解决上述技术的不足,提供一种回答专业且能提供建议的老年健康领域知识问答系统构建方法和自动算法。本发明的技术方案是:一种老年健康领域知识问答系统构建方法,包括以下步骤:(1)建立老年健康领域数据模型通过百科网站和医疗健康的网站提取用户对老年科的疾病所提的问题,根据老年科的疾病所提的问题建立老年健康领域数据模型;(2)老年健康领域知识的获取通过老年健康领域数据模型抽取老年健康领域结构化数据、半结构化数据和非机构化数据的实体与关系;(3)老年健康领域知识的融合将从老年健康领域数据模型不同源抽取到的老年健康领域的实体和关系进行融合,所述老年健康领域的实体和关系进行融合的主要原则为选择来源更可信的知识以及选择来源更多的知识;(4)老年健康领域知识的存储通过三元组的方式对步骤(3)选取的实体和关系进行存储以构建老年健康领域知识图谱;(5)自动问答系统算法根据用户数据输入问题的类别、用户历史问答信息和老年健康领域的知识图谱提供构建老年健康领域知识问答系统。所述老年健康领域数据模型抽取老年健康领域的半结构化数据实体和关系的方法为:首先,所述结构化数据通过d2r的映射将表名转化成对应的实体,其次,所述结构化数据通过d2r的映射将行数据的主键转化成资源的主键,最后,所述结构化数据通过d2r的映射将列数据及外键数据转化成对应的属性形成三元组数据。所述老年健康领域数据模型抽取老年健康领域的半结构化数据实体和关系的方法为:所述半结构化数据通过包装器从百科网站数据和老年健康相关网站的页面进行分析后爬取实体和关系。所述老年健康领域数据模型抽取老年健康领域的非结构化数据实体和关系的方法为:所述非结构化数据通过斯坦福自然语言处理nlp工具进行分词并使用实体链接技术将文本中候选实体链接到本地的知识库,当不存在斯坦福自然语言处理nlp工具进行分词的实体时,所述非结构化数据通过命名实体识别进行实体的抽取。所述结构化数据通过命名实体识别进行实体的抽取的方法为:通过基于统计学的方法将老年健康领域数据模型中识别实体间关系的问题转化为分类问题,以老年健康领域数据模型中实体之间关系作为标签,以老年健康领域数据模型中两个实体之间的关系作为训练样本,选取合适的特征,放入到分类模型中进行训练。所述非结构化数据的实体和关系抽取的主要步骤为:(1)文本数据预处理对老年健康领域数据模型数据库中的文章数据通过standfordnlp工具以每个句子为单位进行解析,所述解析结果存放到sentences表中为后续特征抽取做准备;(2)候选实体抽取以句为单位抽取老年健康领域数据模型数据库文本中的候选实体;(3)候选实体对生成筛选出在同句中的不同实体,生成候选实体对;(4)特征抽取抽取候选实体对的文本特征;(5)样本打标通过人工根据健康领域知识进行实体关系的部分标注;(6)利用标注好的数据训练分类模型,进行迭代训练;(7)利用训练好的模型,结合步骤(4)所形成的候选实体对的特征信息进行信息的抽取。所述老年健康领域的实体和关系进行融合的方法为:利用养老服务领域中的实体的余弦相似度进行比较,当其难以准确判别时,利用属性信息相似度的方法判定异构知识来源中的实体是否可以对齐。所述老年健康领域的实体能否对齐取决于实体属性的相似度值的大小。所述实体和实体的相似度计算公式为:sim(eai,ebi)=lcs(eai,ebi)/max(len(eai),len(ebi))其中,sim(eai,ebi)表示实体ea和eb在第i个属性上的相似性,max表示取最大值,lcs表示实体属性值的最长公共子序列的长度,len表示字符串的长度,t为实体eα和实体eb的共有属性集合的大小。所述自动问答系统的工作流程为:(1)用户问题预处理自动问答系统首先对用户所提出的疑问句,进行分词、去停止词等清洗处理;然后结合本地实体词典,识别问题中的关键实体。(2)问题的分类自动问答系统针对用户的搜索对问题划分为n分类,所述n≥1,所述n为正整数,采用one-hot的编码方式构造特征向量,并为每个常见问题打上标签,然后采用决策树、朴素贝叶斯、cnn等分类器进行文本分类,训练分类模型;(3)基于历史数据的答案自动检索通过老年健康领域知识图谱构建个搜索引擎。本发明的有益效果是:能够为检索用户提供医疗健康的知识和健康建议,回答专业。附图说明图1是本发明整体步骤流程图;图2是本发明老年健康领域数据模型示意图;图3是本发明老年健康领域的知识图谱样例图;图4是老年健康领域知识问答系统的计算流程图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明,以助于理解本发明的内容。由图1所示,一种老年健康领域知识问答系统构建方法主要从老年健康领域数据模型的建立、健康领域知识的获取、老年健康领域知识的融合、老年健康领域知识的存储、基于用户历史数据的问答五个方面进行构建。具体步骤为:(1)老年健康领域数据模型的建立我们基于老年科的相关疾病对的各大百科网站(baidubaike,wikipedia等)和关于医疗健康的网站上用户所提的问题进行爬取,通过分析发现,用户针对这一领域的疑问主要在于某疾病的基础知识,如病因,鉴别等问题,某疾病的用药问题,某疾病的饮食禁忌,擅长该疾病的医生以及相关医院等,针对这个发现,我们构建老年健康领域数据模型。如图2所示,根据疾病的症状、该疾病的适用药品、该疾病的适用食物、该疾病的治疗医院、该疾病的就诊科室、该就诊科室的医生构建数据模型。(2)老年健康领域知识的获取通过百科网站和医疗健康的网站获取的数据有三种:结构化数据、半结构化数据和非机构化数据。1)对于结构化数据将存储到关系数据库中的老年健康数据在数据模式的基础上进行d2r的映射,具体规则如下。tablename→classnamerowwithpk→resourcewithpktablerow→propertyforeignkeyreference→additionalproperty首先将表名转化成对应的实体,其次将行数据的主键转化成资源的主键,最后将列数据及外键数据转化成对应的属性形成三元组数据。2)半结构化数据通过对百科网站数据以及老年健康相关网站的页面进行分析,使用包装器爬取知识。3)非结构化数据对于实体识别,主要通过斯坦福自然语言处理nlp工具进行分词并使用实体链接技术将文本中可能的候选实体链接到本地的知识库上,如若不存在则通过命名实体识别进行实体的抽取。对于关系抽取,主要通过基于统计学的方法将从老年健康的相关文本信息中识别实体间关系的问题转化为分类问题。以老年健康领域的实体之间的关系作为标签,产生关系的两个实体作为训练样本,选取合适的特征,放入到分类模型中进行训练。由于基于监督学习的方法需要依赖于大量的标注好的数据,而无监督学习的方法往往难以描述老年健康实体之间的关系和低频实例召回率低的问题,因此采用半监督学习的方法对老年健康的实体的关系进行抽取。通过对百科中的关于老年健康的半结构化数据进行抽取,获得高质量的知识作为种子知识,然后通过少量高质量的实例学习种子模板,从网络上大量非结构化的与老年健康相关的文本信息中抽取新的实例,同时学习新的抽取模板,以此迭代学习。对非结构化数据的知识抽取的主要流程如下。input:纯文本数据和已知关系实体对的数据。output:新的结构化知识数据。步骤:step1.文本数据预处理。对数据库中的文章数据通过standfordnlp工具以每个句子为单位进行解析,存放到sentences表中,为后续特征抽取做准备。step2.候选实体抽取。以句子为单位抽取文本中的候选实体。step3.候选实体对生成。筛选出在同句中的不同实体,生成候选实体对。step4.特征抽取。抽取候选实体对的文本特征(文本数据的ner/pos/依存等序列),具体信息如表1所示:表1特征信息表step5.样本打标。通过人工根据健康领域知识进行实体关系的部分标注;step6.利用标注好的数据训练分类模型,进行迭代训练。step7.利用训练好的模型,结合step4所形成的候选实体对的特征信息进行信息的抽取。(3)老年健康领域知识的融合利用养老服务领域中的实体的余弦相似度进行比较,当其难以准确判别时,利用属性信息相似度的方法对实体进行进一步判定异构知识来源中的实体是否可以对齐,具体方法为:设实体ea的属性名集合为propertya={pa1,pa2,...,pam},对应属性值集合为valuea={va1,va2,...,vam};实体eb的属性名集合为propertyb={pb1,pb2,...,pbm},其对应属性值集合为valueb={vb1,vb2,...,vbm},那么实体eα和实体eb的共有属性满足pi∈propertya∩propertyb。则属性的相似度的计算公式为:sim(pi)=lcs(vax,vby)/max(len(vax),len(vbx))其中sim(pi)表示实体ea和实体eb在共有属性pi上的相似性;lcs(vax,vby)为实体属性值的最长公共子序列,max表示取最大值,lcs表示实体属性值的最长公共子序列的长度,len表示字符串的长度。根据上一部对实体ea和实体eb的每个共有属性求得属性的相似度的结果,可以得到实体ea和实体eb的相似度计算公式为:其中t为实体ea和实体eb的共有属性集合的大小,通过对实体属性的相似度判断,对所抽取的实体进行实体对齐。最后,由于不同的数据源可能会对同一个属性产生不同的属性值,所以在对实体进行对齐的时候,需要对属性值进行决策,本节采用的决策方法包括依据数据源的可靠性以及出现在多个数据源中的属性值。(4)老年健康领域知识的存储使用neo4j图数据库对获取的知识进行存储。相对于传统的基于rdf构建语义网,有着高扩展性和高效率的优势。知识图谱每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”,从而把所有不同种类的信息连接在一起而得到的一个关系网络,方便知识的推理和潜在知识的挖掘。如图3所示,患有“高血压”的老年人往往会有头胀、血压高、头痛、头晕、心悸等症状,通过节点之间的关系,可以推测高血压容易伴随的症状和疾病,有益食物是芹菜、山楂、水果、香蕉、牛奶等,有害食物是腌制品、油炸食品、酒、小麻椒、糖果等。(5)自动问答系统算法本发明根据步骤(1)-(4)所构建老年健康领域知识图谱,建立搜索引擎,通过搜索引擎浏览和分析数据,为老年人用户提供专业、准确且全面的医疗健康知识。具体流程如下:1)问题的分类。针对用户的搜索,通过对问题进行分类往往能提高搜索的准确率。我们通过对老年人的医疗健康领域问题的分析,将问题划分为12大类,如表2所示分别是问定义,问发病部位,问就诊科室,问用药,问饮食,问症状,问病因,问检查,问预防,问治疗,问鉴别,问并发症。我们为从网上爬取到的大量问题添加标签,并利用nltk中的文本分类库进行分类模型的训练,并将训练好的模型指导对知识图谱的搜索,问题类型表如下表表2所示:表2问题类型表本实施例n=12,针对以上12种常见问题进行文本分类,采用one-hot的编码方式构造特征向量,并为每个常见问题打上标签。然后采用决策树、朴素贝叶斯、cnn等分类器进行文本分类,训练分类模型,从而为后续的知识应用提高准确率。其中问题文本数据以采用jieba分词工具进行分词,训练数据样例表如下表表3所示:表3训练数据样例表将训练数据按照十折交叉验证法通过不同的分类器,实验得到结果如下:朴素贝叶斯算法的精度为0.675,决策树算的分类精度为0.705。由此,我们采用决策树算法对用户的问题进行分类。2)基于历史数据的答案自动检索。如图4所示,基于老年健康领域知识图谱构建了一个搜索引擎,当用户针对该领域进行搜索时,首先对用户输入到训练好的分类模型中进行分类,接着用jieba进行分词并进行语义填充,接着通过数据模型和知识库的指导进行命名实体识别和问题分类,通过对知识图谱中的知识进行提取,从而获得基于历史行为的答案检索结果并返回给用户。例如当用户输入“高血压有哪些症状时”,系统会通过分类模型判断出该问题属于症状类,再根据分词后的结果,根据实体识别和实体链接技术在本地词典中匹配实体,找到“高血压”实体,结合症状类的搜索模式对图进行搜索,将其可能的症状返回给用户。基于用户搜索历史数据的分析,我们在用户使用的同时,记录了用户的历史行为数据,用于根据不同的用户提供对其最有用的建议。例如,用户曾经搜索过“头晕可能是由什么疾病引起的”,则在数据库中会记录该用户的关键词“头晕”。当用户再次搜索“冠心病可能引发的并发症”时,由于该用户曾搜索过“头晕”,则对于该用户而言“冠心病”的并发症中“高血压”的概率就会比其他并发症如“心脏性猝死”等高。algorithm1用于根据用户的历史行为发现用户潜在的问题。首先对用户的当前输入进行问题的分类,再对输入进行分词,接着对输入的信息进行实体识别,并根据分类信息和实体信息在图搜索中找到和问题相关的答案。当答案出现多个时,将用户的所有历史搜索数据的实体映射到结点上,并针对每个节点进行层次遍历。根据搜索到的节点离中心点的远近程度(距离越远关系越小)以及中心节点对应的历史搜索时间(时间相隔越久关系越小)还有每个节点的出度和入度的不同(出度或入度越大,关系越小)增加不同的权重。筛选出候选答案中权重最高的节点作为答案返回。并将本次输入中的实体作为历史信息存入到该用户的历史行为数据中,用于下一次的使用。惟以上所述者,仅为本发明的具体实施例而已,当不能以此限定本发明实施的范围,故其等同组件的置换,或依本发明专利保护范围所作的等同变化与修改,皆应仍属本发明权利要求书涵盖之范畴。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1