хочу сюди!
 

Людмила

56 років, водолій, познайомиться з хлопцем у віці 44-57 років

Замітки з міткою «тыц»

О словоформах Яндекса

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

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

Машинные словоформы
В русском языке несколько сотен тысяч слов, каждое из которых имеет по несколько десятков словоформ, причем каждая из них имеет полдюжины свойств (род, число, падеж, форма и т.д). Например, любое прилагательное может находиться в семи падежах, в краткой форме, в трех родах, двух числах, в сравнительной и превосходной степени, быть одушевленным или нет. В итоге, прилагательное может иметь аж 8 x 4 x 2 x 2 + 1 = 129 cловоформ, причем, больше половины из них будут иметь разные окончания.

В некоторых бумажных морфологических словарях, чтобы сэкономить место группируют слова по окончаниям в так называемые морфологические группы. Например, слова "великий" и "могучий" имеют в одинаковых словоформах одинаковые окончания. Эти группы нумеруют и для слова указывается только его начало общее для всех словоформ и его морфологическая группа: "Могучий. могуч*, группа 21".

В большинстве электронных баз поступают также. На вариант с сохранением всех словоформ отдельно нужно около 500 МБ памяти, на второй (с группами) - около 10ти. В принципе, 500 МБ для сервера не так уж много, однако морфология Яндекса писалась где-то лет десять назад. А в это время для нескольких сотен серверов покупка такого объема памяти могла обойтись в копеечку.

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

Словоформы и синонимы
Хотя зачем гадать? Словоформы одного слова выделяются в результатах поиска жирным. Однако вместе с ними выделяются еще и синонимы. Поэтому мы не можем сказать определил ли поисковик слова в снипете и запросе как словоформы или попросту счел их синонимами. В Яндексе оператор плюс отключает подсветку синонимов, оставляя только подстветку словоформ. Убедиться в этом можно набрав запросы "гостиницы Одессы" (слово "отель" будет подсвечено) и "+гостиницы Одессы" (слово "отель" не будет подсвечено).

Большинство современных морфологических баз ведут свое начало из морфологического словаря Зализняка, в котором для экономии места были введены морфологические группы. Однако группировка в нем, обладает некоторыми "артефактами", например, глаголы и их причастия и деепричастия (купить/купивший) - это словоформы, а глаголы совершенного и несовершенного (делать/сделать) вида - нет.

Так или иначе, я проверил Яндекс на все известные мне "артефакты" базы АОТ.ru, с которой я работал, и все из них Яндекс содержал. Правда, Яндекс использует базу "синонимов", в том числе и для того чтобы исправить разницу в человеческом и машинном восприятии словоформ. Например, при запросе "делать дымовую шашку" подсвечивается и слово "сделать", однако стоит добавить плюс перед словом "делать", и подсветка "сделать" исчезает, а "делать" остается.

Словоформы Google
Английская морфология не так могуча и велика: у слов всего несколько словоформ. Поэтому оптимизация памяти не оправдывает группировку слов. И, вполне возможно, что для общности кода с английской версией русская морфология Google написана без использования морфологических групп и поэтому была лишена "артефактов" Яндекса.

Google в отличие от Яндекса по запросу "сделанный" не ищет слово "сделать". Например, наберите "как правильно сделанный клизму" в Google и Яндекс. Другой пример: отключить подсветку слова "сделать" по запросу "делать" в Google у меня никак не получилось, хотя почти всегда Google подсвечивает только словоформы. Следовательно, для Google "делать" и "сделать" - это словоформы, а не что-то вроде синонимов как у Яндекса.

Как бы парадоксально это бы ни звучало, русская морфология Google реализована правильнее чем у Яндекса. И вся ирония в том, что это следствие английского происхождения Google. Морфология Google именно "правильнее", но не факт, что "лучше". У кого выдача релевантнее - спорный вопрос. Ровно как и то, что должно выдаваться по запросу "как правильно сделанный клизму".

