Je construis un catégoriseur de texte pour les phrases courtes. En plus de dire à l'utilisateur "la catégorie du texte que vous avez entré est C", je veux pouvoir expliquer pourquoi j'ai pris cette décision, de manière courte et compréhensible. Par exemple, je ne veux pas dire à l'utilisateur "J'ai mis votre phrase dans un réseau neuronal complexe à 3 couches et c'est la réponse qui a obtenu le meilleur score"; Je veux des explications telles que "Votre phrase contient les mots U, V et W, qui sont caractéristiques de cette catégorie, à cause des phrases telles que X, Y et Z qui sont apparues dans les données d'entraînement".
Ma question est: quels algorithmes de classification conviennent le mieux à une telle application?
k-plus-voisins semble être un bon candidat, car je peux dire à l'utilisateur "Votre phrase a la catégorie C car elle est similaire aux phrases X, Y et Z qui ont la même catégorie. Mais ses performances sur les problèmes de catégorisation de texte sont connues de être pauvre. Je cherche un classifie qui équilibre la performance avec la capacité d'explication.
EDIT: Après avoir passé beaucoup de temps à chercher un tel classificateur, j'ai commencé à construire une bibliothèque d'apprentissage automatique appelée limdu , qui permet aux classificateurs d'expliquer leurs décisions. Il est encore en cours de développement, mais il m'a déjà aidé à m'expliquer ainsi qu'à mes collègues pourquoi nos classificateurs échouent si souvent ...