Vers une approche générique pour l interprétation de commandes en langage naturel

Dimension: px
Commencer à balayer dès la page:

Download "Vers une approche générique pour l interprétation de commandes en langage naturel"

Transcription

1 Vers une approche générique pour l interprétation de commandes en langage naturel Laurent Mazuel, Nicolas Sabouret Laboratoire d Informatique de Paris 6 (LIP6) 104 av du Président Kennedy Paris FRANCE http ://www-poleia.lip6.fr/ mazuel Résumé : Dans cet article, nous nous intéressons à l interprétation des commandes en langue naturelle d un utilisateur à un agent artificiel. Nous proposons une architecture générique pour le traitement de ces commandes, c est-àdire adaptable à différents types d applications. Les algorithmes de traitement dépendent uniquement du code de l agent et de l ontologie de domaine associée à cet agent. Nous présentons ensuite une évaluation comparative de trois approches : l approche descendante, reposant sur les contraintes syntaxique du langage de description de l application, l approche ascendante, reposant sur l utilisation de connaissances sur l ensemble des actions possibles de l agent et finalement une approche combinée alliant une base ascendante avec le principe de gestion des contraintes de l approche descendante. Mots-clés : Communication humain-agent, introspection, ontologie de domaine, approche ascendante et descendante, evaluation comparative 1 Introduction 1.1 Présentation du problème La communauté des Systèmes Multi-Agent (SMA) s intéressent particulièrement et depuis longtemps à la résolution de problèmes par des agents cognitifs autonomes (Ferber, 1995). A ce titre, elle étudie les protocoles et modèles d interaction formels entre agents. Ainsi, il n existait initialement que peu de travaux sur la communication humain-agent qui reste une problématique très ouverte. On assiste de plus récemment à un regain d intérêt dans ce sens, avec les récentes applications des SMAs pour l intelligence ambiante (Gárate et al., 2005) et les services web (Paurobally et al., 2005). D autre part, la communauté Agents Conversationnels Animés s intéresse particulièrement à l interaction en langue naturel entre un utilisateur humain et un agent artificiel. Elle obtient de très bon résultats dans le domaine de l interaction multi-modale

2 RJCIA 2007 (Bickmore, 2004) et des expressions d émotions (Pelachaud, 2003). Cependant, au niveau compréhension des langues, ces approches s appuient essentiellement sur des algorithmes de pattern-matching ad-hoc sans réelle analyse sémantique Abrilian et al. (2002). D autre part, la communauté des systèmes de dialogues utilise les ontologies pour s approcher d une architecture plus générique (Dzikovska et al., 2003; Milward & Beveridge, 2003). L idée importante sous-jacente à l utilisation d ontologies est de pouvoir généraliser les algorithmes de traitement sémantique afin de les faire dépendre uniquement de son formalisme. Ainsi, ces applications ne sont plus dépendantes que de l ontologie et du résolveur de problème spécifique de la tache à accomplir. Par exemple, certains systèmes utilisent ainsi l ontologie pour paramétrer un parseur générique (Dzikovska et al., 2003; Paraiso et al., 2004). Cependant, pour obtenir de bons résultats, ils imposent un formalisme de description d ontologie très contraint, efficace pour un sous-ensemble d application, mais loin des modèles ouvert classiques (concepts relations). De plus, ce type d ontologie décrit le modèle de l application et non le domaine de travail de l application. D autre part, les systèmes de dialogues reposant sur un formalisme ouvert d ontologie (e.g. (Milward & Beveridge, 2003)) utilisent alors la structure de l ontologie pour comprendre (par exemple) des commandes trop spécifiques (recherche de concepts plus généraux que ceux employés par l utilisateur) ou à l inverse trop générales. La phrase switch the light on est un exemple de commande trop générale où le système doit proposer les différentes lampes possibles à allumer. Malheureusement, les modules de traitements des langues sont alors spécifiques de l application. Nous pensons qu il est possible d extraire la sémantique des actions du code de l application directement. L ontologie ne serait plus alors une deuxième description de l application, mais une description des liens sémantiques entre les différents concepts présents dans le domaine de l application (ce qui constitue le rôle initial d une ontologie). 1.2 Plan de l article Cet article s intéresse particulièrement à l interprétation de commandes en langue naturel (LN) pour les agents cognitifs. Nous allons essayer de montrer qu il est possible de définir un système de compréhension de LN basé uniquement sur une ontologie de domaine et des agents capables d introspection. En d autres mots, les algorithmes de TAL reste les mêmes quelque soit le domaine ou l agent utilisé. Nous proposons pour cela trois strategies, les approches descendante, ascendante et combiné. De plus, nous définissons un gestionnaire de dialogue (proche de celui proposé par P. Maes (Maes, 1994)) qui permet de lancer des dialogues de désambiguïsations pour les commandes mal comprises ou incomplètes. Dans la seconde section, nous donnerons une description générale de notre modèle d agent. La section 3 présente la chaîne de base de TAL et le gestionnaire de dialogue qui sont les parties de l architecture commune aux trois algorithmes. Dans la section 4, nous introduisons les trois algorithmes génériques différents pour l interprétation de commandes. La section 5 présente une évaluation préliminaire de ces algorithmes. La section 6 conclue l article.

3 Approche générique pour LN 2 Aperçu de notre modèle d agent Notre objectif est d être capable d écrire des agents cognitifs contrôlables par des commandes en langues naturel et capable de raisonner sur leurs actions, afin de répondre aux questions sur leur comportement et leur activité. Pour ce faire, nous utilisons un langage agent spécifique qui autorise l accès à l exécution à la description de l état interne de l agent et de ses actions. 2.1 Le modèle VDL Nos agents sont programmés en utilisant le langage VDL (View Design Language) 1. Le modèle VDL est basé sur la réécriture d arbre XML : la description de l agent est un arbre dont les noeuds représentent ses données ou ses actions. L agent réécrit l arbre à chaque étape de l exécution suivant un certain nombre de mots-clés du langage présent dans les noeuds. Ce modèle permet aux agents d accéder à l exécution à la description de leurs actions afin de raisonner dessus pour de la planification, pour répondre à des questions d états formelles (Sabouret & Sansonnet, 2001), pour modéliser son comportement, etc. Le modèle VDL peut être aussi utilisé pour la composition de service web, l écriture d Agents Conversationnels Animés (Sabouret et al., 2005), des simulations de comportements sociaux... Dans le modèle VDL, chaque agent est nanti d une ontologie OWL. Cette ontologie doit contenir au minimum tout les concepts utilisés par l agent (i.e. les concepts VDL). Ces concepts sont présents dans le code XML de l agent soit comme étiquette (i.e. tag), comme attributs ou contenu texte. Nous noterons C V DL l ensemble de tous les concepts VDL et C OW L l ensemble des concepts OWL. Il existe donc une fonction injective, que nous noterons map V DL, de l ensemble des concepts VDL C V DL de l agent vers l ensemble des concepts C OW L définis dans l ontologie. 2.2 Modèle d actions Cet article traitant de la compréhension de l utilisateur, nous nous limiterons aux réactions (par opposition au comportement proactif d un agent). En VDL, les réactions sont activées par des évènements, i.e. noeuds XML envoyés à l agent en guise de commande. Ils sont la représentation formelle (i.e. en VDL) des commandes. Les réactions décrivent comment ces messages (envoyés par un utilisateur ou même un autre agent) doivent être traités. L objectif du système décrit ici est de construire des évènements VDL à partir d une commande utilisateur en LN. En VDL, comme dans la plupart des modèles de représentation des actions, nous représentons une action par un tuple r = nom, P, E où nom est le nom de l action, P l ensemble des préconditions de l action et E son ensemble d effets. Nous pouvons définir quatre types de préconditions pour une réaction r de R, l ensemble des réactions possible : P e (r) est l ensemble des préconditions d évènement. Elles sont utilisées pour aiguiller une certaine forme d évènement vers une certaine classe de réactions, ou 1

