Développeur NLP
Inès nous présente son métier de développeur NLP (Natural Language Processing), qui mêle des compétences en linguistique, informatique et intelligence artificielle.
AViSTO recrute ! Vous pouvez retrouver les offres sur notre site emploi, où il est également possible de déposer une candidature spontanée.
Sommaire :
Devenir développeur NLP
Inès, quel parcours as-tu suivi pour devenir développeur NLP ?
Je suis ingénieure en informatique, diplômée de l’UTC, l’Université de Technologie de Compiègne. C’est une école généraliste, où j’ai suivi la filière intitulée « Ingénierie des Connaissances et des Supports d’Information », spécialisée dans l’Intelligence Artificielle. C’est ainsi que j’ai découvert le NLP (Natural Language Processing, Traitement Automatique des Langues en français), et ça m’a beaucoup plu.
J’ai réalisé mon projet de fin d’études dans une société réalisant des traducteurs automatiques. J’ai plus précisément travaillé sur un bot twitter qui, à partir de tweets, devait déduire des événements dans le monde réel. Par exemple, des tweets sportifs.
Jeune diplômée, j’ai ensuite occupé mon premier poste dans une start-up également spécialisée dans le traitement du langage naturel. Nous réalisions des générateurs automatiques de textes pour des sites marchands. Par exemple, à partir de contenus issus de bases de données, il fallait générer des fiches produits.
J’ai ensuite rejoint AViSTO en tant qu’ ingénieur TAL. Je travaille actuellement sur un projet de chatbot.
En quoi consiste ce projet ?
Il s’agit de développer un chatbot pour du support client, il doit répondre à des questions et ouvrir des rapports.
Nous avons donc commencé par analyser les conversations réalisées sous forme de chats entre des agents et leurs clients. Par exemple, les questions les plus posées, la manières de répondre des agents etc.
Nous utilisons ensuite des algorithmes pour extraire les informations importantes de cette base d’information, qui est gigantesque. Il existe des algorithmes de NLP qu’on peut adapter et qui permettent de faire ressortir les mots les plus utiles à la compréhension d’un texte.
Et ensuite, nous développons des scripts en Python qui permettent de lancer l’analyse à proprement parler.
Rôle
Qu’est-ce qui te plaît dans ton métier ?
Développeur NLP, c’est un nouveau métier, avec une composante R&D forte appliquée de manière très concrète car c’est toujours au service d’un projet. Souvent, cela nous donne une certaine liberté au niveau des spécifications et de l’implémentation.
Quelles sont tes missions au quotidien ?
D’une manière générale, on commence toujours par une analyse. Il est essentiel de bien réfléchir au problème posé et de savoir s’adapter, pour ne pas foncer la tête la première dans sa résolution avec des méthodes toutes faites.
On sélectionne ensuite les algorithmes, on les adapte si nécessaire, on développe des scripts, on lance les analyses et on dissèque les résultats.
J’échange également beaucoup avec les équipes en charge de la partie support, qui discutent au quotidien avec les clients. Il est essentiel qu’ils comprennent bien ma démarche, afin qu’ils puissent me fournir les documents utiles à l’apprentissage permanent de mon bot.
Enfin, il y a bien entendu une partie de mon travail consacrée à la veille technologique, par exemple pour découvrir de nouveaux algorithmes.
Compétences Développeur NLP
Quelles compétences faut-il avoir pour être développeur NLP ?
Nous avons déjà évoqué l’esprit d’analyse. On travaille sur la langue, qui bouge beaucoup, évolue. On peut se baser sur la grammaire qui est très réglée, mais il y a des pratiques différentes. Par exemple, sur un bot Twitter, on n’utilise pas la même langue que sur des papiers administratifs. Donc cela change beaucoup le travail.
Les développeurs NLP doivent bien entendu maîtriser différents langages de programmation. Sur mon projet actuel, on utilise Python, qui a beaucoup de librairies permettant de faire du NLP ; par exemple nltk.
On utilise aussi des outils comme Watson d’IBM, qui permet de faire des chatbots.
On fait un peu d’algorithmie également ; le TF-IDF sert par exemple à trouver les mots qui font le plus de sens dans un groupe de textes afin de les discriminer.
Tu parles ou a de bonnes notions dans 7 langues vivantes ! Faut-il être polyglotte pour être développeur NLP ?
Beaucoup de gens font du NLP et se concentrent sur l’anglais. Néanmoins, c’est un atout d’avoir étudié plusieurs langues car on connaît d’avance les problèmes spécifiques. Par exemple, en allemand, il est possible de construire des mots composés très longs qui n’apparaissent pas dans le dictionnaire ; il faut pouvoir les décoller. Idem en chinois, où de nombreux idéogrammes peuvent se suivre dans la même phrase sans signe de ponctuation ; seuls ou composés, ils ne veulent pas dire la même chose.
Bref, les problèmes sémantiques sont différents en fonction des langues. Il est utile de les connaître a priori pour pouvoir bien détecter un corpus sémantique.
Pour conclure, peux-tu nous dire quelques mots sur AViSTO ?
J’ai rejoint très récemment AViSTO. J’ai l’impression que l’entreprise est à l’écoute de ses employés, que nos référents cherchent à savoir comment on se sent, comment se passent les projets. J’ai donc un bon feeling jusqu’à présent.
Emploi développeur NLP
AViSTO recrute régulièrement des développeurs NLP ! Vous pouvez répondre à une offre sur notre site emploi, ou bien déposer une candidature spontanée.