指标:
- 精确度 - 0.9734840613846838
- 召回率 - 0.9733370365227052
- F1分数 - 0.9732910950552367
- 准确率 - 0.9733370365227052
任务标签: 文本分类
许可证: MIT
数据集:
- hac541309/open-lid-dataset
语言:
- 英语
- 法语
- 德语
- 西班牙语
- 阿拉伯语
- 希腊语
标签:
- 检测
- 分类
- 语言
- 文本
语言检测模型
这是一个基于BERT的语言检测模型,训练数据来自hac541309/open-lid-dataset,包含200种语言的1.21亿条句子。该模型针对文本分类任务中的快速准确语言识别进行了优化。
模型详情
训练过程
- 数据集:
- 分词器: 自定义的
BertTokenizerFast
,包含[UNK]
、[CLS]
、[SEP]
、[PAD]
、[MASK]
等特殊标记
- 超参数:
- 学习率: 2e-5
- 批量大小: 256(训练)/512(测试)
- 训练轮数: 1
- 调度器: 余弦
- 训练器: 使用Hugging Face的Trainer API配合Weights & Biases进行日志记录
数据增强
为提高模型的泛化能力和鲁棒性,引入了新的文本增强策略,包括:
- 移除数字(随机概率)
- 打乱词序以增加变化
- 选择性移除词语
- 添加随机数字模拟噪声
- 修改标点符号处理不同文本格式
增强效果
这些增强措施提升了模型整体性能,最新评估结果如下:
评估
更新后的性能指标:
- 准确率: 0.9733
- 精确度: 0.9735
- 召回率: 0.9733
- F1分数: 0.9733
详细评估(~1200万文本)
|
支持数 |
精确度 |
召回率 |
F1 |
大小 |
阿拉伯文 |
502886 |
0.908169 |
0.91335 |
0.909868 |
21 |
拉丁文 |
4.86532e+06 |
0.973172 |
0.972221 |
0.972646 |
125 |
埃塞俄比亚文 |
88564 |
0.996634 |
0.996459 |
0.996546 |
2 |
孟加拉文 |
100502 |
0.995 |
0.992859 |
0.993915 |
3 |
梵文 |
260227 |
0.950405 |
0.942772 |
0.946355 |
10 |
西里尔文 |
510229 |
0.991342 |
0.989693 |
0.990513 |
12 |
藏文 |
21863 |
0.992792 |
0.993665 |
0.993222 |
2 |
希腊文 |
80445 |
0.998758 |
0.999391 |
0.999074 |
1 |
古吉拉特文 |
53237 |
0.999981 |
0.999925 |
0.999953 |
1 |
希伯来文 |
61576 |
0.996375 |
0.998904 |
0.997635 |
2 |
亚美尼亚文 |
41146 |
0.999927 |
0.999927 |
0.999927 |
1 |
日文 |
53963 |
0.999147 |
0.998721 |
0.998934 |
1 |
卡纳达文 |
40989 |
0.999976 |
0.999902 |
0.999939 |
1 |
格鲁吉亚文 |
43399 |
0.999977 |
0.999908 |
0.999942 |
1 |
高棉文 |
24348 |
1 |
0.999959 |
0.999979 |
1 |
韩文 |
66447 |
0.999759 |
0.999955 |
0.999857 |
1 |
老挝文 |
18353 |
1 |
0.999837 |
0.999918 |
1 |
马拉雅拉姆文 |
41899 |
0.999976 |
0.999976 |
0.999976 |
1 |
缅甸文 |
62067 |
0.999898 |
0.999207 |
0.999552 |
2 |
奥里亚文 |
27626 |
1 |
0.999855 |
0.999928 |
1 |
古尔穆奇文 |
40856 |
1 |
0.999902 |
0.999951 |
1 |
奥里亚文 |
13646 |
0.999853 |
1 |
0.999927 |
1 |
僧伽罗文 |
41437 |
1 |
0.999952 |
0.999976 |
1 |
泰米尔文 |
46832 |
0.999979 |
1 |
0.999989 |
1 |
提非纳文 |
25238 |
0.849058 |
0.823968 |
0.823808 |
2 |
泰卢固文 |
38251 |
1 |
0.999922 |
0.999961 |
1 |
泰文 |
51428 |
0.999922 |
0.999961 |
0.999942 |
1 |
繁体中文 |
94042 |
0.993966 |
0.995907 |
0.994935 |
2 |
简体中文 |
57006 |
0.99007 |
0.986405 |
0.988234 |
1 |
与之前性能对比
引入文本增强后,模型在同一评估数据集上的表现有所提升,准确率从0.9695提高到0.9733,平均精确度、召回率和F1分数也有类似提升。
结论
新文本增强技术的整合使模型的准确性和鲁棒性得到可衡量的提升。这些增强措施使模型能更好地泛化到不同语言文字,提高了在实际应用中的可用性。
仓库中还提供了详细的按文字分类报告供进一步分析。
使用方法
您可以使用Transformers管道快速加载并运行推理:
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
tokenizer = AutoTokenizer.from_pretrained("alexneakameni/language_detection")
model = AutoModelForSequenceClassification.from_pretrained("alexneakameni/language_detection")
language_detection = pipeline("text-classification", model=model, tokenizer=tokenizer)
text = "你好世界!"
predictions = language_detection(text)
print(predictions)
这将输出预测的语言代码或标签及其对应的置信度分数。
注意: 模型性能可能因文本长度、语言多样性和领域特定词汇而异。对于关键应用,请始终针对您自己的数据集验证结果。
更多信息请参阅仓库文档。
感谢使用本模型——欢迎反馈和贡献!