snunlp / KR-BERT-char16424

huggingface.co
Total runs: 329
24-hour runs: -37
7-day runs: 2
30-day runs: -149
Model's Last Updated: November 22 2021

Introduction of KR-BERT-char16424

Model Details of KR-BERT-char16424

KoRean based Bert pre-trained (KR-BERT)

This is a release of Korean-specific, small-scale BERT models with comparable or better performances developed by Computational Linguistics Lab at Seoul National University, referenced in KR-BERT: A Small-Scale Korean-Specific Language Model .


Vocab, Parameters and Data
Mulitlingual BERT
(Google)
KorBERT
(ETRI)
KoBERT
(SKT)
KR-BERT character KR-BERT sub-character
vocab size 119,547 30,797 8,002 16,424 12,367
parameter size 167,356,416 109,973,391 92,186,880 99,265,066 96,145,233
data size -
(The Wikipedia data
for 104 languages)
23GB
4.7B morphemes
-
(25M sentences,
233M words)
2.47GB
20M sentences,
233M words
2.47GB
20M sentences,
233M words
Model Masked LM Accuracy
KoBERT 0.750
KR-BERT character BidirectionalWordPiece 0.779
KR-BERT sub-character BidirectionalWordPiece 0.769

Sub-character

Korean text is basically represented with Hangul syllable characters, which can be decomposed into sub-characters, or graphemes. To accommodate such characteristics, we trained a new vocabulary and BERT model on two different representations of a corpus: syllable characters and sub-characters.

In case of using our sub-character model, you should preprocess your data with the code below.

import torch
from transformers import BertConfig, BertModel, BertForPreTraining, BertTokenizer
from unicodedata import normalize

tokenizer_krbert = BertTokenizer.from_pretrained('/path/to/vocab_file.txt', do_lower_case=False)

# convert a string into sub-char
def to_subchar(string):
    return normalize('NFKD', string)

sentence = '토크나이저 예시입니다.'
print(tokenizer_krbert.tokenize(to_subchar(sentence)))
Tokenization
BidirectionalWordPiece Tokenizer

We use the BidirectionalWordPiece model to reduce search costs while maintaining the possibility of choice. This model applies BPE in both forward and backward directions to obtain two candidates and chooses the one that has a higher frequency.

Mulitlingual BERT KorBERT
character
KoBERT KR-BERT
character
WordPiece
KR-BERT
character
BidirectionalWordPiece
KR-BERT
sub-character
WordPiece
KR-BERT
sub-character
BidirectionalWordPiece
냉장고
nayngcangko
"refrigerator"
냉#장#고
nayng#cang#ko
냉#장#고
nayng#cang#ko
냉#장#고
nayng#cang#ko
냉장고
nayngcangko
냉장고
nayngcangko
냉장고
nayngcangko
냉장고
nayngcangko
춥다
chwupta
"cold"
[UNK] 춥#다
chwup#ta
춥#다
chwup#ta
춥#다
chwup#ta
춥#다
chwup#ta
추#ㅂ다
chwu#pta
추#ㅂ다
chwu#pta
뱃사람
paytsalam
"seaman"
[UNK] 뱃#사람
payt#salam
뱃#사람
payt#salam
뱃#사람
payt#salam
뱃#사람
payt#salam
배#ㅅ#사람
pay#t#salam
배#ㅅ#사람
pay#t#salam
마이크
maikhu
"microphone"
마#이#크
ma#i#khu
마이#크
mai#khu
마#이#크
ma#i#khu
마이크
maikhu
마이크
maikhu
마이크
maikhu
마이크
maikhu

Models
TensorFlow PyTorch
character sub-character character sub-character
WordPiece
tokenizer
WP char WP subchar WP char WP subchar
Bidirectional
WordPiece
tokenizer
BiWP char BiWP subchar BiWP char BiWP subchar

Requirements
  • transformers == 2.1.1
  • tensorflow < 2.0

