This page is a translated version of the page WDAudioLex and the translation is 100% complete.
WDAudioLex

L'outil de correspondance de lexèmes audio vise à rationaliser l'intégration des prononciations audio dans les bases de données linguistiques existantes, en exploitant spécifiquement les ressources disponibles sur Wikidata. Les utilisateurs sélectionneront une catégorie Commons avec des fichiers audio et trouveront les lexèmes correspondants qui correspondent le mieux aux fichiers audio. L'outil fournit une interface conviviale dans laquelle les contributeurs peuvent sélectionner une catégorie Commons spécifique contenant des fichiers audio. L'outil se concentrera sur la facilitation des contributions des utilisateurs en ajoutant des déclarations audio de prononciation tout en faisant référence aux lexèmes existants sur Wikidata. Cela garantit la création d'entrées de données précises et structurées, rendant les données de prononciation plus accessibles pour la recherche linguistique et l'utilisation quotidienne.

Objectifs

  • Développez une interface conviviale pour sélectionner les catégories Commons, saisir des modèles de correspondance et afficher les résultats.
  • Créez un backend robuste pour gérer les demandes, la correspondance de modèles et la gestion des contributions des utilisateurs.
  • Faciliter l'ajout d'énoncés audio de prononciation (P443) à Wikidata tout en prenant en charge la variété de prononciation (P5237).
  • Maintenez une base de données dédiée pour suivre les soumissions des utilisateurs, y compris les identifiants audio et lexèmes correspondants.
  • Assurez une intégration transparente avec les API Wikidata pour valider les lexèmes et mettre à jour les entrées.

Chronologie et livrables

Mois 1: Recherche et configuration

  • Semaine 1 : API Research Commons et Wikidata ; compiler les catégories et les structures de lexèmes disponibles.
  • Semaine 2 : Configurez le backend Flask et définissez le schéma de base de données.
  • Semaine 3 : implémentez les points de terminaison initiaux de l'API pour la sélection des catégories et le suivi des contributions.
  • Semaine 4 : Établir l'environnement ReactJS et les composants de base de l'interface utilisateur.

Mois 2: Développement de base

  • Semaine 5 : Développer une logique de correspondance de modèles dans le backend.
  • Semaine 6 : Affichez les résultats correspondants dans le frontend.
  • Semaine 7 : Intégrez un lecteur audio pour la fonctionnalité de lecture.
  • Semaine 8 : Activer la soumission des déclarations audio de prononciation à Wikidata.

Mois 3: Tests et déploiement

  • Semaine 9: effectuez des tests unitaires pour les points de terminaison backend.
  • Semaine 10: Effectuer des tests complets d’intégration d’applications.
  • Semaine 11: Optimiser pour les performances et la réactivité.
  • Semaine 12: Déployer l'application sur Wikimedia Cloud.

Pile technologique

L'extrémité avant

  • Cadre: ReactJS
  • Description: L'interface utilisateur est construite avec ReactJS pour offrir une expérience dynamique et réactive. Les composants clés comprennent:
    • Sélecteur de catégorie: liste déroulante permettant de sélectionner les catégories Commons.
    • Entrée de modèle: champ de texte permettant de spécifier des modèles correspondants.
    • Affichage des résultats: une section pour afficher les lexèmes et les fichiers audio correspondants.
    • Lecteur audio: une fonction de lecture pour écouter des fichiers audio.
    • Bouton Ajouter une prononciation: un outil pour soumettre des prononciations correspondantes à Wikidata.
  • Framework de style: Material-UI ou Bootstrap garantit une conception professionnelle et réactive.
  • Outils de support:
    • Axios: gère la communication API avec le backend.
    • React Router (facultatif): utilisé pour la navigation entre différentes sections.

Backend

  • Cadre: Flacon
  • Description: Flask est un framework Web basé sur Python qui gère la logique côté serveur et la communication avec le frontend.
  • Caractéristiques principales:
    • Logique de correspondance de modèles: fait correspondre les modèles définis par l'utilisateur avec les fichiers audio et les lexèmes.
    • Intégration de base de données: stocke et récupère des données à l'aide de Flask-SQLAlchemy.
    • Points de terminaison de l'API:
      • /select-category: récupère les fichiers audio des catégories sélectionnées.
      • /match-lexemes: fait correspondre les lexèmes aux fichiers audio en fonction des entrées de l'utilisateur.
      • /add-pronunciation: ajoute des données de prononciation à Wikidata et enregistre les contributions des utilisateurs.
    • Outils de support:
      • Flask-CORS: assure la compatibilité entre le frontend et le backend.
      • Bibliothèque Langcodes: traite les codes de langue lors de la récupération de fichiers audio et de lexèmes.

Base de données

  • Technologie: MariaDB
  • Description : Une base de données relationnelle est utilisée pour stocker et gérer les contributions des utilisateurs.
  • Tableaux clés:
    • Fichiers audio: métadonnées des fichiers audio de Commons.
    • Contributions des utilisateurs : suit les prononciations soumises par les utilisateurs, les correspondances de lexèmes et d'autres détails.
  • Outils de support:
    • Flask-Migrate : gère les migrations de bases de données et les mises à jour de schéma.

API et intégration

  • Technologies: API Wikimedia Commons, API Wikidata
  • API Commons: récupère les fichiers audio et les catégories de Wikimedia Commons.
  • API Wikidata : gère la validation des lexèmes et la soumission des données de prononciation, y compris les déclarations audio (P443) et les variétés de prononciation (P5237).

Déploiement

Technologies:

  • Flask-Gunicorn : un serveur WSGI utilisé pour déployer l'application backend.
  • Wikimedia Cloud Services : héberge l'outil, le rendant accessible aux utilisateurs.
  • Docker (facultatif) : fournit une conteneurisation pour un déploiement et une mise à l'échelle efficaces.