4 RJCIA 2007 <action> <name>prendre un objet</name> <event><take><object/></take></event> <guard><not> <equals><get><battery/></get><value>0</value></equals> </not></guard> <guard><exists><evt-get><object/></evt-get></exists></guard> <guard><near><evt-get><object/></evt-get></near></guard> <put> <path><robot-hand/></path> <evt-get><object/></evt-get> </put> </action> FIG. 1 Exemple de code d action en VDL. Les différents ensembles de préconditions sont calculés en fonction de la présence de certains mots clefs dans la précondition. pour rejeter les évènements globalement mal formés. Leur interprétation dans le cadre des arbres XML utilise la subsumption pour savoir si l évènement peut être correct pour au moins une réaction. P s (r) est l ensemble des préconditions de structure. Elles sont utilisées pour vérifier la syntaxe précise d un message et assurer que la réaction a toutes les informations nécessaires pour s exécuter sans erreurs. Les préconditions de P s (r) ne dépendent donc pas de l état courant de l agent, mais uniquement de la structure détaillée de l évènement. P c (r) est l ensemble des préconditions de contexte. Ces préconditions ne dépendent que du contexte courant de l agent (e.g. un robot ne prendra pas l objet demandé si sa batterie est vide, même si l objet existe et est à portée, figure 1). P cs (r) est l ensemble des préconditions contextuelles-structurelles, i.e. préconditions dépendante de l évènement et du contexte courant de l agent. Pour exemple, un robot ne peut pas attraper un objet, spécifié dans l environnement de l agent et en paramètre dans le message, si celui-ci n est pas à portée. Nous noterons P e = r R P e (r). Pour tout e P e, nous noterons R e (e) = {r R e P e (r)} l ensemble des réactions qui peuvent être traité (i.e. dont l exécution donnera lieu à des effets) par l évènement e. 3 Architecture globale Cette section présente les modules de LN communs aux trois algorithmes d interprétation. 3.1 Outils de base de TAL Dans notre projet (figure 2), le module lexical de base est celui du projet Open Source OpenNLP 2. Ce module contient un étiqueteur, un lemmatiseur (simple lien vers 2

5 Approche générique pour LN FIG. 2 Architecture générale le lemmatiseur WordNet contenu dans JWNL 3 ). L utilisation d un lemmatiseur basé sur WordNet permet la détection des mots composés (e.g. dark red, extra large ). Comme déjà constaté par Milward (Milward, 2000) et dans une de nos précédentes évaluations (Sabouret & Mazuel, 2005), l utilisation d un analyseur syntaxique (par opposition avec un simple chunker 4 ) n est pas efficace pour les commandes en langue naturelle. En effet, les utilisateurs emploient plus souvent des mots clefs que des phrases bien structurées (e.g. drop object low ou "take blue ). Les récents travaux du domaine proposent d utiliser une modélisation logique de la commande basée sur un ensemble de contraintes logiques et non des règles strictes de grammaire (Milward, 2000; Shapiro, 2000). Ce type d approche a l avantage d être plus robuste aux formulations grammaticalement incorrectes de l utilisateur. Ainsi, nous utilisons aussi une représentation logique de la commande, basée sur un appariement des relations de l ontologie dans la commande (Mazuel, 2007). Notre algorithme cherche à modéliser les relations de la commande et ses paramètres, en fonction de la définition de cette relation dans l ontologie et des chunks de la phrase. Néanmoins, cette modélisation n intervient réellement que lors d interprétations de relations complexes (e.g. the biggest triangle ) ou dans le cas de commandes non symétriques (e.g. from London to Boston a le même sac de mots que from Boston to London ). De plus, la résolution des relations a un impact comparable sur les trois algorithmes d interprétation. Pour ces deux raisons, et par clarté dans la présentation des algorithmes, nous supposerons dans cet article que le modèle de phrase de l utilisateur est un simple sac de mots (que nous noterons S). Le lecteur intéressé trouvera dans (Mazuel, 2007) plus de précision sur notre modélisation et ses implications sur l interprétation. Le premier point important avant l interprétation sémantique est de convertir le sac de mots S en un ensemble de concepts C tiré de l ontologie et en relation avec le code VDL de l agent (i.e. de faire un appariement entre les concepts énoncés par l utilisateur et les concepts manipulés par l agent contenu dans C V DL ). Les systèmes de dialogue actuels reposent, implicitement ou explicitement, sur l hypothèse de Sadek (Sadek et al., 1997) : 3 Java WordNet Library : 4 Le chunker permet de découper la phrase en groupes nominaux et groupes verbaux.

6 RJCIA 2007 Le contenu sémantique d une phrase correspond à un chemin dans le réseau sémantique décrivant les connaissances du domaine de l application 5 Autrement dit, cela signifie que tous les mots d une commande quelconque doivent avoir une correspondance dans l ontologie. Afin de respecter cette hypothèse, nous avons défini une distance sémantique simple sur notre ontologie. Soit un couple (c 1, c 2 ) COW 2 L, la distance entre les concepts c 1 et c 2 par rapport à la synonymie est : { 0 si c1 = c dist ONT (c 1, c 2 ) = 2 ou c 1 owl :sameas c 2 1 sinon avec owl :sameas la relation transitive et réflexive de la synonymie en OWL. Cette formule simple utilise au maximum la synonymie pour relier les concepts de l utilisateur à ceux de l agent. Ainsi, nous pouvons réécrire l hypothèse de Sadek pour notre système comme : Chaque concept qui apparaît dans une commande significative est soit directement lié à un concept VDL, soit lié à un concept étant au plus à une relation sameas d un concept VDL Nous avons récemment défini dans (Mazuel & Sabouret, 2007) une nouvelle mesure de distance sémantique sur les ontologies basée sur une généralisation de la distance classique de Jiang & Conrath (Jiang & Conrath, 1997). Notre mesure considère toutes les relations présentes dans l ontologie (et pas uniquement sameas). Nous sommes actuellement en cours d évaluation parallèle de l amélioration que cette mesure provoque sur le niveau global de compréhension. Cette mesure n as pas non plus d impacts sur les résultats des trois algorithmes comparés dans cet article, puisque la construction de C est la même (l impact est global, mais non distribué sur l un des trois algorithmes). Néanmoins, lors de l évaluation comparative, les mauvais résultats induit par une mauvaise compréhension de terme complexe ont été retiré, afin de ne garder que ce qui permet d évaluer correctement la différence entre les trois algorithmes d interprétation. Finalement, nous pouvons construire l ensemble C des concepts reconnus dans la commande : C = {v C V DL s S.dist ONT (map V DL (v), s) = 0} avec map V DL la fonction injective d association des concepts de l ontologie avec les concepts de l agent (section 2.1). C contient ainsi tous les concepts VDL qui apparaissent dans la commande utilisateur. Remarquons que la construction de C n est que l étape initiale des algorithmes présentés dans la section 4. Ces algorithmes utilisent tous C comme de départ pour leur interprétation sémantique. La dernière partie de notre chaîne est un générateur d anglais qui transforme un noeud VDL en une phrase anglaise, en concaténant la traduction des concepts obtenus par une analyse en profondeur du noeud XML. Cet algorithme récursif écrit l étiquette du noeud, puis ces attributs sous la forme attribut is value, son contenu texte (si il existe) puis finalement récursivement sur ses fils. Par exemple : 5 the semantic content of the utterance corresponds to a path in a semantic network describing the application domain knowledge.

7 Approche générique pour LN <take position="out"> <shape>square</shape> </take> deviendra take position is out shape is square. De plus un certain nombre de règles spécifique sont définie pour les mots-clés du langage. Le résultat est horrible syntaxiquement, mais suffisant pour que les utilisateurs comprennent les propositions du système dans notre évaluation. Il est possible d améliorer le résultat avec les travaux de générateurs basés sur XML Bateman (1997). 3.2 Le gestionnaire de dialogue Le gestionnaire de dialogue (GD) est responsable des dialogues avec l utilisateur pour l acceptation d une commande, mais aussi pour la gestion des commandes incomplètes ou imprécises. Notre système n est pas un système de dialogue, néanmoins ce module mérite ce titre car il peut déclencher de courtes phases de dialogue quand il estime que la compréhension des commandes est limitée. Le paramètre d entrée de notre GD est l ensemble d évènements créé par l un des trois algorithmes que nous détaillerons dans la section 4 (approche descendante, ascendante, combinaison des deux). Les trois algorithmes ont la même interface en entrée et en sortie, afin de simplifier l intégration au milieu des modules communs Évènements possibles et impossibles Notre GD récupère ainsi un ensemble d évènements, que nous noterons G, proposé par les algorithmes d interprétation sémantique. Sa première étape est de découper cet ensemble en deux sous-ensembles disjoints : L ensemble E des évènements possibles dans le contexte courant de l agent. L ensemble F des évènements impossibles. Ils ne correspondent pas forcement à une mauvaise modélisation par l un des trois algorithmes, l utilisateur pouvant parfaitement poser une commande impossible à réaliser par l agent (impossible de manière générale ou de manière contextuelle). Pour construire ces ensembles, posons P(r) = P c (r) P s (r) P cs (r) l ensemble des préconditions utiles pour décider si un évènement peut être utilisé par la réaction r 6. Notons Υ l ensemble (infini) de tout les noeuds VDL possibles. Soit eval : Υ 2 {, } la fonction d évaluation booléenne d une précondition : p P(r), eval(p, e) = ssi la précondition p est valide par rapport à l évènement e et à l état courant de l agent. L ensemble E est calculé de la façon suivante, E = {e G r R e (e), p P(r), eval(p, e) = } L ensemble F est l ensemble des évènements restant, soit F = G\E. Remarquons que E et F ne contiennent pas forcement tous les évènements possibles ou impossibles, ils représentent seulement un partitionnement des propositions faites par l algorithme d interprétation en cours. De plus, pour tout e F, nous notons np(e) r R e(e) P(r) l ensemble des préconditions fausses empêchant l évènement d être possible. Comme F est l ensemble 6 L ensemble P e(r) n est pas utilisé car il décide si l évènement est correctement construit, ce qui est l hypothèse de travail minimal des trois algorithmes.

8 RJCIA 2007 des évènements impossibles, e F, np(e). L ensemble est calculé de la façon suivante : np(e) = {p P(r) eval(p, e) = } r R e(e) Le GD calcule ensuite le score d appariement entre chacun des évènements de E et F et la commande utilisateur. Pour tout noeud n Υ et pour tout concept reconnus c C (C est l ensemble des concepts reconnus dans la commande, section 3.1), nous notons contains(n, c) la fonction permettant de déterminer si l évènement e contient le concept c : contains(n, c) = x sub(n) c {tag(x), attributes(x), content(x)} avec sub(n) l ensemble de tout les sous-ensembles de n Υ. En d autre mot, la fonction contains(n, c) est vraie ssi c apparaît quelque part dans l arbre associé au noeud n. Le degré d appariement pour e E ou e F est alors définie par : p(e) = card({c C contains(e, c)}) card(c) Avec l aide de ce score, nous construisons maintenant E max et F max les sous-ensembles d évènements à score maximaux. Soit les scores p E = max({p(e), e E}) et p F = max({p(e), e F}), alors : { si pe = 0 E max = {e E p(e) = p E } sinon et F max est construit de manière analogue. p E et p F sont les scores d appariement des éléments de E max and F max. En d autres mots, le GD ne prend en considération que les meilleurs évènements comparativement à la commande utilisateur parmi ceux générés par l interprétation Réponse à l utilisateur Pour l exploitation de ces deux sous-ensembles, nous définissons deux seuils de compréhension : p min est la limite séparant les commandes incomprises des commandes comprises sans certitude et p max est le score séparant les commandes comprises sans certitude des commandes parfaitement comprises. Ces seuils correspondent, dans le principe, aux seuils tell me et do it de Patty Maes dans (Maes, 1994). Elles proposent empiriquement les valeurs : p min = 0.3 et p max = 0.8, valeurs que nous avons gardé pour notre évaluation. Le retour à l utilisateur donné par le GD est dépendant de la position relative des deux scores p E et p F entre eux et par rapport aux deux seuils p min et p max : 1. Si p E p max, la commande est considérée comme correctement comprise par le système. Le GD envoie l évènement à l agent (si E max = 1) ou informe l utilisateur d une ambiguïté (si E max > 1). Par exemple 7 : U : Take something red 7 Tous les exemples viennent des traces collectées pendant l évaluation section 5

9 Approche générique pour LN S : I can either take object square red, take object triangle red. 2. Si p min < p E < p max et p E < p F, l interprétation la mieux notée n est pas possible dans l état courant (p F > p E ), mais un évènement proche est possible et a reçu un bon score (p E > p min ). Le GD demande à l utilisateur de reformuler. Il affiche la liste des préconditions fausses empêchant l action ( e Fmax np(e)) et la liste des évènements possibles proches E max. U : Put it on the upper left cell (alors que la case en haut à gauche est déjà occupée) S : I can t because : the content of upper left cell is not empty. Therefore, i can either : - drop object in the upper middle, in the upper right, in the center left or in the lower left 3. Si p min < p E < p max et p F < p E, les évènements impossible peuvent être ignorés, mais le système n est pas sûr d avoir compris la commande de l utilisateur (p E < p max ). Il demande une confirmation et affiche les évènements e E max. U : Take the blue or red triangle form (alors qu il n existe pas de triangle bleu) S : Do you mean take object triangle red? 4. Si p E p min et p max p F, le système a correctement compris une commande impossible. Il prévient l utilisateur que cette commande n est pas possible et lui donne la liste des préconditions fausses np(e), e F max. U : Take the blue red figure (main déjà pleine) S : I can t because : the content of hand is not empty. 5. Si p E p min et p min < p F < p max, le système a peut-être reconnu une commande, mais elle est impossible. Le GD demande confirmation à l utilisateur. 6. Si p E p min et p F p min, le système n a pas compris la commande. 4 Algorithmes d interprétation Cette section présente les algorithmes construisant l ensemble d évènements G à partir de la commande et du code de l agent. Comme souligné par Allen (Allen et al., 1996), deux méthodes sont applicables pour l interprétation : la descendante et l ascendante. Nous proposons d abord une implémentation générique de ces deux approches. Par générique, nous entendons indépendant de l application et uniquement dépendant du formalisme de l ontologie et de la sémantique opérationnelle du langage VDL. Nous proposons finalement une tentative de combinaison des deux, basé sur une évaluation préliminaire faite sur les deux premiers algorithmes.

10 RJCIA L approche descendante L approche descendante (i.e. top-down) consiste à construire une commande formelle (i.e. évènement en VDL) à partir de la commande en LN en considérant uniquement les contraintes structurelles imposées par le modèle formel du langage (e.g. (Sadek et al., 1997; Shapiro, 2000)). Elle est couramment utilisée en dialogue, en situation où il est difficile de prévoir à l avance l étendue des commandes ou de déterminer ce qu il est possible d effectuer à l instant courant. Le principal défaut de cette approche est lié à la difficulté de définir des règles génériques de transformation dans le système. Ainsi, les systèmes actuels définissent un grand nombre de règles spécifiques de l application, afin de réduire au maximum la création d évènements impossibles (évènements ne donnant lieu à aucune action car une des préconditions de P e, P c ou P s est fausse). Par exemple, Shapiro (Shapiro, 2000) utilise ces évènements impossibles pour construire des nouvelles préconditions et les ajouter à la base de connaissance. Dans la plupart des autres systèmes, les évènements impossibles ne sont pas traités et les réponses engendrées par le système se résument à je ne comprend pas votre commande. Au contraire, la capacité d introspection de VDL peut être utilisée pour générer des explications sur les fautes empêchant l exécution 8. La production de ces explications est faite à partir des préconditions fausses attachées à un évènement (l ensemble np(e) calculé lors de la section précédente). Ceci nous permet de définir pour notre architecture une implémentation de l approche ascendante générique, sans se soucier du traitement des évènements impossibles. Ainsi, dans notre implémentation, nous nous affranchissons des règles d interprétation liées à l application. C est pourquoi nous n utilisons que les préconditions de subsomption (P e ) et l état courant de l agent pour construire l évènement VDL à partir des concepts compris de l utilisateur (C). Les préconditions de P e permettent de définir le squelette des évènements possibles pour un concept donné. Une analyse plus profonde de l état interne de l agent permet d enrichir le squelette avec les concepts possibles. Plutôt que d utiliser des règles strictes de grammaire, nous proposons de définir une méthode de construction d évènements basée sur la syntaxe VDL et d appliquer des heuristiques pour contraindre la construction selon la sémantique opérationnelle VDL. Soit E = {e P e tag(e) C} et e E, soit C e = C\{tag(e)}. Pour chaque e E, notre algorithme considère l ensemble des feuilles L e de e et cherche à l intérieur du code les noeuds t L e qui contiennent au moins un concept c C e dans leurs souséléments. e E, nous notons Γ e l ensemble de ces noeuds et Γ = e E Γ e. Puis, nous appliquons un algorithme de fusion qui permet de lier les différentes parties instanciées d un même squelette de Γ (correspondant à différents concepts de la commande) en un seul évènement. Cet algorithme construit le noeud maximisant les subsomptions : pour chaque ensemble de noeud N, soit fusion(n) = max {x Υ n N, x n}. L idée de cet implementation pour calculer G est de construire les fusions les plus larges possibles de sous-ensemble de Γ, i.e. les évènements qui s apparient le mieux à la commande utilisateur. Soit Γ l ensemble des parties de l ensemble Γ. G = fusion(n) N max card Γ 8 Exemple 4, section 3.2.2

11 Approche générique pour LN Remarquons bien que l approche descendante ne garantit pas que les évènements soient possibles ou non : elle construit simplement l ensemble d évènements qui s apparie le mieux à la commande. Ainsi, E = E max et F = F max. Cependant, du fait que Γ peut être très grand et que le calcul de fusion est NP- Difficile, nous réduisons Γ par l utilisation d une heuristique de profondeur minimale : pour un couple donné (e, c ) E C e, nous ne gardons dans Γ e que les noeuds dont la profondeur depth(c j ) est minimale. L heuristique est basée sur l interprétation future des évènements (selon la sémantique opérationnelle VDL). Elle n a aucun impact sur les évènements résultats : l algorithme construira l ensemble complet des meilleurs évènements. 4.2 L approche ascendante L approche ascendante (i.e. bottom-up) classique utilise une liste préétablie de compétences et essaye de relier la commande en LN à une de ces compétences (e.g. (Paraiso et al., 2004; Dzikovska et al., 2003)). Cette approche permet au développeur d écrire des algorithmes génériques, au sens dépendant uniquement du formalisme de la liste de compétences. Cependant, ces listes sont définies de manière statique, le système n a aucune conscience de ce qu il est possible ou non de faire dans l état courant. En pratique, ces listes doivent décrire toutes les situations de dialogues possibles (en tenant compte des erreurs possibles de l utilisateur) ainsi que la traduction en requête formelle. De plus, cette quantité d information est clairement redondante avec la définition du code de l agent et du solveur de problème. Pour éviter ce problème, de récents travaux proposent d utiliser une méthode ascendante dynamique (e.g. Eliasson (2007)). Dans ces travaux, seul un ensemble minimal de compétences est fourni à l avance. Si une commande de l utilisateur ne s apparie pas directement ou complètement à une des compétences existantes, le système tente de décrire une nouvelle compétence en se basant sur les éléments présents dans les compétences proches. Nous proposons d aller encore plus loin, et d adopter une approche ascendante constructive basée sur l analyse des préconditions. Toutes les compétences sont alors calculées dynamiquement suivant un ensemble d actions primaires réalisables par le système (les actions de l agent VDL). Notre approche utilise les informations contextuelles (obtenues de l agent à l exécution) pour déterminer quels évènements peuvent être acceptés par l agent dans l état courant. Ce problème a été longuement étudié pour la validation de logiciel (e.g. (Botella et al., 2002)) et montre des résultats intéressants pour la génération de cas de test. Ces travaux peuvent être adaptés à la génération d évènements si nous considérons qu une précondition a pour rôle de tester les messages. Ainsi, notre système construit la liste des évènements possibles, d un point de vue agent, sans chercher à utiliser la commande de l utilisateur. L approche ascendante utilise les préconditions d évènement (P e ) pour fournir les squelettes initiaux (comme dans l approche descendante). Puisque notre objectif est de construire les évènements possibles (correspondant à la liste de compétences dans les approches classiques), nous retirons de la liste des squelettes P e tout ceux qui sont liés à une action impossible dans l état courant (c est-à-dire pour lesquels une précondition de contexte rend l exécution de l action impossible). Nous obtenons alors l ensemble

12 RJCIA 2007 P e+c = e P e p r R e(e) P c (r), eval(p, e) = P e+c est l ensemble des squelettes qui seront forcement acceptés par l agent dans l état courant. C est à partir de cet ensemble que nous allons construire l ensemble d événements G. L idée de l approche ascendante constructive est d utiliser les préconditions structurelles (P s et P cs ) comme un ensemble de contraintes sur les évènements pour compléter les squelettes. Pour tout e P e+c, nous noterons refine(e, r) Υ l évènement obtenu à partir du squelette e et de la réaction r R e (e) (en n analysant donc que P s et P cs ) par l utilisation de notre algorithme de génération des cas de test. L algorithme complet pour la méthode refine est trop long pour être présenté ici. Il repose fortement sur la sémantique opérationnelle du modèle VDL. Il est basé sur une interprétation récursive des termes VDL associé à un certain nombre de règle pour chaque mot-clé du langage. L ensemble G est ainsi calculé : G = {refine(e, r), e P e+c, r R e (e) p P s (r) P cs (r), eval(p) = } Remarquons que G est l ensemble des évènements possibles 9 : tous les évènements de G sont possibles pour l agent et tous les évènements possibles de l agent sont dans G. Comme conséquence, nous aurons pour le GD que E =G et F =. 4.3 L algorithme combiné L approche ascendante constructive possède néanmoins une limitation : le système n est pas capable de comprendre les commandes impossibles (au contraire de l approche descendante). Pour résoudre ce problème, les approches à base de liste de compétences proposent d utiliser des sous-compétences associées afin de traiter les différentes situations (action possible, impossible, paramètre incomplet, etc.). Ceci est un des autres désavantages des approches à base de listes de compétences puisque cela augmente fortement le nombre de règles à définir, sans garantie de couverture de l ensemble des cas qui peuvent se présenter. Nous voudrions à l inverse que notre algorithme final possède cette capacité de gérer des évènements impossibles sans perdre l aspect constructif. Pour cela, nous avons combiné l algorithme ascendant avec l idée de l algorithme descendant de gestion des commandes impossibles. Soit G bu l ensemble des évènements possible calculé par l approche ascendante, notre objectif est de créer un ensemble G tel que G bu G, la partie supplémentaire représentant les évènements actuellement impossible (i.e. évènements qui ne peuvent pas être accepté par l agent à l état courant, mais qui le serait dans un état diffèrent). Afin d atteindre cet objectif, nous utilisons le principe de relaxation de contraintes sur les préconditions de contexte (incluant les préconditions contextuelles structurelles). 9 Le même algorithme est d ailleurs utilisé dans le planificateur en chaînage avant de la plate-forme VDL.

13 Approche générique pour LN Pour relâcher les contraintes de contexte P c, nous n utilisons pas comme base de squelettes l ensemble P e+c de la section précédente mais directement P e.ceci nous permet de construire des évènements corrects syntaxiquement, mais dont le contexte courant de l agent ne permet pas l exécution. D autre part, les préconditions P cs doivent être utilisées pour construire l évènement, car elle contiennent des contraintes de structures fortes. Néanmoins, une fois l évènement construit en utilisant toutes les préconditions P cs, nous ne validons pas ces évènements avec ces mêmes préconditions. L objectif étant alors de ne pas valider un contexte qui potentiellement est faux à l état courant. Cette technique nous permet d exploiter l information structurelle contenue dans une préconditions P cs tout en relâchant les contraintes sur sa partie contextuelle. Au final, la formule pour calculer G est très proche de celle de l approche descendante, mais avec moins de contraintes : G = {refine(e, r), e P e, r R e (e) p P s (r), eval(p) = } Remarquons bien que l hypothèse de relaxation de contraintes n est pas garantie correct. Il est possible qu elle soit trop forte et à l inverse entraîne une production d évènements impossibles difficile à maîtriser. L objectif de cette évaluation est justement d évaluer l importance de cette relaxation sur les résultats. 5 Évaluation préliminaire Dans cette section, nous évaluons nos trois algorithmes pour la construction d évènement à partir de commandes en langue naturel. 5.1 Protocole Notre expérience a été faite avec un agent simple appelé Jojo 10 inspiré du monde de cube de Winograd (Winograd, 1972). Cet agent possède deux actions : prendre un objet et poser un l objet sur une grille. Un objet est caractérisé par sa forme (shape {square, triangle, circle}), sa couleur (color {red, green, blue, white}) et sa taille (size {tiny, small, medium, big}). Une position est un couple parmi le produit des ensembles {upper, center, lower} {right, middle, lef t}. Douze personnes ont fait l expérience, quatre pour chaque algorithme. Aucune de ces personnes n avaient utilisées le système auparavant. Ils n avaient aucune information sur les capacités en Traitement des Langues du système. L objectif d une personne était d atteindre un état particulier de l environnement de l agent (figure 3), sans limitation de temps. Après l expérience, un questionnaire permettait aux sujets de l expérience de noter leurs impressions, commentaires libres et donner une note sur certains critères. Les résultats attendus étaient les suivants : 1. L approche descendante doit mieux comprendre la commande utilisateur car son modèle cherche à la coller le plus possible. 10 Vous pouvez essayer Jojo sur la page demo : demos.

14 RJCIA 2007 FIG. 3 État initial et final du protocole 2. Elle peut fournir des explications sur les commandes impossibles. 3. L approche ascendante doit permettre une interaction plus souple, car elle est capable de faire des propositions à l utilisateur si sa commande est imprécise. 4. L approche combiné doit présenter les avantages des deux. 5.2 Résultats principaux La figure 4 montre la moyenne des temps mis pour atteindre l objectif et la moyenne des notes donnée par les utilisateurs pour chaque algorithme. Il apparaît clairement que les utilisateurs préfèrent les approches du type ascendante (classique ou combinée). En effet, le retour à l utilisateur et les propositions faites par l agent sont les points les plus importants d après l évaluation des questionnaires. Ils réduisent d environ 65% le temps requis pour l accomplissement de la tache. Une analyse plus approfondie des traces des interactions lors de l expérience confirme la nécessité pour l utilisateur de savoir : 1) ce qu attend l agent, ce qu il ne peut pas faire. C est ce qui explique les meilleurs résultats de l approche ascendante sur l approche descendante. Par exemple, lorsque l utilisateur dit drop on the lower line, l approche ascendante propose la liste des cases vide en bas de la grille (sauf lorsqu il n en reste qu une). D un point de vue initiative mixte, l utilisateur sait, au besoin uniquement, ce que le système attend de lui comme information complémentaire pour pouvoir traiter sa commande. 2) pourquoi il ne peut pas le faire. C est ce qui permet, dans l approche combinée, de corriger l état de l agent par rapport au souhait de l utilisateur. Par exemple : la commande Take the red figure, si la main est déjà pleine, est gérée par une réponse du type i can t because the hand is not empty. En réponse du retour contextualisé sur l état de l agent, les utilisateurs choisissent quasi systématiquement la proposition du système. Nous pensons que la faible différence entre l approche combinée et l approche classique est due à l utilisation du monde de cube, assez intuitive, limitant les problèmes de compréhension de l utilisateur et donc les commandes impossibles. Cependant, nous n avons pas encore vérifié cette hypothèse.

15 Approche générique pour LN FIG. 4 Moyennes des temps et des notes 6 Conclusion & perspectives Dans ce papier, nous avons proposé un système générique d interprétation de commande en LN. Nos algorithmes ne sont paramétrés que par le code de l agent et l ontologie du domaine. Ce système est actuellement intégré dans la plate-forme SMA VDL et peut être utilisé pour la communication humain-agent dans le cadre d interaction avec des services web. De plus, bien que nous utilisions un langage agent spécifique, notre approche en est indépendante et peut être aisément adaptée à d autres langages de description d actions capable d introspection. La force de l approche descendante est de pouvoir expliquer pourquoi une commande donnée ne peut être comprise, tandis que celle de l approche ascendante est d aider l utilisateur en lui proposant les différentes actions possibles proche lorsque la commande est mal comprise ou partielle. Notre approche combinée propose les avantages des deux, alliée à notre gestionnaire de dialogue sans règle spécifique d interaction dépendante de l application. Ainsi, notre système actuel utilise l approche combiné pour l interpretation sémantique. Par rapport à la version présentée ici, nous utilisons maintenant un analyseur logique pour modéliser la commande de l utilisateur (Mazuel, 2007) (à la place du sac de mots ) ainsi qu une mesure de distance sémantique sur ontologies (Mazuel & Sabouret, 2007) basée sur une généralisation de la distance de Jiang & Conrath (Jiang & Conrath, 1997) (à la place de notre analyse sur la relation owl :sameas). Les apports de ses deux changements dans notre architecture sont actuellement en cours d évaluation. Néanmoins, nous pensons qu ils vont être intéressants. En effet, l hypothèse de connectivité sémantique de Sadek est insuffisante puisqu il semble peu réaliste de construire une ontologie contenant tous les termes pouvant être donnés par un utilisateur, alors que celle-ci définie pourtant tous les concepts de l application (il suffit d étudier le nombre de synonymes qu il faudrait définir dans l ontologie pour avoir un aperçu). Pour combler ce problème, nous utilisons les travaux basés sur WordNet sur la desambiguisation de texte (Budanitsky & Hirst, 2006), afin d effectuer un ancrage des termes de la commande dans l ensemble des concepts définis dans l ontologie. La probabilité qu un terme de l utilisateur soit définie dans WordNet et puisse être ramenée après calcul à un des concepts de l ontologie est en effet très forte. De plus, afin d apparier cette liste d ancrages à la liste des concepts maniés par l application, nous utilisons notre nouvelle mesure de distance sémantique. Elle repose sur l idée que l ensemble des relations de l ontologie peuvent être exploité pour calculer une distance sémantique (les distances actuelles n utilisant que les relations du type is-a et non d autres relations tel que part-of

16 RJCIA 2007 ou inverse-of ). Nous pouvons ainsi construire le meilleur ensemble de concepts compris par l application et représentatif de la commande utilisateur. Références ABRILIAN S., BUISINE S., RENDU C. & MARTIN J.-C. (2002). Specifying Cooperation between Modalities in Lifelike Animated Agents. In Working notes of the International Workshop on Lifelike Animated Agents : Tools, Functions, and Applications, p ALLEN J., MILLER B. W., RINGGER E. K. & SIKORSKI T. (1996). A robust system for natural spoken dialogue. In ACL, p BATEMAN J. A. (1997). Enabling technology for multilingual natural language generation : the kpml development environment. Nat. Lang. Eng., 3(1), BICKMORE T. W. (2004). Unspoken rules of spoken interaction. Commun. ACM, 47(4), BOTELLA B., TAILLIBERT P. & GOTLIEB A. (2002). Test de logiciel, volume 21, chapter Utilisation des contraintes pour la génération automatique de cas de test structurels, p RSTI-TSI. BUDANITSKY A. & HIRST G. (2006). Evaluating wordnet-based measures of semantic distance. Computational Linguistics, 32(1), DZIKOVSKA M. O., ALLEN J. F. & SWIFT M. D. (2003). Integrating linguistic and domain knowledge for spoken dialogue systems in multiple domains. In Proc. of IJCAI-03 Workshop on Knowledge and Reasoning in Practical Dialogue Systems. ELIASSON K. (2007). Case-Based Techniques Used for Dialogue Understanding and Planning in a Human-Robot Dialogue System. In Proc. of IJCAI07, p FERBER J. (1995). Les systèmes multi-agents : Vers une intelligence collective. Inter- Editions. GÁRATE A., HERRASTI N. & LÓPEZ A. (2005). GENIO : an ambient intelligence application in home automation and entertainment environment. In Proc. of the 2005 joint conference on Smart objects and ambient intelligence (soc-eusai 05), p : ACM Press. JIANG J. & CONRATH D. (1997). Semantic similarity based on corpus statistics and lexical taxonomy. In Proc. on International Conference on Research in Computational Linguistics, p , Taiwan. MAES P. (1994). Agents that reduce workload and information overload. Communications of the ACM, 37(7), MAZUEL L. (2007). Utilisation des ontologies pour la modélisation logique d une commande en langue naturel. In Rencontre des Étudiants Chercheurs en Informatique pour le Traitement Automatique des Langues (RECITAL 2007). MAZUEL L. & SABOURET N. (2007). Degré de relation sémantique dans une ontologie pour la commande en langue naturelle. In Plate-Forme AFIA, Ingénierie des Connaissances 2007 (IC 2007). MILWARD D. (2000). Distributing representation for robust interpretation of dialogue utterances. In ACL, p

17 Approche générique pour LN MILWARD D. & BEVERIDGE M. (2003). Ontology-based dialogue systems. In Proc. 3rd Workshop on Knowledge and reasoning in practical dialogue systems (IJCAI03), p PARAISO E., BARTHÈS J. A. & TACLA C. A. (2004). A speech architecture for personal assistants in a knowledge management context. In Proc. European Conference on AI (ECAI), p PAUROBALLY S., TAMMA V. & WOOLDRIDGE M. (2005). Cooperation and Agreement between Semantic Web Services. In W3C Workshop on Frameworks for Semantics in Web Services. PELACHAUD C. (2003). Modelling gaze behaviour for conversational agents. In Proc. Intelligent Virtual Agent (IVA 2003), p SABOURET N., GOLSENNE M. & MARTIN J. (2005). VDL+LEA : complémentarité entre interaction multi-modale et interaction multi-agents. In Proc. 1st Workshop sur les Agents Conversationnels Animés (WACA), p SABOURET N. & MAZUEL L. (2005). Commande en langage naturel d agents VDL. In Proc. 1st Workshop sur les Agents Conversationnels Animés (WACA), p SABOURET N. & SANSONNET J. (2001). Automated Answers to Questions about a Running Process. In Proc. CommonSense 2001, p SADEK D., BRETIER P. & PANAGET E. (1997). Artimis : Natural dialogue meets rational agency. In IJCAI (2), p SHAPIRO S. (2000). Sneps : a logic for natural language understanding and commonsense reasoning. Natural language processing and knowledge representation : language for knowledge and knowledge for language, p WINOGRAD T. (1972). Understanding Natural Language. New York Academic Press.

Une interprétation générique de commandes en langue naturelle dans les systèmes de dialogues à base d ontologies

Une interprétation générique de commandes en langue naturelle dans les systèmes de dialogues à base d ontologies Une interprétation générique de commandes en langue naturelle dans les systèmes de dialogues à base d ontologies Laurent Mazuel Nicolas Sabouret Laboratoire d Informatique de Paris 6 - LIP6 8 rue du Capitaine

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

Plus en détail

Conventions communes aux profils UML

Conventions communes aux profils UML Conventions communes aux profils UML Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 2.1 Date : Juin 2002 * : Les partenaires du

Plus en détail

Adaptation sémantique de documents SMIL

Adaptation sémantique de documents SMIL Adaptation sémantique de documents SMIL Sébastien Laborie Jérôme Euzenat Nabil Layaïda INRIA Rhône-Alpes - 655 Avenue de l Europe - 38334 St Ismier Cedex {Sebastien.Laborie;Jerome.Euzenat;Nabil.Layaida}@inrialpes.fr

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Génération d une visualisation personnalisée

Génération d une visualisation personnalisée Génération d une visualisation personnalisée Mohamed Mouine RALI-DIRO Université de montréal mouinemo@iro.umontreal.ca Résumé. Nous présentons une méthode permettant de calculer les besoins et les préférences

Plus en détail

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca

Noureddine Kerzazi noureddine.kerzazi@polymtl.ca Domaine de la modélisation des processus pour le génie logiciel. Noureddine Kerzazi noureddine.kerzazi@polymtl.ca DSL4SPM Domain-Specific-Language for Software Process Modeling Il s agit d un nouveau cadre

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS G en om3: Building middleware-independent robotic components Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS Pablo Rauzy 15 février 2011 Table des matières 1 G en om3 :

Plus en détail

Bienvenue dans le monde de la construction logicielle

Bienvenue dans le monde de la construction logicielle Chapitre 1 Bienvenue dans le monde de la construction logicielle Sommaire : 1.1 La construction logicielle, qu est-ce que c est? : page 3 1.2 Pourquoi la construction logicielle est-elle importante? :

Plus en détail

Présentation de la plateforme d analyse linguistique médiévale

Présentation de la plateforme d analyse linguistique médiévale Présentation de la plateforme d analyse linguistique médiévale 1. Introduction Tout au long de ce document, notre projet sera présenté à travers la méthodologie suivie pour développer la plateforme d analyse

Plus en détail

Question 1.1. Modélisation d une machine simple

Question 1.1. Modélisation d une machine simple D'apres TD ENSEEIHT Question 1. Modélisation d une machine à café Corrigé du Travaux Dirigés n 2 Ingénierie des protocoles LOTOS Question 1.1. Modélisation d une machine simple La modélisation de la machine

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape)

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) NIVEAU : PREMIERE RENCONTRE AVEC VB INITIES/EXPERIMENTES Pré requis pour comprendre ce tutorial : - Connaître les principales commandes de VB

