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

К концу этой статьи вы сможете понять концепцию каждого метода.

Трансформационные методы

Это методы, используемые для извлечения информации из контекста/

Методы, о которых мы будем говорить,

  1. TF-IDF
  2. Кодирование горячим кодом
  3. Вложения слов

TF-IDF

TF-IDF расшифровывается как частота документа, обратная частоте, и представляет собой метод присвоения веса каждому запросу.

Проще говоря, это мера того, насколько важно конкретное слово для коллекции документов.

Теперь давайте разберемся, как работает этот метод.

Вес представляет собой произведение частоты запросов и обратной частоты появления документа. Давайте разберемся, как на самом деле работает этот метод!!

TF – это вероятность появления определенного слова в документе.

Например, рассмотрим этот простой документ: «Я видел, как собака играла со своим хозяином, и хозяин выглядел уставшим».

В приведенном выше примере

Частота слова «владелец» = 2

Общее количество слов = 13

Таким образом, термин Частота = 2/13.

Это значение TF на самом деле показывает нам, насколько важно конкретное слово, но в некоторых случаях стоп-слова, такие как «the», будут считаться столь же важными, поскольку они часто используются в контексте.

Чтобы избежать этого, мы рассмотрим инвертированную частоту документов.

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

IDF рассчитывается как

IDF = log(Количество документов/Количество документов, в которых встречается это слово).

Это значение снизит Частоту термина в случае стоп-слов, чтобы предоставить нам надежный вес.

Одно горячее кодирование

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

Кодирование является одним из важных этапов предварительной обработки. Это просто представление данных, которые может понять компьютер. То есть числовые значения.

В принципе, есть два способа представления данных

  • Кодировка этикетки

Предположим, у нас есть три метки; красный, зеленый и синий. Если мы используем кодировку меток, то каждой метке мы присвоим номер: красный = 1, зеленый = 2, синий = 3.

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

В этом случае вам следует воспользоваться нашим вторым вариантом.

  • Одно горячее кодирование

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

Если определенное слово присутствует в документе, ему присваивается «1», а если нет, то присваивается «0».

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

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

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

Подобно предыдущим методам преобразования, здесь мы представляем документ в числовом значении.

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

Рассмотрим следующие два предложения «Я видел гигантскую собаку и я видел большую собаку». Между этими двумя предложениями едва ли есть какая-либо разница в значении.

Мы можем записать это в виде множества s = {I,saw,a,giant,big,dog}.

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

I = [1,0,0,0,0,0], пила = [0,1,0,0,0,0], a = [0,0,1,0,0,0], гигант = [0,0,0,1,0,0], большой = [0,0,0,0,1,0], собака = [0,0,0,0,0,1]

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

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

Методы представления

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

Мешок слов

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

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

Например, рассмотрим эти три предложения,

«Я видел летучую мышь»

«Я видел волка»

«Я видел рыцаря»

Таким образом, словарный запас этих трех предложений

[Я видел летучую мышь, волка, рыцаря]

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

«Я видел летучую мышь» = [1,1,1,1,0,0]

«Я видел волка» = [1,1,1,0,1,0]

«Я видел рыцаря» = [1,1,1,0,0,1]

Это довольно просто, не так ли?

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

Матрица внедрения

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

Но в этом случае слова в одном формате горячего кодирования умножаются на встроенную матрицу для его представления.

Спасибо и хорошего дня