摘要
归纳逻辑程序设计(inductive logic programming,ILP)是以一阶逻辑归纳理论为基础,并以一阶逻辑为表达语言的符号规则学习方法.ILP学得的模型是易于理解的一阶逻辑符号规则,而非难以解释的黑箱模型;在学习中可以相对容易地显式利用以一阶逻辑描述的领域知识;学得模型能对领域中个体间的关系进行建模,而非仅仅对个体的标记进行预测.然而,由于潜在假设空间巨大,进行高效学习有相当的困难.综述了ILP领域的研究情况,从不同一阶逻辑归纳理论的角度对主流的ILP方法做出了梳理.还介绍了近年来ILP基于二阶诱导推理理论的扩展、基于概率的扩展和引入可微构件的扩展.最后,介绍了ILP在实际任务中的代表性应用,探讨了ILP方法目前所遇到的挑战,并对其未来发展进行了展望.
Inductive logic programming(ILP)is a subfield of symbolic rule learning that is formalized by first-order logic and rooted in first-order logical induction theories.The model learned by ILP is a set of highly interpretable first-order rules rather than black boxes;owing to the strong expressive power of first-order logic language,it is relatively easier to exploit domain knowledge during learning;the learned model by ILP can be used for modeling relationships between subjects,rather than predicting the labels of independent objects.However,due to its huge and complicated underlying hypothesis space,it is difficult for ILP to learn models efficiently.This paper tries to review most of the current researches in this area.Mainstream ILP approaches are introduced according to different categorizations of first-order logical induction theories.This paper also reviews the most recent progress in the ILP area,including ILP techniques based on second-order logical abduction,probabilistic inductive logic programming(PILP)and the ILP approaches that introduce differentiable components.This paper also introduces some representative applications of ILP approaches in practical problems,and then talks about its major challenges,and finally discusses about the prospects for future research directions.
作者
戴望州
周志华
Dai Wangzhou;Zhou Zhihua(National Key Laboratory for Novel Software Technology (Nanjing University),Nanjing 210023)
出处
《计算机研究与发展》
EI
CSCD
北大核心
2019年第1期138-154,共17页
Journal of Computer Research and Development
基金
国家重点研发计划项目(2018YFB1004300)
国家自然科学基金项目(61751306)~~
关键词
机器学习
一阶逻辑
规则学习
归纳逻辑程序设计
概率归纳逻辑程序设计
Key words machine learning
first-order logic
rule learning
inductive logic programming(ILP)
probabilistic inductive logic programming(PILP)