Разница в ранжировании
Подсветка и неподсветка с помощью плюса словоформ говорит лишь о разнице в восприятии их Яндексом: часть словоформ определяется морфологией сразу, часть из связей по типу синонимов. Вполне вероятно, что Яндекс учитывает морфологические и синонимиальные словоформы одинаково и разницы в ранжировании может не существовать.

Сейчас нет метода общепринятой оценки разницы выдачи и программных средств для его расчета, а вручную оценить выдачу по нескольким сотням запросов — проблематично. Этим способом доказать, что существует разница в ранжировании разных типов словоформ, нет. Можно найти этому только косвенные подтверждения.

Число найденных страниц, если запрашивать машинные словоформы, отличается не больше чем на 1%, а если запрашивать словоформы-синонимы, обычно, разница в 10-30%.

"сделать яндекс стартовой страницей" - 5 млн.
"сделал яндекс стартовой страницей" - 5 млн.
"делать яндекс стартовой страницей" - 7 млн.
"делал яндекс стартовой страницей" - 7 млн.

Также сравнить изменения в выдаче в Яндексе и Google. Разницы в выдаче по запросам "как правильно сделать клизму" и "как правильно делать клизму" в Google почти нет, а в Яндексе только 2 страницы остались в первой десятке и то значительно поменяли свои позиции.

Существуют некоторые слова, которые подсвечиваются странным образом. Например, для слова купить словоформы его несовершенного вида (покупать) подсвечиваются и при наличии плюса. Другими словами, Яндекс ввел для этого слова исключение в поиске, хотя для WordStat это два разных слова. Если же выдача по синонимам и словоформам была бы аналогичной, не было никакого смысла делать исключение для этого слова.
Слово "купить" довольно часто встречается в запросах (40 млн. показов в месяц по Вордстат), и дополнительные действия для улучшения его ранжирования вполне вероятны. Однако непонятно каким образом улучшается выдача от введения прямой связи слов "купить" и "покупать", допустим, разработчикам или асессорам виднее. Нам нужно найти еще одно исключение, в котором улучшение выдачи очевидно.

И это исключение "варить" и "варка". По Вордстату у "варить" миллион показов, а у "варки" не более 100 тысяч. Однако, если к статье не приложит руку сеошник, то она будут называться "варка кофе", а не "как варить кофе?". Здесь польза для ранжирования очевидна.

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

ВЧ запросы
Подсветка синонимов отключается не только при использовании плюса. Если мы наберем "гостиницы Москвы", то подсветки отелей не будет, а если "гостиницы Москвы центр" или "гостиницы Одессы" - то она включится. Следовательно, существует определенный порог, после которого синонимы в выдачу не включаются, чтобы ее не ухудшить. Этот порог, скорее всего, зависит от числа страниц в индексе либо релевантности первых страниц выдачи, а не от частотности запроса.

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

Разные части речи не могут быть слоформами друг-друга
Актуально для Яндекса и Google
Покупатьпокупкапокупатель
Красавецкрасивый
Сильный ударсильно ударить
Исключения для Яндекса: варить и варка, а также причастия, деепричастия и глаголы
Все словоформы существительных одного рода.
Актуально для Яндекса и Google 
Красавецкрасавица
Поварповариха
Превосходная степень прилагательных - одна из словоформ
Актуально только для Яндекса
Красивый=Красивейший=Красивейшая=Красивейшую=...
Хороший=лучший
Надежный=Надежнейший=...
Однако, прекрасныйкрасивый (это просто синонимы)
Сравнительная степень прилагательных - одна из словоформ
Актуально для Яндекса и Google
Красивый=красивее
Надежный=надежнее
Исключение для Google: хорошийлучше. Эту словоформу Google относит к превосходной степени (лучший).
У Google группировка слов происходит чисто по интуитивному сходству слов, а не по формальным правилам русского языка. Это хорошо видно по «хороший» и «лучше», для всех остальных прилагательных сравнительная степень отнесена к обычной, а не превосходной форме.

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

P.S. 
Указывая на сходство структуры морфологической базы Яндекса и словаря Зализняка, я никоим образом не намекал на плагиат. По принципу Анны Карениной способы правильной реализации чего-либо похожи. Более того, принцип структурирования чего-либо не может быть объектом авторского права.