Полная статья состоит из 3 частей:

  1. Введение в НЛП
  2. Реализация RNN и LSTM
  3. Прогноз настроений RNN

Это часть 1: Введение в НЛП

Рассматриваемые темы:

NLP и конвейеры, обработка текста, извлечение признаков, набор слов, TF-IDF, горячее кодирование, встраивание слов, Word2Vec, GloVE, встраивание для глубокого обучения

НЛП и конвейер:

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

Общий конвейер НЛП:

Обработка текстаИзвлечение признаковМоделирование

Каждый этап каким-то образом преобразует текст и дает результат, необходимый для следующего этапа.

Обработка текста:

Источники текста: Интернет, PDF, документ, голос, сканирование книги с помощью OCR и многое другое.

Наша цель — извлечь обычный текст, свободный от каких-либо маркеров или конструкций, зависящих от источника, которые не имеют отношения к нашей задаче.

После того, как мы получим обычный текст, мы можем выполнить дополнительную обработку, которая может понадобиться, например, использование заглавных букв обычно не меняет значение слова, поэтому мы можем преобразовать все слова в один и тот же регистр. Также можно удалить знаки препинания, некоторые общеупотребительные слова, которые часто помогают в построении структуры, но не добавляют смысла, например: «a, and, the, of, are…».

Типы методов предварительной обработки текста:

  1. Нижний регистр:
    пример 1: Индия, ИНДИЯ, Индия → индия
    пример 2: результат, РЕЗУЛЬТАТ, результат → результат
  2. Вывод:
    пример 1:Подключение, подключение, подключение → подключение
    пример 2: проблемы, проблемы, проблемы → проблемы
  3. Лемматизация:
    пример 1: беда, хлопоты, хлопоты → беда
    пример 2: гусь, гуси → гусь
  4. Нормализация:
    пример 1: 2moro,2mrrw,2morrow → завтра
    пример 2:b4 →перед
    пример 3: :) →улыбка

Извлечение признаков:

Представление функций:

  1. Набор слов.
    Модель набора слов рассматривает каждый документ как неупорядоченный набор или набор слов.
    Чтобы получить набор слов из исходного текста. нам необходимо применить соответствующие шаги обработки текста, такие как «Очистка, нормализация, выделение корней, лемматизация и т. д.» (некоторые из них обсуждались выше в разделе «Обработка текста»).
    пример:
    «
    Заседание суда» → {«суд», «заседание»}
    «Замуж за маленького ягненка» →{«мари», «литтл», «ягненок»}
    «Мерцай, мерцай, малютка» Звезда» →{«twinkl», «littl», «star»}
    Лучший способ представления — превратить каждый документ в вектор чисел, представляющих количество раз, которое слово встречается в документе. .
    Набор документов известен как Корпус. Из корпуса мы собираем все уникальные слова, чтобы сформировать наш словарь, а затем формируем матрицу терминов-документов.

2. TF-IDF:

TF-IDF – это статистическая мера, которая оценивает, насколько релевантно слово документу в наборе документов.

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

3. Горячее кодирование
Горячее кодирование — это процесс преобразования категориальных переменных в форму, которая может быть предоставлена ​​алгоритмам машинного обучения для более эффективного прогнозирования.

4. Встраивание Word:

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

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

мы хотим найти вложение для каждого слова в некоторое векторное пространство, и мы хотели продемонстрировать некоторые желаемые свойства.

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

Этот тип представления помогает находить синонимы и аналогии, определять понятия, вокруг которых группируются слова, классифицируя слова как положительные, отрицательные, нейтральные и т. д.

Word2Vec:

Он преобразует слова в векторы, но как это преобразование выполняется.

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

Два способа реализации Word2Vec:

  1. Пропустить грамм (среднее слово)
  2. Common Bag Of Words (CBOW) (соседние слова).

Пропустить грамм:

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

Спасибо за прочтение