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

文档序号:35063136发布日期:2023-08-09 02:12阅读:52来源:国知局
一种基于知识图谱的智能问答系统的构建方法与流程

本发明涉及一种基于知识图谱的智能问答系统的构建方法,属于知识图谱。


背景技术:

1、在大数据背景下,海量的数据支撑为人工智能的发展提供了保障。智能问答系统在人工智能领域有着很长的发展历史,自智能领域发展以来,各大科技公司前后推出了多款智能问答应用,为人们的生活带来了极大的便利。各大智能手机厂商都推出了自己的智能语音助手,如苹果的siri、小米的小爱同学等;在许多广为人知的手机应用内,也嵌入了智能问答机器人,担当智能客服等身份。这些问答系统的出现显著降低了人力成本、提高了工作的效率。

2、与此同时,随着数据资源管理要求的不断提高,知识图谱的概念被提出,用以显式地描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。研究人员围绕该概念开展了大量的研究,基于知识图谱的智能问答系统(kbqa,knowledge basequestion answering)的研究也由此展开,并在此后迎来了快速的发展。

3、kbqa的核心在于寻找问题背后的知识与知识库中三元组之间联系,因此,构建全面准确的知识图谱,正确地提取出问题中的实体和关系,将问题与知识库进行准确匹配,从答案集中选择最佳回答等流程均影响着智能问答系统的准确率。如何改善各个流程,提高智能问答系统的准确度,是需要重点考虑的问题。

4、早期基于知识图谱的智能问答系统主要针对小规模的专用知识库,使用的方法以语义分析为主,重点在于将自然语言形式的问题转换为指定的逻辑表达。目前主流的还有基于信息检索的研究方法,通过提取问题的特征并与知识库进行匹配。

5、基于数据集的差异,不同的问答系统采用的技术有所出入,但总体而言包括以下步骤:

6、1.构建数据集。针对指定领域的问答系统,其构建者需要通过爬虫等方式获取相关的数据,或从已有的数据持有者手中收集数据。在此基础上,根据数据集的特点进行分析和存储,并通过基础数据库构建问答数据集,该步骤是保障问答系统准确度的基石。

7、2.语义分析。在完成数据集构建的基础上,为使问答系统实现基本的功能,需要系统能够理解问句的含义并对问题做出正确的回答。因而对问句进行语义分析,抽取其中的知识模式并与数据集条目进行匹配,是问答系统的关键环节。

8、但在现有的在智能问答系统中,问答数据集很大程度上影响了系统的准确度,然而对于大部分知识领域而言,都不存在专业的问答数据库,因而问答数据集的构建成为了限制系统性能的重要因素。在大部分构建智能问答系统的技术中,获取问答数据集的方式多基于固定的语言模式,降低了提问的灵活性和系统的可用性。另一方面,由于语言表达的复杂多样,数据集存在冗余重复的问题,易对问题的语义分析和答案选择造成干扰。


技术实现思路

1、本发明的目的在于提供一种基于知识图谱的智能问答系统,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明采用的技术方案为:一种基于知识图谱的智能问答系统的构建方法,包括如下具体步骤,

3、步骤1,获得指定知识领域的基本数据,并根据数据内容构建知识图谱;

4、步骤2,通过大规模的中文问答数据集训练问答对生成模型,再将知识库中的数据输入至模型中,得到相应的问答数据集;

5、步骤3,基于问答数据集训练语义分析模型,利用语义分析模型对问句进行分析并从知识库中寻找问题的答案。

6、进一步的,所述步骤1的具体步骤如下:

7、步骤1.1,获取指定领域的知识库数据,获取方法至少包括从专业数据平台中获取、通过网络爬虫方式构造及通过基于大数据集的赛事获取;并对获取的数据进行预处理以将其转换为三元组的知识表达形式;

8、步骤1.2,对于已获取的知识库的数据,识别出其中的实体、关系及属性,并使用protégé对数据进行建模,使用owl对数据进行语义层描述,从而从数据中构建知识图谱;

9、步骤1.3,根据前述步骤中形成的owl描述文件,将将数据存入neo4j图数据库中,从而以更直观的方式查看、查询及更改知识图谱。

