Un framework qui crée des applications Android à partir de descriptions textuelles

Text2App : un framework qui crée des applications Android à partir de descriptions textuelles

Text2App crée une application Android fonctionnelle à partir des spécifications fournies en anglais. Crédit : Hasan et al.

Des chercheurs de l’Université d’ingénierie et de technologie du Bangladesh (BUET) et de l’Université de Californie à Los Angeles (UCLA) ont récemment développé un cadre permettant de créer des applications Android à partir de descriptions textuelles. Cette nouvelle application a été présentée dans un article prépublié sur arXiv.

« Notre groupe de recherche du département du CSE, BUET, travaille à combler le fossé entre le langage humain et le langage de programmation pour rendre la programmation informatique plus accessible », a déclaré à TechXplore Masum Hasan, l’un des chercheurs qui a mené l’étude. « Nous avons déjà travaillé sur la réparation de programmes basés sur le langage naturel, la recherche de code basée sur le langage, la génération de documents de code, etc. Dans la suite, nous nous sommes demandé si un logiciel entièrement fonctionnel pouvait être construit à partir de spécifications de langage naturel. »

La plupart des modèles existants de création de logiciels basés sur des descriptions textuelles sont basés sur des modèles de traduction automatique neuronale (NMT) de bout en bout, similaires à celui qui sous-tend Google Translate. Ces modèles utilisent des frameworks NMT pour traduire le langage humain en code source.

Alors que certaines techniques basées sur NMT pour la traduction de texte en application ont obtenu des résultats prometteurs, la plupart d’entre elles sont incapables de générer de gros programmes avec des centaines de lignes de code. Pour surmonter cette limitation, Hasan et ses collègues ont créé un nouveau langage formel qui capture la complexité du code source de l’application, le représentant sous une forme très compacte.

« Nous avons conçu un langage formel intermédiaire qui peut représenter une application spécifiée par l’utilisateur dans une fraction des jetons, jusqu’à 20 fois moins », a déclaré Hasan. « Nous avons ensuite développé un compilateur capable de convertir la représentation compacte en code source réel et formé un modèle de traduction automatique neuronale pour traduire le langage naturel dans ce format intermédiaire, qui peut ensuite être compilé dans une application. »

Essentiellement, les chercheurs ont formé un modèle de traduction pour générer des représentations dans la langue intermédiaire qu’ils ont créée, plutôt que de créer du code source brut, comme le feraient la plupart des techniques existantes de texte en application. En transformant les descriptions de texte dans ce langage formel, leur cadre leur a permis de créer des applications mobiles à part entière, ce qui s’est avéré irréalisable avec les méthodes proposées précédemment.

« La génération de longues séquences est une limitation connue des modèles de génération de séquences actuels », a expliqué Hasan. « Le code source est généralement beaucoup plus long que le langage naturel et les meilleurs modèles actuels ont encore du mal à atteindre une précision de 20 % dans la génération d’extraits de code courts. Cela rend impossible la création de logiciels volumineux, tels que des applications mobiles composées de centaines de lignes de codes, avec réseaux actuels de génération de séquences. »

Le framework créé par Hasan et ses collègues, baptisé Text2App, permet de créer des applications Android à l’aide d’instructions en anglais. Pour utiliser le système, les utilisateurs doivent simplement décrire une application mobile avec une portée spécifique et le framework la crée automatiquement pour eux. Une démo vidéo de Text2App est désormais disponible sur GitHub, à l’adresse : https://text2app.github.io/

dit Hassan. « Imaginez que vous vouliez mémoriser la recette spéciale de pâtes de votre grand-mère. Au lieu de vous souvenir de la recette complète étape par étape, vous ne pouvez apprendre que les étapes uniques et rechercher le reste des étapes dans un livre de cuisine. Cela réduira considérablement le de l’effort que vous auriez à dépenser. De même, notre représentation d’application intermédiaire ne capture que les exigences spécifiques fournies par l’utilisateur via l’instruction en langage naturel et le compilateur remplit le reste. « 

Les récents travaux d’Hasan et de ses collègues pourraient permettre aux chercheurs de repenser la génération de programmes et d’applications, en introduisant une nouvelle façon de résumer ou de représenter les programmes qui est plus facile à comprendre pour la technologie de l’IA. Notamment, les modèles d’IA formés par les chercheurs ont montré une capacité bien supérieure à celle des autres techniques pour convertir le langage naturel en applications.

« Si nous concevons des langages de programmation ou des frameworks avec l’IA à l’esprit, nos technologies d’IA actuelles peuvent être remarquablement plus performantes dans la génération de code à partir du langage humain », a déclaré Hasan. « De plus, les langages de programmation sont conçus pour être compris par les compilateurs, et pas entièrement par les IA. Nous démontrons que s’appuyer uniquement sur des modèles d’IA pour des tâches complexes comme la génération de code n’est pas adéquat, et une prise en charge supplémentaire de composants comme les compilateurs peut être d’une grande aide. « 

La réalisation la plus notable de l’étude menée par cette équipe de chercheurs est le développement du langage formel intermédiaire qui permet la conversion de texte en une application, ainsi qu’un compilateur qui crée finalement l’application. Jusqu’à présent, Hasan et ses collègues n’ont exploré qu’une fraction de ses capacités, mais ils demandent maintenant également à la communauté open source de contribuer à son évaluation et son développement ultérieurs.

« Avec davantage d’efforts de développement, Text2App peut devenir une plate-forme de développement d’applications à part entière basée sur le langage naturel », a déclaré Hasan. « Dans notre travail, nous montrons également qu’il est possible de créer des applications à partir d’instructions étonnamment complexes avec notre système à l’aide d’un grand modèle de langage, GPT-3. Cependant, davantage de réflexions dans ce sens sont nécessaires pour le rendre pleinement fiable.  »


Un réseau de neurones artificiels pour acquérir des représentations ancrées des actions et du langage des robots


Plus d’information:
Text2App : un cadre pour créer des applications Android à partir de descriptions textuelles. arXiv:2104.08301 [cs.CL]. arxiv.org/abs/2104.08301

Review4Repair : la révision du code a facilité la réparation automatique du programme. arXiv:2010.01544 [cs.SE]. arxiv.org/abs/2010.01544

Les modèles linguistiques sont des apprenants peu nombreux. arXiv:2005.14165 [cs.CL]. arxiv.org/abs/2005.14165

CoDesc : un grand ensemble de données parallèles de description de code. arXiv:2105.14220 [cs.CL]. arxiv.org/abs/2105.14220

© 2021 Réseau Science X

Citation: Text2App : Un framework qui crée des applications Android à partir de descriptions textuelles (2021, 2 juin) récupéré le 2 juin 2021 sur https://techxplore.com/news/2021-06-text2app-framework-android-apps-text.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.