activities
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
UiPath logo, featuring letters U and I in white
開発者向けのアクティビティ
Last updated 2024年10月22日

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. 上記の [代入] の下にもう 1 つ [代入] アクティビティを追加します。

    • [左辺値 (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. プロセスを実行して、テキストで使用されている言語を検出してログに記録します。

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

このページは役に立ちましたか?

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