Dart: Product SEO Engineer
4.76K subscribers
113 photos
5 files
118 links
Я Product SEO Engineer с опытом работы более 13-ти лет. Cпециализируюсь на highload проектах с DAU 100M+. Делаю: Adult, Dating, EdTech, E-commerce, Programmatic SEO, Bypass Resctrictions, Multi-lingual/regional.

Рекламы нет!

Связь - @dart_kage
Download Telegram
Дорвеи засрали интернет 2: Возвращение линкспама

На SEJ вышла статья с разбором сетки дорвеев, которая попадается по запросу craigslist used auto parts, где автор считает, что успех обусловлен под влиянием трех факторов:

🏘️
Ключевые запросы заточены под локальный поиск.
Не секрет, что Google использует отдельный алгоритм для локального поиска, я сам неоднократно пользовался его несовершенством, создавая programmatic сайты.

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

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


Автор не заметил, что для дорвеев используют expired'ы, но возможно они попадают в это окно, как свежезарегистрированные.

Автор упоминает Билла Хартцера, который построил link graph в Majestic для одного из дорвеев. Скриншот из его твиттера я приложил к посту. Как видим, это такая мощная линк сетка, которая очевидно является спамной.

У меня в это году появилось 2 гипотезы:

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

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

🤔 Многие задаются вопросом: почему гугл вообще ранжирует спамные техники, если он все равно их банит? Мое мнение, что Google не будет вмешиваться в алгоритм ранжирования ради того, чтобы дорвеи не лезли в топ, это может нарушить ранжирование белых сайтов. Также предполагаю, что профилактика затратнее, чем выкашивание сайтов по факту, а руководство вполне устраивает этот временной гэп, который нужен для автоматического и ручного бана вебспама.
Таксономии от Google

У Google есть готовые таксономии для категорий контента, а также продуктовые категории. Первые таксономии подходят для контентных сайтов, вторые для коммерции.

Content Categories:

https://cloud.google.com/natural-language/docs/categories

Google Product Taxonomy:

https://www.google.com/basepages/producttype/taxonomy.en-US.txt
Google становится хуже? Мнение ученых!

В своем исследовании Is Google Getting Worse? A Longitudinal Investigation of SEO Spam in Search Engines немецкие ученые из Leipzig University, Bauhaus-Universität Weimar и ScaDS.AI озадачились вопросом ухудшения результатов поиска.

Коротко об исследовании:

ℹ️ В рамках исследования были проанализированы ТОП-20 поисковых систем Google (парсили правда Startpage), Bing и DuckDuckGo в течение года по 7,392 запросам на обзоры товаров.

ℹ️ Выбраны ключевые запросы по шаблону "best product category", где категории товаров брали из таксономий Google и GPC. Ученые постарались добавить в том числе ключи с длинным хвостом.

ℹ️ Эталонным поиском выбрали основанный на алгоритме BM25 поисковый движок ChatNoir, который имеет доступ к базе ClueWeb22B, содержащей 200 миллионов популярных в интернете страниц.

ℹ️ Извлекали On-page факторы, определяли является ли страница обзором, анализировали аффилиатные ссылки, категоризировали сайты.

Коротко о выводах:

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

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

Appen объявили, что их взаимоотношения с Google закончатся 19 марта 2024-го. А ведь год назад оценщики качества протестовали в целях добиться повышения оплаты труда и даже получили повышение.

Ждем подобных новостей от LionBridge, Teemwork.ai.

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

🔸 Не стоит ориентироваться только на Type-Token Ratiо (TTR), лучше коррелирует с позициями Function Word Ratio (FWR).

🔸 Корреляцию с позициями показала характеристика читабельности Flesch Reading Ease.

🔸 Страницы с более высоким рангом имеют меньшее соотношение <p> и <h[1-6]>.

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

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

🔸 После апдейтов среднее число аффилиат ссылок на страницу падает, хоть и в промежутках между апами вырастает.

Учитывайте, что в разных группах запросов и нишах результаты могут меняться, выводы ученых касаются только выбранной ими группы!
Код считающий FWR, TTR и FRE

Написал код, который считает для английского текста Function Word Ratio, Type-Token Ratiо и Flesch Reading Ease.


!pip install spacy_syllables
!python -m spacy download en_core_web_sm

import spacy
from spacy_syllables import SpacySyllables

# Load the spaCy model
nlp = spacy.load('en_core_web_sm')
nlp.add_pipe('syllables', after='tagger')

def calculate_fwr_ttr_fre(text):
# Process the text with spaCy to tokenize and apply other NLP tasks
doc = nlp(text.lower())

