Основы ИИ
Как работает классификация текста?
Классификация текста – это процесс анализа последовательностей текста и присвоения им метки, помещая их в группу на основе их содержания. Классификация текста лежит в основе几乎 любой задачи ИИ или машинного обучения, связанной с обработкой естественного языка (NLP). С помощью классификации текста компьютерная программа может выполнять широкий спектр различных задач, таких как распознавание спама, анализ настроений и функции чат-ботов. Как именно работает классификация текста? Какие существуют разные методы классификации текста? Мы рассмотрим ответы на эти вопросы ниже.
Определение классификации текста
Важно потратить некоторое время и убедиться, что мы понимаем, что такое классификация текста в целом, прежде чем приступить к изучению различных методов классификации текста. Классификация текста – это один из тех терминов, который применяется к множеству различных задач и алгоритмов, поэтому полезно убедиться, что мы понимаем основную концепцию классификации текста, прежде чем приступить к изучению различных способов ее выполнения.
Все, что включает в себя создание различных категорий для текста, а затем пометку различных образцов текста как эти категории, можно считать классификацией текста. Пока система выполняет эти основные шаги, она может быть рассмотрена как классификатор текста, независимо отexact метода, используемого для классификации текста, и независимо от того, как классификатор текста в конечном итоге применяется. Обнаружение спама в электронной почте, организация документов по теме или названию, а также распознавание настроений отзыва о продукте – все это примеры классификации текста, поскольку они выполняются путем взятия текста в качестве входных данных и вывода метки класса для этого текста.
Как работает классификация текста?

Фото: Quinn Dombrowski via Flickr, CC BY SA 2.0 , (https://www.flickr.com/photos/quinnanya/4714794045)
Большинство методов классификации текста можно отнести к одной из трех различных категорий: методам, основанным на правилах, или методам машинного обучения.
Методы классификации текста на основе правил
Методы классификации текста на основе правил работают с помощью явно разработанных лингвистических правил. Система использует правила, созданные инженером, для определения того, в какой класс должен быть помещен данный текст, ищет подсказки в виде семантически значимых элементов текста. Каждое правило имеет шаблон, который текст должен соответствовать, чтобы быть помещенным в соответствующую категорию.
Чтобы быть более конкретным, давайте скажем, что вы хотели разработать классификатор текста, способный различать общие темы разговора, такие как погода, фильмы или еда. Чтобы ваш классификатор текста мог распознавать обсуждение погоды, вы могли бы сказать ему искать слова, связанные с погодой, в тексте. У вас был бы список ключевых слов, фраз и других значимых шаблонов, которые можно было бы использовать для различия темы. Например, вы могли бы сказать классификатору искать слова как “ветер”, “дождь”, “солнце”, “снег” или “облако”. Затем вы могли бы иметь классификатор, который просматривает входной текст и считает, сколько раз эти слова появляются в тексте, и если они появляются чаще, чем слова, связанные с фильмами, вы классифицируете текст как принадлежащий к классу погоды.
Преимущество систем, основанных на правилах, заключается в том, что их входные и выходные данные предсказуемы и интерпретируемы человеком, и их можно улучшить с помощью ручного вмешательства инженера. Однако методы классификации текста на основе правил также несколько хрупки и часто испытывают трудности с обобщением, поскольку они могут следовать только заранее определенным шаблонам. Например, слово “облако” может относиться к влаге в воздухе или к цифровому облаку, где хранятся данные. Системам, основанным на правилах, трудно справиться с этими нюансами без того, чтобы инженеры тратили много времени на ручное настройку и корректировку.
Системы машинного обучения
Как упоминалось выше, системы, основанные на правилах, имеют ограничения, поскольку их функции и правила должны быть запрограммированы заранее. Напротив, системы классификации текста на основе машинного обучения работают путем применения алгоритмов, которые анализируют наборы данных для поиска шаблонов, связанных с определенным классом.
Алгоритмы машинного обучения получают предварительно помеченные/классифицированные экземпляры, которые анализируются для поиска значимых признаков. Эти предварительно помеченные экземпляры являются обучающими данными.
Классификатор машинного обучения анализирует обучающие данные и учится шаблонам, связанным с различными классами. После этого незнакомые экземпляры очищаются от меток и подаются в алгоритм классификации, который присваивает им метку. Присвоенные метки затем сравниваются с исходными метками, чтобы увидеть, насколько точно классификатор машинного обучения был, оценивая, как хорошо модель научилась шаблонам, которые предсказывают классы.
Алгоритмы машинного обучения работают путем анализа числовых данных. Это означает, что для использования алгоритма машинного обучения на текстовых данных текст необходимо преобразовать в числовой формат. Существуют различные методы кодирования текстовых данных в числовые данные и создания методов машинного обучения на основе этих данных. Мы рассмотрим некоторые из различных способов представления текстовых данных ниже.
Метод мешка слов
Метод мешка слов – один из наиболее часто используемых подходов для кодирования и представления текстовых данных. Термин “мешок слов” возникает из-за того, что вы берете все слова в документах и помещаете их в один “мешок” без учета порядка слов или грамматики, обращая внимание только на частоту слов в мешке. Это приводит к длинному массиву или вектору, содержащему единственное представление всех слов в входных документах. Итак, если в входных документах существует 10000 уникальных слов, векторы признаков будут иметь длину 10000 слов. Это то, как рассчитывается размер мешка слов/вектора признаков.

Фото: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)
После определения размера вектора признаков каждый документ в списке всех документов получает собственный вектор, заполненный числами, указывающими, сколько раз слово появляется в текущем документе. Это означает, что если слово “еда” появляется восемь раз в одном текстовом документе, соответствующий вектор признаков/массив признаков будет иметь восемь в соответствующей позиции.
Иными словами, все уникальные слова, которые появляются в входных документах, помещаются в один мешок, а затем каждый документ получает вектор слов одинакового размера, который затем заполняется числом, указывающим, сколько раз различные слова появляются в документе.
Текстовые наборы данных часто содержат большое количество уникальных слов, но большинство из них используются нечасто. По этой причине количество слов, используемых для создания вектора слов, обычно ограничивается выбранным значением (N), а затем размер вектора признаков будет Nx1.
Частота термина – обратная частота документа (TF-IDF)
Другой способ представить документ на основе слов в нем – это TF-IDF. Подход TF-IDF также создает вектор, представляющий документ на основе слов в нем, но в отличие от метода мешка слов, слова в этом векторе взвешиваются не только по частоте. TF-IDF учитывает важность слов в документах, пытаясь количественно оценить, насколько актуально слово для темы документа. Иными словами, TF-IDF анализирует актуальность вместо частоты, и счетчики слов в векторе признаков заменяются на балл TF-IDF, рассчитываемый с учетом всего набора данных.
Подход TF-IDF работает путем расчета частоты термина, количества раз, когда уникальные термины появляются в определенном документе. Однако TF-IDF также заботится о том, чтобы ограничить влияние очень распространенных слов, таких как “те”, “или” и “и”, поскольку эти “стоп-слова” очень распространены, но несут очень мало информации о содержании документа. Эти слова необходимо дисконтировать, что относится к “обратной частоте документа” в TF-IDF. Это делается потому, что чем больше документов содержит конкретное слово, тем менее полезно это слово для различия его от других документов в списке всех документов. Формула, используемая TF-IDF для расчета важности слова, предназначена для сохранения слов, которые наиболее часты и семантически богаты.
Векторы признаков, созданные подходом TF-IDF, содержат нормализованные значения, сумма которых равна единице, присваивая каждому слову взвешенное значение, рассчитанное по формуле TF-IDF.
Встраивание слов
Встраивание слов – это методы представления текста, обеспечивающие, чтобы слова с похожими значениями имели похожие числовые представления.
Встраивание слов работает путем “векторизации” слов, то есть представления слов в виде векторов с действительными значениями в векторном пространстве. Векторы существуют в сетке или матрице и имеют направление и длину (или величину). При представлении слов в виде векторов слова преобразуются в векторы, состоящие из действительных значений. Каждое слово сопоставляется с одним вектором, и слова, похожие по значению, имеют похожее направление и величину. Этот тип кодирования позволяет алгоритму машинного обучения учиться сложным отношениям между словами.
Встраивание слов, представляющих различные слова, создается с учетом того, как используются слова в вопросе. Поскольку слова, используемые подобным образом, будут иметь подобные векторы, процесс создания встраивания слов автоматически переводит некоторый смысл слов. Подход мешка слов, напротив, создает хрупкие представления, где разные слова будут иметь несхожие представления, даже если они используются в очень похожих контекстах.
В результате встраивание слов лучше подходит для учета контекста слов в предложении.
Существуют различные алгоритмы и подходы, используемые для создания встраивания слов. Некоторые из наиболее распространенных и надежных методов встраивания слов включают: слои встраивания, Word2Vec и GloVe.
Слои встраивания
Одним из возможных способов использования встраивания слов вместе с системой машинного обучения/глубокого обучения является использование слоя встраивания. Слои встраивания – это слои глубокого обучения, которые преобразуют слова в векторы, которые затем подают в остальную часть системы глубокого обучения. Встраивание слов учится, пока сеть тренируется для конкретной текстовой задачи.

