Первый уровень по моей классификации.

Конечно этим уровням можно было бы давать более сложные названия, типа уровень алгоритмов делающий то-то и то-то. Но каждый раз так писать это длинно и путающе. А потому просто цифрами.

Как упоминалось ранее, первый уровень, это сделать выделение однотипных дистанций между исходными значениями и прогнозируемыми:

  = красная машина

  = красную машину

  = красные машины

В данном случае никаких проблем нет запомнить все варианты окончаний для одного слова. Но существительных много, и многие будут встречаться в первый раз в той или иной комбинации. Если знать заранее, что тот или иной кусочек является соответствующим существительным, то и окончания можно будет применять, даже если комбинация встречается впервые.

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

  = красная [СимволГруппы]а

В остальном, принцип здесь остается прежним - накапливаем статистику, считаем вероятности.