Power Automate for desktop

Power Automate for desktopでテキストから指定した種類の文字列を取得する方法

※本記事は@RisaMizushinaさんの記事に続く「RPA (Robotic Process Automation) Advent Calendar 2021 Part 2」14日目の記事となります。
※下記情報はPower Automate for desktop バージョン 2.15.280.21347 を元にしています。今後のアップデートにより仕様が変更される可能性があります。

2021年12月のPower Automate for desktop(PAD)のアップデートで「エンティティをテキストで認識する」アクションが追加され、テキストからURLやEメールアドレス、電話番号といった指定した種類の文字列を抜き出すことができるようになりました。

アクション概要

「エンティティをテキストで認識する」アクションの設定画面は下図の通りで、以下のパラメーターを設定します。

  • 認識を行うテキスト:対象となるテキストを指定します。
  • エンティティの種類:取得したい文字列の種類を指定します。
  • 言語:言語を指定します。

エンティティの種類
  • 日時
  • 分析コード
  • 温度
  • 通貨
  • 数値の範囲
  • 数値
  • 序数
  • パーセント
  • 電話番号
  • メール
  • IP アドレス
  • 参照投稿
  • ハッシュタグ
  • URL
  • GUID
  • 引用されるテキスト
言語
  • 英語
  • 中国語 (簡体字)
  • スペイン語
  • スペイン語 (メキシコ)
  • ポルトガル語
  • フランス語
  • ドイツ語
  • イタリア語
  • 日本語
  • オランダ語
  • 韓国語
  • スウェーデン語
  • トルコ語
  • ヒンディー語

各エンティティの動作検証

各「エンティティの種類」でどのような結果が得られるのか、私の方で検証した結果を以下にまとめます(言語は日本語)。

日時

・認識を行うテキスト:

次の勉強会は2021/12/31 12:34:56に開催されます。

・結果:

・備考:

  • 「次の勉強会は 2021/12/31 12:34:56 に…」のように文字間隔をあけると秒単位まで認識。
  • 「次の勉強会は 2021年12月31日 に…」のように日本語の書式では認識せず、「次の勉強会は 31 December 2021 に…」のように英語の書式だと認識。言語を「日本語」にしても対応していない可能性があります。
分析コード

・認識を行うテキスト:

私は 3km 先の酒屋に走っていき、 350ml の缶チューハイを一気飲みした。

・結果:

・備考:

  • 「分析コード」という名称が非常に分かりづらく、どのようなテキストからどのような文字列を取得できるのか最初分かりませんでした。
  • 「私は3km先の…」のように文字間隔をあけずにに続けてしまうと認識不可、「私は(3km)先の…」のように記号で囲むと認識。
温度

・認識を行うテキスト:

今日の関東地方の最高気温は 38° です。

・結果:

・備考:

  • 「度」や「℃」は認識せず「fahrenheit」や「degree」は認識。言語を「日本語」にしても対応していない可能性があります。
通貨

・認識を行うテキスト:

今日の為替レートでは1ポンドは150.18円です。

・結果:

・認識を行うテキスト:

当時の月給は11円22銭33厘でした。

・結果:

・備考:

  • 「£」や「€」といった記号も認識。
  • 日本の貨幣単位では「銭」までは認識、「厘」は認識不可。
数値の範囲

・認識を行うテキスト:

第一パラメーターは100以上200未満の範囲で、第二パラメーターは128以上256以下で指定してください。

・結果:

数値

・認識を行うテキスト:

合計でバナナは1,234円、リンゴは六百円、ナシは四九三円、スイカは256円になります。

・結果:

序数

・認識を行うテキスト:

第一位Aさん、第二位Bさん、だい三位Cさん、第四位はDさんでした。

・結果:

・認識を行うテキスト:

本館に来場された記念すべき一億番目お客様は埼玉県からお越しのHさんです。

・結果:

パーセント

・認識を行うテキスト:

今日の千葉県の降水確率は1250パーセント、東京都は256%%、埼玉県は3%です。

・結果:

電話番号

・認識を行うテキスト: ※「*」部分は実際は数字

勤め先の電話番号は03-****-****になります。外出していることが多いので携帯番号の050-****-****にお掛けください。

・結果:

メール

・認識を行うテキスト:

何かありましたらhogehoge@ka-net.orgまでメールしてください。

・結果:

IP アドレス

・認識を行うテキスト:

対象IPアドレスは下記のとおりです。
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
192.168.1.1
777.888.999.111
0.0.0.0, 127.0.0.1

・結果:

・備考:

  • IPv6アドレスにも対応、有り得ないアドレスは認識不可。
参照投稿

・認識を行うテキスト:

@kinuasa さんの投稿、大変参考になりました。

・結果:

・備考:

  • いわゆる「メンション」です。
  • 「参照投稿」という名称が非常に分かりづらく、どのようなテキストからどのような文字列を取得できるのか最初まったく分かりませんでした。
ハッシュタグ

・認識を行うテキスト:

今日リリースされた #PAD は新機能が盛りだくさんですね!

・結果:

URL

・認識を行うテキスト:

私のブログのURLは https://www.ka-net.org/blog/ になります。主にOffice スクリプトやVBAについて記事を書いています。

・結果:

・備考:

  • 日本語ドメインは認識不可。
GUID

・認識を行うテキスト:

マニフェストのID要素には{134c4d78-b494-40b7-b123-b26340796584}のようなGUIDを指定してください。

・結果:

引用されるテキスト

・認識を行うテキスト:

まったく「迂闊」であった。うっかり自分が『能力者』であることを彼に話してしまうところだった。

・結果:

・備考:

  • 「﹃﹄」も認識可。

若干のクセがあるもののテキストから指定した種類の文字列を抜き出せるのは非常に便利ですので、テキストの処理に是非「エンティティをテキストで認識する」アクションをご活用ください。

また、使用しているDLLを見る限りでは、本アクションは「Microsoft Recognizers Text」を使用して文字列の認識を行っているものと推測します。

Power Automate for desktopでSlackにファイルをアップロードする方法前のページ

Power Automate for desktopでフロー実行中にメッセージボックスを表示する方法次のページ

関連記事

  1. Power Automate for desktop

    Power Automate for desktopの起動方法

    今回はPower Automate for desktop(PAD)の…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP