#python #mysql #plagiarism-detection
#python #mysql #обнаружение плагиата
Вопрос:
у меня есть база данных mysql, куда я добавляю новостные статьи, и перед добавлением в нее попробуйте сравнить эту статью со 100 последними статьями, если она имеет какое-либо сходство.
итак, если 95% похоже, я могу пометить его так же, как статью 122, или, если он похож на 70-95%, я могу пометить его как похожий на статью 133,
Какой лучший способ сделать это:
- есть ли способ или функция, с помощью которой mysql может это сделать
- нужно ли мне использовать python для сравнения этой статьи в цикле while с другими 100 статьями
как я читал на форумах, python — лучший способ, но я попробовал какую-то библиотеку для сравнения string1 (article1) со string2 (article2), и даже если это совершенно другая статья, она говорит мне, что она на 70% одинакова
я думаю, это из-за одних и тех же слов, таких как: и , он, она, будет, новости, текст, или, и, я
Ответ №1:
как я читал на форумах, python — лучший способ, но я попробовал какую-то библиотеку для сравнения string1 (article1) со string2 (article2), и даже если это совершенно другая статья, она говорит мне, что она на 70% одинакова
я думаю, это из-за одних и тех же слов, таких как: и , он, она, будет, новости, текст, или, и, я
Я предложу удалить стоп-слова, может помочь.
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD;
СТОП-СЛОВА mysql по умолчанию. Для получения дополнительной информации ознакомьтесь с документацией MYSQL по полнотекстовым стоп-словам и
точной настройкой полнотекстового поиска MySQL.
Ответ №2:
Если вы используете Linux, вы можете вызвать из python команду diff и поиграть с параметрами, учитель несколько лет назад сделал это, чтобы обнаружить копию на экзамене по программированию, это сработало даже после переформатирования кода