Plus en détail

10 Intégration de données sur le web

10 Intégration de données sur le web 10 Intégration de données sur le web 240 Requête utilisateur : Où est-ce que je peux voir les films qui ont participé au dernier Festival de Cannes? Je voudrais les résumés et critiques des films de Pedro

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information

Plus en détail

Rapport IN52. Sujet : Résolution d un puzzle

Rapport IN52. Sujet : Résolution d un puzzle CARRE Julien PIERNOT Jérôme Rapport IN52 Sujet : Résolution d un puzzle Responsable : M. Ruicheck Y. Automne 2007 1 SOMMAIRE INTRODUCTION...3 I. Description et approche du sujet...4 1. Description 2. Outils

Plus en détail

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI Chapitre 6 Modélisation en P.L.I. 6.1 Lien entre PL et PLI (P) problème de PL. On restreint les variables à être entières : on a un problème de PLI (ILP en anglais). On restreint certaines variables à

Plus en détail

Un algorithme de composition musicale

Un algorithme de composition musicale Un algorithme de composition musicale Table des matières Présentation Le compositeur. Le code PMX.................................................. Structures de données utilisées........................................

Plus en détail

Intelligence Artificielle Planification

Intelligence Artificielle Planification Intelligence Artificielle Planification Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes

Plus en détail

