과학기술분야 BERT 사전학습 언어모델 (KorSciBERT)
Google BERT base(https://github.com/google-research/bert) 모델의 아키텍쳐를 기반으로, 논문 & 특허 코퍼스 총 97G (약 3억 8천만 문장)를 사전학습한 언어모델
과학기술분야 BERT 사전학습 모델 (Korsci BERT)
본 Korsci BERT 언어모델은 한국과학기술정보연구원과 한국특허정보원이 공동으로 연구한 과제의 결과물 중 하나로, 기존 [Google BERT base](https://github.com/google-research/bert) 모델의 아키텍쳐를 기반으로, 논문 & 특허 코퍼스 총 97G (약 3억 8천만 문장)를 사전학습한 모델이다.
Train dataset
Type | Corpus | Sentences | Avg sent length |
---|---|---|---|
논문 | 15G | 72,735,757 | 122.11 |
특허 | 82G | 316,239,927 | 120.91 |
합계 | 97G | 388,975,684 | 121.13 |
Model architecture
Vocabulary
Language model
Pre training
과학기술분야 토크나이저 (KorSci Tokenizer)
본 토크나이저는 한국과학기술정보연구원과 한국특허정보원이 공동으로 연구한 과제의 결과물 중 하나이다. 그리고, 위 사전학습 모델에서 사용된 코퍼스를 기반으로 명사 및 복합명사 약 600만개의 사용자사전이 추가된 [Mecab-ko Tokenizer](https://bitbucket.org/eunjeon/mecab-ko/src/master/)와 기존 [BERT WordPiece Tokenizer](https://github.com/google-research/bert)가 병합되어진 토크나이저이다.
요구사항
은전한닢 Mecab 설치 & 사용자사전 추가
Installation URL: https://bitbucket.org/eunjeon/mecab-ko-dic/src/master/
mecab-ko > 0.996-ko-0.9.2
mecab-ko-dic > 2.1.1
mecab-python > 0.996-ko-0.9.2
논문 & 특허 사용자 사전
konlpy 설치
pip install konlpy
konlpy > 0.5.2
사용방법
import tokenization_kisti as tokenization
vocab_file = "./vocab_kisti.txt"
tokenizer = tokenization.FullTokenizer (
vocab_file=vocab_file,
do_lower_case=False,
tokenizer_type="Mecab"
)
example = "본 고안은 주로 일회용 합성세제액을 집어넣어 밀봉하는 세제액포의 내부를 원호상으로 열중착하되 세제액이 배출되는 절단부 쪽으로 내벽을 협소하게 형성하여서 내부에 들어있는 세제액을 잘짜질 수 있도록 하는 합성세제 액포에 관한 것이다."
tokens = tokenizer.tokenize(example)
encoded_tokens = tokenizer.convert_tokens_to_ids(tokens)
decoded_tokens = tokenizer.convert_ids_to_tokens(encoded_tokens)
print("Input example ===>", example)
print("Tokenized example ===>", tokens)
print("Converted example to IDs ===>", encoded_tokens)
print("Converted IDs to example ===>", decoded_tokens)
============ Result ================
Input example ===> 본 고안은 주로 일회용 합성세제액을 집어넣어 밀봉하는 세제액포의 내부를 원호상으로 열중착하되 세제액이 배출되는 절단부 쪽으로 내벽을 협소하게 형성하여서 내부에 들어있는 세제액을 잘짜질 수 있도록 하는 합성세제 액포에 관한 것이다.
Tokenized example ===> ['본', '고안', '은', '주로', '일회용', '합성', '##세', '##제', '##액', '을', '집', '##어', '##넣', '어', '밀봉', '하', '는', '세제', '##액', '##포', '의', '내부', '를', '원호', '상', '으로', '열', '##중', '착', '##하', '되', '세제', '##액', '이', '배출', '되', '는', '절단부', '쪽', '으로', '내벽', '을', '협', '##소', '하', '게', '형성', '하', '여서', '내부', '에', '들', '어', '있', '는', '세제', '##액', '을', '잘', '짜', '질', '수', '있', '도록', '하', '는', '합성', '##세', '##제', '액', '##포', '에', '관한', '것', '이', '다', '.']
Converted example to IDs ===> [59, 619, 30, 2336, 8268, 819, 14100, 13986, 14198, 15, 732, 13994, 14615, 39, 1964, 12, 11, 6174, 14198, 14061, 9, 366, 16, 7267, 18, 32, 307, 14072, 891, 13967, 27, 6174, 14198, 14, 698, 27, 11, 12920, 1972, 32, 4482, 15, 2228, 14053, 12, 65, 117, 12, 4477, 366, 10, 56, 39, 26, 11, 6174, 14198, 15, 1637, 13709, 398, 25, 26, 140, 12, 11, 819, 14100, 13986, 377, 14061, 10, 487, 55, 14, 17, 13]
Converted IDs to example ===> ['본', '고안', '은', '주로', '일회용', '합성', '##세', '##제', '##액', '을', '집', '##어', '##넣', '어', '밀봉', '하', '는', '세제', '##액', '##포', '의', '내부', '를', '원호', '상', '으로', '열', '##중', '착', '##하', '되', '세제', '##액', '이', '배출', '되', '는', '절단부', '쪽', '으로', '내벽', '을', '협', '##소', '하', '게', '형성', '하', '여서', '내부', '에', '들', '어', '있', '는', '세제', '##액', '을', '잘', '짜', '질', '수', '있', '도록', '하', '는', '합성', '##세', '##제', '액', '##포', '에', '관한', '것', '이', '다', '.']
Fine-tuning with KorSci-Bert
데이터 정보
생산자 | 한국과학기술정보연구원 | 제공기관 | 한국과학기술정보연구원 |
---|---|---|---|
건수 | 2건 | 발행년도 | 2021 |
라이선스 | 저작자표시-비영리 (데이터 이용동의) | NTIS 과제 고유번호 | 1711149483 |
저작권 | 한국과학기술정보연구원 |
데이터 이력
Version 1 | 2021-11-04, 10.23057/46 |
---|