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

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

Каждый идентификатор называется токеном. Набор токенов из всех документов – словарем.

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

Для необработанного текста:

– Это предложение является очень большим мешком слов.

– Это является большим мешком с продуктами.

– Это предложение состоит из двух слов.

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

Табл. 11.1. Преобразование текста в числа методом «мешка слов». Числа обозначают количество того или иного слова (токена) в соответствующем предложении (документе)

Глядя на табл. 11.1, называемую матрицей «документ – термин» (один документ в строке, один термин в столбце), становится понятно, что базовая текстовая аналитика может сводиться к подсчету количества повторений каждого из слов (самое популярное слово – «это») и определению предложения, содержащего максимальное количество токенов (первое предложение). Хотя приведенный пример не особенно интересен, именно так рассчитывается базовая сводная статистика для документов.

Скорее всего, вы также заметили некоторые недостатки в табл. 11.1 (и в облаке слов!). По мере добавления новых документов количество столбцов в таблице будет увеличиваться, поскольку вам придется добавлять новый столбец для каждого нового токена. Кроме того, в результате этого таблица станет разреженной, то есть заполненной нулями, потому что каждое отдельное предложение будет содержать лишь несколько слов из словаря.

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

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

Глядя на рис. 11.2, становится понятно, в чем сложность анализа текста. Процесс преобразования текста в числа отфильтровал эмоциональную составляющую, контекст и порядок слов. Если вам кажется, что это повлияет на результаты любого последующего анализа, то вы правы. И в данном случае нам еще повезло, что в тексте отсутствуют орфографические ошибки, представляющие дополнительную проблему для специалистов по работе с данными.

Рис. 11.2. Преобразование текста в мешок слов

Использование метода «мешка слов», доступного в свободном программном обеспечении и изучаемого на курсах по текстовой аналитике, привело бы к получению одинакового результата при числовом кодировании следующих двух предложений, несмотря на очевидные различия в их смысле:

1. Джордан любит хот-доги, но ненавидит гамбургеры[109].

2. Джордан ненавидит хот-доги, но любит гамбургеры.

Люди понимают разницу между этими двумя предложениями, а модель «мешка слов» – нет. Однако не спешите списывать ее со счетов. Несмотря на свой примитивный принцип, мешок слов может оказаться весьма полезным при обобщении разрозненных тем, которые мы рассмотрим в следующих разделах.

<p><emphasis>N-граммы</emphasis></p>
Перейти на страницу:

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

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

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

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

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

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

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

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

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