Я пытаюсь сделать классификатор текста для использования в FAQ чата.
Давайте представим, что у меня есть два класса: pricing
и contacts
.
В то время как я проверяю общие фразы, такие как ', где вы находитесь ' или что-то в этом роде, классификатор работает нормально. Но если я наберу ' test, о боже, мое тестирование идет ' или просто ' jgnerlgnwel ergne ', это просто даст мне 0,5 / 0,5 баллов, а баллы всегда будут равны 1.
Я пытался определить доверительный порог, например, 0,7, но иногда оценки для случайных фраз превышали оценки для реальных. У меня очень слабые тренировочные данные, но все же, как мне определить, является ли строка просто набором случайных символов или что текст является оффтопом?
Я попытался использовать классификаторы SVC и KNN от sklrean с различным набором параметров. Но я ожидаю, что мой классификатор будет работать так:
вход: о боже, классификатор жив?
баллы классификатора: (['price', 'contacts'], [0.01343, 0.075457]) Баллы не суммируются с 1.