Transformers documentation

Tokenizer

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Tokenizer

Bir tokenizer, bir modelin girdilerini hazırlamaktan sorumludur. Kütüphane, tüm modeller için tokenizer'lar içerir. Tokenizer'ların çoğu iki farklı biçimde mevcuttur: tam bir Python uygulaması ve 🤗 Tokenizers Rust kütüphanesine dayalı bir “Fast” uygulaması. “Fast” uygulamaları şunlara olanak tanır:

  1. özellikle toplu (batched) tokenizasyon yaparken belirgin bir hız artışı ve
  2. orijinal dize (karakterler ve kelimeler) ile token uzayı (örneğin, belirli bir karakteri içeren tokenın indeksi veya belirli bir tokene karşılık gelen karakter aralığı) arasında eşleme yapmak için ek yöntemler.

Taban sınıfları PreTrainedTokenizer ve PreTrainedTokenizerFast, model girdilerinde (aşağıda bkz.) dize girdilerini kodlamak için ortak yöntemleri ve hem yerel bir dosya veya dizinden hem de kütüphanenin sağladığı (HuggingFace'in AWS S3 deposundan indirilen) önceden eğitilmiş bir tokenizer'dan python ve “Fast” tokenizer'larını anlık olarak oluşturmayı/kaydetmeyi uygular. İkisi de ortak yöntemleri içeren PreTrainedTokenizerBase'e dayanır.

PreTrainedTokenizer ve PreTrainedTokenizerFast bu nedenle tüm tokenizer’ları kullanmak için ana yöntemleri uygular:

  • Tokenize etme (dizgileri alt kelime token dizgilerine bölme), token dizgelerini kimliklere ve geriye dönüştürme, ayrıca kodlama/çözme (yani tokenize etme ve tamsayılara dönüştürme).
  • Altta yatan yapıdan (BPE, SentencePiece…) bağımsız bir şekilde sözlüğe yeni token eklemek.
  • Özel jetonların (mask, cümle başlangıcı vb.) yönetimi: bunların eklenmesi, kolay erişim için tokenizer'daki özniteliklere atanması ve jetonlaştırma sırasında bölünmemelerinin sağlanması.

BatchEncoding, PreTrainedTokenizerBase sınıfının kodlama yöntemlerinin (__call__, encode_plus ve batch_encode_plus) çıktısını barındırır ve bir Python sözlüğünden türetilmiştir. Tokenizer saf bir Python tokenizer olduğunda, bu sınıf standart bir Python sözlüğü gibi davranır ve bu yöntemler tarafından hesaplanan çeşitli model girdilerini (input_ids, attention_mask…) tutar. Tokenizer bir “Fast” tokenizer olduğunda (yani HuggingFace tokenizers library tarafından destekleniyorsa), bu sınıf ayrıca orijinal dize (karakterler ve kelimeler) ile token uzayı (örneğin, belirli bir karakteri içeren tokenın indeksini veya belirli bir tokene karşılık gelen karakter aralığını) arasında eşleme yapmak için kullanılabilecek birkaç gelişmiş hizalama yöntemi sağlar.

Çok Modlu Sözcükleştirici

Bunun dışında her tokenizer, “çok modlu” bir tokenizer olabilir; bu, ilgili tüm özel tokenlerin daha kolay erişim için tokenizer öznitelikleri olarak tutulduğu anlamına gelir. Örneğin, tokenizer LLaVA gibi bir görme-dil modelinden yüklendiyse, yer tutucu olarak kullanılan özel görüntü tokenini almak için tokenizer.image_token_id özelliğine erişebilirsiniz.

Herhangi bir tür tokenizer için ek özel tokenlar etkinleştirmek için aşağıdaki satırları eklemeniz ve tokenizer'ı kaydetmeniz gerekir. Ek özel tokenlar modallite ile ilgili olmak zorunda değildir ve modelin sık sık erişime ihtiyaç duyduğu herhangi bir şey olabilir. Aşağıdaki kodda, output_dir konumundaki tokenizer, üç ek özel tokena doğrudan erişim imkânına sahip olacaktır.

vision_tokenizer = AutoTokenizer.from_pretrained(
    "llava-hf/llava-1.5-7b-hf",
    extra_special_tokens={"image_token": "<image>", "boi_token": "<image_start>", "eoi_token": "<image_end>"}
)
print(vision_tokenizer.image_token, vision_tokenizer.image_token_id)
("<image>", 32000)

PreTrainedTokenizer

sınıf transformers.PythonBackend

< >

( **kwargs )

Parametreler

  • model_max_length (int, isteğe bağlı) — Dönüştürücü modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer from_pretrained() ile yüklendiğinde, bu değer max_model_input_sizes içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (int(1e30)) kullanılır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • truncation_side (str, isteğe bağlı) — Modelin kırpma işlemi uygulanması gereken tarafı. [‘right’, ‘left’] arasında seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • chat_template (str, isteğe bağlı) — Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için bkz. https://huggingface.co/docs/transformers/chat_templating.
  • model_input_names (list[string], isteğe bağlı) — Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin "token_type_ids" veya "attention_mask"). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.
  • bos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin başlangıcını temsil eden özel bir belirteç.
  • eos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin sonunu temsil eden özel bir belirteç.
  • unk_token (str veya tokenizers.AddedToken, isteğe bağlı) — Sözlük dışı bir tokenı temsil eden özel bir token.
  • sep_token (str veya tokenizers.AddedToken, isteğe bağlı) — Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).
  • pad_token (str veya tokenizers.AddedToken, isteğe bağlı) — Toplu işlem (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp hesabı tarafından yok sayılır.
  • cls_token (str veya tokenizers.AddedToken, isteğe bağlı) — Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).
  • mask_token (str veya tokenizers.AddedToken, isteğe bağlı) — Maskelenmiş bir tokenı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). self.mask_token ve self.mask_token_id ile ilişkilendirilecektir.
  • extra_special_tokens (str veya tokenizers.AddedToken listesi, isteğe bağlı) — Modelle ilgili ek özel tokenların listesi. skip_special_tokens True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.
  • split_special_tokens (bool, isteğe bağlı, varsayılan False) — Özel jetonların (token) tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Bu parametrenin geçirilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, <s> bos_token ise tokenizer.tokenize("<s>") = ['<s>] sonucunu verir. Aksi halde, split_special_tokens=True ise tokenizer.tokenize("<s>") ['<','s', '>'] sonucunu verir.

Tüm yavaş tokenizörler için temel sınıf.

PreTrainedTokenizerBase sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizer'ları indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece…) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

  • vocab_files_names (dict[str, str]) — Modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedilmesi için dosya adını (string) değer olarak içeren bir sözlük.
  • pretrained_vocab_files_map (dict[str, dict[str, str]]) — Sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adı, alt düzey anahtarlar ise ön eğitilmiş modellerin short-cut-names kısaltmaları olup ilişkili değerler, ilgili ön eğitilmiş sözlük dosyasına giden url adresidir.
  • model_input_names (list[str]) — Modelin forward pass'inde beklenen girdilerin listesi.
  • padding_side (str) — Modelin padding uygulanması gereken tarafı için varsayılan değer. 'right' veya 'left' olmalıdır.
  • truncation_side (str) — Modelde kırpmanın uygulanması gereken taraf için varsayılan değer. 'right' veya 'left' olmalıdır.

__call__

< >

( text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0is_split_into_words: bool = Falsepad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → BatchEncoding

Parametreler

  • text (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile karışıklığı önlemek için).
  • text_pair (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile belirsizliği gidermek için).
  • text_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metin olarak kodlanacak dizi veya dizi grubu. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).
  • text_pair_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metinler olarak kodlanacak dizi veya dizi partisi. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).
  • tokenizer_kwargs (dict[str, Any], isteğe bağlı) — Tokenizöre iletilecek ek kwargs. Bunlar, açık parametreler ve diğer kwargs ile birleştirilir; açık parametreler önceliklidir.
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini döndürür.
  • return_token_type_ids (bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu, return_outputs özniteliği tarafından tanımlanır.

    Token type ID'leri nelerdir?

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu, return_outputs özniteliği ile tanımlanır.

    Dikkat maskeleri nedir?

  • return_overflowing_tokens (bool, isteğe bağlı, varsayılan False) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden) truncation_strategy = longest_first veya True ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.
  • return_special_tokens_mask (bool, isteğe bağlı, varsayılan False) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi.
  • return_offsets_mapping (bool, isteğe bağlı, varsayılan olarak False) — Her token için (char_start, char_end) dönüp döndürmeyeceğini belirtir.

    Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem NotImplementedError hatası fırlatır.

  • return_length (bool, isteğe bağlı, varsayılan False) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği.
  • verbose (bool, isteğe bağlı, varsayılan True) — Daha fazla bilgi ve uyarı basılıp basılmayacağı.
  • **kwargs — self.tokenize() yöntemine iletilir

Dönüş değeri

BatchEncoding

