Поиск наиболее часто встречающихся шаблонов в неязыковом текстовом файле - PullRequest
3 голосов
/ 21 февраля 2011

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

Сам файл состоит из буквенно-цифровых символов, и я хочу просто проверить наличие повторяющихся в файле шаблонов, игнорировать разделители и игнорировать слова или значения на естественном языке, просто получить наиболее часто используемые повторяющиеся последовательности.

Кажется, я не нашел ни одной уже разработанной программы, способной сделать это (поскольку все, похоже, работают со словами, а не только с наборами символов). Знаете ли вы какое-либо приложение, которое может сделать это?

Если такого приложения нет, как бы вы порекомендовали мне подойти к его написанию?

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

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

enter image description here

1 голос
/ 21 февраля 2011

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

Также к вашему сведению: Самая большая проблема с подстрокой

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

...