![]() |
Сравнение на схожесть текста и записи из БД
Здравствуйте уважаемые пользователи форума. Возникла задача в реализации системы сравнения текстов на схожесть, иными словами на предмет плагиата. Реализация системы на php, хранение данных в БД MySQL. Принцип работы заключается в следующем, пользователь открывает страницу и в диалоге загрузки файла на сервер выбирает *.doc файл и загружает его на сервер. Система проводит операции над содержимым doc-файла (очистка от лишних символов, стоп-слов и прочее) записывает результат в базу и проверяет с уже существующими записями в базе на предмет их схожести. Результат сравнения выводится на той же странице. Может быть, так, что текст внутри doc файла может быть заимствован из нескольких источников, и записи о них могут храниться в базе. В записях также указывается и автор текста. Нужно чтобы результат имел вид - "Загруженный файл имеет схожесть с (перечисление записей в базе, которые имеют схожесть) авторами которых являются (перечисление авторов текстов в записях)". Возможно ли такое реализовать? Как реализовать такую идею? С чего начать? Хотелось бы выслушать ваше мнение, советы, или ссылки на что то полезное в этом направлении, реализации отдельных моментов, все, что может быть полезным. Спасибо заранее.
|
kibis_92@vk, перво наперво сесть подумать.
Причем подумать не на языке php и MySQL, а на собственно представлении этого процесса. Принцип работы надо уточнять и кристаллизовать. Полезно задать себе несколько вопросов. Например: Вы умеете работать с doc файлом? Почему не rtf и не plain text? У вас есть текстовая база, удобная для индексирования? Мне знакома работа с библиотечным фондом? Мне знакома работа с поисковыми и индексирующими, кеширующими алгоритмами? Мне знакома работа с катологизаторами / ссылочными аппаратами? Например УДК. Какие источники информации мне доступны в данной области? Имеется ввиду доступ к полнотекстовым библиотекам. Знаю ли я процессы загрузки файлов на сервер? -- Поломайте пока голову над этими вопросами. Потом я попробую подсказать пару ответов. |
Наверное начать нужно с изучения алгоритмов архивирования (zip, rar и т.п. - вроде бы есть специализированный ресурс, интернет-сайт по программированию архиваторов) . Так как задача сводится к поиску совпадающих последовательностей. Чем больше совпадающих последовательностей, тем больше схожесть.
|
1) Имеющаяся база данных по файлам по определению не может быть всеобъемлющей. Если чувак передрал все с неоцифрованной книги, скажем, 1910 г. издания, это никогда не просечь.
2) Если люди, контролирующие плагиат, настолько мелко плавают, то я всегда надеру их как сидорову козу. |
XPEHOMETP, они могут сделать обратный фокус. Во первых издания 1910 г. надо найти. Во вторых это не может быть единственным источником информации. Если по некоторой проблеме не было публикаций свыше 10-15 лет, то очень подозрительно, и вызовет массу ненужных вопросов. Т.е. "пользуйтесь актуальной литературой". Таким же образом можно проверять фиктивные ссылки "для количества" или вовсе ложные.
|
Цитата:
|
Цитата:
Но это не имеет отношения к вопросу данной темы. |
Не в том дело, коллега. Это Вы лазаете, что-то ищете, что-то пытаетесь осмыслить, изыскиваете литературу в бумажном исполнении и изучаете.
В классическом же варианте всё куда проще: никто не занимается оцифровкой, дёргают уже из готовых к употреблению источников. |
Время: 23:22. |
Время: 23:22.
© OSzone.net 2001-