Aşağıdaki alanlara sahip bir BatchEncoding:

  • input_ids — Bir modele verilecek token kimliklerinin listesi.

    Girdi kimlikleri nelerdir?

  • token_type_ids — Bir modele verilecek token türü kimlikleri listesi (return_token_type_ids=True olduğunda veya “token_type_ids”, self.model_input_names içinde olduğunda).

    Token type ID'leri nelerdir?

  • attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (return_attention_mask=True olduğunda veya self.model_input_names içinde “attention_mask” varsa).

    Dikkat maskeleri nedir?

  • overflowing_tokens — Taşan token dizileri listesi (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • num_truncated_tokens — Kırpılan token sayısı (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • special_tokens_mask — 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (add_special_tokens=True ve return_special_tokens_mask=True olduğunda).

  • length — Girdilerin uzunluğu (return_length=True olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini belirteçlere ayırmak ve model için hazırlamak için ana yöntem.

add_tokens

< >

( new_tokens: str | AddedToken | Sequence[str | AddedToken]special_tokens: bool = False ) → int

Parametreler

  • new_tokens (str, tokenizers.AddedToken veya str ya da tokenizers.AddedToken dizisi) — Tokenler yalnızca sözlükte henüz yoklarsa eklenir. tokenizers.AddedToken, bir dize tokenını sarar ve davranışını kişiselleştirmenizi sağlar: bu tokenın yalnızca tek bir kelimeyle eşleşip eşleşmeyeceği, sol taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı, sağ taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı vb.
  • special_tokens (bool, isteğe bağlı, varsayılan False) — Token'ın özel olup olmadığını belirtir. Bu, büyük ölçüde normalizasyon davranışını değiştirir. HuggingFace tokenizers kütüphanesindeki tokenizers.AddedToken için ayrıntılara bakın.

Dönüş değeri

int

Sözlüğe eklenen token sayısı.

#TODO buradan kaldır! PreTrainedTokenizerBase, AddedToken'dan bağımsız olmalıdır.

Yeni token listesini ekleyin. Yeni tokenler sözlükte yoksa, sonuna eklenir. Bu nedenle eklenen tokenler ve tokenizasyon algoritmasının sözlüğündeki tokenler aynı şekilde ele alınmaz.

Metaspace ön-ayırıcı kullanan ve prepend_scheme="always" parametresiyle (ör. NLLB) çalışan hızlı ayırıcılar, eklenen bir token'ın ardından gelen metnin başına "▁" ekler. tokenizer.add_tokens(["abcd"]) çağrısından sonra "abcdgym" metni ["abcd", "▁gym"] olarak ayrılır ve "abcd gym" olarak çözümlenir. Eklenen token'ların kelimelerin içinde görünebileceği durumlarda, ön-ayırıcıyı değiştirin

sadece girdinin başına eklenmesi için prepend_scheme="first" olarak

from tokenizers import pre_tokenizers

pre_tokenizer = tokenizer.backend_tokenizer.pre_tokenizer
tokenizer.backend_tokenizer.pre_tokenizer = pre_tokenizers.Metaspace(
    replacement=pre_tokenizer.replacement, prepend_scheme="first", split=pre_tokenizer.split
)

Örnekler:

# Let's see how to increase the vocabulary of Bert model and tokenizer
tokenizer = BertTokenizerFast.from_pretrained("google-bert/bert-base-uncased")
model = BertModel.from_pretrained("google-bert/bert-base-uncased")

num_added_toks = tokenizer.add_tokens(["new_tok1", "my_new-tok2"])
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

add_special_tokens

< >

( special_tokens_dict: dict[str, str | AddedToken | Sequence[str | AddedToken]]replace_extra_special_tokens = True ) → int

Parametreler

  • special_tokens_dict (sözlük str ile str, tokenizers.AddedToken, veya Sequence[Union[str, AddedToken]]) — Anahtarlar, önceden tanımlanmış özel öznitelikler listesinde olmalıdır: [bos_token, eos_token, unk_token, sep_token, pad_token, cls_token, mask_token, extra_special_tokens].

    Tokenler, sözlükte zaten yoklarsa eklenir (bunu, tokenizer'ın onlara unk_token dizinini atayıp atamadığını kontrol ederek test edilir).

  • replace_extra_special_tokens (bool, isteğe bağlı, varsayılan True) — True ise, mevcut ek özel token listesi, special_tokens_dict içinde sağlanan liste ile değiştirilir. Aksi takdirde, extra_special_tokens genişletilir. İlk durumda, tokenlar tokenizer’ın tam sözlüğünden KALDIRILMAZ - yalnızca özel olmayan token olarak işaretlenir. Unutmayın, bu yalnızca çözümleme sırasında atlanan tokenları etkiler, added_tokens_encoder ve added_tokens_decoder’i değil. Bu, önceki extra_special_tokens’ün hâlâ eklenmiş tokenlar olduğu ve model tarafından bölünmeyeceği anlamına gelir.

Dönüş değeri

int

Sözlüğe eklenen token sayısı.

Özel jetonların (eos, pad, cls vb.) sözlüğünü kodlayıcıya ekleyin ve bunları sınıf özniteliklerine bağlayın. Özel jetonlar sözlükte DEĞİLSE, sözlüğe eklenirler (mevcut sözlüğün son dizininden başlayarak indekslenir).

Sözlüğe yeni token eklerken, modelin token gömme matrisini yeniden boyutlandırmanız ve gömme matrisinin tokenizer ile eşleşmesini sağlamaya dikkat etmeniz gerekir.

Bunu yapmak için lütfen resize_token_embeddings() yöntemini kullanın.

add_special_tokens kullanmak, özel jetonlarınızın çeşitli şekillerde kullanılmasını sağlar:

  • Özel jetonlar, skip_special_tokens = True kullanılarak çözümlenirken atlanabilir.
  • Özel jetonlar, AddedTokens benzeri şekilde, tokenizer tarafından dikkatle işlenir (asla bölünmezler).
  • Özel jetonlara tokenizer.cls_token gibi tokenizer sınıf öznitelikleri aracılığıyla kolayca başvurabilirsiniz. Bu, modelden bağımsız eğitim ve ince ayar betikleri geliştirmeyi kolaylaştırır.

Mümkün olduğunda, özel jetonlar sağlanan önceden eğitilmiş modeller için zaten kayıtlıdır (örneğin BertTokenizer cls_token zaten '[CLS]' olarak kayıtlıdır ve XLM'ninkisi de '</s>' olarak kayıtlıdır).

Örnekler:

# Let's see how to add a new classification token to GPT-2
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
model = GPT2Model.from_pretrained("openai-community/gpt2")

special_tokens_dict = {"cls_token": "<CLS>"}

num_added_toks = tokenizer.add_special_tokens(special_tokens_dict)
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

assert tokenizer.cls_token == "<CLS>"

apply_chat_template

< >

( conversation: list[dict[str, str]] | list[list[dict[str, str]]]tools: list[dict | Callable] | None = Nonedocuments: list[dict[str, str]] | None = Nonechat_template: str | None = Noneadd_generation_prompt: bool = Falsecontinue_final_message: bool | str = Falsetokenize: bool = Truesanitize_control_tokens: bool = Falsepadding: bool | str | PaddingStrategy = Falsetruncation: bool = Falsemax_length: int | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_dict: bool = Truereturn_assistant_tokens_mask: bool = Falsetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → Union[list[int], Dict]

Parametreler

  • conversation (Union[list[dict[str, str]], list[list[dict[str, str]]]]) — Şu ana kadarki sohbet geçmişini temsil eden, “role” ve “content” anahtarlarına sahip sözlüklerden oluşan bir liste.
  • tools (list[Union[Dict, Callable]], isteğe bağlı) — Modelin erişebileceği araçların (çağrılabilir fonksiyonların) listesi. Şablon fonksiyon çağrısını desteklemiyorsa bu argüman hiçbir etki yaratmaz. Her araç, aracın adını, açıklamasını ve argüman türlerini belirten bir JSON Schema olarak geçirilmelidir. Daha fazla bilgi için araç kullanımı kılavuzumuza bakın.
  • documents (list[dict[str, str]], isteğe bağlı) — Model RAG (retrieval-augmented generation) gerçekleştiriyorsa modelin erişebileceği belgeleri temsil eden sözlüklerden oluşan bir liste. Şablon RAG'i desteklemiyorsa bu argümanın hiçbir etkisi olmaz. Her belgenin “title” ve “text” anahtarlarını içeren bir sözlük olmasını öneririz.
  • chat_template (str, isteğe bağlı) — Bu dönüştürme için kullanılacak bir Jinja şablonu. Modelin şablonu varsayılan olarak kullanıldığından, bu argümana bir şey geçirmek genellikle gerekmez.
  • add_generation_prompt (bool, isteğe bağlı) — Bu ayar etkinleştirilirse, asistan mesajının başlangıcını gösteren token(lar)ı içeren bir istem, biçimlendirilmiş çıktıya eklenir. Bu, modelden bir yanıt üretmek istediğinizde kullanışlıdır. Bu argümanın herhangi bir etki yaratabilmesi için, sohbet şablonuna (chat template) aktarılacağını ve dolayısıyla şablon tarafından desteklenmesi gerektiğini unutmayın.
  • continue_final_message (bool or str, isteğe bağlı) — Bu ayar etkinleştirilirse, sohbet, sohbetin son mesajının açık uçlu ve herhangi bir EOS token'ı içermeyecek şekilde biçimlendirilir. Model, yeni bir mesaj başlatmak yerine bu mesajı devam ettirir. Bu, modelin yanıtının bir kısmını model için “ön doldurmanıza” olanak tanır. Bir dize geçirilirse, devam edilecek alanın anahtarı olarak kullanılır (ör. “reasoning_content”). add_generation_prompt ile aynı anda kullanılamaz.
  • tokenize (bool, varsayılan True) — Çıktının tokenize edilip edilmeyeceği. False ise çıktı bir dize olacaktır.
  • sanitize_control_tokens (bool, varsayılan False) — Ayarlandığında, mesajlarda, araçlarda veya belgelerde görünen kontrol jetonları sıradan metin olarak kodlanır; böylece yalnızca sohbet şablonunun kendisi tarafından yazılan kontrol jetonları jeton olarak kodlanır. Kontrol jetonları, tokenizer’ın özel jetonları ile tokenizer.chat_control_tokens içindeki eklenen jetonlardır. Bu değişken ayarlanmamışsa, kontrol jetonları sohbet şablonunun metninde ve dizge sabitlerinde görünen eklenen jetonlardan çıkarılır. Yalnızca bütün kontrol jetonları temizlenir; bu nedenle şablon, girdiden dizgeleri kontrol jetonlarına birleştiriyorsa (örneğin '<|' + message['role'] + '|>'), bu dizgelerin ayrı ayrı doğrulanması gerekir. Sözlük anahtarları da temizlenmez.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dönen dizilere dolgu uygulanacak stratejiyi seçin (modelin dolgu yönüne ve dolgu indeksine göre):
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, varsayılan False) — Dizilerin maksimum uzunlukta kırpılıp kırpılmayacağını belirtir. tokenize False ise etkisi yoktur.
  • max_length (int, isteğe bağlı) — Doldurma veya kısaltma için kullanılacak maksimum uzunluk (token cinsinden). tokenize False ise etkisi yoktur. Belirtilmezse, tokenizer'ın max_length özniteliği varsayılan olarak kullanılır.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. tokenize False ise etkisi yoktur. False. Kabul edilen değerler:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • return_dict (bool, varsayılan True) — Adlandırılmış çıktıları içeren bir sözlük döndürülüp döndürülmeyeceğini belirtir. tokenize False ise etkisi yoktur.
  • tokenizer_kwargs (dict[str -- Any], isteğe bağlı): Tokenizöre iletilecek ek kwargs.
  • return_assistant_tokens_mask (bool, varsayılan False) — Asistan tarafından üretilen jetonların bir maskesinin döndürülüp döndürülmediğini belirtir. Asistan tarafından üretilen jetonlar için maske 1 içerir. Kullanıcı ve sistem jetonları için maske 0 içerir. Bu özellik, yalnızca {% generation %} anahtar kelimesi aracılığıyla bunu destekleyen sohbet şablonları için kullanılabilir.
  • **kwargs — Şablon işleyicisine iletilecek ek kwargs. Sohbet şablonu tarafından erişilebilir olacaktır.

Dönüş değeri

Union[list[int], Dict]

Şimdiye kadar tokenize edilmiş sohbeti, kontrol token'ları dahil olmak üzere temsil eden token kimliği listesi. Bu çıktı, doğrudan veya generate() gibi yöntemler aracılığıyla modele iletmeye hazırdır. return_dict ayarlanırsa, bunun yerine tokenizer çıktılarından oluşan bir sözlük döndürülür.

"role" ve "content" anahtarlarına sahip sözlük listesini token kimlikleri listesine dönüştürür. Bu yöntem, sohbet modelleriyle kullanım için tasarlanmıştır ve dönüştürme sırasında kullanılacak biçimi ve kontrol tokenlarını belirlemek için tokenizer'ın chat_template özniteliklerini okur.

batch_decode

< >

( sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]

Parametreler

  • sequences (Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tokenize edilmiş girdi kimliklerinin listesi. __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • clean_up_tokenization_spaces (bool, isteğe bağlı) — Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. None ise, varsayılan olarak self.clean_up_tokenization_spaces kullanılır.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

list[str]

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. decode yöntemi artık toplu girdileri yerel olarak işler, bu nedenle batch_decode yerine doğrudan decode kullanabilirsiniz.

decode

< >

( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]

Parametreler

  • token_ids (Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tek bir dizi veya tokenize edilmiş girdi kimliklerinin bir partisi (dizilerin listesi). __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

Union[str, list[str]]

Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.

Özel tokenları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir kimlik dizisini bir dizeye, veya diziler listesini diziler listesine dönüştürür.

self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)) işlemine benzer.

encode

< >

( text: TextInput | PreTokenizedInput | EncodedInputtext_pair: TextInput | PreTokenizedInput | EncodedInput | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0padding_side: str | None = Nonereturn_tensors: str | TensorType | None = None**kwargs ) → list[int], torch.Tensor, or np.ndarray

Parametreler

  • text (str, list[str] veya list[int]) — Kodlanacak ilk dizi. Bu, bir dize, bir dize listesi (tokenize yöntemi kullanılarak tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_ids yöntemi kullanılarak tokenize edilmiş dize kimlikleri) olabilir.
  • text_pair (str, list[str] veya list[int], isteğe bağlı) — Kodlanacak isteğe bağlı ikinci dizi. Bu, bir dize, bir dize listesi (tokenize yöntemi kullanılarak tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_ids yöntemi kullanılarak tokenize edilmiş dize kimlikleri) olabilir.
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini döndürür.
  • **kwargs — .tokenize() yöntemine iletilir.

Dönüş değeri

list[int], torch.Tensor veya np.ndarray

Metnin tokenize edilmiş kimlikleri.

Dizgiyi, belirteç ayrıştırıcı ve sözlük kullanarak kimlik (tamsay) dizisine dönüştürür.

self.convert_tokens_to_ids(self.tokenize(text)) işlemiyle aynıdır.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

Parametreler

  • repo_id (str) — Tokenizörünüzü göndermek istediğiniz depoyun adı. Belirli bir organizasyona gönderirken organizasyon adınızı içermelidir.
  • commit_message (str, isteğe bağlı) — İterken iletilecek mesaj. Varsayılan olarak "Upload tokenizer" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması
  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.
  • token (bool veya str, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True (varsayılan) ise, hf auth login çalıştırıldığında oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların itileceği dal.
  • create_pr (bool, isteğe bağlı, varsayılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, isteğe bağlı, varsayılan "50GB") — Yalnızca modeller için geçerlidir. Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Bir dize olarak ifade ediliyorsa, birimden (ör. "5MB") önce rakamlar içermelidir.
  • tags (list[str], isteğe bağlı) — Hub'a itilecek etiketlerin listesi.

Tokenizer dosyalarını 🤗 Model Hub'a yükleyin.

Örnekler:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")

# Push the tokenizer to your namespace with the name "my-finetuned-bert".
tokenizer.push_to_hub("my-finetuned-bert")

# Push the tokenizer to an organization with the name "my-finetuned-bert".
tokenizer.push_to_hub("huggingface/my-finetuned-bert")

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Özel jetonların ekleneceği kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Uygun özel jetonlarla birlikte girdi kimlikleri listesi.

Özel jetonlar ekleyerek bir diziden veya diziler çiftinden model girdileri oluşturun.

Bu yöntem, girdileri belirleyicinin special_tokens_pattern değerine göre dinamik olarak oluşturur:

  • "none": Özel jeton yok
  • "cls_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
  • "eos": seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
  • "bos": [BOS] seq0 veya [BOS] seq0 [BOS] seq1
  • "bos_eos": [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
  • "cls_double_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
  • "prefix_suffix": <prefix_tokens> seq0 [seq1] <suffix_tokens> (tokenizörde saklanan özel önek/son ek)

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Yapılandırılan desene göre token türü kimlikleri.

Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.

Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:

  • token_type_ids_pattern: Kullanılacak desen (“all_zeros” veya “bert_style”)
  • token_type_ids_include_special_tokens: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı

Örnekler:

# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences

# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairs

get_added_vocab

< >

( ) → dict[str, int]

Dönüş değeri

dict[str, int]

Eklenen jetonlar.

Sözlükte eklenen token'ları, token'dan indekse bir sözlük olarak döndürür. Sonuçlar, hızlı çağrıdan farklı olabilir çünkü şu an için token'lar sözlükte zaten olsa bile her zaman eklenir. Bunun değiştirilmesi gereken bir durumdur.

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]

Parametreler

  • token_ids_0 (list[int]) — İlk dizinin kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — İkinci dizinin kimlik listesi.
  • already_has_special_tokens (bool, isteğe bağlı, varsayılan False) — Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

Dönüş değeri

[0, 1] aralığında tamsayıların bir listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın prepare_for_model veya encode_plus yöntemleri kullanılarak özel tokenler eklenirken çağrılır.

Bu yöntem, özel jeton maskesini dinamik olarak oluşturur ve bunun için special_tokens_pattern değerini kullanır:

  • "none": Özel jeton yok (varsayılan, tümü 0 döner)
  • "cls_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
  • "eos": seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
  • "bos": [BOS] seq0 veya [BOS] seq0 [BOS] seq1
  • "bos_eos": [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
  • "cls_double_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
  • "prefix_suffix": <prefix_tokens> seq0 [seq1] <suffix_tokens>

num_special_tokens_to_add

< >

( pair: bool = False ) → int

Parametreler

  • pair (bool, isteğe bağlı, varsayılan False) — Eklenen jeton sayısının bir dizi çifti mi yoksa tek bir dizi mi olduğu durumuna göre hesaplanıp hesaplanmayacağı.

Dönüş değeri

int

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

prepare_for_model

< >

( ids: listpair_ids: list[int] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = Falsemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_length: bool = Falseverbose: bool = Trueprepend_batch_axis: bool = False**kwargs )

Parametreler

  • ids — İlk dizinin tokenize edilmiş girdi kimlikleri.
  • pair_ids — İkinci dizinin tokenize edilmiş girdi kimlikleri (isteğe bağlı).

Girdi kimlikleri dizisini model tarafından kullanılabilecek şekilde hazırlar. Özel jetonları ekler, kısaltır ve doldurur.

prepare_for_tokenization

< >

( text: stris_split_into_words: bool = False**kwargs ) → tuple[str, dict[str, Any]]

Parametreler

  • text (str) — Hazırlanacak metin.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • kwargs (dict[str, Any], isteğe bağlı) — Tokenizasyon için kullanılacak anahtar kelime argümanları.

Dönüş değeri

tuple[str, dict[str, Any]]

Hazırlanan metin ve kullanılmayan kwargs.

Tokenizasyon öncesinde gerekli tüm dönüşümleri gerçekleştirir.

Bu yöntem, argümanları kwargs içinden çıkarmalı ve kalan kwargs değerlerini de döndürmelidir. Tüm argümanların kullanıldığından emin olmak için kwargs değerlerini kodlama sürecinin sonunda test ederiz.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple[str, ...]

Parametreler

  • save_directory (str) — Sözlüğün kaydedileceği dizin.
  • filename_prefix (str, isteğe bağlı) — Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

Dönüş değeri

tuple[str, ...]

Kaydedilen dosyaların yolları, dosya kaydedilmediyse boş tuple.

Ortak sözlük kaydetme kalıpları için varsayılan uygulama. self.encoder/self.vocab'ı JSON olarak kaydeder, isteğe bağlı olarak self.bpe_ranks'ı birleştirmeler (merges) olarak ekler. Sözlük yoksa boş tuple döndürür.

Tokenizörünüz özel kaydetme mantığı gerektiriyorsa (ör. SentencePiece modelleri, birden çok sözlük dosyası veya özel dosya biçimleri) bu yöntemi geçersiz kılın.

tokenize

< >

( text: str**kwargs )

Parametreler

  • text — Kodlanacak dizi.
  • **kwargs — Model-özel prepare_for_tokenization ön işleme yöntemine iletilir.

Dizgiyi, belirteç ayrıştırıcıyı kullanarak belirteç dizisine dönüştürür.

truncate_sequences

< >

( ids: listpair_ids: list[int] | None = Nonenum_tokens_to_remove: int = 0truncation_strategy: str | transformers.tokenization_utils_base.TruncationStrategy = 'longest_first'stride: int = 0 )

Belirtilen stratejiye göre dizileri kısaltır.

PreTrainedTokenizerFast

PreTrainedTokenizerFast, tokenizers kütüphanesine bağımlıdır. 🤗 tokenizers kütüphanesinden elde edilen tokenizers, 🤗 transformers'a çok basit bir şekilde yüklenebilir. Bunun nasıl yapıldığını anlamak için 🤗 tokenizers'dan tokenizers kullanma sayfasına göz atın.

sınıf transformers.TokenizersBackend

< >

( *args**kwargs )

Parametreler

  • model_max_length (int, isteğe bağlı) — Dönüştürücü modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer from_pretrained() ile yüklendiğinde, bu değer max_model_input_sizes içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (int(1e30)) kullanılır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • truncation_side (str, isteğe bağlı) — Modelin kırpma işlemi uygulanması gereken tarafı. [‘right’, ‘left’] arasında seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • chat_template (str, isteğe bağlı) — Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için bkz. https://huggingface.co/docs/transformers/chat_templating.
  • model_input_names (list[string], isteğe bağlı) — Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin "token_type_ids" veya "attention_mask"). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.
  • bos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin başlangıcını temsil eden özel bir belirteç.
  • eos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin sonunu temsil eden özel bir belirteç.
  • unk_token (str veya tokenizers.AddedToken, isteğe bağlı) — Sözlük dışı bir tokenı temsil eden özel bir token.
  • sep_token (str veya tokenizers.AddedToken, isteğe bağlı) — Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).
  • pad_token (str veya tokenizers.AddedToken, isteğe bağlı) — Toplu işlem (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp hesabı tarafından yok sayılır.
  • cls_token (str veya tokenizers.AddedToken, isteğe bağlı) — Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).
  • mask_token (str veya tokenizers.AddedToken, isteğe bağlı) — Maskelenmiş bir tokenı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). self.mask_token ve self.mask_token_id ile ilişkilendirilecektir.
  • extra_special_tokens (str veya tokenizers.AddedToken listesi, isteğe bağlı) — Modelle ilgili ek özel tokenların listesi. skip_special_tokens True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.
  • split_special_tokens (bool, isteğe bağlı, varsayılan False) — Özel jetonların (token) tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Bu parametrenin geçirilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, <s> bos_token ise tokenizer.tokenize("<s>") = ['<s>] sonucunu verir. Aksi halde, split_special_tokens=True ise tokenizer.tokenize("<s>") ['<','s', '>'] sonucunu verir.
  • tokenizer_object (tokenizers.Tokenizer) — Örneklenmesi için 🤗 tokenizers'dan bir tokenizers.Tokenizer nesnesi. Daha fazla bilgi için 🤗 tokenizers'dan tokenizers kullanma bölümüne bakın.
  • tokenizer_file (str) — 🤗 tokenizers'dan daha önce serileştirilmiş bir tokenizers.Tokenizer nesnesini temsil eden yerel bir JSON dosyasına yol.

Tüm hızlı tokenizörler için temel sınıf (HuggingFace tokenizers kütüphanesini sarmalar).

PreTrainedTokenizerBase sınıfından devralır.

Tokenizasyon ve özel tokenlar için ortak yöntemlerin yanı sıra, önceden eğitilmiş tokenizörlerin indirilme/önbelleğe alınma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece…) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

  • vocab_files_names (dict[str, str]) — Modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedilmesi için dosya adını (string) değer olarak içeren bir sözlük.
  • pretrained_vocab_files_map (dict[str, dict[str, str]]) — Sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adı, alt düzey anahtarlar ise ön eğitilmiş modellerin short-cut-names kısaltmaları olup ilişkili değerler, ilgili ön eğitilmiş sözlük dosyasına giden url adresidir.
  • model_input_names (list[str]) — Modelin forward pass'inde beklenen girdilerin listesi.
  • padding_side (str) — Modelin padding uygulanması gereken tarafı için varsayılan değer. 'right' veya 'left' olmalıdır.
  • truncation_side (str) — Modelde kırpmanın uygulanması gereken taraf için varsayılan değer. 'right' veya 'left' olmalıdır.

__call__

< >

( text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Nonetext_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0is_split_into_words: bool = Falsepad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_offsets_mapping: bool = Falsereturn_length: bool = Falseverbose: bool = Truetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → BatchEncoding

Parametreler

  • text (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile karışıklığı önlemek için).
  • text_pair (str, list[str], list[list[str]], isteğe bağlı) — Kodlanacak dizi veya dizi grubu. Her dizi bir metin veya metin listesi (önceden tokenize edilmiş metin) olabilir. Diziler metin listesi olarak (önceden tokenize edilmiş) sağlanıyorsa, is_split_into_words=True değerini ayarlamalısınız (dizi grubu ile belirsizliği gidermek için).
  • text_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metin olarak kodlanacak dizi veya dizi grubu. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi grubu ile belirsizliği gidermek için).
  • text_pair_target (str, list[str], list[list[str]], isteğe bağlı) — Hedef metinler olarak kodlanacak dizi veya dizi partisi. Her dizi bir dize veya dize listesi (önceden tokenize edilmiş dize) olabilir. Diziler dize listesi (önceden tokenize edilmiş) olarak sağlanıyorsa, is_split_into_words=True değerini ayarlamanız gerekir (dizi partisiyle olan belirsizliği gidermek için).
  • tokenizer_kwargs (dict[str, Any], isteğe bağlı) — Tokenizöre iletilecek ek kwargs. Bunlar, açık parametreler ve diğer kwargs ile birleştirilir; açık parametreler önceliklidir.
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini döndürür.
  • return_token_type_ids (bool, isteğe bağlı) — Token type ID'lerinin döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre token type ID'lerini döndürür; bu, return_outputs özniteliği tarafından tanımlanır.

    Token type ID'leri nelerdir?

  • return_attention_mask (bool, isteğe bağlı) — Dikkat maskesinin (attention mask) döndürülüp döndürülmeyeceğini belirtir. Varsayılan bırakılırsa, ilgili tokenizer'ın varsayılanına göre dikkat maskesini döndürür; bu, return_outputs özniteliği ile tanımlanır.

    Dikkat maskeleri nedir?

  • return_overflowing_tokens (bool, isteğe bağlı, varsayılan False) — Taşan token dizilerinin döndürülüp döndürülmeyeceği. Girdi kimlikleri çiftlerinden (veya çiftlerden oluşan bir partiden) truncation_strategy = longest_first veya True ile sağlanırsa, taşan tokenlar döndürülmek yerine bir hata oluşturulur.
  • return_special_tokens_mask (bool, isteğe bağlı, varsayılan False) — Özel jeton maskesi bilgisinin döndürülüp döndürülmemesi.
  • return_offsets_mapping (bool, isteğe bağlı, varsayılan olarak False) — Her token için (char_start, char_end) dönüp döndürmeyeceğini belirtir.

    Bu özellik yalnızca PreTrainedTokenizerFast sınıfından türeyen hızlı tokenizörlerde kullanılabilir; Python tokenizörü kullanılırsa bu yöntem NotImplementedError hatası fırlatır.

  • return_length (bool, isteğe bağlı, varsayılan False) — Kodlanmış girdilerin uzunluklarının döndürülüp döndürülmeyeceği.
  • verbose (bool, isteğe bağlı, varsayılan True) — Daha fazla bilgi ve uyarı basılıp basılmayacağı.
  • **kwargs — self.tokenize() yöntemine iletilir

Dönüş değeri

BatchEncoding

Aşağıdaki alanlara sahip bir BatchEncoding:

  • input_ids — Bir modele verilecek token kimliklerinin listesi.

    Girdi kimlikleri nelerdir?

  • token_type_ids — Bir modele verilecek token türü kimlikleri listesi (return_token_type_ids=True olduğunda veya “token_type_ids”, self.model_input_names içinde olduğunda).

    Token type ID'leri nelerdir?

  • attention_mask — Modelin hangi jetonlara dikkat etmesi gerektiğini belirleyen indeks listesi (return_attention_mask=True olduğunda veya self.model_input_names içinde “attention_mask” varsa).

    Dikkat maskeleri nedir?

  • overflowing_tokens — Taşan token dizileri listesi (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • num_truncated_tokens — Kırpılan token sayısı (max_length belirtildiğinde ve return_overflowing_tokens=True olduğunda).

  • special_tokens_mask — 0 ve 1'lerden oluşan liste; 1 eklenen özel tokenları, 0 ise normal dizi tokenlarını belirtir (add_special_tokens=True ve return_special_tokens_mask=True olduğunda).

  • length — Girdilerin uzunluğu (return_length=True olduğunda)

Bir veya birden fazla diziyi veya bir veya birden fazla dizi çiftini belirteçlere ayırmak ve model için hazırlamak için ana yöntem.

add_tokens

< >

( new_tokens: str | AddedToken | Sequence[str | AddedToken]special_tokens: bool = False ) → int

Parametreler

  • new_tokens (str, tokenizers.AddedToken veya str ya da tokenizers.AddedToken dizisi) — Tokenler yalnızca sözlükte henüz yoklarsa eklenir. tokenizers.AddedToken, bir dize tokenını sarar ve davranışını kişiselleştirmenizi sağlar: bu tokenın yalnızca tek bir kelimeyle eşleşip eşleşmeyeceği, sol taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı, sağ taraftaki tüm olası boşlukları kaldırıp kaldırmayacağı vb.
  • special_tokens (bool, isteğe bağlı, varsayılan False) — Token'ın özel olup olmadığını belirtir. Bu, büyük ölçüde normalizasyon davranışını değiştirir. HuggingFace tokenizers kütüphanesindeki tokenizers.AddedToken için ayrıntılara bakın.

Dönüş değeri

int

Sözlüğe eklenen token sayısı.

#TODO buradan kaldır! PreTrainedTokenizerBase, AddedToken'dan bağımsız olmalıdır.

Yeni token listesini ekleyin. Yeni tokenler sözlükte yoksa, sonuna eklenir. Bu nedenle eklenen tokenler ve tokenizasyon algoritmasının sözlüğündeki tokenler aynı şekilde ele alınmaz.

Metaspace ön-ayırıcı kullanan ve prepend_scheme="always" parametresiyle (ör. NLLB) çalışan hızlı ayırıcılar, eklenen bir token'ın ardından gelen metnin başına "▁" ekler. tokenizer.add_tokens(["abcd"]) çağrısından sonra "abcdgym" metni ["abcd", "▁gym"] olarak ayrılır ve "abcd gym" olarak çözümlenir. Eklenen token'ların kelimelerin içinde görünebileceği durumlarda, ön-ayırıcıyı değiştirin

sadece girdinin başına eklenmesi için prepend_scheme="first" olarak

from tokenizers import pre_tokenizers

pre_tokenizer = tokenizer.backend_tokenizer.pre_tokenizer
tokenizer.backend_tokenizer.pre_tokenizer = pre_tokenizers.Metaspace(
    replacement=pre_tokenizer.replacement, prepend_scheme="first", split=pre_tokenizer.split
)

Örnekler:

# Let's see how to increase the vocabulary of Bert model and tokenizer
tokenizer = BertTokenizerFast.from_pretrained("google-bert/bert-base-uncased")
model = BertModel.from_pretrained("google-bert/bert-base-uncased")

num_added_toks = tokenizer.add_tokens(["new_tok1", "my_new-tok2"])
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

add_special_tokens

< >

( special_tokens_dict: dict[str, str | AddedToken | Sequence[str | AddedToken]]replace_extra_special_tokens = True ) → int

Parametreler

  • special_tokens_dict (sözlük str ile str, tokenizers.AddedToken, veya Sequence[Union[str, AddedToken]]) — Anahtarlar, önceden tanımlanmış özel öznitelikler listesinde olmalıdır: [bos_token, eos_token, unk_token, sep_token, pad_token, cls_token, mask_token, extra_special_tokens].

    Tokenler, sözlükte zaten yoklarsa eklenir (bunu, tokenizer'ın onlara unk_token dizinini atayıp atamadığını kontrol ederek test edilir).

  • replace_extra_special_tokens (bool, isteğe bağlı, varsayılan True) — True ise, mevcut ek özel token listesi, special_tokens_dict içinde sağlanan liste ile değiştirilir. Aksi takdirde, extra_special_tokens genişletilir. İlk durumda, tokenlar tokenizer’ın tam sözlüğünden KALDIRILMAZ - yalnızca özel olmayan token olarak işaretlenir. Unutmayın, bu yalnızca çözümleme sırasında atlanan tokenları etkiler, added_tokens_encoder ve added_tokens_decoder’i değil. Bu, önceki extra_special_tokens’ün hâlâ eklenmiş tokenlar olduğu ve model tarafından bölünmeyeceği anlamına gelir.

Dönüş değeri

int

Sözlüğe eklenen token sayısı.

Özel jetonların (eos, pad, cls vb.) sözlüğünü kodlayıcıya ekleyin ve bunları sınıf özniteliklerine bağlayın. Özel jetonlar sözlükte DEĞİLSE, sözlüğe eklenirler (mevcut sözlüğün son dizininden başlayarak indekslenir).

Sözlüğe yeni token eklerken, modelin token gömme matrisini yeniden boyutlandırmanız ve gömme matrisinin tokenizer ile eşleşmesini sağlamaya dikkat etmeniz gerekir.

Bunu yapmak için lütfen resize_token_embeddings() yöntemini kullanın.

add_special_tokens kullanmak, özel jetonlarınızın çeşitli şekillerde kullanılmasını sağlar:

  • Özel jetonlar, skip_special_tokens = True kullanılarak çözümlenirken atlanabilir.
  • Özel jetonlar, AddedTokens benzeri şekilde, tokenizer tarafından dikkatle işlenir (asla bölünmezler).
  • Özel jetonlara tokenizer.cls_token gibi tokenizer sınıf öznitelikleri aracılığıyla kolayca başvurabilirsiniz. Bu, modelden bağımsız eğitim ve ince ayar betikleri geliştirmeyi kolaylaştırır.

Mümkün olduğunda, özel jetonlar sağlanan önceden eğitilmiş modeller için zaten kayıtlıdır (örneğin BertTokenizer cls_token zaten '[CLS]' olarak kayıtlıdır ve XLM'ninkisi de '</s>' olarak kayıtlıdır).

Örnekler:

# Let's see how to add a new classification token to GPT-2
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
model = GPT2Model.from_pretrained("openai-community/gpt2")

special_tokens_dict = {"cls_token": "<CLS>"}

num_added_toks = tokenizer.add_special_tokens(special_tokens_dict)
print("We have added", num_added_toks, "tokens")
# Notice: resize_token_embeddings expect to receive the full size of the new vocabulary, i.e., the length of the tokenizer.
model.resize_token_embeddings(len(tokenizer))

assert tokenizer.cls_token == "<CLS>"

apply_chat_template

< >

( conversation: list[dict[str, str]] | list[list[dict[str, str]]]tools: list[dict | Callable] | None = Nonedocuments: list[dict[str, str]] | None = Nonechat_template: str | None = Noneadd_generation_prompt: bool = Falsecontinue_final_message: bool | str = Falsetokenize: bool = Truesanitize_control_tokens: bool = Falsepadding: bool | str | PaddingStrategy = Falsetruncation: bool = Falsemax_length: int | None = Nonereturn_tensors: str | TensorType | None = Nonereturn_dict: bool = Truereturn_assistant_tokens_mask: bool = Falsetokenizer_kwargs: dict[str, Any] | None = None**kwargs ) → Union[list[int], Dict]

Parametreler

  • conversation (Union[list[dict[str, str]], list[list[dict[str, str]]]]) — Şu ana kadarki sohbet geçmişini temsil eden, “role” ve “content” anahtarlarına sahip sözlüklerden oluşan bir liste.
  • tools (list[Union[Dict, Callable]], isteğe bağlı) — Modelin erişebileceği araçların (çağrılabilir fonksiyonların) listesi. Şablon fonksiyon çağrısını desteklemiyorsa bu argüman hiçbir etki yaratmaz. Her araç, aracın adını, açıklamasını ve argüman türlerini belirten bir JSON Schema olarak geçirilmelidir. Daha fazla bilgi için araç kullanımı kılavuzumuza bakın.
  • documents (list[dict[str, str]], isteğe bağlı) — Model RAG (retrieval-augmented generation) gerçekleştiriyorsa modelin erişebileceği belgeleri temsil eden sözlüklerden oluşan bir liste. Şablon RAG'i desteklemiyorsa bu argümanın hiçbir etkisi olmaz. Her belgenin “title” ve “text” anahtarlarını içeren bir sözlük olmasını öneririz.
  • chat_template (str, isteğe bağlı) — Bu dönüştürme için kullanılacak bir Jinja şablonu. Modelin şablonu varsayılan olarak kullanıldığından, bu argümana bir şey geçirmek genellikle gerekmez.
  • add_generation_prompt (bool, isteğe bağlı) — Bu ayar etkinleştirilirse, asistan mesajının başlangıcını gösteren token(lar)ı içeren bir istem, biçimlendirilmiş çıktıya eklenir. Bu, modelden bir yanıt üretmek istediğinizde kullanışlıdır. Bu argümanın herhangi bir etki yaratabilmesi için, sohbet şablonuna (chat template) aktarılacağını ve dolayısıyla şablon tarafından desteklenmesi gerektiğini unutmayın.
  • continue_final_message (bool or str, isteğe bağlı) — Bu ayar etkinleştirilirse, sohbet, sohbetin son mesajının açık uçlu ve herhangi bir EOS token'ı içermeyecek şekilde biçimlendirilir. Model, yeni bir mesaj başlatmak yerine bu mesajı devam ettirir. Bu, modelin yanıtının bir kısmını model için “ön doldurmanıza” olanak tanır. Bir dize geçirilirse, devam edilecek alanın anahtarı olarak kullanılır (ör. “reasoning_content”). add_generation_prompt ile aynı anda kullanılamaz.
  • tokenize (bool, varsayılan True) — Çıktının tokenize edilip edilmeyeceği. False ise çıktı bir dize olacaktır.
  • sanitize_control_tokens (bool, varsayılan False) — Ayarlandığında, mesajlarda, araçlarda veya belgelerde görünen kontrol jetonları sıradan metin olarak kodlanır; böylece yalnızca sohbet şablonunun kendisi tarafından yazılan kontrol jetonları jeton olarak kodlanır. Kontrol jetonları, tokenizer’ın özel jetonları ile tokenizer.chat_control_tokens içindeki eklenen jetonlardır. Bu değişken ayarlanmamışsa, kontrol jetonları sohbet şablonunun metninde ve dizge sabitlerinde görünen eklenen jetonlardan çıkarılır. Yalnızca bütün kontrol jetonları temizlenir; bu nedenle şablon, girdiden dizgeleri kontrol jetonlarına birleştiriyorsa (örneğin '<|' + message['role'] + '|>'), bu dizgelerin ayrı ayrı doğrulanması gerekir. Sözlük anahtarları da temizlenmez.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dönen dizilere dolgu uygulanacak stratejiyi seçin (modelin dolgu yönüne ve dolgu indeksine göre):
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlandıysa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, varsayılan False) — Dizilerin maksimum uzunlukta kırpılıp kırpılmayacağını belirtir. tokenize False ise etkisi yoktur.
  • max_length (int, isteğe bağlı) — Doldurma veya kısaltma için kullanılacak maksimum uzunluk (token cinsinden). tokenize False ise etkisi yoktur. Belirtilmezse, tokenizer'ın max_length özniteliği varsayılan olarak kullanılır.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, belirli bir çerçeveye ait tensörler döndürülür. tokenize False ise etkisi yoktur. False. Kabul edilen değerler:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': NumPy np.ndarray nesnelerini döndürür.
  • return_dict (bool, varsayılan True) — Adlandırılmış çıktıları içeren bir sözlük döndürülüp döndürülmeyeceğini belirtir. tokenize False ise etkisi yoktur.
  • tokenizer_kwargs (dict[str -- Any], isteğe bağlı): Tokenizöre iletilecek ek kwargs.
  • return_assistant_tokens_mask (bool, varsayılan False) — Asistan tarafından üretilen jetonların bir maskesinin döndürülüp döndürülmediğini belirtir. Asistan tarafından üretilen jetonlar için maske 1 içerir. Kullanıcı ve sistem jetonları için maske 0 içerir. Bu özellik, yalnızca {% generation %} anahtar kelimesi aracılığıyla bunu destekleyen sohbet şablonları için kullanılabilir.
  • **kwargs — Şablon işleyicisine iletilecek ek kwargs. Sohbet şablonu tarafından erişilebilir olacaktır.

Dönüş değeri

Union[list[int], Dict]

Şimdiye kadar tokenize edilmiş sohbeti, kontrol token'ları dahil olmak üzere temsil eden token kimliği listesi. Bu çıktı, doğrudan veya generate() gibi yöntemler aracılığıyla modele iletmeye hazırdır. return_dict ayarlanırsa, bunun yerine tokenizer çıktılarından oluşan bir sözlük döndürülür.

"role" ve "content" anahtarlarına sahip sözlük listesini token kimlikleri listesine dönüştürür. Bu yöntem, sohbet modelleriyle kullanım için tasarlanmıştır ve dönüştürme sırasında kullanılacak biçimi ve kontrol tokenlarını belirlemek için tokenizer'ın chat_template özniteliklerini okur.

batch_decode

< >

( sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = Falseclean_up_tokenization_spaces: bool | None = None**kwargs ) → list[str]

Parametreler

  • sequences (Union[list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tokenize edilmiş girdi kimliklerinin listesi. __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • clean_up_tokenization_spaces (bool, isteğe bağlı) — Tokenizasyon boşluklarının temizlenip temizlenmeyeceğini belirtir. None ise, varsayılan olarak self.clean_up_tokenization_spaces kullanılır.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

list[str]

Çözümlenmiş cümlelerin listesi.

decode çağrısı yaparak token kimlikleri içeren listelerin listesini, dizelerin listesine dönüştürün.

Bu yöntem geriye dönük uyumluluk için sağlanmıştır. decode yöntemi artık toplu girdileri yerel olarak işler, bu nedenle batch_decode yerine doğrudan decode kullanabilirsiniz.

decode

< >

( token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensorskip_special_tokens: bool = False**kwargs ) → Union[str, list[str]]

Parametreler

  • token_ids (Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]) — Tek bir dizi veya tokenize edilmiş girdi kimliklerinin bir partisi (dizilerin listesi). __call__ yöntemi kullanılarak elde edilebilir.
  • skip_special_tokens (bool, isteğe bağlı, varsayılan False) — Çözümleme sırasında özel tokenların kaldırılıp kaldırılmayacağı.
  • kwargs (ek anahtar kelime argümanları, isteğe bağlı) — Altta yatan modele özgü decode yöntemine aktarılacaktır.

Dönüş değeri

Union[str, list[str]]

Tek bir dizi için çözümlenmiş dize veya bir dizi grubu için çözümlenmiş dizeler listesi.

Özel tokenları kaldırma ve tokenizasyon boşluklarını temizleme seçenekleriyle, tokenizer ve sözlük kullanarak bir kimlik dizisini bir dizeye, veya diziler listesini diziler listesine dönüştürür.

self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids)) işlemine benzer.

encode

< >

( text: TextInput | PreTokenizedInput | EncodedInputtext_pair: TextInput | PreTokenizedInput | EncodedInput | None = Noneadd_special_tokens: bool = Truepadding: bool | str | PaddingStrategy = Falsetruncation: bool | str | TruncationStrategy | None = Nonemax_length: int | None = Nonestride: int = 0padding_side: str | None = Nonereturn_tensors: str | TensorType | None = None**kwargs ) → list[int], torch.Tensor, or np.ndarray

Parametreler

  • text (str, list[str] veya list[int]) — Kodlanacak ilk dizi. Bu, bir dize, bir dize listesi (tokenize yöntemi kullanılarak tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_ids yöntemi kullanılarak tokenize edilmiş dize kimlikleri) olabilir.
  • text_pair (str, list[str] veya list[int], isteğe bağlı) — Kodlanacak isteğe bağlı ikinci dizi. Bu, bir dize, bir dize listesi (tokenize yöntemi kullanılarak tokenize edilmiş dize) veya bir tamsayı listesi (convert_tokens_to_ids yöntemi kullanılarak tokenize edilmiş dize kimlikleri) olabilir.
  • add_special_tokens (bool, isteğe bağlı, varsayılan True) — Dizileri kodlarken özel token eklenip eklenmeyeceğini belirtir. Bu, girdi kimliklerine otomatik olarak hangi tokenların ekleneceğini tanımlayan alttaki PretrainedTokenizerBase.build_inputs_with_special_tokens işlevini kullanır. bos veya eos tokenlarını otomatik olarak eklemek istiyorsanız bu işe yarar.
  • padding (bool, str veya PaddingStrategy, isteğe bağlı, varsayılan olarak False) — Dolgu işlemini etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest': Toplu işlemdeki en uzun dizinin uzunluğuna kadar dolgu yapılır (yalnızca tek bir dizi sağlanırsa dolgu yapılmaz).
    • 'max_length': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kadar doldurur.
    • False veya 'do_not_pad' (varsayılan): Dolgu yok (yani, farklı uzunluklarda diziler içeren bir parti çıktı olarak üretilebilir).
  • truncation (bool, str veya TruncationStrategy, isteğe bağlı, varsayılan olarak False) — Kesmeyi (truncation) etkinleştirir ve kontrol eder. Aşağıdaki değerleri kabul eder:
    • True veya 'longest_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltılır. Bu işlem, token bazında kısaltma yapar; bir çift dizi (veya çift dizilerden oluşan bir batch) sağlandığında, çiftteki en uzun diziden bir token kaldırılır.
    • 'only_first': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum giriş uzunluğuna kısaltır. Bir çift dizi (veya çiftlerin bir partisi) sağlandığında, yalnızca çiftin ilk dizisini kısaltır.
    • 'only_second': max_length argümanı ile belirtilen maksimum uzunluğa veya bu argüman sağlanmadıysa modelin kabul edebileceği maksimum girdi uzunluğuna kısaltılır. Bu, bir dizi çifti (veya çiftlerin bir partisi) sağlandığında yalnızca çiftin ikinci dizisini kısaltır.
    • False veya 'do_not_truncate' (varsayılan): Kesme yapılmaz (yani, modelin kabul edebileceği maksimum giriş boyutundan daha uzun dizi uzunluklarına sahip bir çıktı partisi üretilebilir).
  • max_length (int, isteğe bağlı) — Bir kesme/doldurma parametresi tarafından kullanılacak maksimum uzunluğu kontrol eder.

    Eğer ayarlanmazsa veya None olarak ayarlanırsa, kırpma/dolgu parametrelerinden biri tarafından bir maksimum uzunluk gerekiyorsa, bu, önceden tanımlanmış modelin maksimum uzunluğunu kullanır. Modelin belirli bir maksimum giriş uzunluğu yoksa (XLNet gibi), maksimum uzunluğa kırpma/dolgu devre dışı bırakılır.

  • stride (int, isteğe bağlı, varsayılan 0) — max_length ile birlikte bir sayıya ayarlanırsa, return_overflowing_tokens=True olduğunda döndürülen taşan jetonlar, kısaltılmış ve taşan diziler arasında bazı örtüşme sağlamak için kısaltılmış dizinin sonundan bazı jetonları içerir. Bu argümanın değeri, örtüşen jeton sayısını tanımlar.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bunun için padding etkinleştirilmelidir. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Çekirdeklerinin kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • return_tensors (str veya TensorType, isteğe bağlı) — Belirlenirse, Python tamsayı listesi yerine tensörler döndürülür. Kabul edilen değerler şunlardır:
    • 'pt': PyTorch torch.Tensor nesnelerini döndürür.
    • 'np': Numpy np.ndarray nesnelerini döndürür.
  • **kwargs — .tokenize() yöntemine iletilir.

Dönüş değeri

list[int], torch.Tensor veya np.ndarray

Metnin tokenize edilmiş kimlikleri.

Dizgiyi, belirteç ayrıştırıcı ve sözlük kullanarak kimlik (tamsay) dizisine dönüştürür.

self.convert_tokens_to_ids(self.tokenize(text)) işlemiyle aynıdır.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

Parametreler

  • repo_id (str) — Tokenizörünüzü göndermek istediğiniz depoyun adı. Belirli bir organizasyona gönderirken organizasyon adınızı içermelidir.
  • commit_message (str, isteğe bağlı) — İterken iletilecek mesaj. Varsayılan olarak "Upload tokenizer" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması
  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.
  • token (bool veya str, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True (varsayılan) ise, hf auth login çalıştırıldığında oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların itileceği dal.
  • create_pr (bool, isteğe bağlı, varsayılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, isteğe bağlı, varsayılan "50GB") — Yalnızca modeller için geçerlidir. Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Bir dize olarak ifade ediliyorsa, birimden (ör. "5MB") önce rakamlar içermelidir.
  • tags (list[str], isteğe bağlı) — Hub'a itilecek etiketlerin listesi.

Tokenizer dosyalarını 🤗 Model Hub'a yükleyin.

Örnekler:

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("google-bert/bert-base-cased")

# Push the tokenizer to your namespace with the name "my-finetuned-bert".
tokenizer.push_to_hub("my-finetuned-bert")

# Push the tokenizer to an organization with the name "my-finetuned-bert".
tokenizer.push_to_hub("huggingface/my-finetuned-bert")

convert_to_native_format

< >

( trust_remote_code = False**kwargs )

Mevcut seri dosyalarından (tokenizer.json, sentencepiece modelleri, tekken.json, vocab/merges) bir tokenizers.Tokenizer arka ucu oluşturun.

get_added_vocab

< >

( ) → dict[str, int]

Dönüş değeri

dict[str, int]

Eklenen jetonlar.

Sözlükteki eklenen token'ları, token'dan indekse bir sözlük olarak döndürür.

num_special_tokens_to_add

< >

( pair: bool = False ) → int

Parametreler

  • pair (bool, isteğe bağlı, varsayılan False) — Eklenen jeton sayısının bir dizi çifti mi yoksa tek bir dizi mi olduğu durumuna göre hesaplanıp hesaplanmayacağı.

Dönüş değeri

int

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

save_pretrained

< >

( save_directory: str | os.PathLikelegacy_format: bool | None = Nonefilename_prefix: str | None = Nonepush_to_hub: bool = Falsesave_format: str | None = None**kwargs ) → A tuple of str

Parametreler

  • save_format (str, isteğe bağlı) — "mistral", orijinal dosyanın kopyalanarak yerel bir tekken.json olarak kaydedilmesi için kullanılır (orijinal tekken sözlük dosyasının mevcut olması gerekir). Kayıt sırasında ad tekken.json olarak normalize edilir ve örneklenen tokenizer bununla tam olarak eşleşmelidir. "hf" veya None, varsayılan HuggingFace formatı için.
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Dönüş değeri

str türünde bir demet

Kaydedilen dosyalar.

Tam tokenizer durumunu kaydedin.

save_pretrained() metodunu, yerel bir sözlük dosyasından dönüştürülen tokenizörler için save_format desteğiyle genişletir (ör. Mistral'ın tekken.json dosyası). legacy_format, filename_prefix ve push_to_hub için temel metoda bakın.

set_truncation_and_padding

< >

( padding_strategy: PaddingStrategytruncation_strategy: TruncationStrategymax_length: intstride: intpad_to_multiple_of: int | Nonepadding_side: str | None )

Parametreler

  • padding_strategy (PaddingStrategy) — Girdiye uygulanacak dolgu türü
  • truncation_strategy (TruncationStrategy) — Girişe uygulanacak kesme türü
  • max_length (int) — Bir dizinin maksimum boyutu.
  • stride (int) — Taşma durumunu ele alırken kullanılacak adım.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.

Hızlı tokenizörler için (HuggingFace tokenizers kütüphanesi tarafından sağlanan) kesme ve dolgu stratejilerini tanımlayın ve ardından tokenizör ayarlarını geri yükleyin.

Sağlanan tokenizer, yönetilen bölüm öncesinde bir dolgu / kısaltma stratejisine sahip değildir. Tokenizer'ınız daha önce bir dolgu / kısaltma stratejisi belirlediyseniz, yönetilen bölümden çıkıldığında bu strateji dolgu / kısaltma yapılmayacak şekilde sıfırlanır.

train_new_from_iterator

< >

( text_iteratorvocab_sizelength = Nonenew_special_tokens = Nonespecial_tokens_map = None**kwargs ) → PreTrainedTokenizerFast

Parametreler

  • text_iterator (list[str] üreticisi) — Eğitim kurpusu. Bellekte her şey varsa, örneğin metinlerin listelerinin listesi gibi, metin topluluklarının bir üreticisi olmalıdır.
  • vocab_size (int) — Tokenizörünüz için istediğiniz sözlüğün boyutu.
  • length (int, isteğe bağlı) — İteratördeki dizilerin toplam sayısı. Bu, anlamlı bir ilerleme takibi sağlamak için kullanılır
  • new_special_tokens (str veya AddedToken listesi, isteğe bağlı) — Eğittiğiniz tokenizer'a eklenecek yeni özel tokenların listesi.
  • special_tokens_map (dict[str, str], isteğe bağlı) — Bu tokenizer'ın kullandığı özel tokenlardan bazılarını yeniden adlandırmak istiyorsanız, bu argümana eski özel token adından yeni özel token adına giden bir eşleme iletin.
  • kwargs (dict[str, Any], isteğe bağlı) — 🤗 Tokenizers kütüphanesinden trainer'a iletilen ek anahtar kelime argümanları.

Dönüş değeri

PreTrainedTokenizerFast

Orijinaliyle aynı türde, text_iterator üzerinde eğitilmiş yeni bir tokenizer.

Mevcut tokenizatorla aynı varsayılanlara (özel tokenler veya tokenizasyon hattı açısından) sahip yeni bir korpus üzerinde tokenizator eğitir.

update_post_processor

< >

( )

Altta yatan post işlemcisini güncel bos_token ve eos_token ile günceller.

PythonBackend

sınıf transformers.PythonBackend

< >

( **kwargs )

Parametreler

  • model_max_length (int, isteğe bağlı) — Dönüştürücü modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer from_pretrained() ile yüklendiğinde, bu değer max_model_input_sizes içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (int(1e30)) kullanılır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • truncation_side (str, isteğe bağlı) — Modelin kırpma işlemi uygulanması gereken tarafı. [‘right’, ‘left’] arasında seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • chat_template (str, isteğe bağlı) — Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için bkz. https://huggingface.co/docs/transformers/chat_templating.
  • model_input_names (list[string], isteğe bağlı) — Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin "token_type_ids" veya "attention_mask"). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.
  • bos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin başlangıcını temsil eden özel bir belirteç.
  • eos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin sonunu temsil eden özel bir belirteç.
  • unk_token (str veya tokenizers.AddedToken, isteğe bağlı) — Sözlük dışı bir tokenı temsil eden özel bir token.
  • sep_token (str veya tokenizers.AddedToken, isteğe bağlı) — Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).
  • pad_token (str veya tokenizers.AddedToken, isteğe bağlı) — Toplu işlem (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp hesabı tarafından yok sayılır.
  • cls_token (str veya tokenizers.AddedToken, isteğe bağlı) — Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).
  • mask_token (str veya tokenizers.AddedToken, isteğe bağlı) — Maskelenmiş bir tokenı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). self.mask_token ve self.mask_token_id ile ilişkilendirilecektir.
  • extra_special_tokens (str veya tokenizers.AddedToken listesi, isteğe bağlı) — Modelle ilgili ek özel tokenların listesi. skip_special_tokens True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.
  • split_special_tokens (bool, isteğe bağlı, varsayılan False) — Özel jetonların (token) tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Bu parametrenin geçirilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, <s> bos_token ise tokenizer.tokenize("<s>") = ['<s>] sonucunu verir. Aksi halde, split_special_tokens=True ise tokenizer.tokenize("<s>") ['<','s', '>'] sonucunu verir.

Tüm yavaş tokenizörler için temel sınıf.

PreTrainedTokenizerBase sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizer'ları indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece…) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

  • vocab_files_names (dict[str, str]) — Modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedilmesi için dosya adını (string) değer olarak içeren bir sözlük.
  • pretrained_vocab_files_map (dict[str, dict[str, str]]) — Sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adı, alt düzey anahtarlar ise ön eğitilmiş modellerin short-cut-names kısaltmaları olup ilişkili değerler, ilgili ön eğitilmiş sözlük dosyasına giden url adresidir.
  • model_input_names (list[str]) — Modelin forward pass'inde beklenen girdilerin listesi.
  • padding_side (str) — Modelin padding uygulanması gereken tarafı için varsayılan değer. 'right' veya 'left' olmalıdır.
  • truncation_side (str) — Modelde kırpmanın uygulanması gereken taraf için varsayılan değer. 'right' veya 'left' olmalıdır.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Özel jetonların ekleneceği kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Uygun özel jetonlarla birlikte girdi kimlikleri listesi.

Özel jetonlar ekleyerek bir diziden veya diziler çiftinden model girdileri oluşturun.

Bu yöntem, girdileri belirleyicinin special_tokens_pattern değerine göre dinamik olarak oluşturur:

  • "none": Özel jeton yok
  • "cls_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
  • "eos": seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
  • "bos": [BOS] seq0 veya [BOS] seq0 [BOS] seq1
  • "bos_eos": [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
  • "cls_double_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
  • "prefix_suffix": <prefix_tokens> seq0 [seq1] <suffix_tokens> (tokenizörde saklanan özel önek/son ek)

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Yapılandırılan desene göre token türü kimlikleri.

Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.

Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:

  • token_type_ids_pattern: Kullanılacak desen (“all_zeros” veya “bert_style”)
  • token_type_ids_include_special_tokens: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı

Örnekler:

# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences

# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairs

get_added_vocab

< >

( ) → dict[str, int]

Dönüş değeri

dict[str, int]

Eklenen jetonlar.

Sözlükte eklenen token'ları, token'dan indekse bir sözlük olarak döndürür. Sonuçlar, hızlı çağrıdan farklı olabilir çünkü şu an için token'lar sözlükte zaten olsa bile her zaman eklenir. Bunun değiştirilmesi gereken bir durumdur.

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]

Parametreler

  • token_ids_0 (list[int]) — İlk dizinin kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — İkinci dizinin kimlik listesi.
  • already_has_special_tokens (bool, isteğe bağlı, varsayılan False) — Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

Dönüş değeri

[0, 1] aralığında tamsayıların bir listesi

özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın prepare_for_model veya encode_plus yöntemleri kullanılarak özel tokenler eklenirken çağrılır.

Bu yöntem, özel jeton maskesini dinamik olarak oluşturur ve bunun için special_tokens_pattern değerini kullanır:

  • "none": Özel jeton yok (varsayılan, tümü 0 döner)
  • "cls_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] seq1 [SEP]
  • "eos": seq0 [EOS] veya seq0 [EOS] seq1 [EOS]
  • "bos": [BOS] seq0 veya [BOS] seq0 [BOS] seq1
  • "bos_eos": [BOS] seq0 [EOS] veya [BOS] seq0 [EOS] seq1 [EOS]
  • "cls_double_sep": [CLS] seq0 [SEP] veya [CLS] seq0 [SEP] [SEP] seq1 [SEP]
  • "prefix_suffix": <prefix_tokens> seq0 [seq1] <suffix_tokens>

num_special_tokens_to_add

< >

( pair: bool = False ) → int

Parametreler

  • pair (bool, isteğe bağlı, varsayılan False) — Eklenen jeton sayısının bir dizi çifti mi yoksa tek bir dizi mi olduğu durumuna göre hesaplanıp hesaplanmayacağı.

Dönüş değeri

int

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

prepare_for_model

< >

( ids: listpair_ids: list[int] | None = Noneadd_special_tokens: bool = Truepadding: bool | str | transformers.utils.generic.PaddingStrategy = Falsetruncation: bool | str | transformers.tokenization_utils_base.TruncationStrategy = Falsemax_length: int | None = Nonestride: int = 0pad_to_multiple_of: int | None = Nonepadding_side: str | None = Nonereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonereturn_token_type_ids: bool | None = Nonereturn_attention_mask: bool | None = Nonereturn_overflowing_tokens: bool = Falsereturn_special_tokens_mask: bool = Falsereturn_length: bool = Falseverbose: bool = Trueprepend_batch_axis: bool = False**kwargs )

Parametreler

  • ids — İlk dizinin tokenize edilmiş girdi kimlikleri.
  • pair_ids — İkinci dizinin tokenize edilmiş girdi kimlikleri (isteğe bağlı).

Girdi kimlikleri dizisini model tarafından kullanılabilecek şekilde hazırlar. Özel jetonları ekler, kısaltır ve doldurur.

prepare_for_tokenization

< >

( text: stris_split_into_words: bool = False**kwargs ) → tuple[str, dict[str, Any]]

Parametreler

  • text (str) — Hazırlanacak metin.
  • is_split_into_words (bool, isteğe bağlı, varsayılan False) — Girdinin zaten önceden tokenize edilip edilmediğini (örneğin, kelimelere ayrılmış olup olmadığını) belirtir. True olarak ayarlanırsa, tokenizer, girdinin zaten kelimelere ayrılmış olduğunu (örneğin, boşluklara göre bölünerek) ve bunları tokenize edeceğini varsayar. Bu, NER veya token sınıflandırma için faydalıdır.
  • kwargs (dict[str, Any], isteğe bağlı) — Tokenizasyon için kullanılacak anahtar kelime argümanları.

Dönüş değeri

tuple[str, dict[str, Any]]

Hazırlanan metin ve kullanılmayan kwargs.

Tokenizasyon öncesinde gerekli tüm dönüşümleri gerçekleştirir.

Bu yöntem, argümanları kwargs içinden çıkarmalı ve kalan kwargs değerlerini de döndürmelidir. Tüm argümanların kullanıldığından emin olmak için kwargs değerlerini kodlama sürecinin sonunda test ederiz.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple[str, ...]

Parametreler

  • save_directory (str) — Sözlüğün kaydedileceği dizin.
  • filename_prefix (str, isteğe bağlı) — Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

Dönüş değeri

tuple[str, ...]

Kaydedilen dosyaların yolları, dosya kaydedilmediyse boş tuple.

Ortak sözlük kaydetme kalıpları için varsayılan uygulama. self.encoder/self.vocab'ı JSON olarak kaydeder, isteğe bağlı olarak self.bpe_ranks'ı birleştirmeler (merges) olarak ekler. Sözlük yoksa boş tuple döndürür.

Tokenizörünüz özel kaydetme mantığı gerektiriyorsa (ör. SentencePiece modelleri, birden çok sözlük dosyası veya özel dosya biçimleri) bu yöntemi geçersiz kılın.

tokenize

< >

( text: str**kwargs )

Parametreler

  • text — Kodlanacak dizi.
  • **kwargs — Model-özel prepare_for_tokenization ön işleme yöntemine iletilir.

Dizgiyi, belirteç ayrıştırıcıyı kullanarak belirteç dizisine dönüştürür.

truncate_sequences

< >

( ids: listpair_ids: list[int] | None = Nonenum_tokens_to_remove: int = 0truncation_strategy: str | transformers.tokenization_utils_base.TruncationStrategy = 'longest_first'stride: int = 0 )

Belirtilen stratejiye göre dizileri kısaltır.

TokenizersBackend

sınıf transformers.TokenizersBackend

< >

( *args**kwargs )

Parametreler

  • model_max_length (int, isteğe bağlı) — Dönüştürücü modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer from_pretrained() ile yüklendiğinde, bu değer max_model_input_sizes içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (int(1e30)) kullanılır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • truncation_side (str, isteğe bağlı) — Modelin kırpma işlemi uygulanması gereken tarafı. [‘right’, ‘left’] arasında seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • chat_template (str, isteğe bağlı) — Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için bkz. https://huggingface.co/docs/transformers/chat_templating.
  • model_input_names (list[string], isteğe bağlı) — Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin "token_type_ids" veya "attention_mask"). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.
  • bos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin başlangıcını temsil eden özel bir belirteç.
  • eos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin sonunu temsil eden özel bir belirteç.
  • unk_token (str veya tokenizers.AddedToken, isteğe bağlı) — Sözlük dışı bir tokenı temsil eden özel bir token.
  • sep_token (str veya tokenizers.AddedToken, isteğe bağlı) — Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).
  • pad_token (str veya tokenizers.AddedToken, isteğe bağlı) — Toplu işlem (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp hesabı tarafından yok sayılır.
  • cls_token (str veya tokenizers.AddedToken, isteğe bağlı) — Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).
  • mask_token (str veya tokenizers.AddedToken, isteğe bağlı) — Maskelenmiş bir tokenı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). self.mask_token ve self.mask_token_id ile ilişkilendirilecektir.
  • extra_special_tokens (str veya tokenizers.AddedToken listesi, isteğe bağlı) — Modelle ilgili ek özel tokenların listesi. skip_special_tokens True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.
  • split_special_tokens (bool, isteğe bağlı, varsayılan False) — Özel jetonların (token) tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Bu parametrenin geçirilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, <s> bos_token ise tokenizer.tokenize("<s>") = ['<s>] sonucunu verir. Aksi halde, split_special_tokens=True ise tokenizer.tokenize("<s>") ['<','s', '>'] sonucunu verir.
  • tokenizer_object (tokenizers.Tokenizer) — Örneklenmesi için 🤗 tokenizers'dan bir tokenizers.Tokenizer nesnesi. Daha fazla bilgi için 🤗 tokenizers'dan tokenizers kullanma bölümüne bakın.
  • tokenizer_file (str) — 🤗 tokenizers'dan daha önce serileştirilmiş bir tokenizers.Tokenizer nesnesini temsil eden yerel bir JSON dosyasına yol.

Tüm hızlı tokenizörler için temel sınıf (HuggingFace tokenizers kütüphanesini sarmalar).

PreTrainedTokenizerBase sınıfından devralır.

Tokenizasyon ve özel tokenlar için ortak yöntemlerin yanı sıra, önceden eğitilmiş tokenizörlerin indirilme/önbelleğe alınma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece…) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

  • vocab_files_names (dict[str, str]) — Modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedilmesi için dosya adını (string) değer olarak içeren bir sözlük.
  • pretrained_vocab_files_map (dict[str, dict[str, str]]) — Sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adı, alt düzey anahtarlar ise ön eğitilmiş modellerin short-cut-names kısaltmaları olup ilişkili değerler, ilgili ön eğitilmiş sözlük dosyasına giden url adresidir.
  • model_input_names (list[str]) — Modelin forward pass'inde beklenen girdilerin listesi.
  • padding_side (str) — Modelin padding uygulanması gereken tarafı için varsayılan değer. 'right' veya 'left' olmalıdır.
  • truncation_side (str) — Modelde kırpmanın uygulanması gereken taraf için varsayılan değer. 'right' veya 'left' olmalıdır.

convert_to_native_format

< >

( trust_remote_code = False**kwargs )

Mevcut seri dosyalarından (tokenizer.json, sentencepiece modelleri, tekken.json, vocab/merges) bir tokenizers.Tokenizer arka ucu oluşturun.

get_added_vocab

< >

( ) → dict[str, int]

Dönüş değeri

dict[str, int]

Eklenen jetonlar.

Sözlükteki eklenen token'ları, token'dan indekse bir sözlük olarak döndürür.

num_special_tokens_to_add

< >

( pair: bool = False ) → int

Parametreler

  • pair (bool, isteğe bağlı, varsayılan False) — Eklenen jeton sayısının bir dizi çifti mi yoksa tek bir dizi mi olduğu durumuna göre hesaplanıp hesaplanmayacağı.

Dönüş değeri

int

Dizilere eklenen özel jeton sayısı.

Özel jetonlarla bir diziyi kodlarken eklenen jeton sayısını döndürür.

Bu, sahte bir girdiyi kodlar ve eklenen jeton sayısını kontrol eder; bu nedenle verimli değildir. Bunu eğitim döngünüzün içine koymayın.

save_pretrained

< >

( save_directory: str | os.PathLikelegacy_format: bool | None = Nonefilename_prefix: str | None = Nonepush_to_hub: bool = Falsesave_format: str | None = None**kwargs ) → A tuple of str

Parametreler

  • save_format (str, isteğe bağlı) — "mistral", orijinal dosyanın kopyalanarak yerel bir tekken.json olarak kaydedilmesi için kullanılır (orijinal tekken sözlük dosyasının mevcut olması gerekir). Kayıt sırasında ad tekken.json olarak normalize edilir ve örneklenen tokenizer bununla tam olarak eşleşmelidir. "hf" veya None, varsayılan HuggingFace formatı için.
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Dönüş değeri

str türünde bir demet

Kaydedilen dosyalar.

Tam tokenizer durumunu kaydedin.

save_pretrained() metodunu, yerel bir sözlük dosyasından dönüştürülen tokenizörler için save_format desteğiyle genişletir (ör. Mistral'ın tekken.json dosyası). legacy_format, filename_prefix ve push_to_hub için temel metoda bakın.

set_truncation_and_padding

< >

( padding_strategy: PaddingStrategytruncation_strategy: TruncationStrategymax_length: intstride: intpad_to_multiple_of: int | Nonepadding_side: str | None )

Parametreler

  • padding_strategy (PaddingStrategy) — Girdiye uygulanacak dolgu türü
  • truncation_strategy (TruncationStrategy) — Girişe uygulanacak kesme türü
  • max_length (int) — Bir dizinin maksimum boyutu.
  • stride (int) — Taşma durumunu ele alırken kullanılacak adım.
  • pad_to_multiple_of (int, isteğe bağlı) — Belirlenirse, diziyi verilen değerin katına kadar doldurur. Bu, hesaplama yeteneği >= 7.5 (Volta) olan NVIDIA donanımlarında Tensor Cores kullanımını etkinleştirmek için özellikle faydalıdır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.

Hızlı tokenizörler için (HuggingFace tokenizers kütüphanesi tarafından sağlanan) kesme ve dolgu stratejilerini tanımlayın ve ardından tokenizör ayarlarını geri yükleyin.

Sağlanan tokenizer, yönetilen bölüm öncesinde bir dolgu / kısaltma stratejisine sahip değildir. Tokenizer'ınız daha önce bir dolgu / kısaltma stratejisi belirlediyseniz, yönetilen bölümden çıkıldığında bu strateji dolgu / kısaltma yapılmayacak şekilde sıfırlanır.

train_new_from_iterator

< >

( text_iteratorvocab_sizelength = Nonenew_special_tokens = Nonespecial_tokens_map = None**kwargs ) → PreTrainedTokenizerFast

Parametreler

  • text_iterator (list[str] üreticisi) — Eğitim kurpusu. Bellekte her şey varsa, örneğin metinlerin listelerinin listesi gibi, metin topluluklarının bir üreticisi olmalıdır.
  • vocab_size (int) — Tokenizörünüz için istediğiniz sözlüğün boyutu.
  • length (int, isteğe bağlı) — İteratördeki dizilerin toplam sayısı. Bu, anlamlı bir ilerleme takibi sağlamak için kullanılır
  • new_special_tokens (str veya AddedToken listesi, isteğe bağlı) — Eğittiğiniz tokenizer'a eklenecek yeni özel tokenların listesi.
  • special_tokens_map (dict[str, str], isteğe bağlı) — Bu tokenizer'ın kullandığı özel tokenlardan bazılarını yeniden adlandırmak istiyorsanız, bu argümana eski özel token adından yeni özel token adına giden bir eşleme iletin.
  • kwargs (dict[str, Any], isteğe bağlı) — 🤗 Tokenizers kütüphanesinden trainer'a iletilen ek anahtar kelime argümanları.

Dönüş değeri

PreTrainedTokenizerFast

Orijinaliyle aynı türde, text_iterator üzerinde eğitilmiş yeni bir tokenizer.

Mevcut tokenizatorla aynı varsayılanlara (özel tokenler veya tokenizasyon hattı açısından) sahip yeni bir korpus üzerinde tokenizator eğitir.

update_post_processor

< >

( )

Altta yatan post işlemcisini güncel bos_token ve eos_token ile günceller.

SentencePieceBackend

sınıf transformers.SentencePieceBackend

< >

( **kwargs )

Parametreler

  • model_max_length (int, isteğe bağlı) — Dönüştürücü modeline girecek girdilerin maksimum uzunluğu (token sayısı cinsinden). Tokenizer from_pretrained() ile yüklendiğinde, bu değer max_model_input_sizes içinde ilgili model için saklanan değere ayarlanır (bkz. yukarı). Bir değer sağlanmazsa, varsayılan olarak VERY_LARGE_INTEGER (int(1e30)) kullanılır.
  • padding_side (str, isteğe bağlı) — Modelin padding uygulanması gereken tarafı. [‘right’, ‘left’] arasından seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • truncation_side (str, isteğe bağlı) — Modelin kırpma işlemi uygulanması gereken tarafı. [‘right’, ‘left’] arasında seçilmelidir. Varsayılan değer, aynı ada sahip sınıf özelliğinden seçilir.
  • chat_template (str, isteğe bağlı) — Sohbet mesajı listelerini biçimlendirmek için kullanılacak bir Jinja şablon dizesi. Tam açıklama için bkz. https://huggingface.co/docs/transformers/chat_templating.
  • model_input_names (list[string], isteğe bağlı) — Modelin ileri geçişinin kabul ettiği girdilerin listesi (örneğin "token_type_ids" veya "attention_mask"). Varsayılan değer, aynı ada sahip sınıf özniteliğinden seçilir.
  • bos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin başlangıcını temsil eden özel bir belirteç.
  • eos_token (str veya tokenizers.AddedToken, isteğe bağlı) — Bir cümlenin sonunu temsil eden özel bir belirteç.
  • unk_token (str veya tokenizers.AddedToken, isteğe bağlı) — Sözlük dışı bir tokenı temsil eden özel bir token.
  • sep_token (str veya tokenizers.AddedToken, isteğe bağlı) — Aynı girdideki iki farklı cümleyi ayıran özel bir belirteç (örneğin BERT tarafından kullanılır).
  • pad_token (str veya tokenizers.AddedToken, isteğe bağlı) — Toplu işlem (batching) amacıyla token dizilerini aynı boyuta getirmek için kullanılan özel bir token. Dikkat mekanizmaları veya kayıp hesabı tarafından yok sayılır.
  • cls_token (str veya tokenizers.AddedToken, isteğe bağlı) — Girdinin sınıfını temsil eden özel bir jeton (örneğin BERT tarafından kullanılır).
  • mask_token (str veya tokenizers.AddedToken, isteğe bağlı) — Maskelenmiş bir tokenı temsil eden özel bir token (BERT gibi maskeli dil modelleme ön eğitim hedeflerinde kullanılır). self.mask_token ve self.mask_token_id ile ilişkilendirilecektir.
  • extra_special_tokens (str veya tokenizers.AddedToken listesi, isteğe bağlı) — Modelle ilgili ek özel tokenların listesi. skip_special_tokens True olarak ayarlandığında çözümleme sırasında bunların atlanmasını sağlamak için buraya ekleyin. Sözlüğün bir parçası değillerse, sözlüğün sonuna eklenirler.
  • split_special_tokens (bool, isteğe bağlı, varsayılan False) — Özel jetonların (token) tokenizasyon işlemi sırasında bölünüp bölünmeyeceğini belirtir. Bu parametrenin geçirilmesi, tokenizer'ın iç durumunu etkiler. Varsayılan davranış, özel jetonları bölmemektir. Bu, <s> bos_token ise tokenizer.tokenize("<s>") = ['<s>] sonucunu verir. Aksi halde, split_special_tokens=True ise tokenizer.tokenize("<s>") ['<','s', '>'] sonucunu verir.

sentencepiece.model dosyalarından yüklenen, SentencePiece tabanlı tokenizörler için temel sınıf.

PreTrainedTokenizer sınıfından devralır.

Tokenizasyon ve özel tokenlar için tüm ortak yöntemleri, ayrıca önceden eğitilmiş tokenizer'ları indirme/önbelleğe alma/yükleme yöntemlerini ve sözlüğe token ekleme yöntemlerini yönetir.

Bu sınıf, tüm tokenizörlerin üzerinde eklenen tokenları birleşik bir şekilde içerir; böylece çeşitli alttaki sözlük yapılarının (BPE, sentencepiece…) özel sözlük genişletme yöntemlerini ayrı ayrı ele almamız gerekmez.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır)

  • vocab_files_names (dict[str, str]) — Modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adını anahtar olarak, ilgili dosyanın kaydedilmesi için dosya adını (string) değer olarak içeren bir sözlük.
  • pretrained_vocab_files_map (dict[str, dict[str, str]]) — Sözlüklerin sözlüğü; üst düzey anahtarlar, modelin gerektirdiği her sözlük dosyasının __init__ anahtar kelime adı, alt düzey anahtarlar ise ön eğitilmiş modellerin short-cut-names kısaltmaları olup ilişkili değerler, ilgili ön eğitilmiş sözlük dosyasına giden url adresidir.
  • model_input_names (list[str]) — Modelin forward pass'inde beklenen girdilerin listesi.
  • padding_side (str) — Modelin padding uygulanması gereken tarafı için varsayılan değer. 'right' veya 'left' olmalıdır.
  • truncation_side (str) — Modelde kırpmanın uygulanması gereken taraf için varsayılan değer. 'right' veya 'left' olmalıdır.

convert_tokens_to_string

< >

( tokens: list )

Bir dizi belirteci (dizgi) tek bir dizgide birleştirir.

get_vocab

< >

( )

Sözlüğü bir sözlük olarak döndürür

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

Parametreler

  • save_directory (str) — Sözlüğün kaydedileceği dizin.
  • filename_prefix (str, isteğe bağlı) — Kaydedilen dosyaların adlarına eklenecek isteğe bağlı bir önek.

Dönüş değeri

tuple(str)

Kaydedilen dosyaların yolları.

Sentencepiece sözlüğünü (orijinal dosyanın kopyası) bir dizine kaydedin.

BatchEncoding

sınıf transformers.BatchEncoding

< >

( data: dict[str, Any] | None = Noneencoding: EncodingFast | Sequence[EncodingFast] | None = Nonetensor_type: None | str | TensorType = Noneprepend_batch_axis: bool = Falsen_sequences: int | None = None )

Parametreler

  • data (dict, isteğe bağlı) — __call__/encode_plus/batch_encode_plus yöntemleri tarafından döndürülen listeler/diziler/tensörler sözlüğü (‘input_ids’, ‘attention_mask’, vb.).
  • encoding (tokenizers.Encoding veya Sequence[tokenizers.Encoding], isteğe bağlı) — Eğer tokenizer, kelime/karakter uzayından token uzayına eşleme gibi ek bilgiler üreten hızlı bir tokenizer ise, tokenizers.Encoding örneği veya örnekler listesi (toplu işlemler için) bu bilgileri barındırır.
  • tensor_type (Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
  • prepend_batch_axis (bool, isteğe bağlı, varsayılan False) — Tensörlere dönüştürülürken bir batch ekseni eklenip eklenmeyeceğini belirtir (bkz. yukarıdaki tensor_type). Bu parametrenin, tensor_type parametresi ayarlanmışsa bir etkisi vardır, aksi halde hiçbir etkisi yoktur.
  • n_sequences (Optional[int], isteğe bağlı) — Her kodlamanın temsil ettiği girdi dizilerinin sayısı (None bilinmeyen, 1 tek bir dizi ve 2 dizi çifti için).

call(), ~tokenization_utils_base.PreTrainedTokenizerBase.encode_plus ve ~tokenization_utils_base.PreTrainedTokenizerBase.batch_encode_plus yöntemlerinin çıktısını (tokenlar, attention_masks vb.) tutar.

Bu sınıf bir python sözlüğünden türetilmiştir ve bir sözlük olarak kullanılabilir. Ayrıca bu sınıf, kelime/karakter uzayından token uzayına eşleme yapmak için yardımcı yöntemler sunar.

char_to_token

< >

( batch_or_char_index: intchar_index: int | None = Nonesequence_index: int = 0 ) → int

Parametreler

  • batch_or_char_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir diziden oluşuyorsa, bu, dizideki karakterin indeksi olabilir.
  • char_index (int, isteğe bağlı) — batch_or_char_index içinde bir batch indeksi sağlanırsa, bu, dizideki karakterin indeksi olabilir.
  • sequence_index (int, isteğe bağlı, varsayılan 0) — Bir çift dizinin batch içinde kodlandığı durumlarda, sağlanan karakter dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

Dönüş değeri

int

Token'in indeksi, ya da karakter indeksi yalnızca boşluk içeren bir token'a işaret ediyorsa ve boşluklar trim_offsets=True ile kırpılıyorsa None.

Bir batch dizisi için, orijinal dizideki bir karakteri içeren token'ın kodlanmış çıktıdaki indeksini alın.

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.char_to_token(char_index)
  • batch boyutu 1'e eşit veya büyükse self.char_to_token(batch_index, char_index)

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmışsa) sağlandığında özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

char_to_word

< >

( batch_or_char_index: intchar_index: int | None = Nonesequence_index: int = 0 ) → int

Parametreler

  • batch_or_char_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir dizi içeriyorsa, bu, orijinal dizgedeki karakterin indeksi olabilir.
  • char_index (int, isteğe bağlı) — batch_or_char_index içinde bir batch indeksi sağlanırsa, bu, orijinal dizgedeki karakterin indeksi olabilir.
  • sequence_index (int, isteğe bağlı, varsayılan 0) — Bir çift dizinin batch içinde kodlandığı durumlarda, sağlanan karakter dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

Dönüş değeri

int

Karakteri içeren kelimenin indeksi.

Toplu işlemdeki bir dizinin orijinal dizisindeki bir karaktere karşılık gelen, orijinal dizideki kelimeyi alın.

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.char_to_word(char_index)
  • batch boyutu 1'den büyükse self.char_to_word(batch_index, char_index)

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmışsa) sağlandığında özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

