Анализ, управляемый данными

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

Извлечение ключевых слов

Добавьте узел Извлечение ключевых слов на скрипт и соедините его с узлом Разметка текста.

nhtsa65.rus

На вкладке Колонки выберите колонку Summary в качестве рабочей колонки узла.

nhtsa65 1.rus

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

nhtsa66.rus

Выполните узел и откройте окно просмотра его результатов.

Просмотр результатов узла Извлечение ключевых слов

Узел Извлечение ключевых слов находит слова и фразы, которые встречаются в таблице данных с гораздо большей частотой, чем та, что указана в статистическом словаре. Если вы используете словарь по умолчанию, вы получите ответ на вопрос: "Какие слова и фразы в английском языке используются в таблице данных гораздо чаще, чем по статистике?". Вы также можете создать собственный словарь статистики с помощью узла Индекс (мы использовали его ранее).

Таблица с ключевыми словами содержит следующие колонки со свойствами обнаруженных слов и фраз: Support (Поддержка), Frequency (Частота), Significance (Значимость).

Определения:

Поддержка - количество записей с определенной лексемой (как и в узле Индекс).

Частота - количество повторов определенной лексемы (как и в узле Индекс).

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

nhtsa67.rus

Облако ключевых слов позволяет наглядно представить значимость ключевых слов и фраз. Слова, выделенные крупным шрифтом, имеют большую значимость по сравнению с теми словами, которые оформлены мелким шрифтом.

nhtsa68.rus

На вкладке Таблица ключевых слов нажмите Сгенерировать и выберите Связь терминов. Откроется окно для ввода имени узла. Нажмите ОК, чтобы завершить операцию.

nhtsa69.rus

Вернитесь на скрипт. Новый узел будет автоматически настроен и соединен с узлом Извлечение ключевых слов. Выполните его.

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

Откройте окно просмотра результатов узла.

nhtsa70.rus

Определение:

Сила связи - производная от коэффициента корреляции.

Кластеризация текстов
nhtsa71.rus

Узел Кластеризация текстов объединяет слова и фразы в таблице данных в кластеры. Для этого используется один из двух алгоритмов:

  • Вероятностный латентно-семантический анализ (ВЛСА) - создает кластеры путем объединения подобных групп.

  • Кластеризация по методу K-средних - создает кластеры путем разделения непохожих групп.

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

nhtsa71 1.rus

Сравните результаты узла, полученные с помощью разных алгоритмов и разных вариантов их настройки.

nhtsa71 2.rus
Создание автоматической модели классификации текста

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

nhtsa86.rus

На первой вкладке выберите колонку Summary в качестве рабочей колонки узла, выполните его и просмотрите полученное дерево таксономии.

nhtsa87.rus

Узел Автоматическая таксономия использует машинное обучение для классификации записей на основе слов и фраз. К сожалению, поскольку эта классификация создается машиной, модель может часто содержать такие категории, которые не представляют интереса для аналитика. Обычно автоматическая таксономия используется в качестве основы модели, которая дорабатывается вручную.

Классификация текстов

Классификация текстов - это такой процесс, в ходе которого записи распределяются по разным категориям на основе слов и фраз, встречающихся в неструктурированном тексте. Иногда эти категории заложены в самой таблице данных, а иногда их создает аналитик, или они генерируются автоматически, исходя из свойств самих данных. В PolyAnalyst используются два подхода к классификации текстов: автоматическая классификация текстов и классификация, созданная аналитиком вручную.

Автоматическая классификация текста

Сценарии:

  1. Первый сценарий, при котором используется автоматическая классификация, - когда вам необходимо воспроизвести результат работы системы и обучить новые данные "с учителем". Предположим, что вам нужно прочитать жалобы на транспортные средства (как в таблице NHTSA) и вручную распределить их по 10 заданным категориям. Если выполнять эту операцию ежедневно, это потребует много времени и усилий. Возникает естественный вопрос "Может ли PolyAnalyst учиться на результатах проделанной вами ранее работы и автоматически распределять новые записи по категориям?"

  2. Второй сценарий предполагает использование классификации текстов в качестве прогностической модели для другой целевой переменной. Например, используя таблицу NHTSA, вы, возможно, захотите спрогнозировать стоимость ремонта транспортного средства на основе описания неисправности/проблемы.

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

Использование узла Классификация текстов

Соедините узел Классификация текстов с узлом Замены, который вы создали ранее.

nhtsa72.rus

Нажмите на узел правой кнопкой мыши и выберите Настройки. Выберите колонку Fatalities в качестве Целевой колонки, а Summary - в качестве Независимой текстовой колонки.

nhtsa73.rus

Нажмите Выполнить. Откройте окно просмотра результатов узла и перейдите на вкладку Эффективность классификации. Оцените точность модели:

nhtsa74.rus

В нашей модели, как видим, узел Классификация текстов с точностью 98,21% спрогнозировал вероятность наступления летального исхода в описанных ситуациях.

На вкладке Классификация текстов выберите Yes в верхнем правом углу окна и просмотрите слова, которые позволили классифицировать записи.

nhtsa75.rus

Не вдаваясь в математические подробности созданной модели, можно сказать, что наличие слов из этого списка в записи позволяет с некоторой долей уверенности полагать, что запись описывает ситуацию с летальным исходом. Использование одних слов, таких, как kill или death вполне объяснимо, однако другие слова, например, roadway и roof могут вызвать удивление.

Таксономия, созданная вручную

Сценарии:

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

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

Использование узла Таксономия

Добавьте узел Таксономия на скрипт и соедините его с узлом Замены.

nhtsa76.rus

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

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

Нажмите правой кнопкой мыши на Root node (Корневой узел) и выберите Добавить дочерний узел.

nhtsa77.rus

Назовите дочерний узел Fatal Cases и запишите выражение в поле Выражение, как показано на скриншоте ниже. Выполните узел, нажав на кнопку Обновить в левом верхнем углу вкладки.

nhtsa78.rus

Выберите узел Fatal Cases, чтобы просмотреть записи, которые попали в данную категорию, на вкладке Детализация.

nhtsa79.rus

Процесс создания таксономии подробно описан в руководстве Введение в текстовый анализ.

Применение таксономии

Соедините узел Применение таксономии, как показано на рисунке ниже, с узлами Замены и Таксономия.

nhtsa80.rus

На вкладке Независимые колонки окна настроек выберите колонки. Выполните узел и просмотрите его результаты.

nhtsa81.rus

Все записи распределяются по категориям в зависимости от уровня таксономии.

nhtsa82.rus

Применив таксономию, мы структурировали неструктурированный текст.