- 概要
- 暗号化
- データベース
- Java
- Python
- Web API
Web API の言語検出
The following examples explain how to use activities such as HTTP Request or Deserialize Json for calling a public API, extracting information, and displaying the results. You can find these activities in the UiPath.WebAPI.Activities package.
言語検出 API を使用してテキスト内の言語を検出するための 3 つのワークフローがあります。1 つ目のワークフローは言語の辞書を作成し、2 つ目は単一のテキストで言語を検出し、3 つ目は複数のテキストで言語を検出します。
言語辞書の作成
このワークフローは、言語コードと名前を含む CSV ファイルから言語辞書を作成します。このワークフローは、他の 2 つのワークフローで呼び出されます。
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
- この例で説明するプロジェクトを含むアーカイブをダウンロードし、languages.csv ファイルをプロジェクト フォルダーにコピーします。
-
デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名
変数の型
既定値
LanguagesDT
データ テーブル
-
-
[シーケンス] コンテナー内部に [CSV を読み込み] アクティビティを追加します。
- 式
"languages.csv"
を [ファイル パス] フィールドに追加します。 - [プロパティ] パネルで、変数
LanguagesDT
を [データ テーブル]
- 式
-
Add an Assign activity after the Read CSV activity.
- 式
out_LanguagesDictionary
を [左辺値 (To)] フィールドに追加します。 -
[右辺値 (Value)] フィールドに式
LanguagesDT.AsEnumerable.ToDictionary(of string, string)(function(row) row("Code").ToString, function(row) row("Language").ToString)
を追加します。
- 式
- プロセスを実行して辞書を作成します。
単一のテキストで言語を検出する
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
-
デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名
変数の型
既定値
APIKey
文字列
Text
文字列
Result
文字列
StatusCode
Int32
LanguagesDictionary
Dictionary<String, String>
LanguageCode
文字列
Reliable
Boolean
Confidence
Double
LanguageName
文字列
-
-
[シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
APIKey
を追加します。 - [右辺値 (Value)] フィールドに式
"demo"
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an Assign activity after the Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
Text
を追加します。 - [右辺値 (Value)] フィールドに式
"Hello. This is a sample test."
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an HTTP Request activity after the Assign activity.
- [エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。
- [プロパティ] パネルの [本文形式] フィールドに値
application/json
を追加します。注: ワークフローには「application/xml」と表示されます。 - Result (値) フィールドに変数
Result
を追加します。 - [ステータス コード] フィールドに変数
StatusCode
を追加します。
- [エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。
-
Add an If activity after the HTTP Request activity.
- [条件 (Condition)] フィールドに式
StatusCode = 200
を追加します。
- [条件 (Condition)] フィールドに式
-
[条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名
変数の型
既定値
ResultJSON
JObject
-
-
[シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
- [ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"
を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名
引数の方向
引数の型
既定値
out_LanguagesDictionary
Out
Dictionary<String, String>
LanguagesDictionary
- [ブック パス] フィールドに式
-
Add a Deserialize JSON activity after the Invoke Workflow File activity.
- [JSON 文字列] フィールドに変数
Result
を追加します。
- [JSON 文字列] フィールドに変数
-
Add an Assign activity after the Deserialize JSON activity.
- [左辺値 (To)/宛先] フィールドに変数
LanguageCode
を追加します。 - [右辺値 (Value)] フィールドに式
ResultJSON("data")("detections")(0)("language").ToString
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
LanguageName
を追加します。 - [右辺値 (Value)] フィールドに式
LanguagesDictionary(LanguageCode)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add another Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
Reliable
を追加します。 - [右辺値 (Value)] フィールドに式
CBool(ResultJSON("data")("detections")(0)("isReliable").ToString)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
Confidence
を追加します。 - [右辺値 (Value)] フィールドに式
CDbl(ResultJSON("data")("detections")(0)("confidence").ToString)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add a Log Message after the Assign activity.
- 式
"Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
を Message フィールドに追加します。
- 式
-
[条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
- 式
"HTTP Request was not successful. Code: " + StatusCode.ToString
を Message フィールドに追加します。
-
Add a Log Message activity after the previous Log Message activity.
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
-
式
"HTTP Request was not successful. Result: " + Result
を Message フィールドに追加します。
- プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
テキストのバッチ内の言語の検出
サンプルと同等のオートメーション プロセスは以下のように構築できます。
- Studio を開いて、新しいプロセスを作成します。
-
デザイナー パネルに [シーケンス] コンテナーをドラッグします。
-
次の変数を作成します。
変数名
変数の型
既定値
APIKey
文字列
Texts
String[]
Result
文字列
StatusCode
Int32
HTTPRequestBodyJSON
文字列
-
-
[シーケンス] コンテナー内に [代入] アクティビティを追加します。
- [左辺値 (To)/宛先] フィールドに変数
APIKey
を追加します。 - [右辺値 (Value)] フィールドに値
"demo"
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add another Assign activity after the previous one.
- [左辺値 (To)/宛先] フィールドに変数
Texts
を追加します。 - [右辺値 (Value)] フィールドに値
{"Hello world.", "Buenos dias, señor.", "Guten Tag.", "Buna ziua, tuturor."}
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add a new Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
HTTPRequestBodyJSON
を追加します。 - [右辺値 (Value)] フィールドに値
Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts })
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an HTTP Request activity after the Assign activity.
- [エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。
- [プロパティ] パネルの [本体] フィールドに変数
HTTPRequestBodyJSON
を追加します。 - [本文形式] フィールドに値
application/json
を追加します。 - Result (値) フィールドに変数
Result
を追加します。 - [ステータス コード] フィールドに変数
StatusCode
を追加します。
- [エンドポイント] アドレス、[要求メソッド]、応答受け入れの形式、および [認証] メソッドを追加して、ウィザードを設定します。
-
Add an If activity after the HTTP Request activity.
- [条件 (Condition)] フィールドに式
StatusCode = 200
を追加します。
- [条件 (Condition)] フィールドに式
-
[条件分岐 (if)] アクティビティの [Then] フィールドに [シーケンス] アクティビティを追加します。
-
次の変数を作成します。
変数名
変数の型
既定値
ResultJSON
JObject
LanguagesDictionary
System.Collections.Generic.Dictionary<System.String, System.String>
LanguageCode
文字列
LanguageName
文字列
Reliable
Boolean
Confidence
Double
index
Int32
0
-
-
[シーケンス] コンテナー内に [ワークフロー ファイルを呼び出し] アクティビティを追加します。
- [ブック パス] フィールドに式
"GetLanguagesDictionary.xaml"
を追加します。 -
[引数を編集] ボタンを選択して、次の引数を追加します。
引数名
引数の方向
引数の型
既定値
out_LanguagesDictionary
Out
Dictionary<String, String>
LanguagesDictionary
- [ブック パス] フィールドに式
-
Add a Deserialize JSON activity after the Invoke Workflow File activity.
- [JSON 文字列] フィールドに変数
Result
を追加します。
- [JSON 文字列] フィールドに変数
-
Add a For Each activity after the Deserialize JSON activity.
- 式
ResultJSON("data")("detections")
を Value (値) フィールドに追加します。
- 式
-
[繰り返し (コレクションの各要素)] アクティビティの [本体] 内部に [代入] アクティビティを配置します。
- [左辺値 (To)/宛先] フィールドに変数
LanguageCode
を追加します。 - [右辺値 (Value)] フィールドに式
item(0)("language").ToString
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
LanguageName
を追加します。 - [右辺値 (Value)] フィールドに式
LanguagesDictionary(LanguageCode)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add another Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
Reliable
を追加します。 - [右辺値 (Value)] フィールドに式
CBool(item(0)("isReliable").ToString)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add an Assign activity after the previous Assign activity.
- [左辺値 (To)/宛先] フィールドに変数
Confidence
を追加します。 - [右辺値 (Value)] フィールドに式
CDbl(item(0)("confidence").ToString)
を追加します。
- [左辺値 (To)/宛先] フィールドに変数
-
Add a Log Message after the Assign activity.
- 式
"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
を Message フィールドに追加します。
- 式
-
[条件分岐 (if)] アクティビティの [Else] フィールドに [メッセージをログ] アクティビティを追加します。
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
- 式
"HTTP Request was not successful. Code: " + StatusCode.ToString
を Message フィールドに追加します。
-
Add a Log Message activity after the previous Log Message activity.
- [レベル] ドロップダウン リストから [Warn] オプションを選択します。
-
式
"HTTP Request was not successful. Result: " + Result
を Message フィールドに追加します。
- プロセスを実行して、テキストで使用されている言語を検出してログに記録します。
こちらからサンプルをダウンロードできます。