• [^] # Re: Natural Language Generation

    Posté par . En réponse au journal Wikifunctions est le nouveau projet de le fondation Wikimedia, un wiki de fonctions éditables par. Évalué à 5.

    Le plan c’est de dépasser largement ça, au moins à terme. Faire des "articles template" est le plus facile, mais ce n’est pas ce qui est envisagé, il s’agit de faire du contenu personnalisé pour chaque élément potentiellement, avec du contenu spécifique, dans un ordre choisi. Et de mettre du contenu qui n’est pas forcément exprimable dans Wikidata parce que la structure de la "langue abstraite" sera plus riche et plus souple.

    De ce que j’en comprend, le plan sera d’avoir des "descripteurs" qui exprimeront des constructions sémantique. Par exemple si on veut dire que Paris est à la fois une capitale administrative et culturelle, il est envisageable qu’il y ait un "descripteur" pour exprimer cette idée de "à la fois", descritpeur qui aura pour paramètres les choses qu’on veut exprimer sur Paris, donc l’idée de "capitale administrative" et "capitale culturelle". Le tout serait relié à "Paris" par un descripteur "nature".

    Ça pourrait donner avec une notation avec des parenthèses "Nature(Paris (Q90), ALaFois(capitale administrative, capitale culturelle)))". Un article abstrait devrait ressembler à une suite de ces structures.

    Les fonctions seront chargées de transformer cette structure de donnée, en quelque sorte, en langue naturelle. Avec par exemple une fonction qui sera chargée de rendre le descripteur "Nature", qui pourra analyser les paramètres pour faire des choix de rendu, comme appeler une fonction de rendu pour "ALaFois", et ainsi de suite, en fonction de la langue.

    Ça permet évidemment des descripteurs très haut niveau genre avoir un descripteur "film" qui permettrait une approche générique telle que tu la propose, mais aussi de personnaliser le contenu en le remplaçant par du personnalisé à l’envie, ce qui résoudrait le problème de la personnalisation à condition d’avoir une langue suffisamment riche et des traducteurs qui fonctionnent bien pour nos descripteurs.

    Du coup on voit qu’il y a potentiellement un compromis à trouver entre le côté personnalisé des descripteurs, genre on a une fonction template pour les "films" dans toutes les langues, ça peut faire des centaines de fonctions de rendu par template, et des descripteurs plus "bas niveau" mais bien plus générique comme "ALaFois" ou "Nature" pour lesquels on écrirait une fonction de rendu par langue mais qui seront utilisables pour plusieurs phrases par articles et bien au delà des films, avec à la clé un effort de maintenance potentiellement moins important parce que ces structures sont plus génériques et plus souple, du côté du rendu linguistique.

    Il n’est pas interdit de combiner les approche et d’avoir des fonctions de rendus qui retournent eux même des "phrases abstraites" de plus bas niveau, comme un compilateur qui fonctionnerait en plusieurs phases. Donc on aurait des template eux même écrits dans la langue abstraite et donc plus facilement maintenables et dont la modification se traduit dans toutes les langues.