Ashmanov

Ashmanov
Рейтинг
66
Регистрация
21.11.2000
Должность
"Ашманов и Партнёры", гендиректор

Originally posted by AlexA:
Для справки: я, в свое время, тоже показывал Игорю свои наработки. И получил не меньше тумаков от него и его сотрудников. И это не отвратило меня от моих идей. И даже кое-что получается.

А что за случай - напомните, пожалуйста?

Насчёт тумаков - слишком сильное выражение. Вроде у нас нет такого рефлекса, мы же не родственники слонёнка.

Да и здесь мы обсуждаем поиск опечаток в довольно академическом тоне, не так ли, коллеги?

Originally posted by itman:
Просто сначала я сделал вариант "грубого" поиска, а теперь еще собираюсь сделать более тонкое ранжирование, которой таки варианты, как фуджицу и фуджитсу будет учитывать.

n-граммы здесь не причем поиск идет по количеству очепяток в чистом виде.

А всё-таки - зачем нужен этот поиск опечаток?

Тем, кто раскручивает сайты (или свой сайт), нужен анализ запросов, то есть того, что ищут посетители, а не того мусора, что есть в сети. Для такого анализа есть Яндекс-Директ и Рамблер-Ассоциации.

Поисковая же машина не должна искать опечатки, потому что этот поиск сильно ухудшает качество. Объяснение простое:

а) полнота не растёт, потому что в подавляющем большинстве случаев на той же странице есть также и правильно написанное то же самое слово.

Опечаток, даже в Интернет-текстах, в среднем 2-5 на странице, то есть не более двух процентов.

Случай, когда слово сильно релевантно, при этом - одно на странице, да ещё при этом содержит ошибку - просто очень маловероятный.

б) поиск опечаток сильно ухудшает точность. Для проверки возьмите короткое слово в русском Ворде, удалите букву и нажмите F7. Получите список из десятков правильных вариантов. Ну и что - все их искать?

Это я к чему говорю: построение сколько-нибудь нормального подбора вариантов - дело очень трудное и долгое, много прикладной лингвистики придётся изучить. Замена "ц" на "тс" - ещё цветочки.

Потом придётся побороться с ранжированием вариантов по наибольшей распространённости (а как узнать частотность?), комбинаторным взрывом и так далее. Капитализация, буква -ё-, вставка пробела, замена похожей латиницы, прочие ужасы.

Для того же подбора для Ворда мы в своё время потратили-таки полгодика. И то - были люди в наше время, богатыри...

А зачем убиваться-то? Какой физический смысл этой функции для пользователя? разве что самому размяться, молодую силушку потешить.

Originally posted by AiK:
В Яндексе этого сайта нет вообще, хотя есть пять ссылок на него. И он там появится, где-то через недельку. И будет находиться на первой странице результатов поиска. Только поздно пить боржоми, когда почки отвалились. © народная мудрость.

Несмотря на копирайт, позволил себе поправить ошибки в цитате.

Я думаю, пример неудачный и выводы преждевременные. Я разговаривал с Сергеем Брином, когда они предлагали нам в Рамблере лицензировать Гугл. А потом переписывался с его коммерческим человеком Янгом. Они могли гарантировать переиндексацию только раз в месяц. Вряд ли с тех пор Гугл стал так частить, об этом бы написали.

Я думаю, просто повезло - сайт или страница в момент публикации оказались близко к переиндексации Гугда, а Яндекс пробежал до незадолго этого.

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

Я думаю, Яндекс не хуже или лучше Гугла по этому параметру.

Рамблер же действительно стал обновляться медленно, из-за нехватки техники.

[This message has been edited by Ashmanov (edited 25-12-2001).]

Originally posted by Bamboo:
Это первая российская поисковка использующая алгоритмы "Нечеткого поиска".

Фича, может быть, и полезная - посещаемость раздела покажет.

Два комментария:

1. К нечёткому поиску данная функция имеет только маркетинговое отношение. В чём же тут нечёткость? Это обычный поиск по шаблону (с wildcards).

Нечёткий поиск - нечто совершенно другое, когда вычисляется некая мера смысловой близости текста к запросу при том, что не все слова запроса вообще входят в релевантный текст.

2. Пунто - далеко не первый поисковик, который работает с опечатками, транслитерированием и т.п. Это давно делают Яндекс, Апорт. Смотри также модуль ОРФО в составе Microsoft Office.

Правда, все они сразу же проверяют варианты по словарю, чтобы снизить количество шума.