LINQ to SQL. Version 1.1

LINQ to SQL. Version 1.1 LINQ to SQL Version 1.1 2 Chapitre 03 - LINQ to SQL Sommaire 1 Introduction... 3 1.1 Rappels à propos de LINQ... 3 1.2 LINQ to SQL... 3 2 LINQ to SQL... 3 2.1 Importer des tables... 3 2.1.1 Le concepteur

Plus en détail

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 5 : Structures de données linéaires Benjamin Wack 2015-2016 1 / 37 La dernière fois Logique de Hoare Dichotomie Aujourd hui Type Abstrait de Données

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

Plus en détail

Une plateforme adaptative pour la FOAD (Formation Ouverte et à Distance)

Une plateforme adaptative pour la FOAD (Formation Ouverte et à Distance) Une plateforme adaptative pour la FOAD (Formation Ouverte et à Distance) Bernard CAUSSE IUT de Bayonne Pays Basque Laboratoire d Informatique de l UPPA 3 Avenue Darrigrand 64100 Bayonne France Résumé Présentation

Plus en détail

Gestion multi-stocks

Gestion multi-stocks Gestion multi-stocks Dans l architecture initiale du logiciel IDH-STOCK, 11 champs obligatoires sont constitués. Ces champs ne peuvent être supprimés. Ils constituent l ossature de base de la base de données

