pytorch tf albert fill-mask ja transformers japanese license:mit autotrain_compatible
---
tags:
- fill-mask
- japanese
- albert

language:
- ja

license: mit

widget:
- text: "明日は明日の[MASK]が吹く"

---
## albert-base-japanese-v1-with-japanese
日本語事前学習済みALBERTモデルです  
このモデルではTokenizerに[BertJapaneseTokenizerクラス](https://huggingface.co/docs/transformers/main/en/model_doc/bert-japanese#transformers.BertJapaneseTokenizer)を利用しています  
[albert-base-japanese-v1](https://huggingface.co/ken11/albert-base-japanese-v1)よりトークナイズ処理が楽になっています  

## How to use
### ファインチューニング
このモデルはPreTrainedモデルです  
基本的には各種タスク用にファインチューニングして使用されることを想定しています  

### Fill-Mask
#### for PyTorch
```py
from transformers import (
    AutoModelForMaskedLM, AutoTokenizer
)


tokenizer = AutoTokenizer.from_pretrained("ken11/albert-base-japanese-v1-with-japanese-tokenizer")
model = AutoModelForMaskedLM.from_pretrained("ken11/albert-base-japanese-v1-with-japanese-tokenizer")

text = "明日は明日の[MASK]が吹く"
tokens = tokenizer(text, return_tensors="pt")
mask_index = tokens["input_ids"][0].tolist().index(tokenizer.mask_token_id)
predict = model(**tokens)[0]
_, result = predict[0, mask_index].topk(5)

print(tokenizer.convert_ids_to_tokens(result.tolist()))
```

#### for TensorFlow
```py
from transformers import (
    TFAutoModelForMaskedLM, AutoTokenizer
)
import tensorflow as tf


tokenizer = AutoTokenizer.from_pretrained("ken11/albert-base-japanese-v1-with-japanese-tokenizer")
model = TFAutoModelForMaskedLM.from_pretrained("ken11/albert-base-japanese-v1-with-japanese-tokenizer")

text = "明日は明日の[MASK]が吹く"
tokens = tokenizer(text, return_tensors="tf")
mask_index = tokens["input_ids"][0].numpy().tolist().index(tokenizer.mask_token_id)
predict = model(**tokens)[0]
result = tf.math.top_k(predict[0, mask_index], k=5)

print(tokenizer.convert_ids_to_tokens(result.indices.numpy()))
```

## Training Data
学習には
- [日本語Wikipediaの全文](https://ja.wikipedia.org/wiki/Wikipedia:%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89)

を利用しています  

## Tokenizer
トークナイザーは[BertJapaneseTokenizerクラス](https://huggingface.co/docs/transformers/main/en/model_doc/bert-japanese#transformers.BertJapaneseTokenizer)を利用しています  
こちらも学習データは同様です

## Licenese
[The MIT license](https://opensource.org/licenses/MIT)
