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

Вот блокнот Jupyter на Github, которому вы можете следовать.

Что такое тематическое моделирование?

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

По сути, это способ понять, как определенные слова будут чаще встречаться в определенных типах текста.

Зачем мне нужно тематическое моделирование?

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

Как использовать тематическое моделирование?

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

  1. Удалите знаки препинания, смайлы и т. Д.
  2. Удалите перегибы (например, Stemming и Lemming)
  3. Удалите стоп-слова.

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

Здорово! Теперь, когда ваш текст безупречно чист, нам нужно представить его так, чтобы компьютер было легче понять: векторы. Мы можем выбрать одноразовое кодирование слов с помощью CountVectorizer sklearn или использовать векторизатор Term Frequency-Inverse Document Frequency (TFIDF), чтобы уменьшить акцент на более распространенных словах и придать больший вес более редким словам.

Создав векторы признаков, мы увеличили размерное пространство корпуса. В Data Science мы уменьшаем количество измерений, чтобы уменьшить сложность и максимизировать ресурсы, а также повысить скорость и эффективность. Есть несколько способов уменьшить размерности: вероятность (например, скрытое распределение Дирихле) или матричная факторизация (например, PCA или NMF). Сегодня мы сосредоточимся на NMF, также известном как Факторизация неотрицательной матрицы.

Как мы используем NMF для тематического моделирования?

NMF - это метод, который разделяет матрицы на веса и компоненты. Возможно, вы знакомы с PCA (он же LSA в анализе текста), и это нечто похожее. Разница между PCA и NMF заключается в том, как они разлагают матрицы: PCA стремится уловить наибольшую дисперсию по своим основным компонентам, тогда как NMF стремится ограничить неотрицательность своих компонентов. Из-за неотрицательных ограничений NMF это популярный метод тематического моделирования.

Что означают мои темы?

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

Теперь, когда кто-то спрашивает вас «вим», вы можете показать им свое тематическое моделирование!

Удачи и приятного времяпровождения!

Если у вас есть вопросы, напишите мне в Твиттере :)