Рубрики
Без рубрики

Сумка слов модели в Python [в 10 линиях кода!]

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

Автор оригинала: Pankaj Kumar.

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

Что такое сумка моделей слов?

Сумка слов (Поклон) Это техника для извлечения функций из текста для Обработка натурального языка Отказ

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

Шаги, участвующие в создании Модель лука Для листа текста следующие:

  1. Токенизировать текст и хранить токены в списке.
  2. Создайте словарь из токенов.
  3. Подсчитайте количество вхождений токенов в каждом предложении и хранить количество.
  4. Создайте мешок слов модели, преобразуя текст на векторы с количеством каждого слова из словаря.

Мы собираемся использовать Модуль предварительного обработки KERAS реализовать лук. В частности, мы будем использовать Токенизатор класс, который является Утилита Tokenization Tokenization.

Давайте посмотрим пример.

Пример сумки слов модели

Рассмотрим следующие предложения.

  'There was a man',
  'The man had a dog',
  'The dog and the man walked',

В нашем тексте есть три предложения. Давайте создадим словарный запас из этого.

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

Токенизация – это процесс разрушения куска текста в более мелкие агрегаты, называемые токенами.

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

человек то a собака там было имел а также ходил

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

Мы получаем счет следующим образом:

человек то a собака там было имел а также ходил
S1. 1 0 1 0 1 1 0 0 0
S2. 1 1 1 1 0 0 1 0 0
S3 1 2 0 1 0 0 0 1 1

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

[[0. 1. 0. 1. 0. 1. 1. 0. 0. 0.]
[0. 1. 1. 1. 1. 0. 0. 1. 0. 0.]
[0. 1. 2. 0. 1. 0. 0. 0. 1. 1.]]

Теперь давайте узнаем, как внедрить сумку слов модели с помощью KERAS.

Как реализовать сумку слов, используя Python Keras?

Для реализации сумки слов с использованием KERAS мы сначала придется импортировать модуль.

from keras.preprocessing.text import Tokenizer

Теперь мы должны объявить текст для работы модели.

text = [
  'There was a man',
  'The man had a dog',
  'The dog and the man walked',
]

Теперь давайте посмотрим, как получить словарь и мешок слов представлений для текста.

1. Установите токенизатор на тексте

Чтобы создать токены из текста, мы будем использовать класс Tokenizer из модуля предварительного обработки текста KERAS.

model = Tokenizer()
model.fit_on_texts(text)

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

2. Получите сумку слова представления

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

rep = model.texts_to_matrix(text, mode='count')

Здесь мы используем Текст к матрицу Метод из класса токенизатора. Это преобразует список текстов на Numpy Matrix. Упомяную режим как Считать Мы гарантируем, что окончательная матрица имеет количество для каждого токена.

Для отображения векторов используют:

print(rep)

Выход:

[[0. 1. 0. 1. 0. 1. 1. 0. 0. 0.]
 [0. 1. 1. 1. 1. 0. 0. 1. 0. 0.]
 [0. 1. 2. 0. 1. 0. 0. 0. 1. 1.]]

Теперь давайте посмотрим, как напечатать словарный запас.

3. Отобразить словарный запас

Чтобы отобразить словарный запас (токены) Использование:

print(f'Key : {list(model.word_index.keys())}')

Выход:

Key : ['man', 'the', 'a', 'dog', 'there', 'was', 'had', 'and', 'walked']

Полный код Python для сумки слов модели

Вот полный код для этого руководства.

from keras.preprocessing.text import Tokenizer

text = [
  'There was a man',
  'The man had a dog',
  'The dog and the man walked',
]
# using tokenizer 
model = Tokenizer()
model.fit_on_texts(text)

#print keys 
print(f'Key : {list(model.word_index.keys())}')

#create bag of words representation 
rep = model.texts_to_matrix(text, mode='count')
print(rep)

Выход:

Key : ['man', 'the', 'a', 'dog', 'there', 'was', 'had', 'and', 'walked']
[[0. 1. 0. 1. 0. 1. 1. 0. 0. 0.]
 [0. 1. 1. 1. 1. 0. 0. 1. 0. 0.]
 [0. 1. 2. 0. 1. 0. 0. 0. 1. 1.]]

Заключение

Этот учебник был о реализации T Он сумка слов модели в питоне. Мы использовали модуль предварительного обработки текста KERAS для его реализации. Надеюсь, вы веселились с нами.