convert_to_tensors

< >

( tensor_type: str | TensorType | None = Noneprepend_batch_axis: bool = False )

Parametreler

  • tensor_type (str veya TensorType, isteğe bağlı) — Kullanılacak tensörlerin türü. str ise, TensorType enum'undaki değerlerden biri olmalıdır. None ise, herhangi bir değişiklik yapılmaz.
  • prepend_batch_axis (bool, isteğe bağlı, varsayılan False) — Dönüşüm sırasında batch boyutunun eklenip eklenmeyeceğini belirtir.

İçeriği tensörlere dönüştürün.

sequence_ids

< >

( batch_index: int = 0 ) → list[Optional[int]]

Parametreler

  • batch_index (int, isteğe bağlı, varsayılan 0) — Batch içinde erişilecek indeks.

Dönüş değeri

list[Optional[int]]

Her jetona karşılık gelen dizi kimliğini gösteren bir liste. Tokenizer tarafından eklenen özel jetonlar None değerine eşlenir, diğer jetonlar ise ilgili dizinin dizin numarasına eşlenir.

Tokenleri orijinal cümlelerinin kimliklerine eşleyen bir liste döndürür:

  • None, dizilerin etrafına veya arasına eklenen özel jetonlar için,
  • ilk dizideki kelimelere karşılık gelen jetonlar için 0,
  • 1, birlikte kodlanmış bir dizi çiftinde ikinci dizideki kelimelere karşılık gelen jetonlar için.

