Термокружки

Google учит русский язык

15.02.2006

Новость о том, что Google начал распознавать морфологию русского языка, прошла как-то незаметно

Приблизительно год назад на конференции компании NetPromoter “Кибермаркетинг. Стратегия и тактика продвижения ресурса” автор данной заметки дискутировал о перспективах Гугла в Рунете с представителем одной из ведущих российских поисковых систем, и когда речь зашла о перспективах введения Google’ом поддержки морфологии русского языка, мнения разошлись. Я настаивал на том, что это произойдет в ближайшее же время, мой оппонент – на том, что это вряд ли случится вообще, а если и случится, то вряд ли будет иметь какое-то значение. Как рассудило время, оба мы оказались не правы: это все же произошло, хотя и не так быстро, как я предполагал, и, конечно же, далеко не с тем качеством.

Новость о том, что Google начал распознавать морфологию русского языка, прошла как-то незаметно. Пока не существует ни официальной, ни полуофициальной, ни даже какой-либо достоверной информации об этом, безусловно, важном событии – только несколько заметок в блогах или даже просто в комментариях блогов. Оптимизаторские форумы в большинстве своем молчат или недоумевают, но можно предвидеть, что намечается что-то очень серьезное. При введении запроса на русском языке в Google.ru (не пытайтесь делать это на других серверах, например, Google.com  – там это не работает) возвращаются результаты, в которых отчетливо наблюдается факт того, что Google распознает различные падежи, числа, формы глаголов и другие лингвистические прелести. Так, при запросе "уехать в канада" в результатах поиска выделяются различные словоформы как слова "канада"– "канаду", "канаде", "канады", так и слова "уехать" – "уехал", "уехали" и т. д.

Грешным делом у нас сперва зародилось подозрение, что это всего лишь приспособленный под русский язык стемминг – технология, используемая для анализа английского языка. Но давайте для начала остановимся на различии в подходах к анализу различных языков.

Как известно, русский и английский языки принадлежат к двум различным группам, а, следовательно, и к их анализу следует подходить по-разному. Русский язык принадлежит к группе флективных языков – различные словоформы образовываются с помощью окончаний. Например, русское имя существительное может принимать шесть падежей в единственном числе, и шесть – во множественном. Таким образом, одно и то же существительное может встречаться в 12 различных формах на одной и той же странице. Кроме того, некоторые словоформы могут образовываться с помощью изменения основы слова, например "что – ложь; чего – лжи". Для эффективного анализа русскоязычного текста поисковые машины должны использовать сложные лемматизирующие алгоритмы. Такой алгоритм предусматривает, что по определенным правилам составляется лемма слова, то есть набор всех его словоформ, и подсчитывается количество вхождений данного слова в текст документа. По такому принципу работают ведущие российские поисковики, тот же принцип используется при анализе страниц нашим программным обеспечением. С английским ситуация немного проще, поскольку падежей меньше, корни слов изменяются только в исключительных случаях, например, в неправильных глаголах. Для анализа английских текстов поисковые машины используют стемминг, то есть анализ по основе слова. Все основные российские поисковые машины хорошо справляются с анализом русской морфологии, но для англоязычных поисковиков русский до сих пор был проблемой – для того, чтобы включить поддержку русского, нужно было полностью менять систему анализа текстов, дописывать алгоритм анализа морфологии. Следовательно, Гуглу было бы проще «прикрутить» русский стемминг к существующему стеммингу английского и нескольких других европейских языков, поддерживаемых Гуглом, чем разрабатывать и внедрять абсолютно новый алгоритм.

Так что же сегодня происходит на Гугле? Какая технология обработки русского языка используется? Давайте внимательнее присмотримся к тому, что творится в выдаче Гугла. При запросе таких слов, как "ты", "я", Гугл выдает результаты, в которых встречаются такие формы указанных слов, как "тебя", "меня" и так далее. Однако при запросе по слову "лгать" начинаются проблемы. Так, Яндекс выдает документы, которые содержат словоформы "лгут", "лжет", в то время как Гугл – нет. Еще более странные вещи обнаруживаются при просмотре кеша Гугла по найденным словам. Те слова, которые совпадают с заданной вами формулировкой, выделяются, в то время, как словоформы, не совпадающие с заданной формулировкой запроса, в кеше не выделяются. Более того, если на странице нет ни одного слова, совпадающего с заданной формулировкой запроса, выводится стандартное сообщение о том, что «данные слова были найдены в ссылках, ведущих на страницу». Конечно, можно списывать такие несостыковки на то, что алгоритм является еще сырым, тестируется, но, кажется, существующие факты свидетельствуют об одном  – Google использует улучшенный стемминг для работы с русским языком, это пока не полноценный анализ русского языка с учетом морфологии.

Похоже, прав был мой оппонент на конференции – с тем качеством, как реализована морфология Гугла сейчас, русским поисковикам, действительно, опасаться пока нечего. Несомненно нововведение улучшит релевантность обслуживания русскоязычных запросов, более-менее полноценная поддержка русского языка сослужит хорошую службу для популяризации таких коммерческих проектов Гугла как AdWords и AdSense, которые были представлены Рунету без малого год назад, но работают пока через пень колода, ввиду того, что их русификация была осуществлена в основном только по части перевода интерфейса.  В любом случае, у оптимизаторов теперь появится еще одно интересное занятие – исследование того, как работает обновленный гугловский алгоритм. Можно предвидеть, что с точки зрения поисковой оптимизации разница между подходом к оптимизации для «наших» поисковиков и для «буржуйских» будет сведена к минимуму. А выиграют от этого как пользователи Гугла, так и владельцы сайтов, не говоря уже о самом Google, который, несомненно, найдет новых пользователей в России. Вопрос, на мой взгляд, состоит в том, что хорошая идея введения учета русской морфологии была реализована крайне некачественно.

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

Неизвестно, остановятся ли разработчики на достигнутом, или будут совершенствовать систему, доводя ее до уровня работы Яндекса или Рамблера, но сам факт того, что Гугл, с его огромной базой проиндексированных документов, обширной системой сервисов, среди которых приобретающий все большую популярность почтовый сервис Gmail, Pay-Per-Click сервисы AdWords и AdSense, делает пусть пока не большие шаги в направлении русского рынка, говорит, как минимум, о том, что этот рынок находится в зоне его интересов.

Стоит ли русским поисковикам опасаться конкуренции Гугла? Мнения расходятся. Поживем-увидим. А точка в споре, зародившемся на конференции, еще не поставлена.


ДОБАВИТЬ комментарий
Вы не авторизованы. При отправке сообщения, в качестве автора будет указан "Гость". Вход | Регистрация
Защита от спама * :

Введите символы на картинке