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