'a

< >

( device: str | torch.device | intnon_blocking: bool = False ) → BatchEncoding

Parametreler

  • device (str veya torch.device veya int) — Tensörlerin yerleştirileceği cihaz.
  • non_blocking (bool) — Kopyalamanın asenkron olarak gerçekleştirilip gerçekleştirilmeyeceğini belirtir.

Dönüş değeri

BatchEncoding

Değişiklikten sonra aynı örnek.

Tüm değerleri, v.to(device, non_blocking=non_blocking) çağrısını yaparak cihaza gönderin (yalnızca PyTorch).

token_to_chars

< >

( batch_or_token_index: inttoken_index: int | None = None ) → CharSpan

Parametreler

  • batch_or_token_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.
  • token_index (int, isteğe bağlı) — batch_or_token_index içinde bir batch indeksi sağlanırsa, bu, dizideki token veya tokenların indeksi olabilir.

Dönüş değeri

CharSpan

Orijinal dizideki karakter aralığı veya token (ör. , ) orijinal dizideki herhangi bir karaktere karşılık gelmiyorsa None.

Toplu işlemdeki bir dizide kodlanmış bir jetona karşılık gelen karakter aralığını alın.

Karakter aralıkları, şunlara sahip bir CharSpan olarak döndürülür:

  • start — Token ile ilişkili orijinal dizideki ilk karakterin indeksi.
  • end — Token ile ilişkili olan orijinal dizideki son karakterin hemen ardından gelen karakterin indeksi.

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.token_to_chars(token_index)
  • batch boyutu 1'e eşit veya büyükse self.token_to_chars(batch_index, token_index)

