--- license: apache-2.0 pipeline_tag: text-classification library_name: transformers language: - en - es - fi - fr - it - ja - ko - nl - pl - pt - ro - ru - sv - tr - zh tags: - bert - multilingual - language-identification - language-detection - language-classification - langid - text-classification - nlp - transformers - pytorch - lightweight - fast - open-source datasets: - Comunidade-Synapse-BR/dataset-multilingue-750k metrics: - accuracy --- # 🌍 Synapse-LangID O **Synapse-LangID** é um modelo leve de identificação automática de idiomas desenvolvido pela **Comunidade Synapse BR**. Projetado para oferecer detecção rápida e eficiente de idiomas, o modelo combina uma arquitetura compacta baseada em **BERT** com bom desempenho multilíngue, sendo adequado para sistemas em produção, APIs, aplicações móveis e dispositivos de borda (*edge computing*). Nosso objetivo é disponibilizar uma solução **open source**, leve e acessível para identificação de idiomas, mantendo baixo custo computacional e facilidade de integração. --- # 🚀 Destaques - 🌍 Suporte para **15 idiomas** - ⚡ Inferência rápida - 🪶 Arquitetura leve (~5 milhões de parâmetros) - 📦 Aproximadamente 20 MB - 🤗 Compatível com Hugging Face Transformers - 🔓 Código aberto - 💻 Ideal para produção, APIs e Edge Computing --- # 📖 Visão Geral do Modelo | Propriedade | Valor | |-------------|-------| | Arquitetura | BERT Encoder | | Parâmetros | ~5 milhões | | Tamanho | ~20 MB | | Vocabulário | 16.000 tokens | | Comprimento máximo | 128 tokens | | Hidden Size | 192 | | Camadas Transformer | 6 | | Cabeças de Atenção | 4 | | Camada Intermediária | 512 | | Framework | PyTorch | | Biblioteca | Hugging Face Transformers | --- # 🌐 Idiomas Suportados | Código | Idioma | |---------|--------| | en | Inglês | | es | Espanhol | | fi | Finlandês | | fr | Francês | | it | Italiano | | ja | Japonês | | ko | Coreano | | nl | Holandês | | pl | Polonês | | pt | Português | | ro | Romeno | | ru | Russo | | sv | Sueco | | tr | Turco | | zh | Chinês | **Total:** 15 idiomas. --- # 📚 Dataset de Treinamento O modelo foi treinado utilizando o dataset: **Comunidade-Synapse-BR/dataset-multilingue-750k** Características do conjunto de dados: - Aproximadamente **750 mil textos** - 15 idiomas - Distribuição balanceada - Textos codificados em UTF-8 - Dados limpos e sem duplicações - Divisão em treino, validação e teste - Otimizado para identificação de idiomas --- # 🎯 Casos de Uso O Synapse-LangID pode ser utilizado em: - Identificação automática de idiomas - Pipelines de NLP - Motores de busca - Sistemas de tradução - Limpeza de datasets - Filtragem de documentos - Roteamento por idioma - Pré-processamento de texto - Organização de documentos - Aplicações de Inteligência Artificial --- # ⚡ Instalação ```bash pip install transformers torch ``` --- # 🤗 Exemplo utilizando Pipeline ```python from transformers import pipeline classifier = pipeline( "text-classification", model="Comunidade-Synapse-BR/Synapse-LangID" ) print(classifier("Olá, tudo bem?")) ``` --- # 💻 Exemplo em Python ```python import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification repo = "Comunidade-Synapse-BR/Synapse-LangID" tokenizer = AutoTokenizer.from_pretrained(repo) model = AutoModelForSequenceClassification.from_pretrained(repo) texto = "Olá, tudo bem?" inputs = tokenizer( texto, return_tensors="pt", truncation=True, max_length=128 ) with torch.no_grad(): outputs = model(**inputs) probabilidades = outputs.logits.softmax(dim=-1) classe = model.config.id2label[ probabilidades.argmax().item() ] print(classe) ``` --- # 📊 Exemplos de Predição | Texto | Idioma | |--------|---------| | Hello world | Inglês | | Olá mundo | Português | | Bonjour | Francês | | Hola amigos | Espanhol | | Ciao a tutti | Italiano | | 今日はいい天気ですね | Japonês | | 안녕하세요 | Coreano | | Привет | Russo | --- # 📈 Desempenho O Synapse-LangID apresenta melhor desempenho em: - Frases completas - Parágrafos - Documentação - Notícias - Conversas do cotidiano O desempenho pode diminuir em casos como: - Textos extremamente curtos - Frases com múltiplos idiomas - Sequências aleatórias de caracteres - Apenas números - Apenas emojis - Uso excessivo de gírias da internet Novas métricas serão adicionadas em futuras versões. --- # ⚠️ Limitações Embora apresente bom desempenho em identificação automática de idiomas, nenhum classificador é perfeito. O modelo pode apresentar dificuldades em situações como: - Mensagens muito curtas - Mistura de idiomas (*code-switching*) - Conteúdo ambíguo - Textos com pouca informação linguística Para aplicações críticas, recomenda-se utilizar validação humana como camada adicional de segurança. --- # 📂 Arquivos do Repositório ``` config.json model.safetensors tokenizer.json tokenizer_config.json special_tokens_map.json README.md ``` --- # 📜 Licença Este modelo é distribuído sob a licença **Apache License 2.0**. Consulte o repositório para mais informações. --- # 📚 Citação Caso este modelo contribua para sua pesquisa ou projeto, considere citá-lo. ```bibtex @misc{synapse_langid_2026, title={Synapse-LangID}, author={Comunidade Synapse BR}, year={2026}, publisher={Hugging Face} } ``` --- # 🤝 Sobre a Comunidade Synapse BR A **Comunidade Synapse BR** é uma iniciativa brasileira dedicada ao desenvolvimento de modelos de inteligência artificial, datasets e ferramentas de código aberto. Nossa missão é tornar a inteligência artificial mais acessível por meio de tecnologias eficientes, leves e abertas, contribuindo para fortalecer a presença do Brasil no ecossistema global de IA. Contribuições, sugestões e relatos de problemas são sempre bem-vindos.