Transformers documentation
BERTweet
이 모델은 2020-05-20에 HF papers에 게시되었으며, 2020-11-16에 Hugging Face Transformers에 기여되었습니다.
BERTweet
BERTweet
BERTweet은 BERT-base와 동일한 아키텍처를 공유하지만, 영어 트윗 데이터로 RoBERTa와 유사하게 사전 학습되었습니다. 품사 태깅, 개체명 인식, 텍스트 분류와 같은 트윗 관련 작업에서 매우 뛰어난 성능을 보입니다.
모든 원본 BERTweet 체크포인트는 VinAI Research 조직에서 찾을 수 있습니다.
BERTweet을 다양한 언어 작업에 적용하는 방법에 대한 추가 예제는 BERT 문서를 참조하세요.
아래 예제는 Pipeline, AutoModel, 그리고 명령줄을 사용하여 <mask> 토큰을 예측하는 방법을 보여줍니다.
from transformers import pipeline
pipeline = pipeline(
task="fill-mask",
model="vinai/bertweet-base",
device=0
)
pipeline("Plants create <mask> through a process known as photosynthesis.")import torch
from transformers import AutoModelForMaskedLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"vinai/bertweet-base",
)
model = AutoModelForMaskedLM.from_pretrained(
"vinai/bertweet-base",
device_map="auto"
)
inputs = tokenizer("Plants create <mask> through a process known as photosynthesis.", return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model(**inputs)
predictions = outputs.logits
masked_index = torch.where(inputs['input_ids'] == tokenizer.mask_token_id)[1]
predicted_token_id = predictions[0, masked_index].argmax(dim=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print(f"The predicted token is: {predicted_token}")The input is a single word "Notes". 참고
- 트윗 전용 토큰인 해시태그(#), 멘션(@), 이모지, 일반적인 약어에 맞게 맞춤 어휘가 사전에 로드되어 있으므로 AutoTokenizer 또는 BertweetTokenizer를 사용하세요. 또한 emoji 라이브러리를 설치하는 것도 잊지 마세요.
- BERT는 절대 위치 임베딩을 사용하므로 입력은 오른쪽으로 패딩(
padding="max_length")해야 합니다.
BertweetTokenizer
클래스 transformers.BertweetTokenizer
< source >( vocab_filemerges_filenormalization = Falsebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'**kwargs )
매개변수
- vocab_file (
str) — 어휘 파일의 경로입니다. - merges_file (
str) — merges 파일의 경로. - normalization (
bool, 선택 사항, 기본값False) — 정규화 전처리를 적용할지 여부. - bos_token (
str, 선택 사항, 기본값은"<s>") — 사전 학습 시 사용된 시퀀스 시작 토큰입니다. 시퀀스 분류기 토큰으로 사용할 수 있습니다.특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스의 시작에 사용되는 토큰은 이 토큰이 아닙니다. 사용되는 토큰은
cls_token입니다. - eos_token (
str, 선택 사항, 기본값은"</s>") — 시퀀스 종료 토큰입니다. 특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스 종료에 사용되는 토큰은 이 토큰이 아닙니다. 시퀀스 종료에 사용되는 토큰은 sep_token입니다.특수 토큰을 사용하여 시퀀스를 구성할 때, 시퀀스 끝에는 이 토큰이 사용되지 않습니다. 사용되는 토큰은
sep_token입니다. - sep_token (
str, 선택, 기본값"</s>") — 여러 시퀀스로 시퀀스를 구성할 때 사용되는 구분 토큰입니다. 예를 들어 시퀀스 분류의 두 시퀀스나 질의응답의 텍스트와 질문 등에 사용됩니다. 특수 토큰으로 구성된 시퀀스의 마지막 토큰으로도 사용됩니다. - cls_token (
str, 선택 사항, 기본값"<s>") — 시퀀스 분류(토큰별 분류가 아닌 전체 시퀀스 분류)를 수행할 때 사용되는 분류기 토큰입니다. 특수 토큰을 사용하여 시퀀스를 구성할 경우 시퀀스의 첫 번째 토큰입니다. - unk_token (
str, 선택 사항, 기본값"<unk>") — 미지의 토큰입니다. 어휘에 없는 토큰은 ID로 변환할 수 없으므로, 대신 이 토큰으로 설정됩니다. - pad_token (
str, 선택 사항, 기본값"<pad>") — 패딩에 사용되는 토큰입니다. 예를 들어, 길이가 다른 시퀀스를 배치(batching)할 때 사용됩니다. - mask_token (
str, 선택 사항, 기본값"<mask>") — 값을 마스킹하는 데 사용되는 토큰입니다. 이는 masked language modeling으로 이 모델을 학습할 때 사용되는 토큰이며, 모델이 예측을 시도하는 대상이 되는 토큰입니다.
Byte-Pair-Encoding을 사용하여 BERTweet 토크나이저를 생성합니다.
이 토크나이저는 대부분의 주요 메서드를 포함하는 PreTrainedTokenizer를 상속합니다. 해당 메서드에 대한 자세한 내용은 이 상위 클래스를 참고하세요.
…
단일 문자열 내 토큰(문자열) 시퀀스를 변환합니다.
Tweet의 토큰 정규화
Normalize a raw Tweet
어휘 및 병합 파일을 디렉토리에 저장합니다.