Buduję kategoryzator tekstowy dla krótkich zdań. Oprócz poinformowania użytkownika, że „kategoria wpisanego tekstu to C”, chcę móc wyjaśnić, dlaczego podjąłem tę decyzję, w krótki i zrozumiały sposób. Na przykład nie chcę powiedzieć użytkownikowi: „Umieściłem zdanie w złożonej trójwarstwowej sieci neuronowej i to jest odpowiedź, która uzyskała najlepszy wynik”; Chcę wyjaśnień, takich jak „Twoje zdanie zawiera słowa U, V i W, które są charakterystyczne dla tej kategorii, ze względu na zdania takie jak X, Y i Z, które pojawiły się w danych treningowych”.
Moje pytanie brzmi: jakie algorytmy klasyfikacji najlepiej nadają się do takiej aplikacji?
k-najbliżsi sąsiedzi wydają się dobrym kandydatem, ponieważ mogę powiedzieć użytkownikowi „Twoje zdanie ma kategorię C, ponieważ jest podobne do zdań X, Y i Z, które mają tę samą kategorię. być biednym. Szukam klasyki, która równoważy wydajność z umiejętnością wyjaśniania.
EDYCJA: Po spędzeniu dużo czasu na poszukiwaniu takiego klasyfikatora zacząłem budować bibliotekę uczenia maszynowego o nazwie limdu , która pozwala klasyfikatorom wyjaśniać swoje decyzje. Wciąż jest w fazie rozwoju, ale już pomogło mi wyjaśnić sobie i moim kolegom, dlaczego tak często zawodzą nasi klasyfikatorzy ...