В подходе встраивания слов похожие слова будут иметь похожие представления и находиться ближе друг к другу, чем к непохожим словам.
Чтобы использовать слои встраивания, текст необходимо предварительно обработать. Текст в документе необходимо закодировать в один горячий вектор, а размер вектора необходимо указать заранее. Один горячий текст затем преобразуется в векторы слов, а векторы подаются в модель машинного обучения.
Word2Vec
Word2Vec – это еще один распространенный метод встраивания слов. Word2Vec использует статистические методы для преобразования слов в векторы и оптимизирован для использования с моделями, основанными на нейронных сетях. Word2Vec был разработан исследователями Google (GOOGL ) и является одним из наиболее часто используемых методов встраивания, поскольку он надежно дает полезные и богатые векторы. Представления Word2Vec полезны для выявления семантических и синтаксических сходств в языке. Это означает, что представления Word2Vec захватывают отношения между похожими понятиями, способные различать, что общность между “Король” и “Королева” – это королевская семья, и что “Король” подразумевает “мужчина”, а “Королева” подразумевает “женщина”.
GloVe
GloVe, или Глобальный вектор для представления слов, развивает алгоритмы встраивания, используемые Word2Vec. Методы встраивания GloVe сочетают в себе аспекты как Word2Vec, так и методов факторизации матрицы, таких как Латентный Семантический Анализ. Преимущество Word2Vec заключается в том, что он может захватить контекст, но как компромисс, он плохо захватывает глобальные статистические данные текста. Напротив, традиционные векторные представления хорошо подходят для определения глобальных статистических данных текста, но они не полезны для определения контекста слов и фраз. GloVe черпает из лучшего из обоих подходов, создавая контекстно-зависимые представления на основе глобальных статистических данных текста.












