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

Перчатка для печата вектор

Эта статья описывает использование методики векторизации перчатки в Python. Теги с Wordvectorization, Python, перчаткой.

Что такое перчатка?

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

Примеры для линейных подструктур являются:

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

Подробнее о печати слова Вы можете прочитать мой другой Статья Отказ

В этом посте в блоге мы узнаем о реализации перчатки в Python. Итак, давайте начнем.

Давайте создадим встраивания

Установка перчатки-питона

pip install glove_python







Предварительная обработка текста На этом этапе мы будем предварительно обработать текст, например, удаление слов стоп, лемматизируйте слова и т. Д. Вы можете выполнять разные шаги на основе ваших требований. Я буду использовать корпус NLTK STOPWORD для удаления слов слов и NLTK Word Lemmatization для поиска лемм. Для использования NLTK CORPUS вам нужно будет загрузить его, используя следующие команды. Загрузка CORPUS Import NLTK NLTK.Download () # Это откроет графический интерфейс, из которого вы можете скачать корпус Инициализация входных данных #list предложений для вектора линий = [“HELLO Это учебник о том, как преобразовать слово в целочисленном формате”, “Это прекрасный день”, “Джек идет в офис”] Снятие слов стоп от NLTK.corpus Import Stopwords (Stopwords.words (‘English’)) line_without_stopwords = [] #STOP Слова содержат набор стоп-слов для линии в строках: temp_line = [] Для слова в строках: если слово не в stock_words: temp_line.append (word) lines_without_stopwords.append (string.join (temp_line))) Лемматизация # Import Wordnet Lemmatizer из NLTK из NLTK.Stem Import WordnetLemmatizer () Lines_with_lemmas = [] Слова #stop содержат набор слов стоп для линии в строках: temp_line = [] для слова в строках: temp_line.append (wortnet_lemmatizer.lemmatize (word)) lines_with_lemmas.append (string.join (temp_line))) Теперь мы сделали основную предварительную обработку текста. Любые другие предварительно обработанные вещи могут быть достигнуты аналогично.

Подготовка ввода

Мы выбрали вход в виде массива строк. Чтобы модели для обработки данных нам нужно преобразовать ваш вход в массив массива слов (: \). Наши входные линии = [«Привет, это учебник о том, как преобразовать слово в целочисленном формате», – «Это прекрасный день», – «Джек собирается в офис»] Новые входные линии = [[«Hello», ‘ Это «Учебник», «на», «Как», «конвертировать», «слово», «целое число», «формат»], [«Это», «красивый», «день»], [«Джек» , «Идти», «Офис»] NEW_LINES = [] для линии в строках: .split (”) #New Lines имеет новый формат, создающий модель перчатки

#importing the glove library
from glove import Corpus, Glove

# creating a corpus object
corpus = Corpus() 

#training the corpus to generate the co occurence matrix which is used in GloVe
corpus.fit(lines, window=10)

#creating a Glove object which will use the matrix created in the above lines to create embeddings
#We can set the learning rate as it uses Gradient Descent and number of components

glove = Glove(no_components=5, learning_rate=0.05)
 
glove.fit(corpus.matrix, epochs=30, no_threads=4, verbose=True)
glove.add_dictionary(corpus.dictionary)
glove.save('glove.model')
  • Линии – это 2D массив, который мы создали после предварительной обработки
  • окно – это расстояние между двумя словами Algo следует рассмотреть возможность найти некоторые отношения между ними
  • no_of_components – это размерность выходного вектора, генерируемого перчаткой
  • Onlining_Rate – Algo использует градиентный спуск, поэтому скорость обучения определяет скорость, при которой алловые достигают к минимуму (снизить уровень больше времени, необходимое для изучения, но достигает минимального значения)
  • COOCCURENCE_MATRIX: матрица соположения слов слова
  • эпохи: Это определяет количество проходов, которые проходят через набор данных
  • NO_OF_THREADS: количество потоков, используемых ALGO бежать
glove.add_dictionary(corpus.dictionary)

Эта строка делает словарное добавление в объекте перчатки. После этого объект готов предоставить вам вложения.

print glove.word_vectors[glove.dictionary['samsung']]
OUTPUT:
[ 0.04521741  0.02455266 -0.06374787 -0.07107575  0.04608054]

Это напечатает вложения для слова «Samsung».

Конечные ноты

Мы узнали, как генерировать векторы для текстовых данных, которые очень полезны для создания многих моделей машинного обучения и техник, таких как SVM, KNN, K-средства, логистические классификаторы, анализ настроений, классификация документов и т. Д.

Больше можно узнать о перчатке на Стэнфорд Сайт Отказ

Оригинал: “https://dev.to/japneet121/glove-for-word-vectorization-1ak0”