SlideShare a Scribd company logo
1 of 25
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHONКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
КЛАСТЕРИЗАЦИИ
ПОИСКОВЫХ ЗАПРОСО
В IPYTHON
2016
Михаил Жуковец
SEO Price.ru
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Задачи кластеризации
- чистка семантики
- выделение типовых групп запросов
- подбор структуры для сайта
- разбивка ключевых слов по страницам
Кластериза́ция докуме́нтов — одна из задач информационного поиска. Целью кластеризации документов является автоматическое выявление групп
семантически похожих документов среди заданного фиксированного множества документов. Следует отметить, что группы формируются только на
основе попарной схожести описаний документов, и никакие характеристики этих групп не задаются заранее, в отличие от классификации
документов, где категории задаются заранее.
wikipedia.org
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Практическая реализация в IPython
- Векторное представление ключевых слов
- Кластеризация по составу фраз при помощи K-Means
- Кластеризация по SERP при помощи иерархической кластеризации
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Векторное представление
ключевых слов
- CountVectorizer
- Лемматизация
- TfidfVectorizer
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
CountVectorizer
sklearn.feature_extraction.text.CountVectorizer
Подготовка ключевых слов
перед кластеризацией
заключается в разбиении
текстов на слова и их
кодировании. Для выполнения
этой процедуры удобно
использовать готовые классы из
библиотеки scikit-learn.
Настройка объектов
CountVectorizer позволяет
производить первичную
фильтрацию признаков.
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
CountVectorizer
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Лемматизация
Использование лемматизации позволяет объединить слова с одинаковым смыслом и различным написанием
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Лемматизация
Лемматизация входных ключевых слов основной этап препроцессинга,
который в дальнейшем значительно повышает качество кластеризации
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Лемматизация
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
TF-IDF Vectorizer
Tf-Idf преобразование позволяет учитывать не только наличие слова, но и его значимость
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
TF-IDF Vectorizer
Чтобы избежать в дальнейшем путаницы с ключевыми словами, лучше убрать лемматизатор
внутрь векторизатора путем переопределения функции класса
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
TF-IDF Vectorizer - настройка
- stop-words – список слов, которые не будут учитываться при векторизации
- token_pattern – регулярное выражение, по которому строка разбивается на
токены. Обычно это просто разделение на слова, но могут быть выделены и
другие сущности
- max_df – токены имеющие частотность выше этого значения не будут
учитываться.
- min_df – токены имеющие частотность ниже этого значения не будут учитываться
Ознакомиться с остальными параметрами можно по ссылке
http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
K-Means clustering
Алгоритм разбивает множество элементов
векторного пространства на заранее
известное число кластеров. Алгоритм
стремится уменьшить расстояние от слов к
центрам кластеров в векторном пространстве.
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
K-Means clustering - подготовка
- импортируем
зависимости
- загружаем нашу
семантику
- производим
предварительную
обработку данных
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
K-Means clustering
– настройка объекта
Основные параметры для настройки
- n_clusters – количество кластеров, на которые будут делиться данные
- max_iter – максимальное количество итераций. Работа будет принудительно остановлена при
достижении этого числа.
- n_init – сколько раз будет инициализироваться алгоритм с различными начальными
центроидами
- tol - доверительный предел, при достижении которого кластеризация будет остановлена
- n_jobs – количество параллельных потоков работы алгоритма
- random_state – параметр позволяющий добиться воспроизводимости одних и тех же
результатов при разных запусках алгоритма
Ознакомиться с остальными параметрами можно по ссылке
http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
K-Means clustering - кластеризация
Важным ограничением такого
метода кластеризации
является необходимость
самостоятельно указывать
количество кластеров, на
которые будет производиться
разбиение. В качестве основы
количество кластеров было
взято за 20% от количества
ключевых слов.
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
K-Means clustering - результаты
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering
Иерархические алгоритмы
строят не одно разбиение
выборки на непересекающиеся
кластеры, а систему вложенных
разбиений. На выходе мы
получаем дерево кластеров,
корнем которого является вся
выборка, а листьями – наиболее
мелкие кластера.
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering - подготовка
Для каждого ключевого
слова нужно собрать
текущие URL из топ-10. В
качестве поисковой
системы был выбран
Яндекс, т.к. с ним удобно
работать через XML.
После сбора данных они
были преобразованы в
матрицу признаков для
каждого ключевого
слова
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering
– настройка
scipy.cluster.hierarchy.linkage
- method = {single, complete, average, weighted, centroid,
median, ward} – различные алгоритмы построения дерева
- metric – метод расчета расстояния между объектами.
Всего их доступно в данной реализации 23 и подробнее
они описаны тут
http://docs.scipy.org/doc/scipy-
0.14.0/reference/generated/scipy.spatial.distance.pdist.html
scipy.cluster.hierarchy.fcluster
- criterion = {inconsistent, distance, maxclust,
monocrit, maxclust_monocrit} – критерий
используемый для формирования
кластеров.
Ознакомиться с остальными настройками и функциями можно по ссылке
http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html#module-scipy.cluster.hierarchy
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering
- кластеризация
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering - результаты
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Hierarchical clustering
- визуализация
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Практика применения
Для 130 000 запросов новостного сайта была применен алгоритм K-Means с разбивкой на 20 кластеров для
выявления тематик, которые больше всего интересовали аудиторию
query
Cluster
Class
кто победил на евровидении 2016 первое место 19
кто победил на евровидении 2016 19
кто победил на евровидении в 2016 году 19
первое место на евровидении 2016 19
2 место на евровидении 2016 г 19
баллы на евровидении 2016 19
места на евровидении 2016 19
какие места на евровидении 2016 год 19
джастин тимберлейк на евровидении 2016 19
query
Cluster
Class
стрельба на хованском кладбище 17
перестрелка на хованском кладбище 17
стрельба на хованском кладбище 14 мая 17
стрельба на хованском 17
перестрелка на хованском кладбище видео 17
события на хованском кладбище 17
стрельба на хованском кладбище видео 17
стрельба на кладбище 17
события на хованском кладбище сегодня 17
Евровидение Хованское кладбище ЧМ 2016
query
Cluster
Class
как сыграла сборная россии по хоккею 4
состав сборной россии по хоккею на чм
2016 в москве 4
как сыграла сборная россии по хоккею
сегодня 4
состав сборной россии по хоккею на матч
с швейцарией 4
чм по хоккею 2016 дания чехия 4
фан зона чемпионат мира по хоккею 2016
парк горького 4
сборная россии по хоккею 4
НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В
IPYTHON
КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON
Спасибо!
Михаил Жуковец
SEO Price.ru

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Кластеризации поисковых запросов в Ipython

  • 1. КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHONКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСО В IPYTHON 2016 Михаил Жуковец SEO Price.ru
  • 2. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Задачи кластеризации - чистка семантики - выделение типовых групп запросов - подбор структуры для сайта - разбивка ключевых слов по страницам Кластериза́ция докуме́нтов — одна из задач информационного поиска. Целью кластеризации документов является автоматическое выявление групп семантически похожих документов среди заданного фиксированного множества документов. Следует отметить, что группы формируются только на основе попарной схожести описаний документов, и никакие характеристики этих групп не задаются заранее, в отличие от классификации документов, где категории задаются заранее. wikipedia.org
  • 3. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Практическая реализация в IPython - Векторное представление ключевых слов - Кластеризация по составу фраз при помощи K-Means - Кластеризация по SERP при помощи иерархической кластеризации
  • 4. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Векторное представление ключевых слов - CountVectorizer - Лемматизация - TfidfVectorizer
  • 5. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON CountVectorizer sklearn.feature_extraction.text.CountVectorizer Подготовка ключевых слов перед кластеризацией заключается в разбиении текстов на слова и их кодировании. Для выполнения этой процедуры удобно использовать готовые классы из библиотеки scikit-learn. Настройка объектов CountVectorizer позволяет производить первичную фильтрацию признаков.
  • 6. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON CountVectorizer
  • 7. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Лемматизация Использование лемматизации позволяет объединить слова с одинаковым смыслом и различным написанием
  • 8. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Лемматизация Лемматизация входных ключевых слов основной этап препроцессинга, который в дальнейшем значительно повышает качество кластеризации
  • 9. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Лемматизация
  • 10. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON TF-IDF Vectorizer Tf-Idf преобразование позволяет учитывать не только наличие слова, но и его значимость
  • 11. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON TF-IDF Vectorizer Чтобы избежать в дальнейшем путаницы с ключевыми словами, лучше убрать лемматизатор внутрь векторизатора путем переопределения функции класса
  • 12. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON TF-IDF Vectorizer - настройка - stop-words – список слов, которые не будут учитываться при векторизации - token_pattern – регулярное выражение, по которому строка разбивается на токены. Обычно это просто разделение на слова, но могут быть выделены и другие сущности - max_df – токены имеющие частотность выше этого значения не будут учитываться. - min_df – токены имеющие частотность ниже этого значения не будут учитываться Ознакомиться с остальными параметрами можно по ссылке http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.TfidfVectorizer.html
  • 13. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON K-Means clustering Алгоритм разбивает множество элементов векторного пространства на заранее известное число кластеров. Алгоритм стремится уменьшить расстояние от слов к центрам кластеров в векторном пространстве.
  • 14. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON K-Means clustering - подготовка - импортируем зависимости - загружаем нашу семантику - производим предварительную обработку данных
  • 15. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON K-Means clustering – настройка объекта Основные параметры для настройки - n_clusters – количество кластеров, на которые будут делиться данные - max_iter – максимальное количество итераций. Работа будет принудительно остановлена при достижении этого числа. - n_init – сколько раз будет инициализироваться алгоритм с различными начальными центроидами - tol - доверительный предел, при достижении которого кластеризация будет остановлена - n_jobs – количество параллельных потоков работы алгоритма - random_state – параметр позволяющий добиться воспроизводимости одних и тех же результатов при разных запусках алгоритма Ознакомиться с остальными параметрами можно по ссылке http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html
  • 16. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON K-Means clustering - кластеризация Важным ограничением такого метода кластеризации является необходимость самостоятельно указывать количество кластеров, на которые будет производиться разбиение. В качестве основы количество кластеров было взято за 20% от количества ключевых слов.
  • 17. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON K-Means clustering - результаты
  • 18. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering Иерархические алгоритмы строят не одно разбиение выборки на непересекающиеся кластеры, а систему вложенных разбиений. На выходе мы получаем дерево кластеров, корнем которого является вся выборка, а листьями – наиболее мелкие кластера.
  • 19. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering - подготовка Для каждого ключевого слова нужно собрать текущие URL из топ-10. В качестве поисковой системы был выбран Яндекс, т.к. с ним удобно работать через XML. После сбора данных они были преобразованы в матрицу признаков для каждого ключевого слова
  • 20. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering – настройка scipy.cluster.hierarchy.linkage - method = {single, complete, average, weighted, centroid, median, ward} – различные алгоритмы построения дерева - metric – метод расчета расстояния между объектами. Всего их доступно в данной реализации 23 и подробнее они описаны тут http://docs.scipy.org/doc/scipy- 0.14.0/reference/generated/scipy.spatial.distance.pdist.html scipy.cluster.hierarchy.fcluster - criterion = {inconsistent, distance, maxclust, monocrit, maxclust_monocrit} – критерий используемый для формирования кластеров. Ознакомиться с остальными настройками и функциями можно по ссылке http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html#module-scipy.cluster.hierarchy
  • 21. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering - кластеризация
  • 22. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering - результаты
  • 23. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Hierarchical clustering - визуализация
  • 24. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Практика применения Для 130 000 запросов новостного сайта была применен алгоритм K-Means с разбивкой на 20 кластеров для выявления тематик, которые больше всего интересовали аудиторию query Cluster Class кто победил на евровидении 2016 первое место 19 кто победил на евровидении 2016 19 кто победил на евровидении в 2016 году 19 первое место на евровидении 2016 19 2 место на евровидении 2016 г 19 баллы на евровидении 2016 19 места на евровидении 2016 19 какие места на евровидении 2016 год 19 джастин тимберлейк на евровидении 2016 19 query Cluster Class стрельба на хованском кладбище 17 перестрелка на хованском кладбище 17 стрельба на хованском кладбище 14 мая 17 стрельба на хованском 17 перестрелка на хованском кладбище видео 17 события на хованском кладбище 17 стрельба на хованском кладбище видео 17 стрельба на кладбище 17 события на хованском кладбище сегодня 17 Евровидение Хованское кладбище ЧМ 2016 query Cluster Class как сыграла сборная россии по хоккею 4 состав сборной россии по хоккею на чм 2016 в москве 4 как сыграла сборная россии по хоккею сегодня 4 состав сборной россии по хоккею на матч с швейцарией 4 чм по хоккею 2016 дания чехия 4 фан зона чемпионат мира по хоккею 2016 парк горького 4 сборная россии по хоккею 4
  • 25. НАЗВАНИЕ ПРЕЗЕНТАЦИИКЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON КЛАСТЕРИЗАЦИИ ПОИСКОВЫХ ЗАПРОСОВ В IPYTHON Спасибо! Михаил Жуковец SEO Price.ru