路径生成:通过实体链接获取到了问题中的实体,路径生成则是从实体出发,遍历KG,生成所有可能的答案路径,在过程中对路径进行剪枝。
路径召回策略分为单实体和多实体两种情况。其中,多实体优先,即:如果多实体间存在路径,则不进行单实体召回。
(1) 作为头实体的一度路径 <实体><关系>;
(2) 作为尾实体的一度路径 <关系><实体>;
(3) 对 (1) 扩展至二度出路径 <实体><关系1><关系2>;
(4) 对 (1) 扩展至二度入路径 <实体><关系1><关系2>;
(5) 对 (2) 扩展至二度出路径 <关系1><实体><关系2>;
(6) 对 (2) 扩展至二度入路径 <关系1><实体><关系2>。
(1) 一度路径 <实体1><关系1><实体2><关系2>;
(2) 一度路径 <关系1><实体1><关系2><实体2>;
(3) 一度路径 <关系1><实体1><实体2><关系2>;
(4) 一度路径 <实体1><关系1><关系2><实体2>;
(5) 对 (1)(同2、3、4) 扩展至二度出路径 <实体><关系1><实体2><关系2><关系3>;
(6) 对 (1)(同2、3、4) 扩展至二度入路径 <实体><关系1><实体2><关系2><关系3>;
(7) 实体间的关系<实体1><实体2>。
为避免候选答案数目爆炸,我们根据以下策略进行剪枝。
(1) 删除一跳路径中答案实体是话题实体的路径,避免将话题实体本身作为答案;
(2) 如果二跳节点超过10000个,则不进行二跳;
(3) 删掉二跳路径中答案实体是话题实体的路径,避免将话题实体本身作为答案;
(4) 当二跳路径(出或入)数超过100条但小于500时,删掉二跳路径(出或入)中的关系与问句没有任何字符上的交集的候选答案路径;
(5) 当二跳路径(出或入)数超过500时,过滤掉所有二跳路径。
路径排序分为粗排和精排两个步骤。
根据问题query和候选路径path的特征,对候选路径进行粗排,可采用机器学习模型,如:LightGBM、XGBOOST等,保留top20条路径,可参考以下特征进行特征工程时:
3.1中使用lgb等机器学习模型的主要目的通过粗排,减少精排过程中的数据量,在精排时能够好的利用预训练语言模型计算query和path的语义匹配度,选择得分最高的答案路径作为答案。

公众号:自然语言处理及深度学习