СПОСОБ АВТОМАТИЗИРОВАННОГО ВЫЯВЛЕНИЯ СОВПАДЕНИЙ МЕЖДУ ДОКУМЕНТАМИ ПРОИЗВОЛЬНОГО ФОРМАТА

1. Способ автоматизированного выявления совпадений между документами произвольного формата, заключающийся в:
- последовательной сегментации потока анализируемых данных по обозначенным границам, в котором первая и последняя позиция потока данных считается границей сегмента;
- формировании шинглов путем хэширования полученных сегментов с сохранением информации о расположении сегментов в потоке данных;
- сохранении эталонного набора шинглов в индексе;
- сравнении шинглов в индексе с получаемыми при обработке анализируемого потока данных;
- в формировании результата анализа в виде карты фрагментов совпадающих с проиндексированными образцами.
2. Способ по п.1, в котором анализируемые данные просматриваются через условное окно фиксированного размера.
3. Способ по п.2, в котором:
- условное окно последовательно сдвигается от первой позиции вперед, пока край условного окна не совпадет с логическим концом анализируемых данных;
- содержимое условного окна анализируется на каждой итерации;
- данные в условном окне оцениваются составным анализатором, где подбирается упорядоченный набор из нескольких базовых предикатных функций, каждая из которых формируют дискретный бинарный результат только на основании содержимого условного окна.
4. Способ по п.1, в котором комбинируют кольцевое хэширование содержимого условного окна с добавлением смешения и приведением результата к модулю простого числа.
5. Способ по п.3, в котором для каждой позиции условного окна анализатор возвращает порядковый номер самой приоритетной функции выдавшей положительный результат, либо значение «пусто» если таковых нет.
6. Способ по п.1, в котором:
- очередная граница сегмента определяется путем итеративного просмотра потока данных на М позиций вперед, где выбираемая величина М - желаемая максимальная длина сегмента или глубина просмотра вперед;
- организуется список потенциальных границ сегментов по направлению движения условного окна;
- для каждой позиции результаты анализатора отличные от «пусто» добавляется в конец списка;
- при добавлении к списку результата анализатора на очередной итерации одновременно удаляются все предыдущие сохраненные результаты с меньшим приоритетом;
- очередная граница обозначается согласно первому элементу списка, когда его приоритет максимален, либо если после последней границы было проанализировано М позиций или более;
- при обозначении границы сегмента соответствующий первый элемент списка удаляется.
7. Способ по п.1, в котором хэширование осуществляется одновременно при передвижении условного окна вперед, но может быть использована и другая последовательность действий.
8. Способ по п.1, в котором:
- для эталонных документов или формируются «цифровые отпечатки», из которых в дальнейшем формируется общий индекс для эффективного поиска;
- результат сегментирования дополняется идентификатором эталонного документа, получаемый в результате набор записей является «цифровым отпечатком» исходного документа;
- цифровые отпечатки объединяются в общий индекс, при этом ключом доступа является хэш-значение, полученное при сегментировании;
- одному ключу доступа могут соответствовать несколько записей.
9. Способ по п.1, в котором при анализе данных производится поиск результата хэширования в индексе эталонов с агрегированием результатов за счет того, что:
- хэш-значение, полученное при сегментировании, используется в качестве ключа при поиске по индексу цифровых отпечатков;
- при совпадении из индекса считываются все записи соответствующие ключевому хэш-значению;
- информация о позиции обнаруженного совпадающего сегмента добавляется к результату.
10. Способ по п.1, в котором результаты анализа формируются в виде карты совпадающих фрагментов за счет того, что:
- для каждого эталонного документа поддерживается своя карта совпадений, которая инициализируется при обнаружении первого совпадающего сегмента;
- на основе информации о позиции и длине сегмента формируется не набор отдельных сегментов, а интегральное интервальное представление;
- производится оптимизация результатов для боле удобного и наглядного визуального представления;
- при добавлении сопрягающиеся сегменты сливаются в более протяженные интервалы, что существенно упрощает визуализацию и восприятие результата человеком;
- повторяющиеся сопрягающиеся сегменты также сливаются, при этом сохраняется информация о точном количестве повторов в формируемом интервале;
- при большом количестве разрозненных фрагментов может производиться оптимизация путем слияния близко расположенных интервалов;
- наиболее близкие интервалы могут объединяться до тех пор пока их общее количество не станет меньше заданной величины.
- на основе карты совпадающих фрагментов может быть получено точное значение объема совпадений, в интуитивно понятной форме;
- карта совпадающих фрагментов в интервальном представлении может быть использована для наглядной визуализации обнаруженных совпадений.