1. 程式人生 > >Amazon Comprehend 釋出非同步批處理操作

Amazon Comprehend 釋出非同步批處理操作

我的同事 Jeff Barr 最近寫了一篇關於 Amazon Comprehend 的文章,這是一項用於發現文字中的見解和關係的服務,在 2017 年的 AWS re:Invent 大會上釋出。如今,在反覆研究客戶反饋之後,我們將釋出適用於 Comprehend 的全新非同步批量推理功能。非同步批處理操作可處理儲存在 Amazon Simple Storage Service (S3) 儲存桶中的文件,並可執行所有常規 Comprehend 操作,例如實體識別、關鍵短語提取、情緒分析和語言檢測。與單文件 API 和批處理 API 相比,這些新的非同步批處理 API 支援的文件要大得多,從而減少了客戶截斷文件以獲取服務的需求。當然,所有單文件 API 和批處理同步 API 操作仍可用於提供實時結果。通過增加非同步操作,開發人員可以選擇最適合其應用程式的工具。讓我們深入瞭解一下這一新型 API。

非同步 API 操作

新的批處理 API 遵循與 Amazon Comprehend 的 TopicDetection API 相同的非同步呼叫結構。在分析一系列文件時,我們首先要呼叫某個 Start* API,例如 StartDominantLanguageDetectionJobStartEntitiesDetectionJobStartKeyPhrasesDetectionJobStartSentimentDetectionJob

這些 API 中的每一個都採用 InputDataConfig 和 OutputDataConfig,用以指定傳入資料的格式和位置,以及相關結果應儲存在 S3 的哪個位置。InputDataConfig 用於指定應將輸入資料視為每個檔案一個文件還是每行一個文件。

另外,我們還可以給任務命名並新增一個用於同步用途的唯一請求識別符號。如果我們不提供這些資訊,Comprehend 服務將自動生成它們。

在撰寫本文時,對於實體和關鍵短語檢測、語言檢測及情緒檢測,非同步操作支援的最大單個文件大小分別為 100KB、1MB 和 5KB。批處理中所有檔案的總大小必須小於 5GB,而且對於每個批次,我們提交的單獨檔案數不能超過 100 萬個。

現在我們已經瞭解了 API 的功能,接下來我們來看看更新後的控制檯並啟動任務!

Amazon Comprehend 分析控制檯

首先,我將導航到 AWS 管理控制檯

並開啟 Amazon Comprehend。接下來,我將選擇新的分析控制檯。

在此,我可以單擊控制檯右上角的“建立”按鈕來建立一個新的分析任務。我將建立一個實體檢測任務並選擇英語作為我的文件語言。然後,我會指示控制檯選擇一些示例資料。

現在,我將配置輸出資料的位置,並確保所選服務角色有權訪問該 S3 儲存桶。然後,我將啟動任務!

在如下頁面上,我可以看到在控制檯中啟動的操作,並可等到操作完成後再檢視詳細結果。

在任務頁面上,我可以看到任務的狀態和輸出位置。如果我從 S3 位置下載結果,則可以檢視示例文字中檢測到的實體。

在這裡,我已截斷結果,但大多數情況下它們如下所示:

{
  "Entities": [
    {
      "BeginOffset": 875,
      "EndOffset": 899,
      "Score": 0.9936646223068237,
      "Text": "University of California",
      "Type": "ORGANIZATION"
    },
    {
      "BeginOffset": 903,
      "EndOffset": 911,
      "Score": 0.9519965648651123,
      "Text": "Berkeley",
      "Type": "LOCATION"
    },
    {
      "BeginOffset": 974,
      "EndOffset": 992,
      "Score": 0.9981470108032227,
      "Text": "Christopher Monroe",
      "Type": "PERSON"
    },
    {
      "BeginOffset": 997,
      "EndOffset": 1010,
      "Score": 0.9992995262145996,
      "Text": "Mikhail Lukin",
      "Type": "PERSON"
    },
    {
      "BeginOffset": 1095,
      "EndOffset": 1099,
      "Score": 0.9990954399108887,
      "Text": "2017",
      "Type": "DATE"
    }
  ],
  "File": "Sample.txt",
  "Line": 8
}

