使用具名實體辨識 (NER) 和 Power Automate 來擷取 Excel 中的資訊

在本教學課程中,您將建立 Power Automate 流程來擷取 Excel 試算表中的文字,而不需要撰寫程式碼。

此流程會擷取有關公寓型社區回報問題的試算表,並將其分類為兩個類別:「配管」和「其他」。 它也會擷取送出問題的租用戶姓名和電話號碼。 最後,該流程會將此資訊附加至 Excel 工作表。

在本教學課程中,您將了解如何:

  • 使用 Power Automate 建立流程
  • 從商務用 OneDrive 上傳 Excel 資料
  • 從 Excel 擷取文字,並將其傳送給具名實體辨識 (NER)
  • 使用 API 中的資訊來更新 Excel 工作表。

必要條件

將 Excel 檔案新增至商務用 OneDrive

GitHub 下載範例 Excel 檔案。 此檔案必須儲存在您的商務用 OneDrive 帳戶中。

Excel 檔案範例

問題會以原始文字回報。 我們將使用 NER 功能來擷取個人姓名和電話號碼。 然後,流程會尋找描述中的「配管」一字,以分類問題。

建立新的 Power Automate 工作流程

移至 Power Automate 網站並登入。 然後選取 [建立 ] 和 [排程流程]。

工作流程建立畫面

在 [建置預定雲端流程] 頁面上,使用下列欄位初始化您的流程:

欄位
流程名稱 預定檢閱或其他名稱。
啟動中 輸入目前的日期和時間。
重複間隔 1 小時

將變數新增至流程

建立變數來代表將新增至 Excel 檔案的資訊。 選取 [新增步驟 ],然後搜尋 [初始化變數]。 執行這項操作四次,以建立四個變數。

初始化變數的步驟

將下列資訊新增至您建立的變數。 這些變數代表 Excel 檔案的資料行。 如果有任何變數折迭,您可以選取它們來展開它們。

動作 名稱 類型
將變數初始化 var_person String
初始化變數 2 var_phone String 電話號碼
初始化變數 3 var_plumbing String 配管
初始化變數 4 var_other String 其他

流程變數中的資訊

讀取 Excel 檔案

選取 [新增步驟 ],然後輸入 Excel,然後從動作清單中選取 [列出資料表中的資料列 ]。

將資料列新增至流程

填入此動作中的欄位,以將 Excel 檔案新增至流程。 本教學課程需要將檔案上傳至商務用 OneDrive。

填滿流程中的 Excel 資料列

選取 [新增步驟 ],並新增 [套用至每個 動作]。

新增 [套用至各項] 動作

選取 [選取上一個步驟的輸出]。 在顯示的 [動態內容] 方塊中,選取 [值]。

選取 Excel 檔案的輸出

傳送實體辨識的要求

如果您還沒有這麼做,則必須在 Azure 入口網站中建立語言資源

建立語言服務連線

在 [ 套用至每個] 中,選取 [ 新增動作]。 在 Azure 入口網站中,移至您語言資源的 [金鑰與端點] 頁面,然後取得您語言資源的金鑰與端點。

在您的流程中輸入下列資訊,以建立新的語言連線。

注意

如果您已經建立語言連線並想要變更連線詳細資料,請選取右上角的省略號,然後選取 [+ 新增連線]。

欄位
連線名稱 語言資源的連線名稱。 例如: TAforPowerAutomate
帳戶金鑰 語言資源的金鑰。
網站 URL 語言資源的端點。

將語言資源認證新增至流程

擷取 Excel 內容

建立連線之後,請搜尋文字分析,然後選取 [具名實體辨識]。 這會從問題的 [描述] 資料行擷取資訊。

從 Excel 工作表擷取實體

在 [ 文字] 欄位中選取 ,然後從出現的 [動態內容] 視窗中選取 [ 描述 ]。 針對 [語言] 輸入 en ,並以唯一的名稱作為檔識別碼, (您可能需要選取 [ 顯示進階選項 ]) 。

從 Excel 工作表取得 [描述] 資料行的文字

