Я использую библиотеку текстовых BLOB-объектов Python и классификатор Naive Bayes для текстовых BLOB-объектов. Я узнал, что он использует наивный байесовский классификатор nltk. Вот вопрос: мои вводные предложения не на английском (турецком). Будет ли это возможно? Я не знаю, как это работает. Но я попробовал 10 обучающих данных, и, похоже, это сработало. Интересно, как это работает, этот наивный классификатор младенцев nltk, на неанглийских данных. Какие недостатки?
Машинное обучение с наивным байесовским методом на неанглийских словах
Ответы (1)
Хотя классификатор, обученный английскому, вряд ли будет работать на других языках, похоже, что вы используете textblob
для обучения классификатора для своей текстовой области. Ничто не исключает использования данных с другого языка, поэтому реальный вопрос заключается в том, получаете ли вы приемлемую производительность. Первое, что вам нужно сделать, это протестировать свой классификатор на нескольких сотнях новых предложений (а не на тех, на которых вы его обучили!). Если вы счастливы, это конец истории. Если нет, читайте дальше.
Что делает или мешает любому классификатору, так это выбор функций для его обучения. Классификаторам NLTK требуется функция «извлечения признаков», которая преобразует предложение в словарь признаков. Согласно его учебнику, textblob
предоставляет своего рода функциональную функцию "мешка слов" по умолчанию. Предположительно это тот, который вы используете, но вы можете легко подключить свою собственную функцию.
Именно здесь на помощь приходят ресурсы, относящиеся к конкретному языку: многие классификаторы используют "список запрещенных слов", чтобы отбросить общие слова, такие как и и the. Очевидно, этот список должен быть зависящим от языка . И, как написал @JustinBarber в комментарии, языки с большим количеством морфологии (например, турецкий) имеют больше словоформ, что может ограничивать эффективность классификации на основе слов. Вы можете увидеть улучшения, если «обуздаете» или лемматизируете свои слова; обе процедуры преобразуют разные словоформы словоформы в общую форму.
Идя дальше, вы не сказали, для чего предназначен ваш классификатор, но возможно, что вы могли бы написать собственный распознаватель для некоторых свойств текста и подключить их как функции. Например, если вы проводите анализ настроений, некоторые языки (включая английский) имеют грамматические конструкции, указывающие на высокие эмоции.
Для получения дополнительной информации прочитайте несколько глав книги NLTK, особенно главу о классификация.