固有表現認識 (NER) と Power Automate を使用して、情報を抽出します。

このチュートリアルでは、コードを記述せずに Excel スプレッドシート内のテキストを抽出する Power Automate フローを作成します。

このフローでは、あるアパートについて報告された問題のスプレッドシートを取得して、それらを 2 つのカテゴリ (配管工事とその他) に分類します。 また、送信元のテナントの名前と電話番号も抽出します。 フローでは最後に、この情報を Excel シートに追加します。

このチュートリアルで学習する内容は次のとおりです。

  • Power Automate を使用してフローを作成する
  • OneDrive for Business から Excel データをアップロードする
  • Excel からテキストを抽出し、固有表現認識(NER)に送信する
  • API の情報を使用して、Excel シートを更新する

前提条件

OneDrive for Business に Excel ファイルを追加する

GitHubからサンプルの Excel ファイルをダウンロードします。 このファイルは、ご自分の OneDrive for Business アカウントで保存する必要があります。

Excel ファイルの例

問題は、未加工のテキストで報告されます。 ユーザー名と電話番号を抽出するには、固有表現認識フィーチャーを使用します。 次に、フローで、説明の中の "plumbing" (配管工事) という語を検索して、問題を分類します。

新しい Power Automate ワークフローを作成する

Power Automate サイトにアクセスし、ログインします。 次に、[作成][予定フロー] の順に選択します。

ワークフロー作成画面

[予定クラウド フローを作成] ページで、次のフィールドを使用してフローを初期化します。

フィールド
フロー名 スケジュールされたレビューまたは別の名前。
開始中 現在の日付と時刻を入力します。
繰り返し間隔 1 時間

フローに変数を追加する

Excel ファイルに追加する情報を表す変数を作成します。 [新しいステップ] を選択し、変数を初期化するを検索します。 4 つの変数を作成するには、この操作を 4 回行います。

変数を初期化する手順

作成した変数に次の情報を追加します。 これらは、Excel ファイルの列を表します。 折りたたまれている変数がある場合は、それらを選択して展開できます。

アクション 名前 Type
変数を初期化する var_person String Person
変数を初期化する 2 var_phone String 電話番号
変数を初期化する 3 var_plumbing String plumbing
変数を初期化する 4 var_other String その他

フロー変数に含まれる情報

Excel ファイルを読み取る

[新しいステップ] を選択し、「Excel」と入力します。次に、アクションのリストから [表内に存在する行を一覧表示] を選択します。

フローに Excel 行を追加します

このアクションのフィールドに入力して、Excel ファイルをフローに追加します。 このチュートリアルでは、ファイルが OneDrive for Business にアップロードされている必要があります。

フロー内の Excel 行に入力します

[新しいステップ] を選択し、Apply to each アクションを追加します。

Apply to each アクションを追加します

[以前の手順から出力を選択] を選択します。 表示される動的コンテンツのボックスで、 [値] を選択します。

Excel ファイルの出力を選択します

エンティティ表彰の要求を送信する

まだ行っていない場合は、Azure portal で 言語リソース を作成する必要があります。

言語サービス接続を作成する

[Apply to each] で、[アクションの追加] を選択します。 Azure portal の言語リソースの [キーとエンドポイント] ページに移動し、言語リソースのキーとエンドポイントを取得します。

フローで、次の情報を入力して新しい言語接続を作成します。

注意

Language 接続を既に作成していて、接続の詳細を変更する場合は、右上隅にある省略記号を選択し、[+ 新しい接続の追加] を選択します。

フィールド
接続名 言語リソースへの接続の名前。 たとえば、「 TAforPowerAutomate 」のように入力します。
アカウント キー 言語リソースのキー。
サイトの URL 言語リソースのエンドポイント。

言語リソースの資格情報をフローに追加する

Excel コンテンツを抽出する

接続が作成されたら、Text Analytics を検索し、 [固有表現認識] を選択します。 これにより、問題の説明列から情報が抽出されます。

Excel シートからエンティティを抽出します

[テキスト] フィールドを選択し、表示される動的コンテンツ ウィンドウから [Description] を選択します。 言語に en と入力し、ドキュメント ID として一意の名前を入力します ([詳細オプションの表示] を選択する必要がある場合があります)。

Excel シートから説明列のテキストを取得します