Downstream tasks
Naver Sentiment Movie Corpus (NSMC)
  • If you want to use the sub-character version of our models, let the subchar argument be True .

  • And you can use the original BERT WordPiece tokenizer by entering bert for the tokenizer argument, and if you use ranked you can use our BidirectionalWordPiece tokenizer.

  • tensorflow: After downloading our pretrained models, put them in a models directory in the krbert_tensorflow directory.

  • pytorch: After downloading our pretrained models, put them in a pretrained directory in the krbert_pytorch directory.

# pytorch
python3 train.py --subchar {True, False} --tokenizer {bert, ranked}

# tensorflow
python3 run_classifier.py \
  --task_name=NSMC \
  --subchar={True, False} \
  --tokenizer={bert, ranked} \
  --do_train=true \
  --do_eval=true \
  --do_predict=true \
  --do_lower_case=False\
  --max_seq_length=128 \
  --train_batch_size=128 \
  --learning_rate=5e-05 \
  --num_train_epochs=5.0 \
  --output_dir={output_dir}

The pytorch code structure refers to that of https://github.com/aisolab/nlp_implementation .


NSMC Acc.
multilingual BERT KorBERT KoBERT KR-BERT character WordPiece KR-BERT
character Bidirectional WordPiece
KR-BERT sub-character WordPiece KR-BERT
sub-character Bidirectional WordPiece
pytorch - 89.84 89.01 89.34 89.38 89.20 89.34
tensorflow 87.08 85.94 n/a 89.86 90.10 89.76 89.86

Citation

If you use these models, please cite the following paper:

@article{lee2020krbert,
    title={KR-BERT: A Small-Scale Korean-Specific Language Model},
    author={Sangah Lee and Hansol Jang and Yunmee Baik and Suzi Park and Hyopil Shin},
    year={2020},
    journal={ArXiv},
    volume={abs/2008.03979}
  }

Contacts

[email protected]

Runs of snunlp KR-BERT-char16424 on huggingface.co

329
Total runs
-37
24-hour runs
-20
3-day runs
2
7-day runs
-149
30-day runs

More Information About KR-BERT-char16424 huggingface.co Model

KR-BERT-char16424 huggingface.co

KR-BERT-char16424 huggingface.co is an AI model on huggingface.co that provides KR-BERT-char16424's model effect (), which can be used instantly with this snunlp KR-BERT-char16424 model. huggingface.co supports a free trial of the KR-BERT-char16424 model, and also provides paid use of the KR-BERT-char16424. Support call KR-BERT-char16424 model through api, including Node.js, Python, http.

KR-BERT-char16424 huggingface.co Url

https://huggingface.co/snunlp/KR-BERT-char16424

snunlp KR-BERT-char16424 online free

KR-BERT-char16424 huggingface.co is an online trial and call api platform, which integrates KR-BERT-char16424's modeling effects, including api services, and provides a free online trial of KR-BERT-char16424, you can try KR-BERT-char16424 online for free by clicking the link below.

snunlp KR-BERT-char16424 online free url in huggingface.co:

https://huggingface.co/snunlp/KR-BERT-char16424

KR-BERT-char16424 install

KR-BERT-char16424 is an open source model from GitHub that offers a free installation service, and any user can find KR-BERT-char16424 on GitHub to install. At the same time, huggingface.co provides the effect of KR-BERT-char16424 install, users can directly use KR-BERT-char16424 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

KR-BERT-char16424 install url in huggingface.co:

https://huggingface.co/snunlp/KR-BERT-char16424

Url of KR-BERT-char16424

KR-BERT-char16424 huggingface.co Url

Provider of KR-BERT-char16424 huggingface.co

snunlp
ORGANIZATIONS

Other API from snunlp

huggingface.co

Total runs: 165.4K
Run Growth: -191.9K
Growth Rate: -116.07%
Updated:April 28 2022
huggingface.co

Total runs: 350
Run Growth: 218
Growth Rate: 62.29%
Updated:November 22 2021
huggingface.co

Total runs: 348
Run Growth: -75
Growth Rate: -21.55%
Updated:April 28 2022
huggingface.co

Total runs: 11
Run Growth: 6
Growth Rate: 54.55%
Updated:March 24 2024
huggingface.co

Total runs: 7
Run Growth: 3
Growth Rate: 42.86%
Updated:March 24 2024
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:May 31 2024