Боретеся зі штучним інтелектом або повним циклом розробки? Наші експерти допоможуть вам: індивідуальні консультації, технічна інтеграція та багато іншого. Звертайтеся за адресою [email protected].

Вступ до NLP Cloud API

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

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

Розглянемо, як користуватися API в цьому уроці.

Чому NLP Cloud?

Розгортання моделей ШІ у виробництво є частим джерелом невдач проектів. Моделі обробки природної мови є дуже ресурсоємними ресурсомісткими, і забезпечення високої доступності цих моделей у виробництві при хорошому часі відгуку є складним завданням. час відгуку, є складним завданням. Це вимагає і дорогої інфраструктури, і просунутих навичок DevOps, програмування і ШІ навички 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). Ви також можете завантажити власні власні моделі спа-центрів, які ви розробили самостійно, щоб використовувати їх у виробництві. Якщо ви цього хочете ви хочете, просто перейдіть до розділу "Користувацькі моделі" на вашій інформаційній панелі:

Завантажуйте власні моделі обробки природної мови

Тепер уявімо, що ви хочете виділити сутності з речення "John Doe has been working for Microsoft in Seattle since 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?")

Тут мова йде про те, щоб відповісти на питання завдяки контексту.

Наприклад, наведений вище приклад поверне "Еммануель Макрон".

Тегування частин мови (POS)

Виділення частин мови досягається завдяки тим же моделям SPACY, що і для виділення сутностей. Тому, наприклад, якщо ви хочете використати наприклад, якщо ви хочете використати англійську попередньо навчену модель, то ось як вам слід зробити:

import nlpcloud

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

Він поверне частину мови кожної лексеми у реченні та її залежність від інших лексем.

Висновок

NLP Cloud - це простий у використанні API для обробки природної мови, який допомагає заощадити багато часу на виробництві.

Доступно більше моделей, таких як переклад, розпізнавання мови, генерація тексту ... і багато іншого.

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

Сподіваюся, ця стаття була корисною для когось із вас! Якщо у вас виникнуть запитання, будь ласка, не соромтеся звертатися до мене знати.

Julien Salinas
CTO в NLP Cloud