NLP/NLP 기초

[NLP] 텍스트 전처리

데이터 세상 2021. 3. 15. 18:56

텍스트 전처리

비정형 데이터(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

반응형

'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