Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 19 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
Приветствую

Если есть знающие прошу подсобить

мне по дипломной программка требуеться - сравнение текста с целью проверки на плагиат.

одним словом програмка должна брать текст и сравнивать с другими текстами чтобы проверить а не плагиат ли это

Меня интересует техническая сторона вопроса - алгоритмы, методы и пр.

мож кто может подсказать где чего почитать на тему

Благодарю



Партнер
 

Member
Статус: Не в сети
Регистрация: 04.02.2004
Откуда: Москва|СВАО
Kuzenka
В бумажном журнале "Компьютерра", около года назад, видел статью о том что подобное ПО разрабатывалось в одном из университетов Англии.
Поищите на их сайте.
Сам нашел, о http://offline.computerra.ru/2004/546/34031/

_________________
Счастье - это когда тебя понимают.
Разыскиваю (куплю) оригинальный USB-kit для Chaintech 5AGM2 (подробности в Л.С.).


 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
Благодарю

но меня не это интересует - готовые решения я уже осмотрел все какие только смог накопать в инете.

Но само собой производителе - алгоритмы работы этих решений не раскрывают :)

меня интересует чисто техническая сторона - как два текста можно сравнить между собой проверяя их на плагиат


 

Member
Статус: Не в сети
Регистрация: 06.07.2005
А как ты решишь что это плагиат? Если найдешь способ - полдела сделаешь.


 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
Ну в общем и целом плагиат это либо дословное цитирование либо незначительное изменение (там замена нескольких слов в предложении на синонимы и пр.)

вот меня и интересует как программно реализовать если текст изменен


 

Member
Статус: Не в сети
Регистрация: 06.07.2005
Самый тупой вариант - это поиск на схождение определенных слов и словосочетаний. Такое реализуется довольно просто, но % правильности будет невелик.


 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
А не самый тупой вариант какой??? :)

на схождение это катит если тексты идентичны.

а вот когда нет ??? "семен шел на запад" и "семен направлялся на запад" как объяснить такое программе чтоб она находила.

тут посложней задачка - и как ее решать пока не нахожу ответа.


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Один из вариантов это ипользование варианта сжатия текста и его сравнения , применяемый в словарях для проверки орфографии. Сейчас я плохо помню, но там слова приводились к определенным видам, откидывались гласные и с согласными что-то делали. Далее сравниваеш два текста и при совпадении скажем 85% можно считать текст схожими.


 

Всем привет!

Не так-то это все на самом деле просто... И далеко не всегда плагиатом является "чуть-чуть измененный" текст.

Например, если взять некую историю, поменять всем имена (а кое-кому и пол) и отнести действие лет допустим на 100 назад
или вперед, то тексты, естественно, будут вообще разные. НО! Это все равно будет плагиатом!

Т.е. проблема в том, что плагиатом далеко не всегда является использование оригинального текста, а гораздо
чаще - заимствование идей и сюжетных ходов из других произведений...


 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
Ясненько, спасибо

А добрый человек не подскажешь где почитать про эту методику проверки орфографии ???

как слова к каким формам приводяться ???

Добавлено спустя 5 минут, 1 секунду:
John D писал(а):
Всем привет!

Не так-то это все на самом деле просто... И далеко не всегда плагиатом является "чуть-чуть измененный" текст.

Например, если взять некую историю, поменять всем имена (а кое-кому и пол) и отнести действие лет допустим на 100 назад
или вперед, то тексты, естественно, будут вообще разные. НО! Это все равно будет плагиатом!

Т.е. проблема в том, что плагиатом далеко не всегда является использование оригинального текста, а гораздо
чаще - заимствование идей и сюжетных ходов из других произведений...


С этим я совершенно согласен, но меня пока интересует плагиат выразимся так текстовый а не идейный - в смысле семен шел и семен направлялся а не про семена


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Вот линки по теме, думаю если тебе это действительно надо, то придется покопаться и почитать

http://aspell.sourceforge.net/
http://www.codeproject.com/csharp/NetSpell.asp
http://dx.doi.org/10.1002/spe.648 Heuristic compression of an English word list


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Ray Adams, а я бы сделал проще - расширил функционал программы fc. :)


Для не очень точного определения можно обойтись не слишком сложными алгоритмами.
Если надо отлавливать Copy-Paste, проходит 'мягкий' вариант пословного сравнения.
Если нужно ловить передирание с сильной правкой .... вот тут сложно. Придется вводить понятие ключевых слов и вероятностей попадания (самих слов, сочетаний слов) ... это уже 'веревка'.
Впрочем, наверняка я тут глупостей наговорил .... :)


 

Junior
Статус: Не в сети
Регистрация: 05.08.2005
Откуда: Вильнюс, Литва
serj писал(а):
Ray Adams, а я бы сделал проще - расширил функционал программы fc. :)


Для не очень точного определения можно обойтись не слишком сложными алгоритмами.
Если надо отлавливать Copy-Paste, проходит 'мягкий' вариант пословного сравнения.
Если нужно ловить передирание с сильной правкой .... вот тут сложно. Придется вводить понятие ключевых слов и вероятностей попадания (самих слов, сочетаний слов) ... это уже 'веревка'.
Впрочем, наверняка я тут глупостей наговорил .... :)