Plus en détail

Fiche de lecture de PFE Guillaume HEMMERTER

Fiche de lecture de PFE Guillaume HEMMERTER 1. INTRODUCTION Les maîtres d ouvrage ou propriétaires de patrimoine immobilier qui s engagent dans la construction ou la rénovation d installations climatiques veulent avoir la certitude d obtenir le

Plus en détail

Chapitre 2 : Conception de base de données relationnelle

Chapitre 2 : Conception de base de données relationnelle Chapitre 2 : Conception de base de données relationnelle Le modèle entité-association 1. Les concepts de base 1.1 Introduction Avant que la base de données ne prenne une forme utilisable par le SGBD il

Plus en détail

CRÉER UN COURS EN LIGNE

CRÉER UN COURS EN LIGNE Anne DELABY CRÉER UN COURS EN LIGNE Deuxième édition, 2006, 2008 ISBN : 978-2-212-54153-3 2 Que recouvre le concept d interactivité? Dans une perspective de cours en ligne, une activité interactive est

Plus en détail

plate-forme PaaS (Audit)

plate-forme PaaS (Audit) Contrôle d accès dans une plate-forme PaaS (Audit) Ahmed BOUCHAMI, Olivier PERRIN, LORIA Introduction La sécurité d une plate-forme collaborative nécessite un module d authentification et un module de

