728x90
반응형
텍스트 전처리
비정형 데이터(Unstructured Data)
- 일정한 규격이나 형태를 지닌 숫자 데이터(Numeric Data)와 달리 그림이나 영상, 문서처럼 형태와 구조가 다른 구조화되지 않은 데이터
전처리
- 비정형 데이터를 정형화하는 과정
텍스트 문서 변환
- 파일로부터 텍스트를 추출하는 것
- 문서: docs, hwp, html, pdf
- 문서 파일을 문서로 바꾸는 작업
- 텍스트 내의 입력 문자열은 오로지 목표 어위 언어의 문자만 남아야 함
- 특수 문자 및 불필요한 타 언어 문자 제거 필요
- 특수 문자 제거
- 문장과 관련이 없는 특수 커맨드 또는 코딩을 규칙적으로 제거
- 텍스트를 문장단위로 줄 바꿈 요소 변경(마침표로 문장 구분 등)
띄어쓰기 교정
- 띄어쓰기는 단어의 의미 분할 및 전달과 함께 매우 중요
- 띄어쓰기의 용도는 사용되는 언어에 따라 다양한 역할을 지니고 있음
- 한국어는 크게 의미분절과 가독성 및 의미혼용 방지의 의미를 가짐
- 각 단어 및 조사간 구분을 명확하게 해줌으로써 더 간편한 프로세싱이 가능하게 해줌
- 문맥상 의미 파악에 대한 부담을 덜어주는 방식
띄어쓰기 교정은 중의성을 해소하는 매우 중요한 작업!!
규칙기반 띄어쓰기 교정
- 형태소 분석기를 사용하는 규칙기반의 분석적인 방법 사용
단점
- 형태소 분석기 외에 여러 가지 언어학적 자원을 만들어야 하고 여러 단계의 복잡한 휴리스틱(heuristics)을 적용해야하기 때문에 분석과정이 복잡하고 어휘지식 구축관리에 비용이 크다
- 시스템의 유지 및 보수가 어려워짐
장점
- 높은 정확도를 보여줄 수 있는 장점은 있음
- 특정한 상황에서 규칙에서는 100% 정확한 답변을 내놓을 수 있음
- 규칙기반 띄어쓰기 교정기의 한계
아버지가방에들어가셨다
-> 아버지가 방에 들어 가셨다
-> 아버지 가방에 들어 가셨다
--> 시스템은 교정결과 중 어느 쪽이 더 좋은지 판별할 수 없음
※ 휴리스틱(heuristics)
- 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법
- 어휘지식, 규칙, 오류 유형
통계/확률기반 띄어쓰기 교정
- corpus로부터 자동 추출된 음절 n-gram 정보를 기반으로 기계적인 계산 과정을 거쳐 띄어쓰기 오류를 교정
장점
- 구현이 더 용이하며, 어위 지식 구축관리 및 미등어에 대해서도 견고한 분석이 가능
단점
- 학습 corpus에 영향을 받아 정확도를 개선하기 위해서는 대량의 학습 데이터를 요구
- 한국어의 경우 신뢰할만한 n-gram 정보를 얻기위한 띄어쓰기가 올바른 대용량의 학습데이터를 구하기 쉬지 않음
딥러닝 기반 기법
철자 및 맞춤법 교정
- 정확한 의미전송 및 정보교환을 위해 반드시 필요
- 의미혼용의 방지 및 정보전달의 실패를 방지
맞춤법 검사
- 텍스트 내 오류 감지
- 오류의 수정
오타로 인한 오류들
- 삽입(insertion): "the"를 "ther"처럼 추가적으로 문자를 입력하는 오류
- 생략(deletion): "the"를 "th"처럼 본래 있어야 하는 문자를 생략하는 오류
- 대체(substitution): "the"를 "thw"처럼 본래 넣어야 할 문자 대신 타 문자를 대입하는 오류
- 순열(transposition): "the"를 "hte"처럼 철자 순서를 뒤바꾸는 오류
규칙기반 맞춤법 교정
- 언어 현상의 규칙성을 추가로 응용하는 방식
- 전처리 -> 품사 태깅 -> 규칙 탐색 -> 교정 결과 제시
- 체언, 욘엉, 어미, 조사 등으로 구성된 품질이 좋은 사전과 형태소들 간의 접속 가능 관계가 표현된 정밀한 접속정보표 필요
통계/확률기반 맞춤법 교정
Bayesian inference model
- 올바른 교정결과를 도출하기 위해 주어진 단어로부터 오타가 일어날 확률을 확률적으로 계산하는 방법
딥러닝 기반 맞춤법 교정
References
728x90
반응형
'NLP > NLP 기초' 카테고리의 다른 글
[NLP] 자연어 처리 난제 (0) | 2021.04.05 |
---|---|
[NLP] Data Preprocessing (0) | 2021.03.15 |
[NLP] Kaggle (0) | 2021.03.15 |
EDA(Exploratory Data Analysis) (0) | 2021.03.15 |
[NLP] Machine Comprehension (0) | 2021.03.15 |