page d'accueilliste des sujets liste des groupes liste des encadrants

TER DE MASTER 1 en INFORMATIQUE - HMIN201 - année 2015-16

login mdp

53 sujets proposés
a.seriai_1
a.seriai_2
a.chifolleau_1
a.chateau_2
b.colombani_1
bringay_1
chateau_1
d.goncalves_1
d.goncalves_2
dony_1
e.gioan_1
e.bourreau_1
e.bourreau_2
e.bourreau_3
e.bourreau_4
e.bourreau_5
ferber_1
ferber_2
g.duvillie_1
h.bouziane_1
huchard_1
huchard_2
INDICATEURS_INRA
jonquet_1
jonquet_2
k.todorov_1
lafourca_1
lafourca_2
lafourca_3
lafourca_4
leclere_1
Leclere_2
l.ramadier_1
meynard_1
m.hascoet_1
N.Clairet_1
n.rodriguez_1
OMQA-KeyVAL
pompidor_1bis
pompidor_1
Pompidor_2
prince_1
RDF_PERFORMANCE
RDF_Streaming_Validation
r.giroudeau_1
r.giroudeau_2
s.paradis_1
s.paradis_2
seriai_1
s.berard_1
s.daude_1
tibermacin_1
w.puech

1. refactoring d'une application PHP   
Identifiant : sebastien.paradis_1_2015-16 • Encadrant(s) : pompidor@lirmm.fr, sebastien.paradis@cirad.fr

Résumé : Une application web en PHP développée from scratch selon le modèle MVC nécessiterait un refactoring complet, en prenant pour base un framework existant (au choix : Silex, CakePHP, FalconPHP, autre selon proposition argumentée).
Cette application permet d'archiver des essais en laboratoires effectués sur différentes biomasses, dans un but de consultation et réutilisation. Techniquement parlant elle prend en charge les accès CRUD à une base de données MySQL et fournit des vues de navigation ainsi que d'administration (en HTML5 + Bootstrap).
L'unique contrainte fonctionnelle "transversale" est l'authentification des utilisateurs et la gestion de différents niveaux de droits sur la gestion du contenu de la BDD.

Attendus :
- Rapport d'analyse et de développement
- Démonstrateurs

Prérequis :
- maitrise de la POO et mise en œuvre des design patterns
- compétences en PHP et de préférence une 1ère approche avec un framework "connu"

Lien : - • Dernière mise à jour : 2015-11-08 15:16:50

2. Base de données de bois tropicaux   
Identifiant : sebastien.paradis_2_2015-16 • Encadrant(s) : pompidor@lirmm.fr, sebastien.paradis@cirad.fr

Résumé : A partir d’une base de données de bois tropicaux existante :
1. Étude d’une architecture permettant sa consultation à partir de différents clients : application de bureau, application mobile (smartphones et tablettes), application web ;
2. Identification des technologies les plus indiquées pour la réalisation ;
3. Développement d'un ou plusieurs prototypes de démonstration.