Plus en détail

SOMMES ET PRODUITS. 1 Techniques de calcul. 1.1 Le symbole. 1.2 Règles de calcul. Laurent Garcin MPSI Lycée Jean-Baptiste Corot

SOMMES ET PRODUITS. 1 Techniques de calcul. 1.1 Le symbole. 1.2 Règles de calcul. Laurent Garcin MPSI Lycée Jean-Baptiste Corot SOMMES ET PRODUITS 1 Techniques de calcul 1.1 Le symbole Notation 1.1 Soient m et n deux entiers naturels. Alors { a m + a m+1 + + a + a n si m n, a = 0 sinon. On peut aussi noter m n =m a ou encore m,n

Plus en détail

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet

CCNA Discovery Travailler dans une PME ou chez un fournisseur de services Internet Curriculum Name Guide du participant CCENT 3 Section 9.3 Dépannage de l adressage IP de la couche 3 Cette section consacrée au dépannage vous permettra d étudier les conditions nécessaires à l obtention

Plus en détail

1 Programmation Client/Serveur basée sur TCP/IP

1 Programmation Client/Serveur basée sur TCP/IP Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

6.1 Une classe simple pour représenter des comptes bancaires

6.1 Une classe simple pour représenter des comptes bancaires Chapitre 6 Héritage Ce chapitre du cours traite de concepts relatifs à la programmation objet (hiérarchie de classe, héritage, extension, masquage) et sera illustré par un exemple de représentation de

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

TD n 4 - Développement dirigé par les tests

TD n 4 - Développement dirigé par les tests ENSEIRB Année 2013-2014 3ème année IT306 TD n 4 - Développement dirigé par les tests Résumé : Cette séance décrit une méthode de développment nommée développement dirigé par les tests, qui s appuie sur

Plus en détail

IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE»

IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE» IA54 Compte-rendu «STATIONNEMENT AUTOMATIQUE DE VEHICULE» Henri Payno - Cyril Bailly 1/12/2011 SOMMAIRE 1. Introduction... 3 2. Contraintes... 3 3. Architecture globale... 4 4. Interface... 5 A. Scène

Plus en détail

Le dictionnaire DEM dans NooJ

Le dictionnaire DEM dans NooJ 21 ème Traitement Automatique des Langues Naturelles, Marseille, 2014 Le dictionnaire DEM dans NooJ Max Silberztein ELLIADD, Université de Franche-Comté, 30 rue Mégevand, 25000 Besançon max.silberztein@univ-fcomte.fr

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Adaptation sémantique de documents SMIL

Adaptation sémantique de documents SMIL Adaptation sémantique de documents SMIL Sébastien Laborie Jérôme Euzenat Nabil Layaïda INRIA Rhône-Alpes - 655 Avenue de l Europe - 38334 St Ismier Cedex {Sebastien.Laborie;Jerome.Euzenat;Nabil.Layaida}@inrialpes.fr

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

L SIO I N O 3 & & PE P R E S R PE P C E TIV I ES E

L SIO I N O 3 & & PE P R E S R PE P C E TIV I ES E INTRODUCTION SOMMAIRE 1 Modélisation de processus et Workflows 2 - Méthodes et outils pour la Modélisation de processus Workflows 3 Notions de flexibilité et d adaptabilité dans les WorkFlow CONCLUSION

Plus en détail

Evaluer des élèves de Seconde par compétences en Sciences Physiques

Evaluer des élèves de Seconde par compétences en Sciences Physiques Evaluer des élèves de Seconde par compétences en Sciences Physiques Introduction Depuis quelques années, le terme de «compétences» s installe peu à peu dans notre quotidien ; aussi bien dans la vie de

Plus en détail

BASES DE DONNEES Formation initiale Première année Département INFORMATIQUE Année 2002/2003. Travail nécessaire après l interrogation numéro 3

BASES DE DONNEES Formation initiale Première année Département INFORMATIQUE Année 2002/2003. Travail nécessaire après l interrogation numéro 3 Travail nécessaire après l interrogation numéro 3 Durée 3h Le but de ce document est de vous montrer quel est le travail nécessaire à faire après une interrogation afin de tirer profit d un bonne ou d

Plus en détail

Les modèles technologiques de la localisation

Les modèles technologiques de la localisation Les modèles technologiques de la localisation Les modèles technologiques de la localisation Cécile Martin Université Rennes 2 Avant d entrer en détails dans les modèles technologiques de la localisation,

Plus en détail

I n t r o d u c t i o n Les étapes de la recherche à l a r e c h e r c h e

I n t r o d u c t i o n Les étapes de la recherche à l a r e c h e r c h e I n t r o d u c t i o n Les étapes de la recherche à l a r e c h e r c h e Les objectifs pédagogiques Savoir délimiter les trois phases distinctes de la recherche Savoir identifier, pour chacune des trois

Plus en détail

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini.

Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. Chapitre 1: Introduction au calcul des probabilités, cas d un univers fini. 1 Introduction Des actions comme lancer un dé, tirer une carte d un jeu, observer la durée de vie d une ampoule électrique, etc...sont

Plus en détail

Contributions à l étude des mesures sémantiques

Contributions à l étude des mesures sémantiques Contributions à l étude des mesures sémantiques École des mines d Alès Sébastien Harispe Plan Contributions à l étude des mesures sémantiques Estimation d IC par les fonctions de croyance Plan Contributions

Plus en détail

Système Expert pour Smartphones

Système Expert pour Smartphones INSA Rennes Département INFORMATIQUE Système Expert pour Smartphones Rapport de bilan de Planification Olivier Corridor;Romain Boillon;Quentin Decré;Vincent Le Biannic;Germain Lemasson;Nicolas Renaud;Fanny

Plus en détail

Apprentissage de structure dans les réseaux bayésiens pour

Apprentissage de structure dans les réseaux bayésiens pour Apprentissage de structure dans les réseaux bayésiens pour la détection d événements vidéo Siwar Baghdadi 1, Claire-Hélène Demarty 1, Guillaume Gravier 2, et Patrick Gros 3 1 Thomson R&D France, 1 av Belle

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Systèmes de dialogue homme-machine

Systèmes de dialogue homme-machine Systèmes de dialogue homme-machine Une introduction rapide Sophie Rosset Groupe Traitement du Langage Parlé Département Communication Homme-Machine LIMSI - CNRS Sophie Rosset (LIMSI) Systèmes de dialogue

Plus en détail

Espace de probabilité, indépendance et probabilité conditionnelle

Espace de probabilité, indépendance et probabilité conditionnelle Chapter 2 Espace de probabilité, indépendance et probabilité conditionnelle Sommaire 2.1 Tribu et événements........................................... 15 2.2 Probabilité................................................

Plus en détail

Philosophie des extensions WordPress

Philosophie des extensions WordPress 8 Philosophie des extensions WordPress Le concept L une des forces de WordPress dans la jungle CMS, c est la simplicité de création d extensions. Il y a plusieurs raisons à cela. Des raisons techniques

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Analyse de la démographie des objets dans les systèmes Java temps-réel

Analyse de la démographie des objets dans les systèmes Java temps-réel Analyse de la démographie des objets dans les systèmes Java temps-réel Nicolas BERTHIER Laboratoire VERIMAG Responsables du stage : Christophe RIPPERT et Guillaume SALAGNAC le 29 septembre 26 1 Introduction

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Indexation et interrogation de photos de presse décrites en MPEG-7

Indexation et interrogation de photos de presse décrites en MPEG-7 Indexation et interrogation de photos de presse décrites en MPEG-7 Emmanuel Bruno Jacques Le Maitre Elisabeth Murisasco Laboratoire SIS, Equipe Informatique Université de Toulon et du Var Bâtiment R, BP

Plus en détail

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

MODULES 3D TAG CLOUD. Par GENIUS AOM

MODULES 3D TAG CLOUD. Par GENIUS AOM MODULES 3D TAG CLOUD Par GENIUS AOM 1 Sommaire I. INTRODUCTIONS :... 3 II. INSTALLATION MANUELLE D UN MODULE PRESTASHOP... 3 III. CONFIGURATION DU MODULE... 7 3.1. Préférences... 7 3.2. Options... 8 3.3.

Plus en détail

Introduction à Access VBA (article invité)

Introduction à Access VBA (article invité) Introduction à Access VBA (article invité) Suite à des demandes d abonnés concernant le VBA, j ai proposé à Hervé Inisan du blog Le grenier Access d écrire un article invité à ce sujet, comme je l ai proposé

Plus en détail

Entraînement au concours ACM-ICPC

Entraînement au concours ACM-ICPC Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming

Plus en détail

Introduction au Makefile

Introduction au Makefile Introduction au Makefile Nicolas Kielbasiewicz 3 mars 2009 Le développement d un programme et plus généralement d un logiciel demande au(x) programmeur(s) de gérer plusieurs fichiers, voire plusieurs langages.

Plus en détail

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

Plus en détail

Sites web propriétaires

Sites web propriétaires Ce document est disponible à : C:\Users\pc_samba\Documents\Doc sites prop.docx Sommaire 1 Introduction... 3 2 Création du mini-site... 4 2.1 Autorisation de création... 4 2.2 Création de votre site Web...

Plus en détail

Le raisonnement par récurrence

Le raisonnement par récurrence Le raisonnement par récurrence Nous notons N l ensemble des entiers naturels : N = {0,,, } Nous dirons naturel au lieu de entier naturel Le principe du raisonnement par récurrence Soit A une partie de

Plus en détail

Freestyle : Sculpting Meshes with Self-Adaptive Topology

Freestyle : Sculpting Meshes with Self-Adaptive Topology Freestyle : Sculpting Meshes with Self-Adaptive Topology Rapport Recette Étudiants : Charles Garibal, Maxime Robinot, Mathieu Dachy Tuteur : Loïc Barthe 20/02/2015 1 I) Introduction Rappel : Objectif du

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Rapport Technique No. GIDE-01-2013. Soyons un peu logiques! par. Jean-Marc BERNARD GIDE GIDE