Другое дело, что поиск именно опечаток в обычном поисковике теоретически неверен и практически вреден, что легко доказать (опечатки статистически незначимы, то есть полноту не повышают, а их поиск создаёт значительный шум, то есть снижает точность).

<font face="Verdana" size="2">Originally posted by EDS:
ребята - используйте для таких целей логические языки программирования
Вот небольшая статья на моем сайте
www.icreator.ru
</font>

Два замечания:

а) проблема машинной морфологии не имеет никакого отношения к используемым инструментам. Какая разница голодному, чем мазать масло на хлеб - ножом, ложкой или вилкой? Было бы масло. А намазать нужно ровно один раз. Притом, предлагаемый метод как раз подобен намазыванию масла сапогом.

Маслом же являются лингвистические данные.

б) в приведённой статье с самого начала сделано довольно грубое, но скрытое допущение. Там как единственный возможный путь предлагается создание БЕССЛОВАРНОЙ морфологии, а всё, что не ложится в эту схему, называется исключениями или дополнениями.

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

На самом деле, большинство используемых в боевых сервисах машинных морфологий - словарные, то есть использующие словарь основ с морфинформацией при них.

И это не случайно - бессловарные морфологии дают много шума, и дают только довольно низкокачественную нормализацию, то есть определение основы.

Но не позволяют от косвенной формы слова перейти к другим косвенным формам, то есть восстановить ПАРАДИГМУ лексемы.

Ну и чередования в основе (писать-пишу) и супплетивизмы (быть/есть)бессловарной морфологии не под силу.

То есть, это дешёвое, наколеночное решение при отсутствиии ресурсов у разработчика. Использовать по бедности можно, но будет шум. "Бином" будет распознаваться, как творительный от несуществующего "бин", "кровать" опять же и так далее.

<font face="Verdana" size="2">Originally posted by mager:
Правильно ли я понимаю...
</font>

Нет, Вы понимаете алгоритм неправильно. Вот как на самом деле:

а) Поиск производится параллельно по Тор100 и по большому индексу. Они абсолютно независимы и выводятся в отдельные области экрана. Просто потому, что настоящее замешивание результатов на лету слишком дорогая по времени операция. У Яндекса - то же самое.

б) Найденные статьи в Тор100 упорядочиваются по посещаемости (хостам) (а у Яндекса по CY). Первые пять ссылок или меньше выводятся первыми на первой странице (а у Яндекса - три), и больше нигде ссылки из Тор100 не используются.

в) Меньше ссылок из Тор100 бывает, если не достигнут предопределённый порог посещаемости.

г) Ниже идут ссылки из большого индекса, где влияет только релевантность.

Какие именно сейчас пороги и т.п. - сказать трудно, так как это всё время меняется - идут эксперименты. Во-первых, из-за начавшегося поискового спама в аннотациях Тор100, во-вторых - из-за вообще плохой ситуации с техникой, персоналом и индексацией в Рамблере.

Кстати говоря, на прошедшей неделе Яндекс в среду-четверг вдруг отключил замешивание каталожных ссылок, а в пятницу включил снова. Почему, можно только гадать. Либо это попытка вообще избавиться от этого алгоритма (Сегалович давно грозился), либо просто технический сбой. Релевантность при таком отключении, естественно, упала, и посещаемость счастливчиков с хорошей аннотацией в Яндекс-каталоге - тоже.

В Рамблере замешивание Тор100 также отключалось в октябре на день-два, но там точно известно, что просто из-за пиков нагрузки.

Кстати. Была интересная программа у МедиаЛингвы (мною со товарищи в 1997 и сделанная), которая выполняла "смысловое сжатие" текста и составляла аннотации текстов или выбирала самые важные термины.

Программа называлась Либретто. Я сам, когда ещё был совладельцем и гендиректором МЛ, придумал это название и зарегистрировал по всем компьютерным категориям. Потом, уже после моего ухода, МедиаЛингва всё же вытребовала с Тошибы 70 килобаксов за нарушение прав на имя (Тошиба стала ввозить и продавать Либретки, не имея права на товарный знак, который уже принадлежал МЛ) и название сняла. Но МЛ проект не только переименовала, а куда-то вообще задевала.

Не знаю, может быть, программа есть ещё где-то в сети в бесплатном виде (была и широко раздавалась одномесячная пробная версия). Нужно поискать Libretto вместе с MediaLingua, вдруг повезёт.

<font face="Verdana" size="2">Originally posted by AiK:
Классная статья.
Вот маленькая цитата
Обычно полноценный словарь для русского языка должен включать не менее 100-120 тысяч основ слов, а таблицы окончаний – не менее нескольких сотен наборов эквивалентных окончаний.
Такой словарь мне в одно жало не составить.
Кстати, пользуясь случаем хочу спросить у автора, какая "первая" форма глагола "трусь"?
Неужели можно надеяться, что Рамблер осилит большую часть написанного?
</font>

