Главное Авторские колонки Вакансии Образование
😼
Выбор
редакции
2 956 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как поисковые системы нас понимают. Семантический анализ текста

Семантический или смысловой анализ текста — одна из ключевых проблем как теории создания систем искусственного интеллекта, относящаяся к обработке естественного языка (Natural Language Processsing, NLP), так и компьютерной лингвистики.
Мнение автора может не совпадать с мнением редакции

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

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

В этой статье мы разберем, как поисковые системы извлекают из запроса его семантическое значение, метод TF-IDF и закон Ципфа. В первой части статьи вы можете узнать про основной способ обработки языка Bag-of-words, как поисковая система понимает отдельные слова и предложения и находит соответствующий документ. Читайте и становитесь настоящим гуру поисковой оптимизации...

TF-IDF и закон Ципфа


Проверка по закону Ципфа — это метод распределения частоты слов естественного языка: если все слова языка (или просто достаточно длинного текста) упорядочить по убыванию частоты их использования, то частота n-го слова в таком списке окажется приблизительно обратно пропорциональной его порядковому номеру n (так называемому рангу этого слова). Например, второе по используемости слово встречается примерно в два раза реже, чем первое, третье — в три раза реже, чем первое, и так далее. Наиболее часто используемые 18% слов (приблизительно) составляют более 80% объема всего текста.

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

10 самых популярных слов в русском языке.

  1. и
  2. в
  3. не
  4. на
  5. я
  6. быть
  7. он
  8. с
  9. что
  10. а

Мы можем применить статистическую меру TF-IDF (частота слова — обратная частота документа), чтобы уменьшить вес слов, которые часто используются в тексте и не несут в себе смысловой нагрузки. Показатель TF-IDF рассчитывается по следующей формуле:

  1. tfi,j — частота слова в тексте
  2. dfj — количество документов, содержащих текст с данным словом
  3. N — общее количество документов

В таблице ниже приведены значения IDF для некоторых слов в пьесах Шекспира, начиная от самых информативных слов, которые встречаются только в одной пьесе (например, «Ромео»), до тех, которые настолько распространены, что они полностью не дискриминационные, поскольку встречаются во всех 37 пьесах. Такие как «хороший» или "сладкий".IDF самых распространенных слов равен 0, в результате их частоты в модели мешка слов также будут равны 0. Частоты редких слов будут наоборот увеличены.

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

  1. Маловероятно, что модель мешка слов используется в настоящее время в коммерческих поисковых системах. Существуют модели, которые лучше отражают структуру текста и учитывают больше лингвистических особенностей, но основная идея остается неизменной. Документы и поисковые запросы преобразуются в векторы, а сходство или расстояние между векторами используется в качестве меры релевантности.
  2. Эта модель дает понимание, как работает лексический поиск в отличии от семантического поиска. Для лексического поиска важно, чтобы документ содержал слова, упомянутые в поисковом запросе. Для семантического поиска это пока необязательно.
  3. Закон Ципфа показывает, что в тексте, написанном на естественном языке, существуют предсказуемые пропорции. Отклонения от типичных пропорций легко выявить. Таким образом не сложно определить чрезмерно оптимизированный текст, который является «неестественным».
  4. Благодаря применению TF-IDF, документы, содержащие в себе ключевые слова, приобретают больший вес в векторе поиска. Очень заманчиво интерпретировать это явление как нечто, связанное с «семантикой».

Текстовый анализ сайта

Семантические слова

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

Приведем простой пример. Вводим запрос в Яндекс или Google — пьяный на новый год перепутал квартиру фильм. Результаты выдачи можете увидеть на фото.

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

Но как поисковая система может понять значение слова или смысл поискового запроса? Или как мы должны указать значение слова, чтобы компьютерная программа могла понять и практически использовать его в выдаче документов?Ключевой концепцией, которая помогает ответить на эти вопросы, является дистрибутивный анализ. Она была впервые сформулирована еще в 1950-х годах. Лингвисты заметили, что слова с похожим значением имеют тенденцию встречаться в одной и той же среде (то есть рядом с одними и теми же словами), причем количество различий в значении между двумя словами примерно соответствует разнице в их LSI-фразе.

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

  1. Лангустины считаются деликатесом.
  2. У лангустинов белое мясо в хвосте и на теле, сочное, слегка сладкое и постное.
  3. При выборе лангустинов мы обращаем внимание на полупрозрачный оранжевый цвет.

Также вы определенно сталкиваетесь со следующим, так как большинство читателей знают, что такое креветка:

  1. Креветки — это лакомство, которое хорошо сочетается с белым вином и соусом.
  2. Нежное мясо креветки можно добавить к пасте.
  3. При варке креветки меняют свой цвет на красный.

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

Как мы можем преобразовать эти наблюдения в нечто значимое для компьютерной программы? Можно построить модель, похожую на мешок слов. Однако вместо документов мы обозначим столбцы с помощью слов. Достаточно распространено использование небольших фраз в контексте целевого слова, но не более четырех слов. В этом случае каждая ячейка в модели обозначает количество, сколько раз слово встречается в контекстной фразе (например, плюс-минус четыре слова). Давайте рассмотрим эти контекстные фразы. В таблице ниже пример из книги Даниэля Джурафски и Джеймса Мартина «Обработка речи и языка».

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

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

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

Написание текстов для сайта

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

  1. Семантические модели хорошо подходят для охвата синонимов, связанных слов и семантических фреймов. Система связанных фреймов может образовывать семантическую сеть. Семантическая сеть — это набор слов, которые обозначают объекты предметной области и задают отношения между ними. Например, семантическая сеть чая «Золотая чаша» может включать в себя традицию, чай, чашку, чайник, ложку, сахар, напиток и т.д.При создании нового контента будет полезно подумать о семантических фреймах. Т.е. учитывать семантическую структуру, по которой вы хотите продвигать вашу страницу в топ, а не конкретное ключевое слово.
  2. Игра с контентом, скорее всего, мало что даст. Синонимичные слова, такие как квартира и апартаменты, будут иметь очень похожие векторы. При замене слов в тексте на слова синонимы мы получим текст, который будет близок к исходному варианту с точки зрения поисковой системы.
  3. Поисковые системы стали гораздо лучше находить нужную информацию, но не будет лишним давать им подсказки, используя структурированную разметку данных.

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

Вопросы, предложения и критика приветствуются в комментариях.

Еще больше интересных фактов про SEO читайте в VK или FB.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем