共用方式為


如何使用文字摘要

文字摘要的設計旨在縮短使用者認為太長而無法閱讀的內容。 擷取式和抽象式摘要都會將文章、論文或文件聚集成重要句子。

擷取式摘要:透過擷取共同代表原始內容內最重要或相關資訊的句子來產生摘要。

抽象式摘要:透過擷取主要想法的文件產生彙總的摘要。

查詢焦點摘要: 可讓您在摘要時使用查詢。

每個功能都可以在指定時摘要說明感興趣的特定項目。

API 所使用的 AI 模型由服務所提供,您只需要傳送要分析的內容即可。

為了方便瀏覽,以下是每個服務對應區段的連結:

層面 區段​​
擷取 擷取式摘要
抽象 抽象式摘要
以查詢為主 以查詢為主的摘要

功能

提示

如果您想要開始使用這些功能,可以遵循快速入門文章開始使用。 您也可以使用 Language Studio 提出範例要求,而無須撰寫程式碼。

擷取式摘要 API 會使用自然語言處理技術來尋找非結構化文字文件中的主要句子。 這些句子會共同傳達文件的主要概念。

擷取式摘要會傳回排名分數做為系統回應的一部分,以及在原始文件中擷取的句子和其位置。 排名分數是判斷句子相關程度以及與文件主要概念相關程度的指標。 此模型會針對每個句子提供 0 到 1 (含) 之間的分數,並傳回每個要求的最高評分句子。 例如,如果您要求三個句子的摘要,則服務會傳回三個最高評分的句子。

Azure AI 語言中有另一項功能 (關鍵片語擷取),可擷取重要資訊。 在關鍵片語擷取與擷取式摘要之間做決定時,請考量下列事項:

  • 關鍵片語擷取會在擷取式摘要傳回句子時傳回片語。
  • 擷取式摘要會連同排名分數一起傳回句子,而且每個要求都會傳回排名最高的句子。
  • 擷取式摘要也傳回下列位置資訊:
    • 位移:每個所擷取句子的開始位置。
    • 長度:每個所擷取句子的長度。

決定如何處理資料 (選擇性)

提交資料

您會以文字字串形式將文件提交至 API。 分析會在接收要求時執行。 因為 API 為非同步,所以傳送 API 要求與接收結果之間可能會有延遲。

當您使用這項功能時,API 結果可從要求內嵌的時間起 24 小時內提供使用,且會在回應中指出。 在這段時間之後,結果將會予以清除,且無法再供擷取。

取得文字摘要結果

在取得語言偵測的結果後,您可以將結果串流至應用程式,或將輸出儲存到本機系統上的檔案。

以下是您可能會提交進行摘要的內容範例,其使用 Microsoft 部落格文章以整合式 AI 的整體呈現方式進行擷取。 本文只是一個範例,API 可以接受更長的輸入文字。 如需詳細資訊,請參閱資料限制一節。

「在 Microsoft,我們不斷學習和了解更全面、以人為中心的方法,追求讓 AI 超越現有的技術。 身為 Azure AI 服務的技術長,我一直致力於與優秀的科學家和工程師合作,將這項追求轉變成現實。 在我的角色中,我熱衷於觀察人類認知的三個屬性 (單一語言文字 (X)、音訊或視覺效果感應式信號 (Y) 和多語系 (Z)) 之間的關係,並擁有獨特的觀點。 在這三個的交集中,有一項我們稱之為 XYZ 程式碼的魔法,如 [圖 1] 所示,這是一個共同標記法,可建立更強大的 AI,具備更佳的說話、聆聽、觀察以及了解人類能力。 我們相信 XYZ 程式碼可讓我們達成長期願景: 跨網域傳輸學習、跨形式和語言。 其目標是要具備預先定型模型,這些模型可共同學習標記法,以支援各式各樣的下游 AI 工作,幾乎像是如今人類所為一樣。 過去五年來,我們已在交談式語音辨識、機器翻譯、交談式問題解答、電腦閱讀理解和影像字幕方面達成了人類的效能評定表現。 這五項突破強烈預示著我們的雄心壯志將引發 AI 功能大躍進,實現多重感官和多語系學習,更接近人類學習和理解的方式。 我相信共同 XYZ 程式碼是這個志向的基石 (如果與下游 AI 工作中的外部知識來源搭配使用)。

文字摘要 API 要求會在收到要求時,透過建立 API 後端的作業來處理。 如果作業成功,則會傳回 API 的輸出。 輸出將可供擷取 24 小時。 在這段時間之後,就會清除輸出。 由於多語系和表情符號的支援,回應可能會包含文字位移。 如需詳細資訊,請參閱如何處理位移

當您使用上述範例時,API 可能會傳回下列摘要句子:

擷取式摘要

  • 「在 Microsoft,我們不斷學習和了解更全面、以人為中心的方法,追求讓 AI 超越現有的技術。」
  • 「我們相信 XYZ 程式碼可讓我們達成長期願景: 跨網域傳輸學習、跨形式和語言。」
  • 「其目標是要具備預先定型模型,這些模型可共同學習標記法,以支援各式各樣的下游 AI 工作,幾乎像是如今人類所為一樣。」

抽象式摘要

  • 「Microsoft 正在對學習和理解採用更全面、以人為中心的方法。 我們相信 XYZ 程式碼可讓我們達成長期願景: 跨網域傳輸學習、跨形式和語言。 在過去五年,我們已在基準測試方面達成人為表現。」

嘗試文字擷取摘要

您可以使用文字擷取式摘要來取得文章、論文或文件的摘要。 若要查看範例,請參閱快速入門文章

您可以使用 sentenceCount 參數來指定傳回的句子數目,預設值為 3。 範圍是從 1 到 20。

您也可以使用 sortby 參數來指定要傳回已擷取句子的順序,也就是 OffsetRank,預設值為 Offset

參數值 描述
順位 根據服務所決定的輸入文件相關性來排序句子。
位移 保留句子在輸入文件中出現的原始順序。

文字抽象式摘要

下列範例會讓您開始使用文字抽象摘要:

  1. 將以下命令複製到文字編輯器。 BASH 範例會使用 \ 行接續字元。 如果您的主控台或終端使用不同的行接續字元,請改為使用該字元。
curl -i -X POST https://<your-language-resource-endpoint>/language/analyze-text/jobs?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-language-resource-key>" \
-d \
' 
{
  "displayName": "Text 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": "Text Abstractive Summarization Task 1",
      "parameters": {
        "summaryLength": "short"
      }
    }
  ]
}
'

如果您未指定 summaryLength,模型會決定摘要長度。

使用 summaryLength 參數

針對 summaryLength 參數,會接受三個值:

  • oneSentence: 產生最多 1 個句子的摘要,其中包含大約 80 個標記。
  • short: 產生大部分 2-3 個句子的摘要,大約 120 個標記。
  • medium: 產生最多 4-6 個句子的摘要,其中包含大約 170 個標記。
  • long: 產生最多超過 7 個句子的摘要,大約 210 個標記。
  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": "Text Abstractive Summarization Task Example",
    "tasks": {
        "completed": 1,
        "failed": 0,
        "inProgress": 0,
        "total": 1,
        "items": [
            {
                "kind": "AbstractiveSummarizationLROResults",
                "taskName": "Text 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"
                }
            }
        ]
    }
}
parameter 描述
-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 欄位 (在 tasks>parameters>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": "Text 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": "AbstractiveSummarization",
      "taskName": "Query-based Abstractive Summarization",
      "parameters": {
          "query": "XYZ-code",
          "summaryLength": "short"
      }
    },    {
      "kind": "ExtractiveSummarization",
      "taskName": "Query_based Extractive Summarization",
      "parameters": {
          "query": "XYZ-code",
          "sentenceCount": 3
      }
    }
  ]
}
'

使用 summaryLength 參數

針對 summaryLength 參數,會接受三個值:

  • oneSentence: 產生最多 1 個句子的摘要,其中包含大約 80 個標記。
  • short: 產生大部分 2-3 個句子的摘要,大約 120 個標記。
  • medium: 產生最多 4-6 個句子的摘要,其中包含大約 170 個標記。
  • long: 產生最多超過 7 個句子的摘要,大約 210 個標記。

服務和資料限制

如需每分鐘和每秒可傳送的要求大小和數目的相關資訊,請參閱服務限制一文。

另請參閱