# BertJapanese

## Ikhtisar

Model-model BERT yang dilatih pada teks Jepang.

Terdapat model dengan dua metode tokenisasi yang berbeda:

- Tokenisasi dengan MeCab dan WordPiece. Ini memerlukan beberapa dependensi tambahan, [fugashi](https://github.com/polm/fugashi) yang merupakan wrapper di sekitar [MeCab](https://taku910.github.io/mecab/).
- Tokenisasi menjadi karakter.

Untuk menggunakan *MecabTokenizer*, Anda harus `pip install transformers["ja"]` (atau `pip install -e .["ja"]` jika Anda menginstal dari sumber) untuk menginstal dependensi.

Lihat [detail di repositori cl-tohoku](https://github.com/cl-tohoku/bert-japanese).

Contoh penggunaan model dengan tokenisasi MeCab dan WordPiece:

```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)
```

Contoh penggunaan model dengan tokenisasi Karakter:

```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)
```

Model ini disumbangkan oleh [cl-tohoku](https://huggingface.co/cl-tohoku).

Implementasi ini sama dengan BERT, kecuali untuk metode tokenisasi. Lihat [dokumentasi BERT](bert) untuk informasi referensi API.

## 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)
```

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

**Parameter:**

vocab_file (`str`) : Path ke file kosakata dengan satu wordpiece per baris.

spm_file (`str`, *opsional*) : Path ke file [SentencePiece](https://github.com/google/sentencepiece) (umumnya berekstensi .spm atau .model) yang berisi kosakata.

do_lower_case (`bool`, *opsional*, defaultnya `True`) : Apakah akan mengubah input menjadi huruf kecil. Hanya berdampak ketika do_basic_tokenize=True.

do_word_tokenize (`bool`, *opsional*, defaultnya `True`) : Apakah akan melakukan tokenisasi kata.

do_subword_tokenize (`bool`, *opsional*, defaultnya `True`) : Apakah akan melakukan tokenisasi subword.

word_tokenizer_type (`str`, *opsional*, defaultnya `"basic"`) : Jenis word tokenizer. Pilih dari ["basic", "mecab", "sudachi", "jumanpp"].

subword_tokenizer_type (`str`, *opsional*, defaultnya `"wordpiece"`) : Jenis tokenizer subword. Pilih dari ["wordpiece", "character", "sentencepiece",].

mecab_kwargs (`dict`, *opsional*) : Dictionary yang diteruskan ke konstruktor `MecabTokenizer`.

sudachi_kwargs (`dict`, *opsional*) : Kamus yang diteruskan ke konstruktor `SudachiTokenizer`.

jumanpp_kwargs (`dict`, *opsional*) : Kamus yang diteruskan ke konstruktor `JumanppTokenizer`.

Konstruksi tokenizer BERT untuk teks Jepang.

Tokenizer ini mewarisi dari [PreTrainedTokenizer](/docs/transformers/main/id/main_classes/tokenizer#transformers.PythonBackend) yang berisi sebagian besar metode utama. Pengguna harus merujuk ke: superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.

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

```python
convert_tokens_to_string(tokens)
```

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

Mengonversi urutan token (string) dalam satu string.