10、进一步的,所述步骤1.2中,owl具有三个基本概念,分别为类、个体和属性,其中属性又分为数据属性和对象属性,后者表示个体间的关系,这三个基本概念在protégé中分别对应于类、实例和槽;在对数据建模的过程中,首先需要通过对数据集的分析抽象出类和属性,同时根据owl标准对属性之间的对称、相反关系、实例间的等价关系等进行补充描述,通过owl对数据进行表达后,可以将数据抽取为subject, predicate, object的三元组形式。

11、进一步的,所述步骤1.2中,需构建一个别名词典以获取实体识别的候选词,以便于后续更准确的进行实体识别。

12、进一步的,所述步骤1.3中,在后续的环节中,使用cypher语言查询和修改数据库内容。

13、进一步的,所述步骤2包括如下具体步骤,

14、步骤2.1,从知识图谱中获取五元组形式的知识数据,

15、步骤2.2,使用大规模开放领域的问答数据集训练rnn网络;为训练rnn网络,首先需要获取大规模的中文问答数据库,在问答数据库中,对每条训练数据采取以下操作:对问句采用jieba分词,保留名词、动词和形容词作为问题关键词,随后使用问题关键字序列训练rnn模型;

16、步骤2.3,进行问句分析和回答,首先通过jieba分词对问题进行实体识别,在使用jieba进行语义分析的过程中,提取出问句中的名词,并使用知识库中的实体集合作为jieba分词的自定义词典,提高命名实体识别的准确度;

17、其次,对问题进行属性识别,在知识图谱中得到实体对应的属性,将问题与这些属性进行相似度比对,从而获取问题询问的具体属性或关系;

18、最终,根据实体识别和属性识别的结果选择答案,对于备选的三元组,采用如下公式进行排序:

19、;

20、其中,和分别表示实体识别和属性识别的得分,根据最终的选择最佳三元组进行回答。

21、进一步的,所述步骤2.2中,rnn模型的输入为上一步骤获取的问题关键字序列,记为,输出为自然语言问句序列;该模型首先使用基于rnn的编码器对输入序列进行编码,随后使用解码器对编码后的输出序列进行解码;其中编码器和解码器设计如下:

22、编码器:对于输入序列,用一个固定大小的向量表示每个关键字,编码器的功能是将这个序列映射到一个固定大小的编码;使用rnn模型来计算下列递归方程:;其中为lstm计算单元,为该序列最终的编码隐藏状态向量;

23、解码器:解码器的作用是根据计算输出的自然语言问句序列的概率,其中的联合概率满足以下条件:

24、;

25、使用rnn解码器计算每个对应的:

26、;

27、其中为非线性函数,为rnn解码器的隐藏层;

28、最终选择在所有输出中产生概率最高的问题q,作为由问题关键字qk生成的问题。

29、进一步的,所述步骤2.3中,为获取问题与属性之间的相似度,使用双向lstm对问句和属性进行独立编码,得到其对应的语义向量,通过计算语义向量的余弦相似度表示问句与属性的相似度,具体如下:

30、问句或属性经过嵌入层将单词映射为固定维度的词向量,映射后的向量分别记为,在将词向量输入双向lstm前进行如下处理:

31、定义基于单词语义相似度的注意力矩阵:

32、;

33、其中;

34、基于注意力矩阵以及参数矩阵计算矩阵:

35、;

36、;

37、其中,分别表示问句和属性的长度,表示词向量的维度;将和分别按行拼接至和后,输入双向lstm中,对lstm的输出取平均值后输入全连接层,得到最终的语义编码,使用该语义编码计算属性与问句间的余弦相似度。

38、与现有技术相比,本发明的有益效果是:本发明提出的一个通用性的问答数据集生成方案,基于大规模的开放领域中文问答数据库,训练出问答数据生成模型,再基于当前系统的数据集生成对应的问答数据集。该智能问答系统构建流程打破了缺乏问答数据集导致无法构建系统的限制,基于rnn的自然语言问句生成模型,生成问句的准确度比基于模板生成的问句准确度更高。同时,使用实体集合作为jieba分词的自定义词典,保障了实体识别的准确度。另一方面,还引入别名词典,确保在实体识别过程中获取了所有与问句相关的实体,降低了数据重复和冗余对问答系统准确度的影响。本发明能够综合属性识别和实体识别的结果选择答案,提升了答案的准确率。

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