在 [ 套用至每個] 內,選取 [ 新增動作 ],然後建立另一個 [套用至每個 動作]。 在文字方塊中選取 ,然後選取出現的 [動態內容] 視窗中 的檔

建立另一個 [套用至各項] 動作。

擷取個人姓名

接下來,我們將在 NER 輸出中尋找個人實體類型。 在 [ 套用至每 2 個]內,選取 [ 新增動作],然後建立另一個 [套用至每個 動作]。 在文字方塊中選取 ,然後選取出現的 [動態內容] 視窗中的 [實體 ]。

在 NER 輸出中尋找個人實體

在新建立的 [ 套用至每 3 個] 動作內,選取 [ 新增動作],然後新增 [條件 ] 控制項。

在 [套用至各項 3] 動作中新增 [條件] 控制項

在 [條件] 視窗中,選取第一個文字方塊。 在 [動態內容] 視窗中,搜尋並選取 [類別]。

將該類別新增至 [條件] 控制項

確定將第二個方塊設定為 [等於]。 然後選取第三個方塊,並在 [動態內容] 視窗中搜尋 var_person

新增個人變數

在 [如果是] 條件中鍵入 Excel,然後選取 [更新資料列]。

更新 [是] 條件

輸入 Excel 資訊,並更新 [索引鍵資料行]、[索引鍵值] 和 [PersonName] 欄位。 這會將 API 偵測到的名稱附加至 Excel 工作表。

新增 Excel 資訊

取得電話號碼

按一下 [套用至各項 3] 動作的名稱將其最小化。 然後,將另一個 [套用至各項] 動作新增至 [套用至各項 2] (如前所述), 並將其命名為套用至各項 4。 選取文字方塊,並新增 [實體] 作為此動作的輸出。

將來自 NETR 輸出的實體新增至另一個 [套用至各項] 動作。

在 [套用至各項 4] 中,新增 [條件] 控制項, 並將其命名為條件 2。 在第一個文字方塊中,從 [動態內容] 視窗中搜尋並新增 [類別]。 確定將中間方塊設定為 [等於]。 然後,在右側文字方塊中輸入 var_phone

加入第二個條件控制項

在 [如果是] 條件中,新增 [更新資料列] 動作。 然後,針對 Excel 工作表的 [電話號碼] 資料行,如前所述輸入資訊。 這會將 API 偵測到的電話號碼附加至 Excel 工作表。

將 Excel 資料新增至第二個 [如果是] 條件

取得配管問題

按一下 [套用至各項 4] 的名稱將其最小化。 然後在父動作中建立另一個 [套用至各項]。 選取文字方塊,並從 [動態內容] 視窗中新增 [實體] 作為此動作的輸出。

建立另一個 [套用至各項] 動作

接下來,流程會檢查 Excel 資料表資料列中的問題描述是否包含「配管」一字。 如果是,則會在 [IssueType] 資料行中新增「配管」。 如果否,我們將輸入「其他」。

在 [套用至各項 4] 動作中,新增 [條件] 控制項, 並將其命名為條件 3。 在第一個文字方塊中,使用 [動態內容] 視窗從 Excel 檔案中搜尋並新增 [描述]。 確定中間方塊顯示 [包含]。 然後,在右側文字方塊中尋找並選取 [var_plumbing]。

建立新的條件控制項

[如果是 ] 條件中,選取 [ 新增動作],然後選取 [ 更新資料列]。 然後如前所述輸入資訊。 在 [IssueType] 資料行中,選取 [var_plumbing]。 這會將「配管」標籤套用至資料列。

在 [ 如果沒有 條件] 中,選取 [ 新增動作],然後選取 [更新資料列]。 然後如前所述輸入資訊。 在 [IssueType] 資料行中,選取 [var_other]。 這會將「其他」標籤套用至資料列。

將資訊新增至兩個條件

測試工作流程

在畫面右上角,選取 [ 儲存],然後選取 [ 測試]。 在 [測試流程] 下,選取 [手動]。 然後選取 [ 測試],然後 選取 [執行流程]。

Excel 檔案將會在您的 OneDrive 帳戶中更新, 如下所示。

測試工作流程並檢視輸出

後續步驟