Annotation déterministe un système à base de règles en deux étapes
L’application de modèles stochastiques à la composition sémantique impose l’utili- sation de données d’apprentissage pour construire les tables de probabilités condition- nelles supportant ces modèles.L’annotation manuelle en frames de l’intégralité du corpus n’était pas envisageable, tant pour des raisons de coûts que de délai de disponibilité. Un processus d’annotation en deux étapes à base de règles a donc été développé pour produire les annotations en frames des données d’apprentissage.La première étape du processus, décrite en 6.2, utilise les modèles définissant les frames pour déclencher l’instanciation de frames et de leurs FE selon que LU et CU sont rencontrés dans les données à annoter. La seconde étape, décrite en 6.3, compose les frames et FE proposés durant l’étape précédente grâce à l’application d’une série de règles logiques. Ce processus est progressivement enrichi pour améliorer ses perfor- mances.
Reconnaissance de modèles
Les modèles définissant les frames et leurs FE, présentés en 5.3, sont composés d’u- nités conceptuelles (CU) et lexicales (LU). La présence de ces CU et/ou LU dans les données à annoter déclenche l’instanciation des frames et FE auxquels ils sont associés.Aux paires concept-valeur annotées dans le corpus MEDIA peuvent être attachés un mode (affirmatif, négatif, interrogatif ou optionnel) et un spécifieur (définissant les relations entre concepts). Ces informations ne sont pas reprises dans la définition des frames et FE pour préserver leur généricité. Seuls les unités lexicales composant le mes- sage et les concepts de base annotés dans le corpus MEDIA servent de support à la définition des objets sémantiques frames et FE.
Les frames et FE produits lors de cette phase d’instanciation peuvent être vus commedes fragments isolés de représentation sémantique du message du locuteur. Les seuls liens relationnels établis entre les frames et FE sont les liens d’appartenance d’un FE à une frame. La majorité des frames et FE instanciés lors de cette étape est composée d’objets sémantiques concrets, déclenchés par la présence de LU ou de CU identifiésLe message “réserver un hôtel”, fréquemment rencontré dans le corpus MEDIA, est ainsi annoté lors de cette première phase à l’aide des deux seules frames RESERVE et HOTEL, non reliées entre elles (figure 6.1).
Règles d’inférences
La seconde étape soumet les frames et FE instanciés au cours de l’étape précédente à l’application d’une série de règles logiques. Frames et FE déterminent les valeurs de vérités des prédicats de ces règles. Selon ces valeurs de vérité, des frames et des FE peuvent être créés, supprimés, modifiés ou reliés.La création de frames et FE concerne essentiellement les frames abstraites comme illustré par l’exemple de la frame LODGING présenté en 6.2. La suppression et la mod- ification de frames et FE sont motivées par la présence d’objets redondants, instanciés par la présence de redondances dans de nombreux messages oraux du type “je veux un hotel… euh… un hotel proche de la mer.”.Enfin, la dernière fonction de cette étape d’annotation est la création de liens entre les frames et les FE. La création de ces liens est justifiée par la hiérarchie présente au sein des frames, traduite par l’aptitude de certains FE à prendre des frames pour valeurs. Les fragments sémantiques obtenus à l’issue de l’étape de reconnaissance des modèles sont composés. Les liens instanciés par les règles logiques permettent d’obtenir un arbre sémantique représentant le sens du message du locuteur.
Le langage de programmation logique Prolog (Colmerauer et Roussel, 1996), basésur le calculs des prédicats du premier ordre, a été utilisé pour réaliser toutes les in- férences logiques. Un programme Prolog se compose d’une base de faits et de règles logiques décrivant les relations entre des faits potentiels. Cette base rassemble les con- naissances du programme. Les faits sont représentés par des prédicats affirmatifs et les règles logiques s’expriment simplement sous la forme conclusion SI condition.L’exécution d’un programme Prolog consiste à soumettre une requête à l’interpré- teur. Prolog cherche à prouver que la requête est vraie en analysant chaque règle et prouvant qu’elle est vérifiée.Dans cet exemple, la règle crée un lien entre le FE lodging_hotel et la frame HOTEL sous la condition que le FE lodging_hotel ait été déclenché par la présence du concept hotel associé au message. Le FE lodging_hotel prend la frame HOTEL pour valeur, construisant ainsi une branche de l’arbre sémantique représentant le mes- sage.