[Apply to each] 内で、[アクションの追加] を選択し、別の Apply to each アクションを作成します。 テキスト ボックス内を選択し、表示される動的コンテンツ ウィンドウで [ドキュメント] を選択します。

別の Apply to each アクションを作成します。

個人名を抽出する

次に、NER 出力で 個人のエンティティ型を確認します。 [Apply to each 2] 内で、[アクションの追加] を選択し、別の Apply to each アクションを作成します。 テキスト ボックス内を選択し、表示される動的コンテンツ ウィンドウで [エンティティ] を選択します。

NER 出力で個人のエンティティを検索する

新しく作成した [Apply to each 3] アクション内で、[アクションの追加] を選択して、条件コントロールを追加します。

Apply to each 3 アクションに、条件コントロールを追加します

[条件] ウィンドウで、最初のテキスト ボックスを選択します。 動的コンテンツ ウィンドウで、 [カテゴリ] を見つけて選択します。

コントロール条件にカテゴリを追加する

2 番目のボックスが [次の値と等しい] に設定されていることを確認します。 次に、3 番目のボックスを選択し、動的コンテンツ ウィンドウで var_person を検索します。

人物の変数を追加します

[はいの場合] 条件で、「Excel」 を入力し、 [行の更新] を選択します。

[はいの場合] 条件を更新します

Excel の情報を入力し、 [キー列][キー値][人名] フィールドを更新します。 これにより、API によって検出された名前が Excel シートに追加されます。

Excel 情報を追加します

電話番号を取得する

名前をクリックして、Apply to each 3 アクションを最小化します。 次に、前の手順と同様、別の Apply to each アクションを [Apply to each 2] に追加します。 これには Apply to each 4 という名前が付けられます。 テキスト ボックスを選択し、このアクションの出力としてエンティティを追加します。

NER 出力から別のアクションにエンティティを追加して、各アクションに適用します。

[Apply to each 4] 内で、条件コントロールを追加します。 条件 2 という名前になります。 最初のテキスト ボックスで、動的コンテンツ ウィンドウからカテゴリを探して追加します。 中央のボックスが [次の値と等しい] に設定されていることを確認します。 次に、右側のテキスト ボックスに「var_phone」と入力します。

2 つ目の条件コントロールを追加します

[はいの場合] 条件で、行の更新アクションを追加します。 次に、Excel シートの電話番号の列に、上記で行ったように情報を入力します。 これにより、API によって検出された電話番号が Excel シートに追加されます。

2 番目の [はいの場合] 条件に Excel 情報を追加します

配管工事の問題を取得する

名前をクリックして、Apply to each 4 を最小化します。 次に、親アクションで別の Apply to each を作成します。 テキスト ボックスを選択し、動的コンテンツ ウィンドウからこのアクションの出力としてエンティティを追加します。

別の Apply to each アクションを作成します

次に、Excel テーブルの行の問題の説明に "plumbing" (配管工事) という語が含まれているかどうかがフローによって確認されます。 含まれている場合は、"plumbing" が [IssueType] 列に追加されます。 そうでない場合は、「other」(その他) と入力します。

Apply to each 4 内に、条件コントロールを追加します。 条件 3 という名前になります。 動的コンテンツ ウィンドウを使用して、最初のテキスト ボックスで、Excel ファイルから [Description] を検索して追加します。 中央のボックスが [を含む] になっていることを確認します。 次に、右側のテキストボックスで、var_plumbing を見つけて選択します。

新しい条件コントロールを作成します

[はいの場合] 条件で、[アクションを追加] を選択し、[行の更新] を選択します。 次に、前と同じように情報を入力します。 [IssueType] 列で、[var_plumbing] を選択します。 これにより、行に "plumbing" ラベルが適用されます。

[いいえの場合] 条件で、[アクションを追加] を選択し、[行の更新] を選択します。 次に、前と同じように情報を入力します。 [IssueType] 列で、[var_other] を選択します。 これにより、行に "other" ラベルが適用されます。

両方の条件に情報を追加します

ワークフローをテストする

画面の右上隅にある [保存] を選択し、次に [テスト] を選択します。 テスト フローで、 [手動] を選択します。 次に、[テスト] を選択し、[フローの実行] を選択します。

Excel ファイルは、ご自分の OneDrive アカウントで更新されます。 次のようになります。

ワークフローをテストして出力を表示します

次のステップ