The Socratic Digital Agent: persuasion in eCommerce with logic semantic, and machine learning

E-Stores lose sales due to the negative biases of consumers. While salespeople give proper reasons to change consumers’ misbeliefs, it is problematic to address those issues in an online shop. In this talk, I will present how to combine semantic graphs with logic programming and symbolic machine learning to restore consumer’s confidence. The digital agent detects what problems users might have and offers them explanations and valid arguments for not worrying about, or why a given recommendation is more suitable than others.

While browsing e-commerce stores in search of suitable items to purchase, consumers evaluate the objective quality of the product offered by the website, e.g.: price. There are also other factors that are important for the peculiar traits of the customer. If we consider for example professional photographers, they might question themselves on the suitability of a high-ranking camera: “Do I have experience with this camera? Is it good for my tasks?”. An occasional photographer would be rather more concerned to share pics easily and instantly on social media. Knowing what an issue for a consumer could be, enables a system to recommend a solution for solving their problem.

This is an example of a business problem that can’t be addressed without semantic technologies. It would be impossible to bridge the gap between user needs, items for sale, and common-sense reasoning without giving the e-shop owner the proper tools to solve consumers problems. Moreover, the overall project vision takes in serious account the extensibility of the software platform. We want to provide rich capabilities with the least amount of customization efforts. This is where machine learning and logic programming play a role to help business functional designers.

Semantic Technologies

The intuition behind this project was that the amount of knowledge available – open/closed sourced – can unfold new business cases solutions when it is opportunely connected with domain specific knowledge, and the offering of the e-shop. For sale items’ properties acquire semantic value once they are connected with the market-specific domain knowledge (e.g.: electronics), general-purpose knowledge base.

Semantic algebra is a class of logical operations that, when they are applied to semantic relations, form new information. We see that knowledge harmonisation, when combined to semantic algebra, enables a variety of solutions, and eCommerce is one of many domains that benefit from this approach.

Logic Programming System

Knowledge graphs are passive information storages. Like being able to distinguish one voice in the middle of a crowd requires the extraction of the signal from the noise, just having billions of tuples does not imply that the requested task will get the right information. Data processing is a fundamental aspect for delivering business services. Standard development practices recommend general purpose programming languages (Java, etc.) to encode business logic, and query languages (SQL, etc.) to retrieve data from databases. One major obstacle that hits the high productivity of semantic business designers, is the cumbersomeness of conventional approaches. The programming experience is an under evaluated aspect in technological research but indeed, it is greatly considered by functional designers.

A low-code programming system has been introduced for facilitating the design of rules even by non-experts in software development without renouncing to programming expressivity. The prototype is based on a Prolog-inspired language and with it, we want to investigate alternative ways on how users interact with the system: language notation, data integration, function composability, service externability (API).

Symbolic Machine Learning

Writing rules out of a knowledge graph is time consuming and error prone. How can we assist process designers on finding useful patterns in the enhanced knowledge base?  A class of algorithms describable as Inductive Logic Programming are intended to solve this problem. An ILP program takes in input the knowledge base, few samples, and returns the encoded program necessary to obtain the generalised class of information. ILP is a branch of machine learning but differently from regressions or neural networks, it is not based on statistical processes. ILP relies on combinatorial search methods, and it has been introduced a novel method (SAP only access) for those computationally demanding tasks.


When a problem is detected but it is rooted in an unfounded belief, a different strategy than mere product recommendation will be more effective in convincing consumers. It is about giving counterarguments and convincing reasons to deflate and abandon the initial misbelief. You can find info on this video:


The mechanics of semantic geometry and automatic argumentation in the BeWater project (SAP access only)

Giancarlo Frison