Главная | Все статьи | Код

Использование библиотеки Hugging Face для работы с моделями NLP на Python

Python Время чтения статьи ~4 минуты
Использование библиотеки Hugging Face для работы с моделями NLP на Python главное изображение

Что такое Hugging Face и как работает?

Лаборатория исследования искусственного интеллекта Hugging Face c 2016 года разрабатывает инструменты для создания приложений с использованием машинного обучения. Ее наиболее известные продукты — библиотека Transformers и платформа для обмена моделями машинного обучения и наборами данных.

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

В своих разработках основной фокус Hugging Face делает на технологии искусственного интеллекта и сервисах распознавание речи и создания текста. Hugging Face стремится сделать модели обработки естественного языка NLP доступными для всех и предлагает ряд ресурсов с открытым исходным кодом, чтобы пользователи могли разрабатывать модели и внедрять их в проекты по доступным ценам.

Продукты Hugging Face упрощают процесс машинного обучения и обработки естественного языка. Для этого они предлагают:

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

Что такое модели NLP и где они используются?

Модели NLP относятся к технологиям искусственного интеллекта по обработке естественного языка, то есть языка общения людей. Инструменты могут:

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

Платформа Hugging Face предлагает разработчикам ряд библиотек, моделей и данных NLP для работы. Рассмотрим базовые библиотеки: Transformers, Dataset и Tokenizers.

Transformers

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

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

Попробуйте себя в Python

Начать с 5 бесплатных уроков

Datasets

Библиотека наборов данных от Hugging Face будет полезна для проектов по обработке естественного языка, в которых необходим массив данных. Для работы с этим модулем можно использовать такие фреймворки, как Numpy, Pandas, PyTorch или TensorFlow. Datasets предлагает наборы данных NLP из академических исследований, популярных тестов и реальных приложений более чем на 186 языках.

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

А еще пользователи могут загрузить критерии оценки для проверки, насколько успешно модели NLP справляются с поставленными задачами. Datasets хорошо сочетается с другими популярными библиотеками, например Transformers, и плавно интегрируется с NLP-моделями.

Tokenizers

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

Основная функция коллекции — обработка новых словарей с привлечением наиболее популярных токенизаторов. Сервис эффективно выполняет предварительную работу с использованием операторов Truncate, Ipad и необходимых для вашей модели токенов.

Инструкция по работе с Hugging Face на Python

Загрузите платформу Hugging Face Hub в свою среду разработки с помощью команды:

pip install --upgrade huggingface_hub

Импортируйте библиотеки Transformers и Datasets:

pip install -q transformers

from transformers import pipeline


# code

pip install datasets

Импортируйте данные из библиотеки Datasets:

from datasets import load_dataset

dataset = load_dataset("imdb")

Или используйте собственный источник c помощью фреймворка Pandas, где "path/to/your/csv/file.csv" — фактический путь к файлу с данными:

import pandas as pd
from datasets import Dataset, DatasetDict

csv_path = "path/to/your/csv/file.csv"
df = pd.read_csv(csv_path)

dataset = Dataset.from_pandas(df)

dataset_dict = DatasetDict({"train": dataset})

print(dataset_dict)

Теперь всё готово к работе!

Рекомендуем попробовать

5 бесплатных уроков Python

Какие задачи можно решать с NLP-моделями Hugging Face

Hugging Face предоставляет NLP-инструменты для классификации, распознавания имен собственных, вопросов и ответов, языкового моделирования, резюмирования, перевода, множественного выбора и генерации текста.

Рассмотрим вариант сокращения текста со 130 знаков до 30 знаков с помощью модели резюмирования philschmid/bart-large-cnn-samsum. Предварительно обученную модель с соответствующим ей токенизатором вы выбираете из списка.

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

В результате мы получим следующий текст:

The tower is 324 meters (1,063 ft) tall, about the same height as an 81-storey building. It is the tallest structure in Paris and the second tallest free-standing structure in France after the Millau Viaduct.

На курсе «Python-разработчик» вы получите необходимые знания и прокачаете ваши умения для выполнения задач с использованием искусственного интеллекта.

Аватар пользователя Анастасия Уминская
Анастасия Уминская 23 августа 2024
0
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 17 октября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 17 октября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 17 октября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 17 октября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 17 октября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 17 октября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 17 октября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 17 октября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 17 октября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
в разработке
Старт 17 октября