От автора статьи: правильный ответ уже дали. Трусь - одновременно форма глагла "тереться" и "трусить". В некоторых морфологиях омонимия такого рода не заложена и я сам был свидетелем зависаний программ на этом примере.

В русском при построении аккуратной машинной морфологии главная проблема, конечно, супплетивизм, то есть случаи, когда разные основы слов не имеют ни единой общей буквы в основе (сакраментальные человек/люди, ребёнок/дети и так далее). То же в немецком, только хуже (глагольные аффиксы ge-и отделяемые приставки).

Рамблер на 100% со всем описанным не справляется, да это и не нужно. Морфология там в общем работает, а главные проблемы - с обновлением индекса, и во вторую очередь с релевантностью.

Про морфологию:

Русский морфологический словарь Лебедева под Юникс/Линакс вполне доступен и бесплатен:

ftp://mch5.chem.msu.su/pub/russian/ispell/rus-ispell.tar.gz

Вот старинный (1998) список доводок:

Hа ftp-сервере помещена новая версия словарей для ispell (0.98e). Основные изменения по сравнению с предыдущей версией (0.98d):

* проведена проверка склонения всех существительных с помощью других

программ проверки правописания, исправлены практически все найденные

в словаре ошибки (неправильно склоняемые существительные;

существительные, не имеющие множественного числа)

* добавлены ключи /F, /H, /J для существительных, используемых

только в единственном числе

* сделаны добавления правил в ключи /S, /Y, /Z

* исправлены мелкие ошибки в .aff-файле

* немного переделан Makefile

* добавлены новые слова, число образуемых словоформ сейчас составляет

440 тысяч

Проблемы:

* осталось небольшое количество существительных, для которых словарь

генерит "избыточные" формы (нестандартно склоняющиеся во мн.ч. слова

типа лес &gt; леса, луг &gt; луга: возникают "лесы", "луги")

* остались проблемы с существительными, не применяемыми во

множественном числе: другие программы проверки правописания считают

их правильными. Такие слова потихоньку вылавливаются

Ближайшие планы:

* проверка других слов (прилагательных, глаголов) с помощью других

существующих программ проверки правописания

* пополнение словаря новыми словами

Не знаю, выполнил ли автор программы эти планы в далёком 1998...

Можно поискать ispell в Рамблере или Яндексе, чтобы найти описание возможностей.

[This message has been edited by Ashmanov (edited 16-11-2001).]

<font face="Verdana" size="2">Originally posted by Mark Adamenko:
Как часто Вы обновляете базу? Неужели раз в три-четыре месяца? И существуют ли какие-нибудь привелегии для каких-нибудь сайтов(например как у Яндекса для новостных?)?
</font>

Ну, я вроде не рамблеровец, но позволю себе ответить. А то оставшимся в лавке будет неудобно.

Да, сейчас по факту - раз в 2-3 месяца. Новый индекс от 16-го октября - на самом деле летний.

Хотелось бы им быстрее, но не дают денег на технику. Раньше обновление было быстрее, но сентябрьский скачок посещаемости съел остатки места и процессорного времени.

Надеюсь, в ближайшее время ситуация исправится - что-то там из дешёвого железа прикупили-таки.

Что касается преференций для новостных сайтов - это пожалуйста: поиск по новостям Раблера обновляется пять раз в день, нужно только сайт добавить в список новостных, а ещё лучше - сделать "прокладочную страницу" со ссылками на новости и вести её самому. Однако включат в списко не каждого.

Пишите, видимо, Владу Шабанову - VS или Андрею Коваленко (keva) (см. профили - там должны быть адреса).

<font face="Verdana" size="2">Originally posted by Gray:
Насчет Яндекса - однозначно такие фокусы не нужны, он определяет, что это форма слова и ищет нормально.
Рамблер может перепутать.
</font>

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

Вопрос может быть только в том, повышается ли ранг найденного вхождения при совпадениии с запросом не с точностью до основы, а с точностью до словоформы. Обычно повышается.

По-моему, в Яндексе совпадение с точностью до падежа (или буквальное совпадение)получает ранг повыше, чем просто попадание в основу.

Замечу, что слово telephone, конечно, склоняется и в английском. Как минимум, оно имеет формы telephones, telephone's.

А слово call - формы calls, call's, calling, called. Некоторые западные искалки это знают, некоторые - нет.

Всего: 359