заглушки Как работает классификация текста? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

Как работает классификация текста?

mm
обновленный on

Классификация текста — это процесс анализа текстовых последовательностей и присвоения им меток, а также группирования их в зависимости от их содержания. Классификация текста лежит в основе практически любой задачи искусственного интеллекта или машинного обучения, включающей обработку естественного языка (NLP). Благодаря классификации текста компьютерная программа может выполнять широкий спектр различных задач, таких как распознавание спама, анализ настроений и функции чат-бота. Как именно работает классификация текста? Какие существуют методы классификации текста? Ниже мы рассмотрим ответы на эти вопросы.

Определение классификации текста

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

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

Как работает классификация текста?

Фото: Куинн Домбровски через Flickr, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

Большинство методов классификации текста можно отнести к одной из трех категорий: методы на основе правил или методы машинного обучения.

Методы классификации на основе правил

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

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

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

Системы машинного обучения

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

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

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

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

Мешок слов

Сумка-из-слов — один из наиболее часто используемых подходов к кодированию и представлению текстовых данных. Термин «мешок слов» происходит от того факта, что вы, по сути, берете все слова в документах и ​​кладете их все в один «мешок», не обращая внимания на порядок слов или грамматику, обращая внимание только на частота слов в сумке. В результате получается длинный массив или вектор, содержащий единственное представление всех слов во входных документах. Таким образом, если во входных документах всего 10000 10000 уникальных слов, длина векторов признаков будет XNUMX XNUMX слов. Вот как рассчитывается размер набора слов/вектора признаков.

Фото: gk_ через Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

После определения размера вектора признаков каждому документу в списке всех документов назначается собственный вектор, заполненный числами, указывающими, сколько раз рассматриваемое слово встречается в текущем документе. Это означает, что если слово «еда» встречается восемь раз в одном текстовом документе, соответствующий вектор признаков/массив признаков будет иметь восьмерку в соответствующей позиции.

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

Наборы текстовых данных часто содержат большое количество уникальных слов, но большинство из них используются не очень часто. По этой причине количество слов, используемых для создания вектора слов, обычно ограничено выбранным значением (N), и тогда размерность вектора признаков будет равна Nx1.

Частота термина, обратная частоте документа (TF-IDF)

Другой способ представления документа на основе слов в нем дублируется Частота термина, обратная частоте документа (TF-IDF). Подход TF-IDF также создает вектор, который представляет документ на основе содержащихся в нем слов, но в отличие от Bag-of-words эти слова взвешены не только по их частоте. TF-IDF учитывает важность слов в документах, пытаясь количественно определить, насколько релевантно это слово теме документа. Другими словами, TF-IDF анализирует релевантность, а не частоту, и количество слов в векторе признаков заменяется оценкой TF-IDF, которая рассчитывается для всего набора данных.

Подход TF-IDF работает, сначала вычисляя частоту термина, количество раз, которое уникальные термины появляются в конкретном документе. Тем не менее, TF-IDF также старается ограничить влияние очень распространенных слов, таких как «the», «or» и «and», поскольку эти «стоп-слова» очень распространены, но передают очень мало информации о содержании документа. Эти слова нужно не принимать во внимание, что и относится к части «обратной частоты документа» TF-IDF. Это сделано потому, что чем больше документов, в которых встречается конкретное слово, тем менее полезно это слово для того, чтобы отличить его от других документов в списке всех документов. Формула, которую TF-IDF использует для вычисления важности слова, предназначена для сохранения наиболее часто встречающихся и наиболее семантически богатых слов.

Векторы признаков, созданные с помощью подхода TF-IDF, содержат нормализованные значения, сумма которых равна единице, присваивая каждому слову взвешенное значение, рассчитанное по формуле TF-IDF.

Вложения слов

Вложения слов — это методы представления текста, которые гарантируют, что слова со схожими значениями будут иметь аналогичные числовые представления.

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

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

В результате встраивание слов лучше улавливает контекст слов в предложении.

Существуют различные алгоритмы и подходы, используемые для создания встраивания слов. Некоторые из наиболее распространенных и надежных методов встраивания слов включают: встраивание слоев, word2vec и GloVe.

Встраивание слоев

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

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

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

Word2Old

Word2Old — еще один распространенный метод встраивания слов. Word2Vec использует статистические методы для преобразования слов во вложения и оптимизирован для использования с моделями на основе нейронных сетей. Word2Vec был разработан исследователями Google и является одним из наиболее часто используемых методов встраивания, поскольку он надежно обеспечивает полезные, богатые встраивания. Представления Word2Vec полезны для выявления семантических и синтаксических общих черт в языке. Это означает, что представления Word2Vec фиксируют отношения между похожими понятиями, позволяя различать, что общность между «Королем» и «Королевой» — это королевская власть, и что «Король» подразумевает «мужественность», а Королева подразумевает «женственность».

перчатка

GloVE, или глобальный вектор для представления слов, основан на алгоритмах встраивания, используемых Word2Vec. Методы встраивания GloVe сочетают в себе аспекты методов Word2Vec и матричной факторизации, таких как латентный семантический анализ. Преимущество Word2Vec заключается в том, что он может фиксировать контекст, но в качестве компромисса он плохо фиксирует глобальную текстовую статистику. И наоборот, традиционные векторные представления хороши для определения глобальной текстовой статистики, но бесполезны для определения контекста слов и фраз. GloVE использует лучшее из обоих подходов, создавая словесный контекст на основе глобальной текстовой статистики.