728x90
오픈 소스 링크 : https://github.com/ssut/py-hanspell
from hanspell import spell_checker
위 오픈소스는 네이버 맞춤법 검사기 API의 요청을 보내서 결과를 반환하는 오픈소스이다.

네이버 웹페이지에서 사용한 맞춤법검사기와 결과가 동일하다고 볼 수 잇다.
네이버 맞춤법 검사기의 오류로는 4가지가 있다.
오류 없음 | .PASSED | 맞춤법 검사 결과 문제가 없는 단어 또는 구절 |
맞춤법 오류 | .WRONG_SPELLING | 맞춤법에 문제가 있는 단어 또는 구절 |
띄어쓰기 오류 | .WRONG_SPACING | 띄어쓰기에 문제가 있는 단어 또는 구절 |
표준어 의심 오류 | .AMBIGUOUS | 표준어가 의심되는 단어 또는 구절 |
통계적 교정 오류 | .STATISTICAL_CORRECTION | 통계적 교정에 따른 단어 또는 구절 |
어떤 오류가 발생했는지 확인하는 방법
result = spell_checker.check(input_text)
>>> for key, value in result.words.items():
... print(key, value)
안녕하세요. 2
저는 0
한국인입니다. 2
이 2
문장은 2
한글로 0
작성됐습니다. 1
맞춤법 검사기의 결과를 오류별로 분류해주는 함수 구현
def spell_error_check(input_text):
if len(input_text) >= 500:
return ["max_length" , -1 , -1 ,-1,-1]
spell_cnt = 0
space_cnt = 0
standard_cnt = 0
statis_cnt = 0
try:
check = spell_checker.check(input_text)
mod_result = check.checked
for key , val in check.words.items():
if val==1:
spell_cnt = spell_cnt + 1
elif val==2:
space_cnt = space_cnt + 1
elif val==3:
standard_cnt = standard_cnt + 1
elif val==4:
statis_cnt = statis_cnt + 1
return [mod_result , spell_cnt , space_cnt , standard_cnt ,statis_cnt]
except:
return ["error",-1,-1,-1,-1]
*맞춤법 검사기는 500자 이하의 문장만 지원함.
반응형
'Machine learning > NLP' 카테고리의 다른 글
[annotation]. 텍스트 데이터 라벨링 꿀팁(2) (0) | 2021.11.12 |
---|---|
[annotation]. 텍스트 데이터 라벨링 꿀팁(1) (0) | 2021.11.12 |
[전처리]. 핸드폰 번호 , 계좌번호 , 주소 필터링(Python 정규표현식) (0) | 2021.10.14 |
[전처리]. 한국어 존댓말과 반말을 구별하는 방법(feat. komoran) (0) | 2021.10.14 |
[NLP] . 자연어처리 프로젝트 파일 구조 ( 인공지능 디자인 패턴 ) (0) | 2021.09.05 |