语言识别
更新时间:2026-06-15
简介
文本语种识别算子 - 基于FastText模型提供多语言识别能力
功能描述
- 支持识别176种语言(基于fasttext/lid.176系列模型)
- 批量推理优化,适合处理大规模文本数据
- 支持同时输出语种标签及置信度分数
- 支持本地路径和BOS路径的模型文件
- 多语言文本分类
- 语种过滤和筛选
- 多语言数据集构建
- 输入文本长度建议不少于10个字符以提高识别准确率
- 需要至少4GB内存以进行模型批式推理
算子参数
输入
| 输入 | 含义 |
|---|---|
| texts | 原始字符串列,要求元素类型为字符串 |
输出
| 输出 | 含义 |
|---|---|
| result | pyarrow.Array: 包含语种标签和置信度分数的结构体列 每个元素包含 language 和 confidence 字段 |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| model_path | str | '/opt/aihc/models' | 模型文件所在的路径 默认值:"/opt/aihc/models" |
| model_name | str | 'fasttext/lid.176.bin' | 模型文件名,支持 "fasttext/lid.176.bin" 或 "fasttext/lid.176.ftz" |
| batch_size | int | 1000 | 批量处理大小,较大的batch_size可提升吐吐但增加内存消耗 |
调用示例
Python
1from __future__ import annotations
2
3import os
4
5import daft
6from daft import col
7
8from daft.aihc.common.udf import aihc_udf
9from daft.aihc.functions.text.language_recognition import LanguageRecognitionOperator
10
11if __name__ == "__main__":
12 if os.getenv("DAFT_RUNNER", "native") == "ray":
13 import ray
14 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
15 daft.set_runner_ray()
16 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
17
18 # TODO: 根据实际场景准备样本数据
19 samples = {"texts": [...]}
20 ds = daft.from_pydict(samples)
21 constructor_kwargs = {
22 "model_path": '/opt/aihc/models',
23 "model_name": 'fasttext/lid.176.bin',
24 "batch_size": 1000,
25 }
26 ds = ds.with_column(
27 "result",
28 aihc_udf(
29 LanguageRecognitionOperator,
30 construct_args=constructor_kwargs,
31 num_cpus=1,
32 concurrency=4,
33 batch_size=8,
34 )(col("texts")),
35 )
36 ds.show()
评价此篇文章
