Transformers documentation
BertJapanese
Bu model 2020-11-16 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
BertJapanese
Genel Bakış
Japonca metin üzerinde eğitilen BERT modelleri.
İki farklı tokenizasyon yöntemine sahip modeller vardır:
- MeCab ve WordPiece ile belirteçleştirme. Bunun için bazı ek bağımlılıklar gereklidir, fugashi MeCab etrafındaki bir sarmalayıcıdır.
- Karakterlere bölün.
MecabTokenizer kullanmak için bağımlılıkları yüklemeniz gerekir: pip install transformers["ja"] (kaynaktan yüklüyorsanız pip install -e .["ja"]).
cl-tohoku deposundaki ayrıntılar için bkz.
MeCab ve WordPiece tokenizasyonu ile bir modelin kullanımına örnek:
import torch
from transformers import AutoModel, AutoTokenizer
bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")
## Input Japanese Text
line = "吾輩は猫である。"
inputs = tokenizer(line, return_tensors="pt").to(model.device)
print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾輩 は 猫 で ある 。 [SEP]
outputs = bertjapanese(**inputs)Character tokenizasyonu ile bir modelin kullanım örneği:
bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese-char", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese-char")
## Input Japanese Text
line = "吾輩は猫である。"
inputs = tokenizer(line, return_tensors="pt").to(model.device)
print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾 輩 は 猫 で あ る 。 [SEP]
outputs = bertjapanese(**inputs)Bu model cl-tohoku tarafından katkıda bulunmuştur.
Bu uygulama, tokenizasyon yöntemi dışında BERT ile aynıdır. API referans bilgileri için BERT belgelendirmesine bakın.
BertJapaneseTokenizer
sınıf transformers.BertJapaneseTokenizer
< source >( vocab_filespm_file = Nonedo_lower_case = Falsedo_word_tokenize = Truedo_subword_tokenize = Trueword_tokenizer_type = 'basic'subword_tokenizer_type = 'wordpiece'never_split = Noneunk_token = '[UNK]'sep_token = '[SEP]'pad_token = '[PAD]'cls_token = '[CLS]'mask_token = '[MASK]'mecab_kwargs = Nonesudachi_kwargs = Nonejumanpp_kwargs = None**kwargs )
Parametreler
- vocab_file (
str) — Satır başına bir kelime parçası içeren sözlük dosyasının yolu. - spm_file (
str, isteğe bağlı) — Sözlüğü içeren SentencePiece dosyasının yolu (genellikle .spm veya .model uzantısına sahiptir). - do_lower_case (
bool, isteğe bağlı, varsayılanTrue) — Girdinin küçük harfe dönüştürülüp dönüştürülmeyeceğini belirtir. Yalnızca do_basic_tokenize=True olduğunda etkilidir. - do_word_tokenize (
bool, isteğe bağlı, varsayılanTrue) — Kelime tokenizasyonu yapılıp yapılmayacağı. - do_subword_tokenize (
bool, isteğe bağlı, varsayılanTrue) — Alt kelime (subword) tokenizasyonunun yapılıp yapılmayacağı. - word_tokenizer_type (
str, isteğe bağlı, varsayılan"basic") — Kelime bölücü türü. [“basic”, “mecab”, “sudachi”, “jumanpp”] seçeneklerinden birini seçin. - subword_tokenizer_type (
str, isteğe bağlı, varsayılan"wordpiece") — Alt kelime (subword) belirteçlendiricinin (tokenizer) türü. [“wordpiece”, “character”, “sentencepiece”,] seçeneklerinden birini seçin. - mecab_kwargs (
dict, isteğe bağlı) —MecabTokenizeryapıcısına aktarılan sözlük. - sudachi_kwargs (
dict, isteğe bağlı) —SudachiTokenizeryapıcısına aktarılan sözlük. - jumanpp_kwargs (
dict, isteğe bağlı) —JumanppTokenizeryapıcısına aktarılan sözlük.
Japonca metin için bir BERT tokenizer'ı oluşturun.
Bu tokenizer, ana yöntemlerin çoğunu içeren PreTrainedTokenizer sınıfından devralır. Kullanıcıların bu yöntemlerle ilgili daha fazla bilgi için bu üst sınıfa başvurması gerekir.
Bir dizi belirteci (dizgi) tek bir dizgide birleştirir.