Анализ тональности с помощью Azure Stream Analytics и Студии машинного обучения (классической)

Внимание

Поддержка Машинное обучение Azure Studio (классическая) завершится 31 августа 2024 г. Мы рекомендуем перейти на Машинное обучение Azure по этой дате.

По состоянию на 1 декабря 2021 г. нельзя создавать новые ресурсы Машинное обучение Studio (классический) (рабочая область и план веб-службы). До 31 августа 2024 г. вы можете продолжать использовать существующие эксперименты Машинное обучение Studio (классические) и веб-службы. Дополнительные сведения см. в разделе:

Машинное обучение Studio (классическая) документация не обновляется и может не обновляться в будущем.

В этой статье показано, как настроить простое задание Azure Stream Analytics, которое использует Студию машинного обучения Azure (классическую) для анализа тональности. Вы будете использовать модель Студии (классической) для анализа тональности из коллекции Cortana Intelligence для анализа потока текстовых данных, а также определения оценки тональности.

Совет

Для повышения производительности и надежности настоятельно рекомендуется вместо UDF Студии машинного обучения (классической) использовать UDF Машинного обучения Azure.

Вы сможете применить сведения, полученные в рамках этой статьи, в следующих сценариях:

  • при анализе тональности в режиме реального времени в потоковых данных Twitter;
  • при анализе записей разговоров клиента со специалистами службы поддержки;
  • при оценке комментариев на форумах, в блогах и видео;
  • а также во многих других сценариях прогнозной оценки в реальном времени.

Задание Streaming Analytics, которое вы создаете, применяет модель анализа тональности как определяемую пользователем функцию к образцу текстовых данных из хранилища BLOB-объектов. Выходные данные (результат анализа тональности) записываются в то же хранилище BLOB-объектов в другом CSV-файле.

Необходимые компоненты

Чтобы начать, у вас должны быть следующие компоненты:

  • Активная подписка Azure.

  • CSV-файл с некоторыми данными из Twitter. Пример файла можно скачать на сайте GitHub. Вы можете также создать собственный файл. В реальном сценарии вы получите данные напрямую из потока данных Twitter.

Создание контейнера хранилища и передача входного CSV-файла

На этом шаге вы отправите CSV-файл в контейнер хранилища.

  1. На портале Azure выберите элементы Создать ресурс>Хранилище>Учетная запись хранения.

  2. На вкладке Основные сведения укажите следующую информацию и оставьте значения по умолчанию для остальных полей:

    Поле значение
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите группу ресурсов.
    Storage account name Введите имя учетной записи хранения. Это имя должно быть уникальным в пределах Azure.
    Расположение Выберите расположение. Все ресурсы должны использовать одно и то же расположение.
    Тип учетной записи BlobStorage

    provide storage account details

  3. Выберите Review + Create (Просмотреть и создать). Затем щелкните Создать, чтобы развернуть учетную запись хранения.

  4. После завершения развертывания перейдите к своей учетной записи хранения. Выберите элемент Контейнеры в разделе Служба BLOB-объектов. Затем выберите + Контейнер, чтобы создать контейнер.

    Create blob storage container for input

  5. Укажите имя контейнера и убедитесь, что для параметра Общедоступный уровень доступа задано значение Частный. По завершении нажмите Создать.

    specify blob container details

  6. Перейдите к только что созданному контейнеру и выберите Отправить. Отправьте ранее скачанный файл sampleinput.csv.

    'Upload' button for a container

Теперь, когда образец данных находится в большом двоичном объекте, вы можете включить модель анализа тональности в коллекции Cortana Intelligence.

  1. Перейдите на страницу модели прогнозной аналитики тональности в коллекции Cortana Intelligence.

  2. Щелкните Open in Studio (classic) (Открыть в классической Студии).

    Stream Analytics Machine Learning Studio (classic), open Studio (classic)

  3. Выполните вход, чтобы перейти в рабочую область. Выберите расположение.

  4. Выберите Выполнить в нижней части экрана. Процесс выполнения занимает около минуты.

    Run experiment in Studio (classic)

  5. После успешного выполнения процесса выберите кнопку Deploy Web Service (Развернуть веб-службу) в нижней области страницы.

    Deploy experiment in Studio (classic) as a web service

  6. Чтобы проверить, что модель анализа тональности готова к использованию, нажмите кнопку Проверить. Введите текст "Мне нравится Майкрософт".

    Test experiment in Studio (classic)

    Если проверка завершится успешно, вы увидите результат, аналогичный следующему:

    Test results in Studio (classic)

  7. В столбце Приложения щелкните ссылку Excel 2010 or earlier workbook (Книга Excel 2010 или более ранней версии), чтобы скачать книгу Excel. Книга содержит ключ API и URL-адрес, которые понадобятся вам позже для настройки задания Stream Analytics.

    Stream Analytics Machine Learning Studio (classic), quick glance

Создание задания Stream Analytics, которое использует модель Студии (классической)

Теперь вы можете создать задание Stream Analytics, считывающее пример твитов из CSV-файла в хранилище BLOB-объектов.

Создание задания

Чтобы создать задание Stream Analytics, перейдите на портал Azure. Если вы не знакомы с этим процессом, см. статью Создание задания Stream Analytics с помощью портала Azure.

Настройка входных данных для задания

Задание получает входные данные из CSV-файла, переданного ранее в хранилище BLOB-объектов.

  1. Перейдите в задание Stream Analytics. В разделе Топология задания выберите параметр Входные данные. Выберите элементы Добавить потоковый вход>Хранилище BLOB-объектов.

  2. Заполните область Хранилище BLOB-объектов следующими значениями:

    Поле значение
    Псевдоним входных данных Присвойте имя входным данным. Запомните этот псевдоним, он понадобится вам при написании запроса.
    Отток подписок Выберите свою подписку.
    Storage account Выберите учетную запись хранения, созданную на предыдущем шаге.
    Контейнер Выберите контейнер, созданный на предыдущем шаге.
    Формат сериализации событий CSV
  3. Выберите Сохранить.

Настройка выходных данных для задания

Задание передает результаты в то же хранилище BLOB-объектов, в котором получает входные данные.

  1. Перейдите в задание Stream Analytics. В разделе Топология задания выберите параметр Выходные данные. Выберите элементы Добавить>Хранилище BLOB-объектов.

  2. Заполните форму Хранилище BLOB-объектов следующими значениями:

    Поле значение
    Псевдоним входных данных Присвойте имя входным данным. Запомните этот псевдоним, он понадобится вам при написании запроса.
    Отток подписок Выберите свою подписку.
    Storage account Выберите учетную запись хранения, созданную на предыдущем шаге.
    Контейнер Выберите контейнер, созданный на предыдущем шаге.
    Формат сериализации событий CSV
  3. Выберите Сохранить.

Добавление функции Студии (классической)

Ранее вы опубликовали модель Студии (классической) в веб-службе. В нашем сценарии выполняемое задание Stream Analytics отправляет каждый пример твита из входных данных в веб-службу для анализа тональности. Веб-служба Студии (классической) возвращает тональность (positive, neutral или negative) и вероятность того, что твит положительный.

В этом разделе показано, как определить функцию в задании Stream Analytics. Эту функцию можно вызывать для отправки твита в веб-службу и получения ответа.

  1. У вас должны быть URL-адрес веб-службы и ключ API в скачанной ранее книге Excel.

  2. Перейдите в задание Stream Analytics. Затем выберите Функции>+ Добавить>Студия машинного обучения Azure.

  3. Заполните форму Функция Машинного обучения Azure следующими значениями:

    Поле значение
    Псевдоним функции Используйте имя sentiment и выберите элемент Указать параметры функции машинного обучения Azure вручную. После этого введите URL-адрес и ключ.
    URL Вставьте URL-адрес веб-службы.
    Ключ Вставьте ключ API.
  4. Щелкните Save (Сохранить).

Создание запроса для преобразования данных

Stream Analytics использует декларативный запрос на основе SQL для проверки входных данных и их обработки. В этом разделе вы создадите запрос, который считывает каждый твит из входных данных, а затем вызывает функцию Студии (классической) для выполнения анализа тональности. Затем запрос отправляет результат в приемник выходных данных (хранилище BLOB-объектов).

  1. Вернитесь к общим сведениям о задании Stream Analytics.

  2. В разделе Топология задания выберите Запрос.

  3. Введите следующий запрос:

    WITH sentiment AS (  
    SELECT text, sentiment1(text) as result 
    FROM <input>  
    )  
    
    SELECT text, result.[Score]  
    INTO <output>
    FROM sentiment  
    

    Запрос вызывает созданную ранее функцию (sentiment) для выполнения анализа тональности каждого твита во входных данных.

  4. Выберите Сохранить, чтобы сохранить запрос.

Запуск задания Stream Analytics и просмотр выходных данных

Теперь вы можете запустить задание Stream Analytics.

Запуск задания

  1. Вернитесь к общим сведениям о задании Stream Analytics.

  2. Щелкните Запустить в верхней части страницы.

  3. В диалоговом окне Запуск задания выберите Настраиваемый и укажите один день до передачи CSV-файла в хранилище BLOB-объектов. Когда все будет готово, нажмите кнопку Запуск.

Просмотр выходных данных

  1. Задание может выполняться несколько минут, прежде чем вы увидите выполнение этой операции в поле Мониторинг.

  2. Если у вас есть средство, которое вы обычно используете для просмотра содержимого хранилища BLOB-объектов, используйте его для просмотра контейнера. Кроме того, на портале Azure выполните следующие действия:

    1. Найдите на портале Azure учетную запись хранения, а в ней найдите контейнер. Вы увидите в нем два файла: файл, содержащий образец твитов, и CSV-файл, созданный заданием Stream Analytics.
    2. Щелкните правой кнопкой мыши созданный файл, а затем выберите Скачать.
  3. Откройте созданный CSV-файл. Вы должны увидеть примерно следующее:

    Stream Analytics Machine Learning Studio (classic), CSV view

Просмотр метрик

Вы можете также просматривать метрики, связанные с функциями Студии (классической). В поле Мониторинг на странице с общими сведениями о задании отображаются следующие метрики, связанные с функцией:

  • Запросы функций: отображает количество запросов, отправленных к веб-службе Студии (классической).
  • События функций отображает количество событий в запросе. По умолчанию каждый запрос к веб-службе Студии (классической) может содержать до 1000 событий.

Следующие шаги