Текстовая аналитика — тема очень интересная и не такая очевидная.
Oracle недавно объявила об услугах машинного обучения Oracle в своем общедоступном облаке. Вместе с этим поставляется набор REST API для доступа к доступным возможностям.
Подводя итог, можно выделить 3 семейства API:
- Рынок моделей машинного обучения: список, обнаружение и хранение моделей (даже созданных с использованием сред с открытым исходным кодом: Tensorflow, Keras… благодаря формату ONNX)
- Развертывание моделей машинного обучения: разверните модели внутри баз данных Oracle для оценки в реальном времени… очень полезно для MLOps!
- Познавательный текст: тема этого поста!
Доступ к этим API можно получить из PL/SQL с помощью пакета APEX_WEB_SERVICE (например, из автономных баз данных).
OAuth2-аутентификация
Самым первым шагом является аутентификация, чтобы получить токен для всех следующих вызовов REST API (этот токен будет действовать один час, а затем его нужно будет обновить).
Для этого самого первого шага вам необходимо собрать следующую информацию:
- имя пользователя базы данных: легко
- пароль базы данных: my_super_password2021
- URL-адрес экземпляра облачной службы автономной базы данных: adb.‹region›.oraclecloud.com (список доступных регионов см. здесь)
- Арендатор OCI OCID: см. документацию
- имя базы данных: это имя вашей базы данных (пример с лоиком на скриншоте, регистр не важен)
С помощью этой информации вы теперь можете создать вызов REST API следующим образом:
Тело будет документом JSON:
{"grant_type":"password","username":"easy","password":"my_super_password2021"}
URL будет:
https://adb.eu-frankfurt-1.oraclecloud.com/omlusers/tenants/ocid1.tenancy.oc1..../databases/loic/api/oauth2/v1/token
Два заголовка:
Content-Type: application/json Accept: application/json
Теперь вы можете выполнить вызов и получить свой токен OAuth 2.0:
curl -i -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json'\ -d '{"grant_type":"password", "username":"easy", "password":"my_super_password2021"}'\ "<autonomous-database-cloud-service-instance-url>/omlusers/tenants/${tenant_name}/databases/${database_name}/api/oauth2/v1/token"
Пример ответа:
{ "accessToken": "eyJhb...==", "expiresIn": 3600, "tokenType": "Bearer" }
Поле accessToken содержит токен, который необходимо сохранить. На этот раз вы будете использовать его для своих следующих вызовов REST API для аутентификации Bearer.
Когнитивный текст APIS
А теперь самое интересное: теперь у вас есть доступ к следующим REST API:
- Получить конечные точки: список всех следующих конечных точек REST API Cognitive Text.
- Получить наиболее релевантные ключевые слова: извлекает первые N (по умолчанию: 5) наиболее релевантных ключевых слов из текста, переданного в параметре.
- Получить наиболее релевантные темы: извлечение наиболее релевантных тем.
- Получить числовые признаки: возвращает числовые признаки (по одному на слово в тексте).
- Получить семантическое сходство: вернуть оценку семантического сходства с заданным тестовым текстом (проверить, связан ли текст со словом, темой, категорией и т. д.).
- Получить настроения: выполняет анализ настроений по некоторому тексту.
- Получить сводки: возвращает сводки для предоставленного списка текстовых строк.
Обратите внимание, что поддерживаются несколько языков, таких как АМЕРИКАНСКИЙ, ФРАНЦУЗСКИЙ и ИСПАНСКИЙ.