LOGIQUE ET LANGAGE NATUREL des anciennes connexions aux

publicité
LOGIQUE ET LANGAGE NATUREL
des anciennes connexions
aux applications récentes
Christian Retoré
Équipe Texte, LIRMM, Université de Montpellier
Visite ÉNS Lyon
20-21 novembre 2014
A
Traitement automatique des
langues
A.1.
Famille de problèmes à traiter
Deux tâches classiques (traduction= A puis B)
A analyse automatique (de texte, de parole, annoté ou non)
résultat ?
B génération automatique (de texte, de parole)
à partir de quoi ?
Domaine propre (recherche d’information) mais aussi utile pour A
et B ci-dessus
— fouille, acquisition (des données pour les autre tâches ou RI)
A.2.
Applications
Traduction automatique, aide à la traduction
The flesh is weak but the spirit is willing.
(russian)
The meat is rotten but the vodka is strong.
Aide à la traduction : domaine spécifique, bonne représentation
des connaissances, reformation, interaction avec l’utilisateur.
Correcteurs orthographiques (Word(Synapse) : vert : grammaires
rouge : lexique)
(1)
QuelS livreS crois-tu qu’il sait que je pense que tu as luS ?
Dialogue homme machine
(2)
Quels sont les films des années cinquante qui passent actuellement à Bordeaux ?
(3)
Les enfants prendront une pizza.
Résumé automatique
Réponse à des questions (question answering cf. text entailment)
Geach était il l’élève de Wittgenstein ?
Domaine relié : recherche d’information différence : Big Data,
beaucoup de données, analyse superficielle, méthodes statistiques,
machine learning
"ici, on ne vend pas de CD seulement des vinyles"
"production laitière / production de lait" mais "production
minière / production de mine(s)"
B
Les niveaux d’analyse de la
langue & leurs méthodes
B.1.
B.1.a
Les sons : phonétique/phonologie
Phonétique
Acoustique / système phonatoire/auditif
Traitement du signal / médecine
B.1.b
Phonologie
Les sons abstraits : systéme discret (dans un continu)
(4)
Bali / Paris indistincts pour un japonais
Automates et transducteurs
B.2.
B.2.a
Les mots : morphologie
Morphologie dérivationnelle
changement de catégorie possible
allumer/allumage témoigner/témoignage maquiller/maquillage garer/garage égarer/égarement aménager/aménagement
maison /maisonnette camion /camionnette carpe/carpette
B.2.b
Morphologie flexionnelle
pas de changement de catégorie (automates et transducteurs)
cheval → chevaux
aller → allons
aller → va
aller → irons
B.2.c
Étiquetage grammatical
nom, verbe, déterminant etc.
Automates ou probas (modèles de Markov cachés)
B.3.
Analyse de la phrase (arbre) : syntaxe
(5)
Réparer fais les la le.
(6)
*Je fais la réparer
(7)
(8)
Je la fais réparer
* [[Pierre [mange une]] pomme]
(9)
Pierre [mange [une pomme]]
Grammaires formelles (CFG, TAG etc)
Déduction formelle (cf. ci-après)
Arbres satisfaisant des contraintes (par ex. "le sujet précède le
verbe")
B.4.
B.4.a
Le sens : sémantique
Le sens d’un mot : sémantique lexicale
Sens, restrictions de sélection, mots associés (logique, probabilités, graphes (petit monde), jeux)
Rôle télique : être lu, informer, cultiver,
Rôle constitutif : pages, couvertures
Rôle agentif : imprimeur, auteur,
B.4.b Le sens d’une phrase : semantique compositionnelle, formelle
Phrase -> formule logique
Sens : ensemble des mondes possible dans lequel la phrase est
vraie
(ces 2 approches sont compatibles mais ne coïncident pas forcément)
B.5. L’interprétation en en contexte (discours, dialogue) : pragmatique
Prise en compte du contexte linguistique et extra linguistique
(10)
(11)
a.
b.
a.
b.
Il est tombé. Quelqu’un l’a poussé.
"l"="il" + causalité
Allons plutôt dans ce restaurant.
"nous" ? "ce" ?
B.6.
Deux notions de sémantique
De quoi ça parle (analyse de texte, par des méthodes statistiques).
Qui fait quoi, ce qui est affirmé et réfuté (analyse de quelques
phrases par des méthodes logiques).
Geach était il l’élève de Wittgenstein ?
Wikipédia : En 1941, IL épousa la philosophe Elizabeth
Anscombe, grâce à LAQUELLE IL entra en contact
avec Ludwig Wittgenstein. Bien qu’IL N’ait JAMAIS
suivi l’enseignement académique de CE DERNIER,
cependant IL EN éprouva fortement l’influence.
Dans cet exposé : syntaxe (déductive) et sémantique (logique) de
la phrase et des mots.
C
Logique et langage : historique
C.1.
Syntaxe/grammaire et sémantique/logique
phrase = proposition qui peut être vrai ou fausse
les propositions des syllogismes sont formulées en langage naturel. Baroco
tout conducteur montpelliérain est pressé (A)
certains conducteurs ne sont pas pressés (O)
donc certains conducteurs ne sont pas des conducteurs
montpelliérains (O)
verbe intransitif = prédicat à un argument (=sujet)
verbe transitif = prédicat à deux arguments
nom commun = prédicat
adjectif = propriété ou propriété de propriété ? ?
Les étudiants sont des musiciens.
Les étudiants lyonnais sont de(s) musiciens lyonnais.
Les bons étudiants sont des bons musiciens.
C.2.
Quelques questions issues de la scolastique
Lecture de re et de dicto (Thomas d’Aquin, Ockham)
(12)
a. James Bond croit qu’un chercheur du LIRMM est un
espion.
b. Il a vu Laurent refermer son tiroir. (de re)
c. Il a trouvé un code sur un papier qui traînait. (de dicto)
Sens/dénotation (Abélard,Frege)
(13)
a. L’étoile du matin (Vénus).
b. L’étoile du berger. (Vénus)
D
Analyse logique du sens d’une
phrase
D.1.
Syntaxe catégorielle : principe
catégories S : phrase, np : noun phrase (groupe nominal), n : nom
commun
si w : B/A alors w suivi de u : A donne wu : B
réciproquement, si w suivi de n’importe quoi (une variable) de type
A est de type B alors w est de type B/A
au moins deux hypothèses
A hypothèse la plus à gauche
... [A] ... ...
··
·
B
\i — l’hyp. A est annulée
A\B
Γ
∆
··
··
·
·
A A\B
\e
B
D.2.
A\B même chose, mais A est à gauche
au moins deux hyp. libres
A hyp. libre la plus à droite
... ... [A] ...
··
·
B
/i — l’hyp. A est annulée
B/A
Γ
∆
··
··
·
·
B/A A
/e
B
D.3. Analyse syntaxique = déduction (parsing as
deduction)
Une phrase est correcte si on peut assigner à chaque mot
une catégorie de sorte que la suite des catégories dérive S.
m1 ... mn est une phrase ssi :
∀i∃ci ∈ Lex(mi ) c1 ... cn ` S
D.4.
Sémantique compositionnelle : principes
Le sens d’une expression composée est fonction du sens de ses
parties (Frege) et de leur assemblage syntaxique (Montague)
(Catégorie syntaxique)∗ = Type sémantique
S∗ = t
une phrase est une proposition
np ∗ = e
un groupe nominal est une entité/individu
n∗ = e → t un nom commun est une propriété des entités
(A\B)∗ = (B/A)∗ = A → B propage la traduction
D.5.
Des constantes pour les opérations logiques
Constant
∃
∀
∧
∨
⊃
Type
(e → t) → t
(e → t) → t
t → (t → t)
t → (t → t)
t → (t → t)
D.6.
Des constantes pour les prédicats du langage
La dénotation des mots requiert des prédicats :
aime
λ xλ y (aime y ) x x : e, y : e, aime : e → (e → t)
« aime » est un prédicat binaire
Garance λ P (P Garance) P : e → t, Garance : e
« Garance » est décrite comme
les propriétés de « Garance »
D.7.
Sémantique à la Montague : algorithme
1. analyse syntaxique preuve de S
2. conversion en lambda terme de type t sur e et t
3. insertion des lambda terme lexicaux (même type)
4. réduction
→ terme de type t
= formule logique
= sens de la phrase analysée
D.8. Exemple de calcul sémantique :
les enfants prendront une pizza
mot
les
une
enfant(s)
pizza
prendront
catégorie syntaxiqueu
type sémantique u ∗
sémantique : λ -term of type u ∗
x v signifie x (variable, constante) de type v
(S/(np\S))/n (subject)
((S/np)\S)/n (object)
(e → t) → ((e → t) → t)
λ P e→t λ Q e→t (∀(e→t)→t (λ x e (⇒t→(t→t) (P x)(Q x))))
((S/np)\S)/n (object)
(S/(np\S))/n (subject)
(e → t) → ((e → t) → t)
λ P e→t λ Q e→t (∃(e→t)→t (λ x e (∧t→(t→t) (P x)(Q x))))
n
e →t
λ x e (enfante→t x)
n
e →t
λ x e (pizzae→t x)
(np\S)/np
e → (e → t)
λ y e λ x e ((prendronte→(e→t) x)y )
D.9.
Analyse syntaxique ∃∀
Il y a deux analyse syntaxique possibles. Une :
∃∀
(S/(np\S))/n
(S/(np\S))
n
/e
S
S/np
(np\S)/np
(np\S)
[np]1
/e
/i (1)
/e
((S/np)\S)/n
(S/np)\S
S
n
\e
\e
D.10.
Syntaxe → λ -terme sémantique de la phrase
∃∀
les
(e→t)→(e→t)→t
enfants
(e→t)
→e
(e→t)→t
t
e→t
o
[e]1
prendront
e→e→t
e→t
→e
→e
→i (1)
(e→t)→t
t
Le λ -terme correspondant est :
∃∀ = (une pizza)(λ o e (les enfants)(prendront o))
Il faut encore :
1. insérer les lambda terme lexicaux et
2. réduire/calculer
une
(e→t)→(e→t)→t
pizza
(e→t)
→e
→e
D.11.
Calculs, par étapes 1/2
(une pizza)
= (λ P e →t λ Q e →t (∃(e →t )→t (λ x e (∧t →(t →t ) (P x)(Q x)))))(λ z e (pizzae →t z))
= (λ Q e →t (∃(e →t )→t (λ x e (∧t →(t →t ) ((λ z e (pizzae →t z)) x)(Q x)))))
= (λ Q e →t (∃(e →t )→t (λ x e (∧t →(t →t ) ((pizzae →t x)))(Q x))))
(les enfants)
= (λ P e →t λ Q e →t (∀(e →t )→t (λ x e (⇒t →(t →t ) (P x)(Q x)))))(λ u e (enfante →t u))
= (λ Q e →t (∀(e →t )→t (λ x e (⇒t →(t →t ) ((λ u e (enfante →t u)) x)(Q x)))))
= (λ Q e →t (∀(e →t )→t (λ x e (⇒t →(t →t ) (enfante →t x)(Q x)))))
(les enfants)(prendront o) =
(λ Q e →t (∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )(Q w )))))((λ y e λ x e ((prendronte →(e →t ) x)
= (λ Q e →t (∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )(Q w )))))(λ x e ((prendronte →(e →t ) x) o))
= ∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )((λ x e ((prendronte →(e →t ) x) o)) w )))
= ∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )(((prendronte →(e →t ) w ) o))))
D.12.
Calculs, par étapes 2/2
(une pizza)(λ o (les enfants)(prendront o))
= (λ Q e →t (∃(e →t )→t (λ x e (∧t →(t →t ) ((pizzae →t x)))(Q x))))
(λ o∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )(((prendronte →(e →t ) w ) o)))))
= (∃(e →t )→t (λ x e (∧t →(t →t ) ((pizzae →t x)))
((λ o∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )(((prendronte →(e →t ) w ) o))))) x)))
= (∃(e →t )→t (λ x e (∧t →(t →t ) ((pizzae →t x)))
(∀(e →t )→t (λ w e (⇒t →(t →t ) (enfante →t w )((prendronte →(e →t ) w ) x))))))
ce qui s’écrit communément :
∃x. pizza(x) ∧ ∀w . (enfant(w ) ⇒ prendront(w , x))
D.13.
Avec l’autre analyse syntaxique...
∀∃
(np\S)/np
[np]1
S/np
(S/(np\S))
\e
((S/np)\S)/n
/i (2)
/e
np\S
Qui correspond à l’analyse :
n
\e
(S/np)\S
\e
S
n
S
∀∃
/e
(np\S)
S
(S/(np\S))/n
[np]2
\i (1)
/e
s
[ e]1
prendront
e→e→t
e→t
t
les
(e→t)→(e→t)→t
enfants
(e→t)
(e→t)→t
e→t
o
[e]2
→e
une
(e→t)→(e→t)→t
→e
→i (2)
→e
t
t
e→t
→e
→i (1)
→e
∀∃ = (les enfants)(λ s. (une pizza)(λ o ((prendront o) s)))
((une pizza) et (les enfants) déjà faits)
→e
(e→t)→t
λ -terme de la phrase :
on insère les λ -termes lexicaux et on calcule
pizza
(e→t)
D.14.
Calculs (bis repetita placent)
(une pizza)(λ o ((prendront o) s))
= (λ Q e→t (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))(Q x))))
(λ o (((λ y e λ x e ((prendronte→(e→t) x) y )) o) s)))
= (λ Q e→t (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))(Q x))))
(λ o ((prendronte→(e→t) s) o))
= (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))((λ o ((prendronte→(e→t) s) o)) x)))
= (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))((prendronte→(e→t) s) x)))
∀∃ = (les enfants)(λ s. (une pizza)(λ o ((prendront o) s)))
= (λ Q e→t (∀(e→t)→t (λ u e (⇒t→(t→t) (enfantse→t u)(Q u)))))
(λ s. (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))((prendronte→(e→t) s) x))))
= (∀(e→t)→t (λ u e (⇒t→(t→t) (enfantse→t u)
((λ s. (∃(e→t)→t (λ x e (∧t→(t→t) ((pizzae→t x)))((prendronte→(e→t) s) x)))) u)))))
= (∀(e→t)→t (λ u e (⇒t→(t→t) (enfantse→t u)
(∃(e→t)→t (λ x e . (∧t→(t→t) ((pizzae→t x)))((prendronte→(e→t) u) x))))))
ce qui s’écrit communément :
∀u. enfants(u) ⇒ ∃.x pizza(x) ∧ prendront(u, x)
D.15.
Comment construire un lexique sémantique ?
Acquisition des λ -termes lexicaux : pas facile... même avec de bonne annotations.
Mots grammaticaux (prépositions, conjonctions, pronoms, etc.) à la main.
Noms communs "cha" -> λ x e .chat(x)
E
Le sens des mots en contexte
E.1.
Le problème
On veut bloquer l’interprétation de certaines phrases :
(14)
? ? ? La chaise a gagné.
Seul un ou des êtres humains "gagne" !
Alors il faut déclencher des lectures particulières :
(15)
Liverpool a gagné ce weekend.
(16)
? ? ? Liverpool, qui est un grand port, a gagné ce weekend.
E.2.
Coercions issues des types et/ou des termes
(λ x T .f [x])(u V ) V 6= T
coercionV →T
(17)
livre et apparentés : objet matériel + contenu informationnel
(18)
a. "classe" "promotion" ensembles d’élèves
b. "classe" → "salle de classe"
c. "promotion" →
6 "salle de (la) promotion"
E.3.
Calculabilité / finitude second ordre
Beaucoup de type de base (sortes d’une logique multisorte) pour
exprimer les restrictions de sélection.
Donc on quantifie sur les types (comme en CaML, Haskell, Scala,...)
E.4. Comment construire un lexique sémantique,
pour la sémantique compositionnelle lexicale bis
Les informations existent cf réseau lexical JeuxDeMots construit
par les Internautes qui y jouent.
Comment en extraire les lambda termes et les formules
F
Autre application : cognition
F.1. Analyse, modélisation, simulation
de la faculté de langage de l’être humain
Modéliser la compréhension humaine.
complexité
préférences
(19)
? ? ? Les bateaux que le passeur auquel le chou que la
chèvre que le loup a dévoré avait mangé appartenait possède sont des barges.
(20)
a. un numéro est attribué aux étudiants
b. catégories socio-professionnelles
c. numéros de place d’examen
Formaliser, programmer,
Comparer les prédictions à la réalité → modifier la modélisation.
G Du pain sur la planche :
stage, thèse, voire toute une vie
Phénomènes linguistiques spécifiques :
— types de base (sortes) pour les restrictions de sélection
— déverbaux :
allumer/allumage
témoigner/témoignage
maquiller/maquillage
garer/garage
— voyageur virtuel
le sentier descend pendant 20 minutes
Questions mixtes :
—
—
—
—
sémantique des pluriels
sémantique des noms massifs
sémantique des événements
lexiques et ontologies
Questions logiques :
— sous typage
— lien théorie des types / calcul des prédicats
— quantification (fonction de choix, epsilon de Hilbert)
Téléchargement