четверг, 5 апреля 2018 г.

Штат Новый Южный Уэльс, Австралия: Пилотный проект применения машинного обучения в интересах управления документами, часть 2


(Окончание, с сокращениями – не приводятся примеры; начало см. https://rusrim.blogspot.ru/2018/04/1.html )

Этапы извлечения и классификации текста

1. Извлечение текста

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

После сортировки тестовой выборки, с использованием различных библиотек была разработана программа на языке Python для извлечения текста из файлов следующих типов: PDF, DOCX и DOC.

Извлеченный из документов текст затем был помещён в один общий .csv-файл, содержащий три столбца: имя файла (уникальный идентификатор), классификация (статья по перечню GA28) и, наконец, извлеченный текст.

2. Очистка данных

Мы использовали очень простой подход к очистке данных. Были использованы следующие меры: удаление форматирования документов, удаление «незначащих» слов (stop words), удаление ненужных документов и преобразование всех букв в нижний регистр.

3. Векторизация текста и выделение характерных признаков

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

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

4. «Частота слова – обратная частота документа» (Term Frequency - Inverse Document Frequency, TF-IDF)

Мой комментарий: согласно Википедии (см. https://ru.wikipedia.org/wiki/TF-IDF ), TF-IDF  - «статистическая мера, используемая для оценки важности слова в контексте документа, являющегося частью коллекции документов или корпуса. Вес некоторого слова пропорционален количеству употребления этого слова в документе, и обратно пропорционален частоте употребления слова в других документах коллекции».

Матрица частоты появлений терминов в документах – хорошее, но при этом лишь базовое представление. Одна из главных проблем заключается в том, что будут большими значения счетчиков для часто используемых слов типа модальных глаголов, и они будут бесполезными для векторных представлений документов. Подход TF-IDF является альтернативным методом вычисления веса признака документа для векторного представления. Для вычисления веса по TF-IDF вычисляется частота появления термина (частота появления конкретного слова в документе), которая затем умножается на «обратную частоту документа» (логарифм обратной величины частоты, с которой данной слово встречается в документах тестовой выборки – Н.Х.) (это помогает снизить рейтинг слов, которые слишком часто встречаются в наборе документов и повысить вес уникальных / необычных слов).

Поэтому, как только мы создали словарь признаков и построили матрицу частоты появлений терминов в документах (document term matrix, DTM), мы применили подход TF-IDF к DTM, чтобы повысить вес уникальных слов.

5. Обучение и разделение данных на обучающие и тестовые

В пилотном проекте использовалось стандартное соотношение: 75% данных обучения к 25% данных тестирования. Для начала мы взяли 75% предварительно классифицированного как «архивные документы постоянного срока хранения» контента и использовали эти данные для обучения алгоритма, с тем, чтобы построить модель. По завершении обучения, эти алгоритм и модель были использованы для обработки 25% данных, вошедших в тестовую выборку. Это позволило нам оценить, насколько точной является модель и определить процент успешных прогнозов. Полученные нами результаты показаны ниже.

6. Обзор алгоритмов машинного обучения

Для построения нашей модели мы использовали два алгоритма машинного обучения: многокомпонентный «наивный байесовский алгоритм» (multinomial naïve Bayes algorithm) и «многослойный персептрон» (multi-layer perceptron). Эти алгоритмы были выбраны ввиду их широкого применения в приложениях подобного типа.
  • Многокомпонентный наивный байесовский алгоритм является частью семейства упрощенных вероятностных классификаторов. Классификатор опирается на теорему Байеса, которая предполагает использование сильных предположений о независимости признаков.

  • Многослойный персептрон - это контролируемый алгоритм обучения, который может обучаться аппроксимации нелинейной функции для целей выполнения классификации или регрессии.
Статистический анализ

Чтобы продемонстрировать результаты нашего внутреннего пилотного проекта, мы рассчитали матрицу ошибок (confusion matrix) и подготовили сводные таблицы результатов, позволяющие сравнить два используемых алгоритмов (таблицы в данном переводе не приводятся – Н.Х.).

Матрица ошибок представляет собой таблицу, в которой показано, насколько успешными были предсказания на основе модели классификации, т.е. корреляция между фактическим классом и классом, определённым с помощью модели. Одна ось матрицы ошибок - это предсказанный моделью класс (в нашем случае – статья перечня – Н.Х.), а другая - фактический класс. Размерность матрицы равна числу классов. Отметим, что показанные ниже на рис. матрицы ошибок являются репрезентативными, но не в точности те матрицы, что использовались для оценки результатов.

Матрицы ошибок содержат достаточную информацию для вычисления различных показателей качества работы метода, включая точность (precision) и полнота (recall – показывает, какую долю объектов «положительного» класса из всех объектов положительного класса нашел алгоритм – Н.Х.). Точность -  частота, с которой модель правильно прогнозирует «положительный» класс; в то время как полнота даёт ответ на следующий вопрос: какую долю всех возможных «положительных» меток модель правильно идентифицировала?

Нормализованная матрица ошибок при использовании многокомпонентного наивного байесовского алгоритма

Нормализованная матрица ошибок при использовании многослойного персептрона

Результаты

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

Обсуждение

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

  • Для получения хороших результатов при обработке тестовых данных необходим большой обучающий набор правильно классифицированных данных;

  • В случае использования облачных сервисов очень важно заранее понять все условия обслуживания, особенно в части защиты персональных данных физических лиц и прав собственности на данные;

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

  • Для обработки модели желательно иметь достаточные вычислительные ресурсы на локальных серверах;

  • Результаты проекта поразительные в том плане, что всего было написано всего лишь около 100 строк кода, благодаря наличию достаточного опыта и использованию правильного алгоритма;

  • Можем ли мы создать «черный ящик машинного обучения» для классификации на основе перечня GA28, чтобы помочь органам государственной власти управлять административными документами?

  • Знаем ли мы, какими были показатели успешности экспертизы ценности в бумажной среде при проведении экспертизы вручную, - и как они соотносятся с аналогичными показателями, полученными при использовании технологий машинного обучения?
Благодарности

Я хотел бы поблагодарить и признать работу, проделанную выпускником по направлению ИКТ Малаем Шармой (Malay Sharma), который по ротации оказался на нужном месте именно в нужное время.

Гленн Хампфри (Glenn Humphries),
координатор проекта «Электронные архивы штата» (Digital State Archives)

Источник: сайт архивно-документационной службы штата Новый Южный Уэльс, Австралия
https://futureproof.records.nsw.gov.au/case-study-internal-pilot-machine-learning-and-records-management/

Комментариев нет:

Отправить комментарий