/ Модель

Характеристики

Контекст
512 токенов
Параметры
25,2 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
13 фев 2025

language_detection

Классификация текстаТекст → label9 профессий

Компактная BERT-модель классифицирует текст по языку и предназначена для автоматического распознавания языков в многоязычных данных.

351скачиваний за 30 дней6лайковвеса обновлены25 фев 2025

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Это компактная модель классификации текста для определения языка. Она разработана на базе BERT и обучена автором репозитория на наборе hac541309/open-lid-dataset, который, согласно README, содержит 121 миллион предложений на 200 языках. Архитектура — BertForSequenceClassification: 4 слоя, скрытый размер 384, 6 голов внимания и около 25,2 млн параметров. Максимальная длина входа — 512 токенов.

Модель предназначена для автоматического распознавания языка коротких и длинных текстовых фрагментов, например при маршрутизации запросов, сортировке документов или предварительной обработке многоязычных данных. README сообщает об accuracy и F1 около 0,973 на оценочном наборе примерно из 12 миллионов текстов; эти показатели зависят от состава данных и не гарантируют такое же качество на произвольных текстах. В метаданных указаны языки en, fr, de, es, ar и el, а README заявляет обучение на 200 языках.

Модель принимает текст и выдаёт метку языка. Она распространяется по лицензии MIT. Возможны ошибки на очень коротких, смешанных по языкам, шумных или не представленных в обучении текстах; максимальная длина обрабатываемого контекста составляет 512 токенов.

Сценарии применения

  • определение языка входящего сообщения
  • сортировка документов по языку
  • маршрутизация запросов в подходящую языковую систему
  • фильтрация и разметка многоязычных текстовых корпусов
  • распознавание языка коротких пользовательских текстов

Ограничения

README заявляет поддержку 200 языков, но метаданные перечисляют только английский, французский, немецкий, испанский, арабский и греческий. Качество может снижаться для очень коротких, смешанных, шумных или превышающих 512 токенов текстов.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Language Detection Model

A BERT-based language detection model trained on hac541309/open-lid-dataset, which includes 121 million sentences across 200 languages. This model is optimized for fast and accurate language identification in text classification tasks.

Model Details

  • Architecture: BertForSequenceClassification
  • Hidden Size: 384
  • Number of Layers: 4
  • Attention Heads: 6
  • Max Sequence Length: 512
  • Dropout: 0.1
  • Vocabulary Size: 50,257

Training Process

  • Dataset:
  • Tokenizer: A custom BertTokenizerFast with special tokens for [UNK], [CLS], [SEP], [PAD], [MASK]
  • Hyperparameters:
    • Learning Rate: 2e-5
    • Batch Size: 256 (training) / 512 (testing)
    • Epochs: 1
    • Scheduler: Cosine
  • Trainer: Leveraged the Hugging Face Trainer API with Weights & Biases for logging

Data Augmentation

To improve model generalization and robustness, a new text augmentation strategy was introduced. This includes:

  • Removing digits (random probability)
  • Shuffling words to introduce variation
  • Removing words selectively
  • Adding random digits to simulate noise
  • Modifying punctuation to handle different text formats

Impact of Augmentation

Adding these augmentations improved overall model performance, as seen in the latest evaluation results:

Evaluation

Updated Performance Metrics:

  • Accuracy: 0.9733
  • Precision: 0.9735
  • Recall: 0.9733
  • F1 Score: 0.9733

Detailed Evaluation (~12 millions texts)

supportprecisionrecallf1size
Arab5028860.9081690.913350.90986821
Latn4.86532e+060.9731720.9722210.972646125
Ethi885640.9966340.9964590.9965462
Beng1005020.9950.9928590.9939153
Deva2602270.9504050.9427720.94635510
Cyrl5102290.9913420.9896930.99051312
Tibt218630.9927920.9936650.9932222
Grek804450.9987580.9993910.9990741
Gujr532370.9999810.9999250.9999531
Hebr615760.9963750.9989040.9976352
Armn411460.9999270.9999270.9999271
Jpan539630.9991470.9987210.9989341
Knda409890.9999760.9999020.9999391
Geor433990.9999770.9999080.9999421
Khmr2434810.9999590.9999791
Hang664470.9997590.9999550.9998571
Laoo1835310.9998370.9999181
Mlym418990.9999760.9999760.9999761
Mymr620670.9998980.9992070.9995522
Orya2762610.9998550.9999281
Guru4085610.9999020.9999511
Olck136460.99985310.9999271
Sinh4143710.9999520.9999761
Taml468320.99997910.9999891
Tfng252380.8490580.8239680.8238082
Telu3825110.9999220.9999611
Thai514280.9999220.9999610.9999421
Hant940420.9939660.9959070.9949352
Hans570060.990070.9864050.9882341

Comparison with Previous Performance

After introducing text augmentations, the model's performance improved on the same evaluation dataset, with accuracy increasing from 0.9695 to 0.9733, along with similar improvements in average precision, recall, and F1 score.

Conclusion

The integration of new text augmentation techniques has led to a measurable improvement in model accuracy and robustness. These enhancements allow for better generalization across diverse language scripts, improving the model’s usability in real-world applications.

A detailed per-script classification report is also provided in the repository for further analysis.


How to Use

You can quickly load and run inference with this model using the Transformers pipeline:

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 = "Hello world!"
predictions = language_detection(text)
print(predictions)

This will output the predicted language code or label with the corresponding confidence score.


Note: The model’s performance may vary depending on text length, language variety, and domain-specific vocabulary. Always validate results against your own datasets for critical applications.

For more information, see the repository documentation.

Thank you for using this model—feedback and contributions are welcome!

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
41e3979

0 моделей