TelecomParis_IPParis.png Telecom Paris
Dep. Informatique & Réseaux

Dessalles_2018.png J-L. DessallesHome page

juillet 2022


Cognitive Approach to Natural Language Processing (SD213)

                                other AI courses


Processing language is one of the most important and most challenging issues of Artificial Intelligence. NLP (Natural Language Processing) has many applications. It is commonly used in machine translation, in text mining, in speech recognition, in dialogue based applications, in text generation, in automatic summarization, in Web search, etc. Conversely, it is hard to imagine an "intelligent" machine that would be unable to understand language.
NLP remains a challenging task. Statistical techniques perform well in domains such as machine translation, but they are intrinsically limited to average meanings and cannot take contextual knowledge into account. This course explores some symbolic alternatives to mere statistics.
Some NLP techniques, like grammars, parsing and ontologies, are classic symbolic methods. Some others are inspired by cognitive modelling. They include procedural semantics, aspect processing, dialogue processing. The point is not only to adopt a "reverse engineering" approach to language, but also to adapt engineering techniques to human requirements to improve efficiency and acceptability.


This course presents different NLP methods that are inspired by the study of natural language and of the underlying cognitive processes. However, the techniques and concepts that will be studying have a broader scope in artificial intelligence and are used to study reasoning, decision making and symbolic machine learning. They include:


SD206 (Logic and knowledge representation) is recommended, but not required. Labs are currently being translated into Python (so that both Python and Prolog versions will be available). Basic notions about Prolog will nevertheless be useful to know (unification, recursion, backtracking, declarativity).


Lecture 1 Introduction to symbolic NLP - Parsing techniques

    Slides: Intro to the course
    Slides: Should AI imitate cognitive mechanisms?    

Lecture 2 Introduction to linguistics

    Slides: Intro Linguistics
    Slides: Parsing     

Lecture 3 Word embeddings (Chloe Clavel)

    Slides: Word embedding (Chloé Clavel)

Lecture 4 Knowledge representation,
application of knowledge bases,
rule mining (Fabian Suchanek)

    Slides: Knowledge representation & Information extraction    

Lecture 5 Procedural semantics             Watch the lecture on Procedural semantics

    Slides: Structures to represent meaning
    Slides: Procedural Semantics

Lecture 6 Contrast and aspect

    Slides: Contrast
    Slides: Aspect     

Lecture 7 Relevance and argumentation          Watch the lecture on relevance in argumentation (30')

    Slides: Relevance
    Slides: Argumentation examples
    Slides: Argumentation
    Slides: CAN (conflict - abduction - negation)
    See also:
    Simplicity Theory website
    Wikipedia page on BDI (belief-desire-intention)
    Google’s Lambda project

Lecture 8 XAI: explainable Artificial Intelligence
(Etienne Houzé)

    Slides XIA

Project, Quiz & evaluation     See 2022 quiz with answers

    Read the 2022 proceedings (Students’ microstudies)

Lab sessions

1. Syntax & parsing     11/05/2022    →    17/05/2022
2. Procedural Semantics
    25/05/2022    →    31/05/2022
3. Processing aspect     01/06/2022    →    07/06/2022
4. Relevance and argumentation
    08/06/2022    →    14/06/2022

Students are asked to complete the exercises of each session within 7 days.



   read →
PdfIcon.png     the 2022 proceedings (student’s microstudies)    

Each student will choose a problem related to the above topics and perform a micro-research on that problem. Students will write a 3-page paper (typical structure: problem, relevant studies, claim, evidence, discussion, bibliography (with weblinks)).
Note: the project should include some programming (this is a computer science course). So pure bibliographic projects would not suffice.

The study should be related to symbolic NLP. The easiest way to do this study is to work on a topic closely related to one of the lab work sessions. You are free, however, to work on any other relevant topic. Be careful to keep it feasible: it’s supposed to be a mini-study.
Caveat: if your study involves statistical aspects, only the symbolic part will be considered in the evaluation. Implementation language should be Prolog or Python (ask in case of problem).

Examples: Extend a grammar to analyze more complex sentences (such as the fist sentence of this section); create a grammar for a different language; extend the lab work on procedural semantics to understand more sentences about chess; or to understand sentences about the genealogy of an actual family; extend the lab work on aspect to include more aspectual words (always, ancient, already, still, ...); create a mini-knowledge base on a specific domain (football, Roland-Garros...) and use CAN (last lab work) to propose interactive dialogues; etc.

Indicate the topic of your study     →    HERE
(you may change your mind at will).
You may also See already chosen projects.

Use this page to upload your report (see below report template).

Students may work in pairs. In this case, the respective contributions of each student should appear unambiguously. And the expectations are of course doubled.

Your small report will describe your project and what you found (typically: 2 or 3 pages of text). Don’t forget to use the template (see above).
The project itself can be handed in until June 29th.
Please post:


Forum: Feedback
Please provide any useful comment about the course.



Introduction to AI

Introduction to NLP

About the limits of statistical AI

Cognitive Linguistics

Explainable AI