一种基于知识图谱的情报智能问答方法

文档序号:32415687发布日期:2022-12-02 22:11阅读:29来源:国知局
一种基于知识图谱的情报智能问答方法

1.本发明属于人工智能技术领域,尤其涉及一种基于知识图谱的情报智能问答方法。


背景技术:

2.情报是被传递、整理、分析后的信息。情报是决策做任何决策的前提和基础。通过科学合理地处理情报信息,可以深入理解当前态势,把握敌情、我情、环境等关键要素,从而制定最符合我方利益的决策。
3.智能问答可以追溯到人工智能的诞生。1950年,艾伦
·
图灵提出通过对机器进行问答来判断机器的智能性。weizenbaum在1966年设计了一款聊天机器人,它可以轻松地与人类交流。2011年,华盛顿大学的etzioni教授发表了一篇文章,指出搜索需要对nature进行改造,他指出:使用自然语言形式进行提问的问答系统会成为未来问答系统发展的主流。因此,问答系统在未来信息情报服务中扮演了重要的角色。
4.军事知识的来源多种多样,互联网上有很多开放的数据源,能够提供大量的基本军事知识。如武器装备的种类、性能等。通过爬取并结构化处理互联网上军事知识,可以获得很多基本军事知识。当前,更多种类更深层次的军事知识往往是来自专业的数据库,它们一般包含在不同军事信息系统中。而不同源的知识图谱往往具有不同的结构,并且各自对应的模式层可能不一致。
5.与开放性问答系统相比,军事领域的问答系统具有以下特点:
6.(1)与主要针对开放领域的面向大众应用的问答系统相比,针对军事领域的问答系统的支持形式则相对有限。换言之,军事领域的相同问题的多样性比开放领域的问题少;
7.(2)与目前具有完备的开放知识源的开放领域知识问答相比,军事领域问答缺少开放的专业知识源和充足的最新数据库;
8.(3)在开放领域中,许多问题的答案是通过fqa的方式保存在网络空间中,因此简单的检索可以解决许多问题,而军事领域的问答具有封闭性,无法从网络中获取;
9.(4)构建针对军事领域的问答系统时,需要开发人员更深入地理解运用专业的军事知识,并通过深度理解逻辑推理,才能使系统正确理解问题,并生成答案。
10.因此,军事领域问答的难点主要集中在军事知识的获取、军事知识图谱的构建和面向军事问题求解的推理等方面。
11.在军事领域知识图谱问答的研究中,国内张克亮等提出了航空领域的问答系统,通过将用户问题分为12类,采用结构化语义信息提取方法,并对其进行转换。在sparql查询中输入问句以找到答案。窦小强等人推出基于模板的军事知识智能问答系统,它将用户提出的问题进行细分,将结果输入到预先制作的问题模板中,并生成与每种问题类型对应的知识图谱查询方法,通过查询得到最终的答案,但是文中没有提到可以使系统启用的关键技术。
12.车金立等人提出了如何创建军事装备知识图谱。该方法通过网络爬虫检索百科全
书数据,通过知识提取和知识融合生成知识图谱,并将其存储在 neo4j图数据库中,这将使知识图谱能够不断更新和修复。此外,他还提到了如何实施知识问答。通过使用字典来分割单词,将它们与预定义的模板进行比较,并将它们翻译成neo4j的cypher查询语言以进行结果查询,但不包括实体消歧、口语查询等解决方案。姜成樾提出了一套基于依赖树的问题理解模板和语义问题分析模型。通过将一个复杂的问题分解为多个简单的三元组,生成一组具有多个约束的结构化问题元组。
13.阇实松基于关系数据库中的结构化数据和互联网上的半结构化数据创建了飞机领域知识图谱。他结合神经网络的设计,实现了飞行器知识图谱问答系统。他尝试使用朴素贝叶斯分类器来理解问题,并使用doc2vec模型和 word2vec+textcnn的方法将自然语言问题翻译成分布式表示来理解问题。刘天雅利用基于知识的结构、问题主题和其他先验信息,研究和设计了由问题语义图和问题意图组成的武器装备等问题表示模型,研究了减少歧义和支持生成的问题理解方法和问题表达模型。李代祎等人在实现的军事武器问答系统中,问题分类任务首先通过svm多分类器与问题模板进行匹配,然后使用 bilstm-crf模型完成命名实体的增加。问题识别阶段将问题模板应用到任务数据实体和关系的识别上,生成cypher查询语句查询结果。该方法支持手动构建svm和bilstm-crf模型的训练和训练。军事问答数据,如果数据规模很大,构建起来需要时间和精力。且对模型训练和参数调整的要求比较高,不利于实际模型的快速迭代与应用。
14.总的来说,军事领域知识图谱问答的开发时间比较短。尽管有一些基于模板和规则的设计理念,但缺乏包含实际技术和实现细节的详细说明。基于机器学习的解决方案也有一些缺点。此外,关键技术还有很大的研究空间,比如基于嵌入式学习理解问题和回答知识图谱问题。
15.军事领域的特殊性对基于知识图谱的军事情报问答系统提出了特殊的要求,在实体识别与属性识别、问题模板匹配等方面都有体现。
16.(1)实体识别与属性识别
17.实体识别,或命名实体识别(ner),是指从非结构化输入文本,进行自然语言理解。隐马尔可夫模型、条件随机场、lstm-crf等机器中识别出具有特定类型或强引用的实体学习算法主要用于开放领域的问答系统。
18.然而,由于军事领域缺乏开放数据源,很难获得机器学习所需的大型训练集。因此,由于拥有的实体数量有限,通常会使用简单高效的基于字典和基于规则的方法。
19.1)基于词典的实体识别与属性识别
20.实体字典现在广泛用于构建所有知识库实体及其别名属性,使用所有实体的属性名称构建属性字典,并添加扩展词。如为“qbz95式自动步枪”这一实体添加“95式”、“95式自动步枪”等称呼。在属性“产国”中添加“中国”等扩展词。字典中还设置了自定义词性,例如“qbz95式自动步枪”的词性为实体,“产国”的词性为属性值。分词和标注一般使用jieba库实现。
21.至此,使用分词工具和辅助词典,自然语言问题的实体和属性就完成了。此外,还标识了属性值、比较器和大多数值符号。但是在输入问题时,如果问题描述不规范,无法从字典中查询到问题实体,则需要修改实体。诸如“f-22 战斗机能飞多远?”等属性无法识别的情况,应通过其他方法处理,例如基于神经网络的问题模板匹配。
22.2)基于倒排索引字典的实体校正
23.军事知识图谱中的实体往往名称复杂通常由字母、数字组成,如“qbz95 式自动步枪”。如果用户输入错误或顺序混乱的实体名称,则应考虑到这一点。
24.可以设置模糊匹配机制来增强字典匹配的鲁棒性。使用知识库中的所有实体名称构建单词到单词映射的倒排索引字典。例如,表1展示了字典 {f-15,f-22,f-35}的倒排索引。
25.表1倒排索引实例
[0026][0027][0028]
如果输入问题中没有匹配的实体或属性,则使用反向索引字典获取问题中每个字符对应的所有实体或属性,统计每个实体或属性的累积数量,并出现选择三个实体次数最多的。或将属性添加到候选列表中,并通过用户交互确定要查询的实体。
[0029]
(2)问题模板匹配
[0030]
由于军事领域问题的种类有限,问题模板匹配通常用于问题的语义分析。手动设计问题模板,使用规则或神经网络模型对问题进行分类和匹配,并根据模板匹配查询语句,处理汉语语境下问题的复杂性。
[0031]
1)基于规则的问题模板匹配
[0032]
对于使用标准化问题方法的问题,基于规则的问题模板匹配是一种简单有效的方法。经分词工具处理后,将疑问句的实体、属性、属性值、比较符、最值符等字符用词性表示,直接匹配即可生成对应的查询句问题模板。
[0033]
基于规则的问题模板有单实体单属性问答、单实体多属性问答、单实体属性最有价值问答、单实体属性区间。分为四类问题和答案。
[0034]
2)基于textcnn的问题模板匹配
[0035]
基于人工制定的规则的问题模板匹配虽然精准高效,但难以对中文语境下表示同一语义的不同形式问题进行解析,比如问句“辽宁号能航行多远?”,与“辽宁号的航程是多少?”表示同一语义,问题对应的答案也相同。但前者无法识别出有效的属性实体名称,从而导致不存在匹配的问题模板。因此,通过引入textcnn神经网络模型实现问题模板匹配,这能很好地解决上述问题。
[0036]
textcnn网络模型由yoon kim在2014年提出,专门用于文本分类,其结构相对简单,准确性高,广泛应用于自然语言处理和推荐领域。设该模型的输入是含有n个词的文本t,每个词都由k维的分布式表示。通过卷积操作,可以得到每个词语在不同窗口大小的特征矩阵,再在池化层进行最大池化操作,所得的最大值就是卷积核对应的特征值。再输入到全连接层与softmax层即可实现文本分类。
[0037]
一种基于textcnn的问题模板匹配方法是利用word2vec模型将实体识别的问题文本转化为词向量,并通过textcnn网络模型进行分类。通过分类后得到问题对应的模板,并使用该模板对应的知识图谱查询语句进行答案查询。匹配流程为:问题-》实体识别-》word2vec-》textcnn-》进行答案检索-》得到答案。
[0038]
用于训练神经网络的所有数据集都是手动创建的。问题模板收集不同的问题方法并使用同义词而不是扩展数据集。
[0039]
在训练阶段,使用gensim python库中的word2vec模型,将文本转换为 n
×
k形式的词向量矩阵,k表示词向量的维度,n表示最大句子长度。然后使用python keras库构建textcnn网络模型,并利用数据集进行训练。在预训练的textcnn模型中,卷积核和词向量具有相同的宽度,但高度不同。模型中使用高度分别为3、4、5的卷积核。在池化层中,使用各特征向量的最大值表示特征,并将相同高度的卷积核计算得到的标量进行组合,生成一个特征向量。最后,在全连接层中,利用relu函数作为激活函数,再使用softmax 函数计算属于不同类的概率。同时使用l2和abort方法,并利用最速下降法进行参数更新和模型优化。
[0040]
在应用时,当问句被实体识别,实体将被替换为词性并形成文本输入。通过word2vec模型转换成词向量矩阵,并输入到预先训练好的textcnn网络模型后,就生成了对应的问题模型,并将转换后的cypher查询语句输入数据库查询。
[0041]
基于textcnn的问题模板匹配方法的优点主要有:对同一语义的不同问句有着较为准确的理解能力。比如对于经过实体识别后的问句“[实体]能航行多远?”、“[实体]最远能航行多远?”、“[实体]的航程能达到多少?”,尽管无法直接通过属性识别提取标准属性名称,但textcnn可以将这三个问句与模板“[实体]+[属性:最大航程]”相关联。


