Hugging face 101: учебник для абсолютных новичков!
Добро пожаловать в этот удобный для начинающих учебник по анализу настроений с использованием библиотеки трансформаторов Hugging Face! Анализ настроений – это метод обработки естественного языка (NLP), используемый для определения эмоционального тона или отношения, выраженного в тексте.
В этом руководстве вы узнаете, как использовать предварительно обученные модели машинного обучения из Hugging Face для проведения анализа настроений на различных текстовых примерах. Мы проведем вас через весь процесс – от установки необходимых пакетов до запуска и интерпретации результатов модели – в среде SingleStore Notebook, подобно Jupyter Notebook.
К концу этого урока вы будете обладать знаниями, позволяющими использовать Hugging Face Transformers в качестве библиотеки для анализа смыслового содержания текстовых данных.
Что такое “Hugging face”🤗?
Hugging Face🤗 – сообщество, специализирующееся на обработке естественного языка (NLP) и искусственном интеллекте (AI). Основанное в 2016 году, оно внесло значительный вклад в область NLP, демократизировав доступ к современным моделям и инструментам машинного обучения.
Компания Hugging Face уделяет большое внимание сообществу. Компания предоставляет платформу, на которой исследователи и разработчики могут делиться своими обученными моделями, тем самым способствуя сотрудничеству и ускоряя прогресс в данной области.
NLP означает Natural Language Processing (обработка естественного языка) – область искусственного интеллекта, изучающая взаимодействие компьютеров с человеческим языком. Компания Hugging Face известна своим вкладом в развитие NLP благодаря библиотекам с открытым исходным кодом, предварительно обученным моделям и платформам для сообщества.
Hugging Face🤗 Transformers как библиотека:
Библиотека Transformers компании Hugging Face – это библиотека с открытым исходным кодом для НЛП и машинного обучения. Она предоставляет широкий спектр предварительно обученных моделей и архитектур, таких как BERT, GPT-2, T5 и многие другие. Библиотека разработана по модульному принципу и проста в использовании, что позволяет быстро разрабатывать как исследовательские, так и производственные проекты. Она поддерживает множество языков и такие задачи, как классификация текстов, ответы на вопросы, генерация текстов, перевод и т.д.
Необходимые условия
Перед началом работы с этим учебным пособием убедитесь, что у вас имеются следующие необходимые условия:
- Единственным необходимым условием для работы с этим учебным пособием является наличие SingleStore Notebook. Учебник предназначен для работы в блокноте SingleStore Notebook. Если вы еще не установили SingleStore Notebook, вы можете сделать это, зарегистрировавшись на сайте SingleStore, а затем выбрав функцию Notebook.
Создайте новый пустой блокнот.
Вы попадете на приборную панель SingleStore Notebook.
Далее мы будем использовать его как игровую площадку python для выполнения наших команд.
Шаг 1: Установка необходимых пакетов
Прежде всего, необходимо установить библиотеку transformers из пакета Hugging Face. Это можно сделать с помощью программы pip:
!pip install transformers
PyTorch является необходимым условием для использования библиотеки трансформаторов Hugging Face.
Установить PyTorch можно, выполнив следующую команду в блокноте SingleStore:
!pip install torch
Перезапустите ядро: После установки может потребоваться перезапустить ядро SingleStore Notebook, чтобы убедиться, что вновь установленные пакеты распознаны. Обычно это можно сделать, нажав в меню пункт “Kernel” и выбрав “Restart Kernel”.
Шаг 2: Импорт библиотек
Импортируйте необходимые библиотеки Python.
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
Шаг 3: Загрузка предварительно обученной модели и токенизатора
Загрузите предварительно обученную модель и соответствующий ей токенизатор. В данном примере для анализа настроений будем использовать модель distilbert-base-uncased-finetuned-sst-2-english.
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
Шаг 4: Предварительная обработка текста
Токенизируйте текст, который вы хотите проанализировать.
text = "I love programming!"
tokens = tokenizer(text, padding=True, truncation=True, return_tensors="pt")
Шаг 5: Вывод модели
Передайте токенизированный текст через модель.
with torch.no_grad():
outputs = model(**tokens)
logits = outputs.logits
probabilities = torch.softmax(logits, dim=1)
Шаг 6: Интерпретация результатов
Интерпретируйте вывод модели для получения настроения.
label_ids = torch.argmax(probabilities, dim=1)
labels = ['Negative', 'Positive']
label = labels[label_ids]
print(f"The sentiment is: {label}")
В зависимости от настроения текста должно быть выведено “Положительно” или “Отрицательно”.
Убедитесь, что вы выполняете свой код на игровой площадке SingleStore’s Notebook.
Давайте изменим текст, который мы хотим проанализировать, с “Я люблю программирование!” на “Я ненавижу программирование!”. Вы должны увидеть анализ негативного настроения.
Давайте проанализируем еще одно предложение “Функция Notebook в SingleStore просто умопомрачительна!” и посмотрим на реакцию. (как и ожидалось, она должна быть положительной)
Поздравляем вас с завершением этого удобного для начинающих руководства по анализу настроений с помощью библиотеки трансформаторов Hugging Face! К этому моменту вы должны иметь четкое представление о том, как использовать предварительно обученные модели для анализа настроения текста. Вы узнали, как лексировать текст, прогонять его через модель и интерпретировать полученные результаты – и все это в среде SingleStore Notebook.