Читаем Разберись в Data Science полностью

Тематическое моделирование[115] похоже на метод k-средних в том смысле, что это алгоритм неконтролируемого обучения, который пытается сгруппировать похожие наблюдения, но при этом не требует, чтобы каждый документ был явно отнесен к одному кластеру. Вместо этого он выдает значения вероятности, говорящие о том, как один документ связан с несколькими темами. Предложение 1, например, может получить оценку 60 % по теме национальной обороны и 40 % по теме космоса.

Чтобы лучше в этом разобраться, рассмотрим еще один пример. На рис. 11.3 представлена перевернутая набок матрица «документ-термин»[116]. Слева вы видите термины, которые встречаются в 20 документах d0–d19. Каждая ячейка отражает частоту встречаемости слова в документе: более темные ячейки соответствуют более высокой частоте. Причем термины и документы были упорядочены с помощью метода тематического моделирования.

Рис. 11.3. Кластеризация документов и терминов путем тематического моделирования. Можете ли вы выделить пять основных тем на этом изображении? Как бы вы их назвали?

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

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

<p>Классификация текстов</p>

В этом разделе мы поговорим о контролируемом обучении на матрице «документ-термин» (при условии наличия известных целевых атрибутов). В случае с текстом мы, как правило, пытаемся предсказать категориальную переменную, поэтому данная задача решается с помощью моделей классификации, о которых мы говорили в предыдущей главе, а не моделей регрессии, которые предсказывают числа. Один из самых известных примеров успешного применения метода классификации текстов – спам-фильтр, используемый в сервисах электронной почты, входными данными для которого является текст сообщения, а выходными – бинарный флаг «спам» или «не спам»[117]. Пример применения многоклассовой классификации текстов – автоматическое распределение новостных онлайн-статей по категориям: местные новости, политика, мир, спорт, развлечения и так далее.

Чтобы получить представление о том, как происходит классификация текстов с помощью метода мешка слов, давайте рассмотрим один (упрощенный) случай. В табл. 11.4 показаны пять различных тем электронных писем, разбитых на токены, и метки, указывающие, является ли письмо спамом или нет. (Следует помнить о том, сколько усилий компании тратят на сбор подобных данных. Всякий раз, когда провайдер электронной почты спрашивает вас, являются ли те или иные письма спамом, вы предоставляете данные для алгоритмов машинного обучения!)

Табл. 11.4. Простейший пример классификации спама

Как можно использовать алгоритм для извлечения уроков из данных в табл. 11.4 и формирования прогнозов относительно новых, невиданных ранее тем электронных писем?

Возможно, вы подумали о логистической регрессии, которая бывает полезна для предсказания бинарных результатов. Но, к сожалению, здесь она не сработает из-за слишком большого количества слов и недостаточного количества примеров для обучения. В табл. 11.4 столбцов больше, чем строк, а логистическая регрессия этого не любит[118].

<p><emphasis>Наивный байесовский алгоритм</emphasis></p>

В подобной ситуации обычно применяется так называемый наивный байесовский алгоритм классификации (названный так в честь того самого Байеса, которого мы упоминали в главе 6). Данный алгоритм пытается ответить на простой вопрос: где с большей вероятностью встречаются слова, используемые в теме электронного письма, – в спаме или в обычном письме? Вы, скорее всего, пытаетесь сделать то же самое, когда просматриваете содержимое своего почтового ящика: вы по собственному опыту знаете, что слово «бесплатно», как правило, встречается в спаме. То же касается слов «деньги», «Виагра» или «богатство». Если большинство слов ассоциируется со спамом, то электронное письмо, скорее всего, им и является. Все просто.

Перейти на страницу:

Все книги серии Мировой компьютерный бестселлер

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных