Spacing Error Correction Tools
Project description
# Korean Space Error Corrector
Soyspacing은 한국어 띄어쓰기 문제를 해결하기 위한 휴리스틱 알고리즘을 제공합니다. Conditional Random Field와 비교하여 가벼운 모델 사이즈와 빠른 학습이 가능합니다.
이 알고리즘은 [ScatterLab][scatter_url]의 [sunggu][sunggu_url]님, [Emily Yunha Shin][eyshin_url]님과 함께 작업하였습니다.
- version = 0.1.23은 미완성된 CRF 기반 띄어쓰기 알고리즘을 포함하고 있었습니다.
- version = 1.0.0부터 미완성된 CRF를 지우고 휴리스틱 기반 알고리즘만 제공합니다.
## Setup
pip install soyspacing
## Require
- Python >= 3.4 (not tested in Python 2)
- numpy >= 1.12.1
## Usage
학습은 텍스트 파일 경로를 입력합니다.
from soyspacing.countbase import RuleDict, CountSpace
corpus_fname = '../demo_model/134963_norm.txt'
model = CountSpace()
model.train(corpus_fname)
학습된 모델의 저장을 위해서는 모델 파일 경로를 입력합니다. JSON 형식으로 모델을 저장할 수 있습니다. 저장된 파일 용량을 고려하며 JSON 형식이 아닐 때 save / load 가 좀 더 쉽습니다.
model.save_model(model_fname, json_format=False)
학습된 모델을 불러올 수 있습니다.
model = CountSpace()
model.load_model(another_model_fname, json_format=False)
띄어쓰기 교정을 위한 패러메터는 네 가지가 있습니다. 이를 입력하지 않으면 default value 를 이용합니다.
verbose=False
mc = 10 # min_count
ft = 0.3 # force_abs_threshold
nt =-0.3 # nonspace_threshold
st = 0.3 # space_threshold
sent = '이건진짜좋은영화 라라랜드진짜좋은영화'
# with parameters
sent_corrected, tags = model.correct(
doc=sent,
verbose=verbose,
force_abs_threshold=ft,
nonspace_threshold=nt,
space_threshold=st,
min_count=mc)
# without parameters
sent_corrected, tags = model.correct(sent)
더 자세한 내용의 Jupyter notebook 형식 tutorial 파일이 ./tutorials/에 있습니다.
관련 연구 / 제안된 모델의 원리 / CRF 와의 성능 비교 / 그 외 활용 팁의 내용이 포함되어 있는 [presentation 파일][presentation]이 제공됩니다.
## CRF based space error correction
pycrfsuite 를 이용하여 띄어쓰기를 교정하는 패키지입니다. pycrfsuite 에 데이터를 입력하기 편하도록 Template, Transformer 의 utils 를 함께 제공합니다.
[링크][pycrfsuite_space]
[scatter_url]: http://www.scatterlab.co.kr/
[sunggu_url]: https://github.com/new21cccc
[eyshin_url]: https://github.com/eyshin05
[presentation]: /tutorials/presentation.pdf
[pycrfsuite_space]: https://github.com/lovit/pycrfsuite_spacing
Soyspacing은 한국어 띄어쓰기 문제를 해결하기 위한 휴리스틱 알고리즘을 제공합니다. Conditional Random Field와 비교하여 가벼운 모델 사이즈와 빠른 학습이 가능합니다.
이 알고리즘은 [ScatterLab][scatter_url]의 [sunggu][sunggu_url]님, [Emily Yunha Shin][eyshin_url]님과 함께 작업하였습니다.
- version = 0.1.23은 미완성된 CRF 기반 띄어쓰기 알고리즘을 포함하고 있었습니다.
- version = 1.0.0부터 미완성된 CRF를 지우고 휴리스틱 기반 알고리즘만 제공합니다.
## Setup
pip install soyspacing
## Require
- Python >= 3.4 (not tested in Python 2)
- numpy >= 1.12.1
## Usage
학습은 텍스트 파일 경로를 입력합니다.
from soyspacing.countbase import RuleDict, CountSpace
corpus_fname = '../demo_model/134963_norm.txt'
model = CountSpace()
model.train(corpus_fname)
학습된 모델의 저장을 위해서는 모델 파일 경로를 입력합니다. JSON 형식으로 모델을 저장할 수 있습니다. 저장된 파일 용량을 고려하며 JSON 형식이 아닐 때 save / load 가 좀 더 쉽습니다.
model.save_model(model_fname, json_format=False)
학습된 모델을 불러올 수 있습니다.
model = CountSpace()
model.load_model(another_model_fname, json_format=False)
띄어쓰기 교정을 위한 패러메터는 네 가지가 있습니다. 이를 입력하지 않으면 default value 를 이용합니다.
verbose=False
mc = 10 # min_count
ft = 0.3 # force_abs_threshold
nt =-0.3 # nonspace_threshold
st = 0.3 # space_threshold
sent = '이건진짜좋은영화 라라랜드진짜좋은영화'
# with parameters
sent_corrected, tags = model.correct(
doc=sent,
verbose=verbose,
force_abs_threshold=ft,
nonspace_threshold=nt,
space_threshold=st,
min_count=mc)
# without parameters
sent_corrected, tags = model.correct(sent)
더 자세한 내용의 Jupyter notebook 형식 tutorial 파일이 ./tutorials/에 있습니다.
관련 연구 / 제안된 모델의 원리 / CRF 와의 성능 비교 / 그 외 활용 팁의 내용이 포함되어 있는 [presentation 파일][presentation]이 제공됩니다.
## CRF based space error correction
pycrfsuite 를 이용하여 띄어쓰기를 교정하는 패키지입니다. pycrfsuite 에 데이터를 입력하기 편하도록 Template, Transformer 의 utils 를 함께 제공합니다.
[링크][pycrfsuite_space]
[scatter_url]: http://www.scatterlab.co.kr/
[sunggu_url]: https://github.com/new21cccc
[eyshin_url]: https://github.com/eyshin05
[presentation]: /tutorials/presentation.pdf
[pycrfsuite_space]: https://github.com/lovit/pycrfsuite_spacing
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
soyspacing-1.0.14.tar.gz
(10.3 kB
view hashes)
Built Distribution
Close
Hashes for soyspacing-1.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0b04bf56c4e59472ef10f92c96a78d10b49ff668f1f50d9154a53697f78d502 |
|
MD5 | f1af25328d9faf4df91a00519767859c |
|
BLAKE2b-256 | 6f1e164703272637a1bc040a18d992d7845be53b639c90d5a6b2060548d898ca |