A utility for storing and reading files for Korean LM training.
Project description
ko_lm_dataformat
-
한국어 언어모델용 학습 데이터를 저장, 로딩하기 위한 유틸리티
-
코드는 EleutherAI에서 사용하는 lm_dataformat를 참고하여 제작
- 일부 버그 수정
- 한국어에 맞게 기능 추가 및 수정 (sentence splitter, text cleaner)
Installation
pip3 install ko_lm_dataformat
Usage
1. Write Data
- kss sentence splitter 사용 가능
import ko_lm_dataformat as kldf
ar = kldf.Archive("output_dir")
ar = kldf.Archive("output_dir", sentence_splitter=kldf.KssSentenceSplitter()) # Use sentence splitter
- Adding data
meta
데이터를 추가할 수 있음 (e.g. 제목, url)- 하나의 document가 들어온다고 가정 (
str
이 아닌List[str]
로 들어오게 되면 여러 개의 sentence가 들어오는 걸로 취급) split_sent=True
이면 document를 여러 개의 문장으로 분리하여List[str]
으로 저장clean_sent=True
이면 NFC Normalize, control char 제거, whitespace cleanup 적용
for doc in doc_lst:
ar.add_data(
data=doc,
meta={
"source": "kowiki",
"meta_key_1": [othermetadata, otherrandomstuff],
"meta_key_2": True
},
split_sent=False,
clean_sent=False,
)
2. Read Data
rdr.stream_data(get_meta=True)
로 할 시(doc, meta)
의 튜플 형태로 반환
import ko_lm_dataformat as kldf
rdr = kldf.Reader("output_dir")
for data in rdr.stream_data(get_meta=False):
print(data)
# "간단하게 설명하면, 언어를 통해 인간의 삶을 미적(美的)으로 형상화한 것이라고 볼...."
for data in rdr.stream_data(get_meta=True):
print(data)
# ("간단하게 설명하면, 언어를 통해 인간의 삶을 미적(美的)으로 형상화한 것이라고 볼....", {"source": "kowiki", ...})
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ko_lm_dataformat-0.1.0.tar.gz
(7.8 kB
view hashes)
Built Distribution
Close
Hashes for ko_lm_dataformat-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16fbe69f5a6a8cc99bdae1b32a88b10daab12febc01b9ca39532cf8a7e9117d7 |
|
MD5 | f1c63e359965978666f037474c5785bc |
|
BLAKE2b-256 | c58a8a0271462837fb63e2ebd910c8dd15d850883270f8691bf363345487d149 |