์ผ๋ณธ์ด BERT (BertJapanese) [[bertjapanese]]
๊ฐ์ [[overview]]
์ผ๋ณธ์ด ๋ฌธ์ฅ์ ํ์ต๋ BERT ๋ชจ๋ธ ์ ๋๋ค.
๊ฐ๊ฐ ์๋ก ๋ค๋ฅธ ํ ํฐํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ๋ ๋ชจ๋ธ:
- MeCab์ WordPiece๋ฅผ ์ฌ์ฉํ์ฌ ํ ํฐํํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ถ๊ฐ ์์กด์ฑ fugashi์ด ํ์ํฉ๋๋ค. (์ด๋ MeCab์ ๋ํผ์ ๋๋ค.)
- ๋ฌธ์ ๋จ์๋ก ํ ํฐํํฉ๋๋ค.
MecabTokenizer๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด, ์์กด์ฑ์ ์ค์นํ๊ธฐ ์ํด pip install transformers["ja"] (๋๋ ์์ค์์ ์ค์นํ๋ ๊ฒฝ์ฐ pip install -e .["ja"]) ๋ช
๋ น์ ์คํํด์ผ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ cl-tohoku ๋ฆฌํฌ์งํ ๋ฆฌ์์ ํ์ธํ์ธ์.
MeCab๊ณผ WordPiece ํ ํฐํ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ธ ์์:
>>> 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)
๋ฌธ์ ํ ํฐํ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ธ ์์:
>>> 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 ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์. ์ด ๋ชจ๋ธ์ cl-tohoku๊ป์ ๊ธฐ์ฌํ์์ต๋๋ค.
BertJapaneseTokenizer
[[autodoc]] BertJapaneseTokenizer