- 바른한글(구 부산대 맞춤법/문법 검사기)로 한국어 문장 최종 교정
- 긴 텍스트를 청크 단위로 나눠 순차 검사
- 오류별
원문,교정안,이유추출 - Markdown/텍스트 파일 검수
- 공개 메인 화면은
https://nara-speller.co.kr/speller/이다. - 무료 공개 경로는 사용자용 웹 서비스이며, 문서화된 공개 JSON API는 확인하지 못했다.
- 이전 버전
https://nara-speller.co.kr/old_speller/는 비상업적 용도, 개인이나 학생만 무료라는 안내를 표시한다. https://nara-speller.co.kr/robots.txt는/를 허용하지만/test_speller/는 금지한다.- 따라서 이 기능은 사용자 주도 저빈도 교정 용도로만 사용한다.
이 저장소는 브라우저형 헤더를 사용하는 Python stdlib helper scripts/korean_spell_check.py 를 제공한다.
- 검사 요청:
POST https://nara-speller.co.kr/old_speller/results - 응답 형식: 결과 HTML 내부의
data = [...]payload - 출력 형식: 교정문 + 이슈 목록(JSON 또는 텍스트)
이 환경에서는 일반 shell/Node fetch가 Cloudflare 때문에 403 을 반환할 수 있었고, Python urllib + 브라우저형 User-Agent 조합은 실제 결과 HTML을 반환했다. 그래서 helper는 Python 경로를 기본값으로 사용한다.
짧은 문장:
python3 scripts/korean_spell_check.py \
--text "아버지가방에들어가신다." \
--format textMarkdown 파일:
python3 scripts/korean_spell_check.py \
--file README.md \
--max-chars 1500 \
--throttle-seconds 1.2 \
--format json{
"corrected_text": "아버지가 방에 들어가신다.",
"issues": [
{
"original": "아버지가방에들어가신다",
"suggestions": ["아버지가 방에 들어가신다"],
"reason": "띄어쓰기, 붙여쓰기, 음절 대치와 같은 교정 방법에 따라 수정한 결과입니다."
}
]
}- 기본 청크는
1500자 안팎으로 나눈다. - 빈 줄 기준 문단 경계를 먼저 보존한다.
- 문단이 너무 길면 문장 단위로 다시 나눈다.
- 청크 사이에
1초내외 대기 시간을 둔다. - 대량 파일 일괄 실행이나 병렬 폭주는 피한다.
- 전체 교정문을 먼저 보여준다.
- 그다음 변경점 목록을 붙인다.
- 각 변경점은
원문 → 교정안형태로 보여준다. - 가능한 경우
이유또는 도움말 문장을 함께 넣는다.
예:
- 원문:
왠지 않되요 - 교정안:
왠지 안 돼요 - 이유: 띄어쓰기/활용형 오류 교정
2026-04-03 기준으로 아래 사실을 확인했다.
GET https://nara-speller.co.kr/speller/는 브라우저형 User-Agent에서 정상 HTML을 반환했다.GET https://nara-speller.co.kr/old_speller/는 브라우저형 User-Agent에서 정상 HTML을 반환했다.GET https://nara-speller.co.kr/robots.txt는/허용,/test_speller/금지를 반환했다.POST https://nara-speller.co.kr/old_speller/results에text1=아버지가방에들어가신다.를 보내면아버지가 방에 들어가신다교정 후보가 포함된 결과 HTML을 반환했다.
- 서비스 안내상 비상업적/개인·학생 무료 경로이므로, 상업적 대량 자동화에는 사용하지 않는다.
- 외부 웹 서비스에 원문이 전송되므로 민감정보/개인정보 문서는 먼저 마스킹 여부를 판단한다.
- 공개 웹 검사기 결과도 문맥에 따라 사람이 최종 확인해야 한다.