Будь добр поподробней то за программа такая fc... не слышал я.
и ключевых слов и вероятностей это типо проверка по некому шаблону если я правильно понял


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Kuzenka, открой DOS-окно в Windows и набери "fc" :)
(лучше "fc /?")

Надо искать совпадение слов в оригинальном тексте и проверяемом.
1) Если есть совпадение по ключевым словам, то ставится признак 'существенное совпадение'.
2) Для остальных, не ключевых, слов допустимо несовпадение. Т.е. если 80% слов совпало с тестируемом, это уже хорошо.
3) Важный момент - можно искать 'словами', можно словосочетаниями. Т.е. совпадение несколько слов подряд (кусок фразы). Тут придется проверять на разное кол-во слов.
Потом выполняется суммирование вероятностей по 1,2 и 3 пункту и если число достаточно большое, выносится вердикт о клонировании.
Естественно, вклад пунктов в кретерий не одинаков - 1 пункта очень велик, 3 меньше, 2 еще меньше.

На все это очень хорошо накладывается тот момент, что _заранее_неизвестно_
начало тестового блока.
Т.е. придется выполнять ЭТО тестирование для всего текста плавно перемещаясь по нему. Здесь могут помочь ключевые слова - если упростить задачу и приравнять ключевые_слова=обязательны, задача здорово упрощается --- ищутся ключевые слова, потом 'вокруг них'.


 

Любопытную тему поднимаем :)
Дай-ка я угадаю - в каком-то вузе каких-то преподов-таки достали потоки скаченных из интернета рефератов?
Вопрос не праздный - от него сильно зависит методика защиты.

Если я угадал, то сдесь и сейчас ситуацию исправить просто - достаточно подсчитать процент точно совпадающих предложений. Однако, прознав о такой защите, студенты тут же возьмутся ее ломать. Так, например, если построить защиту на базе анализа отдельных предложений - начнут их разбивать на несколько или, напротив, склеивать. Т.е. вопрос в том - будет ли активное противодействие именно такому анализу со стороны "авторов" или нет.

В любом случае очевидно, что нужно начать с поиска (скорее подбора) словаря, способного распознавать слово в разных формах и искать для него синонимы, причем управляемого программно. Я этим вопросом никогда не интересовался, но spellchecker от офиса должен подойти. С его помощью нужно "нормализовать" тексты (как проверяемый, так и эталонные). Т.е. привести все слова к одной форме, а все синонимы к одному варианту.

А дальше, увы, начинается игра в "щит и меч". Как минимум, нужно искать в проверяемом документе фразы, на *заданное процентное соотношение* совпадающие по составу с одной из фраз в "контрольных" документах. Вообще, вопрос в том, как получать минимальные единицы для сравнения... я бы попробовал поиграться с разбиением длинных предложений на отдельные сегменты, достаточно продолжительные, чтобы не быть тривиальными (слов 6 хотя бы), исходя из расстановки знаков препинания внутри предложений... Ну а потом можно подумать, как эту проверку можно обойти и предпринять контрмеры против конкретных действий.

Другой вариант - попробывать припахать нейтронные сети. Не уверен, что это хорошая мысль (не очень-то я в этом разбираюсь), но другого способа решить задачу в общем виде я не вижу. Опять же - "нормализуем" тексты (нужно большое количество примеров) и тренируем сеть. Для диплома - самое оно =)


 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Mong
Цитата:
Для диплома - самое оно

Диплома, переходящего в диссертацию :D Есть даже такая проблема, как выделить абзац (с учетом того, что некоторые документы очень криво форматированы - с "концом строки" на каждой строчке.

Как начало проверки - можно сравнить встречаемость слов (по крайней мере это быстро), затем перейти к анализу...немного задумавшись...все-таки по предложениям. По крайней мере, концы предложений - 100% верные опорные точки. С учетом слияния/разбивки, два предложения можно считать схожими, если некоторая часть встречается в обоих предложениях и смежных с ними почти последовательно. Может надо анализировать по несколько рядом стоящих предложений. Лучше всего найти максимальную длину этой части. Если она значима (5-6 и более слов) - считаем, что предложение списано :)

Но это все имхо, не сильно отягощенное лингвистикой :)


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Asteroid, прости, за offtop --- согласись, очень напоминает 'fc' :) ... я и предлагал ранее.


 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
serj Даже соглашусь, напоминает :)


 

Member
Статус: Не в сети
Регистрация: 21.09.2004
Откуда: Санкт-Петербург
Mong писал(а):
Другой вариант - попробывать припахать нейтронные сети.

Нейронные... Да, тут нужна экспертная система. Можно случайным образом выхватывать кусок предложения из исходного текста и искать его вхождение в сравниваемом. Можно искать просто совпадение Длинных (например, длиннее 8 символов) слов. На основе совпадений стряпать "процент совпадений", каждое совпадение добавляет свой процент...


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 19 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan