正在加载

语言识别

Elastic Stack Serverless

语言识别使您能够确定文本的语言。

您的集群中提供了一个语言识别模型,您可以通过使用其模型 ID (lang_ident_model_1) 在采集管道的推理处理器中使用它。 有关示例,请参阅将 NLP 推理添加到采集管道

传递到语言识别模型的文本越长,模型识别语言的准确性就越高。 它在某些语言的短样本(例如,50 个字符长的流)上相当准确,但彼此相似的语言更难基于短字符流来识别。 如果没有可以从中推断出身份的有效文本,则模型返回特殊的语言代码 zxx。 如果您希望使用不同的默认值,您可以调整您的采集管道以将 zxx 预测替换为您首选的值。

语言识别在构建特征集时会考虑 Unicode 边界。 如果文本带有变音符号,则模型会使用该信息来识别文本的语言。 在某些情况下,即使源语言不是以该语言传统上使用的脚本编写的,模型也可以检测到源语言。 这些语言在支持的语言表格(见下文)中用 Latn 子标签标记。 语言识别支持 Unicode 输入。

下表包含语言识别支持的语言的 ISO 代码和英文名称。 如果一种语言有 2 个字母的 ISO 639-1 代码,则该表包含该标识符。 否则,使用 3 个字母的 ISO 639-2 代码。 Latn 子标签表示该语言被音译为拉丁字母。

代码 语言 代码 语言 代码 语言
af 南非荷兰语 hr 克罗地亚语 pa 旁遮普语
am 阿姆哈拉语 ht 海地语 pl 波兰语
ar 阿拉伯语 hu 匈牙利语 ps 普什图语
az 阿塞拜疆语 hy 亚美尼亚语 pt 葡萄牙语
be 白俄罗斯语 id 印度尼西亚语 ro 罗马尼亚语
bg 保加利亚语 ig 伊博语 ru 俄语
bg-Latn 保加利亚语 is 冰岛语 ru-Latn 俄语
bn 孟加拉语 it 意大利语 sd 信德语
bs 波斯尼亚语 iw 希伯来语 si 僧伽罗语
ca 加泰罗尼亚语 ja 日语 sk 斯洛伐克语
ceb 宿务语 ja-Latn 日语 sl 斯洛文尼亚语
co 科西嘉语 jv 爪哇语 sm 萨摩亚语
cs 捷克语 ka 格鲁吉亚语 sn 修纳语
cy 威尔士语 kk 哈萨克语 so 索马里语
da 丹麦语 km 高棉语 sq 阿尔巴尼亚语
de 德语 kn 卡纳达语 sr 塞尔维亚语
el 现代希腊语 ko 朝鲜语 st 南索托语
el-Latn 现代希腊语 ku 库尔德语 su 巽他语
en 英语 ky 吉尔吉斯语 sv 瑞典语
eo 世界语 la 拉丁语 sw 斯瓦希里语
es 西班牙语 lb 卢森堡语 ta 泰米尔语
et 爱沙尼亚语 lo 老挝语 te 泰卢固语
eu 巴斯克语 lt 立陶宛语 tg 塔吉克语
fa 波斯语 lv 拉脱维亚语 th 泰语
fi 芬兰语 mg 马达加斯加语 tr 土耳其语
fil 菲律宾语 mi 毛利语 uk 乌克兰语
fr 法语 mk 马其顿语 ur 乌尔都语
fy 西弗里西亚语 ml 马拉雅拉姆语 uz 乌兹别克语
ga 爱尔兰语 mn 蒙古语 vi 越南语
gd 苏格兰盖尔语 mr 马拉地语 xh 科萨语
gl 加利西亚语 ms 马来语 yi 意第绪语
gu 古吉拉特语 mt 马耳他语 yo 约鲁巴语
ha 豪萨语 my 缅甸语 zh 中文
haw 夏威夷语 ne 尼泊尔语 zh-Latn 中文
hi 印地语 nl 荷兰语,弗拉芒语 zu 祖鲁语
hi-Latn 印地语 no 挪威语
hmn 苗语 ny 齐切瓦语

在以下示例中,我们将一段包含变音符号和几个英文单词的短匈牙利文本提供给语言识别训练模型。 该模型正确地将该文本识别为匈牙利语,并具有很高的概率。

POST _ingest/pipeline/_simulate
{
   "pipeline":{
      "processors":[
         {
            "inference":{
               "model_id":"lang_ident_model_1",
               "inference_config":{
                  "classification":{
                     "num_top_classes":5
                  }
               },
               "field_map":{
               }
            }
         }
      ]
   },
   "docs":[
      {
         "_source":{
            "text":"Sziasztok! Ez egy rövid magyar szöveg. Nézzük, vajon sikerül-e azonosítania a language identification funkciónak? Annak ellenére is sikerülni fog, hogy a szöveg két angol szót is tartalmaz."
         }
      }
   ]
}
  1. 语言识别训练模型的 ID。
  2. 指定按概率降序报告的语言数量。
  3. 包含要识别的文本的源对象。

在上面的示例中,num_top_classes 值表示仅报告前五个语言(也就是说,具有最高概率的语言)。

请求返回以下响应

{
  "docs" : [
    {
      "doc" : {
        "_index" : "_index",
        "_type" : "_doc",
        "_id" : "_id",
        "_source" : {
          "text" : "Sziasztok! Ez egy rövid magyar szöveg. Nézzük, vajon sikerül-e azonosítania a language identification funkciónak? Annak ellenére is sikerülni fog, hogy a szöveg két angol szót is tartalmaz.",
          "ml" : {
            "inference" : {
              "top_classes" : [
                {
                  "class_name" : "hu",
                  "class_probability" : 0.9999936063740517,
                  "class_score" : 0.9999936063740517
                },
                {
                  "class_name" : "lv",
                  "class_probability" : 2.5020248433413966E-6,
                  "class_score" : 2.5020248433413966E-6
                },
                {
                  "class_name" : "is",
                  "class_probability" : 1.0150420723037688E-6,
                  "class_score" : 1.0150420723037688E-6
                },
                {
                  "class_name" : "ga",
                  "class_probability" : 6.67935962773335E-7,
                  "class_score" : 6.67935962773335E-7
                },
                {
                  "class_name" : "tr",
                  "class_probability" : 5.591166324774555E-7,
                  "class_score" : 5.591166324774555E-7
                }
              ],
              "predicted_value" : "hu",
              "model_id" : "lang_ident_model_1"
            }
          }
        },
        "_ingest" : {
          "timestamp" : "2020-01-22T14:25:14.644912Z"
        }
      }
    }
  ]
}
  1. 包含最可能语言的分数。
  2. 具有最高概率的语言的 ISO 标识符。
© . All rights reserved.