Ура! Вот тут мы уже начали говорить о настоящем интеллектуальном поиске! Конечно, циклы - это главная проблема, но есть более-менее простое решение: при встрече цикла эту ветку сразу закрывать, а продолжать строить представление о мире по другим веткам. Именно представление о Мире! Тогда возникнет еще одна серьезная проблема - ОЗУ и скорость работы. Представьте, что будет с обработкой одного слова, если программа начнет ходить по всем веткам из своего толкования. Это может достичь объема равного самой базе слов. Но с другой стороны, база слов для компьютера - это не такой уж значительный объем. Если ему просто задать чтобы он сам построил структуру связей на основе того же простейшего толкового словаря, то уже буде сделан прорыв в области смыслового поиска. Тут конечно работка для математиков в первую голову.
Судя по топику (особенно вначале) большинство современных поисковых систем используют коды он Keva (он сам об этом говорит). Действительно ли это оптимальный код? Разумеется, вопрос не к разработчику. Тем не менее, я вовсе не против такого положения. Возможно, Андрею нужна помощь? Почему бы не объединить все усилия в один проект. Ведь ясно, что лет через несколько из всех поисковых технологий будет выбрано всего несколько. Авторов назовут отцами компьютерной морфологии (это уже, практически, негласно сделано). А зачем эта конкуренция? Вопрос, конечно больше философский:-)
Тем не менее, хочу задать вопрос прямо Keva. Какие у вас планы? Чем в данный момент занимаетесь? Нужна ли помощь, и какая?
С уважением, Павел.
Если я верно понимаю, то это "конкорданс". А еще есть программа Абриаль (там, конечно многое надо руками ваять), но что-то в этом есть. Но, разумеется, все это не претендует на "...включающей каждый существующий в мире объект...", но, тем не менее, серьезные шаги вперед!
Я этим и планирую заняться:-) Анар, я вовсе не ругаю поисковые системы. Просто, легче учиться на ошибках других. Вот и устроил опрос с целью подытожить недостатки. (О достоинствах прекрасно говорится на самих сайтах разработчиков). А поиск картинок и музыки я действительно представляю, как интеллектуальную систему. В часности, есть программа DPEG, позволяющая производить поиск дубликатов (похожих) графических файлов на жестком диске.
Конечно, в этой области еще пахать и пахать. Но, как говорится, ставьте очень высокие цели, а течение жизни снесет.
А что вы имели в виду, когда сказали, что Яндекс понимает словосочетиния? Я этого не вижу:-( Неужили, если слова стоят в разных концах предложения, но являются при этом, например, подлежащим и сказуемым, они найдутся, как смысловые словосочетание?
Вообще, я вижу три основные по смыслу группы понятий, которые могут заинтересовать пользователя посковой системы:
1.ПРЕДМЕТ
2.ДЕЙСТВИЕ
3.КАЧЕСТВО
На основе этих понятий можно построить следующую схему содержания
1-2-уровней:
1.ПРЕДМЕТ (П). Означает предмет в широком смысле: лицо, предмет,
явление, понятие, и т.д., в т.ч. - действие или качество.
1.1.Предметы, описывающие различные аспекты П.
1.2.Действия, совершаемые над П.
1.3.Действия, совершаемые П.
1.4.Качества П.
2.ДЕЙСТВИЕ (Д). Сюда входят любые действия, в т.ч. протекающие сами по себе,
без их производителя.
2.1.Предметы, над которыми осуществляется Д.
2.2.Предметы, которые осуществляют Д.
2.3.Качества Д.
3.КАЧЕСТВО (К). Сюда входят качества предмета и качества действия.
3.1.Предметы, имеющие данное К.
3.2.Действия, имеющие данное К.
Хотелось бы все это обязательно реализовать.
Да, open-source не решает проблему технологии, но куда проще будет жить, появись в сети несколько готовых бесплатных программ со словарями и исходным кодом. Другие, кто неважно разбирается или не успевает разобраться с, например, морфологией, воспользуются этими наработками, и создадут что-то более существенное. Некоторые с радостью будут пополнять словари и оттачивать код. И кто же купит у переписчиков программы, когда они и так бесплатно лежат в Сети. А что касается продаж измененных тем... Линукс тоже продается...
Для начала Яндекс и Рэмблер, хотя бы, обменялись словарями и технологиями (или уже?).
Человечество потому и прогресировало, что обменивалось информацией, в часности, технологиями. Старые поколения обучают молодое, догадавшиеся учат не догадавшихся:-)
В конце концов, все мысли, которые приходят в головы современных людей, уже существовали и существуют в пространстве. Нужно просто настроиться на нужную волну (сейчас это называется подумать хорошо). Присвоение таких мыслей (открытий) сродни присвоению коммунистической собственности:-)))
Делитесь, народ! Хочу все знать! Не деньги цель, а знание!
И ты проект делаешь на подобную тему? А что конкретно, можно узнать? Может приватно поделимся?
Бесплатные словари есть, но они очень ограниченные. Нужно либо найти хороший словарь, либо делать вероятностный метод.
Open Source - это мечта. Вот думаю, что если напишу когда-нибудь что-то стоящее, обязательно поделюсь со всеми желающими. А сейчас приходится по обрывкам фраз Гуру только догадываться о технологиях, пытаясь повторить шаги уже многих. Никто же не отдаст свой хлеб на халяву. Спросил, к примеру, где взять словарь парадигм, мне сразу посоветовали купить.
Вот и топчемся на месте по ясным причинам.
Зачем же так? Вас удивит, что словарь парадигм пополняется автоматически на осносе вероятностного алгоритма? Или строится информационный портрет документов на основе которого потом идет поиск (ГалактикЗум технология)?
Есть еще одна интересная задача - словосочетания. Когда в поисковом сервере вводишь два слова, то, в лучшем случае, выдается документ содержащий оба этих слова рядом. В худшем, слова могут вообще находиться в разных разделах одно документа или вообще, содержащий только одно из искомых слов.
Хочется сделать возможным поиск по словосочетаниям. Именно, грамматически правильными, а не просто рядом стоящие слова.
Проверить словарь - это хорошо! А где бы найти готовые, проверенные, по возможности полные словари?