token_to_sequence

< >

( batch_or_token_index: inttoken_index: int | None = None ) → int

Parametreler

  • batch_or_token_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.
  • token_index (int, isteğe bağlı) — batch_or_token_index içinde bir batch indeksi sağlanırsa, bu, dizideki token'ın indeksi olabilir.

Dönüş değeri

int

İçerik token'ı içeren giriş dizisinin indeksi (bir çiftin ilk dizisi için 0 veya ikinci dizisi için 1).

Verilen token'ın temsil ettiği dizinin indeksini alır. Genel kullanım durumunda, bu yöntem tek bir dizi veya bir çiftin ilk dizisi için 0, bir çiftin ikinci dizisi için 1 döndürür.

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.token_to_sequence(token_index)
  • batch boyutu 1'den büyükse self.token_to_sequence(batch_index, token_index)

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmışsa) sağlandığında özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

token_to_word

< >

( batch_or_token_index: inttoken_index: int | None = None ) → int

Parametreler

  • batch_or_token_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir dizi içeriyorsa, bu, dizideki token'ın indeksi olabilir.
  • token_index (int, isteğe bağlı) — batch_or_token_index içinde bir batch indeksi sağlanırsa, bu, dizideki token'ın indeksi olabilir.

Dönüş değeri

int

Girdi dizisindeki kelimenin indeksi.

Toplu işlemdeki bir dizide kodlanmış bir token'a karşılık gelen (yani onu içeren) kelimenin indeksini alın.

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.token_to_word(token_index)
  • batch boyutu 1'den büyükse self.token_to_word(batch_index, token_index)

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmışsa) sağlandığında özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

token

< >

( batch_index: int = 0 ) → list[str]

Parametreler

  • batch_index (int, isteğe bağlı, varsayılan 0) — Batch içinde erişilecek indeks.

Dönüş değeri

list[str]

O indeksteki token listesi.

Belirtilen bir parti indeksinde (yalnızca hızlı bir belirteçleyicinin çıktısı için çalışır) belirteç listesini (kelime/alt kelime bölme işleminden sonra ve tamsayı indekslere dönüştürülmeden önce girdi dizelerinin alt parçaları) döndürür.

word_ids

< >

( batch_index: int = 0 ) → list[Optional[int]]

Parametreler

  • batch_index (int, isteğe bağlı, varsayılan 0) — Batch içinde erişilecek indeks.

Dönüş değeri

list[Optional[int]]

Her token'a karşılık gelen kelimeyi gösteren bir liste. Tokenizer tarafından eklenen özel tokenlar None değerine eşlenir, diğer tokenlar ise karşılık gelen kelimenin dizinine eşlenir (bir kelimenin parçaları olan birden fazla token, aynı kelime dizinine eşlenir).

