NLP : ciblez les utilisateurs, pas les records sur les benchmarks
Alors que les frameworks d’évaluations standardisées du NLP gagnent en popularité, les experts invitent les data scientists à se concentrer sur des métriques personnalisées pour assurer le succès de leurs applications NLP.
De manière générale, les benchmarks dédiés au traitement du langage naturel, tels que GLUE (General Language Understand Evaluation) ou SQuAD (Stanford Question Answering Dataset), sont essentiels pour améliorer les modèles NLP. Cependant, ils ne permettent pas de mesurer réellement les performances attendues en entreprise. Pour cela, il faut se poser la question suivante : quelles sont les bonnes métriques pour améliorer les performances de vos modèles NLP embarqués dans de véritables applications ?
Pour comparer les performances des frameworks ou des algorithmes, il faut faire des compromis. Certaines métriques sont généralisables, d’autres sont spécifiques à certains cas d’usage et n’ont que peu de pertinence si elles sont exploitées en dehors de ce cadre.
D’où le besoin pour les applications NLP, d’une personnalisation des métriques suivant les cas d’usage, afin de mesurer la qualité des modèles et détecter leurs variations.
Le meilleur moyen d’obtenir ces métriques personnalisées est de se concentrer sur les aspects les plus saillants d’un modèle de machine learning donné.
« Les meilleures métriques sont celles qui sont spécifiques à la tâche à accomplir », déclare Daniel Kobran, directeur de l’exploitation et cofondateur de Paperspace, une plateforme de développement d’intelligence artificielle.
Prenons l’exemple d’un modèle NLP dédié aux contrats et supposons que nous ayons deux systèmes. Le premier répond correctement à une série de questions basée sur le texte du contrat, mais obtient de mauvais résultats sur les aspects financiers, les chiffres inscrits dans l’accord. Le second, pendant ce temps, extrait les informations financières et les exploite minutieusement, sans prêter attention à quoi que ce soit d’autre. Le premier système serait inutile pour toute une série d’applications commerciales incluant la finance, mais aurait probablement des résultats plus élevés que le second sur les benchmarks de référence.
« Comme les processus et les applications commerciales consomment des modèles NLP, les entreprises fixent un ensemble d’exigences plus strictes », déclare Reggie Twigg, directeur du marketing produit chez ABBYY.
La situation est d’autant plus difficile que chaque organisation a des exigences différentes en matière de NLP, en vertu desquelles les modèles doivent être performants et mesurés.
Le véritable score à retenir, les retours des utilisateurs
Les facteurs du monde réel jouent un grand rôle dans la détermination du succès éventuel de votre projet NLP. Certains des paramètres courants – et prévisibles – peuvent inclure des éléments tels que la précision, l’effort, le coût ou la quantité ou la qualité des données requises pour l’entraînement, mais ce n’est qu’une partie de l’histoire. Il est important de s’assurer que votre équipe ne confond pas le fait d’obtenir un score élevé à un benchmark avec le fait de fournir une valeur réelle à l’utilisateur.
« Il y a un danger à se concentrer sur un score. Les développeurs et les data scientists risquent de perdre de vue ce qui est réellement important pour vos utilisateurs et vos clients », affirme Nate Nichols, directeur de la société Narrative Science.
À lire également :
NLP : les benchmarks GLUE et SQuAD ne sont pas conçus pour les développeurs
Un modèle NLP peut être suffisamment performant pour vos utilisateurs. Ceux-ci préféreraient que vous dépensiez vos ressources à améliorer d’autres parties de votre application ou service. Pendant ce temps, votre équipe de spécialistes NLP réalise régulièrement des gains incrémentaux par rapport à un benchmark prédéterminé, gains que les utilisateurs ne remarquent même pas. La métrique la plus utile consiste peut-être à déterminer la valeur de l’application pour l’utilisateur, ainsi que la manière dont le NLP peut améliorer son expérience.
Maîtriser le domaine d’application (et les aspects linguistiques)
« Comprendre les aspects linguistiques à modéliser pour vos tâches particulières nécessite une connaissance approfondie à la fois de la langue et du domaine du problème que vous souhaitez résoudre », déclare Hadayat Seddiqi, directeur du machine learning chez InCloudCounsel, une entreprise de technologie juridique.
L’équipe de Seddiqi, qui développe des modèles d’IA pour aider à comprendre divers documents juridiques, examine les tâches d’un projet et les compare à des benchmarks ouverts afin d’évaluer le potentiel de différents modèles. Il est également important de disposer des pipelines d’annotation et d’analyse des erreurs robustes, dans lesquels les développeurs peuvent passer du temps avec les données et le modèle pour le comprendre.
« Par exemple, nos data scientists ont trouvé le benchmark SQuAD pertinent parce qu’ils doivent aussi répondre à des questions dans l’application. Mais les contrats juridiques ont une structure différente par rapport aux pages traditionnelles de Wikipédia, sur lesquelles se base SQuAD, donc tous les apprentissages ne sont pas transférés », indique-t-il.
Une UX pour faciliter le travail des développeurs
La construction de modèles peut être facilement automatisée, mais l’analyse du comportement et de la robustesse des modèles est une entreprise typiquement humaine qui requiert de la créativité et un esprit critique axé sur vos besoins particuliers.
L’évaluation itérative de la force des différents modèles de machine learning commence par l’exploration des données, la planification et la rédaction d’hypothèses et de métriques, qui sont confirmées pendant la partie d’analyse où les erreurs et autres comportements inattendus sont examinés.
L’équipe d’Hadayat Seddiqi a travaillé sur un concept appelé « developer UX ». Celui-ci consiste à construire l’interface adéquate pour les développeurs d’IA et les data scientists, afin de les aider à acquérir le plus rapidement possible les connaissances qu’ils recherchent. Parfois, il s’agit de construire de bons outils logiciels, et dans d’autres cas, il faut un outil mathématique qui simplifie la découverte de métriques NLP.
Par coïncidence, Nate Nichols s’attend à ce que ce processus soit de plus en plus standardisé et banalisé, tout comme le déploiement traditionnel de logiciels au cours des dernières années. En attendant, des services entièrement gérés comme Amazon SageMaker, Azure Machine Learning Studio et Paperspace Gradient aident à analyser, créer et développer des modèles NLP en se basant sur des métriques spécifiques aux utilisateurs ou aux applications.