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.txt
din 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);
- Încărcați vocabularul:
1 tokenizer.load_vocab("vocab.txt");
- Codificare / Decodificare:
1 auto ids = tokenizer.encode("Hello world!"); 2 std::string decoded = tokenizer.decode(ids);
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/s
Test 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.cpp
Vrei 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.txt
Construcț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