Kihesabu cha tokeni
Kihesabu cha Alama
Utangulizi
Kihesabu cha alama ni chombo kinachohesabu idadi ya alama katika mfuatano fulani wa maandiko kwa kutumia maktaba ya tiktoken. Kutoa alama ni hatua muhimu katika usindikaji wa lugha asilia (NLP) na inatumika sana katika matumizi mbalimbali, ikiwa ni pamoja na mifano ya kujifunza mashine, uchambuzi wa maandiko, na mifumo ya kuelewa lugha.
Jinsi ya Kutumia Chombo Hiki
- Ingiza maandiko unayotaka kutoa alama katika eneo lililotolewa la maandiko.
- Chagua algorithimu ya uandishi kutoka kwenye orodha ya kupunguza. Chaguzi zinazopatikana ni:
- CL100K_BASE
- P50K_BASE
- R50K_BASE
- Chombo kita hesabu kiatomati na kuonyesha idadi ya alama.
- Unaweza kunakili matokeo hayo kwenye ubao wako wa kunakili kwa kubofya kitufe cha "Nakili Matokeo".
Mchakato wa Kutoa Alama
Kutoa alama ni mchakato wa kugawanya maandiko katika vitengo vidogo vinavyoitwa alama. Alama hizi zinaweza kuwa maneno, neno ndogo, au herufi, kulingana na algorithimu ya kutoa alama inayotumika. Maktaba ya tiktoken, iliyotengenezwa na OpenAI, inatekeleza algorithimu za kutoa alama zinazotumika katika mifano kama GPT-3 na GPT-4.
Algorithimu za Uandishi
-
CL100K_BASE: Hii ndiyo uandishi wa hivi karibuni unaotumiwa na mifano ya OpenAI. Imeundwa kushughulikia lugha mbalimbali na wahusika maalum kwa ufanisi.
-
P50K_BASE: Uandishi wa zamani unaotumiwa na baadhi ya mifano ya GPT-3. Ina msamiati wa takriban alama 50,000.
-
R50K_BASE: Uandishi mwingine unaotumiwa na mifano ya awali ya GPT-3, pia ukiwa na msamiati wa takriban alama 50,000.
Matumizi
Kuhesabu alama na kutoa alama kuna matumizi mengi katika usindikaji wa lugha asilia na kujifunza mashine:
-
Mafunzo ya Mfano wa Lugha: Kutoa alama ni hatua muhimu ya awali kwa ajili ya kufundisha mifano mikubwa ya lugha kama GPT-3 na BERT.
-
Uainishaji wa Maandishi: Maandishi yaliyoandikwa kwa alama mara nyingi hutumika kama ingizo kwa kazi za uainishaji wa maandiko, kama vile uchambuzi wa hisia au uainishaji wa mada.
-
Tafsiri ya Mashine: Kutoa alama husaidia katika kugawanya sentensi katika vitengo vinavyoweza kusimamiwa kwa mifumo ya tafsiri.
-
Ukurasa wa Taarifa: Injini za utafutaji hutumia kutoa alama ili kuorodhesha hati na mechi za maswali.
-
Muhtasari wa Maandishi: Kutoa alama husaidia katika kubaini maneno na misemo muhimu kwa ajili ya kutengeneza muhtasari.
-
Chatbots na AI ya Mazungumzo: Kutoa alama hutumika kuchakata ingizo la mtumiaji na kutoa majibu yanayofaa.
-
Uhakiki wa Maudhui: Kutoa alama kunaweza kusaidia katika kubaini maneno au misemo maalum katika mifumo ya uhakiki wa maudhui.
Mbadala
Ingawa chombo hiki kinatumia tiktoken kwa ajili ya kutoa alama, kuna njia na maktaba nyingine za kutoa alama zinazopatikana:
-
NLTK (Natural Language Toolkit): Maktaba maarufu ya Python kwa kazi za NLP, ikiwa ni pamoja na kutoa alama.
-
spaCy: Maktaba nyingine yenye nguvu ya NLP inayotoa kutoa alama kwa ufanisi pamoja na uwezo mengine ya usindikaji wa lugha.
-
WordPiece: Algorithimu ya kutoa alama ndogo inayotumiwa na BERT na mifano mingine ya transformer.
-
Byte Pair Encoding (BPE): Mbinu ya kuf compress data iliyobadilishwa kwa ajili ya kutoa alama, inayotumiwa katika mifano kama GPT-2.
-
SentencePiece: Kihesabu cha maandiko kisichohitaji usimamizi na kutafsiri, hasa kwa mifumo ya uzalishaji wa maandiko ya Neural Network.
Historia
Kutoa alama kumekuwa dhana ya msingi katika usindikaji wa lugha asilia kwa miongo kadhaa. Hata hivyo, mbinu maalum za kutoa alama zinazotumiwa katika mifano ya kisasa ya lugha zimebadilika kwa kiasi kikubwa:
-
Kutoa alama kwa msingi wa maneno: Mifumo ya awali ya NLP ilitumia kutoa alama kwa msingi wa maneno rahisi, ikigawanya maandiko kwenye nafasi na alama za punctuation.
-
Kutoa alama kwa msingi wa sheria: Mifumo yenye ufanisi zaidi ilitumia sheria za lugha kushughulikia kesi ngumu kama vile mkataba na maneno ya pamoja.
-
Kutoa alama kwa msingi wa takwimu: Mbinu za kujifunza mashine zilianzishwa kujifunza mifumo ya kutoa alama kutoka kwa data.
-
Kutoa alama ndogo: Pamoja na kuibuka kwa kujifunza kwa kina katika NLP, mbinu za kutoa alama ndogo kama Byte Pair Encoding (BPE) na WordPiece zilipata umaarufu. Mbinu hizi zinaweza kushughulikia maneno yasiyokuwa kwenye msamiati na kufanya kazi vizuri katika lugha nyingi.
-
Tiktoken na kutoa alama za GPT: Iliyotengenezwa na OpenAI, tiktoken inatekeleza kutoa alama zinazotumiwa na mifano ya GPT, ikilenga ufanisi na kufunika lugha nyingi.
Mifano
Hapa kuna mifano ya msimbo kuonyesha kuheshimu alama kwa kutumia lugha mbalimbali za programu:
import tiktoken
def count_tokens(text, encoding_name):
encoding = tiktoken.get_encoding(encoding_name)
tokens = encoding.encode(text)
return len(tokens)
## Mfano wa matumizi
text = "Habari, dunia! Hii ni mfano wa kutoa alama."
encoding_name = "cl100k_base"
token_count = count_tokens(text, encoding_name)
print(f"Ilihesabu alama: {token_count}")
Mifano hii inaonyesha jinsi ya kutumia maktaba ya tiktoken (au sawa na hizo katika lugha nyingine) ili kuheshimu alama katika maandiko yaliyotolewa kwa kutumia uandishi uliochaguliwa.
Marejeleo
- OpenAI. "Tiktoken." GitHub, https://github.com/openai/tiktoken. Upatikanaji 2 Agosti 2024.
- Vaswani, Ashish, et al. "Umakini Ni Yote Unahitaji." arXiv:1706.03762 [cs], Desemba 2017, http://arxiv.org/abs/1706.03762.
- Sennrich, Rico, et al. "Tafsiri ya Mashine ya Maneno Nadra kwa Vitengo Vidogo." arXiv:1508.07909 [cs], Juni 2016, http://arxiv.org/abs/1508.07909.
- Brown, Tom B., et al. "Mifano ya Lugha ni Wanafunzi wa Kidogo." arXiv:2005.14165 [cs], Julai 2020, http://arxiv.org/abs/2005.14165.
- Devlin, Jacob, et al. "BERT: Kuweka Mbele ya Mifano ya Transformers ya Bidirectional kwa Kuelewa Lugha." arXiv:1810.04805 [cs], Mei 2019, http://arxiv.org/abs/1810.04805.