基于用户反馈信息进行知识图谱目标节点预测的方法与流程

文档序号:20701559发布日期:2020-05-12 15:46阅读:812来源:国知局
本发明涉及知识图谱节点预测问题,具体地说挖掘目标事件中的特征信息构建实体,以及实体之间的关系,利用这些信息对目标进行预测即一种基于用户反馈信息进行知识图谱目标节点预测的方法。
背景技术
::人工智能的定义非常广泛,随着时间的推演和技术的进步,人工智能技术也将不断进化,凭借现有的技术和大数据储备量,该技术在安防、医疗、交通等多个领域取得了令人瞩目的效果。可将这些领域中的主要问题转化为一个目标检测问题,例如:安防问题中突发事件可作为一个检测目标,医疗问题中确诊疾病可作为一个检测目标,交通问题中交通阻塞可作为一个目标。针对这类问题,现阶段技术主要有以下几种:1)基于规则这类技术在疾病诊断的专家系统中得到广泛使用,主要采用数据挖掘的方法从病例数据中抽取规则,并基于这些规则建立了医疗诊断系统。刘文宝等人就以住院烧伤患者检测结果为基本资料,结合烧伤病理特征,利用决策树算法和诊断指标建立判别规则,对检查(检验)指标进行筛选,选出对快速诊断影响最关键的指标,同时发现隐藏在医疗数据中的有用规则。其中一个难以回避的问题是在含有缺失值的医疗数据上的规则集生成问题。目前,cios等进行了对探索性研究,提出了一种生成含有不等式关系规则的挖掘方法,当属性含有许多值且大部分值与相同类别关联时,算法就可以有效地生成规则集合。不等式规则为知识挖掘过程提供了有效的补充,使获取的知识可以更好的描述含有缺失值的数据集。2)基于知识图谱知识图谱在数据实体关系的表示上发挥着重大作用,广义知识图谱dbpedia、wikipedia,领域性知识图谱如金融,中医药等都纷纷出现。知识图谱的使用主要由两个部分组成,建图和推断。建图任务即为根据已有的结构化或非结构化数据生成含有概率或语义信息的知识图谱。rotmensch等人使用朴素贝叶斯以及线性回归方法为从医疗文档中自动抽取出的概念进行建图。谷歌的医疗知识图谱则使用人工与自动化流程相结合的方法进行建图。在推断任务中,一般会为图中的每一个节点赋予概率或者信念,通过概率以及节点与节点之间的语义信息来进行推断。例如在desarkar以及goodwin等人的工作中,医疗推断过程被转化为在知识图谱上的信念传播过程从而得到最终的答案。在jiang等人的工作中,医疗相关的概念首先通过自然语言处理方法从文档中提取出,网络由一阶谓词以及诊断关系构成,在网络上的推断则基于马尔可夫网络理论,使用玻尔兹曼机作为势函数为诊断过程打分,根据路径上概率的高低得到最终的结果。在aasman的工作中,知识图谱被以更加结构化以及更细致的方式(如fdl,hl7等等)组织起来,随后使用检索的方法直接从知识图谱中得到想要的答案。3)基于深度学习随着数据挖掘技术的不断发展,与数据紧密相关的深度学习模型自动抽取特征的能力不俗的效果使其受到了极大的关注。其中循环神经网络和注意力机制已经成功应用于各种序列建模任务,如语言建模、机器翻译、语音识别等。受rnn解码器用于模拟多标签学习问题中的标签依赖性,以及注意力机制引导网络关注输入的一个特定部分的启发,yutaozhang等人把治疗推荐(treatmentrecommendation)问题定义为一个多实例多标签问题,首次充分利用rnn来解决多实例多标签学习问题。尽管深度学习模型效果显著,但由于模型是通过大数据来自动抽取特征,其过程不具有可解释性,在实际应用中,仅仅能看到模型最终的判断结果。尤其在医疗疾病诊断领域,这个缺点使得用户望而却步。技术实现要素:本发明的目的是针对现有技术的不足而提供的一种基于用户反馈信息进行知识图谱目标节点预测的方法,方法中首先根据数据构建知识图谱,定义目标节点与观测节点,并且统计图谱中各个实体之间的概率信息;再根据用户反馈的信息在图谱中进行关系检索结合概率计算进行目标概率计算;然后,根据概率计算的结果判断当前是否已检测出目标,若有,输出检测到的目标,若无,则输出当前需要确认的观测节点与用户进行交互。实现本发明目的的具体技术方案是:1)定义知识图谱的节点,边,统计各个节点的发生次数和两两节点共同发生的数量,定义观测节点为直接可观察获取的属性节点,目标节点为需要进行推理预测的节点,例如,在疾病知识图谱中,症状节点为观测节点,疾病节点为目标节点;2)基于用户反馈信息,在图谱中标记对应的观测节点,设计bn-local算法计算目标节点的出现概率并更新到图谱中;3)设计vn_dqn强化学习模型,使用观测节点集合作为动作集,并添加结束动作到动作集合中;使用模型计算动作集中各个动作的回报值,若回报值最高的动作为观测节点,则向用户询问,回到步骤2);若回报值最高的动作为结束动作,则输出概率最高的目标节点,完成预测。所述设计bn-local算法计算目标节点的出现概率,具体包括:1)根据用户输入信息从图谱中选取包含目标节点的子图;2)确定子图网络结构,计算子图中各个节点的条件概率分布表;3)对子图中的节点进行贝叶斯概率推理。与现有技术相比,本发明有以下优点:1、灵活性:本发明采用与用户交互的方法,对用户反馈的信息进行实时的获取,能够及时地更新当前状态;2、正确性:本发明使用知识图谱与贝叶斯网络相结合的方法,考虑了实体数据之间的关系,并且使用概率信息进行精确推理;3、可解释性:本发明能够清楚的表示各个目标的发生概率以及在每一步骤中的变化,整个检测过程都清晰明了。附图说明图1为本发明流程图;图2为本发明实施例第二层节点示意图;图3为本发明实施例a结构示意图;图4为本发明实施例b结构示意图。具体实施方式以下结合附图及实施例对本发明进行详细描述。实施例参阅图1,本实施例具体包括以下步骤:为了更好的表示数据之间的关系,首先构建了知识图谱(knowledgegraph,kg),在图谱中,将样本的标签定义为目标节点,将样本中出现的特征数据定义为观测节点,若观测节点出现在目标节点所在的样本中,则认为该观测节点与目标节点存在关系,建立关系边(edge)。计算每条关系边上的相关节点的条件概率p目标节点观测节点和条件概率p观测节点目标节点:根据用户的输入信息,在图谱中查找相关的观测节点构建已知节点集合(knownnodeset,kn-set),使用算法bn-local计算目标节点的发生概率。算法1bn-local,利用已知节点计算目标节点的发生概率输入:知识图谱kg,已知节点集合kn-set,子图大小阈值k输出:各个目标节点的发生概率算法描述:1:从图谱中选取与kn-set中的节点有连边的所有其他节点构建子图节点集合(subgraphnodesset,sn-set),若sn-set中节点的数量大于阈值k,则进入2;否则进入3;2:使用kn-set中节点和sn-set中节点之间发生的条件概率,计算sn-set中各个节点的权重weight(sn):选出weight最大的前k个sn保留在sn-set中,其余删除;3:使用sn-set和kn-set中的节点构建贝叶斯网络,首先根据节点发生的因果关系确定网络结构,例如,在疾病图谱中,细菌导致疾病发生,患病导致相关症状出现,细菌相关的节点在第一层,疾病节点在第二层,症状节点在第三层,第一层节点指向第二层,第二层指向第三层,以此类推;然后统计计算各个节点的条件概率表(conditionalpercentagetables,cpts),根据节点所在层不同的计算过程如下:1)对于第一层节点n,条件概率表为p(n)=count(n)/count(all);其中,count(n)为节点在所有样本中出现的次数,count(all)为样本总数。2)对于第二层节点n,以两个上层节点(a和b)为例,如图2所示,条件概率表为cpt(n)=[p(n|ab),p(n|ab)=p(n|a)+p(n|b)-p(n|a)*p(n|b);其中,p(n|a)、p(n|b)、p(a|n)、p(b|n)为图谱构建关系边时统计的条件概率数据。3)对于第三层及以上的节点,采用近似推理的方式,以两个上层节点(a和b)为例,条件概率表为cpt(n)=[p(|ab),主要分为a和b两种结构进行计算:a结构:上层节点间无共同的上层节点(c和d),如图3所示。在计算节点n的条件概率表时,上层节点a与b相互独立,不需要考虑节点c和节点d的情况,即节点n的条件概率表计算方法与第二层节点计算方式相同。b结构:上层节点间无共同的上层节点(c),如图4所示。则近似计算如下,p(n|ab)=max(p(n|a),p(n|b));最后根据各个节点的条件概率表进行贝叶斯推理预测得到sn-set中各个节点的概率:[p1,p2,...,pk]=bayes(cpts)其中bayes(·)为贝叶斯概率计算函数;5:将sn-set中各个节点的概率[p1,p2,...,pk]更新到原图谱中,并输出图谱中各个目标节点的概率[p1,p2,...,pn]。观测节点推荐过程是一种决策过程,目的是优化决策路径,尽快找到符合要求的目标节点,对此,使用强化学习框架进行处理。该框架主要由5个部分组成:状态集s、动作集a、状态转移矩阵pmatrix、回报函数r和折扣因子γ。设置状态集s、动作集a和折扣因子γ如下:s:目标节点的概率值[p1,p2,...,pn];a:使用所有的观测节点[vn1,vn2,...vnt]和结束标记[end]构建动作集,a=[vn1,vn2,...vnt,end]γ:0.5回报函数r的设置如下:r(st,aj)=argmax(|st+1-st|)计算各个目标节点概率变化值,选取其中最大变化值作为当前状态和动作的回报值。st+1表示在当前状态st上采取动作aj后得到的新状态即下一个状态。由于状态集s由概率数据组成,是连续性数据,故总的状态数不是可数的,转移概率矩阵无法得到。因此,设计了vn_dqn模型进行计算。在模型vn_dqn的训练之前,首先根据数据生成模型训练需要的经验回放数(experiencereplay,er),经验回放数据主要记录给定当前状态和动作到下一状态的回报,数据形式如下:[st,aj,r(s/,aj),st+1]其中,st,aj为给定的当前状态和动作,r(st,aj)根据回报函数计算得到,st+1从样本数据中获取。在模型vn_dqn中,分别对st,aj,st+1连续使用两个非线性得到新的特征,再根据该特征进行回报值预测,具体过程如下:其中,(w1,b1)、(w2,b2)、(w3,b3)为模型中三组参数,relu(·)为非线性转化。模型训练的目标函数设置如下:其中,θ表示模型中所有的参数,r表示er数据中的真实回报值,rpredict表示模型预测的回报值。预测模型训练完成后,就可以根据当前状态计算各个动作的回报值。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1