# Count total words, sentences, syllables, and function words
total_words = len(doc)
total_sentences = len(list(doc.sents))
total_syllables = sum(token._.syllables_count for token in doc if token._.syllables_count is not None)
function_words_count = sum(token.is_stop for token in doc)

# Calculate Function Words Ratio
fwr = function_words_count / total_words if total_words > 0 else 0

# Calculate Type-Token Ratio
unique_words = set(token.text for token in doc)
ttr = len(unique_words) / total_words if total_words > 0 else 0

# Calculate Flesch Reading Ease
fre = (206.835 - 1.015 * (total_words / total_sentences) - 84.6 * (total_syllables / total_words)) if total_words > 0 and total_sentences > 0 else 0

return fwr, ttr, fre

# Change filename in code line below
with open('filename.txt', 'r') as file:
# Read the contents of the file
text = file.read()
fwr, ttr, fre = calculate_fwr_ttr_fre(text)
print("Function Words Ratio:", fwr)
print("Type-Token Ratio:", ttr)
print("Flesch Reading Ease:", fre)


В системе должна быть установлена библиотека spacy. Либо вы можете воспользоваться ссылкой на Colab и запустить скрипт в облаке Google.
Similarweb прислали письмо о запуске Backlink Analytics tool. Еще один инструмент для проверки ссылок в копилочку.
Апдейты и новые правила в отношении спама

Если кто еще не видел, то гугл анонсировал сразу два апдейта - Core и Spam.
Больше всего внимание привлекает новая политика в отношении спама. К сожалению, дорвейщики слишком привлекли внимание Google'ров в прошлом году.

Злоупотребление Expired-доменами

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

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

Злоупотребление масштабируемым-контентом

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

Примеры:

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

Если вы размещаете такой контент на своем сайте, исключите его из Поиска.

Продолжение в след. посте.
Злоупотребление репутацией сайта

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

Примеры:

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

Если вы размещаете страницы, нарушающие эту политику, исключите этот контент из индексации поисковой системы.

Примеры, которые НЕ считаются злоупотреблением:

🔸 Сайты служб новостей или служб пресс-релизов
🔸 Новостные публикации, имеющие синдицированные новостной контент из других новостных публикаций
🔸 Сайты, предназначенные для создания контента пользователями, такие как форумы или разделы комментариев
🔸 Колонки, мнения, статьи и другие редакционные материалы, где есть тесное участие или рецензирование со стороны владельца сайта
🔸 Сторонний контент (например, страницы типа "advertorial" или "нативная реклама"), созданный при тесном участии владельца сайта, где цель состоит в том, чтобы делиться контентом напрямую с читателями (например, через продвижение в самом издании), а не размещать контент для манипулирования ранжированием
🔸 Встраивание сторонних рекламных блоков на странице или использование партнерских ссылок на всей странице, в соответствии с правилами для ссылок
🔸 Купоны, размещенные с тесным участием владельца сайта
🔁Регулярные выражения для поиска с исключением

Очень часто сеошнику необходимо удалить все строки, кроме тех, что имеют какое-то вхождение подстроки.

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

Для примера используем вхождение "string".

Найти и заменить все строки, кроме:

- Начинающихся со string
^(?!string).*$

- Заканчивающихся на string
^.*(?<!string)$

- Содержащих string
^(?!.*string).*$

- Равных string
^(?!string$).*$

Найти и заменить пустые строки вы можете в зависимости от вашей операционной системы с помощью регулярок:
^\n
или
^\r\n

ℹ️ Если вы не знаете, что такое регулярное выражение, загуглите возможность использования его в вашем текстовом редакторе (Notepad++, Sublime и т.д.)
Слив документации команды поиска Google

Rand Fishkin поделился в блоге, что с ним связался анонимный источник, который утверждал, что имеет доступ к сливу документации к API от внутреннего подразделения поиска Google. В дальнейшем этот источник показал сам слив, включающий 2500 страниц документации с 14014 атрибутов из Content API Warehouse. В истории документов указано, что код был залит на Github 27 мар 2024-го и пробыл там до 7 мая 2024.

Чтобы убедиться в достоверности, Rand Fishkin связался с более технически прошаренным Mike King, который подтвердил, что вероятно это действительно документация от внутренней команды поиска Google.

Mike King сделал подробный разбор этих документов у себя на сайте, рекомендую ознакомиться:

https://ipullrank.com/google-algo-leak

Update:

Ссылка на документацию: https://hexdocs.pm/google_api_content_warehouse/api-reference.html
Судя по этому документу Google хакнутые сайты называет "Muppet".
С другой стороны несколько раз в других доках упоминается Spam Cookbook, так что "пироги" бы лучше подошли 😃
Please open Telegram to view this post
VIEW IN TELEGRAM
PagernakNS

