Estoy construyendo un categorizador de texto para oraciones cortas. Además de decirle al usuario "la categoría del texto que ingresó es C", quiero poder explicar por qué tomé esta decisión, de una manera breve y comprensible. Por ejemplo, no quiero decirle al usuario "Pongo tu oración en una red neuronal compleja de 3 capas y esa es la respuesta que mejor calificó"; Quiero explicaciones como "Su oración contiene las palabras U, V y W, que son características de esta categoría, debido a oraciones como X, Y y Z que aparecen en los datos de entrenamiento".
Mi pregunta es: ¿qué algoritmos de clasificación son los más adecuados para dicha aplicación?
k-vecinos más cercanos parece un buen candidato, porque puedo decirle al usuario "Su oración tiene categoría C porque es similar a las oraciones X, Y y Z que tienen la misma categoría. Pero su desempeño en problemas de categorización de texto es conocido por Sé pobre. Estoy buscando una clase que equilibre el rendimiento con la capacidad de explicación.
EDITAR: Después de pasar mucho tiempo buscando un clasificador de este tipo, comencé a construir una biblioteca de aprendizaje automático llamada limdu , que permite a los clasificadores explicar sus decisiones. Todavía está en desarrollo, pero ya me ha ayudado a explicarme a mí mismo y a mis colegas por qué nuestros clasificadores fallan tan a menudo ...