アクティビティ
最新
バナーの背景画像
開発者向けのアクティビティ
最終更新日 2024年4月23日

Web API の言語検出

以下の例では、[HTTP 要求][JSON を逆シリアル化] などのアクティビティを使用して、パブリック API を呼び出し、情報を抽出して、結果を表示する方法を説明します。これらのアクティビティは、UiPath.WebAPI.Activities パッケージに含まれています。

言語検出 API を使用してテキスト内の言語を検出するための 3 つのワークフローがあります。1 つ目のワークフローは言語の辞書を作成し、2 つ目は単一のテキストで言語を検出し、3 つ目は複数のテキストで言語を検出します。

言語辞書の作成

このワークフローは、言語コードと名前を含む CSV ファイルから言語辞書を作成します。このワークフローは、他の 2 つのワークフローで呼び出されます。

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。
  2. この例で説明するプロジェクトを含むアーカイブをダウンロードし、languages.csv ファイルをプロジェクト フォルダーにコピーします。
  3. デザイナー パネルに [シーケンス] コンテナーをドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      LanguagesDT

      データ テーブル

       
  4. [シーケンス] コンテナー内部に [CSV を読み込み] アクティビティを追加します。

    • "languages.csv"[ファイル パス] フィールドに追加します。
    • [プロパティ] パネルで、変数 LanguagesDT を [データ テーブル]
  5. [代入] アクティビティを、[CSV を読み込み] アクティビティに下にドラッグします。

    • out_LanguagesDictionary[左辺値 (To)] フィールドに追加します。
    • [右辺値 (Value)] フィールドに式 LanguagesDT.AsEnumerable.ToDictionary(of string, string)(function(row) row("Code").ToString, function(row) row("Language").ToString) を追加します。


  6. プロセスを実行して辞書を作成します。
