Hugging Face — это мощная библиотека искусственного интеллекта, которая применяет предварительно обученные модели для решения реальных проблем. Это библиотека обработки естественного языка (NLP), поэтому она ориентирована в первую очередь на текстовый ввод и вывод. Hugging Face выполняет сложные задачи, такие как подведение итогов, ответы на вопросы и анализ настроений в масштабе. Несмотря на то, что Hugging Face по своему назначению похожа на другие библиотеки НЛП, такие как библиотека Natural, обсуждаемая в этом блоге, Hugging Face является более продвинутой, поскольку она основана на более сильных моделях, таких как GPT, BERT и LLaMA. Благодаря этим продвинутым моделям Hugging Face справляется с более сложными задачами в больших масштабах, продвигая на шаг вперед то, что могут сделать более простые библиотеки, такие как Natural.
Что делает Hugging Face, сложное НЛП в масштабе? Вот несколько основных примеров.
Анализ рынка и СМИ
Это превращает неструктурированные текстовые данные в полезную информацию для принятия стратегических решений. Примеры включают анализ настроений, который помогает вам понять мнения о брендах, кампаниях и продуктах. Это также помогает в прогнозировании, например, в мониторинге тенденций, чтобы помочь вам оставаться в курсе того, что ждет вас впереди.
Обслуживание клиентов
Функция Hugging Face улучшает время отклика и снижает ручную нагрузку. Сейчас мы видим это в нашей повседневной жизни: виртуальные чат-боты помогают с ответами на часто задаваемые вопросы, а также в некоторых круглосуточных справочных системах. За кулисами Hugging Face проводит анализ настроений, который может подтолкнуть разгневанных клиентов к первой линии поддержки клиентов.
Исследования и академия
Расширенные библиотеки НЛП ускоряют исследования. Hugging Face может объединить длинные научные статьи, статьи и отчеты в ключевые моменты.
Следующий урок очень простой. Мы собираемся сгенерировать текст, проанализировать тональность текста и классифицировать другой фрагмент текста. Когда мы закончим, вы можете задаться вопросом: зачем нам это строить? И я согласен: этот урок, на первый взгляд, бесполезен. Нам не нужен базовый анализатор текста. Однако польза от этого состоит в том, чтобы увидеть, насколько легко использовать Hugging Face. Надеемся, что это базовое руководство заставит вас задуматься о том, что на самом деле можно создать с помощью Hugging Face.
Давайте начнем с Python и Hugging Face
Это руководство лучше всего подходит для разработчиков, имеющих хотя бы базовые знания Python или аналогичного языка.
Откройте новый проект в своей IDE и создайте файл Python. Я назову свой main.py.
Откройте новый терминал и начнем с наших установок. Transformers — это библиотека Hugging Face с предварительно обученными моделями НЛП. torch — это серверная часть, которая эффективно запускает модели. numpy<2 устраняет любые проблемы совместимости с Mac.
Когда я впервые запустил файл кода, я получил кучу ошибок. Оказывается, у меня возникла проблема с NumPy и моей средой Python. Это произойдет немного позже процесса установки, но я оставлю это здесь, чтобы у вас было исправление до появления ошибки (если вы ее получите).
Установите numpy<2. Это приведет к понижению версии NumPy до версии 1.x, которая будет работать с PyTorch.
Затем удалите torch, сразу же переустановите и убедитесь, что NumPy работает.
Мы собираемся запустить весь наш код Python/Hugging Face в одном файле.
Первое, что мы хотим сделать, это импортировать функциональность конвейера Hugging Face. конвейер — это простой способ использовать предварительно обученные модели для общих задач (например, базовое текстовое приложение, которое мы сейчас создаем). С помощью конвейера и его готовых к использованию конвейеров вы можете генерировать текст, анализировать настроения и отвечать на вопросы без необходимости вручную выполнять токенизацию или настройку.
Создать текст с помощью GP2-2
Мы используем GPT-2, потому что он бесплатный и доступный. Вы можете легко изменить модель на более продвинутую, обновив model=»gpt2″ до модели по вашему выбору (примечание: для расширенных моделей требуется учетная запись и они предоставляются за дополнительную плату).
Генератор Hugging Face вернет список результатов. Если вы не заполните max_length, Hugging Face по умолчанию будет иметь значение около 1024 токенов, что очень долго. По умолчанию для num_return_sequences установлено значение 1.
Результат: 50 слов текста, уникального для вас, о беспилотных автомобилях.
Анализ настроений
Следующий код, который мы собираемся написать, будет анализировать тональность сгенерированного текста. Анализатор настроений Hugging Face использует предварительно обученную модель, чтобы определить, является ли текст положительным, отрицательным или нейтральным. Модель сначала токенизируется (разбивает текст на отдельные слова). Затем он обрабатывает эти токены и прогнозирует общее настроение с помощью своей нейронной сети. Он вернет оценку и метку, показывающую, насколько модель уверена в своей классификации. Оценка будет представлять собой число от 0 до 1, где 0 означает неуверенность, а 1 — абсолютную уверенность. Оценка не является показателем того, насколько позитивен или негативен текст.
выход:
[{‘label’: ‘POSITIVE’, ‘score’: 0.9998550415039062}]
[{‘label’: ‘NEGATIVE’, ‘score’: 0.9930094480514526}]
Классификация текста
Классификация текста «читает» предоставленный текст, а затем присваивает ему классификацию. В Hugging Face для более непонятных категорий вам потребуется указать ярлыки. Работая с чем-то, что обычно классифицируется как погода, вы можете выбрать конкретную модель, которая будет классифицироваться за вас. В приведенном ниже примере мы собираемся назначить наши собственные категории.
Подобно анализу настроений, Hugging Face вернет оценку от 0 до 1, где 1 означает, что классификация верна, а 0 означает, что модель присвоила классификацию, но не подтверждает свое утверждение.
В этом примере мы будем использовать «классификацию с нулевым выстрелом». «Классификация с нулевым выстрелом» позволяет классифицировать текст по новым меткам, которым он явно не обучался. Это помогает модели понять значение как текста, так и описаний меток.
вывод: {‘sequence’: ‘Мне нравится мой новый блендер! Смузи получаются такими нежными.’, ‘labels’: [‘kitchen appliance’, ‘sports equipment’, ‘electronics’, ‘furniture’]’баллы’: [0.9792253375053406, 0.010719629935920238, 0.007687257137149572, 0.002367804991081357]}
Заключение
И теперь у вас есть первый опыт работы с библиотекой Hugging Face. Что вы можете создать теперь, когда вы ознакомились с возможностями этой библиотеки?
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джессика Вахтель — писатель-маркетолог для разработчиков в InfluxData, где она создает контент, который помогает сделать мир данных временных рядов более понятным и доступным. Джессика имеет опыт разработки программного обеспечения и технической журналистики. Узнайте больше от Джессики Вахтель