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
1.1. Archive
- kss v1 sentence splitter 사용 가능
import ko_lm_dataformat as kldf
ar = kldf.Archive("output_dir")
ar = kldf.Archive("output_dir", sentence_splitter=kldf.KssV1SentenceSplitter()) # Use sentence splitter
1.2. 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,
)
# remember to commit at the end!
ar.commit()
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.3.0.tar.gz
(12.2 kB
view details)
Built Distribution
File details
Details for the file ko_lm_dataformat-0.3.0.tar.gz
.
File metadata
- Download URL: ko_lm_dataformat-0.3.0.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f23fbdb5240d2ff03fe20fcfcf4ca94376b7fdc53dfe859f1bd8e7e011c0eeb |
|
MD5 | 917a7251315d395ce7e1bf05185b6bc2 |
|
BLAKE2b-256 | 65c172cd3ce7a3c1fd10384e9d37bc20e3df72767ab7f334894d026c585afee6 |
File details
Details for the file ko_lm_dataformat-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: ko_lm_dataformat-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0bf4f4a2503216ba733de823936899d5f6a7cc31ad874c076c40747004dd1ff |
|
MD5 | 7046ae898601d5c77a0d35d0e6bacfeb |
|
BLAKE2b-256 | 9d1ee098481d351011598c4e36e9e9a0b34630edaba96785f4078c3f2dc7c089 |