Затрудняетесь с ИИ или разработкой полного стека? Наши эксперты готовы помочь вам: индивидуальные консультации, техническая интеграция и многое другое. Обращайтесь по адресу [email protected].

Введение в API NLP Cloud

NLP Cloud - это API, позволяющий легко использовать обработку естественного языка в производстве. API основан на лучших открытых источниках предварительно обученные модели. Вы также можете использовать свои собственные модели или обучать модели на платформе. NLP Cloud большинство функций понимания и генерации текста: извлечение сущностей (NER), анализ настроения, классификация текстов, резюмирование текстов, ответы на вопросы, генерация текстов, партиципация речи (POS) тегирование... и многое другое!

API доступен бесплатно до 3 запросов в минуту, что является хорошим способом легко проверить качество моделей. Затем первые платные планы стоят $29 в месяц (за 15 запросов в минуту).

Давайте посмотрим, как использовать API в этом учебнике.

Почему именно NLP Cloud?

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

Цель NLP Cloud - помочь компаниям быстро задействовать свои модели в производстве, без ущерба для качества и по доступным ценам.

Создать учетную запись

Регистрация проходит очень быстро. Просто посетите страницу регистрации страницу и заполните свой email + пароль (зарегистрироваться здесь).

Зарегистрироваться на NLP Cloud

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

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

Документация NLP Cloud

Клиентские библиотеки NLP Cloud API

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

Чтобы сделать API простым в использовании, NLP Cloud предоставляет вам клиентские библиотеки на нескольких языках (Python, Ruby, PHP, Go, Node.js). В остальной части этого руководства мы будем использовать библиотеку Python.

Используйте PIP для установки библиотеки Python:

pip install nlpcloud

Извлечение сущностей (NER)

Извлечение сущностей осуществляется с помощью spaCy. Доступны все "большие" предварительно обученные модели spaCy, что это означает, что доступны 15 языков (более подробная информация обо всех этих моделях на сайте spaCy). Вы также можете загрузить пользовательские собственные модели spaCy, которые вы разработали самостоятельно, чтобы использовать их в производстве. Если это то, что вы хотите, просто перейдите в раздел "Пользовательские модели" на вашей приборной панели:

Загрузка пользовательских моделей обработки естественного языка

Теперь представим, что вы хотите извлечь сущности из предложения "Джон Доу работает в компании Microsoft в Сиэтле с 1999 года." благодаря предварительно обученной модели spaCy для английского языка ("en_core_web_lg"). Вот как вы должны действовать:

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.entities("John Doe has been working for Microsoft in Seattle since 1999.")

Он возвращает содержание каждой извлеченной сущности и ее положение в предложении.

Анализ настроений

Анализ настроения достигается благодаря трансформаторам Hugging Face и Distilbert Base Uncased Finetuned SST 2 English. Вот пример:

import nlpcloud

client = nlpcloud.Client("distilbert-base-uncased-finetuned-sst-2-english", "")
client.sentiment("NLP Cloud proposes an amazing service!")

Она подскажет вам, является ли общее настроение в этом тексте скорее положительным или отрицательным, и его вероятность.

Классификация текста

Классификация текста достигается благодаря трансформаторам Hugging Face и Facebook's Bart Large MNLI. Вот пример:

import nlpcloud

client = nlpcloud.Client("bart-large-mnli", "")
client.classification("""John Doe is a Go Developer at Google. 
    He has been working there for 10 years and has been 
    awarded employee of the year.""",
    ["job", "nature", "space"],
    True)

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

Он вернет вероятность для каждой категории.

Обобщение текста

Резюме текста достигается благодаря трансформаторам Hugging Face и Facebook's Bart Large CNN. Вот пример:

import nlpcloud

client = nlpcloud.Client("bart-large-cnn", "")
client.summarization("""The tower is 324 metres (1,063 ft) tall, 
about the same height as an 81-storey building, and the tallest structure in Paris. 
Its base is square, measuring 125 metres (410 ft) on each side. During its construction, 
the Eiffel Tower surpassed the Washington Monument to become the tallest man-made 
structure in the world, a title it held for 41 years until the Chrysler Building 
in New York City was finished in 1930. It was the first structure to reach a 
height of 300 metres. Due to the addition of a broadcasting aerial at the top of 
the tower in 1957, it is now taller than the Chrysler Building by 5.2 metres (17 ft). 
Excluding transmitters, the Eiffel Tower is the second tallest free-standing structure 
in France after the Millau Viaduct.""")

В результате будет получено краткое изложение вышеизложенного. Это "абстрактное" резюме, а не "экстрактивное". что означает, что могут быть созданы новые предложения и удалены несущественные. Однако Несущественные предложения, конечно же, удаляются.

Ответы на вопросы

Ответы на вопросы достигаются благодаря трансформаторам Hugging Face и Deepset's Roberta Base Squad 2. Вот пример:

import nlpcloud

client = nlpcloud.Client("roberta-base-squad2", "")
client.question("""French president Emmanuel Macron said the country was at war
    with an invisible, elusive enemy, and the measures were unprecedented,
    but circumstances demanded them.""",
    "Who is the French president?")

Здесь речь идет об ответе на вопрос благодаря контексту.

Например, в приведенном выше примере будет возвращено "Emmanuel Macron".

Тегирование частей речи (POS)

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

import nlpcloud

client = nlpcloud.Client("en_core_web_lg", "")
client.dependencies("John Doe is a Go Developer at Google")

Он возвращает часть речи каждой лексемы в предложении и ее зависимость от других лексем.

Заключение

NLP Cloud - это API для обработки естественного языка, который прост в использовании и поможет вам сэкономить много времени на производстве.

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

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

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

Julien Salinas
Технический директор NLP Cloud