固有表現認識 (NER) と Power Automate を使用して、情報を抽出します。
このチュートリアルでは、コードを記述せずに Excel スプレッドシート内のテキストを抽出する Power Automate フローを作成します。
このフローでは、あるアパートについて報告された問題のスプレッドシートを取得して、それらを 2 つのカテゴリ (配管工事とその他) に分類します。 また、送信元のテナントの名前と電話番号も抽出します。 フローでは最後に、この情報を Excel シートに追加します。
このチュートリアルで学習する内容は次のとおりです。
- Power Automate を使用してフローを作成する
- OneDrive for Business から Excel データをアップロードする
- Excel からテキストを抽出し、固有表現認識(NER)に送信する
- API の情報を使用して、Excel シートを更新する
前提条件
- Microsoft Azure アカウント。 無料アカウントを作成するか、サインインしてください。
- 言語リソース。 お持ちでない場合は、Azure portal で作成し、Free レベルを使用してこのチュートリアルを完了することができます。
- リソースの作成時に生成されたキーとエンドポイント。
- テナントの問題を含むスプレッドシート。 このチュートリアルのデータの例は、GitHub から入手できます。
- Microsoft 365 (OneDrive for Business)。
OneDrive for Business に Excel ファイルを追加する
GitHubからサンプルの Excel ファイルをダウンロードします。 このファイルは、ご自分の OneDrive for Business アカウントで保存する必要があります。
問題は、未加工のテキストで報告されます。 ユーザー名と電話番号を抽出するには、固有表現認識フィーチャーを使用します。 次に、フローで、説明の中の "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 ファイルをフローに追加します。 このチュートリアルでは、ファイルが OneDrive for Business にアップロードされている必要があります。
[新しいステップ] を選択し、Apply to each アクションを追加します。
[以前の手順から出力を選択] を選択します。 表示される動的コンテンツのボックスで、 [値] を選択します。
エンティティ表彰の要求を送信する
まだ行っていない場合は、Azure portal で 言語リソース を作成する必要があります。
言語サービス接続を作成する
[Apply to each] で、[アクションの追加] を選択します。 Azure portal の言語リソースの [キーとエンドポイント] ページに移動し、言語リソースのキーとエンドポイントを取得します。
フローで、次の情報を入力して新しい言語接続を作成します。
注意
Language 接続を既に作成していて、接続の詳細を変更する場合は、右上隅にある省略記号を選択し、[+ 新しい接続の追加] を選択します。
フィールド | 値 |
---|---|
接続名 | 言語リソースへの接続の名前。 たとえば、「 TAforPowerAutomate 」のように入力します。 |
アカウント キー | 言語リソースのキー。 |
サイトの URL | 言語リソースのエンドポイント。 |
Excel コンテンツを抽出する
接続が作成されたら、Text Analytics を検索し、 [固有表現認識] を選択します。 これにより、問題の説明列から情報が抽出されます。
[テキスト] フィールドを選択し、表示される動的コンテンツ ウィンドウから [Description] を選択します。 言語に en
と入力し、ドキュメント ID として一意の名前を入力します ([詳細オプションの表示] を選択する必要がある場合があります)。
[Apply to each] 内で、[アクションの追加] を選択し、別の Apply to each アクションを作成します。 テキスト ボックス内を選択し、表示される動的コンテンツ ウィンドウで [ドキュメント] を選択します。
個人名を抽出する
次に、NER 出力で 個人のエンティティ型を確認します。 [Apply to each 2] 内で、[アクションの追加] を選択し、別の Apply to each アクションを作成します。 テキスト ボックス内を選択し、表示される動的コンテンツ ウィンドウで [エンティティ] を選択します。
新しく作成した [Apply to each 3] アクション内で、[アクションの追加] を選択して、条件コントロールを追加します。
[条件] ウィンドウで、最初のテキスト ボックスを選択します。 動的コンテンツ ウィンドウで、 [カテゴリ] を見つけて選択します。
2 番目のボックスが [次の値と等しい] に設定されていることを確認します。 次に、3 番目のボックスを選択し、動的コンテンツ ウィンドウで var_person
を検索します。
[はいの場合] 条件で、「Excel」 を入力し、 [行の更新] を選択します。
Excel の情報を入力し、 [キー列] 、 [キー値] 、 [人名] フィールドを更新します。 これにより、API によって検出された名前が Excel シートに追加されます。
電話番号を取得する
名前をクリックして、Apply to each 3 アクションを最小化します。 次に、前の手順と同様、別の Apply to each アクションを [Apply to each 2] に追加します。 これには Apply to each 4 という名前が付けられます。 テキスト ボックスを選択し、このアクションの出力としてエンティティを追加します。
[Apply to each 4] 内で、条件コントロールを追加します。 条件 2 という名前になります。 最初のテキスト ボックスで、動的コンテンツ ウィンドウからカテゴリを探して追加します。 中央のボックスが [次の値と等しい] に設定されていることを確認します。 次に、右側のテキスト ボックスに「var_phone
」と入力します。
[はいの場合] 条件で、行の更新アクションを追加します。 次に、Excel シートの電話番号の列に、上記で行ったように情報を入力します。 これにより、API によって検出された電話番号が Excel シートに追加されます。
配管工事の問題を取得する
名前をクリックして、Apply to each 4 を最小化します。 次に、親アクションで別の 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 アカウントで更新されます。 次のようになります。