Сравнение двух и более текстов
Заранее спасибо.
http://winmerge.org/
с исходными кодами и меню на русском.
Еще может тебе пригодиться
http://msdn.microsoft.com/ru-ru/magazine/cc163473.aspx
Регулярные выражения в SQL
Я использую для сравнения и модификации файлов - исходников проектов (когда их несколько сотен , а строк кода около сотни тысяч)
такой прием - создаю на SQL сервере табличку
[id_rec] [int] IDENTITY(1,1) NOT NULL,
[filename] [varchar](50) NULL,
[line] [int] NULL,
[line_text] [varchar](max) NULL,
CONSTRAINT [PK_T_SOURCE] PRIMARY KEY CLUSTERED
(
[id_rec] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Далее скриптом загоняю туда все файлы из каталога проекта (с разбивкой на строки).
Выполняю массовую модификацию средствами SQL.
Другим скриптом выгружаю обратно в файлы.
Ваша задача скорее всего потребует разбивки строк на слова и введение дополнительного поля в таблицу - номер слова в строке...
а дальше - выборки часто используемых слов, номеров строк в которых они чаще встречаются, номеров позиций в строке ну и придумать еще алгоритмов :)
Слов видимо. Но Der Meister'у, действительно, не мешало бы уточнить, что он считал.
Мы сравнивали дисперсии текстов, как последовательностей двоичных чисел, без пробелов, табуляции и завершающих строку символов. При достаточно большом объёме (хотя бы полторы странички) "исходников", результат сравнения дисперсий можно считать весьма достоверным. И формула там простая: что-то типа отношения корня квадратного из произведения дисперсий к сумме матожиданий... Точную формулу не помню, но помню точно, что когда это выражение меньше 0,6 (критерий Фишера, кажется), то можно говорить о близости исходных выборок. Например, сравнением дисперсий можно определить, что два mp3 файла содержат однин и тот же саундтрек (точнее, что саундтреки "очень похожи"), или, например, принадлежат ли следы на земле конкретному человеку. Всё это работает, причём очень эффективно: собсна, идентификация и прогнозирование - главные задачи матстатистики. Э-э-х, формулу б вспомнить - самому уже интересно :)
Здесь самое непонятное как раз состоит в том, как представить текст в виде последовательности чисел. На мой взгляд, результат любого алгоритма сравнения не должен зависеть от кодировки текста. Если же рассматривать вместо символов их коды, то представляется, что это условие не выполняется.
Опять же, частота встречаемости различных букв в пределах одного языка достаточно устойчивая характеристика, слабо зависящая от конкретного текста, т.е. для разных текстов мы будем получать очень близкие величины, а вот для одного и того же текста в различных кодировках - существенно различающиеся.
Отсюда делаю вывод, либо до меня так и не дошел алгоритм сравнения, либо он несостоятелен.