Stratégies de sélection des exemples pour l’apprentissage actif avec des champs aléatoires conditionnels
Abstract
Nowadays, many NLP problems are modelized as supervised machine learning tasks. Consequently, the cost of the expertise needed to annotate the examples is a widespread issue. Active learning offers a framework to that issue, allowing to control the annotation cost while maximizing the classifier performance, but it relies on the key step of choosing which example will be proposed to the expert.
In this paper, we examine and propose such selection strategies in the specific case of Conditional Random Fields (CRF) which are largely used in NLP. On the one hand, we propose a simple method to correct a bias of certain state-of-the-art selection techniques. On the other hand, we detail an original approach to select the examples, based on the respect of proportions in the datasets. These contributions are validated over a large range of experiments implying several tasks and datasets, including named entity recognition, chunking, phonetization, word sens disambiguation.
Beaucoup de problèmes de TAL sont désormais modélisés comme des tâches d’apprentissage supervisé.
De ce fait, le coût des annotations des exemples par l’expert représente un problème important. L’apprentissage actif (active learning) apporte un cadre à ce problème, permettant de contrôler le coût d’annotation tout en maximisant, on l’espère, la performance de la tâche visée, mais repose sur le choix difficile des exemples à soumettre à l’expert.
Dans cet article, nous examinons et proposons des stratégies de sélection des exemples pour le cas spécifique des champs aléatoires conditionnels (Conditional Random Fields, CRF), outil largement utilisé en TAL. Nous proposons d’une part une méthode simple corrigeant un biais de certaines méthodes de l’état de l’art. D’autre part, nous détaillons une méthode originale de sélection s’appuyant sur un critère de respect des proportions dans les jeux de données manipulés. Le bien-fondé de ces propositions est vérifié au travers de plusieurs tâches et jeux de données, incluant reconnaissance d’entités nommées, chunking, phonétisation, désambiguïsation de sens.