Алоха, мои попутчики, (код введите до конца)

Сегодня я собираюсь объяснить вам технику «Мешок слов».

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

Объясните «Мешок слов» на примере?

Зайдите в свою почту Gmail, откройте приоритетный почтовый ящик и посмотрите, как Google магия вашего почтового ящика, классифицируя важные, социальные, спам и т. Д. Для всех ваших писем.

Помнишь сейчас?

Как Google узнает, что одни письма важны для вас, а другие - нет?

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

Загвоздка в том, что машина не знает английского языка, она понимает только числа, поэтому она разбивает все ваши документы на слова, например:

Электронная почта

Привет, мистер Мадан,

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

Как его ломает машина

Привет, мистер Мадан, Поздравляю, я, любил, вашу, статью ………… в простой, простой манере.

Тогда это разделение слов -

  1. Очищенные или предварительно обработанные. Удалите все ненужные специальные символы, если есть слова с другим акцентом, например, польский, немецкий, испанский и т. д., удалите или замените их или добавьте правильный Unicode, чтобы они были удобочитаемыми для машины.
  2. Нормализовать все данные - с помощью функции .lower () удалите из данных все заглавные буквы.
  3. Ламенцирование и определение корней. Удалите из данных все прилагательные / слова, основанные на словах, например, Baked, baking, baker - все они построены на словах, а не на bake. Классификация всех таких слов от данных до корневого слова. Кроме того, удаление всех стоп-слов, то есть всех слов, не добавляющих значения или измерения функции, таких как a, the и т. Д.

Затем, когда у нас есть все слова, мы токенизируем их, то есть записываем количество повторений всех слов в нашем документе. Ex - Этот кот толстый и симпатичный ›› Этот кот, это, a, толстый, кот, то есть, милый ››› This - 1, cat - 2, is -2, a -1, fat - 1, это -1, милый - 1

or

Это - 1

кот - 2

is -2

a — 1

жир - 1

что -1

милый - 1

Этот процесс называется токенизацией.

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

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

Разбивка токенизированных слов Документа 1 помогает нам сравнить их с другими токенизированными словами Документа 2, следовательно, помогает найти похожие документы.

А теперь вернемся к пакету слов.

После токенизации мы переходим к созданию словаря или поиску функций из документов.

voiceab = Все окончательные функции после очистки, удаления стоп-слов и т. д.

Итак, если в документе 3 документа и в каждом документе 7 слов, словарь - лучший выбор слов из документа, который в нашем случае составляет 10 слов из 21.

Количество словаря = количество всех уникальных функций или слов, которое для нас равно 10 (скажем).

После того, как мы находим словарь, мы конвертируем слова, которые мы закончили, в векторы, как вы спросите?

Скажите, что наш словарный запас для «Этот кот - милый толстый кот»:

Кошка - 2

is — 2

Жиры - 1

Симпатичные - 1

количество слов = 4

Итак, вектор документа «Этот кот - симпатичный толстый кот» -

[022010001]

Это число является не чем иным, как представлением, когда вы сравниваете окончательный словарь со словами в документе, то есть при сравнении

Это - 1, кот - 2, это -2, a -1, толстый - 1, тот -1, милый - 1

и Кот - 2, это - 2, Толстый - 1, Милый - 1

Получаем [022010001]

Этот процесс называется векторизацией.

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

#Part 1 Объявление всех документов документов и назначение документу
document1 = ”Это мой код на пакете слов »
document2 =« Набор слов - это техника НЛП ».
document3 =« Я объясню вам это простым способом »

# Часть 2 - Импорт библиотек и инициализация CountVectorizer

из sklearn.feature_extraction.text импорт CountVectorizer

# Создание списка или документа из всех документов
Doc = [document1, document2, document3]

# Инициализация CountVectorizer из sklearn
vectorizer = CountVectorizer (stop_words = ’english’)

# Часть 3 - Получение названий функций из последних слов, которые мы будем использовать для тегирования этого документа

X = vectorizer.fit_transform (Док)

анализировать = vectorizer.build_analyzer ()

анализировать (документ1)

анализировать (документ2)

анализировать (document3)

vectorizer.transform (документ1) .toarray ()

vectorizer.transform (документ2) .toarray ()

vectorizer.transform (документ3) .toarray ()

печать (vectorizer.get_feature_names ())

Вывод ››› ['сумка', 'код', 'объяснение', 'nlp', 'простой', 'техника', 'способ', 'слова']

# Часть 4 - Векторизация или создание матрицы всех трех документов s

печать (X.toarray ())

Вывод ››› [[1 1 0 0 0 0 0 1] [1 0 0 1 0 1 0 1] [0 0 1 0 1 0 1 0]]

Or

Проверьте мой Github здесь › Проверить код слов .

Я надеюсь, что это было просто и помогло вам понять концепцию. Если у вас есть отзывы, которые могут помочь мне улучшить контент или код, напишите мне - [email protected]

Мир.