![]() |
|
![]() ![]() ![]() |
|
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
За контрольные суммы не согласен
![]() А вот далее у тебя написано мое мнение строгим языком. Это сообщение отредактировал(а) SoWa - 21.11.2006, 11:35 -------------------- Всем добра ![]() |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
первый раз слышу про контрольную сумму процента схожести. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Fin
Ага, а еще не будем забывать, что CRC для различных входных данных разная. И как сравнивать будем? С тем же успехом MD5 захешируем и будем довольны, а? -------------------- Всем добра ![]() |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
SoWa и esperant0 иногда думать надо, прежде чем осуждать. Контрольная сумма это Хэш функция, по которой можно определить 100 процентно схожие тексты. Да бывают коллизии. Но уже не нужно просматривать полностью всю базу, а только те тексты, у которых совпали Хэш. Чтобы не было расхождений Хэшов, например из-за лишнего пробела. Можно текст приводить к единому стилю. Например 1 пробел между словами , все буквы заглавные, никаких переносов строк. Для этого приведенного текста считается Хэш. Но в базе можно хранить текст уже в произвольном виде.
-------------------- Пролетал мимо. |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Но смотри, хеш двух таких текстов ведь будет разным:
А смысл разный: Сова кушает блюдо под названием "МЕДВЕД" А Медвед кушает блюдо под названием "СОВА" По количественной оцеке- текты одинаковы. По смысловой- разные. По хешу- черти-что вообще. PS Мы не осуждаем, мы опровергаем ![]() Кстати, esperant0, я был не прав, говоря о сложностях алгоритмов. У моего алгоритма сложность выше, чем у брутфорса. Ибо мой алгоритм- то же брутфорс, но не по тексту, а по логическим высказываниям. Т.е. я должен перебрать, а по мимо этого еще и высказывания построить(тем же брутфорсом). Но все равно останусь при мнении, что мой алгоритм определит схожесть точнее. Это сообщение отредактировал(а) SoWa - 21.11.2006, 14:46 -------------------- Всем добра ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
кстати, хеш можно использовать и для того, чтобы определить, не "навыдирали" ли части анализируемой статьи из статей в базе - разделить статью на блоки (можно с перекрытием) выбранного размера и записать их хеши...
а если по смыслу... можно ещё попробовать посмотреть статистику попарных (или более "арных") появлений слов в одном предложении - грубая аппроксимация (если вообще аппроксимация) связей между понятиями, используемыми в статье... -------------------- qqq |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Я был бы благодарен, если бы ты объяснил, что такое аппроксимация. Я бы подумал над твоим предложением.
Звучит дельно ![]() -------------------- Всем добра ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
приближение в данном случае я имел в виду, что эта статистика может нести полезную информацию о связях между понятиями и (если уж совсем оптимистами быть) всё это будет представлено в практически прямой форме: пара слов и степень связанности между ними Это сообщение отредактировал(а) maxim1000 - 21.11.2006, 15:26 -------------------- qqq |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ясно. Тогда мне кажется, что чем больше слов, тем меньше они связаны, если рассматривать аппроксимацию.
Рассматривать пары или тройки- самый оптимальный вариант. -------------------- Всем добра ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
хороший вариант был бы выделить тройку <понятие1> <тип связи> <понятие2>
-------------------- qqq |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Но опять без словарика никак. Чтобы определять, существительное это, глагол, или еще что.
Вообще можно заняться. Что я и сделаю. Скоро статью выложу. А так, было предложение сделать неполный словарь и дополнять его во время работы. -------------------- Всем добра ![]() |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
когда я предлагал, то имел в виду без словарика
т.е., конечно, мысли о разделении слов по частям речи были, но в качестве предварительного варианта - можно без словаря вообще то, что я предложил, - не метод решения задачи это всего лишь какие-то характеристики, которые можно померять, и которые могут подсказать, в какую сторону двигаться Добавлено @ 19:53 что касается дополняемого словарика, возникнут проблемы с автоматическим отнесением нового слова к какой-либо части речи Добавлено @ 19:54 так что я бы сначала сделал "по-тупому" для всех слов без разбора (включая союзы ![]() -------------------- qqq |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Хм. Как без словарика можно определить такую структуру?
Не понимаю.
Это легко. Слово встретил незнакомое- выдаст запрос- это что: существительное, глагол, наречие, др... О! Кстати, можно попробовать научить прогу различать существительные и глаголы. Тогда как определить структуру- понятно. Т.е. составлял бы структуры аппроксимации попарных и более "арных" слов и сравнивал? Для начала и это прокатит. Но уж совсем не оптимизировано. Во! Придумал. Берем такие структуры. Хешируем. Составляем текст из них. Гоним сравнение таких текстов брутфорсом. Так можно реализовать твое последнее предложение. А можно еще разок выделить структуры ![]() ![]() Это сообщение отредактировал(а) SoWa - 21.11.2006, 20:07 -------------------- Всем добра ![]() |
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Превед велосипедистам!
![]() Где научный подход? Wowa, Почитай здесь: http://www.smolensk.ru/user/sgma/MMORPH/N-...eev/andreev.htm У тебя подход, судя по задаче, должен быть похожим. Если, конечно, речь идет о текстах произвольного вида (т.е. пока не затрагиваются вопросы БД, где вид записей строго оговорен). Отталкиваемся от задачи классификации! |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Я бы упростил схему по стандартному методу, который уже много раз использовал в различных задачах. (Как уже писал в теме про антимат
![]() 1) Нормализация текста 2) Сравнение Теперь надо "развернуть" этото алгоритм по нашей задаче. 1а) Стеммер, в нижний регистр, елиминация всего, кроме слов, выкидываем предлоги итд. 1б)тезаури (маппинг синонимов); 1в) Создание общего вектора 2) Подсчёт дистанции Hamming'a Этого должно хватить в 90% случаев. Я сам удивился, когда курсач писал и похожим методом практически точно классифицировал около 500 документов (кстати идея лично моя ![]() Пример: т1: Мама мыла раму. т2: Маша мыла пол. т3: Мама купила мыло. т4: Папа чистил паркет. 1а) мам мыл рам маш мыл пол мам куп мыл пап чист паркет 1б) паркет - пол мыл - чист род - мам,пап //родители 1в) //1, если слово присутствует в тексте, 0, если нет род мыл рам маш пол куп т1: 1 1 1 0 0 0 //Мама мыла раму. т2: 0 1 0 0 1 0 //Маша мыла пол. т3: 1 1 0 0 0 1 //Мама купила мыло. т4: 1 1 0 0 1 0 //Папа чистил паркет. 2) //Дистанция - количество позиций, где вектора не совпадают Дистанция(т1,т2)=3 Дистанция(т1,т3)=2 Дистанция(т1,т4)=2 Дистанция(т2,т3)=3 Дистанция(т2,т4)=1 Дистанция(т3,т4)=2 Чем больше дистанция, тем больше тексты отличаются. Этим алгоритмом можно и два текста сравнивать. Если сравниваешь много - то получается почти алгоритм, предложенный подвалом. Как видим, даже при таком небольшом количестве слов, определяет неплохо. И, как видим, большая ответственность приходится на тезаури. Но тут ведь многое от контекста зависит. ("Ягуар" - машина, или "Ягуар" - животное) ИМХО не совсем похож.. Кластеризация и классификация текстов это слишком круто здесь. ![]() Но тут текстов не так много и функции дискриминации попроще ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |