×

Как поисковые системы нас понимают. Основы текстового анализа

Россия +7 (495) 139-20-33
Шрифт:
2 2558

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

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

Основы текстового анализа

Казалось, прежде чем Google представил RankBrain, а Яндекс – Королев, SEO-продвижение и жизнь SEO-специалистов были намного проще. Теперь мы подвержены потоку противоречивой информации от влиятельных лиц отрасли. Ситуация усугубляется тем, что представители Яндекса и Google дают малопонятную информацию о качественных сигналах и в голос твердят одно и то же: «Делайте сайты для людей».

Как отличить бесполезные советы и предположения о работе алгоритмов от реальных действующих методов? Ниже вы найдете ответы на вопросы, которые помогут понять, как устроены поисковые системы и суть работы SEO-оптимизатора. Читайте и становитесь настоящим гуру поисковой оптимизации…

Слово для поисковой системы

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

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

«Программы программиста были запрограммированы».

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

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

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

Программы программиста были запрограммированы.

Слова могут иметь разные формы. Например, слово «программы» является формой существительного множественного числа от «программа». «Запрограммированный» – это причастие прошедшего времени, образованное от глагола «программировать». Неизмененная, исходная форма слова называется лемма. Для существительных это именительный падеж и единственное число, для глаголов – форма слова, отвечающая на вопрос «что делать?» Первый логический шаг в обработке запроса – преобразовать слова в их соответствующие леммы.

Программа программиста должна быть программной.

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

программист программа программа

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

Также поисковые системы могут понимать слова, исходя из их оснований и корней. Корень слова – это его главная значимая часть, в которой заключено общее значение всех однокоренных слов. Например, мы можем добавить суффикс «-ист» к основному корню «программ» и получим кого-то, кто выполняет действие.

программа программа программа

Теперь посмотрим на преобразованный запрос при замене всех слов на их леммы.

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

Существует три способа представления слов:

  • символ;
  • лемма;
  • корень.

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

Эти лингвистические составляющие являются строительными блоками для более крупных структур, таких как документы.

Основы текстового анализа

Что нужно знать SEO-специалисту

  • Важно понимать, зачем необходимо разбивать предложения на лингвистические составляющие. Эти единицы являются частью метрики, которую знают и используют оптимизаторы. Они составляют такой показатель, как плотность ключевых слов. Хотя многие SEO-оптимизаторы выступают против этого показателя и утверждают, что плотность ключевых слов ни на что не влияет. В качестве альтернативы они предлагают использовать показатель TF-IDF, поскольку он связан с семантическим поиском. Далее мы увидим, что как необработанные, так и взвешенные количества слов могут использоваться и для лексического и для семантического поисков.
  • Плотность ключевых слов – это удобная и простая метрика, которая имеет право на существование. Однако не стоит зацикливаться на ней.
  • Также имейте ввиду, что грамматические формы рассматриваются поисковыми системами как один и тот же тип слова, поэтому не имеет смысла оптимизировать веб-страницу, например, для единственного и множественного числа одного ключевого слова.

Аудит архитектуры и тесктовой оптимизации

Мешок слов

Мешок слов

Мешок слов (bag-of-words) – это модель, которая используется при обработке естественного языка для представления текста (от поискового запроса до полномасштабной книги). Хотя эта концепция восходит к 1950-м годам, она все еще используется для классификации текста и поиска информации.

Если мы хотим представить текст как большой набор слов, т.е. «мешок слов», мы просто посчитаем, сколько раз каждое отдельное слово появляется в тексте, и перечислим эти значения. В математике это называется вектор. Перед подсчетом можно применить методы предварительной обработки, описанные в выше.

В результате теряется вся информация о текстовой структуре, синтаксисе и грамматике текста.

программы программиста были запрограммированы
{: 1, программист: 1, s: 1, программы: 1, имели: 1, были: 1, запрограммированы: 1} или
[1, 1, 1, 1, 1, 1, 1]
programmer program program
{программист: 1, программа: 2} или
[1, 2]

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

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

Значение в пересечении каждой строки и столбца – это количество раз, когда соответствующее слово появляется в соответствующем тексте. В таблице ниже изображена векторная модель для пьес Шекспира. Для простоты восприятия мы используем всего четыре слова.

Как вам это понравится

Двенадцатая ночь, или Что угодно

Юлий Цезарь

Генрих V

Битва

1

0

7

13

Отличный

114

80

62

89

Дурачить

36

58

1

4

Остроумие

20

15

2

3

Как мы уже говорили ранее, мешок слов на самом деле является вектором. Преимущество векторов в том, что мы можем измерить расстояние или угол между ними. Чем меньше расстояние или угол – тем больше «похожих» векторов и документов, которым они соответствуют. Это осуществляется с помощью показателя косинусного сходства. Результат варьируется от 0 до 1. Чем выше значение, тем больше похожих документов.

Формула

Поиск соответствующего документа

Допустим, пользователь вводит запрос «битва при Азенкуре». Это небольшой документ, который может быть встроен в векторное пространство, как в примере выше. Соответствующий вектор равен [1, 0, 0, 0]. «Отличный», «дурачить» и «остроумие» имеют нулевое число. Затем мы можем вычислить сходство поискового запроса с каждым документом в списке. Результаты приведены в таблице ниже. Видно, что Генрих V лучше всего соответствует запросу. Это неудивительно, поскольку слово «битва» встречается в этом тексте чаще. Этот документ можно считать более релевантным запросу. Также совсем необязательно, чтобы все слова в поисковом запросе присутствовали в тексте.

Пьеса

Сходство

Как вам это понравится

0,008249825

Двенадцатая ночь, или Что угодно

0

Юлий Цезарь

0.11211846

Генрих V

0,144310885

У такого подхода есть несколько очевидных недостатков:

1. Уязвимый показатель плотности ключевых слов. Можно существенно повысить релевантность документа поисковому запросу, просто повторяя требуемое слово столько раз, сколько необходимо, чтобы превзойти конкурирующие документы в коллекции. Именно так работали поисковые системы на старте, в конце 1990-х. Достаточно было перенасытить текст ключевыми словами и первое место в выдаче гарантированно.

2. Подбор документов для мешков слов типа Меня впечатлило, это было неплохо! и
Я не был впечатлен, это было плохо! будет абсолютно одинаковым, хотя они имеют разные значения. Помните, что модель мешка слов не различает всю структуру, лежащую в основе документа.

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

Оригинал

(Голосов: 2, Рейтинг: 5)
0
0

Есть о чем рассказать? Тогда присылайте свои материалы в редакцию.


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • SEOquick
    38
    комментариев
    0
    читателей
    SEOquick
    больше года назад
    С распространением Интернета количество информации, в том числе текстовой информации, стало расти чрезвычайно быстро. Стремительное развитие современного общества и компьютерных технологий требует постоянного совершенствования методов обработки информации.
    В настоящее время выделяют следующие основные направления компьютерной лингвистики: информационный поиск, извлечение информации, машинный перевод, автореферирование, корпусная лингвистика, построение экспертных и вопросно-ответных си...
    С распространением Интернета количество информации, в том числе текстовой информации, стало расти чрезвычайно быстро. Стремительное развитие современного общества и компьютерных технологий требует постоянного совершенствования методов обработки информации.
    В настоящее время выделяют следующие основные направления компьютерной лингвистики: информационный поиск, извлечение информации, машинный перевод, автореферирование, корпусная лингвистика, построение экспертных и вопросно-ответных систем, создание тезаурусов и онтологий и некоторые другие. Выделяют следующие компоненты систем обработки текстов. Основные этапы построения систем автоматической обработки текстов:
    1) графематический анализ (осуществляется на уровне символов);
    2) морфологический анализ (осуществляется на уровне слов);
    3) фрагментационный анализ (осуществляется на уровне фраз, частей предложения);
    4) синтаксический анализ (осуществляется на уровне предложений);
    5) семантический анализ (осуществляется на уровне текста).
    В остальном читать было интересно, спасибо за хорошо читаемую статью.
    -
    1
    +
    Ответить
    • Гость
      1
      комментарий
      0
      читателей
      Гость
      SEOquick
      6 месяцев назад
      Для своих клиентов такие же говнотексты пишите?
      -
      0
      +
      Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
