Unigram дает лучшие результаты, чем Ngram для идентификации языка - PullRequest
2 голосов
/ 24 марта 2020

У меня есть школьный проект, который состоит из идентификации каждого языка твита из набора твитов. Набор данных содержит твиты на испанском sh, португальском, английском sh, баскском, галисийском и каталонском. Задача состоит в том, чтобы реализовать модель идентификации языка с использованием униграмм, биграмм и триграмм и проанализировать эффективность каждой модели.

Я понимаю концепции нграмм и понимаю, что языки несколько похожи (следовательно, это не так тривиальная задача), но я не понимаю, что я получаю лучшие результаты для униграмм, чем биграмм, и получаю лучшие результаты для биграмм, чем триграмм.

Я не могу понять, как это возможно, так как я ожидал лучшей эффективности для биграмм и триграмм.

Не могли бы вы помочь мне пролить свет на то, почему это происходит?

Спасибо за ваше время.

1 Ответ

2 голосов
/ 25 марта 2020

Краткий ответ: n-граммы высшего порядка имеют проблему с разреженностью данных. (Мы склонны решать эту проблему с помощью сглаживания.) Это может сделать их менее информативными, поскольку многие из них не видны, что затрудняет изучение истинного распределения данных без дополнительных данных.

Вы заметили, что меньшие объемы сглаживания дают лучшую производительность чем выше. Это потому, что нижние позволяют вам слушать ваши данные больше . Сглаживание похоже на «предварительное мнение», но полученные вами значения отражают фактические данные. Если вы слишком сглаживаете, теперь вы (почти) полностью игнорируете свои данные! Вероятность любой униграммы становится одинаково вероятной.

...