FOIL算法是一种一阶规则学习算法,遵循序贯覆盖学习推理原则。
下面通过一个具体的例子说明FOIL算法学习的过程
上图为一个简单的家庭关系知识图谱,结点代表实体,即家庭成员;边代表家庭成员之间的关系。现从图中已知关系(实线)推出David和Ann具有父女关系(虚线),即FOIL算法的一个学习过程。
注意:
-
刻画知识图谱中结点之间的关系有两种两种:以James与David为Couple关系为例。
1.三元组形式:<James, Couple, David>
2.一阶逻辑形式: Couple (James, David) 在FOIL算法中我们选用一阶逻辑形式表示。
FOIL算法的学习过程
1.给定目标谓词
目标谓词: 是需要推断规则的结论,也称为规则头。本例中的目标谓词为 Father(David, Ann)。
2.构造背景知识样例和训练样例
背景知识样例: 知识图谱中除了目标谓词以外其他谓词的实例化。
目标谓词训练样: 训练样例包含正例集合E+ 和反例样例E-。