«Юзабилити-лаборатория»: оставляйте заявку на участие!
Анна Макарова
382
комментария
0
читателей
Полный профиль
Анна Макарова - Антон, добрый день! Ваш сайт не попал в основную выборку для юзабилити-анализа, но эксперты постараются сделать по вашему сайту видеоразбор (ю-ревью). Будем держать вас в курсе )
Кейс: как за 30 дней вывести новый сайт в ТОП выдачи Google
Сергей
2
комментария
0
читателей
Полный профиль
Сергей - Прошёл у Паши курс год назад, пытался продвигать свой сайт portativ.org.ua, но особых продвижений нет. Наверное сео уже умерло??
Выбираем CMS для сайта с точки зрения SEO: базовые требования
SEO.RU
6
комментариев
0
читателей
Полный профиль
SEO.RU - Спасибо за замечание, действительно была допущена неточность - возможно информация была не так давно обновилась. Данные в статье поправим на актуальные.
Digital-marketing: как выжить в кризис. Опыт реальной компании
Maks
1
комментарий
0
читателей
Полный профиль
Maks - Спасибо за опыт Вашей компании, Иван Папусь. Интересно получилось! Желаю Вашему бизнесу стабильности и успешно пережить все кризисы))
Облако тегов в интернет-магазине: прикладная инструкция по увеличению трафика
Юлия Дмитриева
2
комментария
0
читателей
Полный профиль
Юлия Дмитриева - Согласна с вами, что в любом деле важен индивидуальный подход:)
Как стандартизировать данные семантики с помощью логарифмов
Юлий
1
комментарий
0
читателей
Полный профиль
Юлий - Чем снималась коммерцелизация?
Гайд по работе с освобождающимися доменами: перехват, восстановление, создание сетки и заработок
Daniel Dan
1
комментарий
0
читателей
Полный профиль
Daniel Dan - Интересно и полезно читать, Спасибо!
Платные и бесплатные курсы по SEO и интернет-маркетингу для новичков и опытных специалистов
Алексей Терещенко
1
комментарий
0
читателей
Полный профиль
Алексей Терещенко - Запустил бесплатный марафон для SEO специалистов с нуля в Фейсбуке. Рекомендую начинать совой путь с него и дальше уже определятся, нравится направление или нет. Так же на базе обучающего марафона есть сообщестово в котором все в удобном формате общаются и постигают профессию. Моя миссия - создать сообщество крутых и образованых seo специалистов и поднять качество услуг на высокий уровень. Кому интересно, присоеденяйтесь www.facebook.com/groups/startseofree/
Яндекс возобновил «показательные порки» за накрутку поведенческих факторов
Антон
1
комментарий
0
читателей
Полный профиль
Антон - Никакой не выпал. Кроме клиентского сайта, который проседал из-за скрутки, о чем Я.Поиску сообщали и клиенту тоже. Ноль реакции от поисковика (продолжайте развивать сайт, никаких проблем нет ...). Клиенту надоело и он заказал накрутку у подрядчиков. Мы искренне ждали бана, сообщали об этом клиенту, т.к. мы все таки делаем все остальное для развития. Как итог: с лета полет нормальный. Сайт растет, никаких проблем. Случайно даже стажер палил тех поддержке факт использования накрутки. И ничего. Сайт растет дальше. Если они не могут ничего принять даже после признания факта накрутки, что они могут сделать с жалобами на накрутку конкурентов?! Никогда не одобряли данные методы, но ... похоже ... все работает :)
SEO в недвижимости: стратегии продвижения и как выиграть войну с агрегаторами
Гость
1
комментарий
0
читателей
Полный профиль
Гость - Наталья, так как выиграть и какую SEO стратегию выбрать? Весь почти текст обо всем, кроме названия статьи.
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
382
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
113
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
89
Комментариев
80
Комментариев
77
Комментариев
67
Комментариев
60
Комментариев
60
Комментариев
59
Комментариев
57

Отправьте отзыв!
Отправьте отзыв!