ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정제(Cleaning) and 정규화(Normalization)
    Natural Language Processing/딥 러닝을 이용한 자연어 처리 입문 2021. 5. 15. 23:43
    반응형

    https://wikidocs.net/21693 참고하여 공부한 내용 정리

    2) 정제(cleaning) & 정규화(Normalization)


    토큰화 작업 전, 후에는 텍스트 데이터를 정제 & 정규화 해야 함

    • 정제(cleaning): 코퍼스에서 노이즈 제거
    • 정규화(Normalization): 표현 방법이 다른 단어들을 통합시켜 같은 단어로 만들어 줌

    1. 규칙에 기반한 표기가 다른 단어들의 통함


    표기가 다른 단어들을 하나의 단어로 정규화하는 방법 사용. USA와 US는 같은 의미를 가지므로 하나의 단어로 정규화할 수 있음

    2. 대, 소문자 통합


    단어의 개수를 줄이는 방법으로 대, 소문자를 소문자로 변환하는 방법이 있음. 그러나 모든 대문자를 소문자로 변환하는 것에는 문점이 있음. 예를 들어, US(미국)와 us(우리)는 의미가 다르므로 구분되어야 함

    3. 불필요한 단어의 제거(Removing Unnecessary Words)


    정제 작업에서 제거해야 하는 노이즈 데이터로는 특수 문자도 있지만 분석 목적에 부합하지 않는 불필요한 단어도 해당됨. 불필요한 단어를 제거하는 방법으로 불용어 제거, 등장 빈도가 적은 단어 제거, 길이가 짧은 단어 제거 방법이 있음

    (1) 등장 빈도가 적은 단어(Removing Rare words)

    텍스트 데이터에서 너무 적게 등장하는 단어는 nlp에 도움이 되지 않음

    (2) 길이가 짧은 단어(Removing words with very a short length)

    영어권에서 길이가 짧은 단어들은 의미가 없는 불용어에 해당됨. 길이가 짧은 단어를 삭제하는 것이 효과가 있음. 그러나 한국어에서는 크게 유효하지 않음

    영어 단어의 평균 길이는 67이고 한국어 단어의 평균 길이는 23정도임. 한국어에서는 한 글자만으로도 의미를 갖는 단어가 많음(ex. 용, 학교)

    import re
    text = "I was wondering if anyone out there could enlighten me on this car."
    shortword = re.compile(r'\W*\b\w{1,2}\b')
    print(shortword.sub('', text))
     was wondering anyone out there could enlighten this car.

    4. 정규 표현식(Regular Expression)


    정규 표현식을 사용하여 코퍼스 내에 계속해서 등장하는 글자들을 규칙에 기반하여 한 번에 제거할 수 있음

    반응형

    댓글

Designed by Tistory.