Google использует статистическую метрику TF-IDF в ограниченных масштабах


Содержание материала:

Как подключить Яндекс.Метрику и Google.Analytics в Google Tag Manager?

Сбор данных сайта с использованием таких маркетинговых инструментов, как Google Analytics, Яндекс.Метрика, имеет важное значение для расширения бизнеса, принятия верных решений при продвижении сайта, конвертации посетителей в потенциальных клиентов и оптимизации бизнес-стратегий.

Однако в чистом виде Google Analytics и Яндекс.Метрика могут не предоставлять данные в необходимых разрезах. Поэтому на помощь приходят теги.

Под тегами подразумевают куски кода в виде Java-cкриптов и HTML-код, который добавляется на страницы сайта для сбора определенной информации.

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

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

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

С 2012 года Google предоставляет возможность объединения и управления всеми тегами в «Диспетчере тегов». Процесс тегирования упрощается многократно. В код шаблона страницы однократно добавляется код Google Tag Manager (далее – GTM), а вся работа с тегами производится через удаленный интерфейс.

Что такое Google Tag Manager?

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

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

Диспетчер тегов предоставляется Google бесплатно, поэтому вы можете начать изучение его возможностей прямо сейчас.

Приступаем к работе с GTM

Настройка учетной записи

Настройка учетной записи – это довольно простой процесс.

    Перейдите на страницу https://www.google.com/intl/ru/tagmanager/ и нажмите кнопку «Регистрация». Далее вводите название своей учетной записи или компании, страну и URL-адрес веб-сайта, а также где вы хотите использовать тег Google (веб-сайт, iOS, android, AMP). Когда вы закончите, нажмите кнопку «Создать».

