A tensorized logic programming language for large-scale data

01/20/2019
by   Ryosuke Kojima, et al.
0

We introduce a new logic programming language T-PRISM based on tensor embeddings. Our embedding scheme is a modification of the distribution semantics in PRISM, one of the state-of-the-art probabilistic logic programming languages, by replacing distribution functions with multidimensional arrays, i.e., tensors. T-PRISM consists of two parts: logic programming part and numerical computation part. The former provides flexible and interpretable modeling at the level of first order logic, and the latter part provides scalable computation utilizing parallelization and hardware acceleration with GPUs. Combing these two parts provides a remarkably wide range of high-level declarative modeling from symbolic reasoning to deep learning. To embody this programming language, we also introduce a new semantics, termed tensorized semantics, which combines the traditional least model semantics in logic programming with the embeddings of tensors. In T-PRISM, we first derive a set of equations related to tensors from a given program using logical inference, i.e., Prolog execution in a symbolic space and then solve the derived equations in a continuous space by TensorFlow. Using our preliminary implementation of T-PRISM, we have successfully dealt with a wide range of modeling. We have succeeded in dealing with real large-scale data in the declarative modeling. This paper presents a DistMult model for knowledge graphs using the FB15k and WN18 datasets.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/28/2018

DeepProbLog: Neural Probabilistic Logic Programming

We introduce DeepProbLog, a probabilistic logic programming language tha...
research
04/10/2023

Scallop: A Language for Neurosymbolic Programming

We present Scallop, a language which combines the benefits of deep learn...
research
10/23/2019

Functional Tensors for Probabilistic Programming

It is a significant challenge to design probabilistic programming system...
research
07/30/2019

Compiling With Classical Connectives

The study of polarity in computation has revealed that an "ideal" progra...
research
07/20/2019

Towards meta-interpretive learning of programming language semantics

We introduce a new application for inductive logic programming: learning...
research
09/17/2021

Natlog: a Lightweight Logic Programming Language with a Neuro-symbolic Touch

We introduce Natlog, a lightweight Logic Programming language, sharing P...
research
06/02/2020

Effectful Programming in Declarative Languages with an Emphasis on Non-Determinism: Applications and Formal Reasoning

This thesis investigates effectful declarative programming with an empha...

Please sign up or login with your details

Forgot password? Click here to reset