Hızlı bir tokenizer için, tokenleri başlangıç cümlesindeki gerçek kelimelerine eşleyen bir liste döndürür.

word_to_chars

< >

( batch_or_word_index: intword_index: int | None = Nonesequence_index: int = 0 ) → CharSpan

Parametreler

  • batch_or_word_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir diziden oluşuyorsa, bu, dizideki kelimenin indeksi olabilir
  • word_index (int, isteğe bağlı) — batch_or_word_index içinde bir batch indeksi sağlanırsa, bu, dizideki kelimenin indeksi olabilir.
  • sequence_index (int, isteğe bağlı, varsayılan 0) — Bir çift dizinin batch içinde kodlandığı durumlarda, sağlanan kelime dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

Dönüş değeri

CharSpan

Dizideki ilişkili karakter veya karakterlerin aralığı. CharSpan şunlara sahip bir NamedTuple'dur:

  • start: orijinal dizide kelimeyle ilişkili ilk karakterin indeksi
  • end: orijinal dizide kelimeyle ilişkili son karakterin ardından gelen karakterin indeksi

Toplu işlemdeki bir dizide verilen kelimeye orijinal dizide karşılık gelen karakter aralığını alın.

Karakter aralıkları, aşağıdakilerle birlikte bir CharSpan NamedTuple olarak döndürülür:

  • start: orijinal dizideki ilk karakterin indeksi
  • end: orijinal dizideki son karakterin hemen ardından gelen karakterin indeksi

