Я строю текст на классификатор коротких фраз. В дополнение к сообщению пользователю «категория введенного вами текста - C», я хочу кратко и понятно объяснить, почему я принял это решение. Например, я не хочу говорить пользователю: «Я поместил ваше предложение в сложную трехслойную нейронную сеть, и это тот ответ, который набрал наибольшее количество баллов»; Мне нужны такие объяснения, как «Ваше предложение содержит слова U, V и W, характерные для этой категории, из-за предложений, таких как X, Y и Z, которые появились в данных обучения».
Мой вопрос: какие алгоритмы классификации лучше всего подходят для такого применения?
k-ближайшие соседи кажутся хорошим кандидатом, потому что я могу сказать пользователю: «Ваше предложение имеет категорию C, потому что оно похоже на предложения X, Y и Z, которые имеют одну и ту же категорию. Но его эффективность в отношении проблем категоризации текста известна быть бедным. Я ищу классификацию, которая уравновешивает производительность с способностью объяснения.
EDIT: После того, как тратить много времени в поисках такого классификатора, я начал строить библиотеку машинного обучения под названием limdu , что позволяет классификаторам объяснить свои решения. Это все еще в стадии разработки, но уже помог мне объяснить себе и своим коллегам , почему наши классификаторы неудачу так часто ...