很酷吧!我們可以通過類似的步驟進行情感檢測或關鍵短語檢測。由於我們可以在一個批次中提交多達 5GB 的資料,因此客戶將花費較少的時間來轉換和截斷文件。

我個人推薦使用 AWS Step Functions 之類的工具,以程式設計方式檢查任務狀態。設定和構建程式設計分析管道非常簡單。

正如我們在 Roy Hasson 撰寫的這篇部落格文章中提到的,您還可以使用 AWS Glue 將 Comprehend 作為您常規 ETL 操作的一部分加以呼叫。

附加資訊

您可以在該文件中找到有關這些新 API 的詳細資訊,並瞭解有關限制和最佳實踐的更多資訊。

如前所述,同步批處理 API 仍然可用,並且適合用於較小的文件集和較小的文件。

和往常一樣,歡迎隨時在這裡或在 Twitter 上分享您的反饋。

本篇作者

相關推薦

Amazon Comprehend 釋出非同步處理操作

我的同事 Jeff Barr 最近寫了一篇關於 Amazon Comprehend 的文章,這是一項用於發現文字中的見解和關係的服務,在 2017 年的 AWS re:Invent 大會上釋出。如今,在反覆研究客戶反饋之後,我們將釋出適用於 Comprehend 的全新非同步批量推理功能。非

Reg命令使用詳解 處理操作登錄檔必備

首先要說明:編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料 只有在別無選擇的情況下,才直接編輯登錄檔。登錄檔編輯器會忽略標準的安全措施,從而使得這些設定會降低效能、破壞系統,甚至要求使用者重新安裝Windows。可以利用“控制面板”或“Microsoft管

Android中,對SQLite的‘處理操作

使用execSQL進行批處理插入 今天學習了一下如何更加高效的執行對SQLite的插入操作 注:用的是真機測試 我們使用SQLiteDatabase的insert方法和execSQL分別進行試驗 首先是insert方法: public boolean

cmd和python兩種進行處理操作

1.cmd命令列進行批處理,實現對某一檔案下所有檔案進行相同的處理 a.獲取資料夾下的檔案目錄,存入a.txt中 b.由於我是要對檔案進行SectionSing.exe(C++程式產生的exe操作),要進行滿足其格式要求的操作, 可以將所有檔案複製放到excel表格

處理操作登錄檔完全攻略(讀取登錄檔/寫入登錄檔等)

一,批處理生成.Reg檔案操作登錄檔  用批處理中的重定向符號可以輕鬆地生成.reg檔案。然後用命令執行.reg檔案即可!  這裡,著重要了解.reg檔案操作登錄檔的方法。  首先.reg檔案首行必須是:Windows Registry Editor Version 5.

JDBC學習(七、處理操作

一、批量操作(batch)    當需要成批插入或者更新記錄時,可以採用Java的批量更新機制,這一機制允許多條語句一次性提交給資料庫批量處理。通常情況下比單獨提交處理更有效率.JDBC的批量處理語句包括下面兩個方法:addBatch(String sql):新增需要批量處理

Java的jdbc使用addBatch進行處理操作的幾種方式

方式一、批量執行預定義模式的SQL public static void exeBatch(Connection conn) { try { String sql = "insert into t_example (code, name) values (?,?)";

編寫登錄檔reg檔案及處理操作登錄檔

編寫登錄檔檔案 新建一個文字檔案,在其中輸入以下內容: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\

JDBC操作數據庫之處理

解決方案 print 數據庫服務器 密碼 red rep 參數 connect jdb JDBC開發中,操作數據庫需要和數據庫建立連接,然後將要執行的SQL語句發送到數據庫服務器,最後關閉數據庫連接,都是按照這樣的操做的,如果按照此流程要執行多條SQL語句,那麽就要建立多個

處理腳本下文件與文件夾的操作

顯示 got bash 重命名 目錄樹 dir 文件名 class 一個 一、文件夾操作 dir // 顯示當前目錄中的文件和子目錄 mkdir/md 目錄名 // 創建一個空目錄 rmdir/rd 目錄名

使用處理檔案批量操作Oracle資料庫

最近,因為業務需要,需要做個批處理檔案,雙擊後,能夠遠端執行一些SQL語句。適合沒有任何資料庫基礎的人使用。查了相關文件,做了個簡單的例子,一共有3個檔案,insert.bat,insert.sql ,log1.txt. 其中insert.bat 這個檔案是批處理,雙擊會執行,或者

Mybatis處理和增刪改操作影響行數返回負數的情況

專案中經常看到這樣的程式碼: int rows = mypaymentDao.batchInsert(t); //如果rows不大於0,即未插入成功 if (rows <= 0) { throw new Sv2Exception("資料處理失敗"); } 通過Mybatis

LSMW處理使用方法(1)_總述及操作介面說明

  原文出處: http://blog.sina.com.cn/sapinfo http://blog.sina.com.cn/s/blog_4e997c6701000b7p.html   一.總述 在SAP系統中,批處理操作有多種方法。如果是對一個事物碼(T

Apache Beam 2.9.0 釋出,大資料處理和流處理標準

   Apache Beam 2.9.0 釋出了。Apache Beam 是 Google 在2016年2月份貢獻給 Apache 基金會的專案,主要目標是統一批處理和流處理的程式設計正規化,為無限、亂序、web-scale 的資料集處理提供簡單靈活,功能豐富以及表達能力十分強

處理啟動vm虛擬機器服務 vm12啟動無介面啟動vm虛擬機器系統 windows上如何操作服務 sc net啟動關閉服務

windows(win10)批處理指令碼 開啟vm虛擬機器的服務,並且開啟無介面虛擬機器 @echo off net start "vds" net start "VMAuthdService" net start "VMnetDHCP" net start "VMware NAT Service

關於python指令碼完整打包釋出(包括外部傳參的處理指令碼或shell指令碼編寫)

在python處理簡單問題的過程中常常需要對Python指令碼打包成exe的可執行程式。並且要可移植。而最常用的方法則是用pyinstaller在dos視窗下進行打包。因為常常需要對exe檔案進行傳送外部引數由此路徑會發生錯誤。此時最為簡單的方法則是用文字編輯器開啟,修改編碼方式。詳細過程如

Mybatis 之 foreach 處理 map 中的鍵值 為list 的操作

foreach一共有三種類型,分別為List,[](array),Map三種。 foreach的第一篇用來將List和陣列(array)。 下面表格是我總結的各個屬性的用途和注意點。 foreach屬性 屬性 描述 item 迴圈體中的具體物件。支援屬性的點

處理中呼叫JS操作MongoDB

批處理檔案內容: ::表示在此語句後所有執行的命令都不顯示命令列本身 @echo off echo 測試 ::進入d盤 D: cd \software\MongoDB\bin mongo 192.1

Amazon Comprehend 自然語言處理 (NLP) _自然語言理解

Amazon Comprehend 是一項自然語言處理 (NLP) 服務,可通過機器學習發現文字中的見解和關係。該服務可以識別文字語言,提取關鍵短語、地點、人物、品牌或事件資訊,理解文字語義的肯定或否定含義,使用分詞斷句和詞性分析文字,還可以自動按照主題整理一組文字檔案。使用這些 API,您

.bat處理命令常用操作

轉載自:https://www.cnblogs.com/aspirant/p/7233893.html感謝博主的分享。。。。。轉載過來學習一下。Bat命令學習一、基礎語法:    1.批處理檔案是一個“.bat”結尾的文字檔案,這個檔案的每一行都是一條DOS命令。可以使用任何