Şu şekilde çağrılabilir:

  • batch boyutu 1 ise self.word_to_chars(word_index)
  • batch boyutu 1'e eşit veya büyükse self.word_to_chars(batch_index, word_index)

word_to_tokens

< >

( batch_or_word_index: intword_index: int | None = Nonesequence_index: int = 0 ) → (TokenSpan, optional)

Parametreler

  • batch_or_word_index (int) — Toplumdaki dizinin indeksi. Toplum yalnızca bir diziden oluşuyorsa, bu, dizideki kelimenin indeksi olabilir.
  • word_index (int, isteğe bağlı) — batch_or_word_index içinde bir batch indeksi sağlanırsa, bu, dizideki kelimenin indeksi olabilir.
  • sequence_index (int, isteğe bağlı, varsayılan 0) — Bir çift dizinin batch içinde kodlandığı durumlarda, sağlanan kelime dizininin çiftteki hangi diziye (0 veya 1) ait olduğunu belirtmek için kullanılabilir.

Dönüş değeri

(TokenSpan, isteğe bağlı)

Kodlanmış dizideki token aralığı. Kelimeye karşılık gelen token yoksa None döndürür. Bu durum, özellikle tokenizasyonu biçimlendirmek için kullanılan özel bir token söz konusu olduğunda olabilir. Örneğin, tokenizasyonun en başına bir sınıf tokenı eklendiğinde.

Toplu işlemdeki bir dizide bir kelimeye karşılık gelen kodlanmış token aralığını alın.

Token aralıkları, şunlara sahip bir TokenSpan olarak döndürülür:

  • start — İlk jetonun indeksi.
  • end — Son token'ı takip eden token'ın indeksi.

Şu şekilde çağrılabilir:

  • self.word_to_tokens(word_index, sequence_index: int = 0) batch boyutu 1 ise
  • self.word_to_tokens(batch_index, word_index, sequence_index: int = 0) batch boyutu 1'e eşitse veya daha büyükse

Bu yöntem, girdi dizileri önceden tokenize edilmiş diziler olarak (yani kelimeler kullanıcı tarafından tanımlanmışsa) sağlandığında özellikle uygundur. Bu durumda, kodlanmış tokenların sağlanan tokenize edilmiş kelimelerle kolayca ilişkilendirilmesine olanak tanır.

Update on GitHub