Estou construindo um categorizador de texto para frases curtas. Além de dizer ao usuário "a categoria do texto digitado é C", quero poder explicar por que tomei essa decisão, de uma maneira curta e compreensível. Por exemplo, não quero dizer ao usuário "Coloquei sua frase em uma complexa rede neural de três camadas e essa é a resposta que obteve a melhor pontuação"; Quero explicações como "Sua sentença contém as palavras U, V e W, características desta categoria, devido a sentenças como X, Y e Z que apareceram nos dados de treinamento".
Minha pergunta é: quais algoritmos de classificação são mais adequados para essa aplicação?
k-vizinhos mais próximos parece ser um bom candidato, porque posso dizer ao usuário "Sua sentença tem a categoria C porque é semelhante às sentenças X, Y e Z que têm a mesma categoria. Mas é conhecido por seu desempenho em problemas de categorização de texto. Estou à procura de uma classificação que equilibre desempenho com capacidade de explicação.
EDIT: Depois de passar muito tempo procurando por um classificador, comecei a construir uma biblioteca de aprendizado de máquina chamada limdu , que permite que os classificadores expliquem suas decisões. Ainda está em desenvolvimento, mas já me ajudou a explicar a mim e aos meus colegas por que nossos classificadores falham com tanta frequência ...