Байкальский государственный университет
Обзор методов искусственного интеллекта для решения задач классификации текстов
Е.Е.Раковская
г. Иркутск, Российская Федерация
Аннотация
В настоящее время наблюдается экспоненциальный рост объемов естественно-языковой информации, доступной в сети Интернет. Имеется необходимость автоматической обработки текстовых данных, чтобы применить лингвистические ресурсы для решения практических задач. В статье дается краткий обзор алгоритмов классификации текстов, рассматриваются различные варианты определения признаков текста для классификации, методы предобработки текстов, методы уменьшения размерности. Уделяется внимание перспективным направления развития технологий обработки естественного языка.
Ключевые слова. Классификация текстов, обработка естественного языка, модель векторного пространства, взвешивание терминов, эмбеддлинговые модели, классификация коротких текстов.
Abstract
Review of artificial intelligence methods for solving problems of text classification
Е.Е. Rakovskaya Baikal State University, Irkutsk, the Russian Federation
Currently, there is an exponential increase in the volume of natural language information available on the Internet. There is a need for automatic processing of text data in order to use linguistic resources for solving practical problems. The article provides a brief overview of text classification algorithms, discusses various options for determining text features for classification, methods for preprocessing texts, and methods for reducing dimension. The article focuses on promising areas of development of natural language processing technologies.
Keywords. Text classification, natural language processing, term weighting, embedding models, linguistic vector models, classification of short texts.
Введение
В настоящее время технологии искусственного интеллекта широко применяется во всем мире. Под искусственным интеллектом в России понимается комплекс технологических решений, позволяющий имитировать когнитивные функции человека (включая самообучение и поиск решений без заранее заданного алгоритма) и получать при выполнении конкретных задач результаты, сопоставимые, как минимум, с результатами интеллектуальной деятельности человека.
Одним из перспективных направлений развития и применения технологий искусственного интеллекта является обработка естественно-языковой информации (NLP, natural language processing), распознавание и синтез речи.
Классификация текстов
Текстовая классификация определяется как отнесение текста к одному или нескольким категориям на основании содержания документа. Формально задача текстовой классификации формулируется следующим образом. По заданному набору текстов и набору категорий необходимо построить модель Y = f(X, 0) + Ј из набора документов с известными категориями. X -- это подходящим образом выбранное представление текстов, например, векторное представление, 0 -- набор неизвестных параметров, связанных с функцией f (также называемой классификатором или моделью классификации), которые необходимо обучить при помощи обучающих данных и є является ошибкой классификации. Y -- величина, которая обычно принимает числовое значения, указывающая на принадлежность текста к той или иной категории. Например, когда имеется только две категории -- положительный или отрицательный, присутствие или отсутствие, Y может принимать значения +1 и -1.
Естественные языки содержат семантику высокого уровня и абстрактные концепции [1; 2], которые сложно учитывать при математическом моделировании естественного языка. Значение слова может меняться в зависимости от контекста, в котором оно используется. В текстах на естественном языке присутствует лексическая, синтаксическая, структурная неоднозначность [2; 3]. Другая проблема обработки естественного языка связана с опечатками и орфографическими ошибками, сокращениями и новой лексикой.
Классификация текстов состоит из следующих этапов: предварительная обработка текстов, преобразование текстов, уменьшение размерности входных данных классификатора, выбор и применение методов классификации, оценка работы классификатора.
Предварительная обработка текстов для классификации
Цель предварительной обработки -- удалить нерелевантные элементы текста. Во время предварительной обработки сначала применяется токенизация к отдельным терминам. Терминами, или элементами текста, могут быть слова, знаки препинания, числа, теги и другие символы, например, смайлики. В письменной речи термины обычно разделяются пробелами. Знаки пунктуации и числа, если они несущественны для рассматриваемой задачи классификации, удаляются, хотя, в некоторых случаях, они могут быть информативными и сохраняются. Например, восклицательные знаки или смайлики могут указывать на эмоциональную окраску текста. Словари, или лексиконы, используются для исправления орфографических ошибок, а также для устранения опечаток и сокращений. Слова, которые, как известно, содержат мало семантической информации (предлоги, союзы), удаляются. Если регистр букв не имеет значения, рекомендуется преобразовывать все буквы в нижний регистр.
Во время предобработки широко применяется стемминг, который определяется как процесс получения основ слов. Практический вопрос о том, какие применить методы предварительной обработки, во многом определяется характером текста, например, языком текста или жанром, а также задачей, которую необходимо решить при помощи классификации. Любая специфическая предварительная подготовка может быть полезна для определенной предметной области или языка текста, и может быть ненужной для других задач исследования.
Преобразование текста
В большинстве алгоритмов классификации в качестве входных данных используются векторы или матрицы. Наиболее распространенный способ представления текста -- применение модели векторного пространства (VSM, vector space model) [4; 5]. Элементы в этом представлении -- это термины, содержащиеся в корпусе. Из предположения, что слова -- это наименьшие значимые единицы языка, следует, что размеры векторов равны размеру словаря, т.е. набору уникальных терминов в корпусе. Таким образом, можно представить документj как Yj = (xf, xf, xf ... x^), где M- размер словаря, а xj -- вес термина i. Весом может быть количество терминов в документе xj = 1 (TF,term frequency) или, при использовании двоичного взвешивания, Xj = 1 (присутствие элемента) и х] = 0 0(отсутствие элемента). Преобразованные данные весов включаются в матрицу «документ -- термин», где строки - это документы, а столбцы- термины.
Существуют разные варианты взвешивания. Можно использовать логарифмы значений частот, чтобы уменьшить влияние часто встречающихся терминов. В этом случае нужно добавить 1 к величинам частот слов, чтобы избежать логарифмирования нулевых значений. Также можно нормализовать длину документа, разделив каждую величину на максимальное количество терминов в данном документе. Веса терминов могут быть нормализованы по отношению ко всему корпусу. Веса на основе корпуса включают в себя обратную частоту документа (IDF, inverse document frequency), которая оценивает специфичность термина в корпусе [6]. Термины, которые встречаются в слишком малом (большое значение IDF), или в слишком большом (значение IDF, близкое к нулю) количестве документов, имеют низкую дискриминирующую способность и поэтому не влияют на результат классификации (IDF = log--, где dfi -- количество документов, содержащих термин tj). Веса на основе документа и корпуса можно комбинировать, чтобы веса одновременно отражали важность термина в документе и его специфику для корпуса. Самым популярным комбинированным показателем является произведение частоты термина в документе TF и обратной частоты документов IDF [7]. Несмотря на то, что VSM-модель не учитывает информацию о порядке слов, она широко используется благодаря своей эффективности. Игнорирование порядка слов предполагает потерю некоторой информации о семантических отношениях между словами. Кроме того, один термин не всегда может выражать истинные элементарные значения языковой единицы. Часто модели VSM улучшают за счет добавления слов контекста -- биграмм или триграмм как признаков текста. N-граммы представляют собой несколько подряд встречающихся слов, или других элементов текста, например, букв или слогов. В работе [8] обсуждаются синтаксические N-граммы, которые получены с применением синтаксических зависимостей (синтаксических деревьев) в предложении, а не последовательной обработки структуры текста.
Первичное преобразование текста играет важную роль в функционировании классификаторов. Для улучшения качества классификации можно реализовать возможность разработки признаков текста, полученных из лингвистической информации, например, частей речи [9; 10]
Эмбеддинговые модели
Т. Миколов с соавторами [11; 12] предложили подход Word2vec с применением нейронных сетей, что дает возможность построить эмбеддинговые модели, в которых каждое слово из словаря представлено в виде вектора действительных чисел. Метод основан на идее дистрибутивной семантики, т.е. слова, которые встречаются в похожих контекстах, семантически близки и имеют похожие лексические значения. Контекст в этом случае -- несколько окружающих слов. В модели Word2vec рассчитывается вероятностная оценка совместного употребления групп слов и на основе полученных данных формируются n-мерные векторы для каждого слова. В технологии Word2Vec используются методы: «непрерывный мешок слов» (CBOW, Continuous Bag of Words) и Skip-gram. CBOW предсказывает вероятность слова в заданном контексте, т.е. учитывая контекст, модель предсказывает целевое слово. В модели Skip-gram на вход нейронной сети подается вектор целевого слова, а на выходе формируются векторы контекстных слов.
Уменьшение размерности
После предварительной обработки преобразование с помощью VSM может привести к большому набору данных. По возможности, следует уменьшить размерность векторов документов путем выборочного исключения признаков, либо путем создания скрытых признаков из существующих без ущерба качества анализа [13]. Методы уменьшения признакового пространства текстов -- анализ главных компонент (PCA, principal component analysis) [14], латентно-семантический анализ (LSA, latentsemantic analysis) [15], неотрицательная матричная факторизация [16].
Выбор и применение алгоритмов текстовой классификации
Преобразованный текст, или матрица «документ -- термин» является входными данными для классификации. Существуют следующие виды методов классификации: геометрические, вероятностные и логические. Геометрические алгоритмы основываются на том, что документы могут быть представлены в виде точек в гиперпространстве. Можно определить расстояние между документами и длину документов. В этом представлении геометрическая близость обозначает сходство документов. Примером геометрического классификатора является метод K ближайших соседей, в котором классификация выполняется посредством поиска ближайших K документов с использованием меры расстояния из обучающих данных [17]. Большинство классов K ближайших документов является классом, который присваивается новому документу. Другой геометрический классификатор использует метод опорных векторов (SVM, support vector machine) [18], в котором строится гиперплоскость, обеспечивающая наилучшее разделение текстов для каждого класса. Вероятностные алгоритмы вычисляют совместное распределение вероятностей между наблюдениями (текстами) и их классами. Предполагается, что каждый документ представляет собой независимую случайную выборку из совместного распределения вероятностей. Ключевым моментом является оценка апостериорной вероятности Р = ( Ym Х). Классификация выполняется при определении класса, который дает максимальную апостериорную вероятность для данного документа. Примером вероятностного классификатора является наивный байесовский классификатор и логистическая регрессия. Третий тип алгоритмов - это логические классификаторы, которые выполняют классификацию с помощью логических правил, например, деревья решений (DT, decisiontree).
Для повышения эффективности в настоящее время применяются комбинированные методы, объединяющие несколько классификаторов (ансамбли классификаторов) [19-21]. Такая классификация может быть достигнута разными способами. Можно использовать один метод классификации и провести обучение на разных подмножествах данных. Примером такого вида обучения является «случайный лес» (RF, Random forest) -- метод машинного обучения, заключающийся в использовании ансамбля решающих деревьев.
Алгоритм сочетает в себе случайный выбор подпространств для каждого дерева решений и усреднение результатов классификации [22]. В искусственных нейронных сетях применяется один метод обучения, но многократно изменяются параметры обучения. Можно использовать различные методы классификации -- наивный байесовский классификатор, деревья решений или метод опорных векторов и объединить прогнозы с использованием большинства голосов [23].
Классификация текстов для решения практических задач
В ранней истории машинного обучения и искусственного интеллекта методы классификации текста, в основном, использовались для систем поиска информации. Однако, по мере развития технологий, классификация текстов и категоризация документов стали повсеместно использоваться во многих областях -- медицине, социологических исследованиях, психологии, юриспруденции, технических науках.
Классификация медицинских текстов
Большая часть текстовой информации в области медицины представлена в неструктурированном виде, в повествовательной форме, со специфическими терминами и со множеством опечаток. Классификация медицинской информации, включающая в себя большой набор категорий, является важной частью работы для обобщения и структурирования медицинских данных, что является необходимостью для планирования и развития медицины, прогнозирования заболеваемости. В исследовании «Сравнительный анализ статистических методов классификации научных публикаций в области медицины» Г.В. Данилов с соавторами для классификации медицинских документов применили методы наивного байесовского классификатора, опорных векторов, распределения n-грамм [24]. Ошибка классификации составила для разных методов 5-20 %.
Также перечисленные методы были применены для классификации аннотаций к текстам, т.е. текстам, имеющим небольшую длину. Zhang и др. представили программу Patient2vec для изучения данных электронных историй болезней, персонализированных для каждого пациента [25]. Patient2vec -- метод встраивания признаков набора текстовых данных медицинских документов на основе нейронных сетей - был использован для прогнозирования риска госпитализации пациентов. Экспериментальные результаты показывают, что алгоритм Patient2vec позволяет достичь более точного прогноза, чем классические подходы, например, логистическая регрессия. Классификация текстов и категоризация документов применяется для понимания человеческого поведения. Исследования в области социального мониторинга сосредоточены на изучении общедоступных текстов, содержащихся в СМС, социальных сетях [26; 27]. Основные методы классификации, применяемые в социологических исследованиях -- методы, основанные на подсчете частот встречаемости терминов с психологической значимостью [27].