# 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](https://github.com/polm/fugashi) [MeCab](https://taku910.github.io/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](https://github.com/cl-tohoku/bert-japanese) için bkz.

MeCab ve WordPiece tokenizasyonu ile bir modelin kullanımına örnek:

```python
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:

```python
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](https://huggingface.co/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](bert) bakın.

## BertJapaneseTokenizer[[transformers.BertJapaneseTokenizer]]

#### transformers.BertJapaneseTokenizer[[transformers.BertJapaneseTokenizer]]

```python
transformers.BertJapaneseTokenizer(vocab_file, spm_file = None, do_lower_case = False, do_word_tokenize = True, do_subword_tokenize = True, word_tokenizer_type = 'basic', subword_tokenizer_type = 'wordpiece', never_split = None, unk_token = '[UNK]', sep_token = '[SEP]', pad_token = '[PAD]', cls_token = '[CLS]', mask_token = '[MASK]', mecab_kwargs = None, sudachi_kwargs = None, jumanpp_kwargs = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/bert_japanese/tokenization_bert_japanese.py#L58)

**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](https://github.com/google/sentencepiece) dosyasının yolu (genellikle .spm veya .model uzantısına sahiptir).

do_lower_case (`bool`, *isteğe bağlı*, varsayılan `True`) : 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ılan `True`) : Kelime tokenizasyonu yapılıp yapılmayacağı.

do_subword_tokenize (`bool`, *isteğe bağlı*, varsayılan `True`) : Alt kelime (subword) tokenizasyonunun yapılıp yapılmayacağı.

word_tokenizer_type (`str`, *isteğe bağlı*, varsayılan `"basic"`) : Kelime belirleyici türü. ["basic", "mecab", "sudachi", "jumanpp"] arasından seçim yapın.

subword_tokenizer_type (`str`, *isteğe bağlı*, varsayılan `"wordpiece"`) : Alt kelime belirleyici türü. ["wordpiece", "character", "sentencepiece",] seçeneklerinden birini seçin.

mecab_kwargs (`dict`, *isteğe bağlı*) : `MecabTokenizer` yapıcısına geçirilen sözlük.

sudachi_kwargs (`dict`, *isteğe bağlı*) : `SudachiTokenizer` yapıcısına geçirilen sözlük.

jumanpp_kwargs (`dict`, *isteğe bağlı*) : `JumanppTokenizer` yapıcısına geçirilen sözlük.

Japonca metin için bir BERT tokenizer'ı oluşturun.

Bu tokenizer, ana yöntemlerin çoğunu içeren [PreTrainedTokenizer](/docs/transformers/v5.23.0/tr/main_classes/tokenizer#transformers.PythonBackend) 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.

#### convert_tokens_to_string[[transformers.BertJapaneseTokenizer.convert_tokens_to_string]]

```python
convert_tokens_to_string(tokens)
```

[Kaynak](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/models/bert_japanese/tokenization_bert_japanese.py#L256)

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

