SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Power Automate Desktopチュートリアル

無償デスクトップ自動化ツール「Power Automate Desktop」でAIによるテキスト分析を自動化する

Power Automate Desktopチュートリアル 第17回

  • X ポスト
  • このエントリーをはてなブックマークに追加

テキスト分析を呼び出すフローを作成する

 では、ここからは具体的なフローの作成に入ります。

[1]新しいフローを作成する

 Power Automate for Desktopを開きます。

 トップ画面から[+新しいフロー]をクリックして、適当な名前で新規のフローを作成します。

[2]変数の設定で既定の検索ワードを設定する

 実行時で入力するワードの既定値として決めた検索ワードを設定します。

 [変数]アクショングループから[変数の設定]アクションを配置します。

図:変数(検索ワード)の設定アクションの配置
図:変数(検索ワード)の設定アクションの配置
図:変数(検索ワード)の設定アクションの設定
図:変数(検索ワード)の設定アクションの設定

 以下の選択・入力をして保存します。

  • 変数:%word%
  • 値:(決めた検索ワード)

[3]ドキュメントフォルダーを参照する

 Power Automate for Desktopから保存したキーを参照するために、[フォルダー]アクショングループから[特別なフォルダーを取得]アクションを配置します。

図:特別なフォルダーを取得アクションの配置
図:特別なフォルダーを取得アクションの配置
図:特別なフォルダーを取得アクションの設定
図:特別なフォルダーを取得アクションの設定

 以下の選択/入力をして保存します。

  • 特別なフォルダーの名前:ドキュメント
  • 生成された変数:%Documents%

[4]ファイルパスを設定する

 [変数の設定]アクションを配置します。以下の入力・選択をして保存します。

図:変数(ファイルパス)アクションの配置
図:変数(ファイルパス)アクションの配置
図:変数(ファイルパス)アクションの設定
図:変数(ファイルパス)アクションの設定
  • 変数:%filePath%
  • 値:%Documents%\テキスト解析\

[5]キーを読み込む

 [ファイル]アクショングループから[ファイルからテキストを読み取る]アクションを配置します。

図:ファイルからテキストを読み取るアクションの配置
図:ファイルからテキストを読み取るアクションの配置
図:ファイルからテキストを読み取るアクションの設定
図:ファイルからテキストを読み取るアクションの設定

 以下の入力/選択をして保存します。

  • ファイルパス:%filePath%キー情報.txt
  • エンコード:UTF-8 (既定値)
  • 生成された変数:%Key%

[6]入力ダイアログを表示する

 実行時に検索ワードを入力するダイアログを表示します。[メッセージボックス]アクショングループから[入力ダイアログを表示]アクションを配置します。

図:入力ダイアログを表示アクションの配置
図:入力ダイアログを表示アクションの配置
図:入力ダイアログを表示アクションの設定
図:入力ダイアログを表示アクションの設定

 以下の入力をして保存します。

  • 入力ダイアログメッセージ:検索ワードを入力してください。
  • 既定値:%word%

[7]検索ワードの言語を検出する

 [Microsoftコグニティブ]―[テキスト分析]から[言語を検出します]アクションを配置します。

図:言語を検出しますアクションの配置
図:言語を検出しますアクションの配置
図:言語を検出しますアクションの設定
図:言語を検出しますアクションの設定

 以下の入力/選択をして保存します。

  • サーバーの場所:東日本(Azureのリソースでの選択に対応、2023/01/03現在西日本は選択不可)
  • サブスクリプションキー:%Key%
  • テキスト:%UserInput%
  • 生成された変数1:%JSONOfLang%

[8]検出した言語の変数を設定する

 [言語を検出します]アクションの戻り値を設定します。[変数]アクショングループから[変数の設定]アクションを配置します。

図:変数(言語)の設定アクションの配置
図:変数(言語)の設定アクションの配置
図:変数(言語)の設定アクションの設定
図:変数(言語)の設定アクションの設定

 以下の入力/選択をして保存します。

  • 変数:%lang%
  • 値:%JSONOfLang['documents'][0]['detectedLanguages'][0].iso6391Name%

 言語検出サービスのAPIの応答のJSONは以下のようになっています。

言語検出サービスのAPIの応答
{
  "documents": [
    {
      "id": "text_1",
      "detectedLanguages": [
        {
          "name": "Japanese",
          "iso6391Name": "ja",
          "score": 1.0
        }
      ]
    }
  ],
  "errors": []
}

 戻り値のうち重要な部分はdetectedLanguagesの部分で、iso6391NameにISO 639-1標準で定められている2文字(一部例外あり)の文字コードが入っています。

 英語であれば「en」、日本語であれば「ja」となります。

 次回のキー語句抽出アクションでは、言語のパラメータに使用します。その値をセットしたいので変数の値の式の設定は、上記のようになります。

参考ページ:

[9]フローを実行する

 ここで一旦、ワークフローを実行してみます。

 入力ボックスで入力した文字列によって、デザイナーの変数ペインのlang変数に言語コードが確認できます。ひらがながあるとja(日本語)になります。アルファベットだとen(英語)になります。漢字だとzh_chs(簡体字中国語)になります。当然ですが、1つの単語では判断するのは難しいのが分かります。

 次回は引き続きこのフローを使って、英語でなければ日本語と判定することにしてフローデザインを続けます。

図:実行後のフロー変数
図:実行後のフロー変数

まとめ

 Power Automate for desktopから人工知能(Azure Cognitive)で言語検出を行うサンプルを紹介しました。

 次回引き続き、このフローを使って、英語でなければ日本語と判定することにしてフローデザインを続けます。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Power Automate Desktopチュートリアル連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 飯島 聡(WINGSプロジェクト イイジマ サトシ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17062 2023/01/20 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング