일본어 BERT 설치 시험
필요한 라이브러리 설치
transformers
이번에 허핑페이스로 제작한 페이투어 버전 BERT(Google이 GiitHub에서 공개한 텐소플로우 버전을 개인적으로 사용하는 것이 익숙하기 때문).$ pip install transformers
PyTorch(CPU용)
위에서 말한 바와 같이 이번에는 PyTorch 버전을 사용하려면 PyTorch 자체를 설치해야 한다.PyTorch를 설치할 때는 이 웹 사이트를 참조하여 설치하십시오.방법은 간단하다. 자신이 사용하고 싶은 환경을 선택하면 설치 명령이 표시된다.
표시된 대로 명령을 실행합니다.또 이번에는 GPU를 사용하지 않고 CPU용 PyTorch(CUPDA=None)를 장착했다.만약 맥OS로 GPU용 물건을 사용한다면 약간의 복잡한 작업이 필요하지만, 이번에는 나를 사랑하게 해주세요(아마 대부분의 맥OS에는 CUDA가 없을 거예요...).pip install torch torchvision torchaudio
기타
일본어 버전 BERT의 형태소 해석용 라이브러리 등을 미리 설치합니다.pip install fugashi ipadic
일본어 사전 학습 모드 다운로드
이쪽에 있는 지아이허브가 공개됐기 때문에 다운로드해 임의의 디렉터리에 놓고 파일을 펼친다.이번에 다운로드BERT-base_mecab-ipadic-bpe-32k.tar.xz했습니다.
형태소 분석
우선 Bert Japannese Tokenizer를 사용해 보세요.path의 일본어 버전에 다운로드하여 미리 배운 모델의 폴더를 지정할 수 있습니다.형태소 분석 후 토큰이 id로 변환된 것을 확인합니다.이번에는 토큰니즈와 스페셜 토큰의 설명이 최대한 생략됩니다. (길어지기 때문입니다.)그리고 부기에서 이것들에 대해 설명하고 싶습니다.from transformers import BertJapaneseTokenizer
path = './BERT-base_mecab-ipadic-bpe-32k'
tokenizer = BertJapaneseTokenizer.from_pretrained(path, word_tokenizer_type='mecab')
tokenizer.encode(text='東京五輪で野球を観戦する。', add_special_tokens=False)
# [391, 8111, 12, 1201, 11, 14847, 34, 8]
Masked Language Model
일본어 버전에서 사전 학습이 완료된 모델을 읽어 넣고 Masked Language Model을 시도해 봅니다.먼저 값과 모델을 입력할 준비를 합니다.이번에는 [MASK]의 부분을 예측해 보겠습니다.
import torch
from transformers import BertForMaskedLM
path = './BERT-base_mecab-ipadic-bpe-32k' # 先ほどと同じ
model = BertForMaskedLM.from_pretrained(path)
input_ids = tokenizer.encode(text='東京五輪で[MASK]を観戦する。', add_special_tokens=False)
input_ids_tensor = torch.tensor([input_ids])
모델에 입력값을 입력하고 예측 결과 상위 5위를 출력해 보세요.
with torch.no_grad():
outs = model(input_ids_tensor)
predictions = outs[0][0, 3].topk(5) # 3はMASKトークンの位置(id=4)
for i, v in enumerate(predictions.indices, 1):
index = v.item()
token = tokenizer.convert_ids_to_tokens([index])[0]
print(i, token)
# 1 野球
# 2 サッカー
# 3 バスケットボール
# 4 スポーツ
# 5 ラグビー
이번에 일본어판 BERT를 도입해서 시동을 걸었다.다음에 일본어 BERT 버전을 세밀하게 조정할 수 있다면 사용법을 설명해 주셨으면 좋겠습니다.
Reference
이 문제에 관하여(일본어 BERT 설치 시험), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shota-imazeki/items/1c87cd0f8e9c8d47be39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ pip install transformers
pip install torch torchvision torchaudio
pip install fugashi ipadic
이쪽에 있는 지아이허브가 공개됐기 때문에 다운로드해 임의의 디렉터리에 놓고 파일을 펼친다.이번에 다운로드BERT-base_mecab-ipadic-bpe-32k.tar.xz했습니다.
형태소 분석
우선 Bert Japannese Tokenizer를 사용해 보세요.path의 일본어 버전에 다운로드하여 미리 배운 모델의 폴더를 지정할 수 있습니다.형태소 분석 후 토큰이 id로 변환된 것을 확인합니다.이번에는 토큰니즈와 스페셜 토큰의 설명이 최대한 생략됩니다. (길어지기 때문입니다.)그리고 부기에서 이것들에 대해 설명하고 싶습니다.from transformers import BertJapaneseTokenizer
path = './BERT-base_mecab-ipadic-bpe-32k'
tokenizer = BertJapaneseTokenizer.from_pretrained(path, word_tokenizer_type='mecab')
tokenizer.encode(text='東京五輪で野球を観戦する。', add_special_tokens=False)
# [391, 8111, 12, 1201, 11, 14847, 34, 8]
Masked Language Model
일본어 버전에서 사전 학습이 완료된 모델을 읽어 넣고 Masked Language Model을 시도해 봅니다.먼저 값과 모델을 입력할 준비를 합니다.이번에는 [MASK]의 부분을 예측해 보겠습니다.
import torch
from transformers import BertForMaskedLM
path = './BERT-base_mecab-ipadic-bpe-32k' # 先ほどと同じ
model = BertForMaskedLM.from_pretrained(path)
input_ids = tokenizer.encode(text='東京五輪で[MASK]を観戦する。', add_special_tokens=False)
input_ids_tensor = torch.tensor([input_ids])
모델에 입력값을 입력하고 예측 결과 상위 5위를 출력해 보세요.
with torch.no_grad():
outs = model(input_ids_tensor)
predictions = outs[0][0, 3].topk(5) # 3はMASKトークンの位置(id=4)
for i, v in enumerate(predictions.indices, 1):
index = v.item()
token = tokenizer.convert_ids_to_tokens([index])[0]
print(i, token)
# 1 野球
# 2 サッカー
# 3 バスケットボール
# 4 スポーツ
# 5 ラグビー
이번에 일본어판 BERT를 도입해서 시동을 걸었다.다음에 일본어 BERT 버전을 세밀하게 조정할 수 있다면 사용법을 설명해 주셨으면 좋겠습니다.
Reference
이 문제에 관하여(일본어 BERT 설치 시험), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shota-imazeki/items/1c87cd0f8e9c8d47be39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from transformers import BertJapaneseTokenizer
path = './BERT-base_mecab-ipadic-bpe-32k'
tokenizer = BertJapaneseTokenizer.from_pretrained(path, word_tokenizer_type='mecab')
tokenizer.encode(text='東京五輪で野球を観戦する。', add_special_tokens=False)
# [391, 8111, 12, 1201, 11, 14847, 34, 8]
일본어 버전에서 사전 학습이 완료된 모델을 읽어 넣고 Masked Language Model을 시도해 봅니다.먼저 값과 모델을 입력할 준비를 합니다.이번에는 [MASK]의 부분을 예측해 보겠습니다.
import torch
from transformers import BertForMaskedLM
path = './BERT-base_mecab-ipadic-bpe-32k' # 先ほどと同じ
model = BertForMaskedLM.from_pretrained(path)
input_ids = tokenizer.encode(text='東京五輪で[MASK]を観戦する。', add_special_tokens=False)
input_ids_tensor = torch.tensor([input_ids])
모델에 입력값을 입력하고 예측 결과 상위 5위를 출력해 보세요.
with torch.no_grad():
outs = model(input_ids_tensor)
predictions = outs[0][0, 3].topk(5) # 3はMASKトークンの位置(id=4)
for i, v in enumerate(predictions.indices, 1):
index = v.item()
token = tokenizer.convert_ids_to_tokens([index])[0]
print(i, token)
# 1 野球
# 2 サッカー
# 3 バスケットボール
# 4 スポーツ
# 5 ラグビー
이번에 일본어판 BERT를 도입해서 시동을 걸었다.다음에 일본어 BERT 버전을 세밀하게 조정할 수 있다면 사용법을 설명해 주셨으면 좋겠습니다.
Reference
이 문제에 관하여(일본어 BERT 설치 시험), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shota-imazeki/items/1c87cd0f8e9c8d47be39텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)