Eduardo Calò MSc

Eduardo Calò MSc

PhD Candidate
Natural Language Processing

I am a PhD Candidate in the Natural Language Processing (NLP) group of the Department of Information and Computing Sciences, under the supervision of Prof. Kees van Deemter. I work in the field of Natural Language Generation to explain the meaning of logical formulae, in the framework of the Interactive Natural Language Technology for Explainable Artificial Intelligence (NL4XAI) project, funded by the EU Horizon 2020 program under the Marie Sklodowska-Curie grant.



I am keen on supervising students interested in the following areas of logic-to-text generation. (Each project is open to modification: The actual plan will be worked out in conversation with the student to fit their skills and interests.)


Translating first-order logic (FOL) formulae into a natural language.

The bulk of this project is to develop a natural language generation (NLG) system that takes FOL formulae as input, and outputs natural language texts providing the same information as the original inputs. Most previous attempts include rule-based or neural systems taking various formalisms as input and translating them into English.

Natural extensions include:

(i) Using hybrid approaches, i.e., merging the accuracy of symbolic methods, with the power of neural models.

(ii) Developing systems for languages other than English to study the challenges that other (possibly typologically different) languages could pose.

(iii) Expanding current systems in such a way that they can handle formulae with equality (=) and/or logical operators other than the canonical ones (e.g., XOR).

(iv) Including background information/knowledge in translation, e.g., the fact that an object cannot be in two different places at the same time.


Suggested readings:

Desirable skills (different combinations depending on the selected subproject):

  • Knowledge of NLG.
  • Interest in languages and linguistics.
  • Fluency in a language other than English.
  • Knowledge of logic.
  • Good programming skills.


Evaluating the quality of text generated from logical formulae.

Is There is a man who runs and swims or eats a high-quality translation for the formula ?x(Man(x) ? Run(x) ? (Swim(x) ? Eat(x)))? Logically rich texts, such as the one above, present challenging phenomena (e.g., scope ambiguity, connectives precedence, etc.) that may make the texts themselves unclear to readers, hindering the message the original input formula intended to convey. Evaluating the quality of such texts is especially difficult. For example, defining the notion of quality is already problematic: What are the desirable properties in texts generated from logical formulae? What are the best ways to automatically evaluate them? Core properties we might want to look at include faithfulness (i.e., does the generated text convey all and only the information of the input formula?) and fluency (i.e., is the generated text grammatically accurate and natural-sounding). This project focuses on developing new automatic metrics to evaluate the quality of texts expressing logically complex information.


Suggested readings:

Desirable skills:

  • Experience with experiments involving human participants.
  • Knowledge of statistical methods.
  • Interest in logic and linguistics.
  • Knowledge of language models and existing evaluation metrics.


Simplifying formulae of first-order logic (FOL).

Given a FOL formula p, what is the simplest formula q such that p and q are logically equivalent? Depending on how we define simplicity, this project may take very different directions. For example, we could define simplicity in terms of formula's length, e.g., measured by the number of symbols in it. In previous work, we have devised an algorithm that consistently finds the shortest logical equivalents of a given propositional logic formula. We would be interested in expanding this line of work to FOL.


Suggested readings:

Desirable skills:

  • Strong knowledge of (computational) logic.
  • Good programming skills.