У Олеси увидел про PagerankNS. Это наиболее свежий вариант Pagerank, который используют в Google. Описание есть в этом патенте: https://patents.google.com/patent/US9953049B1/en

Если кратко, то замеряется расстояние до seed pages. Видимо, это какой-то избранный лист страниц, от которых и считают наиболее короткий путь.
Чувствительный тон кожи

Из слива документации я нашел следующий интересный параметр, о котором вряд ли напишут на западе:

imageQualitySensitiveFaceSkinToneSignals

У него нет описания, но в одном из документов, который так же имеет в своем названии Sensitive, есть упоминание Skin Tone Twiddler, который либо отвечает за разнообразие цветов кожи в image поиске, либо как-то связан с улучшением выдачи с разными тонами кожи https://blog.google/products/search/monk-skin-tone-scale/.

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

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

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

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

- Тезис "гугл это рандом" теперь разрушенный миф, гуглеры могут получить метрики сайта и понять почему тот или иной документ не получает трафик.

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

Часто те или иные работы доступны только по платной подписке, либо только для конкретных университетов. Я пользуюсь проектом SciHub. Принцип работы следующий:

1. Вы находите научную работу с закрытым доступом. Например, эту https://www.sciencedirect.com/science/article/abs/pii/S095070511830621X
2. Заходите на сайт https://sci-hub.se, вставляете ссылку на нужную вам работу.
3. Получаете бесплатный доступ к научной работе! Это будет либо прямая ссылка как в данном случае https://sci-hub.se/https://www.sciencedirect.com/science/article/abs/pii/S095070511830621X, либо ссылка на скачивание всего документа, всё зависит от сайта.
Источник бесплатных прокси

Если вы редко пользуетесть A-Parser’ом или другими программами для парсинга поисковых систем, сервисов и сайтов, то покупать подписку на прокси не имеет смысла.

Да, публичные прокси чаще выдают капчу, либо их блокируют, но я просто увеличиваю число потоков и попыток, иногда подключаю https://capmonster.cloud, который решает рекапчу за копейки.

Чтобы быстро и легко найти бесплатные списки прокси, нужно ввести в поиск по Github фразу "proxy list", отсортировать по дате и получить репозитории, которые собирают публичные адреса в обновляемые списки.

Этими списками я пользуюсь сам:

https://raw.githubusercontent.com/hookzof/socks5_list/master/pro
https://raw.githubusercontent.com/monosans/proxy-list/main/proxies/http.txt
https://raw.githubusercontent.com/monosans/proxy-list/main/proxies/socks4.txt
https://raw.githubusercontent.com/monosans/proxy-list/main/proxies/socks5.txt
https://raw.githubusercontent.com/proxy4parsing/proxy-list/main/http.txt
https://raw.githubusercontent.com/mmpx12/proxy-list/master/http.txt
https://raw.githubusercontent.com/mmpx12/proxy-list/master/https.txt
https://raw.githubusercontent.com/mmpx12/proxy-list/master/socks4.txt
https://raw.githubusercontent.com/mmpx12/proxy-list/master/socks5.txt
https://raw.githubusercontent.com/roosterkid/openproxylist/main/HTTPS_RAW.txt
https://raw.githubusercontent.com/roosterkid/openproxylist/main/SOCKS4_RAW.txt
https://raw.githubusercontent.com/roosterkid/openproxylist/main/SOCKS5_RAW.txt
https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/http.txt
https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/socks4.txt
https://raw.githubusercontent.com/TheSpeedX/PROXY-List/master/socks5.txt
https://raw.githubusercontent.com/andigwandi/free-proxy/main/proxy_list.txt
https://raw.githubusercontent.com/ErcinDedeoglu/proxies/main/proxies/http.txt
https://raw.githubusercontent.com/ErcinDedeoglu/proxies/main/proxies/https.txt
https://raw.githubusercontent.com/ErcinDedeoglu/proxies/main/proxies/socks4.txt
https://raw.githubusercontent.com/ErcinDedeoglu/proxies/main/proxies/socks5.txt
https://raw.githubusercontent.com/zevtyardt/proxy-list/main/all.txt
https://raw.githubusercontent.com/prxchk/proxy-list/main/all.txt
https://raw.githubusercontent.com/MuRongPIG/Proxy-Master/main/http.txt
https://raw.githubusercontent.com/MuRongPIG/Proxy-Master/main/socks4.txt
https://raw.githubusercontent.com/MuRongPIG/Proxy-Master/main/socks5.txt
Spam апдейты и parasite seo

