321 lines
18 KiB
TeX
321 lines
18 KiB
TeX
\documentclass[french,a4paper]{article}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[frenchb]{babel}
|
|
\usepackage{hyperref}
|
|
\hypersetup{%
|
|
colorlinks,%
|
|
citecolor=black,%
|
|
filecolor=black,%
|
|
linkcolor=black,%
|
|
urlcolor=black%
|
|
}
|
|
|
|
\title{FMIN327 Cognition individuelle et collective\\Protocoles artificiels entre agents naturels}
|
|
\author{BONAVERO Yoann \and DUPÉRON Georges}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
\begin{abstract}
|
|
Dans cet article, nous effecteuons une étude comparative de
|
|
différents protocoles de communication utilisés par les humains
|
|
susceptibles d'être utilisés dans la communication homme-machine,
|
|
sans grand apprentissage de la part des humains. Nous montrons qu'en
|
|
général, le niveau d'expressivité d'une langue est inversément
|
|
proportionnel à son niveau de formalisme. Nous montrons aussi que
|
|
les langages centrés sur un domaine d'application peuvent être à la
|
|
fois expressifs dans ce domaine et avoir un haut niveau de
|
|
formalisme.
|
|
\end{abstract}
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\section{Introduction}
|
|
\subsection{Approche générale}
|
|
Tout individu quel qu'il soit, privé de toutes formes de communication,
|
|
d'émotions et de sensations, ne peuvent en aucune manière évoluer et
|
|
former de groupes cohérents. L'intégrité et la cohérence d'un groupe
|
|
passe majoritairement par un échange d'informations entre les individus.
|
|
Celles-ci ne peuvent pas être transmises n'importe comment, les individus
|
|
constituant le groupe doivent être en mesure de les comprendre.
|
|
|
|
Le formatage de l'information devient essentiel tout comme le
|
|
support qui va être utilisé pour la transmettre.
|
|
Au fil du temps les individus ont apris à échanger des idées et des
|
|
concepts de diverses manières. Que ce soit par le biais de gestes, de
|
|
dessin, de rictus ou bien d'autre, les hommes ont petit à petit mis en
|
|
place un moyen de communication efficace. Toutes ces façons de
|
|
transmettre l'information ont sans cesse évolué pour répondre en
|
|
permanance aux besoins.
|
|
|
|
Dans la communication il est possible de regrouper en deux grandes
|
|
catégorie les protocoles de communication. Il y a ceux qui sont
|
|
"naturels", qui ont évolués de manière organique au fil des années, et
|
|
ceux qui sont inventés par un «individu» dit artificiels.
|
|
|
|
\subsection{But de l'étude}
|
|
Le but de cette étude est de trouver un ou des protocoles de
|
|
communication entre agents qui seraient facilement appris par des
|
|
agents naturels (les humains), qui pourraient de préférence être
|
|
utilisés dans la communication de tous les jours (cela assurerait que
|
|
les humains maîtriserait bien le protocole), et qui seraient
|
|
facilement «compris» par une machine.
|
|
|
|
Comme un tel protocole n'existe probablement pas, nous étudierons la
|
|
facilité d'apprentissage par les humains, l'expressivité et la
|
|
facilité de compréhension par une machine de plusieurs protocoles,
|
|
afin de trouver les caractéristiques du protocole qui semblent lui
|
|
permettre de satisfaire ces trois critères.
|
|
|
|
% TODO : nettoyer un peu ça vis-à-vis du paragraphe ci-dessus.
|
|
Nous nous intéresserons donc principalement aux protocoles
|
|
artificiels. En effet, les protocoles naturels, de part leur évolution
|
|
non contrôlée au fil du temps ont tendance à être très ambigus, et
|
|
avoir une grammaire comportant beaucoup d'exceptions (donc difficile à
|
|
interpréter), et une syntaxe approximative, qui accepte différents
|
|
ordres pour les mots d'une phrase, mais souvent avec une différence
|
|
dans la sémantique.
|
|
|
|
Nous chercherons aussi à ce que les protocoles étudiés soient
|
|
formels. En d'autre termes ceux qui ont normes, des règles bien
|
|
définies, qui permettent de définir le protocole de manière unique et
|
|
sans ambiguïtées, ce qui facilite leur interprétation par la
|
|
machine. La plupart des protocoles artificiels ont une syntaxe et une
|
|
grammaire plutôt rigoureuse.
|
|
|
|
Nous considèrerons les protocoles parlés couremment par un gand nombre
|
|
d'agents naturels (des humains). Nous n'explorerons pas la possibilité
|
|
d'utiliser ces mêmes protocoles entre des agents artificiels comme des
|
|
robots ou des ordinateurs, ni des protocoles prévus dans ce but (car
|
|
ils sont en général inadaptés à l'apprentissage par les humains).
|
|
|
|
\subsection{Criètres}
|
|
Pour chaque protocole de communication, nous étudierons plusieurs critères~:
|
|
\begin{itemize}
|
|
\item La facilité d'apprentissage par un individu.
|
|
\item L'ambigüité de son vocabulaire, sa grammaire et sa syntaxe,
|
|
autrement dit la difficulté qu'une machine aura à comprendre le
|
|
protocole.
|
|
\item L'expressivité du protocole, autrement dit la facilité avec
|
|
laquelle un humain pourra exprimer des concepts et relations
|
|
complexes.
|
|
\end{itemize}
|
|
|
|
\section{Les langues naturelles}
|
|
|
|
Les langues naturelles sont les protocoles de communication les mieux
|
|
maîtrisés par les humains.
|
|
|
|
Cependant, le vocabulaire est source d'ambigüité, d'une part à cause
|
|
des multiples définitions d'un mot, et des connotations qu'il peut
|
|
acquérir selon son contexte, et d'autre part à cause des néologismes
|
|
qui ne seraient pas encore répertoriés dans un dictionnaire, dont le
|
|
sens est difficile à déterminer de manière certaine en utilisant
|
|
seulement leur étymologie.
|
|
|
|
De même, comme expliqué précédemment, leur grammaire est irrégulière
|
|
et bien qu'elle permette souvent de faciliter la compréhension de la
|
|
phrase (on pourra rattacher un adjectif au féminin seulement aux
|
|
substantifs féminins de la phrase, ce qui élimine des combinaisons
|
|
possibles), les mots invariables et autres exceptions apparaissent
|
|
trop souvent pour que l'on puisse compter dessus.
|
|
|
|
La syntaxe de ces langues est elle aussi une grande source d'ambigüité
|
|
puisque changer l'ordre des mots d'une phrase peut résulter en une
|
|
autre phrase correcte, mais avec un sens plus ou moins différent de la
|
|
première, sans qu'il y ait vraiment de règles formelles décrivant
|
|
cela.
|
|
|
|
L'expressivité des langues naturelles est très grande, bien que pas
|
|
illimitée, car il est parfois difficile de décrire des formes et
|
|
images, ou encore des sons, des odeurs ou d'autres sensations.
|
|
|
|
Les langues naturelles sont donc faciles à apprendre, disposent d'une
|
|
grande expressivité, mais sont très ambigues. Il est possible de
|
|
réduire un peu l'ambiguité en s'imposant des contraines (uniquement
|
|
des phrases «sujet verbe objet» par exemple), auquel cas on perd en
|
|
expressivité.
|
|
|
|
% TODO : pilud-ml "english (even controlled) for programming".
|
|
|
|
\section{Une langue construite : L'Espéranto}
|
|
L'espéranto est une langue construite, créée par Ludwik Lejzer
|
|
Zamenhof en 1887, dans le but de créer une langue universelle
|
|
facilitant la communication entre peuples. L'espéranto compte à ce
|
|
jour environ deux millions de locuteurs.
|
|
|
|
Ce n'est pas la seule langue construite, parmi les autres on compte le
|
|
lojban, créé pour permettre une expression puissante de la logique,
|
|
ainsi que les diverses langues créées par J.R.R Tolkien. Nous
|
|
prendrons l'espéranto comme exemple parmi les langues construites car
|
|
c'est l'une des plus connues.
|
|
|
|
Bien que peu de gens parlent l'espéranto, c'est une langue qui est
|
|
facile à apprendre. On estime qu'il faut compter 150 heures d'étude
|
|
pour pouvoir suivre une conversation courante enespéranto. L'espéranto
|
|
est donc relativement facile à apprendre, même pour les gens ne le
|
|
parnant pas encore.
|
|
|
|
Le vocabulaire de l'espéranto, comme celui de la plupart des langues
|
|
naturelles, contient des ambigüités, certains mots sont polysémiques,
|
|
et peuvent acquérir un nouveau sens en fonction du
|
|
contexte. Cependant, comme l'espéranto est une langue agglutinante, on
|
|
peut construire un large vocabulaire avec peu de racines.
|
|
|
|
Cependant, l'espéranto dispose d'un grammaire régulière, c'est à dire
|
|
sans exceptions. Cela permet donc de facilement faire une relation
|
|
ente l'orthographe d'un mot et sa fonction dans la phrase, en
|
|
analysant ses préfixes et suffixes.
|
|
|
|
Cette association entre une langue agglutinante et une grammaire
|
|
régulière nous permet de penser qu'il «suffit» pour un programme de
|
|
comprendre la sémantique des racines et des différents préfixes et
|
|
suffixes pour maîtriser une grande partie du vocabulaire, et
|
|
«comprendre» des concepts complexes. Par exemple, à partir de la
|
|
racine \emph{vid}, qui concerne la vue, on peut facilement comprendre
|
|
le verbe voir (\emph{vid}i), le substantif vue (\emph{vid}o), et même
|
|
des concepts plus complexes comme le visible et l'invisible
|
|
(\emph{vid}ebla kaj ne\emph{vid}ebla).
|
|
|
|
La syntaxe de l'espéranto n'est pas beaucoup fixée, comme en latin,
|
|
l'ordre des mots importe peu, même s'il permet de mettre l'accent sur
|
|
certains mots. Pour qu'une machine produise des phrases, c'est un
|
|
avantage, car cela permet de ne pas trop se soucier de l'ordre des
|
|
mots sans parler «petit nègre». Pour qu'une machine comprenne les
|
|
humains, cela signifie que l'on peut imposer à l'utilisateur d'écrire
|
|
ses phrases sous une certaine forme, pour faciliter l'analyse, sans
|
|
que cela réduisse grandement l'expressivité.
|
|
|
|
En ce qui concerne l'expressivité justement, bien que l'espéranto ait
|
|
fait l'objet de plusieurs critiques considérant que puisque
|
|
l'espéranto était une langue construite il ne pouvait pas avoir la
|
|
richesse d'une langue naturele, il est communément admis par les
|
|
espérantistes que l'expressivité de l'espéranto est aussi grande que
|
|
celle des langues naturelles. On trouve en espéranto de la poésie, des
|
|
discours politiques, des contes pour enfants et même des articles
|
|
encyclopédiques (il existe une version de wikipedia en espéranto).
|
|
|
|
L'espéranto est donc un protocole de communication relativement facile
|
|
à apprendre, disposant d'une grande expressivié, assez ambigu mais
|
|
moins que la plupart des langues naturelles. On peut imposer des
|
|
contraintes sur la syntaxe (et le vocabulaire, en fixant une
|
|
sémantique précises pour les racines) pour le rendre moins ambigu sans
|
|
perdre beaucoup en expressivité.
|
|
|
|
\section{Alphabets et logogrammes}
|
|
|
|
% Différences entre alphabets et les idéogrammes & co. Expliquer brièvement leurs propriétés.
|
|
\subsection{L'alphabet}
|
|
|
|
% \subsubsection{Ses origines}
|
|
% \subsubsection{Dans quel but}
|
|
% \subsubsection{Des exemples}
|
|
|
|
\subsection{idéogrammes}
|
|
\subsection{etc.}
|
|
|
|
% TODO : titre pourri !
|
|
\subsection{Représentations}
|
|
|
|
\subsubsection{Le morse}
|
|
Le code Morse est généralement attribué à Samuel Morse. Ce code à été inventé pour la télégraphie en 1835.
|
|
Il consiste en une série d'impulsions. Les lettres, chiffres et signes de ponctuation sont représenté par des séries d'impulsions.
|
|
Seulement deux types d'impulsions son nécessaires pour tout coder, une impulsion courrte que l'on appelle généralement
|
|
"Point" et une impulsion longue appellée "Trait".
|
|
|
|
Ce protocole est facile à apprendre pour les humains (une liste de quelques séries d'impulsions à associer à chaque lettre), mais il est
|
|
difficile à utiliser pour l'écriture, et encore plus désagréable pour la lecture (si on rate une impulsion, les impulsions suivantes
|
|
risquent de former des symboles valides, mais différents de ceux du message d'origine). Bien qu'il ait été utilisé pour la communication
|
|
entre humains, il s'agit réellement d'une forme de communication primitive avec une machine qui transmettait l'information à une autre via
|
|
une ligne télégraphique ou par ondes radio.
|
|
|
|
Ce protocole de communication possède un vocabulaire très restreint (le point et le trait, soit un bit, qui assemblés forment les lettres de
|
|
l'alphabet, chiffres et ponctuation). Il n'y a pas à proprement parler de grammaire ni de syntaxe, mis à part que l'assemblage des points et
|
|
des traits fait émerger des symboles plus «gros» (lettres, chiffres et ponctuation). Il est donc très facile à comprendre pour une machine,
|
|
car il suffit de transcrire les points et traits en bits 0 et 1, et un simple automate à états finis permettra de décoder ces séquences de
|
|
bits en une suite de lettres.
|
|
|
|
Cependant, cette compréhensions s'arrêtrera à une suite de symboles sans sémantique, car le morse possède une très faible expressivité~: Il
|
|
s'agit simplement d'un encodage de l'alphabet, qui lui-même, comme vu précédemment, nécessite un protocole de plus haut niveau (une langue,
|
|
un langage de programmation…) pour transmettre un message sémantique. Son expressivité est donc comparable à celle du braille (voir
|
|
ci-dessous), voire inférieure car le braille délimite naturellement les symboles, alors que le morse n'apporte pas cette information (il
|
|
faut donc avoir la série d'impulsions depuis le début, ou bien détecter des séquences invalides ou improbables pour trouver le début d'un
|
|
des symboles).
|
|
|
|
Les militaires ont utilisé ce code pour effectuer des transmission codées, et même si un spectre de fréquence radio et toujours réservé pour
|
|
les sueles émission en morse, il s'agit réellement de la couche physique de la communication selon le modèle OSI, soit la couche la plus
|
|
basse. Ce code n'apporte pas de grand intérêt en terme de communication homme-machine~: difficile à manipuler pour les humains, un
|
|
vocabulaire très restreint et par conséquent une expressivité faible.
|
|
|
|
\subsubsection{Le braille}
|
|
Le braille est une manière de représenter l'alphabet. il consiste en une représentation en relief de l'ensemble des lettres, chiffres,
|
|
ponctuation, et autres symboles en relief. Il a été étudié pour permettre la lecture simplement avec les doigts. Le braille a été mis au
|
|
point par Louis Braille en 1824 et reste aujourd'hui après une série de réformes et normalisations toujourstrès utilisé.
|
|
|
|
Ce protocole est assez facile à apprendre, bien qu'il faille une certaine habitude pour lire le braille avec les doigts. Ce code est un peu
|
|
plus expressif que le code Morse vu précédement puisqu'il permet de représenter la majorité est symboles par une seule cellule, et délimite
|
|
donc les symboles sans qu'il y ait besoin d'analyser tout le flux précédent. Cependant l'utilité dans l'échange homme-machine reste, comme
|
|
pour le Morse, très faible.
|
|
|
|
\subsubsection{La langue des signes}
|
|
Très court hitorique et but.
|
|
|
|
LSF : encodage des lettres, mais aussi sens. Aussi difficile à apprendre qu'une nouvelle langue.
|
|
|
|
Beaucoup d'ambigüité sur les signes, dans la direction, la vitesse…
|
|
|
|
Ordis peuvent le parler (Projet IBM), mais difficile à comprendre.
|
|
|
|
Aussi expressif que langue naturelle.
|
|
|
|
\section{Langages spécifiques à un domaine}
|
|
\subsection{Documents techniques et formules mathémathiques}
|
|
% TODO
|
|
|
|
Les documents techniques, parmi lesquels ont peut trouver différentes vues d'objets (vue en perspective, d'ensemble, de coupe, éclatée…),
|
|
sont des représentation très formelle d'objets ou de concepts. Leur forme est en général assez facile à apprendre pour les humains, car il
|
|
s'agit simplement d'un certain nombre de règles à respecter. Ces documents techniques sont normalisées et laissent place à très peu, voire
|
|
aucune ambigüité dans les représentations.
|
|
|
|
Les formules mathémathiques forment un autre protocole similaire aux documents techniques, très formel, bien que beaucoup de personnes aient
|
|
tendance à être laxistes sur la syntaxe.
|
|
|
|
L'expressivité de ces protocoles est toutefois relative : Tant que l'on considère uniquement leur domaine d'application, ils restent très
|
|
expressifs (quoi de mieux qu'une formule mathémathique pour parler d'algèbre ?), cependant ces protocoles ne formalisent pas la relation
|
|
entre les choses exprimées et leur contexte. En effet il est très difficile de retrouver la sémantique d'une formule lorsque celle-ci est
|
|
déjà écrite et isolée, et si nous comprenons à quoi se réfèrent les formes dessinées dans une vue éclatée, c'est uniquement par analogie
|
|
avec les objets physiques que nous connaissons déjà. De plus, ces protocoles ne sont expressifs que dans une discipline particulière.
|
|
|
|
Il est assez simple de stocker sur une machine des documents techniques ou des formules mathémathiques et même de les restituer, par exemple
|
|
sous forme visuelle (sur un écran). Ces protocoles sont relativement faciles à apprendre, et compréhensibles pour une machine, sont très
|
|
expressifs mais seulement dans leur domaine. Ils peuvent donc être adaptés à la communication homme-machine dans un domaine particulier,
|
|
mais pour une communication généralisée, il faudra les utiliser conjointement avec d'autres protocoles.
|
|
|
|
\subsection{Langages de programmation spécifiques à un domaine}
|
|
|
|
Difficiles à apprendre, mais pas trop, et être un expert du domaine aide beaucoup.
|
|
|
|
Ambigüité faible.
|
|
|
|
Expressivité forte, mais seulement dans le domaine.
|
|
|
|
Exemples : BCL, …
|
|
|
|
\section{Conclusion}
|
|
Graphique de comparaison des différents supports en terme d'expressivité et de formalisme.
|
|
|
|
Ouverture : une collection de langages spécifiques à un domaine : Un pour le déroulement global de la conversation, un ou plusieurs
|
|
permettant de faire la liaison entre les concepts et relations exprimés dans différents protocoles, puis un pour chaque domaine pour lequel
|
|
on veut converser avec la machine. Cela exige un effort d'apprentissage plus élevé pour l'agent naturel, car il faut qu'il apprenne un
|
|
nouveau protocole pour chaque dicipline. Cependant, cet effort d'apprentissage est morcelé : l'utilisateur peut commencer par apprendre
|
|
seulement quelques protocoles, converser avec la machine, puis au fil des besoins apprendre de nouveaux protocoles au fur et à mesure.
|
|
|
|
Pour résumer, l'utilisateur dialoguerait avec la machine en utilisant une multitude de «jargons» adaptés à une communication efficace et
|
|
sans ambigüités dans leur domaine, et quelques protocoles transversaux pour articuler la discussion et relier entre eux les fragments de
|
|
conversation rédigés dans des langages différents.
|
|
|
|
%schéma montrant cette architecture.
|
|
|
|
\end{document}
|