Słownik AI

Tokeny (tokenizacja, słownik) – ang. Tokens, Tokenization, Vocabulary

Tokeny i tokenizacja: definicja i zastosowania w AI

Czym jest Tokeny (tokenizacja, słownik) – ang. Tokens, Tokenization, Vocabulary?

Tokeny stanowią podstawową jednostkę danych tekstowych, z którą pracują algorytmy przetwarzania języka naturalnego. Tokenizacja to proces dzielenia surowego tekstu na tokeny, natomiast słownik (vocabulary) to uporządkowany zbiór wszystkich tokenów znanych modelowi. Współczesne systemy językowe operują nie na całych słowach, lecz na fragmentach o kontrolowanej długości, co ułatwia reprezentację dowolnej treści przy zachowaniu kompaktowych rozmiarów modelu.

Jak dokładnie działa Tokeny (tokenizacja, słownik)

Algorytm tokenizacji analizuje ciąg znaków i stosuje reguły, aby wyłonić jednostki elementarne. Historycznie pierwsze rozwiązania bazowały na prostych separatorach typu spacja czy przecinek. W 2016 r. zespół Google Brain zaproponował wordpiece, a rok później na Uniwersytecie Stanford powstał byte-pair encoding (BPE) w wersji subwordowej. Metody te łączą zalety klasycznego podziału na słowa z elastycznością zapisu rzadkich form. Każdy token otrzymuje unikalny identyfikator liczbowy. Wszystkie identyfikatory tworzą słownik, którym dysponuje model w trakcie uczenia i inferencji.

W praktyce tokenizacja przebiega dwuetapowo. Najpierw tekst podlega standaryzacji: usuwanie znaków kontrolnych, normalizacja unicode, zamiana wielkich liter. Następnie specjalny algorytm, najczęściej BPE lub sentencepiece, konstruuje tokeny zgodnie z ustalonym słownikiem. Proces jest deterministyczny, dzięki czemu ten sam ciąg znaków zawsze da identyczną sekwencję tokenów.

Zastosowania w praktyce

Bez jasnego podziału na tokeny nie byłoby możliwe trenowanie dużych modeli językowych ani obsługa wielojęzyczności. Przykładowo, w systemach tłumaczeń neuronowych tokenizacja redukuje liczbę nieznanych słów, co podnosi jakość przekładu. W chatbotach pozwala dokładnie ograniczyć długość odpowiedzi, a w wyszukiwarkach semantycznych zapewnia spójność indeksu pojęć. Firmy tworzące aplikacje głosowe stosują wspólny słownik tokenów dla tekstu i transkrypcji fonetycznej, aby ułatwić integrację modułów ASR i NLU.

Zalety i ograniczenia

Zaletą współczesnej tokenizacji subwordowej jest zdolność do reprezentacji rzadkich wyrażeń przy umiarkowanej wielkości słownika. System nie wymaga dodawania nowych haseł dla każdej wariacji słowotwórczej, co zmniejsza pamięciochłonność modelu. Ograniczeniem pozostaje niejednoznaczność segmentacji; różne algorytmy mogą dzielić ten sam tekst odmiennie, co komplikuje transfer modeli między platformami. Ponadto domknięty słownik wymusza mapowanie nieznanych znaków na token [UNK], co w skrajnych przypadkach zubaża informację.

Na co uważać?

W projektach wielojęzycznych warto zadbać, aby słownik uwzględniał znaki diakrytyczne i specyficzne skróty, inaczej model utraci precyzję w mniej popularnych językach. W zastosowaniach prawniczych czy medycznych dobrze jest rozważyć rozszerzony słownik domenowy, gdyż brak fachowej terminologii prowadzi do błędnych uogólnień. Należy też monitorować długość sekwencji tokenów — zbyt długa lista blokuje wnioskowanie (ang. inference) lub wywołuje obciążenie pamięci GPU.

Dodatkowe źródła

Szczegółowe omówienie algorytmu BPE przedstawiono w artykule „Neural Machine Translation of Rare Words with Subword Units” (2016) dostępne w repozytorium arXiv. Implementację sentencepiece opublikowano przez Google na licencji open source pod adresem GitHub. Z kolei definicję tokenizacji w ujęciu klasycznym można znaleźć w haśle Wikipedia. Do porównania metod segmentacji polecam także przegląd arXiv:2012.15115.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *