Openlid V2
OpenLID-v2是一个高覆盖、高性能的语言识别模型,支持200种语言变体,是OpenLID的改进版本。
下载量 273
发布时间 : 11/12/2024
模型简介
OpenLID-v2是一个文本分类模型,专门用于语言识别任务。它能够准确识别200种语言变体,适用于多语言环境下的文本处理。
模型特点
高覆盖语言支持
支持200种语言变体,包括许多低资源语言。
高性能
在FLORES+评估基准上表现优异,宏平均F1分数达到0.93。
标准化预处理
提供文本清理和标准化工具,显著提升识别准确率。
开源数据集
训练数据和模型完全开源,便于研究和改进。
模型能力
文本语言识别
多语言文本分类
低资源语言支持
使用案例
多语言文本处理
社交媒体内容分析
识别社交媒体帖子中的语言,便于内容分类和分析。
可准确识别200种语言变体
多语言搜索引擎
为搜索引擎提供语言识别功能,改善多语言搜索体验。
低误识别率(0.033%的假阳性率)
语言数据筛选
从大规模多语言数据集中筛选特定语言的内容。
高准确率(宏平均F1 0.93)
🚀 OpenLID-v2
OpenLID-v2是一个高覆盖率、高性能的语言识别模型,可有效解决文本语言识别问题,为自然语言处理相关任务提供准确的语言分类支持。
🚀 快速开始
模型使用
以下是如何使用此模型检测给定文本的语言。为获得最佳效果,在分类之前,应使用 openlid_normer.clean_line 对文本进行清理和规范化。
>>> import fasttext
>>> from openlid_normer import clean_line
>>> from huggingface_hub import hf_hub_download
>>> model_path = hf_hub_download(repo_id="laurievb/OpenLID-v2", filename="model.bin")
>>> model = fasttext.load_model(model_path)
>>> input_text = clean_line("Hello, world!")
>>> model.predict(input_text)
(('__label__eng_Latn',), array([0.81148803]))
>>> # 未清理时 eng_Latn 的分数较低
>>> model.predict("Hello, world!", k=5)
(('__label__eng_Latn', '__label__vie_Latn', '__label__nld_Latn', '__label__pol_Latn', '__label__deu_Latn'),
array([0.61224753, 0.21323682, 0.09696738, 0.01359863, 0.01319415]))
✨ 主要特性
- 高覆盖率:能够识别多种语言变体。
- 高性能:在语言识别任务中表现出色。
📦 安装指南
文档未提及安装步骤,可参考相关依赖库(如 fasttext
、huggingface_hub
等)的官方文档进行安装。
💻 使用示例
基础用法
>>> import fasttext
>>> from openlid_normer import clean_line
>>> from huggingface_hub import hf_hub_download
>>> model_path = hf_hub_download(repo_id="laurievb/OpenLID-v2", filename="model.bin")
>>> model = fasttext.load_model(model_path)
>>> input_text = clean_line("Hello, world!")
>>> model.predict(input_text)
(('__label__eng_Latn',), array([0.81148803]))
高级用法
>>> # 未清理时 eng_Latn 的分数较低
>>> model.predict("Hello, world!", k=5)
(('__label__eng_Latn', '__label__vie_Latn', '__label__nld_Latn', '__label__pol_Latn', '__label__deu_Latn'),
array([0.61224753, 0.21323682, 0.09696738, 0.01359863, 0.01319415]))
📚 详细文档
模型描述
OpenLID-v2是一个高覆盖率、高性能的语言识别模型,它是 OpenLID 的改进版本。
原始模型和训练数据在 Burchell et al. (2023) 中有描述。生成 OpenLID-v2 所做的更改在 OpenLID-v2 数据集仓库 中有描述。
局限性和偏差
- 数据集和模型涵盖了200种语言变体。然而,一些语言变体(如阿拉伯语方言)很难区分,实际上,可能只能在宏观语言层面上对输入进行分类。
- FLORES+ 测试集由来自单一领域(维基文章)的句子组成,因此该测试集上的性能可能无法反映我们的分类器在其他领域的工作效果。
- 我们的工作旨在通过允许从业者识别更多语言的相关数据来扩大自然语言处理的覆盖范围。然而,我们注意到语言识别本质上是一种规范性活动,存在将少数方言、文字系统或整个微观语言排除在宏观语言之外的风险。选择涵盖哪些语言可能会加剧权力不平衡,因为只有部分群体能够使用自然语言处理技术。此外,语言识别中的错误可能会对下游性能产生重大影响,特别是当系统被用作“黑盒”时(这种情况很常见)。我们的分类器在不同语言上的性能并不相同,这可能会导致特定群体的下游性能更差。我们通过按类别提供指标来缓解这一问题。
训练数据
该模型在 OpenLID-v2 数据集 上进行训练。在训练之前,数据进行了规范化处理,并使用温度采样对类别进行了上/下采样;相关代码可以在 OpenLID-v2 数据集仓库的 scripts 目录 中找到。
训练过程
该模型使用 fastText 进行训练,并设置了以下超参数。所有其他超参数均设置为默认值。
- 损失函数:softmax
- 训练轮数:2
- 学习率:0.8
- 单词最小出现次数:1000
- 嵌入维度:256
- 字符 n-gram:2 - 5
- 单词 n-gram:1
- 桶大小:1,000,000
- 线程数:68
评估数据集
我们使用 FLORES+ 评估基准 对模型进行评估,在分类之前使用 openlid_normer.clean_line 对文本进行规范化处理。完整结果如下所示。
原始的 OpenLID 模型使用 Costa-jussà 等人(2022)提供的 FLORES-200 基准进行评估,更多信息可在 OpenLID 论文 中找到。
BibTeX 条目和引用信息
ACL 引用(推荐)
@inproceedings{burchell-etal-2023-open,
title = "An Open Dataset and Model for Language Identification",
author = "Burchell, Laurie and
Birch, Alexandra and
Bogoychev, Nikolay and
Heafield, Kenneth",
editor = "Rogers, Anna and
Boyd-Graber, Jordan and
Okazaki, Naoaki",
booktitle = "Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)",
month = jul,
year = "2023",
address = "Toronto, Canada",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2023.acl-short.75",
doi = "10.18653/v1/2023.acl-short.75",
pages = "865--879",
abstract = "Language identification (LID) is a fundamental step in many natural language processing pipelines. However, current LID systems are far from perfect, particularly on lower-resource languages. We present a LID model which achieves a macro-average F1 score of 0.93 and a false positive rate of 0.033{\%} across 201 languages, outperforming previous work. We achieve this by training on a curated dataset of monolingual data, which we audit manually to ensure reliability. We make both the model and the dataset available to the research community. Finally, we carry out detailed analysis into our model{'}s performance, both in comparison to existing open models and by language class.",
}
评估结果
语言代码 | 数据行数 | F1 分数 |
---|---|---|
ace_Arab | 6360 | 0.971029 |
ace_Latn | 16845 | 0.998517 |
acm_Arab | 5455 | 0.025121 |
acq_Arab | 1831 | 0.001974 |
aeb_Arab | 20541 | 0.488032 |
afr_Latn | 1032866 | 0.999012 |
als_Latn | 341372 | 1.0 |
amh_Ethi | 810989 | 0.999506 |
apc_Arab | 97293 | 0.386029 |
arb_Arab | 7100646 | 0.33617 |
ars_Arab | 25771 | 0.025373 |
ary_Arab | 27376 | 0.579467 |
arz_Arab | 69832 | 0.481471 |
asm_Beng | 121242 | 1.0 |
ast_Latn | 64998 | 0.991605 |
awa_Deva | 8425 | 0.655352 |
ayr_Latn | 140086 | 1.0 |
azb_Arab | 10801 | 0.915957 |
azj_Latn | 457599 | 0.998026 |
bak_Cyrl | 63553 | 1.0 |
bam_Latn | 9389 | 0.619494 |
ban_Latn | 15202 | 0.977353 |
bel_Cyrl | 83859 | 1.0 |
bem_Latn | 378301 | 0.979612 |
ben_Beng | 491942 | 0.996032 |
bho_Deva | 53666 | 0.904134 |
bjn_Arab | 6289 | 0.968215 |
bjn_Latn | 20264 | 0.985665 |
bod_Tibt | 2468 | 0.854072 |
bos_Latn | 196005 | 0.69401 |
bug_Latn | 7495 | 0.99504 |
bul_Cyrl | 596120 | 1.0 |
cat_Latn | 113745 | 0.99802 |
ceb_Latn | 991957 | 0.998519 |
ces_Latn | 424303 | 0.998026 |
cjk_Latn | 35645 | 0.928159 |
ckb_Arab | 24989 | 0.999506 |
cmn_Hans | 1043000 | 0.986693 |
cmn_Hant | 2011585 | 0.89396 |
crh_Latn | 17398 | 0.992541 |
cym_Latn | 97264 | 1.0 |
dan_Latn | 2460965 | 0.989066 |
deu_Latn | 652883 | 1.0 |
dik_Latn | 25833 | 0.999011 |
dyu_Latn | 16861 | 0.053309 |
dzo_Tibt | 6903 | 0.886842 |
ekk_Latn | 2984641 | 0.999506 |
ell_Grek | 2977115 | 0.999506 |
eng_Latn | 7514770 | 0.990206 |
epo_Latn | 332895 | 0.999506 |
eus_Latn | 613564 | 1.0 |
ewe_Latn | 578181 | 0.998028 |
fao_Latn | 38378 | 0.997036 |
fij_Latn | 355285 | 1.0 |
fil_Latn | 1178464 | 0.999013 |
fin_Latn | 2299900 | 1.0 |
fon_Latn | 30895 | 0.99802 |
fra_Latn | 586064 | 0.99703 |
fur_Latn | 53980 | 0.999506 |
fuv_Latn | 13921 | 0.98191 |
gaz_Latn | 331430 | 1.0 |
gla_Latn | 49218 | 0.999506 |
gle_Latn | 195791 | 1.0 |
glg_Latn | 41582 | 0.994557 |
gug_Latn | 78880 | 0.99852 |
guj_Gujr | 834918 | 1.0 |
hat_Latn | 294042 | 0.992643 |
hau_Latn | 340263 | 0.989247 |
heb_Hebr | 987305 | 0.999506 |
hin_Deva | 1071332 | 0.799519 |
hne_Deva | 52536 | 0.927026 |
hrv_Latn | 785563 | 0.741921 |
hun_Latn | 2559216 | 0.999506 |
hye_Armn | 357578 | 1.0 |
ibo_Latn | 484363 | 0.999013 |
ilo_Latn | 966361 | 0.995573 |
ind_Latn | 1682898 | 0.925908 |
isl_Latn | 43332 | 0.998519 |
ita_Latn | 478358 | 0.995547 |
jav_Latn | 64377 | 0.988235 |
jpn_Jpan | 886638 | 0.99852 |
kab_Latn | 50772 | 0.829508 |
kac_Latn | 11156 | 1.0 |
kam_Latn | 51265 | 0.866741 |
kan_Knda | 355427 | 1.0 |
kas_Arab | 6225 | 0.979324 |
kas_Deva | 6738 | 0.968925 |
kat_Geor | 412072 | 1.0 |
kaz_Cyrl | 50643 | 0.999506 |
kbp_Latn | 52382 | 1.0 |
kea_Latn | 5505 | 0.965764 |
khk_Cyrl | 166505 | 1.0 |
khm_Khmr | 75713 | 0.999506 |
kik_Latn | 94116 | 0.963281 |
kin_Latn | 439856 | 0.799766 |
kir_Cyrl | 366840 | 1.0 |
kmb_Latn | 90314 | 0.95809 |
kmr_Latn | 15084 | 0.997041 |
knc_Arab | 6337 | 0.702564 |
knc_Latn | 6254 | 0.998516 |
kor_Hang | 350945 | 1.0 |
ktu_Latn | 206325 | 0.985352 |
lao_Laoo | 24712 | 1.0 |
lij_Latn | 27454 | 0.997531 |
lim_Latn | 47490 | 0.994563 |
lin_Latn | 538130 | 0.997041 |
lit_Latn | 2360462 | 0.999506 |
lmo_Latn | 33288 | 0.99505 |
ltg_Latn | 14203 | 0.997033 |
ltz_Latn | 36810 | 0.999506 |
lua_Latn | 288714 | 0.996536 |
lug_Latn | 245216 | 0.995569 |
luo_Latn | 134777 | 0.998517 |
lus_Latn | 191617 | 0.99802 |
lvs_Latn | 2533501 | 0.997531 |
mag_Deva | 6330 | 0.966281 |
mai_Deva | 33093 | 0.988574 |
mal_Mlym | 378020 | 1.0 |
mar_Deva | 1006184 | 0.997536 |
min_Latn | 31047 | 0.995547 |
mkd_Cyrl | 393081 | 0.999506 |
mlt_Latn | 2011002 | 0.996063 |
mni_Beng | 47076 | 0.996063 |
mos_Latn | 193219 | 0.976227 |
mri_Latn | 47736 | 0.999506 |
mya_Mymr | 547113 | 1.0 |
nld_Latn | 2609642 | 0.994573 |
nno_Latn | 98176 | 0.980779 |
nob_Latn | 1749713 | 0.971935 |
npi_Deva | 229595 | 0.995069 |
nso_Latn | 552404 | 0.989237 |
nus_Latn | 6294 | 1.0 |
nya_Latn | 780066 | 0.994106 |
oci_Latn | 239737 | 0.997289 |
ory_Orya | 92475 | 1.0 |
pag_Latn | 287179 | 0.998024 |
pan_Guru | 354236 | 1.0 |
pap_Latn | 397355 | 0.978703 |
pbt_Arab | 276372 | 0.997041 |
pes_Arab | 2810268 | 0.662182 |
plt_Latn | 47052 | 1.0 |
pol_Latn | 3035767 | 0.996553 |
por_Latn | 3623950 | 0.992134 |
prs_Arab | 31038 | 0.577474 |
quy_Latn | 152002 | 1.0 |
ron_Latn | 436311 | 0.998028 |
run_Latn | 454887 | 0.850575 |
rus_Cyrl | 6688484 | 1.0 |
sag_Latn | 251562 | 0.999506 |
san_Deva | 46056 | 0.990524 |
sat_Olck | 29033 | 1.0 |
scn_Latn | 39233 | 0.996059 |
shn_Mymr | 22187 | 1.0 |
sin_Sinh | 423966 | 1.0 |
slk_Latn | 2815971 | 0.999012 |
slv_Latn | 2684050 | 0.997044 |
smo_Latn | 361969 | 0.998519 |
sna_Latn | 754901 | 0.995084 |
snd_Arab | 47901 | 0.998026 |
som_Latn | 187966 | 0.998028 |
sot_Latn | 1941 | 0.963115 |
spa_Latn | 676635 | 0.993083 |
srd_Latn | 46037 | 0.997531 |
srp_Cyrl | 308075 | 0.999506 |
ssw_Latn | 112237 | 0.989537 |
sun_Latn | 46337 | 0.993076 |
swe_Latn | 2429547 | 1.0 |
swh_Latn | 226377 | 0.92972 |
szl_Latn | 32177 | 0.996533 |
tam_Taml | 550090 | 1.0 |
taq_Latn | 10262 | 0.731371 |
taq_Tfng | 6290 | 0.959677 |
tat_Cyrl | 253516 | 1.0 |
tel_Telu | 276262 | 1.0 |
tgk_Cyrl | 131708 | 1.0 |
tha_Thai | 728313 | 1.0 |
tir_Ethi | 473470 | 0.999506 |
tpi_Latn | 457544 | 0.999011 |
tsn_Latn | 775066 | 0.974458 |
tso_Latn | 747226 | 0.9941 |
tuk_Latn | 157610 | 1.0 |
tum_Latn | 233136 | 0.994584 |
tur_Latn | 598819 | 0.992636 |
twi_Latn | 538421 | 0.998516 |
uig_Arab | 81940 | 1.0 |
ukr_Cyrl | 1123812 | 1.0 |
umb_Latn | 215640 | 0.983655 |
urd_Arab | 487265 | 0.98062 |
uzn_Latn | 1463925 | 0.99852 |
vec_Latn | 41746 | 0.995074 |
vie_Latn | 864979 | 0.999506 |
war_Latn | 278265 | 1.0 |
wol_Latn | 26985 | 0.996047 |
xho_Latn | 907281 | 0.985309 |
ydd_Hebr | 923 | 0.999506 |
yor_Latn | 524493 | 0.996553 |
yue_Hant | 59348 | 0.874099 |
zgh_Tfng | 9485 | 0.96124 |
zsm_Latn | 401337 | 0.954902 |
zul_Latn | 941301 | 0.970106 |
🔧 技术细节
该模型使用 fastText 进行训练,并设置了以下超参数。所有其他超参数均设置为默认值。
- 损失函数:softmax
- 训练轮数:2
- 学习率:0.8
- 单词最小出现次数:1000
- 嵌入维度:256
- 字符 n-gram:2 - 5
- 单词 n-gram:1
- 桶大小:1,000,000
- 线程数:68
📄 许可证
本项目采用 GPL-3.0 许可证。
其他信息
属性 | 详情 |
---|---|
模型类型 | 文本分类(语言识别) |
训练数据 | OpenLID-v2 数据集 |
开发者 | Laurie Burchell, Alexandra Birch, Nikolay Bogoychev, Kenneth Heafield |
语言(NLP) | 英语 |
更多信息资源 | OpenLID 论文 |
Distilbert Base Uncased Finetuned Sst 2 English
Apache-2.0
基于DistilBERT-base-uncased在SST-2情感分析数据集上微调的文本分类模型,准确率91.3%
文本分类 英语
D
distilbert
5.2M
746
Xlm Roberta Base Language Detection
MIT
基于XLM-RoBERTa的多语言检测模型,支持20种语言的文本分类
文本分类
Transformers 支持多种语言

X
papluca
2.7M
333
Roberta Hate Speech Dynabench R4 Target
该模型通过动态生成数据集来改进在线仇恨检测,专注于从最差案例中学习以提高检测效果。
文本分类
Transformers 英语

R
facebook
2.0M
80
Bert Base Multilingual Uncased Sentiment
MIT
基于bert-base-multilingual-uncased微调的多语言情感分析模型,支持6种语言的商品评论情感分析
文本分类 支持多种语言
B
nlptown
1.8M
371
Emotion English Distilroberta Base
基于DistilRoBERTa-base微调的英文文本情感分类模型,可预测埃克曼六种基本情绪及中性类别。
文本分类
Transformers 英语

E
j-hartmann
1.1M
402
Robertuito Sentiment Analysis
基于RoBERTuito的西班牙语推文情感分析模型,支持POS(积极)/NEG(消极)/NEU(中性)三类情感分类
文本分类 西班牙语
R
pysentimiento
1.0M
88
Finbert Tone
FinBERT是一款基于金融通讯文本预训练的BERT模型,专注于金融自然语言处理领域。finbert-tone是其微调版本,用于金融情感分析任务。
文本分类
Transformers 英语

F
yiyanghkust
998.46k
178
Roberta Base Go Emotions
MIT
基于RoBERTa-base的多标签情感分类模型,在go_emotions数据集上训练,支持28种情感标签识别。
文本分类
Transformers 英语

R
SamLowe
848.12k
565
Xlm Emo T
XLM-EMO是一个基于XLM-T模型微调的多语言情感分析模型,支持19种语言,专门针对社交媒体文本的情感预测。
文本分类
Transformers 其他

X
MilaNLProc
692.30k
7
Deberta V3 Base Mnli Fever Anli
MIT
基于MultiNLI、Fever-NLI和ANLI数据集训练的DeBERTa-v3模型,擅长零样本分类和自然语言推理任务
文本分类
Transformers 英语

D
MoritzLaurer
613.93k
204
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98