Natural Language Processing Basic-1

TOLL TERRY·2024년 3월 4일
0

텍스트 전처리

텍스트 전처리란 ?

  • 데이터 분석 단계
    (데이터 - 목표데이터 - 전처리된 데이터 - 변환된 데이터 - 패턴 - 지식)
    컴퓨터가 텍스트를 이해할 수 있도록 하는 방법.

데이터 전처리 방법

  • HTML 태그, 특수문자, 이모티콘

  • 정규표현식

  • 불용어(Stopword)

  • 어간추출(Stemming) 실질적의미만 남김.

  • 표제어추출(Lemmatizing) 어원복원.

  • 문서 -> 토큰화 -> 텍스트 전처리 -> 단어주머니

토큰화

  • 주어진 데이터를 토큰단위로 나눈 작업
  • 토큰의 기준(어절, 단어, 형태소(의미를 가진 가장 작은 단위), 음절, 자소 등등.)
  • Character-based, Word-based, Subword-based

고려사항

  • 구두점이나 특수문자를 단순 제외
  • 줄임말(we're -> we are)과 단어 내 띄어쓰기(rock n roll --한 단어임)
  • 문장 토큰화 : 단순 마침표를 기준으로 자를 수 없음.
    (서버에 들어가서 메일 결과 보내줘. 그러고나서 저녁먹자.) -> 이어지는 문장임.

한국어 토큰화의 어려움 --> 형태소 단위의 토큰화 필요

  • 영어는 합성어(New york)이나 줄임말(He's)에 대한 예외처리만 하면 띄어쓰기의 토큰화가 잘 작동함.
  • 하지만, 한국어는 조사가 존재하므로(그가, 그는, 그를, 그에게 등등.) 같은 단어임에도, 각기 다른 조사가 붙어 서로 다른 단어로 인식하게 됨.
  • 추가로, 한국어는 띄어쓰기를 하지 않아도 의미가 전달이 됨.(ex, 이렇게해도한국어볼수있어요)
  • 토큰화, morphs(형태소추출), pos(품사태깅), nouns(명사추출)

각 모듈(okt, kkma, komoran)마다 형태소 토큰화가 서로 다르게 작동 -> 성능 차이.

텍스트 정제

  • 의미가 없는 부분의 텍스트, 노이즈를 제거하는 작업
  • 특수문자, 아무 의미없는 글자, 혹은 분석하고자 할 목적에 적합하지 않은 단어
  • 정규표현식, 파이썬 내장함수로 제거
  • 불용어, 특수문자, 대-소문자 통합, 중복 문구 제거, 다중 공백 통일

불용어

  • 분석에 큰 의미가 없는 단어, 실질적 의미를 갖지 않는 용어
  • 전처리 시 불용어로 취급할 대상을 정의하는 작업이 필요함.

정규화

  • Stemming(어간추출)
    실질적 의미의 단어만 추출하는 것. 단순하고, 빠르고
    어형이 변형된 단어로부터 접사 등을 제거하여, 단어의 어간을 분리함.
    포터 스태머 알고리즘
    (formalize -> formal / allowance -> allow / ate, will eat -> eat)

    • 어간, 단어의 의미를 담고 있는 단어의 핵심부분
    • 접사, 단어에 추가적인 의미를 주는 부분
  • Lemmatization(표제어추출)
    어원의 복원이 이루어짐. 정확하고, 느리고
    품사 정보가 보존된 형태의 기본형으로 변환
    cats -> cat(어간) + s(접사)
    dies -> die
    has -> have

편집거리 (Edit Distance)

1. Levenshtein distance(거리 낮을수록 유사 문자열)

  • 하나의 string s1을 s2로 변환하는 최소 횟수를 두 string간의 거리,
  • string변화하기 위한 3가지 분류 (delete, insert, substitution)

delete

  • <점심을 먹자> -> <점심먹자>로 바꾸기 위해선 "을" 제거.

insert

  • <점심먹자> -> <점심을 먹자>로 바뀌기 위해선 "을"삽입.

substitution

  • <점심먹자> -> <점심먹장>로 바뀌기 위해선 "장"으로 치환.

정규표현식(Regex)

  • 특정 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식언어.
  • 원하는 규칙에 해당하는 문자(제거, 유지, 규칙에 맞는 문자열 반환)

profile
행복을 찾아서(크리스 가드너)

0개의 댓글