Что наблюдаю в spam апдейты, так это всегда высокое ранжировение parasite дорвеев и статей, причем залетают не только новые, но и стабильно всплывают старые. Parasite SEO это всегда долгосрочная инвестиция, которая волнами приносит доход, даже спустя годы :)

У меня всего одна тестовая пачка essay дорвеев залитая на разные сервисы несколько лет назад, каждый год приносит около $1000. Мелочь, а приятно.
Бесплатный кластеризатор по топам

Для собственных нужд, я сделал кластеризатор по похожести SERP. Побудило на создание меня следующее:

- Программы чаще всего сделаны под Windows.
- Сервисы обычно предоставляют услугу как дополнительную.
- На больших объемах не выгодно.
- Виснут на 100к+ ключевых слов, мне нужны большие объемы.
- ChatGPT предлагает кластеризацию, которая не справляется с большими объемами.
- Мне нужна была поддержка любых языков.
- Не требовательно к ресурсам.

Я подумал, что для URL не обязательно нужна векторизация. По сути топ это множество, а для множеств можно использовать другие формулы, поэтому сделал кластеризатор на основе Коэффициента Жаккара. Я опробовал и другие, например, Dice или Overlap, но они оказались хуже.

За репост буду благодарен! 🙏

Инструкция:

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

Внимание! Этот код только кластеризует, он не собирает выдачу. Собрать выдачу можно с помощью других сервисов, например, выгрузить Ahrefs с галочкой на Include top 10 positions from SERP for each keyword.

Для запуска необходимо нажать на кнопку play (▷) внизу и следовать инструкции.
1. Choose files. Загружаем CSV файл с, как минимум, 2-мя колонками: Keywords и URL.
2. Column delimiter. Вводим разделитель колонок. По умолчанию это запятая.
3. Keywords column label. Вводим заголовок колонки для поисковых фраз (чувствителен к регистру).
4. URL column label. Вводим заголовок колонки для URL (чувствителен к регистру).
5. Similarity threshold. Вводим порог похожести, я рекомендую 0,6.
6. Жмем кнопку Run.
7. После окончания работы нажимаем Save, чтобы сохранить в папку Downloads.

Файл результатов

1. Каждая группа в колонке Group имеет номер, начинающийся с 0.
2. Ключевые фразы, которые объеденены в один кластер, будут иметь один номер группы.
3. Если фраза не имеет общих групп с другими фразами, то она выделяется в отдельную группу.
4. Если фразы не имеют собранных URL, то они все выделяются в группу -1.

Внимание! В браузере Safari работает некорректно, необходимо использовать Chrome.

https://colab.research.google.com/drive/1QGNNuY7OSBErn5am-dS1lnubHr-65kSF?usp=sharing
Dart: Product SEO Engineer
Бесплатный кластеризатор по топам Для собственных нужд, я сделал кластеризатор по похожести SERP. Побудило на создание меня следующее: - Программы чаще всего сделаны под Windows. - Сервисы обычно предоставляют услугу как дополнительную. - На больших объемах…
Скрипт кластеризации по топам

Это тот же кластеризатор, что сделан на базе Colab, но для тех, кто имеет базовые навыки python.

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

Скачать можно здесь:
https://drive.google.com/file/d/1lBE8encNcoRntB5bz3VjQHxoxKKIF4KW/view?usp=share_link

Проект на Github:
https://github.com/dartseoengineer/keyword-clustering

Скрипт сделан с возможностью запуска в терминале (командной строке).
На вход все так же подается CSV файл с как минимум 2-мя колонками: Keywords и URL.

1. Предварительно установите библиотеки pandas и tqdm.

pip install pandas
pip install tqdm


2. Инструкция по использованию скрипта в командной строке:

Обязательные аргументы

input_file: Путь к входному CSV файлу.
output_file: Путь для сохранения выходного файла с кластеризованными ключевыми словами.

Необязательные аргументы

-s, --separator: Разделитель во входном файле (по умолчанию: `,`).
-k, --keyword_col: Название столбца с ключевыми словами во входном файле (по умолчанию: `Keyword`).
-u, --url_col: Название столбца с URL во входном файле (по умолчанию: `URL`).
-t, --similarity_threshold: Порог схожести (по умолчанию: `0.6`).

Пример команды в терминале

python jaccard-score-cli.py for-clustering.csv clustered_keywords.csv -s ';' -k 'keyword' -u 'url' -t 0.6


Файл результатов

1. Каждая группа в колонке Group имеет номер, начинающийся с 0.
2. Ключевые фразы, которые объеденены в один кластер, будут иметь один номер группы.
3. Если фраза не имеет общих групп с другими фразами, то она выделяется в отдельную группу.
4. Если фразы не имеют собранных URL, то они все выделяются в группу -1.