技术实现要素:

[0042]
有鉴于此,本发明提出了一种基于知识图谱的情报智能问答方法,包括以下步骤:
[0043]
利用知识库构建知识图谱:根据已有的小规模军事类型数据库,识别数据库中的实体、实体间关系,并基于文档型数据库mongodb,构建知识图谱;
[0044]
给定自然语言问题,利用trie树存储实体库信息,并根据ac自动机算法进行实体检索;
[0045]
针对未得到匹配的实体,配合word2vec算法中的cbow网络进行实体模糊匹配;再基于关系模板穷举的方式识别自然语言问题中涉及到的问题,实现实体与查询属性项之间的对应和成对;
[0046]
根据返回得到的问题的实体和关系,转换为mongodb_sqls查询语句并作为问答搜索的结构化查询语言,输入mongodb数据库中查询,并返回查询结果。
[0047]
进一步的,构建关系模板库包括:通过最大范围地将可能输入的问题制作成模板加入库中,从而实现对问题的高效问答。
[0048]
进一步的,所述cbow网络模型的目标函数如下:
[0049]
对于当前词语ω,目标是对其所在上下文context(ω)中可能存在的词进行预测,目标函数设置为如下对数似然函数形式:
[0050]
[0051]
按照hierarchical softmax思想,cbow模型将其定义为:
[0052][0053]
进一步的,cbow模型中,
[0054][0055]
写成整体表达式形式为:
[0056][0057]
带入目标函数并简化对数运算可得:
[0058][0059]
进一步简化为:
[0060][0061]
至此,得到cbow模型的目标函数。
[0062]
进一步的,使用梯度类算法进行参数更新:
[0063]
首先计算l(ω,j)对的梯度:
[0064][0065]
因此,的更新公式写为:
[0066][0067]
η为学习率;
[0068]
同理,依据对称性质,可以计算得到l(ω,u,j)对v(ω)的梯度:
[0069][0070]
v(ω)的更新公式为:
[0071][0072]
进一步的,根据word2vec算法得到实体名称的词向量后,同时得出其他候选同义词、领域词的词向量,并计算两者的欧氏距离后,根据设置的距离阈值进行判断,记录相似
度排名前八的候选近义词,实现对不在实体名称库中实体的模糊匹配。
[0073]
进一步的,设计包含多种模板的关系模板库及其对应的数据库搜索语句,以对问题的精准匹配。
[0074]
本发明的有益效果如下:
[0075]
将基于简单检索的知识图谱问答系统研究分为实体识别、问题识别两个子任务。并且在各个任务上探究了具有准确性和鲁棒性的方法。
[0076]
在实体识别子任务中,本发明引入了基于多模式匹配的实体识别算法,在常用的ac自动机多模式匹配算法上,结合基于word2vec算法的模糊匹配,这提升了模型的特征实体提取能力,得到了不错的实验结果。
[0077]
在问题识别子任务中,本发明提出了基于关系模板穷举的问题识别算法,很大程度上提高了模型的鲁棒性和精度,解决了传统方法在军事领域难以有效应用的问题。
[0078]
本发明还基于每一种关系模板设计了mongodb查询语句。通过对问答系统的构建、分析和实验,问答系统在50个简单问题上取得了88%的准确率,证明了其不错的运行效果。
附图说明
[0079]
图1问题模板匹配实例示意图;
[0080]
图2中文trie树;
[0081]
图3本发明基于知识图谱的问答方法框架;
[0082]
图4本发明的cbow模型训练示意图。
具体实施方式
[0083]
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
[0084]
军事领域相关的问题类型很多,而系统完整地列举所有的问题类型,对高精度识别未知问题的类型有着至关重要的作用。本部分按以下分类方式,尽可能地列举了军事问题的类型及对应示例。
[0085]
主要包括对实体属性的和对事件相关的共4大类26小类问题。实体属性问题包括简单问题,如查询、判断、选择、枚举等;还包括复杂问题,如数量推理、计算推理、逻辑推理等。事件相关问题包括对头尾实体、对关系属性、对关系类型、枚举等问题;还包括数量推理、概率推理等问题。具体如表2所示。
[0086]
表2军事问题类型及示例
[0087]
[0088][0089]
本发明主要研究实体问题类型中的简单问题与复杂问题中的数量推理和逻辑推理类型,并研究了是非和多跳类型问题,如“歼11b重型战斗机的通信设备的通信能力是什么?”、“ah64e型直升机的引擎无装甲防护吗?”等。在本发明的研究中,主要研究基于问题类型的检索算法,因此假设输入的问题类型均包含在问题类型库中。通过对每一种问题类型设计检索算法实现问题的精准匹配与问答。
[0090]
基于简单检索的知识图谱问答是通过深入研究军事问题相关格式、内容,利用精度较高的实体匹配算法与问题识别算法实现的问答系统。此类系统在对问题的开放程度方面表现得不尽如人意,但能够实现对问题的充分理解与回答,因而十分具有研究意义。
[0091]
基于检索问答的基本任务是基于对问题的理解,检索已有的军事知识库,得出正确答案并输出。将用户对系统提出的问题作为输入,系统通过知识库查询得到的结果作为输出。当系统得到用户的输入时,首先进行中文分词,再检索问句中的关键词,和问题相关的词语。接着根据分词得到的词语的词性,搜索问题模板库,得出符合的问题模板并转换为 mongodb_sqls查询语句。最后将查询语句输入知识图谱,生成最终答案并返回。
[0092]
在知识图谱中,知识是以三元组《主体subject,谓语动词predicate,客体 object》的形式存在,每个三元组描述一个事实。知识图谱问答系统的任务是针对给出的自然问题。寻找正确答案,如果实体和关系都识别正确,则可以直接得到最终答案。基于这些推论,
本发明将知识图谱的问答系统分解为三个部分。问答系统的整体框架如图3所示。
[0093]
系统框架如下:
[0094]
(1)利用知识库构建知识图谱。根据已有的小规模军事类型数据库,识别数据库中的实体、实体间关系等,并基于文档型数据库mongodb,构建知识图谱。
[0095]
(2)给定自然语言问题,利用trie树存储实体库信息,并根据ac自动机算法进行实体检索。针对未得到匹配的实体,配合word2vec算法中的 cbow思想进行实体模糊匹配。再基于关系模板穷举的方式识别自然语言问题中涉及到的问题,实现实体与查询属性项之间的对应和成对。
[0096]
基于trie树和ac自动机的实体匹配算法
[0097]
实体识别的目的是识别问题中的实体,并链接到知识图谱。基于神经网络模型进行识别并使用模糊匹配来链接实体方法可以带来更好的召回率,但应用到军事领域却存在两个问题。一是针对问题中的实体与知识图谱中的同义但不完全相同时,通常使用词语中字匹配的方法对两者的相似度进行衡量,因此识别精度无法得到保证。二是当问题中的实体与知识图谱中的实体名称完全匹配时,基于神经网络的方法也存在一定的识别错误率,从而影响实体链接的效果。针对军事情报问答系统对准确度要求高的条件,本章节使用融合多模匹配的实体匹配算法,尽管召回度有所降低但能够保证极高的准确率。
[0098]
trie树,又称为“字典树”,是一种专门处理字符串之间相互匹配的数据结构。trie树的本质,就是通过构造树的数据形式,利用多个字符串之间的公共前缀,并将重复的前缀合并在一起,从而减少搜索空间,节约查找的时间。图1是一棵中文词语的trie树(包含词语:“军事”,“军事力量”,“军种”,“陆地”,“陆战”,“陆战队”)。
[0099]
如图1,树中每个结点都由词语集合中的汉字组成。所有结点的指针均指向了节点对应的汉字在词语中的后一个汉字。部分结点带有“#”符号,表示该汉字是从根结点到该汉字结点所组成词的最后一个字。
[0100]
构建trie树时,需要扫描所有的词语,时间复杂度为o(n)。当构建完毕后,基于树的查询会十分高效。每次查询时,假设待查询的词语长度为k,则只需要比对大约k个节点,就能查询成功,这与原始词语集合的数量、长度等均无关。因此,构建好trie树后,查询某一词语的时间复杂度是o(k),k 为待查询的词语的长度。
[0101]
aho-corasick算法,又称ac自动机算法,实质就是在多个模式串构建成 trie树后,对部分节点构建失败指针,类似kmp算法的精髓next数组,能够实现跳跃式匹配的高效模式。
[0102]
在利用ac自动机匹配字符串时,一般有两种匹配过程。当前字符与给定词语匹配时,表示沿着树中某一条边可以从当前节点到目标字符。此时沿着这条边继续匹配即可,同时目标字符串的指针指向下一节点;当前字符与给定词语不匹配时,从当前节点的失败指针指向的下一节点继续匹配,指针指向根节点(root节点)时结束。重复如上过程直到待匹配的字符串匹配完为止。
[0103]
在一个文本串中,为了找出多个目标字符串出现的次数和位置,一般的办法就是在文本串中对每个目标字符串单独查找,并记录下每次出现的位置。这样的方式在文本串较大、目标字符串众多的时候效率过低。为了提高效率, ac自动机算法应运而生。
[0104]
ac自动机算法是基于trie树的加速查询算法,树中的每个结点同时包括指向孩子
节点的指针和一个fail指针,fail指针表示当输入的字符与当前结点的所有孩子结点都不匹配时,ac自动机应转到的状态。
[0105]
ac自动机的构造方式如算法1所示。
[0106][0107][0108]
ac自动机通过将实体词典预先处理为确定有限状态自动机。因此扫描问题时,仅需一遍就能完成匹配。ac自动机的时间复杂度为o(n),这大大缩减了匹配所用时间。
[0109]
然而,现有的实体名称库的规模往往是有限的,很难包括实体相关的同义词、领域词等。因此,当无法从实体名称库中匹配到实体时,使用学习方法的模糊匹配就变得行之有效。
[0110]
将机器学习方法应用到自然语言领域时,通常需要将语言数学化,词向量是将一个词语进行数值编码,使之表示成为一个向量。本章使用性能更好、鲁棒性更高的分布式表示(distributed representation)进行实体词语的数值化表达,通过训练,将每一个词语映射成一个固定长度的相对较短的向量,所有词语经过这种映射后会构成一个词向量空间,每一个词语相当于空间中的一个点。因此,在这个空间中引入“距离”的概念,就可以据此判断两个词语在语法、语义上的相似度了。获取词向量的方式有很多,其中包括应用非常广泛的谷歌tomas mikolov团队的word2vec算法。
[0111]
word2vec是规模较小的神经网络模型,本发明使用基于hierarchicalsoftmax的cbow网络模型。word2vec是一种语言模型,原理是以无监督方式学习大量文本中的语义知识。
[0112]
word2vec模型仅包括输入层、隐藏层和输出层网络。按框架可将模型分为两种,主要分为cbow和skip-gram模型,体现在模型输入输出的不同。 cbow模型是在给定已有词w
t
的上下文w
t-2
,w
t-1
,w
t+1
,w
t+2
的情况下,预测该词w
t
。而skip-gram模型则相反,在已有词w
t
的情况下,对该词的上下文 w
t-2
,w
t-1
,w
t+1
,w
t+2
进行预测。
[0113]
已知当前词语ω,目标是对其所在上下文context(ω)中可能存在的词进行预测,
因此将目标函数设置为如下对数似然函数形式:
[0114][0115]
对于cbow模型,关键在于条件概率函数p(ω|context(ω))的构造。按照hierarchical softmax思想,cbow模型将其定义为:
[0116][0117]
(3)根据对应的问题模板,转换为查询语句进行查询并返回结果。根据返回得到的问题的实体和关系,转换为mongodb_sqls查询语句并作为问答搜索的结构化查询语言,输入mongodb数据库中查询,并返回查询结果。
[0118]
其中,
[0119][0120]
写成整体表达式形式为:
[0121][0122]
带入目标函数并简化对数运算可得:
[0123][0124][0125]
为了梯度推到方便,简记花括号中内容为l(ω,j),故可写为:
[0126][0127]
至此,已经得到了cbow模型的目标函数。针对参数更新,这里使用梯度类算法。
[0128]
首先计算l(ω,j)对的梯度:
[0129][0130]
因此,的更新公式可写为:
[0131][0132]
η为学习率。同理,依据对称性质,可以计算得到l(ω,u,j)对v(ω)的梯度:
[0133][0134]
v(ω)的更新公式为:
[0135][0136]
根据word2vec算法得到实体名称的词向量后,需要同时得出其他候选同义词、领域词的词向量,并计算两者的欧氏距离后,根据设置的距离阈值进行判断。
[0137]
在军事领域,使用学习模型等方法对武器类等实体进行识别时,效果往往差强人意。本发明基于word2vec算法进行模糊识别,即通过计算查询实体的近义词,并将近义词与实体相关联,从而实现在输入实体的名称非标准化时的实体匹配。使实体识别、属性值识别、数值识别的效率更高,针对输入的问答更加灵活,并使问答系统更具鲁棒性。
[0138]
基于关系模板穷举的问题识别算法:
[0139]
针对军事领域的情报问答,对问题理解要求非常高,任何的理解误差导致的反馈偏差都是不被接受的,都会导致决策错误,并产生连锁负面效应。因此,使用一种准确率和鲁棒性较高的问题识别算法就显得尤为重要。
[0140]
构建关系模板库是一种准确率高、运行稳定的方法。通过最大范围的将可能输入的问题制作成模板加入库中,从而实现对该类问题的高效问答。当关系模板库达到一定规模后,精准回答输入的问题就变得可行。基于对输入问题的判断,分出3大类共9小类问句,问句示例如表3所示。
[0141]
表3问题模板表
[0142]
[0143]
基于匹配查询的问题求解算法:
[0144]
用户输入的问题通过问题理解的模块后,获取问题的类型、实体、问题意图等问题理解结果。基于此,可以将问题理解结果作为查询条件从武器装备知识库中查询问题的答案。
[0145]
查询问题的答案时,答案类型一般因问题类型而异,因此每种问题类型都有相应的查询答案的方法,通过问题理解模块中得到的问句类型结果,确定对应的答案匹配方法。然后通过组合实体链接结果和关系识别结果,构造形成mongodb数据库的查询语句,在武器装备知识库中匹配查询。
[0146]
例如,对于属性问答型号问题“《实体》《属性》”,对应的mongodb查询语句是“db.militarykg.find({"name":"entity_name","attribute":" entity_attr"})”。其中,entity_name是实体名称,entity_attr是需要查找的实体属性名称。将上述语句输入mongodb格式的武器装备知识库中查询得到答案。如果没有找到答案,则返回“查询失败”。
[0147]
本发明通过对历史情报进行归纳总结,并对网络上热门新闻资讯收集整理,标准化后构建了军事情报信息库,并将其作为问答知识库。经过分析,该知识库中包含50178个武器装备实体;包含15大类153小类武器装备类型,例如直升飞机、水面战斗舰艇、传感器等;所有的武器装备实体共包含216 种不同的实体属性,例如长度、宽度、频段、服役年份等。数据集统计信息如表4所示。
[0148]
表4数据集统计信息
[0149]
项目数量示例大类15直升飞机、水面战斗舰艇小类153导弹、攻击机、运输机国家117a国、b国、c国实体50178#1型战斗机、#3航空母舰实体属性216最大载荷重量、通信能力、自主性
[0150]
由于武器装备的领域性和专业性,在构建问句理解模块的训练集时使用人工标注的方法,由业务人员总结各个问句类型的常用问法,然后通过人工标注,共标注出50条包含简单问题和答案的数据。全部的数据可用于训练问句理解模块中的问句类型分类模型和实体识别模型。
[0151]
为了评估构建出的问答系统的性能,对问句理解模块中的问句类型识别、实体识别和意图识别等任务进行了效果测试。效果测试采用f1值作为算法性能的评估标准。
[0152]
f1值的计算公式如下:
[0153][0154][0155][0156]
其中,tp表示正类预测的正确数;fp表示负类预测的错误数;tn表示负类预测的正确数;fn表示正类预测的错误数。
[0157]
根据本发明提出的基于多模式匹配的扩展词实体识别算法和基于关系模板穷举的问题识别算法,构建简单检索的知识图谱问答系统。
[0158]
测试问答系统的性能,需要进行大规模的问题测试。在对系统进行测试时,需要分模块进行检测,从而掌握各模块的性能并进行针对性的改进。实体匹配模块,任务是根据输入的问题,识别问题中的主题实体、属性实体等,并与知识图谱中已有实体进行匹配。问题识别模块,任务是根据输入的问题,识别问题中实体间的关系,并匹配对应的关系模板。答案查询模板,任务是根据匹配到的实体与关系模板,生成知识图谱查询语句并检索得到答案。
[0159]
本发明基于人工标注的50条简单问题进行系统的性能测试,共有44条问题得到了正确答案。在实验中,实体匹配模块的f1值为0.94,问题识别模块的f1值为0.90,答案查询模块的f1值为1.00,系统准确率为88%,能够充分证明该系统在简单问题上的优越性能。
[0160]
表5实验效果
[0161]
系统模块所用模型模型效果f1值实体匹配ac自动机+word2vec0.94问题识别关系模板穷举0.90答案查询mongodb_sqls1.00问答系统——0.88
[0162]
本章选取了9个属于不同问句模板的典型问题示例作为输入。系统查询语句及反馈结果如表6所示。经过人工比对,系统输出正确,效果良好,精度较高。
[0163]
表6 9种问句模板的问答结果表
[0164]
[0165][0166]
本发明的有益效果如下:
[0167]
将基于简单检索的知识图谱问答系统研究分为实体识别、问题识别两个子任务。并且在各个任务上探究了具有准确性和鲁棒性的方法。
[0168]
在实体识别子任务中,本发明引入了基于多模式匹配的实体识别算法,在常用的ac自动机多模式匹配算法上,结合基于word2vec算法的模糊匹配,这提升了模型的特征实体提取能力,得到了不错的实验结果。
[0169]
在问题识别子任务中,本发明提出了基于关系模板穷举的问题识别算法,很大程度上提高了模型的鲁棒性和精度,解决了传统方法在军事领域难以有效应用的问题。
[0170]
本发明还基于每一种关系模板设计了mongodb查询语句。通过对问答系统的构建、分析和实验,问答系统在50个简单问题上取得了88%的准确率,证明了其不错的运行效果。
[0171]
本发明所使用的词语“优选的”意指用作实例、示例或例证。本发明描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本技术中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“x 使用a或b”意指自然包括排列的任意一个。
即,如果x使用a;x使用b;或x使用a和b二者,则“x使用a或b”在前述任一示例中得到满足。
[0172]
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本发明所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
[0173]
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
[0174]
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1