[发明专利]一种自然语言理解方法及基于该方法的旅游问答系统有效
申请号: | 201510282019.4 | 申请日: | 2015-05-28 |
公开(公告)号: | CN104850539B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 李明;王靖波;娄旭芳 | 申请(专利权)人: | 宁波薄言信息技术有限公司 |
主分类号: | G06F17/27 | 分类号: | G06F17/27;G06F17/30 |
代理公司: | 宁波奥圣专利代理事务所(普通合伙)33226 | 代理人: | 程晓明 |
地址: | 315040 浙江省宁波*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自然语言 理解 方法 基于 旅游 问答 系统 | ||
1.一种自然语言理解方法,包括构建数据库,理解问题和提取答案,其特征在于具体步骤为:
1)构建用于存储领域范围内数据的知识库、用于存储字词集合和问题模板的语法库和用于存储非领域范围内问题与答案的非领域知识库,具体为:
1.1构建知识库,将领域内的不同对象的描述数据存储到非结构化数据库mongodb中,每一个对象对应一张表,数据是作为对象的属性值即表的字段值;
1.2构建语法库,将问题模板与字词集合存储到语法库,所述的字词集合包括关键字、领域内专业词语和普通字词,在问题模板中的问题小类索引与关键字之间建立映射,具体步骤为:
1.2.1首先收集领域内的问题样例,按照问题内容对样例分类,除去样例中多余的修饰词汇,提取关键字,得到精简的问题样例,将关键字与精简的问题样例记录到文档中,提取领域内的特有词语作为领域内专业词语;然后编写语法:先将表示相同意思的字放在同一个集合中,对每个字集合命名,再将表示相同意思的词语放在同一个集合中,对每个词语集合命名,然后建立当前领域的通用术语集合,最后进行语句定义;
1.2.2为每一个问题模板设置函数与参数,由函数限定从知识库提取该问题模板的答案所对应的路径和规则,包括提取答案的表名,表中需要提取的字段名以及限制条件;根据参数从原始问题中获取参数的值来确定提取答案的具体限制条件,所述的函数的格式为:问题模板的答案=[表名,字段名,限制条件],限制条件的格式为:字段名:+参数,参数为字词集合名称,所述的参数的值是字词集合名称所替换的原始问题中的字或词语;
1.2.3对问题模板按照提问内容相关性划分问题信息点,将领域范围内问题分为多个大类,每个大类再继续划分为多个小类,对每一个小类问题建立索引,在关键字与问题小类索引之间建立映射,通过映射将关键字对应到问题小类;
1.3构建非领域知识库,将常问问题与答案存储到非领域知识库中,其中,问题与答案之间具有映射关系;
2)对收到的原始问题先进行问题理解,具体步骤为:
2.1先将问题与语法库中的领域内专业词语匹配,提取问题中的专业词语,再将剩余部分与普通字词匹配,通过上述的匹配将问题拆分为一组词语;
2.2将拆分得到的词语与语法库中的关键字匹配,确定问题的关键字;
2.3通过关键字与语法库中问题模板的问题小类索引之间的映射,得到问题所对应的问题分类,判断该问题分类是否是唯一问题分类,是唯一问题分类则作为待匹配问题分类进入步骤2.6,多于一个问题分类进入下一步骤,没有问题分类则进入步骤3.2;
2.4判断是否为第一次提问,不是第一次提问进入下一步骤,是第一次提问,则选择第一个问题分类作为待匹配问题分类进入步骤2.6;
2.5读取缓存中的数据,获得历史问题的类别、关键字、提问对象和经纬度,将它们作为条件对当前问题增加限定,过滤问题分类后再判断是否得到唯一问题分类,是唯一问题分类则作为待匹配问题分类进入下一步骤,不是唯一问题分类选择第一个问题分类作为待匹配问题分类进入下一步骤;
2.6提取待匹配问题分类中的所有问题模板作为待匹配问题模板;
2.7将步骤2.1得到的所有词语,逐个与语法库中的字词集合进行匹配,如果词语与字词集合匹配,用匹配得到的字词集合的名字替换该词语,如无匹配则词语不替换,最终得到新的问题;
2.8将新的问题与步骤2.6中的待匹配问题模板进行匹配,为每个待匹配问题模板计分,计分规则为:问题与问题模板之间完全匹配的情况得分为0分,问题与问题模板之间有一个字不匹配得分为-1分,两个字不匹配得分为-2分,依次类推,按得分排序,选择得分最高的问题模板作为匹配结果;
2.9在缓存中记录用户提问的类别、关键字、当前提问的对象名称和经纬度以及原始问题;
3)提取答案:
3.1根据步骤2.8中得到的匹配结果从对应的问题模板获取对应的提取答案的函数与参数,然后依据函数确定获取答案的路径和规则,再根据路径和规则以及参数从知识库中提取答案作为原始问题的答案;
3.2从非领域知识库中提取答案:
3.2.1计算原始问题与非领域知识库中的问题的相似度;
3.2.2判断是否得到匹配的问题;如果只有一个相似度值大于0的问题,则进入步骤3.2.3;如果相似度值大于0的问题多于一个,取相似度最大的问题作为匹配问题,再进入步骤3.2.3;如果相似度值都为0则进入步骤3.3;
3.2.3根据匹配得到的问题及步骤1.3得到的问题与答案的映射获取对应的答案作为原始问题的答案;
3.3得不到问题的答案,给出提示不能回答问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波薄言信息技术有限公司,未经宁波薄言信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510282019.4/1.html,转载请声明来源钻瓜专利网。