Prezentarea Modern Text Tokenizer
Modelele moderne de procesare a limbajului natural (NLP), precum BERT, DistilBERT și alte arhitecturi bazate pe transformatoare, se bazează în mare măsură pe o tokenizare eficientă. Însă dezvoltatorii C++ se confruntă adesea cu opțiuni limitate, cum ar fi dependențe supradimensionate, suport Unicode slab sau lipsa de compatibilitate cu codificatoarele bazate pe vocabular.
De aceea am creat Modern Text Tokenizer - un tokenizer C++ extrem de rapid, doar pentru antet, care este compatibil cu UTF-8, fără dependențe și pregătit pentru ML din cutie.
Ce îl face unic?
- Zero dependențe – Fără Boost, fără ICU, fără biblioteci externe.
- UTF-8 Safe – Gestionează corect textul multilingv, emoji-urile și caracterele multi-octeți.
- Doar pentru antet – Includeți-l în proiectul dvs. și gata.
- Codare vocabular – Încărcați
vocab.txtdin HuggingFace și generați ID-uri de tokenuri. - Compatibilitate cu Transformer – Acceptă
[CLS],[SEP],[PAD]și formatarea secvențelor.
Caracteristici cheie
- Ramificare rapidă ASCII vs. Unicode folosind
std::string_view - API Fluent pentru configurare:
1 TextTokenizer tokenizer; 2 tokenizer 3 .set_lowercase(true) 4 .set_split_on_punctuation(true) 5 .set_keep_punctuation(true); 6 - Încărcați vocabularul:
1 tokenizer.load_vocab("vocab.txt"); 2 - Codificare / Decodificare:
1 auto ids = tokenizer.encode("Hello world!"); 2 std::string decoded = tokenizer.decode(ids); 3
Performanță
1Test de performanță cu 174000 de caractere
2
3Rezultate:
4Tokenizare: 2159 μs (22000 de tokenuri)
5Codificare: 1900 μs
6Decodare: 430 μs
7Timp total: 4,49 ms
8Debit: 36,97 MB/sTest testat pe Ryzen 9 5900X @ -O3 în modul de lansare.
Cum se utilizează
Adăugați fișierul antet:
1#include "Modern-Text-Tokenizer.hpp"Apoi compilați:
1g++ -std=c++17 -O3 -o tokenizer_demo main.cppVrei să îl folosești cu BERT sau DistilBERT? Descarcă fișierul de vocabular:
1curl -O https://huggingface.co/distilbert/distilbert-base-uncased/raw/main/vocab.txtConstrucții CI multi-platformă
| OS | Status |
|---|---|
| Ubuntu | ✅ |
| Windows | ✅ |
| GitHub Actions |
Cazuri de utilizare
- Preprocesare text pentru modele ML în C++
- NLP pe dispozitiv (fără costuri suplimentare Python)
- Instrumente CLI de înaltă performanță
- Sisteme integrate fără dependențe de execuție
Încercați acum
Modern Text Tokenizer este live și gata pentru proiectele dvs.
Clonați, compilați și tokenizați în câteva secunde: Modern Text Tokenizer
Comentarii