首页 > 分享 > 一种基于宠物知识图谱的智能问答方法及系统与流程

一种基于宠物知识图谱的智能问答方法及系统与流程

开始加载图片...
本发明涉及智能问答系统
技术领域:
,特别是一种基于宠物知识图谱的智能问答方法及系统。
背景技术:
:随着人们生活水平的提升、工作压力的不断增长、城市人际关系趋于淡化等诸多原因,越来越多的家庭开始养宠物。“吸狗”、“撸猫”在最近两年成为一种风潮,宠物经济在持续的增长。据《2018年中国宠物行业白皮书》的分析,2018年我国宠物数量已经超过1.68亿只,其中种类主要以猫和狗为主。在宠物领域中,宠物医疗是一个市场潜力巨大的细分领域。但是目前国内的宠物医生数量非常少,远远跟不上宠物数量的增长。以阿闻宠物为代表的平台开始为养宠用户提供在线问诊服务,由于宠物医生数量非常有限,线上问诊代表着线下的医疗资源更加紧张,用户更多的是咨询饲养宠物的一些注意事项和宠物的百科知识,并且由于医生不是时刻在线,所以造成了用户不能及时的得到想要咨询的问题的答案。为了缓解医疗资源的紧张,帮助用户即时的获取想要咨询的宠物百科、养宠注意事项以及宠物的一些小病问题的答案,构建基于知识图谱的智能问答系统就有了研究意义和应用价值。目前国内外很多互联网公司都构建自己的知识图谱,在基于知识图谱的基础上推出搜索、问答等来改善服务质量。很多垂直领域也开始有了基于知识图谱的智能问答系统。但是在宠物垂直领域还没有出现成熟的基于宠物知识图谱的智能问答系统。技术实现要素:本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。鉴于上述和/或现有的基于宠物知识图谱的智能问答系统中存在的问题,提出了本发明。因此,本发明其中的一个目的是提供一种基于宠物知识图谱的智能问答方法,其构建了一种基于宠物知识图谱的智能问答系统的基本框架。同时,在所述基于宠物知识图谱的智能问答方法的基础上能够形成具有问答功能的智能问答系统。为解决上述技术问题,本发明提供如下技术方案:一种基于宠物知识图谱的智能问答方法,其包括如下步骤,s1:命名实体词典的构建;s2:实体识别与实体链接,将文本中的实体链接到知识图谱中的实体;s3:问题的抽象,将进行实体链接的实体用对应的词性来表示;s4:对问题进行分类,得到分类结果;s5:根据所述分类结果匹配对应的语序图;s6:答案的生成。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s1中,所述命名实体词典包括宠物品种的属性、疾病的属性和食物的属性。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s2中,通过命名实体字典识别实体,将识别出来的命名实体与命名实体字典里面的候选实体进行莱文斯坦相似度计算,并通过word2vec结合levenshteindistance的方法计算语义相似度来实现实体的链接。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:根据莱文斯坦相似度计算的结果,定义阈值为0.4和0.5;当有实体莱文斯坦相似度大于0.5时,以相似度最大值作为链接的目标实体;当命名实体与所有的候选实体计算的莱文斯坦相似度的值都小于0.4时,开始计算命名实体的word2vec,并选出与命名实体word2vec相似度阈值大于0.4的top-5个值,然后将相似度最大的5个实体与命名实体字典依次计算莱文斯坦相似度,如果有阈值大于0.5的实体就输出,如果都没有,则这个实体就不需要链接;当命名实体与候选实体计算的莱文斯坦相似度最大是大于等于0.4且小于等于0.5时,保存这些实体,计算命名实体的word2vec值,选出与命名实体word2vec相似度阈值大于0.4的top-5个值,然后将这top-5个实体与命名实体字典依次计算莱文斯坦相似度,如果有相似度为1的值就输出,否则将这个top-5个实体依次与之前保存的实体计算莱文斯坦相似度,如果有相似度大于0.5的实体,就将命名实体与这个实体进行链接,否则不进行实体链接。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s4中,构建基于朴素贝叶斯的文本分类器,并采用了基于多项式的朴素贝叶斯文本分类器进行文本的分类,获得分类结果。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s4具体包括,s41:构建语料库,形成数据集,并对文本进行了预处理,通过python开源分词工具jieba进行分词,再通过停用词表进行过滤;s42:选择文本抽象化和预处理之后的所有词语作为特征,并采取改进的tf-idf算法来计算特征权重。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:在宠物文本语料中,设定类别集合c={c1,c2,...cj},j为文本分类类别数目,特征词条的集合x={x1,x2,...xt},t为特征词条的数目;所述改进的tf-idf算法方法为:假设特征词xt在整个文本集平均分布,然后求得特征词xt在文本集中的平均分布值pt,再求特征词xt在类cj中的分布值ptj,最后计算ptj和pt之间的比值,得到类cj中特征词xt在类中的分布情况。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s5中,通过所述文本分类器的结果,得到用户自然语言问题对应的类别的标签,从而确定自然语言问句的意图,再将确定的意图标签映射对应的问题模板,匹配模板中的语序图。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:语序图是主语指向宾语并通过谓语作为连接的一个有向图,主语和宾语是实体,谓语是实体之间的关系包括属性关系。作为本发明所述基于宠物知识图谱的智能问答方法的一种优选方案,其中:所述步骤s6中,将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库orientdb中查询答案,并反馈问题的答案。本发明的另一个目的是提供一种基于宠物知识图谱的智能问答系统,其在宠物领域问答应用中具有较高的应用价值。为解决上述技术问题,本发明提供如下技术方案:一种基于宠物知识图谱的智能问答系统,其包括数据收集模块、知识图谱构建模块、智能问答模块和答案展示模块;所述数据收集模块利用爬虫技术收集公共数据源的数据以及对自有数据采集业务进行数据收集;所述知识图谱构建模块对数据收集模块收集到的数据进行处理,将处理得到的知识以及语义关系用来构建知识图谱,进行知识图谱的构建包括schema层构建、知识抽取、知识融合以及知识存储;所述智能问答模块基于所述知识图谱构建模块,并通过对用户问题进行解析、用户问题的识别分类,然后将从知识图谱构建模块中获取到的问题的答案返回给用户;所述答案展示模块用于展示了与用户进行交互的页面,页面上展示用户输入的问题,同时页面能够展示所述智能问答模块回答用户问题的答案。本发明的有益效果:本发明设计并且实现了基于宠物知识图谱的智能问答系统,填补了国内宠物领域基于知识图谱的智能问答的缺失,具有重要意义。同时本文提出的基于知识图谱的智能问答系统构建方法对垂直领域的基于知识图谱的智能问答系统具有一定的借鉴意义。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1为本发明第一个实施例所述的。图2为本发明第一个实施例所述的。图3为基于宠物领域知识图谱的自动问答系统流程图。图4为一种word2vec结合levenshteindistance的方法流程图。图5为宠物领域文本多分类的框架图。图6为语序图实例的示意图。图7为“金毛的价格”的问答界面图。图8为“怎么预防子宫蓄脓”的问答界面图。图9为“拉布拉多能吃葡萄吗”的问答界面图。图10为智能问答系统的系统实现框架图。图11为宠物知识图谱部分展示图。图12为宠物智能问答系统前端展示图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。参照图1~9,为本发明第一个实施例,该实施例提供了一种基于宠物知识图谱的智能问答方法,该方法是在已经完成宠物知识图谱构建的基础上实现了智能问答系统。文本的主要工作包括:1、命名实体词典构建。通过构建关于宠物品种、疾病名称、症状和食物的命名实体词典,将用户提出的问题进行抽象,方便后面用朴素贝叶斯文本分类器进行分类。2、实体链接。在将用户提出的问题进行抽象的过程中,提出一种word2vec结合levenshteindistance(莱文斯坦距离)的方法计算语义相似度来实现实体的链接。3、问题的分类。构建了基于朴素贝叶斯的文本分类器,对文本进行训练,在这其中提出一种基于改进的tf-idf权重计算方法的朴素贝叶斯分类算法,该方法考虑了特征词在每个类别文本集合中的分布情况以及每个类别在整个训练样本中的分布情况。4、匹配对应的语序图。通过文本分类器的结果,获得了问题对应的类别的标签,从而确定了自然语言问句的意图,然后将确定的意图标签映射对应的问题模板,匹配模板中的语序图。5、答案的生成。将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库orientdb中查询答案,然后将问题的答案返回给用户。谷歌2012年提出知识图谱(knowledgegraph)的概念,在此基础上构建智能搜索问答系统,用来建立新一代信息搜索引擎,优化用户的搜索体验。目前已经有很多著名的通用知识图谱,如国外的freebase、dbpedia、yago等,国内的如百度“知心、zhishi.me以及搜狗的“知立方等,知识图谱为自然语言理解、推理、问答等提供强有力的支持。苹果的siri运用了知识图谱相关技术以及ibm的watson系统是基于知识图谱的问答系统。阿里小蜜是阿里推出的客服聊天机器人,采用了结合知识图谱的技术,为用户提供个性化服务,服务满意度相比传统的自助问答提升了一倍。基于知识图谱的智能问答系统一般有两大问题,用户问句的理解和知识图谱的构建,本文前期已经将宠物知识图谱构建完成。通常的问答流程是对用户的问句进行语义理解,然后将问句映射到结构化的查询语句,如sparql、类sql等语句到构建的知识图谱中查询实体与关系。本文对用户语句的语义理解首先进行实体识别和链接,然后用朴素贝叶斯算法进行分类,获取用户问句的意图,目前有很多方法可以进行实体链接比如关键词匹配,相似度计算,以及基于神经网络的方法word2vec等。因为宠物领域语料库稀缺,自制的宠物领域训练集和测试集样本数量较少,所以本文选择朴素贝叶斯作为宠物文本的多分类方法。朴素贝叶斯(nb)是在贝叶斯算法的基础上,作了条件独立性假设的算法。假设c(c1,c2,c3,c4,...cn)是文本类别集合,文本特征项x(x1,x2,x3,x4,...xn),p(cj|x)表示文本x属于类别cj的概率,通过计算x属于各个类别的概率p(cj|x),所得到的最大值对应的类别就是文档x属于的类别cj,朴素贝叶斯文本分类公式如下:其中p(x)是常数,加上假设文本特征项x(x1,x2,x3,x4,...xn)相互独立的情况下,公式(1)转化为公式(2),只需要分别计算出p(cj)和p(xt|cj)即可。p(cj)表示文本x属于类别cj的概率,p(xt|cj)表示特征项在类cj中出现的概率。莱文斯坦距离也叫编辑距离,由俄罗斯科学家vladimirlevenshtein提出,是指源字符串转换成目标字符串所需要的最少编辑操作次数,也成最小距离,编辑操作包括替换、插入和删除一个字符,编辑距离越小,俩个字符串的相似度越大。编辑距离主要用动态规划的算法来解决,本发明定义字符串a和b之间的莱文斯坦距离为leva,b(i,j),公式(5)中leva,b(i,j-1)+1表示替换操作,leva,b(i-1,j)+1表示插入操作,leva,b(i-1,j-1)+cost表示删除操作。在得到编辑距离之后,需要进行两个字符串的相似度计算,2个字符串相似度计算公式如下:公式(6)中,ld表示两个字符串之间的莱文斯坦距离,m和n分别表示为两个字符串的长度,similarity值越大,表示两个字符串相似度越高。word2vec模型主要有两种模型cbow(continuousbag-of-word)和skip-gram两种模型。cbow模型如图1是根据上下文相关的词向量预测当前词语,训练输入是上下文词向量,输出是当前词的词向量,skip-gram与cbow相反如图2,根据当前词来预测上下文,输入是当前词的词向量,输出是这个词对应的上下文的词向量。两个模型都是包含三层:输入层、投影层、输出层。由于本发明语料较少,因此采取了cbow模型。为了提高训练速度,有俩种优化方法:层次softmax和负采样的加速方法,本发明采用了负采样的加速方法。基于上述,本发明所述基于宠物领域知识图谱的智能问答方法总共包含六个步骤,如图3所示。s1:命名实体词典的构建。通过构建关于宠物品种、疾病名称、症状和食物的命名实体词典,将用户提出的问题进行抽象,方便后面用朴素贝叶斯文本分类器进行分类。s2:实体识别与实体链接。在将用户提出的问题进行抽象的过程中,提出一种word2vec结合levenshteindistance的方法计算语义相似度来实现实体的链接。(通过命名实体字典识别实体,通过levenshteindistance和word2vec结合实现实体链接)。s3:自然语言抽象(问题的抽象)。将用户的自然语言问句进行抽象,方便分类器的分类。s4:问题分类。构建了基于朴素贝叶斯的文本分类器,对文本进行训练,在这其中提出一种基于改进的tf-idf权重计算方法的朴素贝叶斯分类算法,该方法考虑了特征词在每个类别文本集合中的分布情况以及每个类别在整个训练样本中的分布情况,并通过改进tf-idf权重计算方法的朴素贝叶斯分类算法进行文本的分类。s5:匹配语序图。通过文本分类器的分类结果,获得了问题对应的类别的标签,从而确定了自然语言问句的意图,然后将确定的意图标签映射对应的问题模板,匹配模板中的语序图。s6:答案生成。将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库orientdb中查询答案,得到的结果即为用户需要的答案,然后将问题的答案返回给用户。具体的,各个步骤的具体内容如下所示:s1:命名实体词典构建基于宠物知识图谱的智能问答主要回答宠物品种的属性问题包括别名、价格、智商等;宠物疾病的属性问题包括科属、症状、防治等,以及宠物食物的属性问题是否可以吃,本文根据宠物知识图谱里面存储的实体,构建了关于宠物品种、疾病名称和宠物食物的命名实体词典,并且在词典里面自定义了词的词性,如表1所示。表1自定义词性s2:实体识别与实体链接目前有很多开源的命名实体识别工具,主流算法是采用crf进行命名实体识别,但是传统的实体识别工具因为其局限性无法对专有领域实体进行有效的识别,只能对地名、人名和机构名等进行识别。因此本发明采取了构建停用词词典的方法。用户输入自然语言,通过jieba中文分词工具先进行分词,然后建立针对实体识别的停用词词典。本发明的停用词词典除了包括标点符号之外还包括了宠物品种和宠物疾病的属性词(例如别名、价格、症状等以及常用的是、多少、什么、的等等),这么做的目的是为了减少识别出来的实体计算相似度的计算量。例如问题是:金毛的价格是多少?我们分词之后得到“金毛的价格是多少?”,通过停用词的过滤之后问句只剩下“金毛”我们需要进行实体链接。当用户提问“金毛的市场价格是多少”的时候,分词过滤之后,我们需要进行实体链接的实体是“金毛”和“市场”,因为本发明主要是对宠物品种、宠物疾病和宠物食品进行实体链接,所以本发明会在相似度计算的时候过滤掉“市场”,用“金毛”链接的实体去知识图谱中查询问题的答案。实体链接将文本中的实体链接到知识图谱中的实体,在文本中就是将用户问句中识别出来的实体链接到命名实体字典中的实体,实体链接的核心是计算命名实体和候选实体的语义相似度,选择语义相似度最大的候选实体作为要链接的目标实体。针对宠物领域实体的特点,本发明提出一种word2vec结合levenshteindistance的方法计算语义相似度来实现实体的链接,其主要流程如图4所示。本发明需要通过命名实体字典识别实体,将识别出来的命名实体与候选实体进行莱文斯坦相似度计算。具体的,文本选取计算莱文斯坦距离优先选项,将识别出来的命名实体与命名实体字典里面的候选实体进行莱文斯坦相似度计算。本发明将阈值定义为0.4和0.5,基于此:1、当有实体莱文斯坦相似度大于0.5时,选取相似度最大值作为链接的目标实体,例如将金毛与字典里面的候选实体进行计算时,共出现冠毛犬、卷毛犬、丝毛梗、毛囊炎、猫毛虱和毛囊炎6个相似度为0.4的实体和金毛寻回犬这一个相似度为0.5714的实体,所以金毛寻回犬就是金毛要链接的目标实体。2、当命名实体与所有的候选实体计算的莱文斯坦相似度的值都小于0.4时,开始计算命名实体的word2vec,并选出与命名实体word2vec相似度阈值大于0.4的top-5个值,然后将相似度最大的5个实体与命名实体字典依次计算莱文斯坦相似度,如果有阈值大于0.5的实体就输出,都没有的话这个实体就不需要链接。例如市场这个实体,命名实体词典中都是莱文斯坦相似度小于0.4的实体,所以需要计算市场的word2vec,并且选出与市场词向量相似度阈值大于0.4的top-5个词向量相对应的宠物市场、销售、市面上、网络和进口这五个实体,然后在按照相似度大小从大到小依次计算这5个实体与命名词典实体莱文斯坦相似度,选出第一个大于0.5的实体,根据计算,词典中没有实体与这5个实体相似度大于0.5,所以市场这个词就不进行实体链接,不是我们需要用来查询知识图谱用到的实体。3、当命名实体与候选实体计算的莱文斯坦相似度最大是大于等于0.4且小于等于0.5时,保存这些实体,计算命名实体的word2vec值,选出与命名实体word2vec相似度阈值大于0.4的top-5个值,然后将这top-5个实体与命名实体字典依次计算莱文斯坦相似度,如果有相似度为1的值就输出,否则将这个top-5个实体依次与之前保存的实体计算莱文斯坦相似度,如果有相似度大于0.5的实体,就将命名实体与这个实体进行链接,否则不进行实体链接。例如猫瘟这个实体,首先进行莱文斯坦相似度计算,结果得出土猫、犬瘟热、猫毛虱等实体,其中相似度最高的土猫是0.5,犬瘟热、猫毛虱等都是0.4,于是我们计算猫瘟的word2vec值,找到与猫瘟相似度最高且阈值大于0.4的top-5个实体,我们找到了前五个实体分别是狗瘟、传染病、病毒、鼠疫和泛白细胞减少症,然后将这5个实体分别与候选实体计算莱文斯坦相似度,得到第五个实体与候选实体中的泛白细胞减少症相似度为1,于是泛白细胞减少症就是猫瘟的目标链接实体,结果也是正确的,泛白细胞减少症就是猫瘟的学名,狗瘟也是一样的,狗瘟经过word2vec结合levenshteindistance的方法计算之后,会链接到犬瘟热这个实体。s3:问题的抽象问题的抽象就是将之前进行实体链接的实体用它对应的词性来表示,主要是为了后面问题分类做的预处理工作。将用户问题中涉及到的宠物品种、宠物疾病名称和宠物食物统一用他们的词性来代替。以下面的例子为例:用户源问题:金毛得了狗瘟有什么症状?抽象问题:nm得了nd有什么症状?在上面的例子中,用户自然语言问句中涉及到的宠物专有名词如金毛经过实体相似度计算之后会转化为金毛寻回犬的词性nm代替,狗瘟会转化为犬瘟热的词性nf代替。这样做的优点是可以减少朴素贝叶斯分类器特征的选取工作量,同时因为宠物领域没有专门的数据集,也可以减轻自己构建数据集的工作量,让需要的训练集的规模减少。具体的转换如表2:表2规则转换表转换规则用户问题抽象问题宠物品种名称--nm金毛的价格nm的价格宠物疾病名--nd金毛得了狗瘟有什么症状nm得了nd有什么症状宠物食--nf金毛能吃葡萄吗nm能吃nf吗s4:问题分类——基于多项朴素贝叶斯的文本分类本发明需要对宠物文本数据集进行多分类。目前有很多机器学习和深度学习的算法可以进行文本的多分类,多项朴素贝叶斯有着稳定的分类效率、对小规模数据和多分类表现很好。由于宠物领域语料库很少,本发明自己构建的语料库规模也很小,所以本发明采用了基于多项式的朴素贝叶斯文本分类器。宠物领域文本多分类的框架图如图5显示。s41:数据集与文本预处理经过查阅文献和网上资料,目前国内没有公开的宠物领域用于文本分类的中文语料库,因此本发明自己构建了语料库。基于宠物知识图谱的知识,按照宠物品种、宠物疾病以及宠物食品构建了3大类,以及按照3大类的属性构建了共计24个小类的类别,训练集人工标注了1085条用来训练分类器模型。构建完数据集之后,对文本进行了预处理,通过python开源分词工具jieba进行分词,之后通过停用词表过滤掉标点符号和一些停用词。s42:特征选择与文本向量化特征选择是指从最初的特征集合n中选择最具代表性x个(x<n)个特征子集,能够更有效的表示文本内容。在文本多分类领域,常用的特征选择方法有:文档频率(documentfrequency,df),和信息增益(informationgain,ig)、互信息(mutualinformation,mi),期望交叉熵(expectedcrossentropy,ece)、χ2统计量(chi-square,chi)、几率比(oddsratio,or)等。因为本发明的文本数据集是一个个问句,是短文本,比如金毛的价格是多少,拉布拉多的价格是多少,经过文本抽象之后,文本变成了nm的价格是多少,金毛和拉布拉多都用词性nm代替,减少了特征的数量,再经过文本预处理之后,已经减少了原始空间特征的维数,实现了特征的降维,所以本发明选择了文本抽象化和预处理之后的所有词语作为特征。常见的文本向量化(也叫特征权重计算)有布尔权重、频度权值、tf-idf权重等,本发明采取了一种改进的tf-idf算法来计算特征权重。s43:传统的tf-idf特征权重计算算法tf-idf是应用地是很广泛的一种特征权重计算方法。tf是指词频(termfrequency),表示词在文档中出现的频率,idf(inversedocumentfrequenence)是指逆文档频率,表示词在整个文档集中的重要性,包含词的文档数越多,表示词对文本来说越不重要。n(xt,d)表示特征词条xt在文档d中出现的频次,s表示文档d的总词条数。n(xt)表示含有词条xt的文档数,n表示总的文档数。在idf的公式中n(xt,cj)表示特征词条xt在类别cj中的文本数量,表示非cj类别中包含特征词条xt的文本个数,当n(xt,cj)数量增多时,n(xt)值会变大,但是idf值却会变小,最终tf-idf权重值也会变小,这将影响特征词条将cj类文本与其他类别的文本进行很好的区分。这是因为传统的tf-idf没有考虑特征词在每个类别文本集合中的分布情况。按照正常的文本分类,如果某一个特征词条在某个类别中出现的次数越多,包含这个词条的文本越多,这个词条就越可以代表这类文本,这样的特征词条的权重也就越大,也就越能区别其他的类别。传统的tf-idf除了没有考虑特征词在整个文本集合和类别文本中的分布情况还没有考虑每个类别在整个训练样本中的分布情况,因为在本发明实际的文本分类中,构建的每个类别的训练样本数量是不一样的,有的类别样本多,有的则比较少,所以计算tf-idf的时候还应该考虑每个类别的数量在整个训练样本中的分布情况。s44:一种改进tf-idf特征权重计算算法在宠物文本语料中,类别集合c={c1,c2,...cj},j为文本分类类别数目,特征词条的集合x={x1,x2,...xt},t为特征词条的数目。本发明提出的tf-idf改进算法方法是:假设特征词xt在整个文本集平均分布,然后求得特征词xt在文本集中的平均分布值pt,再求特征词xt在类cj中的分布值ptj,最后计算ptj和pt之间的比值,得到类cj中特征词xt在类中的分布情况,比值越大说明xt在类cj中分布的越广,类cj中含有xt的文本也就越多。一、定义idf';idf'反映了特征词在文本集合中的分布情况,idf'的公式入下(9)所示:二、定义γ;γ是类别分布因子,反映了每个类别在整个训练样本中的分布情况,通过计算总文档数与类别cj中所有的文档数量的比值得到,γ公式入下(10)所示:三、定义三w;特征词权重w是tf,idf'与类别分布因子γ的乘积,是改进的tf-idf值w=tf*idf'*γ(11)上述公式中,n(xt,cj)表示特征词条xt在类别cj中的文本数量;表示非cj类别中包含特征词条xt的文本个数;表示cj类别中不包含特征词xt的数目;n是整个语料库的文本总数;nj表示类别cj中所有的文本数量。改进后的idf考虑了特征词在整个文本集合和类别文本中的分布情况,因为在idf'的公式(9)中,n(cj)是个常数,n也是常数,所以公式(9)可以简化n(xt,cj)与成正相关,当n(xt,cj)值增大时,值也增加,特征词权重也就越大。越小时,也就是非cj类别中包含xt的文本越多,特征词xt对于类cj的权重也就越小,这就符合了某一个特征词条在某个类别中,包含这个词条的文本越多,这个词条就越可以代表这类文本,这样的特征词条的权重也就越大,也就越能区别其他的类别。这表明改进的tf-idf是有效的。类别分布因子γ调整了文本数量少的类别已经文本数量多的类别的特征词权重,当一个类别中文本数量很少时,类别分布因子γ的值会变大,当一个类别中文本数量很多时,类别分布因子的值会变小,这样使得特征词权重的计算更加符合实际,tf-idf乘上类别分布因子γ,也就更能准确的计算出特征词的权重。如表3所示,本发明从所有的文本类别中选取了9个类别来做文本分类的实验,包括毛长、英文名、体重、毛色、养宠知识、概述、主要症状、治疗和预防。9个类别加起来总共有410条训练集,每个类别15条测试集总共135条测试集。实验采用的机器学习评价指标是f值。表3各类训练集与测试集本发明进行实验的硬件平台为戴尔alienwareaurorar7,ram32gb,硬盘2t+512gbssd,cpu3.7ghzintelcorei7。分为传统的tf-idf算法和本发明改进的tf-idf算法实验,进行了两个实验看文本多分类的实验效果,实验结果如表4所示。表4实验结果通过本发明的对比实验,结果显示改进的tf-idf+nb(nb:naivebayes)算法模型在文本多分类上比传统的模型有了不错了效果提升。其中英文名类别提升f值提升幅度最大,英文名类别中文本的数量在9个类别中最少,显示出类别分布因子起到了作用,提升了数量少的类别的特征词的权重。文本数量差不多的类别的f值也都有了提升,说明改进的tf-idf+nb算法模型在文本多分类上效果更好。因为本发明的平均f值为0.8486,达到了比较高的值,所以本发明采用这个改进的tf-idf+nb模型对3大类24个类别总共1085条训练数据集进行训练,训练出的模型进行文本多分类。s5:匹配语序图通过基于多项朴素贝叶斯的文本分类器的分类结果,得到用户自然语言问题对应的类别的标签例如体重、价格、主要症状等,这些都是用户问题对应的标签,也是自然语言问句对应的意图,然后将确定的意图标签映射对应的问题模板,匹配模板中的语序图。自然语言问句基本上是描述主语和宾语之间的关系,而图模型是可以通过边来描述节点和节点之间关系,语序图是有向图,是主语指向宾语,通过谓语作为连接的一个有向图,主语和宾语是实体,谓语是实体之间的关系包括属性关系。比如金毛得了犬瘟有什么症状?转换成语序图以图6为例,本发明构建了3大类总共24类问题的模板,问题模板示例如表5所示:表5问题模板示例问题类型问题模板价格nm价格主要症状nm有疾病nd主要症状可食性nm可食性nd可食性s6:答案生成宠物知识图谱采用的图数据库orientdb存储的,本发明将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库orientdb中查询答案,然后将问题的答案返回给用户。基于宠物知识图谱的智能问答方法支持宠物的起源、价格、智商、疾病概述、症状、预防等问题,总共可以回答3大类的问题。如图7,回答的是宠物品种属性的问题,例如“金毛的价格”;如图8回答的是宠物疾病属性的问题,例如“怎么预防子宫蓄脓”;如图9回答的是宠物食物的问题,例如“拉布拉多能吃葡萄吗”。综上所述,本发明提出了一种基于宠物知识图谱的智能问答系统的构建框架。详细地描述了智能问答方法及其系统的构建流程,并且通过实例展示了构建的基于宠物知识图谱的智能问答系统。首先通过构建宠物领域的命名实体字典,对用户的自然语言问句进行实体识别和实体链接,将问题进行抽象,方便后面问题的分类。在实体链接方面,提出一种word2vec结合levenshteindistance的方法实现实体链接,实验表明该方法的有效性。然后通过构建基于朴素贝叶斯的文本分类器,对数据集(文本)进行训练,在分类器的构建中,提出一种基于改进的tf-idf朴素贝叶斯分类算法,该方法考虑了特征词在整个文本集合和类别文本中的分布情况以及每个类别在整个训练样本中的分布情况。实验的结果表明,改进的tf-idf有效改善了文本分类的效果。通过文本分类器分类的结果,得到了问题对应的标签,确定了自然语言问句的意图,之后匹配模板中对应的语序图。将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库中查询。最后实例展示了构建的基于知识图谱的智能问答系统。本发明设计并实现了基于宠物知识图谱的智能问答系统,填补了国内宠物领域基于知识图谱的智能问答的缺失,具有重要意义。同时本发明提出的基于知识图谱的智能问答系统构建方法对垂直领域的基于知识图谱的智能问答系统具有一定的借鉴意义。参照图10~12,为本发明第二个实施例,该实施例基于第一个实施例中的基于宠物知识图谱的智能问答方法,并开发了一种基于宠物知识图谱的智能问答系统,该系统的框架结构图如图10所示。所述基于宠物知识图谱的智能问答系统,其包括数据收集模块、知识图谱构建模块、智能问答模块以及答案展示模块。其中:数据收集模块能够利用爬虫技术收集公共数据源的数据以及对自有数据采集业务进行数据收集。知识图谱构建模块用于对数据收集模块收集到的数据进行处理,将处理得到的知识以及语义关系用来构建知识图谱,进行知识图谱的构建包括schema(概念)层构建、知识抽取、知识融合以及知识存储。智能问答模块基于知识图谱构建模块,其采用本发明所述的基于宠物知识图谱的智能问答方法,并在此基础上进行智能问答,通过对用户问题进行解析、用户问题的识别分类,然后将从知识图谱构建模块中获取到的问题的答案返回给用户。答案展示模块展示了与用户进行交互的页面,页面上展示用户输入的问题,同时页面展示智能问答模块回答用户问题的答案。具体的,知识图谱构建的主要流程如下:1、宠物知识图谱schema(概念)层构建。根据需求,利用并且分析基于有宠网的疾病百科来定义宠物知识图谱schema层。2、信息抽取:实体抽取、实体属性关系抽取和语义关系的抽取。从不同数据源中通过爬虫爬取,数据过滤、清洗、解析来获取结构化宠物知识和实体属性关系抽取、语义关系的抽取。通过条件随机场(crf)和症状字典相结合的症状命名实体识别模型来获取命名实体,首先通过爬取网上知识来构造宠物医学症状相关的术语及语义类别信息词典。通过将症状的语义类别信息作为特征加入到crf模型中。来获取比较准确的疾病症状命名实体识别。3、知识表示。选择orientdb原生图数据库支持的属性图模型来进行知识表示。4、知识存储。将获取到的schema层数据和实例层数据通过orientdb图数据库进行知识的存储,orientdb图数据库使用类sql查询语句。所述智能问答模块包括了问句解析模块和答案生成两个子模块。问句解析主要包括了用户问题的理解、实体识别与链接。本发明中,智能问答模块的工作流程如下所示:1、命名实体词典构建。通过构建关于宠物品种、疾病名称、症状和食物的命名实体词典,将用户提出的问题进行抽象,方便后面用朴素贝叶斯文本分类器进行分类。2、实体链接。在将用户提出的问题进行抽象的过程中,提出一种word2vec结合levenshteindistance(莱文斯坦距离)的方法计算语义相似度来实现实体的链接。3、问题的分类。构建了基于朴素贝叶斯的文本分类器,对文本进行训练,在这其中提出一种基于改进的tf-idf权重计算方法的朴素贝叶斯分类算法,该方法考虑了特征词在每个类别文本集合中的分布情况以及每个类别在整个训练样本中的分布情况。4、匹配对应的语序图。通过文本分类器的结果,获得了问题对应的类别的标签,从而确定了自然语言问句的意图,然后将确定的意图标签映射对应的问题模板,匹配模板中的语序图。5、答案的生成。将语序图转化为orientdb的类sql查询语句,在存储知识图谱的图数据库orientdb中查询答案,然后将问题的答案返回给用户。答案展示模块展示了与用户进行交互的页面,本文前端采用html5的技术对页面进行布局和实现,采用了python语言实现的轻量级框架flask对页面进行渲染,同时使用了ajax技术将从前端获取到的用户的问句提交到智能问答模块进行处理,再返回从知识图谱构建模块获取到的答案给前端页面。如图10所示,知识图谱构建模块和智能问答模块共同形成业务层;答案展示模块包括前端ui层和展示层。本发明选择了windows10操作系统、orientdb图数据库以及flaskweb框架开发出了一套基于宠物知识图谱的智能问答系统,可以实时回答用户提问,支持主流浏览器,本系统采用的开发环境如下表6所示:表6开发环境所述智能问答系统的知识图谱构建流程如下:1、宠物知识图谱schema(概念)层构建。根据需求,利用并且分析基于有宠网的疾病百科来定义宠物知识图谱schema层。2、信息抽取:实体抽取、实体属性关系抽取和语义关系的抽取。从不同数据源中通过爬虫爬取,数据过滤、清洗、解析来获取结构化宠物知识和实体属性关系抽取、语义关系的抽取。通过条件随机场(crf)和症状字典相结合的症状命名实体识别模型来获取命名实体,首先通过爬取网上知识来构造宠物医学症状相关的术语及语义类别信息词典。通过将症状的语义类别信息作为特征加入到crf模型中。来获取比较准确的疾病症状命名实体识别。3、知识表示。选择orientdb原生图数据库支持的属性图模型来进行知识表示。4、知识存储。将获取到的schema层数据和实例层数据通过orientdb图数据库进行知识的存储,orientdb图数据库使用类sql查询语句。如图11所示本发明构建的宠物领域知识图谱部分展示。本实施所述智能问答系统的智能问答模块,其框架构建如第一个实施例中的步骤s1~s6所述。本实施所述智能问答系统的后台实现和前端展示模块如下所述:整个智能问答系统采用的web框架是flask框架,常用的pythonweb框架有django,bottle,tornado,pylons,flask等,django是高级别的,运用最广泛的,文档最完善的一款pythonweb框架,能提供全套的解决方案,flask将比较django而言属于轻量级框架,适用于小型网站、灵活、扩展性很强,flask与nosql类型的数据库配合的效果要好于django,flask默认使用的是jinja2作为模板引擎,所以本发明采用了flask框架做web开发。系统的前端展示如图12,上面显示了宠物智能问答系统可以回答支持的形式的提问形式以及可以回答的问题的大致范围。应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。当前第1页12

相关知识

一种基于宠物知识图谱的智能问答方法及系统与流程
基于neo4j的宠物知识图谱问答系统
基于知识图谱的宠物问答系统
基于宠物狗病种知识图谱的问答系统
宠物知识图谱的半自动化构建方法
基于图像识别的车内宠物安全智能控制方法及系统与流程
一种宠物膨化食品的生产原料智能配比方法及系统与流程
一种基于人工智能的宠物饲料推荐方法及系统与流程
一种智能宠物环、宠物监控系统及监控方法与流程
一种宠物行为检测监控系统及方法与流程

网址: 一种基于宠物知识图谱的智能问答方法及系统与流程 https://m.mcbbbk.com/newsview1331660.html

所属分类:萌宠日常
上一篇: 山西运城农业职业技术学院宠物医疗
下一篇: 《宠物医院》综艺完整版免费观看高