![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Всем привет.
Есть задача - проверять текстовые документы на плагиат. Т.е. в наличии будет база существующих документов, пользователь выбирает свой документ и приложение выдает результат - является ли содержимое данного документа плагиатом (в процентном отношении скорее всего). Ищу сейчас информацию по данной теме. В большинстве случаев на многих ресурсах советуют использовать алгоритм шинглов. И действительно, алгоритм не сложный, что уже плюс. Также из обсуждений понял, что данный алгоритм хорошо подходит для больших объемов текста. Минусом можно конечно рассматривать не слишком большую скорость работы, если длина шингла будет небольшой. А так же о сложность определения позиции совпавшего текста. Так вот, хотелось бы узнать, может быть кто-то знает еще другие алгоритмы для поиска дубликатов текста? Алгоритмы которые действительно хорошо себя зарекомендовали, ну кроме вышеназванного конечно. Просто цель состоит в максимально точном определении, является ли данный документ плагиатом или нет. В идеале конечно - возможность анализа и смысловой составляющей текста (тут пока вобще не представляю как, подобное реализовать, что посоветуете?), т.к в тексте смысл может быть тот же, а заменены какие-то слова на новые и т.д. Возможно кому-то приходилось решать подобную задачу, в таком случае буду рад любой имеющейся информации.
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#2 | |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]() Цитата:
Если более обще выражаться. Текст разбить на части (по обзацам). И выделять тему и идею в каждом обзаце. Запоминать и сопоставлять резулятаты с образцом и не важно, соответствует тема определенному абзацу или нет. А наряду с этим проводить словестный анализ. Может быть можно попробовать оттолкнуться от биометрии? Стиль изложения и т.д. Если стиль изложения не соответствует образцу, а тема и идея - одни и теже - значит текст написан другим автором. Слишком сложно?
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
|
![]() |
![]() |
![]() |
#4 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
В целом все это понятно, хотелось бы конечно больше конкретики...
Вот, что нашел по данному вопросу, может быть кому-то пригодится еще:
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#5 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
Частично согласен с ImmortalAlexSan. Задача совсем нетривиальная - одно дело сравнить 2 текста на совпадение (алгоритм наибольшей общей подпоследовательности подойдет - сходу), а другое - семантический анализ. Я бы рекомендовал поискать синтаксические анализаторы русского (или какой там у вас язык в документах), выделил бы в каждом документе в хранилище основные слова (можно сказать - теги), и запомнил бы их. А потом делал бы то же самое с входным документом и сравнивал уже не целый текст, а теги (я бы назвал их метриками документа).
Для пущей уверенности - проверять случайные части текста алгоритмом шинглов, и сравнивать по тегам. Самый простой вариант расстановки тегов - синтаксический анализ каждого предложения в тексте и выделение существительных. Согласен, не совсем быстро, но качественно. И к тому же есть возможность оптимизации. И еще одно дополнение к сравнению по тегам - вам нужен словарь синонимов, чтобы исключить подобные тексты, в которых слова заменены на синонимы. Вот такой навскидку план/алгоритм сравнения. Особенность в том, что вы один раз проиндексируете все документы в хранилище, а потом будете работать только с тегами/метриками. |
![]() |
![]() |
![]() |
#6 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
В целом направление стало более понятно. Спасибо всем.
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Анти-плагиат (Delphi, C++) | udaffo4ka | Помощь студентам | 8 | 10.12.2015 02:18 |
Проверка текстов на плагиат | HDMI | PHP | 0 | 23.04.2012 20:22 |
Проверка текста Memo | fineleave | Помощь студентам | 4 | 11.06.2011 21:48 |
Проверка на плагиат | Sparky | Свободное общение | 7 | 17.12.2010 17:25 |
Проверка текста | Babyshka | Помощь студентам | 3 | 11.03.2010 20:00 |