Ich baue einen Textkategorisierer für kurze Sätze. Ich möchte dem Benutzer nicht nur mitteilen, dass die Kategorie des von Ihnen eingegebenen Textes C ist, sondern auch kurz und verständlich erklären können, warum ich diese Entscheidung getroffen habe. Zum Beispiel möchte ich dem Benutzer nicht sagen: "Ich habe Ihren Satz in ein komplexes dreischichtiges neuronales Netzwerk eingefügt, und das ist die Antwort, die am besten abgeschnitten hat." Ich möchte Erklärungen wie "Ihr Satz enthält die Wörter U, V und W, die für diese Kategorie charakteristisch sind, weil Sätze wie X, Y und Z in den Trainingsdaten enthalten sind".
Meine Frage ist: Welche Klassifizierungsalgorithmen eignen sich am besten für eine solche Anwendung?
k-next-neighbours scheint ein guter Kandidat zu sein, da ich dem Benutzer sagen kann: "Ihr Satz hat die Kategorie C, weil er den Sätzen X, Y und Z ähnelt, die dieselbe Kategorie haben. Die Leistung bei Textkategorisierungsproblemen ist jedoch bekannt Sei arm. Ich suche eine Klassifikation, die Leistung mit Erklärungsfähigkeit in Einklang bringt.
EDIT: Nachdem ich viel Zeit damit verbracht hatte, nach einem solchen Klassifikator zu suchen, begann ich mit dem Aufbau einer Bibliothek für maschinelles Lernen namens Limdu , mit der die Klassifikatoren ihre Entscheidungen erklären können. Es befindet sich noch in der Entwicklung, aber es hat mir bereits geholfen, mir und meinen Kollegen zu erklären, warum unsere Klassifikatoren so oft versagen ...