(八)问答流程
对于输入的自然语言问句,问答系统分别进行实体属性识别、意图分类、图谱查询、相似度计算、答案筛选和结果返回六个部分,下面就每个部分的功能和逻辑进行说明,具体代码部分请参考主程序。
-
实体属性识别
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五步关系内的关系路径,返回路径结果
-
-