Rapport Technique No. GIDE-01-2013. Soyons un peu logiques! par. Jean-Marc BERNARD GIDE <jeanmarc@gide.net> GIDE Rapport Technique No. -01-2013 Soyons un peu logiques! par Jean-Marc BERNARD 17 rue La Noue Bras de Fer 44200 Nantes, France 28 février 2014 Soyons un peu logiques! Jean-Marc BERNARD

Plus en détail

LES INJECTIONS SQL. Que20. 08 novembre 2015

LES INJECTIONS SQL. Que20. 08 novembre 2015 LES INJECTIONS SQL Que20 08 novembre 2015 Table des matières 1 Introduction 5 2 Qu est-ce qu une injection SQL? 7 3 Premier cas : injection SQL sur une chaîne de caractères 9 3.1 Comment s en protéger?..............................

Plus en détail

Exploiter les EDI avec Optymo

Exploiter les EDI avec Optymo Exploiter les EDI avec Optymo Notes de lecture : dans ce document, les textes soulignés font référence aux libellés des fenêtres ou aux libellés associés à des boutons d Optymo, et les textes en caractères

Plus en détail

Procédure pour évaluer et/ou éditer un article

Procédure pour évaluer et/ou éditer un article Procédure pour évaluer et/ou éditer un article Rôle des membres du comité de rédaction dans le processus de révision d un article : 1. Rôle de la Rédactrice en chef 2. Rôle des Rédacteurs adjoints 3. Rôle

