Я ищу программное обеспечение, которое обнаруживает плагиат и имеет следующие атрибуты:
Хорошо бы иметь:
Полностью согласен компилировать из исходного кода, любых разумных языков или просто использовать вместо этого библиотеку Python.
В случае, если это было неясно, я хочу, чтобы он обнаруживал плагиат только из источников, которые я ему передаю. Кто-нибудь знает о таком программном обеспечении?
Это инструмент, который делает все это: http://ssdeep.sourceforge.net
Он в основном предназначен для компьютерной криминалистики — обнаружения похожих, модифицированных, измененных или усеченных файлов.
Я успешно использовал его для борьбы со спамом, обнаруживая электронные письма, которые были изменены в степени от незначительной до значительной по сравнению с другими электронными письмами и образцами спама.
Я думаю, что он подойдет для вашей цели, потому что он имеет настраиваемую «чувствительность» к изменениям и способен обнаруживать похожие фрагменты, см. здесь для демонстрации:
http://ssdeep.sourceforge.net/usage.html#иглы
Предупреждение: я использовал разделяемую библиотеку напрямую через Python cffi ( https://cffi.readthedocs.org/en/latest/ ), а не сам инструмент командной строки, хотя у ssdeep есть утилита командной строки. Тем не менее, использование cffi для вызовов библиотеки ssdeep было более мощным, чем командная строка, и очень простым.
Я подумал, что вы, вероятно, могли бы использовать Python и SciPy NLTK для создания списка предложений из каждого из ваших текстов, которые, по вашему мнению, могут быть плагиатом из-за использования tokenize — я бы предложил удалить из них знаки препинания и исключить все предложения с менее чем 5 или 6 слов и их сохранение, возможно, с какими-то ссылками на то, где они встречаются в исходном тексте.
Затем вы можете применить тот же алгоритм к своим подозрительным текстам и проверить совпадения.
Стив Барнс
соандос
Кенорб