赞
踩
对于输入的自然语言问句,问答系统分别进行实体属性识别、意图分类、图谱查询、相似度计算、答案筛选和结果返回六个部分,下面就每个部分的功能和逻辑进行说明,具体代码部分请参考主程序。
实体属性识别
NER识别问题中的实体、属性,返回SENT、PROP和OENT,先对SENT、OENT进行实体映射(如果字典中存在,就映射,否则,不做映射),再将其结果送给图谱查询。
意图分类
使用已训练模型对问答意图进行分类,将问题分类为SP->O、SPP->O、PO->S、OP->S、SO->P中的一种(做分类模型是为了降低相似度计算次数,提高效率)。
图谱查询
图谱查询分为直接查询和间接查询。
直接查询
对于输入信息较为完整的问句,直接图谱搜索获取问答结果。
例:杭州的人口是多少?,图谱直接查询:杭州:人口,获取查询结果。
间接查询
对于输入信息不完全,图谱直接查询无结果的问题,需要根据问题意图进行相应间接查询。
SP->O
查询与S相关的属性及属性值,查询S的歧义关系的实体属性属性值,并按照歧义权重进行排序。
OP->S、PO->S
查询属性指向S的关系,获取属性值为S的实体、属性。
SO->P
查询S和O五步关系内的关系路径,返回路径结果,并对路径进行处理,得到标准路径。
相似度计算
对于直接查询无结果的问答,通过间接查询,获取对应实体、属性,去除问题中的停用词、实体的指称,进行相似度计算,选取相似度最高的路径作为答案路径,返回对应的答案。
SP->O
进行相似度批量计算(去除停用词的问题,歧义列表实体+属性),选取相似度最高的实体属性,返回对应的答案,对于相似度一样的,返回权重最大的结果,如果权重一样相似度一样,返回两条结果,逗号分开。
SPP->O
先进行SP->O查询,将查询结果O1作为实体,再查询O1的相关属性,执行O1P->O,进行相似度匹配,获取相似度最高的结果。
OP->S、PO->S
相似度计算批量(问题,属性+实体),选取相似度最高的属性+实体,返回对应的实体S。
答案筛选
根据相似度值,返回相似度最高的路径答案作为最后的答案。
结果返回
结果返回四部分:程序答案,查询路径,路径得分(相似度值),查询耗时。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。