Далее примите «Соглашение об Условиях использования Диспетчера тегов Google», нажав «Да».

  • После этого вам будут предоставлены: специальный код (скрипт) контейнера GTM и инструкции для его добавления на сайт. Код должен размещаться на всех страницах сайта. Он необходим для активации остальных тегов в соответствии с правилами, заданными в интерфейсе GTM. Код состоит из двух частей. Первая часть вставляется в заголовок HEAD шаблона страницы, вторая после тега BODY. Разместить скрипт можно сразу или немного погодя (найти код GTM можно в вашей информационной панели). Как только закончите, нажмите «OК».
  • Итак, мы добавили контейнер на сайт. Фактически он является глобальным тегом, занимая самый высокий уровень в иерархии. Именно контейнер позволяет работать «Диспетчеру тегов» с вашим сайтом.

    После того как вы завели учетную запись GTM и вставили код контейнера на страницы сайта, пора переходить к настройке первого тега.

    Добавляем Google Analytics

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

    Давайте посмотрим, как настроить наш первый тег:

    1. В панели инструментов «Диспетчера тегов» Google нажмите «Добавить новый тег».
    2. Назовите свой тег, а затем щелкните в любом месте верхней части «Конфигурация тегов», чтобы выбрать его тип.
    3. В конфигурации доступны десятки стандартных видов тега. Если вам недостаточно представленных здесь, всегда можно создать собственный тег. Выбираем «Google Аналитика – Universal Analytics».

    Создаем новую переменную, куда мы добавим идентификатор отслеживания в Google Analytics. Под переменной в GTM понимается объект, которому мы можем присваивать произвольные значения. Они используются для хранения данных. Переменная имеет вид «Ключ — Значение» и применяется для замены предопределенного значения в процессах его ключом. В GTM используются встроенные и пользовательские переменные. Мы определим пользовательскую переменную. Для этого выбираем в выпадающем списке «Новая переменная».

    Добавляем идентификатор, который мы получаем в Google Analytics («Администратор» — выбрать свой ресурс — «Настройки ресурса»). Он имеет вид UA-XXXXX-X.

    Когда мы используем такую переменную, нет никакой необходимости в копировании полного кода GA.

    После этого выбираем триггер, который будет активировать тег. Под триггером понимается правило, при выполнении которого происходит обращение к тегу. Триггеры подразделяются на триггеры активации и триггеры блокировки тега. В данном случае нам необходим триггер активации. Выбираем All Pages (1), т. е. код GA будет активирован на всех страницах сайта.

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

  • Проверьте добавленную информацию в полях «Конфигурация тегов» и «Триггер» и нажмите синюю кнопку «Сохранить».
  • Нажмите синюю кнопку «Отправить». Ваш тег не будет работать, пока вы это не сделаете.
  • Когда вы нажмете «Отправить», вы попадете на страницу «Конфигурация отправки». Существует два варианта: «Публикация и создание версии» или «Новая версия». Нам необходимо добавить тег на все страницы сайта, поэтому выбираем «Публикация и создание версии», после этого вводим название версии (и описание) и жмем синюю кнопку «Опубликовать» в правом верхнем углу.
  • Убеждаемся, что тег отображается в отчете.
  • Так мы успешно создали первый тег и установили GA на страницы сайта.

    Установка кода Яндекс.Метрика

    Для установки кода Метрики убедитесь в том, что вы добавили сайт в Яндекс.Метрику. Нам необходимо получить код счетчика и добавить его в GTM.

    1. Создаем новый тег, выбирая его тип – «Пользовательский HTML».
    2. Копируем код счетчика из Яндекс.Метрики («Счетчики» — выбор ресурса — «Настройки»).

    Вставляем код активации счетчика Метрики в поле HTML.

    Жмем кнопку «Сохранить».

  • Устанавливаем триггер на активацию тега «All Pages».
  • Публикуем новую версию контейнера. Для этого жмем кнопку «Отправить», потом «Опубликовать» и «Далее».
  • Проверяем корректность установки кода Метрики. Для этого в разделе «Счетчики» (1) выбираем необходимый счетчик ресурса и жмем кнопку «Обновить счетчик» (2).

  • На этом установку счетчика Яндекс.Метрики можно считать завершенной.

    Вместо заключения

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

    TF-IDF в SEO — ВИДЕО

    22:04 11 января 2015 — Угниченко Дмитрий

    TF-IDF (TF — term frequency, IDF — inverse document frequency) — статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса.

    Алгоритм TF-IDF анализирует только текстовое содержание документов.

    Вес слова пропорционален количеству употребления этого слова в документе (TF) и обратно пропорционален частоте употребления слова в других документах коллекции (IDF).

    TF означает частоту слова (Term Frequency). Определяет частоту употребления слова. Например, количество вхождений слова в документ по отношению к общему количеству слов в документе. Таким образом, оценивается важность слова в пределах отдельного документа.

    Если документ содержит 100 слов и слово «заяц» встречается в нём 3 раза, то частота слова (TF) для слова «заяц» в документе будет 0,03 (3/100).

    IDF означает обратную частоту документа (Inverse Document Frequency). IDF уменьшает вес широко употребляемых слов.

    Один из вариантов вычисления частоты документа (DF) определяется как количество документов содержащих слово «заяц», разделенное на количество всех документов. Таким образом, если «заяц» содержится в 1000 документов из 10 000 000 документов, то частота документа (DF) будет равной 0,0001 (1000/10000000).

    Большой вес в TF-IDF получат слова с высокой частотой в пределах конкретного документа и с низкой частотой употреблений в других документах. Это одна из причин, по которым легко продвигать низкочастотные запросы.

    Отношение общего количества документов к количеству документов к коллекции.

    TD-IDF видео

    Как определить релевантность документа поисковому запросу по алгоритму TF-IDF

    Проверить TF-IDF и провести анализ текста на основе лидеров поиска органической выдачи онлайн и бесплатно можно используя приложение Анализ текста от MegaIndex.
    Ссылка для регистрации — MegaIndex. Ссылка на приложение — Анализ текста.

    Google использует статистическую метрику TF-IDF в ограниченных масштабах

    Релевантность документа в текстовом поиске на примерах. Классическая векторная модель. TF-IDF
    Автор: Olaf

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

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

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

    Топ-пост этого месяца:  Админка Wordpress все про административную панель WordPress

    TF-IDF, векторная модель
    Начинаем цикл статей с обзора классической модели представления текстовых документов в виде векторов n-мерного Евклидового пространства. Сущность этой модели — сравнение отношений расстояний между векторами. Заметим, что векторная модель позволяет не только решать задачи релевантности, но и, например, автоматической классификации.

    Рассмотрим работу векторной модели при использовании TF-IDF метрики близости строк. Сущность метрики TF-IDF — учёт частотных характеристик слов в документе и коллекции документов, точнее, вес некоторого слова пропорционален количеству употребления этого слова в документе, и обратно пропорционален частоте употребления слова в других документах коллекции.

    Для начала введём определение веса слова (термина). Вес термина:

    где:
    tfi (term frequency) — частотность вхождений i-того слова в анализируемый текст;
    dfi (document frequency) — количество документов, содержащих хотя бы одно вхождение i-того слова в анализируемые тексты;
    D — общее число документов в анализируемой базе данных (коллекции).

    Отношение D к dfi является вероятностью попадания i-того слова в текст произвольного документа коллекции (базы), а его логарифм, или другими словами IDF (inverse document frequency — обратная частота документа), — инверсией частоты, с которой i-тое слово встречается в текстах коллекции. Учёт IDF уменьшает вес широкоупотребительных слов.

    Пример
    В базе у нас есть 5 документов. 3 из них в разной степени содержат вхождение слова «экскаватор». Следовательно, для этой конкретной коллекции документов df=3, D=5, >
    Пример работы алгоритма
    Рассмотрим вышеописанную модель на конкретном примере, с некоторыми допущениями, для упрощения эксперимента.

    Допущения:
    — Не важно, где слово встречается в документе.
    — Рассматриваем только текстовую составляющую документа, без мета-данных и.т.д.
    — Не важен порядок слов в запросе и документе.
    — Используем для анализа полный текст, включая стоп-слова.
    — Не приводим термины к нормальному виду (не используем морфологический разбор и синонимический тезаурус).
    — Используем базовую частоту вхождения, без ограничений по критической частотности.

    1. Возьмём за поисковый запрос фразу Q: «мощный недорогой джип»
    2. Пусть в коллекции данных у нас всего три документа со следующими текстами:
    3. Документы содержат:
    Документ 1: «В этот момент последовал мощный удар»
    Документ 2: «Этот джип очень мощный, даже слишком мощный для города»
    Документ 3: «Через момент я покажу вам свой надёжный недорогой джип»

    Найдём значения W, tf, df, IDF для данного примера. Для наглядности, составим таблицу. Значение D равно 3, так как в нашей базе всего 3 документа.

    Приведём Wi каждого документа Дi и запроса Q к векторному виду, и подсчитаем длины векторов, игнорируя нулевые координаты:

    Далее, проведём скалярное произведение вектора запроса на векторы документов, так же игнорируя нулевые координаты:
    Q * Д1 = 0,1761 • 0,1761= 0,3101
    Q * Д2 = 0,1761 • 0,3522+0,1761 • 0,1761= 0,3721
    Q * Д3 = 0,1761 • 0,1761+0,4771+0,4771 = 0,5377

    Теперь подсчитаем коэффициент подобия между вектором запроса и векторами текстов документов, он будет выражаться через косинус угла между ними, и подсчитываться по формуле:

    Ранжируя документы по этому показателю, мы имеем:
    1-е место: «Через момент я покажу вам свой надёжный недорогой джип» (Д3)
    2-е место: «Этот джип очень мощный, даже слишком мощный для города» (Д2)
    3-е место: «В этот момент последовал мощный удар» (Д1)

    Подведём итоги:
    Д1 — содержал лишь одно слово из поискового запроса, при этом самое распространённое в нашей конкретной коллекции. Этого было явно недостаточно, чтоб обогнать остальных.
    Д2 — имел наибольшую плотность вхождения ключевых слов, но по причине того, что пара слов вхождения «мощный» и «джип» были распространёнными в нашей коллекции, а следовательно, давали меньший вес, занял лишь второе место.
    Д3 — Д3, как и Д2 имел два вхождения слов из запроса в текст, но так как одно из этих слов было уникальным в базе, он получил больший вес.

    Стоит заметить, что длина документов Д2 и Д3 была одинаковая, и имей Д2 меньшую длину, то есть большую плотность вхождения ключевых слов (tf), он легко мог бы поспорить с Д3.

    Преимущества и недостатки
    Из преимуществ метрики TF-IDF можно отметить привязку к частотной характеристике (обратной частоте документа), которая заметно занижает вес распространённых слов, несущих не высокую смысловую нагрузку.
    Из недостатков — существенное занижение веса документов включающих схожие определения, документов большой длины, которые по определению будет проигрывать по tf коэффициенту, и завышение веса «коротких» документов, по этой же причине.

    Для нивелирования недостатков можно на этапе индексации ввести ограничение на учёт чётких и не чётких дублей документов (чтоб не занижался вес полезных пассажей, из-за документов, дублирующих эти пассажи) и для документов слишком длинных или наоборот, слишком коротких, использовать нормализованный tfn , вычисляемый по формуле: 0,5+0,5 (tf/atf), где atf — средняя частота термина в документе по всей коллекции.

    Выводы
    При расчёте релевантности документов, при помощи TF-IDF метрики, на данном конкретном примере, с обозначенными выше допущениями, действует взаимодействие трёх основополагающих факторов:

    Список использованной литературы:
    1. Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze,
    “ Introduction to Information Retrieval ”
    2. G. Salton and Buckley “ Term-weighting approaches in automatic text retrieval ” (PDF, 1mb)
    3. G. Salton, A. Wong, and C. S. Yang “ A Vector Space Model for Automatic Indexing ” (PDF, 500kb)

    TF-IDF модель для ранжирования страниц

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

    Как вычислить:
    tf-idf — это схема весов, которая присваивает каждому термину в документе вес, основанный на его частоте (tf) и частоте обратного документа (idf). Термины с более высокими показателями веса считаются более важными.

    Как правило, вес TF-IDF состоит из двух членов:

    1. Нормализованная частота термин (тс)
    2. Частота обратных документов (IDF)

    Давайте возьмем 3 документа, чтобы показать, как это работает.

    Док 1: Бен изучает компьютеры в компьютерной лаборатории.
    Док 2: Стив преподает в Университете Брауна.
    Документ 3: Ученые, работающие с данными, работают с большими наборами данных.

    Допустим, мы выполняем поиск по этим документам по следующему запросу: Data Scientists


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

    Шаг 1: Вычисление частоты термина (tf)

    Частота указывает число вхождений определенного термина t в документ d . Следовательно,

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

    Ниже приведены условия и их периодичность в каждом документе. [N (т, д)]

    tf for document 1:

    Док 1 Бен Исследования компьютер лаборатория
    Т.Ф. 1 1 2 1

    Представление векторного пространства для документа 1: [1, 1, 2, 1]

    tf for document 2:

    Док 2 Стив учит коричневый Университет
    Т.Ф. 1 1 1 1

    Представление векторного пространства для документа 2: [1, 1, 1, 1]

    tf for document 3:

    Док 3 Данные Ученые Работа большой Наборы данных
    Т.Ф. 1 1 1 1 1

    Представление векторного пространства для документа 3: [1, 1, 1, 1, 1]

    Таким образом, представление документов в качестве векторов в общем векторном пространстве известно как Модель векторного пространства, и это очень важно для поиска информации.

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

    ||D|| for each document:

    документы || Д ||
    1 7
    2 5
    3 6

    Ниже приводятся нормализованные термины частоты для всех документов, т.е. [N (t, d) / || D ||]

    Normalized TF for Document 1:

    doc1 Бен исследования компьютер лаборатория
    Нормализованный Tf 0,143 0,143 0,286 0,143

    Представление векторного пространства для документа 1: [0,143, 0,143, 0,286, 0,143]

    Normalized tf for document 2:

    Док 2 Стив учит коричневый Университет
    NormalizedTf 0.2 0.2 0.2 0.2

    Представление векторного пространства для документа 2: [0,2, 0,2, 0,2, 0,2]

    Normalized tf for document 3:

    Док 3 Данные Ученые Работа большой Наборы данных
    NormalizedTf 0,167 0,167 0,167 0,167 0,167

    Представление векторного пространства для документа 3: [0,167, 0,167, 0,167, 0,167, 0,167]

    Ниже функция в Python сделает нормализованный расчет TF:

    ссылка на сайт
    brightness_4
    код

    Шаг 2: Вычислите частоту обратных документов — idf

    Обычно он измеряет, насколько важен термин. Основная цель поиска — найти соответствующие документы, соответствующие запросу. Поскольку tf считает все термины одинаково важными, мы не можем использовать только частоты терминов для вычисления веса термина в документе. Однако известно, что некоторые термины, такие как «есть», «из» и «это», могут встречаться много раз, но не имеют большого значения. Таким образом, мы должны уменьшить частые термины и расширить редкие. Логарифмы помогают нам решить эту проблему.

    Прежде всего, найдите частоту документов термина t, посчитав количество документов, содержащих термин:

    Частота терминов — это число появлений термина только в одном конкретном документе; в то время как частота документа — это число различных документов, в которых появляется термин, поэтому он зависит от всего корпуса. Теперь давайте посмотрим на определение частоты обратных документов. Idf термина — это количество документов в корпусе, деленное на частоту документа термина.

    Ожидается, что более частый термин будет считаться менее важным, но фактор (наиболее вероятно, целые числа) кажется слишком резким. Поэтому мы берем логарифм (с основанием 2) обратных частот документа. Итак, idf термина t становится:

    Это лучше, и, поскольку log является монотонно возрастающей функцией, мы можем безопасно ее использовать. Давайте вычислим IDF для термина Компьютер:

    Всего 3 документа = Документ1, Документ2, Документ3

    Ниже приводится идентификатор терминов, встречающихся во всех документах.

    Дано Количество документов, в которых появляется термин (N т ) >
    Бен 1 Вход (3/1) = 1,5849
    Исследования 1 Вход (3/1) = 1,5849
    компьютер 1 Вход (3/1) = 1,5849
    лаборатория 1 Вход (3/1) = 1,5849
    Стив 1 Вход (3/1) = 1,5849
    Преподает 1 Вход (3/1) = 1,5849
    коричневый 1 Вход (3/1) = 1,5849
    Университет 1 Вход (3/1) = 1,5849
    Данные 1 Вход (3/1) = 1,5849
    Ученые 1 Вход (3/1) = 1,5849
    Работа 1 Вход (3/1) = 1,5849
    большой 1 Вход (3/1) = 1,5849
    Dataset 1 Вход (3/1) = 1,5849

    Ниже приведена функция в Python для расчета IDF:

    Джон Мюллер: Механизм подсчета показателя TF-IDF сильно устарел

    23.04.2020 Комментарии к записи Джон Мюллер: Механизм подсчета показателя TF-IDF сильно устарел отключены 87 Просмотров

    От автора: Джон Мюллер рассказал о роли статистического показателя TF-IDF в процессе ранжирования выдачи Google.

    Общаясь с вебмастерами, инженер Google ответил на вопрос о применении статистического показателе TF-IDF в процессе ранжирования поисковых результатов. Эта метрика используется для оценки «веса» отдельного слова в текстовом содержимом документа, который является частью коллекции. Показатель часто используется для решения задач в сфере анализа текста и информационного поиска.

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

    Также представитель Google отметил, что с помощью метрики TF-IDF в поисковой выдаче невозможно получить максимально точные результаты. Так как при ее использовании измерение осуществляются на основе анализа всех проиндексированных в интернете документов.

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

    Тем не менее, TF-IDF используется в Google, но в ограниченных масштабах. Например, с помощью этого подхода поисковик отсеивает стоп-слова, встречающиеся в контенте.

    Анализ релевантности текстов по ТОПам и TF* >

    У нас появилось новое приложение для анализа релевантности текста на продвигаемых страницах.

    Видео о работе приложения по анализу релевантности текстов:

    Новый инструмент отличается от массы уже существующих анализаторов двумя основными технологическими подходами:


    1. Сравнение контента Вашей страницы и страниц, которые уже ранжируются в ТОПе по данному запросу
    2. Анализ документа по метрике TF*IDF (подробнее о метрике в Wikipedia)

    Метрика TF*IDF уже давно является основой определения текстовой релевантности в поисковых системах. Для её подсчета сначала необходимо определить IDF для каждого слова.

    >
    Таким образом популярные слова, которые встречаются в каждом 10-ом документе и чаще, будут иметь IDF 2.

    Практически все тематики можно охарактеризовать определенными словами с IDF близким к 2.

    Значение TF — это отношение числа вхождений определенного слова к числу слов в документе. Например, если в документе 500 слов, а слово «перевозки» встречается 5 раз, то TF = 5 / 500 = 0.01

    Как видно из формулы, TF*IDF будет максимально в том случае, если довольно редкие слова будут иметь множество вхождений в документ. По этой причине мы сортирует все слова по убыванию метрики TF*IDF (сверху сразу можно увидеть наиболее значимые слова в тематике).

    Список топовых URL системой изначально берется по результатам органического поиска Яндекс в Москве.

    Задав URL, который Вы оптимизируете по заданному запросу, приложение позволит наглядно сравнить число вхождений каждого слова. А задав точность сравнения, наглядно покажет цветом все отклонения, красным — меньше, синим — больше:

    Также внизу Вы получите рекомендованные доработки по изменению страницы в соответствие в топовыми URL:

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

    Если Вы не задаете URL для сравнения, то приложение просто сформирует техническое задание на копирайт на основе топовых URL.

    Весь текст мы разделаем на 4 типа:
    1.TITLE документа
    2. Анкоры ссылок
    3. Короткие пассажи (обычно это заголовки, ячейки таблицы, списки и т.п.)
    4. Связанный текст

    Google использует статистическую метрику TF-IDF в ограниченных масштабах

    Здесь я расскажу и покажу в примерах на Python, зачем и как считать стандартный TF-IDF, а также его вариации. Примеры я буду давать по ходу объяснения. Чтобы их понять, нужно иметь представления о базовых понятиях языка программирования Python в версии 2.х либо 3.х (основные типы данных, основные структуры данных, цикл-ветвление, функция, основы генераторов списков и словарей) и понимать, как применять класс Counter из стандартной библиотеки collections

    Что это вообще такое?

    О том, что же такое TF-IDF, можно прочитать, например, в Википедии. Да и формулу там же можно посмотреть, поэтому теории я коснусь по минимуму, показав больше примеров.

    Если кратко, то TF-IDF это term frequency-inverse document frequency или, ежели на великом и могучем, частотность терминов-обратная частотность документов. Впрочем, это я зря, непереведенное смотрелось лучше.

    Зачем это нужно?

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

    Чем хороша эта метрика?

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

    2. Её просто считать

    Для чего же можно применять эту метрику?

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

    2. Некоторые расширения этой формулы можно использовать для улучшения работы классификаторов тональности

    Принцип работы

    Term Frequency

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

    TF термина а = (Количество раз, когда термин а встретился в тексте / количество всех слов в тексте)

    В виде кода это будет выглядеть так:

    Inverse Document Frequency

    IDF — это обратная частотность документов. Она измеряет непосредственно важность термина. То есть, когда мы считали TF, все термины считаются как бы равными по важности друг другу. Но всем известно, что, например, предлоги встречаются очень часто, хотя практически не влияют на смысл текста. И что с этим поделать? Ответ прост — посчитать IDF. Он считается как логарифм от общего количества документов, делённого на количество документов, в которых встречается термин а.

    Логарифм, кстати, можно брать любой — потому что TF-IDF является относительной мерой; то есть веса терминов не выражаются в каких-то единицах, а существуют друг относительно друга. Я, например, обычно беру натуральный или десятичный.

    В виде кода это будет выглядеть так:

    Term Frequency — Inverse Document Frequency

    А затем мы умножаем TF на IDF и получаем — барабанная дробь — TF-IDF!

    В виде кода это будет выглядеть так:

    Мы обходим каждый текст в корпусе текстов, считаем для него TF всех слов, находящихся в нем. Затем для каждого слова считаем IDF и умножаем его на уже посчитанный TF. Полученный словарь (dictionary) мы добавляем в список, чтобы сохранить такой же порядок текстов, какой был на входе. И возвращаем этот список словарей с посчитанными TF-IDF для каждого термина.

    from collections import Counter
    import math

    for i in tf_text:

    def compute_idf(word, corpus):

    return math.log10(len(corpus)/sum([1.0 for i in corpus if word in i]))

    for text in corpus:

    for word in computed_tf:

    corpus = [[‘pasta’, ‘la’, ‘vista’, ‘baby’, ‘la’, ‘vista’],
    [‘hasta’, ‘siempre’, ‘comandante’, ‘baby’, ‘la’, ‘siempre’],
    [‘siempre’, ‘comandante’, ‘baby’, ‘la’, ‘siempre’]]

    Умозрительный пример (в котором мы применяем десятичный логарифм)

    В некотором документе Х, содержащем 100 слов, есть слово «лингвист», которое встречается 5 раз. Таким образом, TF слова «лингвист» равняется 5 / 100 или 0.05. А теперь представим, что всего у нас есть 1000 документов (включая документ Х), и слово «лингвист» встречается в 10 из них. Таким образом, IDF слова «лингвист» равняется lg(1000/10) или 2. Таким образом, TF-IDF слова «лингвист» равняется 2 * 0.05 или 0.1

    Естественно, вместо документов у нас легко могут быть какие-нибудь абстрактные категории или конкретные ящики, а вместо слов — абстрактные объекты или конкретные фрукты: TF-IDF — вполне универсальная метрика для измерения важности.

    Некоторые расширения TF- >В некоторых случаях TF-IDF может считаться по-иному (если вдруг не нравится работа стандартного алгоритма — можно и поэкспериментировать!)

    Расширения TF

    1. Можно считать TF бинарно, т.е. просто проверять наличие термина в тексте и присваивать единицу, если термин в тексте есть.


    2.Можно считать TF без нормализации, то есть брать просто частоту встречаемости слова в тексте без деления этой частоты на общее количество слов в тексте

    3. Можно нормализовать частоту встречаемости слова с помощью логарифма таким образом, что

    TF термина а = 1 + логарифм(Количество раз, когда термин а встретился в тексте)

    4. Можно проводить двойную нормализацию частоты встречаемости слова таким образом, что

    TF термина а = 0.5 + 0.5 * (Количество раз, когда термин а встретился в тексте / Количество раз, когда встретился самый частотный термин этого текста)

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

    Расширения >1. Можно вообще его не учитывать — считать всегда единицей и всё.

    2. Можно произвести смягчение (smoothing) IDF — считать как в стандартном виде, только добавлять единицу в скобках, то есть

    3. Можно извратиться сильнее и считать IDF так:

    Этот вариант расчёта IDF призван снизить влияние размера документов на получающийся IDF терминов.

    На практике эти расширения используют нечасто, особенно те, которые для расчёта IDF. Чаще всего используют второй, третий и четвертый варианты расчета TF со стандартным способом расчёта IDF.

    В следующей статье я планирую коснуться интересных расширений стандартного алгоритма TF-IDF, который можно (а иногда даже и нужно) использовать для классификации тональности

    Полезные ссылки

    50,632 просмотров всего, 39 просмотров сегодня

    Отношение TF/ >Отношение TF/IDF

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

    Термин TF/IDF имеет англоязычное происхождение, где TF дословно означает частотность вхождения термина (от англ. словосочетания term frequency), а IDF расшифровывается, как обратная (инвертированная) частота документа (от англ. inverse document frequency). В соответствии с отношением TF/IDF весомость определенного слова (термина) прямо зависит от количества раз его использования в конкретном тексте и обратно зависима от числа использования данного слова в множестве остальных документов (текстов).

    TF или частота слова — это отношение количества вхождения конкретного термина к суммарному набору слов в исследуемом тексте (документе). Этот показать отражает важность (весомость) слова в рамках определенной статьи/публикации.

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

    Показатель TF/IDF будет выше, если определенное слово с большой частотой используется в конкретном тексте, но редко — в других документах.

    Использование отношения

    Показатель TF/IDF прежде всего используется для анализа текстового контента в больших потоках данных. Так, к данному отношению прибегают поисковые алгоритмы, чтобы определить релевантность конкретной странички (прежде всего, текста, который на ней находится), пользовательскому запросу в поиске. Также данный статистический показатель позволяет определить близость различных документов (текстов) друг другу, что может быть использовано при их группировке (кластеризации).

    Пример расчета весомости по отношению TF/IDF

    Предположим, есть страничка сайта с текстом о диете. В этом тексте всего 170 слов, а термин «диета» встречается 7 раз. Этой информации достаточно, чтобы определить показатель TF, который будет равен 7/170 = 0,04.

    Предположим, что слово «диета» имеется на 1000 веб-страничках из 10 миллионов общей коллекции страниц в Интернете (условные значения). Для определения показателя DF, необходимо взять логарифм (основание можно взять произвольно — в нашем случае 10). По имеющимся данным получим lg(10 000 000/1000) = 4.

    Остается подсчитать весомость, для чего TF нужно разделить на инвертированный показатель DF, то есть 0,04 /(1/4) = 0,04 *4 = 0,16.

    Плотность ключевых слов и восстание машин к 2020 году

    Всем привет. Сегодня у меня есть для вас немного полезной информации. Этот пост — не строгий перевод, а, скорее, изложение содержания статьи, которая находится вот тут — www.SEOmoz.org, плюс добавлены цитаты из Википедии для пояснения некоторых вещей. Суть вопроса в том, что СЕОмоз создал систему, которая определяет ключевые слова в тексте. Но не просто подсчитывает все и выдает плотность ключевых слов, нет. Такой способ определения плотности ключей уже давным давно устарел и мир шагнул далеко вперед. Сегодня мы рассмотрим несколько вариантов определения релевантности документа ключевому запросу. Итак, готовьтесь встречать искусственный интеллект и семантический поиск по смыслу написанного к 2020 году.

    А пока рассмотрим, какие же алгоритмы используются для определения релевантности различных документов (часть информации взята из Википедии). Еще в незапамятном XX веке началось развитие метода TF-IDF (от англ. TF — term frequency, IDF — inverse document frequency) — статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов. Мера TF-IDF часто используется в задачах анализа текстов и информационного поиска, например, как один из критериев релевантности документа поисковому запросу, при расчёте меры схожести документов при кластеризации (выделение групп документов, похожих по смыслу). TF (term frequency — частота слова) — отношение числа вхождения некоторого слова к общему количеству слов документа. Таким образом, оценивается важность слова в пределах отдельного документа. IDF (inverse document frequency — обратная частота документа) — инверсия частоты, с которой некоторое слово встречается в других документах. Учёт IDF уменьшает вес часто и широко употребляемых слов. Таким образом, мера TF-IDF — произведение двух сомножителей: TF и IDF.

    Пример

    Если документ содержит 100 слов и слово «заяц» встречается в нём 3 раза, то частота слова (TF) для слова «заяц» в документе будет 0,03 (3/100). Один из вариантов вычисления частоты документа (DF) определяется как количество документов содержащих слово «заяц», разделенное на количество всех документов. Таким образом, если слово «заяц» содержится в 1000 документов из 10 000 000 документов, то частота документа (DF) будет равной 0,0001 (1000/10 000 000). Для расчета окончательного значения веса слова необходимо разделить TF на DF (или умножить на IDF). В данном примере, TF-IDF вес для слова «заяц» в выбранном документе будет 300 (0,03/0,0001).

    По наблюдениям Рэнда Фишкина за результатами выдачи Гугла, влияние on-page факторов вроде использования ключевых слов или TF-IDF довольно мало. Даже в низкоконкурентных запросах не наблюдается такого, чтобы кто-то мог просто написать больше раз свой ключевой запрос (или использовать синонимы), чем конкурент и улучшить позиции в выдаче. И этот опыт, который подкрепился разговорами с сеошниками, заставил Фишкина верить в то, что поисковые машины ранжируют более сложно, учитывая связи между словами и фразами. Поэтому, СЕОмоз начал работу над крупным проектом, который назвали — LDA (Latent Dirichlet Allocation). Кому интересно распределение Дирихле из теории вероятностей, которое использовалось в данной системе, может почитать о нем вот тут — Распределение Дирихле. В двух словах скажу, что оно описывает связь между словами. То есть, какое слово чаще всего используется с каким-нибудь другим, какие слова вообще вместе не используются и т.д. Все это подводит нас к тематическим моделям.

    Почему поисковым машинам необходимо тематическое моделирование?

    Некоторые запросы довольно простые. Поиск по запросу «Википедия» не слишком сложный и результат по такому поиску может вернуть даже простая поисковая машина. Но некоторые другие запросы не являются такими же простыми. Давайте посмотрим как поисковые системы могут упорядочивать два результата — простая проблема, которая, в большинстве случаев, может быть комплексно решена несколькими методами, в зависимости от ситуации. Запросы привожу на английском языке, как есть в оригинале. Так как Контент А содержит слово «Batman», а контент В — нет, то ПС может легко выбрать, какой же запрос поставить выше в выдаче. ПС может использовать TF*IDF для определения того, что слово «Wiggum» имеет меньшую частоту употребления, чем «chief» и поэтому, Контент А будет считаться более релевантным запросу. Обратите внимание, что этот пример ясно показывает недостаток такой метрики, как плотность ключевого слова. Используя знания о совместном использовании слов, ПС определит, что «Daily Planet» и «Clark Kent» появляются чаще со словом «Superman» и поэтому, Контент В будет более релевантен, чем Контент А, в котором есть точное вхождения ключа в текст! Прочитав оба предложения, мы можем сделать однозначный вывод, что Контент В описывает музыкальный инструмент — пианино — и женщина играет на нем. Но, поисковая машина, вооруженная методами, которые мы описывали раньше, будет бороться с этими предложениями, т.к. оба они используют слова «keys» и «notes», которые являются только ключами к головоломке. СЕОмоз рад, что их система LDA поставила Контент В выше, чем А. Значит, их алгоритмы на правильном пути. Для более комплексных запросов или когда большое влияние на результат могут оказать множество связей в контенте, ПС необходимы пути, для определения цели данной страницы. То, что на странице повторяется 4 или 5 раз ключевое слово, совсем не означает, что страница действительно релевантна запросу пользователя. Исторически сложилось так, что много сеошников прикладывали очень много усилий в этом направлении, поэтому то, что делает СЕОмоз — это не революционное тематическое моделирование, которое включает в себя LDA, всегда было вокруг да около. Но, никто из тех, кто развивается в данном направлении, не делал такую систему общедоступной или сравнимой с результатами выдачи Гугла, чтобы показать, как могут влиять на позиции данные сигналы. Итак, суть ясна, я думаю. Плотность ключевых слов была хороша раньше, сегодня мир шагнул далеко вперед в данном направлении. Так давайте же заглянем внутрь и посмотрим на сердце данного метода.

    Векторное пространство терминов и Тематическое моделирование

    Упрощенная модель векторного пространства

    Представим себе, что в данный момент существуют только две темы — «Собака» и «Кошка», а все остальные слова в разной степени связаны с этими двумя тематиками. К примеру, слово «клык» чаще всего используется со словом «Собака», а «Вискас» — с «Кошка». В действительности, так и есть, любые два слова связаны между собой более или менее сильно. Эта модель просто представляет эти связи математически. К сожалению, изобразить больше, чем три тематики (три измерения), мне очень сложно, но вы должны помнить, что таких тематик много. Соответственно и измерений много. И каждое слово можно отнести частично к этой тематике, частично к другой. И получаются вектора в многомерном пространстве. Кому интересно углубиться в векторное пространство, вот вам материалы Стэндфордского Университета по этому повод.

    К сожалению, у LDA пока что очень много ограничений. Он работает только для англоязычных сайтов и не отражает полной и стопроцентной картины. Так как это, все-таки, не Гугл. Так же, LDA не использует пока что фразы и очки в % по LDA являются относительными, так как это только что запущенная версия и в ней есть свои недочеты. И следует запомнить, что увеличение кол-ва ключевых слов может помочь получить больше очков в LDA, но вряд ли поможет улучшить позиции. Прошу всех не упускать из головы то, что система делалась 10 месяцев двумя математиками-программистами, а в Гугле работают не двое. Думаю, что обещания Гугла по поводу семантического поиска имеют под собой серьезную основу. Роботы прогрессируют и готовятся захватить человечество. Поэтому нам нужно внимательно за ними следить, чтобы не упустить тот момент, когда начнется восстание машин. Очень надеюсь, что эти материалы помогут в написании тематических текстов копирайтерам. Да и сеошникам они довольно полезны. Всем спасибо за внимание, доброго дня, успехов или удачи (в случае Апокалипсиса) (с)

    Как передать цель из Google Tag Manager в Яндекс.Метрику

    В этом материале мы разберем принцип передачи события из Google Tag Manager в Яндекс.Метрику. Приготовьте свои аккаунты. Мы начинаем!

    Важно! Вся изложенная ниже информация имеет практический смысл только в том случае, если у вас уже установлен код счетчика Яндекс.Метрики на сайт с помощью Google Tag Manager. Если вы еще этого не сделали, то изучите инструкцию здесь и после интеграции возвращайтесь к этому материалу.

    Создание цели в Яндекс.Метрике

    Чтобы событие из GTM успешно передалось в Метрику, первым делом нам необходимо создать новую цель в интерфейсе счетчика.

    1. Переходим в Яндекс.Метрику и находим в общем списке нужный счетчик;
    2. В разделе Настройки открываем вкладку Цели;
    3. Нажимаем на кнопку Добавить цель и указываем тип условия JavaScript-событие;
    4. Указываем на латинице произвольный идентификатор цели;
    5. Жмем на кнопку Добавить цель.

    Цель создана. Но это только половина работы. Переходим ко второму шагу.

    Передача цели из Google Tag Manager

    Для передачи данных о событиях из Google Tag Manager необходимо создать Пользовательский HTML тег и в текстовом поле вставить следующий javascript-код:

    где: XXXXXXX — номер счетчика Яндекс.Метрики; click_subscribe — название идентификатора цели. Например, тег для отслеживания отправки клика по ссылке будет иметь такой вид:

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

    Остались вопросы?

    Друзья, материал не сложный, но код для отслеживания целей в Метрике может потребоваться в любой момент. Рекомендую сохранить ссылку на статью или отправить материал коллегам. Также не забывайте подписываться на полезные статьи блога.

    Топ-пост этого месяца:  Какое API использовать для формы в админке
    Добавить комментарий