単一のテキストで言語を検出する

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。
  2. デザイナー パネルに [シーケンス] コンテナーをドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      APIKey

      文字列

       

      Text

      文字列

       

      Result

      文字列

       

      StatusCode

      Int32

       

      LanguagesDictionary

      Dictionary<String, String>

       

      LanguageCode

      文字列

       

      Reliable

      Boolean

       

      Confidence

      Double

       

      LanguageName

      文字列

       
  3. [シーケンス] コンテナー内に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 APIKey を追加します。
    • [右辺値 (Value)] フィールドに式 "demo" を追加します。
  4. [代入] アクティビティの下に [代入] アクティビティをドラッグします。

    • [左辺値 (To)/宛先] フィールドに変数 Text を追加します。
    • [右辺値 (Value)] フィールドに式 "Hello! This is a sample test!" を追加します。
  5. [代入] アクティビティの下に [HTTP 要求] アクティビティを追加します。

    • [エンドポイント] アドレス、[要求メソッド]応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。


    • [プロパティ] パネルの [本文形式] フィールドに値 application/json を追加します。注: ワークフローには「application/xml」と表示されます。
    • Result (値) フィールドに変数 Result を追加します。
    • [ステータス コード] フィールドに変数 StatusCode を追加します。
  6. [HTTP 要求] アクティビティの下に [条件分岐 (if)] アクティビティを追加します。

    • [条件 (Condition)] フィールドに式 StatusCode = 200 を追加します。
  7. [条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      ResultJSON

      JObject

       
  8. [シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。

    • [ブック パス] フィールドに式 "GetLanguagesDictionary.xaml" を追加します。
    • [引数を編集] ボタンを選択して、次の引数を追加します。

      引数名

      引数の方向

      引数の型

      既定値

      out_LanguagesDictionary

      Out

      Dictionary<String, String>

      LanguagesDictionary



  9. [JSON を逆シリアル化] アクティビティを、[ワークフロー ファイルを呼び出し] アクティビティの下に追加します。

    • [JSON 文字列] フィールドに変数 Result を追加します。
  10. [JSON を逆シリアル化] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 LanguageCode を追加します。
    • [右辺値 (Value)] フィールドに式 ResultJSON("data")("detections")(0)("language").ToString を追加します。
  11. 先ほどの [代入] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 LanguageName を追加します。
    • [右辺値 (Value)] フィールドに式 LanguagesDictionary(LanguageCode) を追加します。
  12. 先ほどの [代入] アクティビティの下にもう 1 つ [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 Reliable を追加します。
    • [右辺値 (Value)] フィールドに式 CBool(ResultJSON("data")("detections")(0)("isReliable").ToString) を追加します。
  13. 先ほどの [代入] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 Confidence を追加します。
    • [右辺値 (Value)] フィールドに式 CDbl(ResultJSON("data")("detections")(0)("confidence").ToString) を追加します。
  14. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。

    • "Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToStringMessage フィールドに追加します。
  15. [条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。

    • [レベル] ドロップダウン リストから [Warn] オプションを選択します。
    • "HTTP Request was not successful. Code: " + StatusCode.ToStringMessage フィールドに追加します。
  16. 先ほどの [メッセージをログ] アクティビティの下に [メッセージをログ] アクティビティを追加します。

    • [レベル] ドロップダウン リストから [Warn] オプションを選択します。
    • "HTTP Request was not successful. Result: " + ResultMessage フィールドに追加します。


  17. プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
テキストのバッチ内の言語の検出

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。
  2. デザイナー パネルに [シーケンス] コンテナーをドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      APIKey

      文字列

       

      Texts

      String[]

       

      Result

      文字列

       

      StatusCode

      Int32

       

      HTTPRequestBodyJSON

      文字列

       
  3. [シーケンス] コンテナー内に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 APIKey を追加します。
    • [右辺値 (Value)] フィールドに値 "demo" を追加します。
  4. 前のアクティビティの下に別の [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 Texts を追加します。
    • [右辺値 (Value)] フィールドに値 {"Hello world!", "Buenos dias, señor!", "Guten Tag!", "Buna ziua, tuturor!"} を追加します。
  5. 先ほどの [代入] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 HTTPRequestBodyJSON を追加します。
    • [右辺値 (Value)] フィールドに値 Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts }) を追加します。
  6. [代入] アクティビティの下に [HTTP 要求] アクティビティを追加します。

    • [エンドポイント] アドレス、[要求メソッド]応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。


    • [プロパティ] パネルの [本体] フィールドに変数 HTTPRequestBodyJSON を追加します。
    • [本文形式] フィールドに値 application/json を追加します。
    • Result (値) フィールドに変数 Result を追加します。
    • [ステータス コード] フィールドに変数 StatusCode を追加します。
  7. [HTTP 要求] アクティビティの下に [条件分岐 (if)] アクティビティを追加します。

    • [条件 (Condition)] フィールドに式 StatusCode = 200 を追加します。
  8. [条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      ResultJSON

      JObject

       

      LanguagesDictionary

      System.Collections.Generic.Dictionary<System.String, System.String>

       

      LanguageCode

      文字列

       

      LanguageName

      文字列

       

      Reliable

      Boolean

       

      Confidence

      Double

       

      index

      Int32

      0

  9. [シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。

    • [ブック パス] フィールドに式 "GetLanguagesDictionary.xaml" を追加します。
    • [引数を編集] ボタンを選択して、次の引数を追加します。

      引数名

      引数の方向

      引数の型

      既定値

      out_LanguagesDictionary

      Out

      Dictionary<String, String>

      LanguagesDictionary



  10. [JSON を逆シリアル化] アクティビティを、[ワークフロー ファイルを呼び出し] アクティビティの下に追加します。

    • [JSON 文字列] フィールドに変数 Result を追加します。
  11. [JSON を逆シリアル化] アクティビティの下に [繰り返し (コレクションの各要素)] アクティビティを追加します。

    • ResultJSON("data")("detections")Value (値) フィールドに追加します。
  12. [繰り返し (コレクションの各要素)] アクティビティの [本体] 内部に [代入] アクティビティを配置します。

    • [左辺値 (To)/宛先] フィールドに変数 LanguageCode を追加します。
    • [右辺値 (Value)] フィールドに式 item(0)("language").ToString を追加します。
  13. 先ほどの [代入] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 LanguageName を追加します。
    • [右辺値 (Value)] フィールドに式 LanguagesDictionary(LanguageCode) を追加します。
  14. 先ほどの [代入] アクティビティの下にもう 1 つ [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 Reliable を追加します。
    • [右辺値 (Value)] フィールドに式 CBool(item(0)("isReliable").ToString) を追加します。
  15. 先ほどの [代入] アクティビティの下に [代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 Confidence を追加します。
    • [右辺値 (Value)] フィールドに式 CDbl(item(0)("confidence").ToString) を追加します。
  16. [代入] アクティビティの下に [メッセージをログ] アクティビティを追加します。

    • "Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToStringMessage フィールドに追加します。
  17. [条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。

    • [レベル] ドロップダウン リストから [Warn] オプションを選択します。
    • "HTTP Request was not successful. Code: " + StatusCode.ToStringMessage フィールドに追加します。
  18. 先ほどの [メッセージをログ] アクティビティの下に [メッセージをログ] アクティビティを追加します。

    • [レベル] ドロップダウン リストから [Warn] オプションを選択します。
    • "HTTP Request was not successful. Result: " + ResultMessage フィールドに追加します。


  19. プロセスを実行して、テキストで使用されている言語を検出してログに記録します。

こちらからサンプルをダウンロードできます。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.