Использование суммирования документов

Сводка документов предназначена для сокращения содержимого, которое пользователи считают слишком длинным для чтения. Извлекаемая и абстрактная сводка конденсируют статьи, документы или документы к ключевым предложениям.

Извлечение сводных данных: создает сводку, извлекая предложения, которые вместе представляют наиболее важные или релевантные сведения в исходном содержимом.

Абстрактная сводка: создает сводку, создавая сводные предложения из документа, захватывающего основную идею.

Сводные данные, ориентированные на запросы: позволяет использовать запрос при сводных данных.

Каждая из этих возможностей может суммировать интересующие элементы при указании.

Модели ИИ для этого API предоставляются службой, вам нужно лишь отправить содержимое для анализа.

Для упрощения навигации здесь приведены ссылки на соответствующие разделы для каждой службы:

Аспект Раздел
Добывающих Извлечение сводных данных
Абстрактный Абстрктивная сводка
Ориентированные на запросы Сводка, ориентированная на запросы

Функции

Совет

Если вы хотите начать использовать эти функции, ознакомьтесь со статьей краткого руководства, чтобы приступить к работе. Вы также можете делать примеры запросов с помощью Language Studio без написания кода.

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

Функция резюмирования с выдержками возвращает в системном ответе оценку ранжирования (ранг), а также извлеченные предложения и их положение в исходных документах. Ранг — это мера того, насколько релевантно предложение относительно основной идеи документа. В модели предусмотрен балл от 0 и 1 (включительно) для каждого предложения, и она возвращает по запросу предложения с максимальной оценкой. Например, если вы запрашиваете сводку с тремя предложениями, служба возвращает три предложения с наибольшим рейтингом.

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

  • Извлечение ключевых фраз возвращает фразы, а извлечение суммирования возвращает предложения.
  • Извлечение суммирования возвращает предложения вместе с оценкой ранжирования, а предложения верхнего ранга возвращаются на запрос.
  • Извлечение сводных данных также возвращает следующие позиционные сведения:
    • Смещение: начальная позиция каждого извлеченного предложения.
    • Длина: длина каждого извлеченного предложения.

Определение способа обработки данных (необязательно)

Отправка данных

Документы отправляются в API в виде строк текста. Анализ выполняется при получении запроса. Так как API является асинхронным, может возникнуть задержка между отправкой запроса API и получением результатов.

При использовании этой функции результаты API доступны в течение 24 часов с момента приема запроса и указываются в ответе. По истечении этого периода результаты очищаются и больше не будут доступны для извлечения.

Получение результатов формирования сводных данных по документу

При получении результатов от функции распознавания языка можно передать результаты в приложение или сохранить выходные данные в файл в локальной системе.

Ниже приведен пример содержимого, которое можно отправить для формирования сводных данных и для которого в целях демонстрации выполняется извлечение выдержек с из статьи блога Майкрософт Комплексное представление интегрированного ИИ. Эта статья является только примером, API может принимать более длинный входной текст. Дополнительные сведения см. в разделе "Ограничения данных".

"Корпорация Майкрософт работает над задачей по расширению возможностей применения ИИ за пределы существующих методик за счет реализации более целостного, ориентированного на человека подхода к обучению и распознаванию. Как главный технический директор служб ИИ Azure, я работал с командой удивительных ученых и инженеров, чтобы превратить этот поиск в реальность. Я использую в работе уникальный подход, основанный на рассмотрении взаимосвязей между тремя аспектами когнитивной деятельности человека: одноязычный текст (X), звуковые или визуальные сигналы (Y) и многоязычное восприятие (Z). На пересечении этих трех областей происходит настоящее волшебство, которое мы называем кодом XYZ (см. рис. 1). Это общее представление направления работы по созданию более эффективного ИИ, который сможет лучше говорить, слышать, видеть и понимать человека. Мы считаем, что XYZ-code позволяет нам реализовать наше долгосрочное видение: перекрестное обучение, охватывающие модальности и языки. Наша цель состоит в том, чтобы предварительно обученные модели могли совместно изучать представления для поддержки широкого спектра нижестоящих задач ИИ, как сегодня это делают люди. За последние пять лет мы смогли достичь показателей человека по результатам эталонных тестов по распознаванию разговорной речи, машинному переводу, ответам на вопросы в форме диалога, пониманию машинного чтения и созданию субтитров для изображений. Достижения по этим пяти направлениям дали нам твердую уверенность в возможности реализации более амбициозных задач, которые помогли бы нам совершить настоящий прорыв в области ИИ за счет мультисенсорного многоязычного обучения, которое по своей сути ближе к тому, как учатся и воспринимают информацию люди. Я полагаю, что этот совместный код XYZ может стать фундаментом для такого рывка при наличии соответствующих внешних источников знаний в нижестоящих задачах ИИ".

Запрос API сводных данных документа обрабатывается при получении запроса путем создания задания для серверной части API. Если задание выполнено успешно, возвращается результат API. Выходные данные доступны для получения в течение 24 часов. По прошествии этого времени выходные данные очищаются. Из-за поддержки многоязычных и эмодзи ответ может содержать смещения текста. Дополнительные сведения см. в статье Смещение текста в выводе API Анализа текста.

При использовании приведенного выше примера API может возвращать следующие сводные предложения:

Извлечение сводных данных:

  • "Корпорация Майкрософт работает над задачей по расширению возможностей применения ИИ за пределы существующих методик за счет реализации более целостного, ориентированного на человека подхода к обучению и распознаванию".
  • "Мы считаем, что XYZ-code позволяет нам реализовать наше долгосрочное видение: перекрестное обучение, охватывающие модальности и языки".
  • "Цель состоит в том, чтобы иметь предварительно обученные модели, которые могут совместно изучать представления для поддержки широкого спектра подчиненных задач ИИ, много в том, как люди делают сегодня".

Абстрактная сводка:

  • "Корпорация Майкрософт принимает более целостный, ориентированный на человека подход к обучению и пониманию. Мы считаем, что XYZ-code позволяет нам реализовать наше долгосрочное видение: перекрестное обучение, охватывающие модальности и языки. За последние пять лет мы достигли человеческой производительности на тестах в".

Попробуйте извлечь из документа сводные данные

Извлечение документов можно использовать для получения сводок статей, документов или документов. Пример см. в статье краткого руководства.

Этот параметр можно использовать sentenceCount для указания количества возвращаемых предложений, при 3 этом используется значение по умолчанию. Допустимый диапазон: от 1 до 20.

Вы также можете использовать sortby параметр, чтобы указать, в каком порядке возвращаются извлеченные предложения — Offset или Rank, если Offset используется значение по умолчанию.

Значение параметра Description
Rank Предложения упорядочиваются в соответствии с их релевантностью содержимого входного документа, степень которой определяется службой.
Смещение Сохраняется исходный порядок, в котором предложения появляются во входном документе.

Пробная абстрактная сводка документа

В следующем примере вы начинаете работу с абстрактной сводкой документа:

  1. Скопируйте приведенную ниже команду в текстовый редактор. В примере BASH используется \ символ продолжения строки. Если в консоли или терминале используется другой символ продолжения строки, используйте этот символ.
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2022-10-01-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Document Abstractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
  "tasks": [
    {
      "kind": "AbstractiveSummarization",
      "taskName": "Document Abstractive Summarization Task 1",
      "parameters": {
        "summaryLength": short
      }
    }
  ]
}
'

Если не указать sentenceCount, модель определяет суммарную длину. Обратите внимание, что sentenceCount это приблизительное число предложений сводки выходных данных, диапазон 1 до 20. Использование предложенияCount не рекомендуется для абстрактной суммирования.

  1. При необходимости внесите следующие изменения в команду.

    • Замените значение your-language-resource-key собственным ключом.
    • Замените первую часть URL-адреса запроса your-language-resource-endpoint URL-адресом своей конечной точки.
  2. Откройте окно командной строки (например, BASH).

  3. Вставьте команду из текстового редактора в окно командной строки, а затем выполните команду.

  4. Получите operation-location из заголовка ответа. Значение выглядит примерно так, как показано по следующему URL-адресу:

https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2022-10-01-preview
  1. Чтобы получить результаты запроса, используйте следующую команду cURL. Обязательно замените <my-job-id> числовым значением идентификатора, полученным из предыдущего заголовка ответа operation-location:
curl -X GET https://<your-language-resource-endpoint>/language/analyze-text/jobs/<my-job-id>?api-version=2022-10-01-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>"

Пример ответа JSON в абстрактном документе

{
    "jobId": "cd6418fe-db86-4350-aec1-f0d7c91442a6",
    "lastUpdateDateTime": "2022-09-08T16:45:14Z",
    "createdDateTime": "2022-09-08T16:44:53Z",
    "expirationDateTime": "2022-09-09T16:44:53Z",
    "status": "succeeded",
    "errors": [],
    "displayName": "Document Abstractive Summarization Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "AbstractiveSummarizationLROResults",
                "taskName": "Document Abstractive Summarization Task 1",
                "lastUpdateDateTime": "2022-09-08T16:45:14.0717206Z",
                "status": "succeeded",
                "results": {
                    "documents": [
                        {
                            "summaries": [
                                {
                                    "text": "Microsoft is taking a more holistic, human-centric approach to AI. We've developed a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We've achieved human performance on benchmarks in conversational speech recognition, machine translation, ...... and image captions.",
                                    "contexts": [
                                        {
                                            "offset": 0,
                                            "length": 247
                                        }
                                    ]
                                }
                            ],
                            "id": "1"
                        }
                    ],
                    "errors": [],
                    "modelVersion": "latest"
                }
            }
        ]
    }
}
параметр Описание
-X POST <endpoint> Указывает конечную точку для доступа к API.
-H Content-Type: application/json Тип содержимого для отправки данных JSON.
-H "Ocp-Apim-Subscription-Key:<key> Указывает ключ для доступа к API.
-d <documents> JSON с документами, которые необходимо отправить.

Приведенные ниже команды cURL выполняются из оболочки BASH. Измените эти команды, указав имя ресурса, ключ ресурса и значения JSON.

Сводка на основе запросов

API сводки документов на основе запросов — это расширение для существующего API сводки документов.

Самое большое различие — это новое query поле в тексте запроса (в разделе>tasksparameters>query). Кроме того, существует новый способ указать предпочтительный summaryLength вариант в "контейнерах" коротких или средних и длинных, которые рекомендуется использовать вместо sentenceCountиспользования абстрактных. Ниже приведен пример запроса:

curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-11-15-preview \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Document Extractive Summarization Task Example",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "en",
        "text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code enables us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pretrained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
      }
    ]
  },
  "tasks": [
    {
      "kind": "ExtractiveSummarization",
      "taskName": "Document Extractive Summarization Task 1",
      "parameters": {
        "query": "XYZ-code",
        "summaryLength": short
      }
    }
  ]
}
'

Использование сводкиParameter

summaryLength Для параметра принимаются три значения:

  • short: создает сводку в основном 2-3 предложения с около 120 токенов.
  • средний: создает сводку в основном 4-6 предложений с около 170 токенов.
  • long: создает сводку в основном более 7 предложений с около 210 токенов.

Ограничения службы и данных

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

См. также