🕸Interfaces web pour le TAL🕸

Projets

Votre travail sera de réaliser une interface web en Python pour un système de TAL, de traitement ou d’accès à des données. Elle devra au moins comprendre une interface programmatique sous la forme d’une API REST utilisable par un serveur ASGI (c’est par exemple le cas de celles réalisée en FastAPI que vous avez vues en cours) et une interface utilisateur qui pourra prendre la forme d’un script ou très, très préférablement d’une interface web HTML + CSS [+ js]

Ce projet peut évidemment être en lien avec d’autres cours, d’autres projets ou votre travail en entreprise (mais assurez-vous avant que ce soit OK de partager votre code avec moi dans ce cas).

On peut éventuellement relaxer ces exigences si vous avez une idée spécifique, mais commencez par m’en parler avant.

Consignes

Le rendu devra comporter :

  1. Une documentation du projet traitant les points suivants :

    • Les objectifs du projet
    • Une description du système ou des données auxquelles l’interface permet d’accéder
    • La méthodologie (comment vous vous êtes répartis le travail, comment vous avez identifié les problèmes et les avez résolus, différentes étapes du projet…)
    • L’implémentation ou les implémentations (modélisation le cas échéant, modules et/ou API utilisés, différents langages le cas échéant)
    • Les résultats (fichiers output, visualisations…) et une discussion sur ces résultats (ce que vous auriez aimé faire et ce que vous avez pu faire par exemple)

    On attend de la documentation technique, pas une dissertation. Elle pourra prendre le format d’un ou plusieurs fichiers, d’un site web, d’un notebook de démonstration, à votre convenance

    La documentation ne doit pas, jamais, sous aucun prétexte, comporter de capture d’écran de code.

  2. Le code Python et les codes annexes (JS par ex.) que vous avez produit. Le code doit être commenté. Évitez les notebooks (de toute façon ce n’est pas idéal pour des interfaces web).

  3. Les éventuelles données en input et en output (ou un échantillon si le volume est important)

N’hésitez pas à vous servir de git pour versionner vos projets !

Conseils

Écrivez ! Tenez un carnet : vos questions, un compte-rendu de vos discussions, les problèmes rencontrés, tout est bon à prendre et cela vous aidera à rédiger la documentation finale.

Ressources

Hébergement

Données géo-localisées

Il existe beaucoup de choses pour travailler avec des données géo-localisées. Allez voir en vrac : Geo-JSON, uMap pour créer facilement des cartes en utilisant les fonds de carte d’OpenStreetMap, leaflet une lib JS pour les cartes interactives, overpass turbo pour interroger facilement les données d’OpenStreetMap (il y a une api !).

Ressources linguistiques

N’hésitez pas à aller fouiller dans Ortolang ou Clarin des ressources linguistiques exploitables librement et facilement. Vous pouvez aussi aller voir du côté de l’API twitter pour récupérer des données (qui ne sont pas nécessairement uniquement linguistiques)

Open Data

Quelques sources : Paris Open Data, data.gouv.fr, Google dataset search

Idées

Accès aux données

Réaliser une interface pour exploiter une ressource (linguistique ou autre).

Interfaces systèmes

Réaliser une interface permettant d’accéder facilement à un système de TAL, dans l’esprit de UDPipe par exemple.