Plus en détail

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles

Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Annexe 4 Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voie : Technologie et biologie (TB) Discipline : Informatique Première et seconde années Programme d informatique

Plus en détail

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic Algorithmique et programmation Cours d'algorithmique illustré par des exemples pour le picbasic Même s'il est possible d'écrire un programme petit à petit par touches successives, le résultat est souvent

Plus en détail

Atelier de programmation en python

Atelier de programmation en python Atelier de programmation en python Kévin Chewie Sztern et Christophe Sagane Vermorel Contents Introduction 2 L environnement de développement 2 Démarrer l IDE............................... 2 Premiers

Plus en détail

TP1 - Découverte du logiciel Knime

TP1 - Découverte du logiciel Knime TP1 - Découverte du logiciel Knime 1 Introduction et objectifs du TP Les données sont devenues une matière première qu il faut indispensablement maîtriser pour mieux comprendre le monde dans lequel nous

Plus en détail

Analyse syntaxique et application aux langues naturelles. Grammaires Lexicales Fonctionnelles (LFG)

Analyse syntaxique et application aux langues naturelles. Grammaires Lexicales Fonctionnelles (LFG) Université de Nice Sophia Antipolis Master 2 Recherche PLMT Analyse syntaxique et application aux langues naturelles Grammaires Lexicales Fonctionnelles (LFG) Jacques Farré et Sylvain Schmitz Analyse syntaxique

Plus en détail

Table des matières. 2 Uses Cases 8. 3 Manuel de développement 9. 4 Code 10

Table des matières. 2 Uses Cases 8. 3 Manuel de développement 9. 4 Code 10 Table des matières 1 Choix techniques 2 1.1 Enregistrement au format XML......................... 2 1.1.1 Introduction............................... 2 1.1.2 De Java à XML..............................

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail