文件處理模式 - Amazon Comprehend

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

文件處理模式

Amazon Comprehend 支持三種文檔處理模式。您選擇的模式取決於您需要處理的文件數量以及您需要如何立即查看結果:

  • 單一文件同步 — 您可以使用單一文件呼叫 Amazon Comprehend,並接收同步回應,並立即傳送到您的應用程式 (或主控台)。

  • 多文件同步 — 您可以使用最多 25 個文件的集合來呼叫 Amazon Comprehend API,並收到同步回應。

  • 非同步批次 — 對於大量文件集合,請將文件放入 Amazon S3 儲存貯體,然後啟動非同步任務 (使用主控台或 API 操作) 以分析文件。Amazon Comprehend 會將分析結果存放在您在請求中指定的 S3 儲存貯體/資料夾中。

單一文件處理

單一文件作業是將文件分析結果直接傳回至您的應用程式的同步作業。當您建立一次處理一個文件的互動式應用程式時,請使用單一文件同步作業。

如需同步 API 作業的詳細資訊,請參閱 使用內建模型進行即時分析 (針對主控台) 和使用 API 進行即時分析.

多文檔同步處理

當您有多個要處理的文件時,您可以使用 Batch* API 操作一次將多個文件傳送到 Amazon Comprehend。您最多可以在每個請求中發送 25 份文件。Amazon Comprehend 會傳回一份回應清單,請求中的每個文件都有一份回應清單。使用這些操作發出的請求是同步的。您的應用程式會呼叫作業,然後等待來自服務的回應。

使用Batch*操作與為請求中的每個文檔調用單個文檔 API 相同。使用這些 API 可以為您的應用程式帶來更好的效能。

每個 API 的輸入都是 JSON 結構,其中包含要處理的文件。對於除以外的所有操作BatchDetectDominantLanguage,您必須設置輸入語言。您只能為每個請求設置一種輸入語言。例如,以下是作BatchDetectEntities業的輸入。它包含兩個文件,是英文的。

{ "LanguageCode": "en", "TextList": [ "I have been living in Seattle for almost 4 years", "It is raining today in Seattle" ] }

Batch*作業的回應包含兩個清單,即ResultListErrorList。針對每個已成功處理的文件,ResultList包含一筆記錄。要求中每個文件的結果與您在文件上執行單一文件作業時所得到的結果相同。系統會根據輸入檔案中文件的順序,為每個文件的結果指派索引。來自BatchDetectEntities操作的響應是:

{ "ResultList" : [ { "Index": 0, "Entities": [ { "Text": "Seattle", "Score": 0.95, "Type": "LOCATION", "BeginOffset": 22, "EndOffset": 29 }, { "Text": "almost 4 years", "Score": 0.89, "Type": "QUANTITY", "BeginOffset": 34, "EndOffset": 48 } ] }, { "Index": 1, "Entities": [ { "Text": "today", "Score": 0.87, "Type": "DATE", "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.96, "Type": "LOCATION", "BeginOffset": 23, "EndOffset": 30 } ] } ], "ErrorList": [] }

當請求中發生錯誤時,響應包ErrorList含標識包含錯誤的文檔。該文檔由其在輸入列表中的索引來標識。例如,下列對BatchDetectLanguage作業的輸入包含無法處理的文件:

{ "TextList": [ "hello friend", "$$$$$$", "hola amigo" ] }

來自 Amazon Comprehend 的回應包含一個錯誤清單,用來識別包含錯誤的文件:

{ "ResultList": [ { "Index": 0, "Languages":[ { "LanguageCode":"en", "Score": 0.99 } ] }, { "Index": 2 "Languages":[ { "LanguageCode":"es", "Score": 0.82 } ] } ], "ErrorList": [ { "Index": 1, "ErrorCode": "InternalServerException", "ErrorMessage": "Unexpected Server Error. Please try again." } ] }

如需同步批次 API 作業的詳細資訊,請參閱即時批次處理 API

非同步批次處理

若要分析大型文件和大型文件集合,請使用 Amazon Comprehend 非同步操作。

若要分析文件集合,您通常需要執行下列步驟:

  1. 將文件存放在 Amazon S3 儲存貯體中。

  2. 啟動一或多個分析工作以分析文件。

  3. 監視分析工作的進度。

  4. 任務完成時,從 S3 儲存貯體擷取分析結果。

如需使用非同步 API 作業的詳細資訊,請參閱 使用主控台執行分析工作 (主控台) 和使用 API 的非同步分析工作.