алгоритм "Антиплагиат" системы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Xex, 2 Aug 2007.

  1. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    Здраствуйте,
    у меня есть такая задача:
    Есть два Word документа, нужно провести анализ этих документов на "Копипастинг", т.е. узнать процент совпадения контента документов(например, рефератов).
    Вот думаю, как бы попроще реализовать это, думаю настоящие программеры поймут мое желание придумать "красивый алгоритм".
    Мои мысли:
    выбрать только "буквы", а дальше выбирать с двух документов самые длинные совпадающие последовательности, затем уже посчитать процент.

    Спасибо за внимание.
     
  2. Y.Dmitriy

    Y.Dmitriy Banned

    Joined:
    14 Mar 2007
    Messages:
    208
    Likes Received:
    85
    Reputations:
    16
    нахрена по две темы постить?
     
  3. Xex

    Xex Banned

    Joined:
    10 Jul 2005
    Messages:
    108
    Likes Received:
    41
    Reputations:
    7
    потому что выбор языка для меня не принципиален, а в двух "программерских темах" я охвачу большее количество "программеров"
     
  4. censored!

    censored! Green member

    Joined:
    2 Nov 2004
    Messages:
    1,159
    Likes Received:
    299
    Reputations:
    156
    Удалить из текста всякие стоп-символы (тире, точки, запятые), слова меньше трех букв, двойные пробелы, табы и т.п.. даже пробелы вообще можно удалит. Чтобы весь текст был типавоттакойводнустроку. Всякие ё заменить на е, й на и, еще бы о заменить на е, выкинуть двойные буквы типа "нн", "ее", выкинуть букву т. Все это надо для того - если копипастер потом прогнал на орфографию в ворде. А уже потом брать первые пять символов, искать их в другом тексте, нашел - и там и там удалить, счетчик на один. И т.д.
    Но тут все зависит от задач - что проверять и какой текст. Обычно по предложениям сверяют. Некоторые определяют длину слова, считают сколько там букв и так и строят текст. Типа: 1 3 5 4 2 3 4, 3 2 5 7. И по этим последовательностям ищут.
     
    _________________________
    1 person likes this.