# 일본어 BERT (BertJapanese) [[bertjapanese]]

## 개요 [[overview]]

일본어 문장에 학습된 BERT 모델 입니다.

각각 서로 다른 토큰화 방법을 사용하는 두 모델:

- MeCab와 WordPiece를 사용하여 토큰화합니다. 이를 위해 추가 의존성 [fugashi](https://github.com/polm/fugashi)이 필요합니다. (이는 [MeCab](https://taku910.github.io/mecab/)의 래퍼입니다.)
- 문자 단위로 토큰화합니다.

*MecabTokenizer*를 사용하려면, 의존성을 설치하기 위해 `pip install transformers["ja"]` (또는 소스에서 설치하는 경우 `pip install -e .["ja"]`) 명령을 실행해야 합니다.

자세한 내용은 [cl-tohoku 리포지토리](https://github.com/cl-tohoku/bert-japanese)에서 확인하세요.

MeCab과 WordPiece 토큰화를 사용하는 모델 예시:

```python
>>> import torch
>>> from transformers import AutoModel, AutoTokenizer

>>> bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese")
>>> tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese")

>>> ## Input Japanese Text
>>> line = "吾輩は猫である。"

>>> inputs = tokenizer(line, return_tensors="pt")

>>> print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾輩 は 猫 で ある 。 [SEP]

>>> outputs = bertjapanese(**inputs)
```

문자 토큰화를 사용하는 모델 예시:

```python
>>> bertjapanese = AutoModel.from_pretrained("cl-tohoku/bert-base-japanese-char")
>>> tokenizer = AutoTokenizer.from_pretrained("cl-tohoku/bert-base-japanese-char")

>>> ## Input Japanese Text
>>> line = "吾輩は猫である。"

>>> inputs = tokenizer(line, return_tensors="pt")

>>> print(tokenizer.decode(inputs["input_ids"][0]))
[CLS] 吾 輩 は 猫 で あ る 。 [SEP]

>>> outputs = bertjapanese(**inputs)
```

 

이는 토큰화 방법을 제외하고는 BERT와 동일합니다. API 참조 정보는 [BERT 문서](https://huggingface.co/docs/transformers/main/en/model_doc/bert)를 참조하세요.
이 모델은 [cl-tohoku](https://huggingface.co/cl-tohoku)께서 기여하였습니다.

 

## BertJapaneseTokenizer[[transformers.BertJapaneseTokenizer]]

- **vocab_file** (`str`) --
  Path to a one-wordpiece-per-line vocabulary file.
- **spm_file** (`str`, *optional*) --
  Path to [SentencePiece](https://github.com/google/sentencepiece) file (generally has a .spm or .model
  extension) that contains the vocabulary.
- **do_lower_case** (`bool`, *optional*, defaults to `True`) --
  Whether to lower case the input. Only has an effect when do_basic_tokenize=True.
- **do_word_tokenize** (`bool`, *optional*, defaults to `True`) --
  Whether to do word tokenization.
- **do_subword_tokenize** (`bool`, *optional*, defaults to `True`) --
  Whether to do subword tokenization.
- **word_tokenizer_type** (`str`, *optional*, defaults to `"basic"`) --
  Type of word tokenizer. Choose from ["basic", "mecab", "sudachi", "jumanpp"].
- **subword_tokenizer_type** (`str`, *optional*, defaults to `"wordpiece"`) --
  Type of subword tokenizer. Choose from ["wordpiece", "character", "sentencepiece",].
- **mecab_kwargs** (`dict`, *optional*) --
  Dictionary passed to the `MecabTokenizer` constructor.
- **sudachi_kwargs** (`dict`, *optional*) --
  Dictionary passed to the `SudachiTokenizer` constructor.
- **jumanpp_kwargs** (`dict`, *optional*) --
  Dictionary passed to the `JumanppTokenizer` constructor.

Construct a BERT tokenizer for Japanese text.

This tokenizer inherits from [PreTrainedTokenizer](/docs/transformers/v5.14.0/ko/main_classes/tokenizer#transformers.PythonBackend) which contains most of the main methods. Users should refer
to: this superclass for more information regarding those methods.

Converts a sequence of tokens (string) in a single string.

