  This paper studies learning logic rules for reasoning on knowledge graphs.
Logic rules provide interpretable explanations when used for prediction as well
as being able to generalize to other tasks, and hence are critical to learn.
Existing methods either suffer from the problem of searching in a large search
space (e.g., neural logic programming) or ineffective optimization due to
sparse rewards (e.g., techniques based on reinforcement learning). To address
these limitations, this paper proposes a probabilistic model called RNNLogic.
RNNLogic treats logic rules as a latent variable, and simultaneously trains a
rule generator as well as a reasoning predictor with logic rules. We develop an
EM-based algorithm for optimization. In each iteration, the reasoning predictor
is first updated to explore some generated logic rules for reasoning. Then in
the E-step, we select a set of high-quality rules from all generated rules with
both the rule generator and reasoning predictor via posterior inference; and in
the M-step, the rule generator is updated with the rules selected in the
E-step. Experiments on four datasets prove the effectiveness of RNNLogic.
