Пусть есть фраза
Код:
"Конечно, большие конфеты лучше!" -- сказала она и взяла большую конфету.
Пусть нас интересует частотность встречающихся 2-грамм слов (хотя хотим потом работать с любыми N-граммами). Лемматизируем нашу фразу:
Код:
"конечно, большой конфета хорошо!" -- сказать она и взять большой конфета.
Удаляем лишние знаки препинания:
Код:
конечно большой конфета хорошо сказать она и взять большой конфета
Разбиваем на 2-граммы:
Код:
[конечно большой] [большой конфета] [конфета хорошо] [хорошо сказать] [сказать она] [она и] [и взять] [взять большой] [большой конфета]
Находим повторяющиеся и упорядочиваем по числу вхождений:
Код:
[большой конфета]2 [конечно большой]1 [конфета хорошо]1 [хорошо сказать]1 [сказать она]1 [она и]1 [и взять]1 [взять большой]1
Но как теперь быть, если хочется вывести нелемматизированные и со знаками препинания встречания? То есть чтобы получить такое:
Код:
[большие конфеты, большую конфету]2 [Конечно, большие]1 [конфеты лучше!]1 [лучше!" -- сказала]1 [сказала она]1 [она и]1 [и взяла]1 [взяла большую]1
То есть чтобы как бы кусочки из текста анижки чтобы показывались. Как концептуально можно двумя разными образами прочитывать одну и ту же штуку? Как можно экранировать знаки препинания а потом восстанавливать?