Diff-Text - это бесплатный программный инструмент, который находит различия между двумя блоками обычного текста. [1] [2] Он принимает форму набора веб-страниц, каждая из которых имеет немного отличающийся макет. Текст для сравнения вставляется прямо на веб-страницу. Его можно использовать в любой операционной системе.
Разработчики) | DiffEngineX LLC |
---|---|
Первый выпуск | 29 октября 2012 г. |
Написано в | До-диез |
Операционная система | Любой |
Тип | Сравнение данных |
Лицензия | Закрытый источник |
Веб-сайт | diff-text.com |
Diff-Text был разработан DiffEngineX LLC и использует улучшенные алгоритмы, первоначально разработанные для инструмента сравнения электронных таблиц DiffEngineX.
Это позволяет пользователю выбирать между сравнением на уровне целых строк (или абзацев), слов или символов. При сравнении целых строк будет сообщаться только тот факт, что строки нет в другом блоке. Diff Text считает абзацем любую строку, заканчивающуюся символом конца строки Windows, Macintosh или Unix.
Веб-сайт может объединять исходные и измененные текстовые блоки в одну панель с выделением всех различий. В качестве альтернативы размеченные исходные и измененные текстовые блоки могут отображаться на отдельных панелях.
Поддерживается переход от одного различия к другому.
Все вышеперечисленные функции не уникальны и их можно найти в других инструментах сравнения текстов.
Программа может отображать только различия, различия с переменным объемом контекста с обеих сторон или весь размеченный текст.
Веб-сайт поддерживает использование SSL (https), поэтому конфиденциальный текст можно сравнивать.
Алгоритм, используемый Diff Text, используется Selection Diff Tool, который представляет собой приложение для Microsoft Word и Excel 2013. [3] [ необходим лучший источник ]
Ограничения использования алгоритма самой длинной общей подпоследовательности
Уникальной особенностью Diff-Text является его способность обнаруживать текст, который был перемещен вверх или вниз в документе и помещен в новый контекст. Чтобы избежать фиксации ложного сходства, программное обеспечение позволяет пользователю указать минимальное количество соседних слов или символов, которые будут сообщаться как ход. Сообщается о перемещении текста таким образом, что количество отдельных правок для преобразования исходного текста в измененный текст минимально.
Подавляющее большинство программного обеспечения для сравнения текстов, основанного на алгоритме самой длинной общей проблемы подпоследовательности , неверно сообщает о перемещенном тексте как о несвязанных добавлениях и удалениях. Алгоритм сообщает только о самом длинном последовательном переходе текста между двумя документами. Текст, удаленный из наиболее длинного ряда сходств, пропускается.
Эвристика не используется. О любом сходстве между двумя документами сверх указанного минимума будет сообщено (если выбрано обнаружение ходов). В этом основное отличие Diff Text от большинства других алгоритмов сравнения текста. Различный текст всегда будет иметь существенное сходство, даже если он содержится в неидентичных или перемещенных строках. Он никогда не прибегает к угадыванию или первому совпадению, которое может быть найдено, что может привести к неоптимальным совпадениям в другом месте.
Diff-Text может не только обнаруживать целые абзацы, которые были перемещены вверх или вниз в документе, но и обнаруживать переупорядочение предложений внутри абзаца. Для обозначения этого цвет фона текста меняется на голубой и желтый.
Если пользователь указывает, что движения текста не должны обнаруживаться, его алгоритм выполняется за (m log n) время, что является улучшением по сравнению со стандартным квадратичным временем, часто наблюдаемым в программном обеспечении этого типа. m и n относятся к размеру оригинального и измененного текста.
Резюме
Обычные инструменты сравнения текста, основанные на алгоритме самой длинной общей проблемы подпоследовательности , могут потенциально упустить много общего между исходными и измененными файлами, если блоки текста перемещаются. Diff-Text является систематическим и позволяет пользователю указать минимальное количество смежных слов или символов, которое будет считаться допустимым ходом.