Модель n-грамм — это метод подсчета последовательностей символов или слов, который позволяет нам поддерживать расширенное обнаружение шаблонов в тексте. Эти шаблоны могут быть полезны при проверке орфографии, генерации текста, секвенировании ДНК; и, в более общем плане, в обработке естественного языка, статистическом машинном обучении, искусственном интеллекте и вычислительной биологии.

Я сосредоточусь на естественном языке; точнее только английский. Немного более формально модель n-граммы естественного языка представляет собой последовательность символов или слов с математическим представлением, которое предполагает, что человеческий язык является одновременно последовательным и распределенным. Другими словами, он пытается зафиксировать шаблоны последовательностей (символы или слова рядом друг с другом), учитывая при этом контекстуальные отношения (символы или слова ). рядом друг от друга).

Другое, часто не заявленное, предположение заключается в том, что алфавиты человеческого языка конечны, а словари теоретически бесконечны… даже несмотря на то, что на практике применяется верхняя граница. Это предположение важно, потому что оно приводит к проблеме моделирования естественного языка в целом. (Обратите внимание, в этом контексте предполагается, что математическая модель представляет собой статический набор счетчиков, который создается на сервере разработки, а затем развертывается на рабочем сервере. После развертывания мы не можем изменить модель). Если мы применяем верхнюю границу к словарю, который представляет собой максимальный размер отдельных слов/лексем в наборе данных, то нам нужна стратегия для работы с будущими словами/лексемами, которых мы раньше не видели . То есть, если мы ограничим наш словарный запас только теми словами, которые мы видели, у нас позже не будет стратегии для работы со словами, которых мы не видели. Я поднимаю этот вопрос здесь только потому, что он заслуживает внимания, хотя я не буду вдаваться в подробности в этой статье.

Двигаясь вперед, мы предполагаем, что наблюдаемый язык разворачивается в виде серии акустико-фонетических сигналов в течение некоторого периода времени. Для цифрового текста мы используем это допущение и рассматриваем направленную последовательность завершающих символов как построенную за некоторый непрерывный период времени. (Наиболее часто предполагается направление [влево-›вправо, вверх-вниз]. Как правило, для арабских языков: [вправо-›влево, вверх-вниз]; азиатские языки: [вверх-вниз, влево-вправо] .)

Остальную часть поста смотрите здесь: