Работа с текстовыми данными

Содержание

Слайд 2

Слайд 3

Этапы решения задачи классификации текстов Этап 1. Обработка текста Токенизация (разделение

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

Этап 1. Обработка текста
Токенизация (разделение исходного текста

на токены).
Поиск частей речи
Лемматизация (приведение слов к нормальной словарной форме)
Удаление «стоп слов»
Тематическое моделирование
Поиск устойчивых словосочетаний (n-gramm)
Этап 2. Векторизация текста
Поиск близких по смыслу слов с помощью модели word2vec
Кодирование данных помощью методологии TF-IDF
Этап 3. Выбор модели классификации и обучение
Слайд 4

Улучшение модели - Искать последовательности символов, которые состоят как минимум из

Улучшение модели

- Искать последовательности символов, которые состоят как минимум из двух

букв или цифр и отделены друг от друга границами слов.
-Преобразовывать все слова в строчные, чтобы слова «soon», «Soon» и «sOon» соответствовали одному и тому же токену (и, следовательно, одному и тому же признаку).
-Использовать только те токены, которые встречаются по крайней мере в двух документах (или по крайней мере в пяти документах и т.д.). Токен, который встретился только в одном документе, вряд ли встретится в тестовом наборе и поэтому бесполезен.
Слайд 5

Еще один способ, с помощью которого мы можем избавиться от неинформативных

Еще один способ, с помощью которого мы можем избавиться от неинформативных

слов – исключение слов, которые встречаются слишком часто, чтобы быть информативными. Существуют два основных подхода: использование списка стоп-слов (на основе соответствующего языка), или удаление слов, которые встречаются слишком часто.
Слайд 6

Стоп слова К стоп-словам можно отнести предлоги, причастия, междометия, цифры, частицы

Стоп слова

К стоп-словам можно отнести предлоги, причастия, междометия, цифры, частицы и

т. п. Общие шумовые слова в задачах классификации обычно исключаются
Слайд 7

Тематическое моделирование Тематическое моделирование применяется в задачах кластеризации или классификации текстов.

Тематическое моделирование

Тематическое моделирование применяется в задачах кластеризации или классификации текстов.

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

Слайд 9

Слайд 10

Метод частота термина-обратная частота документа (term frequency-inverse document frequency, tf-idf) вместо

Метод частота термина-обратная частота документа (term frequency-inverse document frequency, tf-idf) вместо

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

Значение tf-idf для слова w в документе d вычисляется по формуле:

Значение tf-idf для слова w в документе d вычисляется по формуле:

где

N – это количество документов в обучающем наборе, Nw – это количество документов обучающего набора, в которых встретилось слово w, и tf (частота термина) – это частота встречаемости термина в запрашиваемом документе d (документе, который вы хотите преобразовать).
Слайд 12

Иллюстрация метода кодирования TF-IDF

Иллюстрация метода кодирования TF-IDF

Слайд 13

Пример работы tf-idf Vectorizer

Пример работы tf-idf Vectorizer

Слайд 14

Один из главных недостатков представления «мешок слов» заключается в полном игнорировании

Один из главных недостатков представления «мешок слов» заключается в полном игнорировании

порядка слов. Таким образом, две строки «it’s bad, not good at all» и «it’s good, not bad at all» будут иметь одинаковое представление, хотя противоположны по смыслу. Употребление частицы «not» перед словом – это лишь один из примеров того, какое важное значение имеет контекст
Существует способ, позволяющий учитывать контекст при использовании представления «мешок слов», фиксируя не только частоты одиночных токенов, но и пары, тройки токенов, которые появляются рядом друг с другом. Пары токенов называют биграммами (bigrams), тройки токенов известны как триграммы (trigrams), а в более широком смысле последовательности токенов известны как n-граммы (n-grams).
Слайд 15

Эти методы подразумевают идентификацию или объединение всех слов с одной и

Эти методы подразумевают идентификацию или объединение всех слов с одной и

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

Токенизация и лемматизация

Токенизация и лемматизация

Слайд 17

Технология Word2Vec Word2Vec - группа алгоритмов, предназначенных для получения вещественных векторных

Технология Word2Vec

Word2Vec - группа алгоритмов, предназначенных для получения вещественных векторных представлений

слов в пространстве с невысокой фиксированной размерностью (word embedding). Вход модели- коллекция текстов. Выход - векторные представления слов. Идея: “Слова со схожими значениями разделяют схожий контекст”
Как правило, в таком представлении семантически близкие слова оказываются близкими (в смысле определенной метрики) векторами. Векторное представление основывается на контекстной близости: слова, встречающиеся в тексте рядом с одинаковыми словами, в векторном представлении будут иметь близкие координаты. С помощью дистрибутивных векторных моделей можно строить семантические пропорции и решать примеры:
Король- мужчина = королева- женщина ⇒
король - мужчина + женщина = королева
Слайд 18

Как это обучается? Создаем обучающую выборку из текстовых данных (скажем, все

Как это обучается?

Создаем обучающую выборку из текстовых данных (скажем, все статьи

Википедии)
Устанавливаем окно (например, из пяти слов), которое скользит по всему тексту.
Скользящее окно генерирует образцы для обучения нашей модели
Чтобы сделать обучение быстрее и эффективнее, используется негативное семплирование (Negative Sampling): модели также предоставляются слова, которые не являются контекстными соседями.
Слайд 19

Технология Word2Vec W2V методами нейронных сетей решает задачу снижения размерности и

Технология Word2Vec 

W2V методами нейронных сетей решает задачу снижения размерности и выдает

на выходе компактные векторные представления слов, в максимальной степени отражающие отношения этих слов в обрабатываемых текстах.
CBOW - предсказание слова на основании близлежащих слов.
Skip-gram – предсказание близлежащих слов на основании одного слова.
Слайд 20

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

Пример группы схожих слов для предоставленного набора данных

В качестве меры сходства

выступает косинусное расстояние. Косинусное расстояние — это мера сходства между двумя векторами,вычисляемая как косинуса угла между ними.
Слайд 21

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

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

импортировать с помощью библиотеки gensim.
Результат обучения векторных представлений сильно зависит от коллекции.
Сравним топ-5 самых близких слов к заданным:
Википедия Луркоморье
most_similar(россия) most_similar(россия)
российский 0.5653642416 беларусь 0.645048737526
рф 0.523694574833 европа 0.622894406319
украина 0.492026507854 украина 0.622316598892
ссср 0.473026573658 германия 0.609378278255
most_similar(тролль) most_similar(тролль)
муметь 0.717674195766 троллинг 0.725703835487
гоблин 0.559770524502 троль 0.660580933094
великан 0.557757973671 лжец 0.582996308804
злобный 0.55741250515 провокатор 0.57004237175

Результаты

Слайд 22

Результаты

Результаты

Слайд 23

Слайд 24

Обучение на уровне слов: нет информации о предложении или контексте, в

Обучение на уровне слов: нет информации о предложении или контексте, в

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

Недостатки Word2Vec

Слайд 25

https://rusvectores.org/ru/ RusVectores: семантические модели для русского языка

https://rusvectores.org/ru/

RusVectores: семантические модели
для русского языка

Слайд 26

GloVe (Global Vectors) GloVe - алгоритм обучения без учителя для получения

GloVe (Global Vectors)

GloVe - алгоритм обучения без учителя для получения векторных

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

Матрица совместного вхождения для предложения «the cat sat on the mat» с размером окна 1:

Слайд 27

GloVe (Global Vectors) Векторы wi и wk слов i и k подбираются таким образом, чтобы

GloVe (Global Vectors)

Векторы wi и wk слов i и k подбираются

таким образом, чтобы
Слайд 28

Преимущества Простая архитектура без нейронной сети. Модель быстрая, и этого может

Преимущества
Простая архитектура без нейронной сети.
Модель быстрая, и этого может быть достаточно

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

Преимущества и недостатки GloVe

Слайд 29

fastText Созданная в Facebook библиотека fastText – ещё один серьёзный шаг

fastText

Созданная в Facebook библиотека fastText – ещё один серьёзный шаг в

развитии моделей естественного языка. Для векторизации слов используются одновременно и skip-gram, и негативное семплирование, и алгоритм непрерывного мешка слов (CBOW). FastText — это библиотека, содержащая предобученные готовые векторные представления слов и классификатор, то есть алгоритм машинного обучения разбивающий тексты на классы.
К основной модели Word2Vec добавлена модель символьных n-грамм. Каждое слово представляется композицией нескольких последовательностей символов определённой длины. Например, слово they в зависимости от гиперпараметров, может состоять из "th", "he", "ey", "the", "hey". По сути, вектор слова – это сумма всех его n-грамм.
Результаты работы классификатора хорошо подходят для слов с небольшой частотой встречаемости, так как они разделяются на n-граммы. В отличие от Word2Vec и Glove, модель способна генерировать эмбеддинги для неизвестных слов.
Слайд 30

FastText Импортируется модель, например, так: from gensim.models import FastText У модели

FastText

Импортируется модель, например, так:
from gensim.models import FastText
У модели есть гиперпараметры. Вот

описание некоторых из них:
Размерность вектора модели. Если установить 100 — каждое слово в корпусе будет представлено в виде 100-мерного вектора, и т.п.
Размер окна. Этот параметр задает, сколько соседних слов считается частью контекста.
Наименьшее допустимое количество символов в слове, для которого будет создаваться векторное представление; так можно убрать частотные, но не очень значимые слова типа союзов и предлогов.
Выбор архитектуры векторной модели: skip-gram или СBOW. Sg = 1 переключит на модель skip-gram. По умолчанию значение параметра 0, что означает использование CBOW.