Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить схожесть текстов? 
:(
    Опции темы
Wowa
Дата 15.11.2006, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Как определить схожесть текстов? Например, есть много записей в базе и при добавлении новой записи надо проверить, нет ли уже точно таких или схожих более, чем на 80%.
PM WWW   Вверх
maxim1000
Дата 15.11.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



а что за тексты?
и в каком смысле схожесть? (по смыслу, по набору используемых слов)

без этого вряд ли получится что-либо предложить...


--------------------
qqq
PM WWW   Вверх
Wowa
Дата 15.11.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(maxim1000 @  15.11.2006,  11:58 Найти цитируемый пост)
а что за тексты?

статьи на разные тематики


Цитата(maxim1000 @  15.11.2006,  11:58 Найти цитируемый пост)
и в каком смысле схожесть? (по смыслу, по набору используемых слов)

По смыслу. Набор используемых слов обычно будет почти одинаков.
PM WWW   Вверх
maxim1000
Дата 15.11.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



по смыслу сложно...
от copy-paste разных кусочков ещё можно пробовать защититься
а от от переписывания своими словами (не просто синонимами, а нормальным пересказом) - сомнительно
(хотя я этой областью особо не интересовался, может, что-то и придумали)


--------------------
qqq
PM WWW   Вверх
SoWa
Дата 16.11.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Придумал сегодня в трамвае.
Метод таков, что без определенного словарика не обойтись.
Разбираем все предложения в исходном тексте и в том, который сравниваем, по членам предложения(подлежащее, сказуемое, дополнение, обстоятельство, и др.). Составляем связную базу каждых членов(база подлежащих, сказуемых, где Бсказ(i)<->Бподл(i)).
Затем гоним перебором сравнение по базам подлежащих, сказуемых, др. Причем, при сравнении могут работать логические структуры И, ИЛИ, НЕ.
Например
Код

ЕСЛИ (Бподл(i) И Бсказ(i))=(Бподл(j) И Бсказ(j)) ТО...

Или можно какой-нибудь изоморфизм баз найти.

PS
Это только поверхностное представление решения проблеммы. К сожалению, на реализацию нету времени. Первый курс, как никак.
СУВ, SoWa.

Это сообщение отредактировал(а) SoWa - 16.11.2006, 20:43


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Wowa
Дата 17.11.2006, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Разбирать по словам конечно же наверно придется. Мало того, это просто необходимо ИМХО, чтобы обеспечить более быстрый поиск по базе.
А текстов на самом деле будет не два, а много тысяч, часть из которых одинаковые или схожие будут.

Вопрос в том, как это все записывать в таблицу. 
Или в таком виде:
Код

Слово|ИД текста
Слово|ИД текста
Слово|ИД текста
...


Или в таком: 
Код

Слово|ИД текстов через запятую.


Как вы думаете лучше?
PM WWW   Вверх
Medved
Дата 18.11.2006, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



Можно разбивать тексты на блоки определенной длины, и искать эти блоки в базе данных по like.
Можно брать статистику слов. Ну к примеру если в статье встречается одинаковое кол-во одинаковых слов, тогда они похожи. Но тогда нужно сохранять кол-то слов в каждой статье. Что-то типа индекса делать. 

Пока вижу такие выходы.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Wowa
Дата 18.11.2006, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



Цитата(Medved @  17.11.2006,  23:36 Найти цитируемый пост)
Можно брать статистику слов. Ну к примеру если в статье встречается одинаковое кол-во одинаковых слов, тогда они похожи. Но тогда нужно сохранять кол-то слов в каждой статье. Что-то типа индекса делать. 

Да-да, именно так имхо лучше всего.
PM WWW   Вверх
SoWa
Дата 19.11.2006, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Код

Сова идет кушать Медведа.
----
Медвед идет кушать Сову.

Похожи? smile
ИМХО совершенно разный смысл. А вот разбор по членам предложения прокатит.

PS
Брутфорс никогда не рулил в подобных делах

Это сообщение отредактировал(а) SoWa - 19.11.2006, 19:42


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Medved
Дата 19.11.2006, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: нет
Всего: 154



Цитата(SoWa @  19.11.2006,  22:41 Найти цитируемый пост)
Похожи? smile
ИМХО совершенно разный смысл. А вот разбор по членам предложения прокатит.

эти два текста похожи на 50%


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
esperant0
Дата 19.11.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(SoWa @ 19.11.2006,  19:41)
 

PS
Брутфорс никогда не рулил в подобных делах

Не верно.


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
Exception
Дата 19.11.2006, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: нет
Всего: 186



Цитата(Medved @  19.11.2006,  22:38 Найти цитируемый пост)
Цитата(SoWa @  19.11.2006,  22:41 Найти цитируемый пост)
Похожи? smile
ИМХО совершенно разный смысл. А вот разбор по членам предложения прокатит.

эти два текста похожи на 50% 


ИМХО, даже на 90%. Потому что и там, и там говорится об одних и тех же вещах.
PM   Вверх
SoWa
Дата 20.11.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



esperant0, сложность построения логической структуры будет в несколько раз меньше сложности сравнения перебором(Берем текст, считаем каждое слово, сравниваем еще , допустим с 1000 текстов...)


Exception, А попробуй компу объясни. Нам понятно, что кто-то идет кушать кого-то. Вот и строим логическую структуру. Так схожесть будет определяться не только синтаксически, но и логически.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
tab
Дата 21.11.2006, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.10.2006
Где: RF, Dolgopa

Репутация: нет
Всего: нет



 Есть замечательная програмка - "Антиплагиат". Я не уверен, что в сети есть подробное описание приципа работы - но что-то там точно должно быть- как минимум идеалогия. Цель она преследует по сути ту же. А подход очень интересен;)

А вообще говоря вопрос не совсем корректен - 80% - это смотря как сравнивать. Разные критерии качества можно ввести;) 
PM MAIL   Вверх
Fin
Дата 21.11.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дракон->Спать();
**


Профиль
Группа: Участник
Сообщений: 687
Регистрация: 4.1.2006

Репутация: 1
Всего: 10



Есть способ для быстрого определения 100 процентной схожести. Для каждого текста считаются контрольные суммы, например по методу CRC32. И затем по базе уже производить поиск всех текстов с равной контрольной суммой и равной длиной. И уже над этими записями делать дополнительную проверку.

Для анализа текстов на процент меньшей схожести. Я думаю нужно разбивать текст на логические лексемы (слова) И делать словарь, в каких текстах в базе данные лексемы встречаются. Для английского языка это будет практически легко сделать. Для русского намного сложнее: так как иногда форма слова очень сильно изменяется в зависимости от склонений и т.п. 


--------------------
Пролетал мимо.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1026 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.