- 概述
- 加密
- 数据库
- Java
- Python
- 网页 API
WebAPI 语言检测
使用语言检测 API 检测文本中的语言可通过三个工作流进行。 第一个工作流创建语言字典,第二个工作流检测单个文本中的语言,第三个工作流检测多个文本中的语言。
创建语言字典
工作流从包含语言代码和名称的 CSV 文件创建语言字典。 此工作流在其他两个工作流中调用。
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
- 下载此示例中的项目存档,并将文件 languages.csv 复制到您的项目文件夹。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
LanguagesDT
数据表
-
-
将读取 CSV 活动添加至序列容器。
- 在文件路径字段中添加表达式
"languages.csv"
。 - 在“ 属性 ”面板的“ 数据表 ”字段中添加变量
LanguagesDT
。
- 在文件路径字段中添加表达式
-
将分配活动添加至读取 CSV 活动下方。
- 在目标字段中添加表达式
out_LanguagesDictionary
。 -
在“值”字段中添加表达式“
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
布尔值
Confidence
Double
LanguageName
字符串
-
-
将分配活动添加至序列容器。
- 在“收件人”字段中添加“
APIKey
”变量。 - 在“值”字段中添加表达式“
"demo"
”。
- 在“收件人”字段中添加“
-
将分配活动添加至分配活动下方。
- 在“收件人”字段中添加“
Text
”变量。 - 在“值”字段中添加表达式“
"Hello! This is a sample test!"
”。
- 在“收件人”字段中添加“
-
在“ 分配 ”活动下方添加“ HTTP 请求”活动。
-
在“ HTTP 请求 ”活动下方添加“ If条件”活动。
- 在“条件”字段中添加表达式“
StatusCode = 200
”。
- 在“条件”字段中添加表达式“
-
在IF 条件活动的 Then 字段中添加序列活动。
-
创建以下变量:
变量名称
变量类型
默认值
ResultJSON
JObject
-
-
在“ 序列 ”容器中添加“调用工作流文件”活动。
- 在工作流路径字段中添加表达式
"GetLanguagesDictionary.xaml"
。 -
选择编辑参数按钮并添加以下参数:
参数名称
参数方向
参数类型
默认值
out_LanguagesDictionary
输出
Dictionary<String, String>
LanguagesDictionary
- 在工作流路径字段中添加表达式
-
在“ 调用工作流文件 ”活动下方添加“反序列化 JSON ”活动。
- 在“ Json 字符串 ”字段中添加变量
Result
。
- 在“ Json 字符串 ”字段中添加变量
-
在反序列化 JSON 活动下方添加分配活动。
- 在“收件人”字段中添加“
LanguageCode
”变量。 - 在“值”字段中添加表达式“
ResultJSON("data")("detections")(0)("language").ToString
”。
- 在“收件人”字段中添加“
-
将分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
LanguageName
”变量。 - 在“值”字段中添加表达式“
LanguagesDictionary(LanguageCode)
”。
- 在“收件人”字段中添加“
-
将另一个分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
Reliable
”变量。 - 在“值”字段中添加表达式“
CBool(ResultJSON("data")("detections")(0)("isReliable").ToString)
”。
- 在“收件人”字段中添加“
-
将分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
Confidence
”变量。 - 在“值”字段中添加表达式“
CDbl(ResultJSON("data")("detections")(0)("confidence").ToString)
”。
- 在“收件人”字段中添加“
-
在“ 分配 ”活动下方添加一条日志消息。
- 在“行”字段中添加表达式“
"Detection for the text:" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
”。
- 在“行”字段中添加表达式“
-
在“ If ” 活动的“ Else ” 字段中添加一个“ 日志消息 ” 活动。
- 从级别下拉列表中选择警告选项。
- 在“行”字段中添加表达式“
"HTTP Request was not successful. Code: " + StatusCode.ToString
”。
-
在上一个“ 日志消息”活动下方添加一个“日志 消息” 活动。
- 从级别下拉列表中选择警告选项。
-
在“行”字段中添加表达式“
"HTTP Request was not successful. Result: " + Result
”。
- 运行流程以检测并记录文本中使用的语言。
检测一批文本中的语言
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
APIKey
字符串
Texts
字符串[]
Result
字符串
StatusCode
Int32
HTTPRequestBodyJSON
字符串
-
-
将分配活动添加至“序列”容器。
- 在“收件人”字段中添加“
APIKey
”变量。 - 在“值”字段中添加值“
"demo"
”。
- 在“收件人”字段中添加“
-
在上一个“分配”活动下方添加另一个“分配”活动。
- 在“收件人”字段中添加“
Texts
”变量。 - 在“值”字段中添加值“
{"Hello world!", "Buenos dias, señor!", "Guten Tag!", "Buna ziua, tuturor!"}
”。
- 在“收件人”字段中添加“
-
将新的分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
HTTPRequestBodyJSON
”变量。 - 在“值”字段中添加值“
Newtonsoft.Json.JsonConvert.SerializeObject(new with{ .q = Texts })
”。
- 在“收件人”字段中添加“
-
在“ 分配 ”活动下方添加“ HTTP 请求”活动。
-
在“ HTTP 请求 ”活动下方添加“ If条件”活动。
- 在“条件”字段中添加表达式“
StatusCode = 200
”。
- 在“条件”字段中添加表达式“
-
在IF 条件活动的 Then 字段中添加序列活动。
-
创建以下变量:
变量名称
变量类型
默认值
ResultJSON
JObject
LanguagesDictionary
System.Collections.Generic.Dictionary<System.String, System.String>
LanguageCode
字符串
LanguageName
字符串
Reliable
布尔值
Confidence
Double
index
Int32
0
-
-
在“ 序列 ”容器中添加“调用工作流文件”活动。
- 在工作流路径字段中添加表达式
"GetLanguagesDictionary.xaml"
。 -
选择编辑参数按钮并添加以下参数:
参数名称
参数方向
参数类型
默认值
out_LanguagesDictionary
输出
Dictionary<String, String>
LanguagesDictionary
- 在工作流路径字段中添加表达式
-
在“ 调用工作流文件 ”活动下方添加“反序列化 JSON ”活动。
- 在“ Json 字符串 ”字段中添加变量
Result
。
- 在“ Json 字符串 ”字段中添加变量
-
在反序列化 JSON 活动下方添加遍历循环活动。
- 在“值”字段中添加表达式“
ResultJSON("data")("detections")
”。
- 在“值”字段中添加表达式“
-
在遍历循环活动的正文中添加分配活动。
- 在“收件人”字段中添加“
LanguageCode
”变量。 - 在“值”字段中添加表达式“
item(0)("language").ToString
”。
- 在“收件人”字段中添加“
-
将分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
LanguageName
”变量。 - 在“值”字段中添加表达式“
LanguagesDictionary(LanguageCode)
”。
- 在“收件人”字段中添加“
-
将另一个分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
Reliable
”变量。 - 在“值”字段中添加表达式“
CBool(item(0)("isReliable").ToString)
”。
- 在“收件人”字段中添加“
-
将分配活动添加至上一个分配活动下方。
- 在“收件人”字段中添加“
Confidence
”变量。 - 在“值”字段中添加表达式“
CDbl(item(0)("confidence").ToString)
”。
- 在“收件人”字段中添加“
-
在“ 分配 ”活动下方添加一条日志消息。
- 在“行”字段中添加表达式“
"Detection for the text #"+index.ToString +":" + vbCrLf + " Language is " + LanguageName+ vbCrLf +" Reliable detection: " + Reliable.ToString + vbCrLf + " Confidence level: " + Confidence.ToString
”。
- 在“行”字段中添加表达式“
-
在“ If ” 活动的“ Else ” 字段中添加一个“ 日志消息 ” 活动。
- 从级别下拉列表中选择警告选项。
- 在“行”字段中添加表达式“
"HTTP Request was not successful. Code: " + StatusCode.ToString
”。
-
在上一个“ 日志消息”活动下方添加一个“日志 消息” 活动。
- 从级别下拉列表中选择警告选项。
-
在“行”字段中添加表达式“
"HTTP Request was not successful. Result: " + Result
”。
- 运行流程以检测并记录文本中使用的语言
您可在此处下载示例。