После несколько формального прошлого вступления о поиске расскажу немного о Google и себе. Главное достоинство нашей компании – это люди. Здесь собрано огромное количество победителей математических олимпиад и соревнований по программированию, да и просто много интересных людей. Например, я тесно работаю с человеком, который стоял у основания ЖЖ.
У меня самого хорошая школа успешных выступлений на международных соревнованиях (школьных, студенческих, TopCoder, Google CodeJam'ы и т.д.). Пока я учился в Киеве, даже успел поработать интерном в Yahoo! После окончания магистратуры пришлось выбирать между аспирантурой и работой в Google. Совсем не жалею, что выбрал второе, ведь здесь столько возможностей для исследований и гораздо больше вычислительных ресурсов, чем в любом университете. Кроме того, результатами моей работы могут пользоваться миллионы людей.
Наша группа, International Search Quality, отвечает за качество поиска на всех языках и во всех странах мира, включая, конечно же, русский. Еще до прихода сюда, я всегда пользовался Google. Да, Google тогда не учитывал морфологию русского языка, но все равно давал результаты лучше, чем другие, даже когда я искал на русском. Сейчас же мы умеем обращаться с морфологией и знаем другие особенности русского. Поэтому, когда это нужно, мы ищем не только слова из вашего запроса, но и их различные формы.
Реализовать морфологию было довольно просто, но традиционные подходы имеют множество недостатков. Мы же выбираем алгоритмы, которые в первую очередь улучшают качество результатов реальных пользовательских запросов и избавляют вас как от необходимости набирать различные варианты одного запроса, так и от просмотра множества не интересующих вас страниц.
Мы постоянно изменяем и совершенствуем наши алгоритмы и пополняем арсенал трюков по обработке слов. Например, традиционная реализация русской морфологии не поддерживает множество других полезных преобразований слов. Теперь же, например, для запроса как лечить ожог будут также найдены страницы, содержащие лечение ожогов, для звон колокола - колокольный звон, для футбол английский чемпионат – чемпионат Англии по футболу, а для русификация ICQ - русификатор ICQ.
Также чрезмерное увлечение морфологией чаще вредит, чем помогает. Поэтому мы стараемся использовать словоформы там и тогда, где это действительно нужно, и делать это как можно аккуратней. Например, готов к войне не имеет отношения к запросу война с готами, ответом на вопрос кто такие таты будет явно не тату, а для запроса мыть кошку больше подойдет мытье кошек, чем моя кошка. Кстати, вы всегда можете полностью отключить использование форм слова, поставив оператор + перед словом или взяв слово в кавычки. Например, для запроса звон +колокола или звон "колокола", будет найдено только точное вхождение слова колокола, а вот колокольный звон найден не будет.