Le but étant de maximiser la réutilisabilité des développements effectués, ainsi que faciliter les mises à jour de la BDD et de ses divers clients (le moins de mises à jour à reporter en différents endroits, d’oĂč l’intérêt d’une couche métier universelle par exemple).
Parmi les possibilités à prendre en compte :
1. Une BDD unique distante + couche métier (modèle de données et accès SQL) en PHP sur un serveur Cirad + une API REST à développer (et écriture d’un client utilisant cette API) ;
2. Une BDD locale sur chaque client + couche métier réutilisable (Java ? C# ?) + application cliente différente selon chaque plateforme cible ;
3. Une solution "mixte" : BDD sur un serveur et plusieurs BDD locales, la BDD serveur pouvant synchroniser ses modifications avec les BDD distantes lorsqu’une connexion est disponible.

Le tout en tenant compte de certaines contraintes :

Contraintes fonctionnelles :
- Authentification de l’utilisateur
- Interfaces utilisateur simples et ergonomiques

Contraintes techniques :
- Utilisation du SGBD MySQL
- Utilisation d'un framework pour le développement PHP (CakePHP, Falcon, ...)

Attendus :
- Rapport d’étude et recommandations (et éventuellement de développement)
- Démonstrateurs

Prérequis :
- maitrise de la POO et mise en œuvre des design patterns
- connaissances SQL
- pratique de Java ou PHP ou C#

Lien : - • Dernière mise à jour : 2015-11-08 14:56:57

3. Implémentation d'un algorithme linéaire avec garantie de performance pour le calcul d'un couplage maximal dans un graphe   
Identifiant : chateau_1_2015-16 • Encadrant(s) : annie.chateau@lirmm.fr, rodolphe.giroudeau@lirmm.fr

Résumé : Etant donné un graphe non orienté sans boucle G=(V,E), un couplage est un ensemble d'arêtes du graphe, qui sont sommets-disjointes. Un couplage est parfait lorsqu'il couvre tous les sommets du graphe. On se place dans le cas oĂč les arêtes sont valuées, et on s'intéresse au problème de trouver un couplage de poids maximal dans le graphe. Ce problème est polynomial, et différents algorithmes ont été implémentés afin d'améliorer la complexité de ce calcul, qui dans l'algorithme originel est en O(nÂČ m), oĂč n est le nombre de sommets et m le nombre d'arêtes du graphe. Il est important de disposer d'une complexité la plus basse possible, car le calcul d'un couplage de poids maximal est souvent utilisé comme première étape ou routine dans d'autres problèmes (couverture par des cycles, démarrage d'heuristiques pour des problèmes de voyageur de commerce, ou d'échafaudage de génomes par exemple).
Afin de rendre cette étape plus efficace, on peut s'intéresser à l'implémentation d'une heuristique qui propose une solution approchée, en temps linéaire. On dit que cet algorithme est 1/2-approché car il propose une solution qui a un score ayant un rapport maximal 1/2 au score de la solution optimale. Ainsi, on gagne en temps ce qu'on perd en optimalité, mais cela reste contrôlé.

Le but du TER est de :
- Etudier cet algorithme.
- Proposer d'autres algorithmes en temps linéaire.
- L'implémenter.
- Comparer ses performances à celles de l'implémentation proposée par Kolmogorov et al. en 2009, en temps (évidemment ce sera meilleur!) comme en score (là, on attend de voir... ), en utilisant des données simulées.

Lien : - • Dernière mise à jour : 2015-11-08 14:59:21

4. Théorie spectrale des graphes
Identifiant : rodolphe.giroudeau_1_2015-16 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Présentation : La théorie spectrale des graphes s'intéresse aux rapports entre les spectres des différentes matrices que l'on peut associer à un graphe et ses propriétés. C'est une branche de la théorie algébrique des graphes. On s'intéresse en général à la matrice d'adjacence et à la matrice laplacienne normalisée (wikipedia).

Dans ce TER, vous vous intéresserez à présenter les propriétés de bases,et les différences entre matrice Laplacienne et d’adjacence. Toutes les propriétés doivent être justifiées.

Lien : - • Dernière mise à jour : 2015-11-08 15:04:55

5. théorie des jeux
Identifiant : rodolphe.giroudeau_2_2015-16 • Encadrant(s) : rodolphe.giroudeau@lirmm.fr

Résumé : Présentation : La théorie des jeux s’intéresse à des situations pour lesquels des joueurs doivent prendre des décisions tout en sachant que le choix de chaque joueur dépend de celui des autres. On parle dans cette théorie de jeux coopératifs/non coopératifs, jeux à somme nulle/non nulle ….. Ce TER a pour but de présenter les grandes lignes de cette théorie.

Lien : - • Dernière mise à jour : 2016-01-20 22:52:51

6. Jeu Android d'annotation de textes pour la désambiguisation lexicale
Identifiant : lafourca_1_2015-16 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : Il s'agit de modéliser, spécifier et implémenter (mysql/php) un jeu en ligne (sur navigateur web et jouable sur mobile) permettant de produire un corpus de phrases/textes annotés sémantiquement. Chaque terme ambigu (avocat, frégate, livre, etc.) sera associé avec une ou plusieurs gloses permettant d'identifier le sens correct (avocat > fruit, frégate > oiseau, livre > poids, etc.). Le jeu collectera l'ensemble des réponses des joueurs et distribuera des points en fonction de l'adéquation de celles-ci. Trois niveaux de jeu sont à prévoir :

* débutant : les mots à annoter sont mis en évidence dans le texte et chacun est associé à un ensemble de gloses possibles (+ autres en entrée libre s'il en manque) ;
* confirmé : les mots à annoter sont mis en évidence, mais aucune proposition de glose n'est faite ;
* expert : les mots ne sont pas mis en évidence et doivent être trouvés par le joueur.

Les joueurs de niveau expert peuvent proposer de nouveaux textes. Les fonctionnalités seront définies de façon à rendre le jeu addictif tout en s'assurant une bonne qualité des données.
Vous vous renseignerez sur les Jeux Sérieux et les GWAP, en particulier : Wordrobe, Phrase Detective, ...

** prérequis : base de données, web/php, dev Android, bonne maîtrise du français

à lire :
* J. Chamberlain, K. Fort, U. Kruschwitz, M. Lafourcade and M. Poesio (2013) Using Games to Create Language Resources: Successes and Limitations of the Approach. Theory and Applications of Natural Language Processing. Gurevych, Iryna; Kim, Jungi (Eds.), Springer, ISBN 978-3-642-35084-9, 2013, 42 p.
* M. Lafourcade, A. Joubert (2012) Enrichissement de la longue traîne d’un réseau lexical grâce à un outil d’évaluation. In proc of 11es journées internationales d'analyse statistique des données textuelles (JADT2012), Liège, Belgique, 13-15 juin 2012.

Lien : http://jeuxdemots.orgDernière mise à jour : 2015-11-08 15:14:01

7. Jeu de mots associatif multilingue (Android)
Identifiant : lafourca_2_2015-16 • Encadrant(s) : mathieu.lafourcade@lirmm.fr

Résumé : L'objet de ce projet est de réaliser un jeu en ligne (web) similaire à JeuxDeMots (jeuxdemots.org) mais tout en étant à la fois simplifié et multilingue. Le joueur décide de jouer avec un certain nombre de langues (mettons Français, Anglais, Arabe) et pour un terme proposé par le système pourra faire des proposition dans n'importe lesquelles des langues choisies. Une attention particulière sera portée sur la possibilité de passer d'un mode de saisie à l'autre (écrire de l'Arabe, puis du Chinois, revenir au Français, etc. durant une partie) et sur l'ergonomie, gameplay global du jeu.

prérequis : programmation Andoid et/ou web, PHP, javascript, bonne maîtrise du français et d'une autre langue

Lien : - • Dernière mise à jour : 2015-11-08 15:17:56

8. Détection de relations sémantiques dans les pages médicales de wikipedia
Identifiant : lafourca_3_2015-16 • Encadrant(s) : lionel.ramadier@lirmm.fr, lafourcade@lirmm.fr

Résumé : L’informatisation des professions de santé et le développement du dossier médical personnalisé (DMP) entraîne une progression rapide du volume d'information médicale numérique. Les systèmes informatiques médicaux permettent de stocker de l’information (dossier médical, résultats d’examens complémentaires, images et comptes rendus radiologiques par exemple), d’y accéder en vue d’améliorer la prise en charge des patients, de découvrir de nouvelles informations ou de fournir une aide à la décision pour l’amélioration de la qualité des soins. Or, cette information est souvent consultée de façon individuelle et manuelle alors que le format numérique permettrait une analyse informatisée. L’information à exploiter est en grande partie sous forme textuelle et il s’agit alors de pouvoir extraire de façon automatique des données sémantiques. Le besoin de convertir toute cette information sous forme structurée est donc un enjeu majeur. Pour réaliser cette tâche il est nécessaire d’avoir une base de connaissance de spécialité structurée et dynamique (apprentissage permanent).

Pour ce sujet de TER, il s'agira de travailler sur l'extraction de relations sémantiques (synonymie, hyperonymie, causatif, caractéristique..) à partir d'articles médicaux issus de l'encyclopédie Wikipedia et du site sur les maladies rares Orphanet. Cette extraction aura pour but de consolider un réseau lexico-sémantique de spécialité inclus dans le réseau de connaissance générale JeuxDeMots. Il faudra utiliser les ressources et travaux de recherches à votre disposition afin d'élaborer des algorithmes pertinents. Le travail sera composé des tâches suivantes:

* état de l'art sur l'extraction de relations sémantiques à partir de textes non structurés.
* récupérer les pages wikipédia (voire d'autres sites comme orphanet).
* proposer un algorithme d'extraction de relations.
* création d'une base de données susceptible d'être intégrée au réseau.

Le langage de programmation utilisé sera au choix des étudiants.

Lien : - • Dernière mise à jour : 2015-11-08 15:22:47

9. Application web et base de données dédiées aux microcèbes   
Identifiant : anne-muriel.chifolleau_1_2015-16 • Encadrant(s) : anne-muriel.chifolleau@lirmm.fr

Résumé : neurodégénératives) développe depuis les années 1980 une colonie de petits primates lémuriens appelés Microcebus Murinus (Microcèbe). Cette espèce est endémique de Madagascar et présente des caractéristiques phénotypiques du vieillissement similaires à l’homme. Sa longévité étant de 6-7 ans, il est devenu un bon modèle d’étude des maladies liées au vieillissement comme la maladie d’Alzheimer. Les informations biologiques et les différentes analyses effectuées sur les animaux correspondent à une grande quantité de données cruciales pour les études futures. Une base de données relationnelle associée à une interface web permettant le stockage, l'interrogation, la visualisation et l'analyse de données de microcèbes (situés sur le campus de l'UM2) ont été développées lors d'un stage précédent. Des données sur les animaux et leurs liens de parenté, des données sur les tests biologiques qu'ils ont effectués ainsi que des données de biobanque sont stockées dans cette base de données. Des arbres généalogiques sont générés automatiquement afin d'isoler les sujets à risque de développer les caractéristiques physiopathologiques de la maladie d'Alzheimer.

TECHNOLOGIES UTILISEES
Le SGBD utilisé est PostgreSQL.
L'interface web est développée en HTML5/CSS/JavaScript, PHP, Ajax/Jquery en utilisant le framework Symfony2 et l'ORM Doctrine. Le format utilisé pour les arbres généalogiques est le SVG.

MISSION DU TER
Nous souhaitons apporter des améliorations à ce système existant. Le ou les étudiants auront pour mission, en fonction du temps et de l'avancée :
* permettre l'accès aux données en interne et en externe avec une gestion des droits utilisateurs adaptée
* l'amélioration de certaines fonctionnalités, notamment les fonctionnalités d'intégration automatique de données à partir de fichiers Excel remplis par les animaliers ou biologistes
* l'ajout de fonctionnalités d'administration de la base de données
* l'ajout de fonctionnalités de création et gestion d'arbres généalogiques complexes et d'analyses statistiques de données.

Le TER sera encadré par Corinne Lautier (MMDN, UM2) pour le coté données biologiques et besoins ainsi qu'Anne-Muriel Chifolleau (LIRMM, UM2) pour le coté informatique.

** Pré-requis : compétences en développement de bases de données relationnelles et implémentation
d'interface web (HTML5/CSS/JavaScript, PHP, Ajax/JQuery), connaissance du framework
Symfony2 et de l'ORM Doctrine.

Lien : - • Dernière mise à jour : 2015-11-09 23:11:30

10. Ontology-Mediated Query Answering for NO-SQL Databases : Implementing the Forward-Chaining Reasoning on top of Key-Value Stores.   
Identifiant : OMQA-KeyVAL_2015-16 • Encadrant(s) : federico.ulliana@lirmm.fr, mugnier@lirmm.fr

Résumé : The context of this internship is the issue known as Ontology-Mediated Query Answering (OMQA), which has raised considerable interest in knowledge representation and reasoning, databases and the Semantic Web. The aim of OMQA is to access data while taking into account inferences enabled by an ontology representing general knowledge about an application domain.

The ontology can enrich the vocabulary of the database, allow to infer new data, enable incomplete information, and provide a uniform access to multiple heterogeneous datasources.
Query-answering in this setting is addressed by two main techniques. The first is called materialization, or forward-chaining, and consists of materializing in the database all possible facts implied by the rules and the data. The complementary technique is reformulation, or backward chaining, and consists of reformulating queries so as to take into account rules, thereby leaving the data untouched.

Ontology-mediated query answering has been studied for relational structures and deployed on top of relational databases. Nevertheless, relational databases are not the prominent way in which information is today represented and exchanged in the Web of data. In our recent work [1], we proposed the first framework for studying the problem of answering ontology-mediated queries on top of NOSQL key-value stores. In this internship, we plan to address practical aspects of reasoning. In particular, to design and provide an efficient implementation of the forward-chaining reasoning in our setting using MongoDB [2] or CouchDB [3] system primitives.

References

1.Marie-Laure Mugnier, Marie-Christine Rousset and Federico Ulliana. Ontology-Mediated Query Answering for NO-SQL Databases. Submitted.

2. MongoDB. https://www.mongodb.org/

3. CouchDB. http://couchdb.apache.org/

Lien : http://www.lirmm.fr/~ulliana/Dernière mise à jour : 2015-11-10 09:26:52

11. Une plateforme web pour la mise en ligne de scripts   
Identifiant : bringay_1_2015-16 • Encadrant(s) : bringay@lirmm.fr, aze@lirmm.fr

Résumé : Chaque année, plusieurs outils sont développés au sein de l’équipe ADVANSE du laboratoire LIRMM. Afin de partager ces outils à d’autres chercheurs internes ou externes au laboratoire, nous souhaitons créer une plateforme web qui permet de mettre en ligne ces outils. Ces derniers pourront être téléchargés ou utilisés directement sur la plateforme en ligne. Il s’agira donc de définir un workflow qui décrit les étapes de mise en ligne tout en uniformisant les formats d’entrées et de sorties. Plusieurs types de visualisation des résultats peuvent être implémentés (histogrammes, nuages de points, camembert, etc.).
Le premier outil à mettre en ligne sur cette plateforme sera un système d’analyse de sentiments. Il s’agit d’un système qui permet de deviner le sentiment (positif, négatif ou neutre) et l’émotion (joie, colère, peur, tristesse, etc.) exprimé dans un texte d’une manière automatique. Un système d’analyse de sentiment permet par exemple de déduire que la phrase « C’est le weekend et il fait beau, youpi ! » exprime un sentiment de polarité positif et que l’émotion véhiculée est la joie. Un exemple de site pour un système d’analyse sentiment est accessible sur : https://semantria.com/demo

Prérequis: Java, HTML, CSS, PHP ou JSP.

Lien : http://www.lirmm.fr/~aze/Stage_TER_M1.pdfDernière mise à jour : 2015-11-10 09:55:33

12. Y -a-t-il un intrus ?
Identifiant : prince_1_2015-16 • Encadrant(s) : prince@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : Sujet : Y -a-t-il un intrus ?
Encadrants : Mathieu Lafourcade, Violaine Prince

Le réseau lexical Jeux de Mots (JDM) (www.jeuxdemots.org et articles ici) est une ressource lexicale importante sous forme d’un gigantesque graphe, dont les sommets sont des termes de la langue, ou des concepts, et dont les arrêtes sont des relations sémantiques (qui apportent du sens), taxinomiques (qui servent à la classification) ou thématiques (qui indiquent que les sommets reliés relèvent d’un thème).

Aujourd’hui, le réseau a atteint une taille et un degré de maturité tels qu’ils permettent de réaliser des raisonnements et donc d’aider à la construction d’applications relevant de la représentation des connaissances et de l’intelligence artificielle.

L’idée proposée dans ce TER consiste à faciliter le raisonnement par le biais de la généralisation (induction expérimentale) et de la révision (abduction). Les notions considérées sont développées dans (Prince, 1998).

Pour cela, il faut “créer un jeu” dans lequel on fournit au système un certain nombre de termes, appelés des “faits”. En appariant ces termes avec JDM, le système doit pouvoir savoir si ces termes “se ressemblent”, sur quoi se fonde cette ressemblance (quelle relation en commun), et donc créer une classe de termes (généralisation), qui aura pour caractéristique la relation commune, si celle-ci n’existe pas encore. Cette classe permettra ensuite le raisonnement déductif abstrait et générique et donc plus au niveau conceptuel qu’au niveau terminologique.
Il peut arriver que certains termes ne puissent faire partie de la classe, auquel cas ce seront des “intrus”, et l’idée est de les mettre en avant, afin de les faire entrer dans un nouveau processus de généralisation.

Le jeu “y-a—t-il un intrus” sera un très bon moyen de pré-classifier des termes, de détecter des exceptions et des polysémies (multiplicité de sens). En substance, un terme a des chances d’être polysémique si on s’aperçoit qu’on peut le considérer comme une instance possible de plusieurs classes différentes. L’avantage de ce procédé est qu’il explicitera le socle de chacun des sens, puisqu’il s’agira de la (ou les) propriété(s) permettant de définir une classe.

Le TER consistera à :

* se familiariser avec le réseau JDM (http://www.jeuxdemots.org/diko.php);
* adapter et mettre en oeuvre des algorithmes proposés dans (Prince, 1998) ;
* réaliser une interface de jeu pour permettre à des utilisateurs de jouer à “y -a-t-il un intrus ?” de façon à alimenter le réseau.

Lien : - • Dernière mise à jour : 2015-11-11 10:44:44

13. Un générateur de workflow (flux de travail)
Identifiant : hinde.bouziane_1_2015-16 • Encadrant(s) : hinde.bouziane@lirmm.fr

Résumé : Un workflow est un graphe qui décrit l’enchainement de l’exécution d’un ensemble de tâches (traitements) et éventuellement les dépendances de données entre ces tâches. Ce type de graphe est largement utilisé pour la réalisation d’applications scientifiques et des procédures d’entreprise.

L’objectif de ce TER est de réaliser un générateur de workflows pour la réalisation d’applications synthétiques. Ces applications seront utilisées pour faciliter l’évaluation de travaux de recherche autour du calcul scientifique.

Ce générateur utilisera des paradigmes de graphes que l’ont retrouve souvent dans les applications scientifiques [1, 2], afin de générer des applications synthétiques proches des applications réelles. Des paramètres seront aussi fournis par l’utilisateur pour déterminer, par exemple, l’ordre de grandeur du graphe à produire et le temps de calcul des tâches.

Un workflow produit par le générateur sera représenté graphiquement et sa description sera stockée au format XML (ou autre). A ce stade, il est souhaitable que la description du workflow ne soit pas spécifique à un langage de workflow donné, mais plutôt générique (chose qui est assez simple à faire). Une autre étape sera donc de traduire cette description vers son équivalent dans un langage de workflow bien identifié (un ou deux dans le cadre de ce TER). Durant cette étape, la nature des tâches sera aussi déterminée (composants logiciels, scripts, programmes C/C++/Java, etc.). L'intérêt de cette approche est de pouvoir réaliser des évaluations de travaux de recherche en faisant des comparaisons entre différents langages de workflows (sur un même ensemble d’applications synthétiques).

Les graphes étudiés dans ce TER sont des DAG (Directed Acyclic Graph).

Le langage de programmation utilisé pour la réalisation du générateur sera au choix des étudiants.

Les étapes du TER sont :

- comprendre la notion de workflow ( à travers un ou deux langages)

- état de l’art sur les paradigmes de graphes récurrents dans les workflow scientifiques et sur un générateur de workflows spécifique.

- définir des stratégies de génération de workflows et définir une spécification d'une description générique d’un workflow (à partir de l’existant)

- implémenter le générateur

- implémenter la traduction d’une description générique vers une description dans un langage existant, avec instantiation des tâches.

Prérequis : notions en graphes (algorithmique de graphe est un plus), interprétation, programmation.

Lien : - • Dernière mise à jour : 2015-11-11 13:57:33

14. Analyse relationnelle de concepts pour JeuxDeMots
Identifiant : huchard_1_2015-16 • Encadrant(s) : huchard@lirmm.fr, prince@lirmm.fr, lafourcade@lirmm.fr

Résumé : Le réseau lexical Jeux de Mots (JDM) (www.jeuxdemots.org et articles ici) est une ressource lexicale importante sous forme d’un gigantesque graphe, dont les sommets sont des termes de la langue, ou des concepts, et dont les arêtes sont des relations sémantiques (qui apportent du sens), taxinomiques (qui servent à la classification) ou thématiques (qui indiquent que les sommets reliés relèvent d’un thème).
Ces relations étaient à l’origine issues du Crowdsourcing, c’est-à-dire de la contribution volontaire d’utilisateurs humains, mais avec le temps et les améliorations, plusieurs robots logiciels y ont été greffés afin d’agrandir et de raffiner le réseau. Aujourd’hui, le réseau a atteint une taille et un degré de maturité tels qu’ils permettent de réaliser des raisonnements et donc d’aider à la construction d’applications relevant de la représentation des connaissances et de l’intelligence artificielle.

Pour améliorer encore les raisonnements, il importe que la partie conceptuelle de JDM soit la plus juste et la plus expressive possible. C’est pourquoi, on propose dans ce TER d’utiliser les propriétés de l’analyse relationnelle de concepts (Dolques et al. 2012) qui se prête particulièrement bien aux relations multiples entre différents éléments, puisqu’il s’agit d’une “classification itérative d’objets liés entre eux par différentes relations binaires” (op.cit.). L’idée est de sélectionner une portion du réseau JDM comme structure d’entrée du logiciel développé à l'ENGESS par Xavier Dolques sous la direction de Marianne Huchard, et d’en étudier les résultats. On proposera alors :

- de nouvelles relations
- de nouveaux concepts et ou classes

On pourra éventuellement substituer des portions de treillis à certaines parties de JDM, ou extraites de petites ontologies, grâce à la superposition des relations terminologiques avec leur pendant conceptuel. A terme, ces ontologies, ou onto-terminologies ainsi proprement charpentées pourront être ré-exploitées dans un cadre de recherche différent (Web sémantique, applications liées à la gestion de connaissances, etc.), comme ce qui a été fait par exemple dans (Falleri et al. 2010) à partir d’une terminologie arborescente, mais avec une orientation et un niveau d’échelle encore plus riches.

Références

X. Dolques, F. Le Ber, M. Huchard, C. Nebut, 2012 “Analyse relationnelle de concepts pour l’exploration de données relationnelles”. GDR I3

Jean-Rémi Falleri , Marianne Huchard, Mathieu Lafourcade, Clémentine Nebut, Violaine Prince, Michel Dao 2010 "Automatic Extraction of a WordNet-Like Identifier Network from Software". ICPC 2010: 4-13

Lien : - • Dernière mise à jour : 2015-11-11 19:54:10

15. Complexité algorithmique d'un problème d'affectation multidimensionnelle de vecteurs binaires   
Identifiant : guillerme.duvillie_1_2015-16 • Encadrant(s) : guillerme.duvillie@lirmm.fr, rodolphe.giroudeau@lirmm.fr

Résumé : Nous considérons le problème d'affectation multidimensionnelle de vecteurs binaires défini par m ensembles disjoints V^1,...,V^n composés de n vecteurs binaires de taille p. Pour chaque j in {1,2,...,n}, chaque i in {1,2,...,m} et pour chaque l in {1,2,...,p}, le j^e vecteur de V^i est noté V^i_j, et sa l^e composante V^i_j(l).

Nous cherchons un ensemble S de n piles dijointes. Une pile s={v^s_1,...,v^s_m} est un m-uplet de vecteurs vérifiant v^s_i in V^i. Deux piles s_1,s_2 sont dites disjointes ssi aucun vecteur n'appartient à s_1 et s_2.

Nous associons à chaque pile s un vecteur p-dimensionnel binaire v_s en utilisant l'opérateur binaire & (le ET logique): étant donnés deux vecteurs p-dimensionnels u,v, nous définissons u&v=(u(1)&v(1),...,u(p)&v(p)). On associe le vecteur v_s à une pile s, défini par v_s=big&_{i=1}^{m}v^s_i.

Le coĂ»t d'un vecteur c(v) est défini par le nombre de composantes nulles qu'il contient. Par extension, le coĂ»t d'une pile s est défini par c(s)=c(v_s).

Étant donné un entier alpha>0, une pile s est dite alpha-valide ssi elle vérifie c(v_s)leqalpha. Le profit d'une solution S est c(S)=|{s:c(v_s)leqalpha, s in S}|.

L'objectif est donc de trouver un ensemble de n piles disjointes maximisant le nombre de piles alpha-valides.

Une variante de ce problème, dans laquellle l'objectif est de minimiser le nombre total de zéros dans les vecteurs représentant les piles, bénéficie d'un grand nombre de réduction.

L'objectif de ce TER est dans un premier temps d'apréhender les problèmes, puis de recenser et comprendre les réductions polynomiales afin de chercher à étendre ces dernières au problème considéré.

PREREQUIS (souhaité): connaissances basiques des classes de complexité et des mécanismes de réduction polynomiale.

Lien : http://cv.duvillie.eu/media/ter_m1.pdfDernière mise à jour : 2015-11-13 19:56:08

16. Interface web pour la production et la validation d'alignements d'ontologies pour le web sémantique
Identifiant : konstantin.todorov_1_2015-16 • Encadrant(s) : konstantin.todorov@lirmm.fr

Résumé : Encadrants : Konstantin Todorov, Zohra Bellahsene

Une ontologie est un ensemble de concepts et de relations entre ces concepts qui décrivent un domaine d'intérêt. Les ontologies sont utilisées en l'intelligence artificielle afin de rendre explicite les connaissances et particulièrement dans le domaine du Web afin de faciliter la représentation et l'accès à l'information et aller vers la création d'un web sémantique oĂč l'information est compréhensible à la fois pour les humains et pour les machines.

Souvent plusieurs ontologies sont créées de manière indépendante pour représenter le même domaine d'intérêt. L’alignement d’ontologies est le processus de recherche des correspondances et des relations entres telles ontologies. C'est une tâche cruciale pour assurer l'interopérabilité entre les ontologies du web sémantique. Nous avons développé deux outils d’alignement d’ontologies dans notre équipe : YAM++ [1] et LYAM++ [2]. Les entrées de chacun des outils sont deux ontologies O1 et O2 (sous forme de fichier OWL, le format de référence du web sémantique). En sortie, les outils produisent un ensemble de correspondances, ou de mappings, sous la forme

{Concept de O1, Concept de O2, relation r, score n}.

Ces deux outils ont été développés en Java sous forme d’une application bureau. On souhaite rendre l'exécution des deux outils en ligne. Nous voulons aussi saisir cette opportunité pour enrichir notre corpus d'ontologies et notre base de connaissance avec les mappings produits par nos outils.

Le travail à faire est le suivant :

1. Création d’une interface web qui permet à l’utilisateur de fournir en entrée deux ontologies (deux fichiers OWL). Le résultat de l'exécution doit être stocké sous forme de tableau. Une possibilité doit être proposée à l'utilisateur de valider (oui/non) chacun des mappings produit par le système.
2. Sauvegarde des ontologies fournies par l’utilisateur (après accord de celui­ci).
3. Sauvegarde des mappings produits dans une base de données MySQL.
4. Déploiement de la page web dans un serveur web (LIRMM).

Compétences requises : PHP, CSS, HTML et MySQL.

Lien : - • Dernière mise à jour : 2015-11-13 20:19:38

17. ComJAVA : Extension du Langage Java par Intégration des Concepts de Module/Composant et d'Architecture.
Identifiant : abdelhak.seriai_1_2015-16 • Encadrant(s) : abdelhak.seriai@lirmm.fr, hinde.bouziane@lirmm.fr

Résumé : Les langages orientés objet tels que Java, C++ ou Smalltalk offrent des avantages certains pour faciliter le développement de systèmes logiciels de qualité. Néanmoins, pour des systèmes de plus en plus complexes, ces langages atteignent leur limite, entre autres, par rapport aux propriétés de compréhension, de maintenabilité et de réutilisabilité de ces systèmes. Ainsi, d'autres langages dits post-objet ont vu le jour tels que les langages à base de composants (ArchJava, CCM, Fractal, Compo, etc.)

Notre objectif dans le cadre de ce travail est d'expérimenter l'extension d'un langage objet existant pour le doter de certaines capacités offertes par les langages à base de composants. Ainsi, nous proposons d'étendre le langage Java pour y intégrer les principaux concepts proposés dans les langages à base de composants : composant, interface de composant, port, architecture, assemblage, etc.

Ce travail se basera sur une compréhension du concept de composant inspirée du projet ROMANTIC (Re-engineering of Object-oriented sytesMs by Architecture extractioN and migraTIon to Component based ones.) .

Les principales étapes de ce travail sont :

- Étudier les principaux langages à base de composant existants pour pouvoir identifier leur principaux concepts/éléments pour ensuite compléter la définition de la grammaire de ComJava (l'extension de java proposée dans ce travail), dont une partie est déjà définie.

- Proposer une implémentation d'un programme écrit en ComJava en Java (c-a-d, Modèle de correspondance entre concepts ComJava et concepts Java).

- Créer un analyseur lexical/syntaxique de ComJava en utilisant l'outil ANTLR . En plus, une transformation d'un code écrit en ComJava en Java est demandée.

Ce travail convient à des étudiants intéressés par l'amélioration de leur compréhension par rapport aux concepts/langages orientés objet et par la création de langages post-objet.

Lien : http://www.lirmm.fr/~seriai/index.php?n=Encadrement.TERMaster12015-2016Dernière mise à jour : 2015-11-19 21:47:21

18. Évaluation de la Qualité de Composants Logiciels OSGI à partir de l'analyse de leur Code Source JAVA
Identifiant : abdelhak.seriai_2_2015-16 • Encadrant(s) : abdelhak.seriai@lirmm.fr, hinde.bouziane@lirmm.fr

Résumé : Les langages à base de composants sont des langages de programmation dits post-objet. Ils permettent la création d'applications logicielles par assemblage de briques de base dites composants. L'idée générale de ces langages est de créer un système logiciel comme en industries mécanique ou électronique : par assemblage de composants existants. Le langage OSGI fait partie de ces langages . OSGI est basé sur Java, oĂč un composant OSGI est créé à partir d'un groupe de classes Java.

Nous proposons d'étudier dans le cadre de ce travail l'évaluation de la qualité d'un composant OSGI. Cette évaluation doit se baser sur un modèle de mesure de la qualité d'un composant qui a été proposé dans le cadre du projet ROMANTIC (Re-engineering of Object-oriented sytesMs by Architecture extractioN and migraTIon to Component based ones.). Ce modèle de mesure est inspiré du modèle de mesure de la qualité ISO9126

Les étapes principales proposées pour ce travail sont :

- Formaliser et structurer les éléments du modèle de mesure de la qualité décrit dans ROMANTIC.

- Implémenter le modèle de mesure de la qualité d'un composant OSGI en JAVA. Il s'agit de l'analyse de l'ensemble des classes d'un composant OSGI pour déterminer certaines métriques telles que le couplage et la cohésion des classes.

- Expérimenter ce modèle de mesure sur des composants OSGI.

Lien : http://www.lirmm.fr/~seriai/index.php?n=Encadrement.TERMaster12015-2016Dernière mise à jour : 2015-11-19 21:41:16

19. Films (ou séries) au bout de la langue   
Identifiant : lionel.ramadier_1_2015-16 • Encadrant(s) : lionel.ramadier@lirmm.fr, lafourcade@lirmm.fr

Résumé : Il nous est tous arrivé un jour ou l’autre de ne pas nous souvenir d’un titre de film, ni même du nom des acteurs. Le seul souvenir du film (ou de la série) était l’histoire ou bien des scènes clés de l’œuvre de fiction (par exemple, la scène de la roulette russe dans « Voyage au bout de l’enfer »). Plusieurs sites de cinéma existent, mais ils ne proposent pas un moteur de recherches par mots clefs ou idées associées. Il existe peu de systèmes de recherche qui permettent de retrouver un film (ou séries) à partir de plusieurs mots (ou multi-mots) clefs ou bien de phrases.

Présentation du sujet
Le but de ce TER sera de proposer une application Android permettant de retrouver un film (ou une série) qu’on a au bout de la langue, à partir de plusieurs mots clefs évoquant le film (ou la série).

Tâche à effectuer
* Dans une première partie du travail, il sera demandé aux étudiants d’extraire des informations pertinentes (extraction de mots clefs ou idées pertinentes) à partir des synopsis des films ou séries. Pour cela on récupérera les données sur un site comme Allo ciné par exemple. Dans cette première partie les étudiants utiliseront des algorithmes et techniques issues du traitement automatiques des langues (TALN) : extraction d’entité nommée, extraction de relations pertinentes, etc.
* Ces données récupérées seront intégrées à un réseau lexico-sémantique de
* La troisième phase sera la construction de l’application proprement dite.

Le langage de programmation utilisé dans la 1ère phase du projet sera aux choix des étudiants (php, python, java, ...).

Lien : - • Dernière mise à jour : 2015-11-14 21:48:23

20. Extraction et annotation de structures visuelles
Identifiant : meynard_1_2015-16 • Encadrant(s) : meynard@lirmm.fr

Résumé : Ce projet s’inscrit dans le contexte général de l’accessibilité numérique au Web pour les personnes présentant un handicap visuel (thèse en cours). Afin de permettre à ces personnes d’accéder à une page web, il convient dans un premier temps d’analyser la structure visuelle de cette page (découpage en blocs visuels), selon une granularité prédéfinie. Il faudra ensuite annoter les blocs visuels afin de les associer à des types génériques de bloc comme par exemple : menu, bandeau haut, bandeau bas, fil d’Ariane, article, lien, ... L’utilisateur qui aura au préalable défini ses préférences concernant ces blocs génériques pourra ainsi visualiser une page web transformée selon ses voeux.

Yoann Bonavero termine actuellement une thèse sur ce sujet et travaille plus précisément sur le calcul de solutions au problème des préférences. Franck Petitdemange a effectué en 2014 un stage de recherche de M2 concernant l’inférence de structure d’une page web en vue d’améliorer son accessibilité. Une application javascript sous grease monkey a été développée et servira de base à votre étude. Quatre étudiants de Master 1 ont réalisé en 2014 un TER portant sur le même sujet et ont continué à développer le prototype. Celui-ci permet notamment de changer la couleur de police et de fond ainsi que la taille de police.

** Objectifs
Les objectifs de votre travail sont multiples :
— analyse du mémoire de recherche et du code javascript existant ;
— La documentation (jsdoc) du code permettra une compréhension plus aisée ;
— annotation des blocs visuels et appariement au méta-modèle ;
— saisie des préférences utilisateur ;
— mise en place d’une expérimentation permettant de déterminer selon des métriques à déterminer la pertinence de l’outil par rapport à une reconnaissance visuelle humaine ;
— liaison avec le prototype C++ de résolution de Y. Bonavero.

** Etapes
Le projet se déroulera, chronologiquement, suivant les étapes ci-dessous :
— lecture du mémoire de recherche, du rapport de TER et de quelques articles référencés ;
— analyse et du code ;
— réflexion autour de l’annotation et de l’appariement des noeuds composites avec les classes du méta-modèle ;
— amélioration de l’outil de saisie des préférences utilisateur ;
— compréhension de l’outil de résolution et liaison avec ce dernier ;
— tests, expérimentation, analyse des performances.

** Mots-clefs
— javascript, GreaseMonkey ;
— extraction et annotation du DOM ;
— Accessibilité.

Lien : - • Dernière mise à jour : 2015-11-16 16:47:52

21. HearthCraft   
Identifiant : eric.bourreau_1_2015-16 • Encadrant(s) : eric.bourreau@univ-montp2.fr

Résumé : Blizzard interdit de connecter des robots à Hearthstone, mais rien n’interdit de cloner l’application pour réaliser un simulateur. Nous proposons dans ce TER de réaliser un environnement jouable permettant à la fois d’introduire des IA de jeux sur un ensemble restreint de cartes (aubergiste, carte sans aléatoires, …) mais aussi de faire tourner des parties virtuelles afin de générer et valider automatiquement des nouveaux decks pour faire évoluer la méta !

Lien : http://www.lirmm.fr/~bourreau/TER/HearthCraft.pdfDernière mise à jour : 2015-11-17 10:32:42

22. Assistant Billard
Identifiant : eric.bourreau_2_2015-16 • Encadrant(s) : eric.bourreau@univ-montp2.fr

Résumé : Le but du projet est de développer un assistant de poche (disponible sur smartphone) permettant de proposer une solution pour réaliser un point au billard en prenant simplement une photo. Un prototype fonctionnel a été développé l’année dernière par un précédent TER de M1. Fort de cette expérience, nous passons à la phase industrielle (déploiement sur le store, refactoring du code pour encaisser les évolutions fonctionnelles, tests grandeur nature avec des joueurs).

Lien : http://www.lirmm.fr/~bourreau/TER/AssistantBillardV2.pdfDernière mise à jour : 2015-11-17 10:47:47

23. CSP et FCA
Identifiant : eric.bourreau_3_2015-16 • Encadrant(s) : eric.bourreau@univ-montp2.fr, marianne.huchard@lirmm.fr

Résumé : Nous proposons d'utiliser l'Analyse Formelle des Concepts pour structurer la Catalogue de Contraintes Globale mis en place par la communauté CSP. Après une première passe, des pistes d'extensions concernant les méta-données seront proposées ainsi qu'une liste des bonnes pratiques de modélisation issues des concepts sous jacents mis en évidence.

Lien : http://www.lirmm.fr/~bourreau/TER/CSPetFCA.pdfDernière mise à jour : 2015-11-17 11:54:15

24. Développement de frameworks d'interaction et édition de plans dans MetaCiv   
Identifiant : ferber_1_2015-16 • Encadrant(s) : ferber@lirmm.fr

Résumé : MetaCiv est une plate-forme de simulation et de jeux pour la conception et l’analyse de sociétés humaines en développement. Il s’agit d’un logiciel permettant de créer des IA pour jeux liés au RTS et surtout à l’évolution de sociétés (Civilization, Simcity).

Plusieurs tâches sont proposées dans ce TER:

Proposer et d'implémenter des framework portant sur la définition de situations d’interactions (échange, commerce, combat, propriété, diffusion culturelle, évolution technologique, création de villes) et de relations sociales dynamiques (groupes, rôles), en élargissant le modèle AGR.
Etendre et améliorer l'éditeur de plans de MetaCiv, de manière à disposer d'un langage graphique de définition de plans.
Tester ces fonctionnalités sur des IA de jeux.

Prérequis: connaitre Java, avoir suivi le module de programmation orienté agent (HMIN108), aimer les jeux d’évolution de sociétés.

Lien : http://www.lirmm.fr/~ferber/TER/metaciv_m1.htmDernière mise à jour : 2015-11-20 10:12:25

25. Wartbot 3 : extensions de jeu, nouveaux scénarios et jeu OnLine   
Identifiant : ferber_2_2015-16 • Encadrant(s) : ferber@lirmm.fr

Résumé : Le logiciel Warbot réalisé sous MadKit est un système de simulation de combats entre "robots". Il est destiné à valider des stratégies de coordination entre agents. Ce système est utilisé dans le cadre des module de programmation par agents du M1 d'informatique de Montpellier. Il s’agit d’étendre ses possibilités dans plusieurs directions.

Voici quelques idées d'extensions possibles:

Amélioration de l’interface du jeu
Intégration d'unités supplémentaires
Ajouter de nouveaux scénarios de Jeu. Extension du jeu à d'autres situations qu'une guerre des robots.
Développement d'un langage graphique pour implémenter des comportements
Extension du site Warbot.fr, intégration de démos et d'exemples et adaptation à la définition de tournois en ligne.

Prérequis: connaitre Java, avoir suivi le module de programmation orienté agent (HMIN108)

Lien : http://www.lirmm.fr/~ferber/TER/Warbot3-extensions.htmDernière mise à jour : 2015-11-20 10:13:02

26. Validation en Streaming de Données RDF
Identifiant : RDF_Streaming_Validation_2015-16 • Encadrant(s) : federico.ulliana@lirmm.fr, leclere@lirmm.fr

Résumé : (pour plus d'informations sur le sujet consultez le lien ci-dessous)

Ce stage vise à d’étudier le problème de la validation en streaming de données RDF.

RDF est devenu le langage standard pour la representation et l’échange de données et de connaissances dans le Web Sémantique. Il s’agit d’un langage basé sur le modèle des graphes orientés, qu’on exprime en RDF par des collections de triplets.

À la différence d’autres modèles et langages (comme par exemple le modèle relationnel), RDF n’impose aucune contrainte structurelle sur ses données. Toutefois, dans le cadre du Web Sémantique, afin d’établir une communication entre des agents différents (e.g., applications et utilisateurs) il est souvent nécessaire de définir d’abord un “contrat” sur la structure des graphes échangés : un schéma de données.

Un schéma est un ensemble de contraintes dont le but est de définir l’ensemble des données valides. Un graphe RDF qui satisfait un ensemble de contraintes données est dit valide.

Dans ce stage nous considérerons ShEx comme langage de contraintes pour les graphes RDF. Etant donnés en entrée un ensemble de triplets et un ensemble de contraintes, le problème de validation demande de répondre oui si le document est valide par rapport aux contraintes, et non autrement.

L’objectif du stage est de définir et implanter un algorithme de validation en streaming, c’est à dire un algorithme qui reçoit en entrée un graphe RDF comme un flot continu de triplets. Généralement ces algorithmes ne disposent que d’une taille mémoire limitée (bien inférieure à la taille des données) et doivent être rapides (bien qu’on peut envisager plusieurs lectures du flux de données). Pour atteindre cet objectif, il sera donc nécessaire de définir une structure de données adaptée au problème. L’implementation de l’algorithme sera faite en de préférence en C++ ou Java.

Lien : https://www.dropbox.com/s/kh4d3g8nslruf9o/rdf_validation.pdfDernière mise à jour : 2015-11-20 15:03:25

27. Proximité thématique de documents
Identifiant : leclere_1_2015-16 • Encadrant(s) : leclere@lirmm.fr

Résumé : Dans le cadre d’un projet en collaboration avec l’ABES (Agence Bibliographique de l’Enseignement Supérieur) (cf. https://info-web.lirmm.fr/qualinca) sur la vérification de la qualité de bases documentaires, on s’intéresse à définir une mesure de la proximité thématique de deux documents en fonction des mots-clés utilisés pour indexer ces documents dans le catalogue Sudoc (le catalogue du système universitaire français de documentation). L’objectif de ce TER est de proposer différentes solutions pour calculer une telle mesure, d’implanter ces solutions et d’évaluer leur pertinence par une expérimentation sur les données réelles du Sudoc.

** Travail demandé :
* Comprendre le système d’indexation par mots-clés utilisés par le Sudoc (en particulier la structuration (http://guiderameau.bnf.fr/) des sujets Rameau (http://rameau.bnf.fr/) et les relations utilisées dans le thesaurus Rameau.
* Etudier les différentes possibilités (format et méthode) d’accès au thesaurus Rameau fourni par la BNF (Bibliothèque Nationale de France) : dump RDF/SKOS, dump JSON, Sparql Endpoint (data.bnf.fr) et développer une API basée sur un modèle de graphes facilitant l’exploitation du Rameau : recherche d’un sujet donné, accès aux sujets voisins par une relation donnée, calcul de la profondeur d’un sujet...
* Proposer une ou plusieurs mesure de proximité sémantique entre sujets. On pourra s’inspirer des mesures classiques utilisées pour la distance entre termes d’un thesaurus (ou d’une ontologie) comme par exemple la mesure de Wu et Palmer (cf. http://www-sop.inria.fr/members/Fabien.Gandon/docs/HDR_Fabien_Gandon.html) que l’on appliquerait simplement aux têtes de vedette, et proposer des extensions pour avoir des mesures adaptées aux sujets complexes, et aux listes de sujets.
Définir une méthodologie d’expérimentation de la pertinence de la mesure proposée et la mettre en œuvre sur les données de l’ABES (cf. http://www.sudoc.abes.fr/).

** Extensions possibles :
- Exploitation d’autres référentiels : Mesh, Geonames...
- Exploitation d’autres données : mots-clés « texte », titres...

Lien : - • Dernière mise à jour : 2015-11-20 18:46:16

28. Développement d’une application web d’extraction et prédiction de métadonnées pour des ontologies.
Identifiant : jonquet_1_2015-16 • Encadrant(s) : jonquet@lirmm.fr, emonet@lirmm.fr

Résumé : Ce TER consiste à concevoir et implémenter une application web simple pour l’extraction, la prédiction et la validation de métadonnées pour des ontologies. Pour une ontologie donnée (fichier OWL) l’application devra extraire les propriétés de cette ontologie (nom, description, dates, contributeurs, language, format, etc.) à partir du fichier et en prédire d’autres (langue naturelle, mot clés, etc.). Différents vocabulaires du web sémantique pour décrire les métadonnées seront gérer (DublinCore, VOAF, DCAT, VOID, etc.) et mappés vers des propriétés communes. Une interface Web permettra à l’utilisateur de valider les propriétés extraites et d’éventuellement les récupérer directement dans son fichier d’origine.

** Description détaillée :
Une ontologie est une représentation formelle des concepts, relations et règles d’un domaine. Il existe plusieurs language du web sémantique pour encoder les ontologies : RDFS, SKOS, OWL, OBO, etc. Pour permettre d’ordonner, identifier, réutiliser les ontologies, nous avons besoins de métadonnées sur ces ontologies les plus précise possible. Ces propriétés ne sont en général pas assez remplies par les développeurs d’ontologies et notre objectif est de développer une application web qui leur facilite la tâche. Quand elles sont remplies, ces ontologies peuvent utiliser différents vocabulaires que nous devrons prendre en compte dans cette application.

Pour une ontologie donnée, l’application extraira les propriétés de l’ontologie (nom, description, page de documentation, contributeurs, dates, etc.) à partir du fichier. Lorsque ces informations ne seront pas là, l’application essaiera de les prédire en fonction du contenu de l’ontologie ou en utilisant des informations en ligne. Par exemple, en regardant les labels d’une ontologie, on peut en déduire la langue de l’ontologie. En cherchant dans PubMed, on peut trouver la publication de référence pour une ontologie.

L’application affichera ensuite à l’utilisateur les propriétés extraites, prédites et vides pour lui permettre de les valider, changer ou simplement remplir. Une fois cela effectué, un nouveau fichier de l’ontologie pourra être produit avec les propriétés inclues dans l’ontologie

** Mots clés 
Application web, web service (REST), technologies web, ontologies, parseur XML/RDF/OWL, web sémantique.

** Technologies
Java/JEE, REST, ResTful web services, XML/JSON, Tomcat, pour le Web service, RubyOnRails, web client technologies (HTML5, JavaScript, CSS), pour l’interface Web.

Lien : http://www.lirmm.fr/sifr/positions/2016_TER_M1_Jonquet_Metadata.pdfDernière mise à jour : 2015-11-23 20:41:32

29. Développement d’un Web service parseur de documents structurés en Java
Identifiant : jonquet_2_2015-16 • Encadrant(s) : jonquet@lirmm.fr, emonet@lirmm.fr

Résumé : Ce TER consiste à concevoir et implémenter un web service REST (en Java et hébergé dans un serveur d’application Tomcat) et une petite application web (en RubyOnRails et hébergée au sein d’une plateforme Web existante) dont l’objectif est de parser des documents structurés (PDF, DOC, XLS, HTML, XML) pour en extraire certains champs texte qui seront envoyés à un service d’annotation existant.

Par exemple, pour un PDF donné, nous souhaitons extraire automatiquement des sections, (e.g., ) les envoyer chacune séparément a un web service d’annotation de texte existant ; puis agréger les résultats pour l’ensemble du document. Il s’agira de développer cette fonctionnalité dans un web service « proxy » (en Java) qui traitera les documents structurés avant de les envoyer au web service d’origine. Une nouvelle vue web, modifiant celle déjà existante, sera proposée pour servir d’interface utilisateur.

** Description détaillée :
Le service que nous souhaitons interroger est un service d’annotation sémantique avec des ontologies, dont la nouvelle version francophone, le SIFR Annotator, est accessible a :
Interface utilisateur : http://bioportal.lirmm.fr/annotator
API REST : http://data.bioportal.lirmm.fr/documentation#nav_annotator
Pour le moment, le SIFR Annotator n’accepte que du texte en entrée, et il renvoie l’ensemble des concepts d’ontologies biomédicales qui sont présents dans le texte. Nous voudrions que ce service traite des documents structurés en entrée et ainsi soit capable d’automatiquement extraire et annoter des parties différentes de documents et en faire la synthèse. En plus de permettre de traiter directement des documents structurés, cela permettrait également, lors de la synthèse des annotations, d’affecter plus ou moins d’importance a une annotation suivant sa section d’origine. Par exemple, une annotation faite à partir du titre d’un article scientifique en PDF pourrait avoir plus d’importance qu’une annotation faite dans le corps de ce même article.

Les documents que nous souhaitons traiter seront dans des formats hétérogènes tels que PDF, XLS, DOC, HTML ou XML. Et surtout, ils auront des structures/sections différentes. Il s’agira ainsi de développer un mécanisme de configuration de template, qu’un utilisateur pourra définir, précisant le template à appliquer lors de l’annotation d’un document donné. Par exemple, l’utilisation du template « article en .pdf » indiquera au nouveau web service qu’il doit identifier et annoter les sections titre/abstract/keywords dans le PDF ; tandis que le template « données XYZ en .xls » indiquera qu’il s’agit d’annoter les colonnes X, Y et Z d’un tableau Excel.

Le nouveau web service sera développé en Java et hébergé dans un serveur Tomcat. Nous avons déjà une infrastructure de web service « proxy » utilisé en amont et en aval du SIFR Annotator. Il s’agira de venir développer des nouvelles fonctionnalités de parsing dans cette infrastructure. De façon similaire, nous avons déjà une interface graphique (en RubyOnRails) qu’il s’agira d’adapter aux appels du nouveau web service.
Des exemples de document structurés à traiter seront fournis.

** Mots clés :
Application web, web service (REST), technologies web, parseur de documents structurés (PDF, DOC, XLS, HTML, XML) web sémantique, annotation sémantique.

** Technologies :
Java/JEE, REST, ResTful web services, XML/JSON, Tomcat, pour le Web service.
RubyOnRails, web client technologies (HTML5, JavaScript, CSS), pour l’interface Web.

Lien : http://www.lirmm.fr/sifr/positions/2016_TER_M1_Jonquet_Parsers.pdfDernière mise à jour : 2015-11-23 20:41:45

30. Calcul de gammes musicales adaptées à une suite d'accords donnée.
Identifiant : emeric.gioan_1_2015-16 • Encadrant(s) : emeric.gioan@lirmm.fr

Résumé : Il s'agit d'un sujet à la fois théorique (combinatoire et algorithmique), pratique (programmation d'un petit logiciel utile) et musical (relations entre gammes et accords). Un accord musical est vu ici comme n'importe quel ensemble de notes (3 ou 4 typiquement, 5 pour des accords colorés) parmi l'ensemble des 12 notes de la gamme chromatique. Les gammes sont vues comme des ensembles prédéfinis de notes (7 pour les gammes majeures, 5 pour les pentatoniques, 8 pour les diminuées, etc.) parmi ces mêmes 12 notes.

Il s'agit de concevoir un programme qui prend en entrée une suite d'accords, et produit en sortie une (ou plusieurs) suite de gammes adaptée à la suite d'accords, de sorte que :
- les notes des accords fassent partie des notes de la gamme associée,
- une même gamme soit utilisée sur le plus d'accords consécutifs possibles (ou bien que le moins de gammes possibles soient utilisées au total).

Il peut y avoir bien sur de nombreuses solutions possibles, et on peut aussi s'amuser à imposer plus ou moins de contraintes.

Sur le plan théorique, il s'agira de modéliser et résoudre ce problème à la fois combinatoire et algorithmique (des solutions simples seront faciles à trouver, mais on pourra aussi en concevoir de plus complexes).
Sur le plan informatique, il s'agira d'implémenter proprement ces objets et solutions, et de permettre leur écoute en produisant un fichier MIDI.
Sur le plan musical, l'idée est que les gammes produites puissent être utilisées pour de l'improvisation ou de la composition sur la grille d'accords donnée.

Divers prolongements peuvent être envisagés selon le nombre, la rapidité et la motivation des étudiants, par exemple :
- optimisation de différents critères pour la pertinence de la suite de gammes, sur le plan combinatoire comme sur le plan musical (par exemple : chercher à minimiser les nombres de notes qui diffèrent d'une gamme à la gamme suivante, afin de donner une consonance la plus naturelle à la suite de gammes ; ou bien prendre en compte la durée de chaque accord pour pondérer son importance dans la suite de gamme générée ; etc.) ;
- génération automatique de mélodies adaptées à la grille d'accords suivant les gammes calculées (en inventant des types génériques de mélodies) ;
- génération automatique de morceau en générant automatiquement au préalable une grille d'accords suivant un chemin dans le Tonnetz (graphe classique représentant les évolutions naturelles d'un accord à l'autre) ;
- etc.

Toute idée que les étudiants pourraient avoir seront également bienvenues.

*** Prérequis :
En plus du prérequis standard pour du M1 info (capacités en programmation, notions d'algorithmique), il faudrait que dans le groupe d'étudiants certains au moins aient (avec des et/ou) :
- un gout pour les questions mathématiques combinatoires simples
- des connaissances minimales en théorie musicale
- une motivation pour les applications musicales de l'informatique
- éventuellement avoir déjà manipulé la norme MIDI (mais sinon ca s'apprend facilement)

Lien : - • Dernière mise à jour : 2015-11-23 20:44:03

31. comparatif de frameworks Javascript (épisode 1)   
Identifiant : pompidor_1_2015-16 • Encadrant(s) : pompidor@lirmm.fr

Résumé : Plusieurs frameworks Javascript déclinant le modèle MVC (notamment vers un modèle MVVM) sont à ce jour extrêmement populaires.
Nous pouvons par exemple citer :
- ANGULAR
- EXTJS
- KNOCKOUT

Le problème est qu'il est difficile de les comparer, les quelques essais de mises en perspectives existant sur le web étant partiels et assez vagues.

Le sujet de ce TER est donc au travers d'une application "témoin" (un réseau social spécialisé (*)) d'en faire une comparaison sur tous les plans (modèle, efficacité, richesse des UI, documentation...), les applications clientes ainsi développées se connectant toutes au même serveur Node que vous réaliserez en commun.
Chaque membre du groupe aura en charge un framework particulier.

(*) J'aimerais bien partir sur un réseau social spécialisé sur la cuisine moléculaire mais cela sera négociable...

Lien : - • Dernière mise à jour : 2016-04-14 09:18:03

32. Deep Learning sur un réseau lexico-sémantique
Identifiant : lafourca_4_2015-16 • Encadrant(s) : mathieu.lafourcade@lirmm.fr, lionel.ramadier@lirmm.fr, kevin.cousot@gmail.com

Résumé : Nous souhaiterions mettre en place un système de Deep Learning dont l'apprentissage se ferait sur le réseau lexical JeuxDeMots. L'idée globale est d'entrainer le réseau sur les relations déjà existantes. En particulier, on utilisera en entrée et en sortie d'entrainement des "demi-relations. Par exemple : x a_comme_partie ailes & x peut voler etc. Les réponses espérées pourrait être x r_isa avion, x r_isa oiseau, etc. Le nombre de noeuds d'entrée et de sortie serait de l'ordre du million. On envisagera 2 couches internes de 1000 noeuds environ.

Une stratégie d'apprentissage est de répéter un grand nombre de fois la procédure suivante :
* sélectionner au hasard un terme du réseau ;
* prendre pour ce terme quelques relations existantes au hasard (quelques dizaines) ;
* en prendre une première moitié pour l'entrée de l’apprentissage et l'autre moitié pour la sortie.

** attendus :
* réaliser un état de l'art d'une dizaine de pages sur le Deep Learning
* évaluer les différent package de Deep Learning et en choisir un pour les expérimentations ;
* expérimenter sur le réseau JeuxDeMots ;
(pour les données du réseau lexical : http://www.jeuxdemots.org/jdm-about.php)

** prérequis :
* un fort intérêt pour l'apprentissage automatique, l'intelligence artificielle ;
* disposer un pc costaud ;
* ne pas avoir peur d'expérimenter, de coder, de geeker ;

** liens :
* https://en.wikipedia.org/wiki/Deep_learning
* https://www.quora.com/What-are-good-open-source-deep-learning-packages
* http://www.jeuxdemots.org/jdm-accueil.php

Lien : - • Dernière mise à jour : 2015-11-25 21:05:54

33. Borderlands   
Identifiant : seriai_1_2015-16 • Encadrant(s) : abdelhak.seriai@lirmm.fr

Résumé : Borderlands est un mélange de jeu de tir à la première personne et de jeu de rôle multi-joueurs. Le jeu permet d’incarner un chasseur de trésors confronté à la nature hostile du monde fictif dans lequel il se trouve. Chaque chasseur défini une classe qui dispose d’une capacité spéciale et de compétences qui lui sont propres. Un joueur peut également coopérer avec plusieurs amis qui amèneront leur personnage dans la partie du joueur hôte.

** Objectif
Ce TER aura pour objectif de créer les bases d’une ligne de produits, permettant de créer une suite de jeux que les utilisateurs pourront configurer. Le projet sera développé en C++ à l’aide du moteur Unreal Engine 4 avec des extensions en lua.

Dans le cadre de ce projet, les étudiants devrons :
• Conçevoir une application entièrement modulable, permettant aux utilisateurs de rajouter et configurer leur propre contenu(classes, armes, zones...) afin de créer leur propre jeu.
• Développer un programme multi-thread afin d’améliorer les performances.
• Elaborer plusieurs types d’IA pour les ennemis.
• Implémenter un multi-joueurs en ligne permettant d’héberger jusqu’a 4 joueurs en simultané.

Ce sont sur ces points que les étudiants travailleront donc les concepts de ligne de produits et réutilisabilité. Les étudiants se concentreront notamment sur l’utilisation de patrons de conceptions, et la création de points de paramétrages.
Ce projet permettra également d’en apprendre plus sur la programmation concurrente, l’intelligence artificielle ainsi que la gestion de ressources 3D.

Lien : - • Dernière mise à jour : 2015-11-26 09:07:28

34. Comparaison d’objets décrits par des listes d’attributs dépendants et pondérés
Identifiant : Leclere_2_2015-16 • Encadrant(s) : leclere@lirmm.fr, konstantin.todorov@lirmm.fr

Résumé : On souhaite tester différentes mesures de similarité entre objets décrits par des listes d’attributs dépendants et pondérés. A titre d’exemple, on peut penser que les objets à comparer sont des documents textuels et que leurs attributs sont des mots-clés. Dans un tel contexte, les attributs ne sont pas indépendants (il y a, par exemple, plus de probabilités de retrouver le mot « informatique » dans un document aussi décrit par le mot « programmation » que de retrouver le mot « botanique »).

Différentes propositions de modification de la classique mesure du cosinus (utilisée pour comparer deux objets décrits par des listes d’attributs indépendants et pondérés) ont été introduites pour prendre en compte cette notion de dépendance : SoftCosinus, Simplexe...
D'autre part, il existe des méthodes de réduction de la dimension de l'espace d'attributs (i.e., de leur nombre) qui visent à regrouper des attributs qui sont sémantiquement dépendant sur une seule dimension, notamment l'Analyse Sémantique Latente (ASL). L’objectif de ce TER est de faire une expérimentation comparative rigoureuse de ces mesures que ce soit d’un point de vue temps de calcul, comportement selon l’évolution des attributs et poids, pertinence vis à vis d’un objectif d’utilisation comme mesure de similarité de deux objets.

** Travail demandé :
1. Comprendre et implanter différentes mesures de comparaison de listes d’attributs pondérés indépendants et dépendants.
2. Identifier un benchmark d’expérimentation de ces mesures. On s’intéressera aux benchmarks proposés dans les campagnes d’évaluation OAEI (en particulier celui relatif aux conférences dans http://oaei.ontologymatching.org/2015/). On pourra aussi s’intéresser à construire un benchmark à partir de la base Sudoc des documents de l’ABES (Agence Bibliographique de l’Enseignement Supérieur http://www.sudoc.abes.fr/)
3. Définir les modalités d’une expérimentation comparative de mesures sur un benchmark.
4. Evaluer les mesures aux attributs dépendants en les comparants (1) entre elles (2) à des mesures classiques, et (3) à des mesures sur des modèles de réduction sémantique de dimensions, tels que ASL.
5. Mettre en œuvre les expérimentations décrites.

Lien : - • Dernière mise à jour : 2015-11-28 09:23:12

35. Interface immersive pour un jeu d’énigmes   
APJ
Identifiant : nancy.rodriguez_1_2015-16 • Encadrant(s) : nancy.rodriguez@lirmm.fr

Résumé : La réalité virtuelle (visualisation interactive en 3D) en immergeant l’utilisateur dans un monde virtuel, permet d’avoir une interface naturelle et d’intégrer différentes sources d’information pour améliorer la perception. De nombreux périphériques d’affichage et d’interaction à bas coĂ»t ont fait leur apparition ces dernières années. Conçus principalement pour les jeux vidéo, ils ont permis la définition d’interfaces « naturelles » : intuitives, basées sur la reconnaissance des gestes, possèdent une très faible courbe d’apprentissage. Nous pouvons citer l’Oculus Rift, (casque d’affichage stéréoscopique) devenu très populaire, et le LeapMotion qui permet de reconnaître la position et les mouvements des mains de l’utilisateur, pour éviter au maximum un encombrement physique.
Mais les interfaces immersives ne sont pas dépourvues d’inconvénients. En effet, le « motion sickness » ou cinétose, c’est-à-dire les malaises induits par l’utilisation d’un casque immersive (HMD) et dus au manque de concordance entre les informations visuelles et la proprioception sont leur point faible. Le motion sickness limite fortement l’expérience et l’usage des environnements immersifs.

Le jeu qui sera développé permettra de réaliser une évaluation de ce phénomène grâce à des changements dans la taille de l’avatar ( du type « Alice aux pays des merveilles »). L’histoire se déroule dans un contexte médiéval fantastique. Un voleur s’infiltre dans le laboratoire d’une personne “magique” pour lui dérober quelque chose (objet/formule...). L’objet étant bien caché, il lui faudra trouver des indices, en observant son environnement et les objets de près. Il lui faudra aussi résoudre des énigmes afin de parvenir à son but. Il dispose d’une possibilité technologique ou magique de rétrécissement qui lui permet de fouiller certains endroits en étant petit, afin de trouver l’objet de son larcin.

Le projet se déroule sur diverses étapes :

· Prise en main du moteur Unreal.
· Etude du fonctionnement du casque immersif Oculus Rift et du capteur Leap Motion ainsi que des techniques d’interaction 3D sous-jacentes à ces technologies
· Création graphique des divers éléments du jeu
· Développement du jeu
· Etudes et d’expérimentations, visant à évaluer à la fois les aspects ergonomiques, les impératifs et les performances de ces dispositifs, ainsi que les paramètres nécessaires à une bonne évaluation
· Exploitation des résultats des expériences

Lien : - • Dernière mise à jour : 2015-11-28 09:25:21

36. Création automatique des recettes de cocktails sous Android   
Identifiant : Nadia.Clairet_1_2015-16 • Encadrant(s) : nadia.clairet@lirmm.fr, mathieu.lafourcade@lirmm.fr

Résumé : ** Titre long : Conception d'une application Android intelligente pour la génération et la création automatique des recettes de cocktails à partir d'une liste d'ingrédients fournie par l'utilisateur.
** Résumé : Malgré son apparente simplicité, ce sujet fait appel à des mécanismes complexes. La plupart des applications existantes sur le thème des cocktails utilisent une base de données des recettes, mais sont incapables de raisonner sur ces données et de produire des recettes innovantes.

La connaissance et la créativité humaine se présente en grande partie sous forme de textes même si d'autres ressources comme des réseaux sémantiques et des ressources de type ontologique sedéveloppent et certains, tels que le réseau Jeux de Mots, arrivent à maturité.

L'objectif de ce sujet est double :
** implémenter un algorithme de fouille efficace afin d'extraire les recettes qui correspondent au critères de l'utilisateur et en générer des variantes (proposer des ingrédients de substitution) dont la performance serait comparable à celle des applications existantes
** concevoir un système capable de proposer des recettes nouvelles à partir de la connaissance sur la composition et l'association entre les ingrédients et sur les techniques de préparation extraite à partir des textes grâce aux outils de TALN.

La performance de l'application dépendra de la capacité de l'équipe de proposer un algorithme consistant d'extraction des termes et des relations sémantiques entre les termes ainsi que d'effectuer les mesures pertinentes pour mettre en évidence les associations d'ingrédients possibles et leur proportions. La réussite du projet s'appuie également sur la qualité de gestion des problématiques liées au plurilinguisme, à la désambiguĂŻsation, aux entités nommées. Ressources (au choix, anglophones ou francophones) :
* pour les ressources anglophones, il est possible d'utiliser les ressources du challenge Computer Cooking Contest disponibles au http://wikitaaable.loria.fr/
­* les ressources web francophones comme www.delirium­cocktails.com peuvent être récupérées facilement en vue de constitution d'un corpus

Le travail sera composé des tâches suivantes:
* état de l'art sur l'extraction des termes et relations sémantiques à partir de textes, la classification
* récupération des ressources textuelles
* proposition de l'algorithme « état de l'art » d'extraction de termes et relations sémantiques
* proposition de l'algorithme « état de l'art » de classification
* création de l'application Android intelligente
** proposition de l'architecture de l'application (schéma spécifiant les classes, les fonctions, les paramètres avec commentaire succinct)
** réalisation de l'application
** test et pistes d'amélioration

Le langage de programmation utilisé sera au choix des étudiants.

Lien : - • Dernière mise à jour : 2015-11-28 09:32:34

37. Visualisation et manipulation de grands graphes
Identifiant : severine.berard_1_2015-16 • Encadrant(s) : severine.berard@umontpellier.fr, annie.chateau@lirmm.fr, yoann.anselmetti@openmailbox.org

Résumé : Dans le cadre de recherches en bioinformatique, nous sommes amenées à explorer de grands graphes représentant des génomes. Les sommets de ces graphes sont des gènes et il existe une arête entre deux sommets si les gènes qu'ils représentent sont adjacents dans le génome. La structure de ces graphes est assez simple mais leur nombre de sommets très important rend leur visualisation et leur manipulation peut aisée.

Le but de ce TER est dans une première partie de recenser toutes les solutions existantes pour la visualisation et la manipulation de grands graphes et d'en faire un comparatif. Dans un deuxième temps, il s'agira de développer ou d'améliorer un logiciel pour répondre à nos besoins spécifiques.

Lien : http://www.pages-perso-severine-berard.univ-montp2.fr/Encadrements/TERM1_2015-16.pdfDernière mise à jour : 2015-11-28 09:42:02

38. Transfert d'annotation dans les génomes de bactériophages
Identifiant : annie.chateau_2_2015-16 • Encadrant(s) : annie.chateau@lirmm.fr, severine.berard@umontpellier.fr, swenson@lirmm.fr

Résumé : Les bactériophages sont des virus qui s'attaquent aux bactéries de façon spécifiques. Ils ont donc un intérêt primordial dans la lutte contre les bactéries, par exemple dans des structures hospitalières ou les réseaux d'eau potable. Ces virus ont un génome de taille relativement petite (mots de quelques dizaines de milliers de lettres). Bien que l'on dispose à l'heure actuelle d'un grand nombre de ces génomes, les informations qui permettent d'identifier les gènes sur ces génomes sont assez souvent incomplètes ou erronées. Une partie de l'explication réside dans le fait que chez les bactériophages, un même gène n'est pas forcément codé par des séquences similaires dans des génomes différents, même lorsque les espèces sont très proches. Nous disposons d'un outil qui permet d'aligner plusieurs génomes de bactériophages dans un graphe d'alignement multiple. Le graphe peut nous fournir un contexte permettant d'identifier, justement, quand deux séquences sont censées avoir la même fonction dans ces différents génomes. L'idée du TER est de donc tirer partie de l'information disponible dans ce graphe pour réaliser du transfert d'annotation (i.e. on sait que la séquence A a la fonction "lysogénie" dans tel génome, on sait que A est en correspondance avec B dans le graphe, donc la séquence B a également la fonction "lysogénie"). Les outils sont :
- les bases de données de génomes, avec leurs annotations (fichiers à plat récupérables et parsables à l'aide de la librairie Biopython)
- l'outil actuel d'alignement multiple (écrit en python), disponible à l'adresse : http://www.lirmm.fr/~swenson/alpha/alpha.htm

Les tâches dévolues au groupe seront donc :
1. Identification des annotations qui veulent dire la même chose (système expert, apprentissage, etc.)
2. Mettre au point la méthode pour transférer les annotations et proposer une mesure de confiance sur les propositions de transfert
3. L'intégrer de façon potentiellement interactive dans l'outil (permettre à l'utilisateur de modifier à la main ces annotations par exemple)
4. Tester sur des jeux de données réelles

NB : Aucune connaissance en biologie n'est requise !

Lien : - • Dernière mise à jour : 2015-11-28 09:47:03

39. Représentation 3D de complexes simpliciaux
Identifiant : daniel.goncalves_1_2015-16 • Encadrant(s) : daniel.goncalves@lirmm.fr

Résumé : Dans ce projet, nous nous intéressons aux complexes simpliciaux géométriques que l'on peut représenter en 3D sans superpositions. Un complexe simplicial géométrique est couple (V,E), dont V est l'ensemble de points et E={e1,e2,...} est un ensemble de paires, triplets ou quadruplets de sommets. On appelle ces ensembles des simplexes, et suivant leur taille ils correspondent à des segments, des triangles ou des tétraèdres. On intéressera ici aux complexes sans croisements, càd dont les simplexes ne s'intersectent pas deux à deux.
Le premier objectif de ce projet est le développement d'un outil de visualisation (avec java3d de préférence).
- Cet outil devra permettre l'observation sous différents angles.
- Il devra aussi permettre de modifier la couleur et la transparence de certains simplexes.

Le second objectif de ce projet consiste à améliorer une représentation donnée. En effet certaines représentations sont très déséquilibrées, on peut avoir plusieurs points ayant des coordonnées très proches (et donc avoir du mal à les distinguer lorsque on observe le complexe dans sa totalité). Pour ce faire vous pourrez programmer l'heuristique suivante, et/ou proposer une heuristique alternative. L'heuristique proposée consiste, itérativement pour chaque point p n'étant pas sur l'enveloppe convexe, à déplacer p afin de maximiser le volume du plus petit tétraèdre auquel p appartient.

Prérequis :
- java3d, OpenGL

Lien : http://www.lirmm.fr/~goncalves/pmwiki/index.php?n=Main.SujetTERDernière mise à jour : 2015-11-28 09:48:41

40. Représentation de graphes planaires sur un disque, ou sur une sphère
Identifiant : daniel.goncalves_2_2015-16 • Encadrant(s) : daniel.goncalves@lirmm.fr

Résumé : Classiquement, on représente les graphes planaires dans le plan de sorte que chaque arête corresponde à un segment, et en évitant que 2 arêtes ne se croisent. Le but de ce projet est de développer 2 algorithmes de dessin de graphe planaire.

Pour le premier algorithme, le graphe aura un sommet distingué C (son centre) et sera représenté dans un disque. Le centre sera placé au centre du disque, et les arêtes seront représentées par des arcs de cercles.
Pour le second algorithme, le graphe aura deux sommets distingués N et S (les pôles) et sera représenté sur une sphère. Les pôles seront placés aux pôles de cette sphère, et les arêtes seront ici aussi représentées par des arcs de cercles. Pour cette partie il faudra également développer un outil de visualisation, permettant l'observation de la sphère sous différents angles.

Prérequis :
- java3d, OpenGL

Lien : http://www.lirmm.fr/~goncalves/pmwiki/index.php?n=Main.SujetTER-2Dernière mise à jour : 2015-11-28 09:51:10

41. Extraction de modèle métier dans la rénovation de logiciels
Identifiant : huchard_2_2015-16 • Encadrant(s) : huchard@lirmm.fr, bernard.georges@soprasteria.com, jessie.carbonnel@lirmm.fr

Résumé : L’une des activités de la rénovation logicielle consiste à extraire le modèle métier enfoui dans le code, pour reconstruire une application en repartant de ce modèle. Dans ce projet nous nous focaliserons sur le modèle conceptuel, représentable sous forme d’un diagramme de classes UML. Une première approche de la problématique a été réalisée les deux années précédentes durant des TER M1. Plusieurs solutions ont été proposées dans de précédents TER, basées respectivement sur l’Analyse Formelle de Concepts, une méta-heuristique (recuit simulé) et une méthode de regroupement hiérarchique. Le projet de cette année consistera à consolider ces trois approches.

Lien : https://www.lirmm.fr/users/utilisateurs-lirmm/marianne-huchard/enseignement/sujets-de-projets-2015-2016/ter-m1-renovationDernière mise à jour : 2015-11-30 11:28:19

42. Jeu musical à la fontaine numérique du (S)pace.   
Identifiant : eric.bourreau_4_2015-16 • Encadrant(s) : eric.bourreau@lirmm.fr, sylvain.daude@univ-montp2.fr

Résumé : Le projet utiliserait la table numérique présente dans le nouvel espace "fontaine" de la cafétéria. L'idée serait d'utiliser l'importante surface tactile offerte par ce dispositif et de proposer une application conviviale.

Ce projet consisterait donc en la création, en premier lieu :
- d'un jeu de rythme musical, similaire à Dande Dance Revolution, Guitar hero, Osu!, Deemo, etc... à plusieurs. La table supportant 10 points de contact maximum, on peut imaginer que l'on peut réunir jusqu'à 10 étudiants/enseignants/membres du personnel autour de cette table.
Illustration :

Le principe est donc d'appuyer au bon moment sur l'un des cercles pour gagner des points.

- En deuxième partie, on peut aussi imaginer un algorithme analysant un fichier audio fournit par l'utilisateur, générant ainsi un niveau de jeu (en fonction des fréquences / patterns, l'algorithme générerait automatiquement des "notes" à des temps précis).

Lien : - • Dernière mise à jour : 2015-12-01 14:41:09

43. Gestionnaire d'objectifs   
Identifiant : mountaz.hascoet_1_2015-16 • Encadrant(s) : mountaz.hascoet@lirmm.fr

Résumé : Ce projet consiste en l'étude de l'activité humaine et en la conception et la réalisation d'une plateforme web permettant à des utilisateurs de gérer facilement leurs objectifs.

En premier lieu, l'étude de l'activité humaine étant un domaine vaste [3] et ancien [1], il s'agira de commencer par une étude bibliographique des outils et modèles existants. Ces modèles ont des finalités différentes : spécialisées et descriptives comme par exemple avec les business process models; prédictives de performances tels que dans le modèle Keystroke par exemple ou autre. Il s'agira de s'intéresser à un petit sous-ensemble de modèles et en priorité à deux approches très différentes et non exclusives : (1) des modèles permettant de construire des stratégies d'organisation à partir de la description d'un objectif et de stratégies utilisées par le passé de manière analogue à Dijkman et al [2] par exemple et, (2) la construction de stratégies prenant en compte le "contexte énergétique" de la personne selon des approches telles que celles préconisées pas Schwartz et MacCarthy [5].

En second lieu, il s'agira de concevoir et de réaliser une plateforme web comme un support à la réalisation d'objectifs en s'appuyant sur l'étude bibliographique et en choisissant de se positionner de manière originale par rapport aux nombreux outils existants tels, par exemple, que Wrike.

1. Bannon L., Cypher A., Greenspan S., and Monty M. "Evaluation and Analysis of User's Activity Organization". In Proceedings of CHI, 1983 (Boston, December). ACM, New York, 1983. pp. 54-57.

2. R. Dijkman, M. Dumas, L. García-Bañuelos. Graph Matching Algorithms for Business Process Model Similarity Search. In Proceedings of the 7th International Conference on Business Process Management (BPM), Ulm, Germany, September 2009. Springer Verlag.

3. Fabio PaternĂČ. 2002. Tools for Task Modelling: Where we are, Where we are headed. In Proceedings of the First International Workshop on Task Models and Diagrams for User Interface Design (TAMODIA '02), Costin Pribeanu and Jean Vanderdonckt (Eds.). INFOREC Publishing House Bucharest 10-17.

4. M. Rosemann. Potential Pitfalls of Process Modelling (Part A and B). Business Process Management Journal,12(3): 377-384, 2006.

5. T. Schwartz, C. MacCarthy, Manage your energy not your time, Harvard Business Review, October 2007, https://hbr.org/2007/10/manage-your-energy-not-your-time

6. Using the Keystroke-Level Model to Estimate Execution Times, Kieras, D., University of Michigan - 2001.

7. Wrike, https://www.wrike.com/fr/tour/worksmart/.

Lien : - • Dernière mise à jour : 2015-12-01 16:16:20

44. Développement d’un outil de migration de projets HILECOP
Identifiant : baptiste.colombani_1_2015-16 • Encadrant(s) : baptiste.colombani@lirmm.fr, andreu@lirmm.fr

Résumé : HILECOP (High Level hardware Component Programming) est un logiciel développé sous Eclipse au sein de l’équipe Inria DEMAR (Déambulation et Mouvement Artificiel).

Il permet de modéliser des systèmes numériques complexes à l’aide de composants dont le comportement est décrit par des réseaux de Petri.

Le logiciel est utilisé dans l’équipe pour modéliser puis programmer sur FPGA (circuits intégrés reprogrammables) le comportement et le contrôle de microélectrodes implantées chez des patients tétraplégiques, amputés ou handicapés afin de leur permettre de restaurer des fonctions motrices ou sensorielles, ou bien de diminuer certaines douleurs.
De récents travaux sur l’architecture du logiciel ont modifié le modèle Ecore de l’application, rendant d’anciens projets incompatibles avec la nouvelle version. L’objectif du TER est donc de développer, en coopération avec l’équipe, un outil de migration permettant de rendre un ancien projet HILECOP compatible avec la version actuelle.

L’outil pourra être :
- soit intégré au logiciel via un plugin Eclipse
- soit externe au logiciel sous forme d’une application

Ce travail demandera d’étudier les différences de modèles entre les versions puis d’imaginer et de mettre en œuvre des transformations de modèles efficaces pour convertir un projet HILECOP. Ces transformations pourront se faire directement en manipulant les modèles en java + XTend ou bien en effectuant une analyse lexicale et syntaxique des fichiers XML les représentants.

Compétences requises :
- maîtrise d’un langage de modélisation (UML, Ecore) et de la POO
- pratique de java
- Rigueur et motivation sont exigées
- Le code devra être commenté et documenté

Mots-clés:
Ecore, model transformation, plugin Eclipse, java

Lien : - • Dernière mise à jour : 2015-12-02 16:14:00

45. Vérification de patrons de conception sur le code d'applications à objets en utilisant la programmation par aspects
Identifiant : tibermacin_1_2015-16 • Encadrant(s) : tibermacin@lirmm.fr, dony@lirmm.fr

Résumé : Les contraintes d'architecture [1] permettent de spécifier de façon précise et vérifiable certaines décisions de conception, comme le choix d'un patron de conception dans le développement d'une application à objets. Nous avons proposé dans le passé un langage pour la spécification de ces contraintes d’architecture et une méthode pour la génération de code Java à partir de celles-ci [2].

L’idée dans ce projet est de développer une méthode pour la mise en œuvre de ce code généré. Dans un premier temps, il faudrait identifier automatiquement les instructions, dans le code de l'application, qui ont un effet de bord sur la structure de celle-ci. Ensuite, il faudrait tisser autour de ces instructions des aspects dans lesquels il faudrait exécuter le code généré à partir des contraintes.

La méthode doit être implémentée en Java et expérimentée pour un certain nombre de patrons de conception.

[1] C. Tibermacine. Software Architecture 2, chapter Architecture Constraints, pages 37-90. John Wiley and Sons, New York, USA, 2014.

[2] S. Kallel, C. Tibermacine, B. Tramoni, C. Dony, and A. Hadj Kacem. Automatic translation of OCL meta-level constraints into Java meta-programs. In Proceedings of the 14 th International Conference on Software Engineering Research, Management and Applications (SERA’15), Hammamet, Tunisia. Springer, May 2015.

Pré-requis : HLIN 505 (Programmation par objets en Java)

Lien : - • Dernière mise à jour : 2015-12-04 09:44:20

46. Un langage de description d'architectures à composants : Compo
Identifiant : dony_1_2015-16 • Encadrant(s) : dony@lirmm.fr

Résumé : Compo est un nouveau langage de description d'architectures et de
programmation par composants développé au LIRMM.
Compo unifie les différentes modèles de composants existants, explicite les architectures de composition;
c'est en cela aussi un langage de description d'architecture. Il est réflexif et c'est en cela une plate forme pour l'ingénierie dirigée par les modèles.
Le sujet du TER consiste à concevoir et implanter une nouvelle interface graphique associé à la partie description d'architecture du langage, qui pourra
elle-même être améliorer par analogie avec ce que proposent d'autres ADL.

tout est là : http://www.lirmm.fr/~dony/enseig/IL/TER-M1-56.html

Lien : http://www.lirmm.fr/~dony/enseig/IL/TER-M1-56.htmlDernière mise à jour : 2015-12-07 20:30:34

47. Performances des triplestores RDF
Identifiant : RDF_PERFORMANCE_2015-16 • Encadrant(s) : federico.ulliana@lirmm.fr

Résumé : L’objectif du stage est d’effectuer une étude comparative des systèmes de traitement de données RDF dans l’état de l’art. Cette étude comprend (i) une veille scientifique des résultats publiés concernant des expériences effectuées sur des jeux de données standard et (ii) une analyse expérimentale des systèmes existants, par rapport à un jeu de données réelles contenant des données scientifiques propres à une application développée par l’INRA (Institut National Recherche Agronomique), dont les traitements sont très spécifiques.
L’objectif final de l’étude est d'aider à reconnaitre le système le plus adapté à la gestion de données RDF, selon le contexte applicatif.

Bibliographie
http://www.w3.org/wiki/RdfStoreBenchmarking

Lien : www.lirmm.fr/~ullianaDernière mise à jour : 2015-12-08 16:59:27

48. Upergrounds   
Identifiant : sylvain.daude_1_2015-16 • Encadrant(s) : sylvain.daude@univ-montp2.fr

Résumé : ** Type de jeu
­Réflexion, action-­aventure : inspirations ­> Legend of Zelda, The Binding of Isaac, Child of Light ...
­Plateforme et Controles : Jeu PC , manette ou souris­clavier (a voir pour autres versions)
­Moteur : Unity3D
­Outils de développement: ­BitBucket pour le versionnage et le partage de code
Skype et facebook pour la comunication de base

** Synopsis
Après une catastrophe planétaire, les hommes se sont réfugiés sous terre pour survivre. Longtemps après, des peuplades vivent encore mais sont revenues à un stade plus primitif (détérioration des sens, de la culture et de la communication).
Le protagoniste du jeu appartient à un de ces peuples ayant survécu. Un jour, il découvre par inadvertance une voie dissimulée et décide de s’y aventurer. Il y découvre des indications le poussant à continuer d’explorer cette voie.

** Gameplay
Le gameplay se base sur la découverte d’objets permettant de combattre et/ou de résoudre des énigmes pour avancer dans les salles.
Les objets découverts permettent de réintégrer leurs couleurs respectives.

** Technique
Génération procédurale des niveau et de l’agencement entre les salles.
Intégration d’IA ( sous forme d’agent communiquant entre eux).
Découverte progressive des couleurs, intégration de lumières adaptées (Shaders).
­Thèmes musicaux évolutifs par addition de pistes.

** Détails sur la direction artistique
­Au début, le jeu propose des nuances de gris et des couleurs pâles et faiblement contrastés. Chaque objet découvert permet de faire évoluer progressivement les couleurs du niveau en question en apportant les nuances de sa couleurs le long de la découvertes des salles.
De la même manière, chaque niveau possède un thème musical qui lui est propre. Les pistes sonores qui composent le thème s’ajoute progressivement en fonction de l’avancée du joueur dans le niveau. Les Boss possèdent leur propre thème.

Lien : - • Dernière mise à jour : 2015-12-14 11:47:11

49. Calcul et visualisation d'indicateurs pour la comparaison de procédés de transformation de biomasses   
Identifiant : INDICATEURS_INRA_2015-16 • Encadrant(s) : federico.ulliana@lirmm.fr

Résumé : L'objectif du stage est de concevoir et de réaliser un module de calcul et de visualisation graphique d'indicateurs permettant de comparer des procédés de transformation d'une biomasse en glucose à partir de données scientifiques. Ce module sera intégré dans un outil d'aide à la décision en bioraffinerie développé par l'INRA. Les données à utiliser dans le calcul sont stockées dans une base RDF accessible par un SPARQL end-point.

Lien : www.lirmm.fr/~ullianaDernière mise à jour : 2015-12-14 12:43:30

50. Logiciel de créeation de site web portfolio pour artistes   
Identifiant : Pompidor_2_2015-16 • Encadrant(s) : pompidor@lirmm.fr, clementine.nebut@lirmm.fr

Résumé : Le but de ce projet est de déevelopper un logiciel de créeation de portfolio pour artistes (photographes, peintres,...) grâce à un éediteur WYSIWYG (What You See Is What You Get).

Lien : http://www.lirmm.fr/~lafourcade/TERM1/SUJ2016/TERM1_2016_portfolio.pdfDernière mise à jour : 2016-01-06 22:05:27

51. Application Android à visée pédagogique se basant sur l’image   
Identifiant : william.puech_2015-16 • Encadrant(s) : william.puech@lirmm.fr

Résumé : La but de ce projet est de réaliser une application ludique et pédagogique pour Android, se basant sur l’image et son traitement. L’intérêt premier est de réaliser un travail complet le plus proche possible de la vie professionnelle, de la conception jusqu’à la mise en ligne et donc de voir tous les enjeux soulevés par cette démarche.

Dans un premier temps l’objectif sera de trouver un domaine d’application (par exemple la santé) oĂč nous pouvons utiliser l’image et d’y chercher un angle d’attaque puis de dégager un véritable sujet avec ses contraintes précises (par exemple la mémoire), en consultant des professionnels dans la matière (des chercheurs) pour que l’application fonctionne sur de vrais mécanismes.

Dans un second temps nous chercherons les produits existants pour pouvoir étudier le marché et développer notre idée d’application novatrice et originale, avant de la soumettre de nouveau aux professionnels. Nous créerons notre concept et concevrons nos algorithmes.

Ensuite, nous pourrons commencer la programmation de l’application, tout en gardant à l’esprit la modularité pour de futures extensions des fonctionnalités. C'est en effet un enjeu que de créer une application pouvant évoluer au grès des années et pouvant être reprise par une tierce personne.

Pour finir nous nous attaquerons à la mise en ligne sur le store Android de notre travail.

Ce sujet nous apprendra de plus le côté entrepreneur avec son côté étude de marché avant de se lancer, à bien dialoguer et répondre aux attentes de professionnels (avec une démarche scientifique) et donc la conception complète d’un logiciel, de l’idée à la commercialisation, tout en respectant un modèle clair de codage rendant l'évolution de l'application facile, propre et effectuable par n'importe quel programmeur voulant pousser nos traveaux vers un plus haut niveau.

** prérequis :
*Vouloir mener un projet du début jusqu'à la fin.
*Être intéressé par le traitement d'image.
*Avoir une démarche d'entrepreneur.
*Avoir une démarche scientifique.
*Travailler en dialogue avec des professionnels.
*Vouloir découvrir de nouvelles facettes de la programmation.
*Être motivé.

Lien : - • Dernière mise à jour : 2016-01-06 22:38:38

52. Jeu web multijoueurs avec intelligence artificielle basée sur l’algorithme de Dijkstra   
Identifiant : eric.bourreau_5_2015-16 • Encadrant(s) : eric.bourreau@lirmm.fr

Résumé : Il existe un jeu web s'appelant Curve Fever (http://curvefever.com). Mais il ne propose pas d'IA contre lesquels on peut jouer. Curve ferver est un jeu 2D multijoueurs s'inspirant du célèbre jeu "Snake". En effet le but du jeu est d’éliminer vos adversaires en les encerclant ou en les forçant à toucher votre sillon.

Le but de ce TER est dans un premier temps de redévelopper ce jeu en Javascript et d'y ajouter des IA afin de pouvoir jouer à un ou plusieurs joueurs contre un ou plusieurs IA. Pour cela, nous allons nous intéresser à un problème très courant dans les IA des jeux vidéo : la recherche de chemin (ou « pathfinding »). Le problème est simple, comment se déplacer d’un point A à un point B avec, si possible, le « meilleur » itinéraire ? Pour cela nous étudierons l'algorithme de Dijkstra ainsi que ses améliorations. L'algorithme de A* dit "informé" utilisant des heuristiques qui estime la distance à l’arrivée. Contrairement à l’algorithme de Dijkstra (dit « aveugle »), A* oriente sa recherche au lieu d’explorer toutes les zones. Ainsi que l'algorithme D* qui permet de redéfinir le chemin si l’IA rencontre un obstacle.
http://qiao.github.io/PathFinding.js/visual/

La difficulté sera de développer un algorithme permettant à l'ordinateur de jouer en temps réel et de pouvoir jouer contre celui ci.

Lien : - • Dernière mise à jour : 2016-01-20 10:13:15

53. comparatif de frameworks Javascript (épisode 2)   
Identifiant : pompidor_1bis_2015-16 • Encadrant(s) : pompidor@lirmm.fr

Résumé : Plusieurs frameworks Javascript déclinant le modèle MVC (notamment vers un modèle MVVM) sont à ce jour extrêmement populaires.
Nous pouvons par exemple citer :

- EMBER
- BACKBONE
- REACT

Le problème est qu'il est difficile de les comparer, les quelques essais de mises en perspectives existant sur le web étant partiels et assez vagues.

Le sujet de ce TER est donc au travers d'une application "témoin" (un réseau social spécialisé (*)) d'en faire une comparaison sur tous les plans (modèle, efficacité, richesse des UI, documentation...), les applications clientes ainsi développées se connectant toutes au même serveur Node que vous réaliserez en commun.
Chaque membre du groupe aura en charge un framework particulier.

(*) J'aimerais bien partir sur un réseau social spécialisé sur la cuisine moléculaire mais cela sera négociable...

Lien : - • Dernière mise à jour : 2016-04-14 09:17:51


page d'accueilliste des sujets liste des groupes liste des encadrants

Mathieu Lafourcade, janvier 2018 (merci d'envoyer toute remarque ou question sur les TERs à mathieu.lafourcade avec comme sujet du mail "[TER_M1_2018] Question") - Merci à Mountaz qui est l'origine du contenu et du style de cette page.