[python] 텍스트 분석

2021. 5. 11. 23:05Python/문법

▶ 텍스트 분석 패키지

   NLTK: 자연어처리의 조상, 대량 데이터 기반에서는 사용x

   Gensim: 토픽 모델링 분야에서 가장 많이 사용

   SpaCy: 최근 뜨는 패키지


텍스트 전처리

   클렌징: 불필요한 문자, 기호, 태그 등 제거

  토큰화: 형태소 분석, 단어 토큰화, n-gram

      n-gram: bi-gram 경우 i am a boy = i am / am a / a boy 식으로 분리

      1개씩: uni-gram / 2개씩: bi-gram / 3개씩: tri-gram

필터링 / 스톱워드 제거 / 철자 수정

Stemming/Lemmatization: running → run 처럼 어근 추출


 BOW 텍스트 피처 벡터화

   Bag of Words: 단어의 빈도 값을 부여하여 값을 추출하는 모델

    - 장점 : 쉽고 빠른 구축, 여러분야에서 활용도가 높음

    - 단점 : 문맥 의미 반영 문제, 희소 행렬 문제

  ● CountVectorizer: 단어 빈도수, 높을수록 중요한 단어

  ● TFIDFVectorizer: 개별 문서에 자주 나타나는 단어는 가중치, 모든 문서에 나타나는 단어는 패널치를 부여


▶희소 행렬

  ● COO: 0이 아닌 데이터만 별도 저장, 그 데이터의 행·열 위치를 저장 (좌표 방식)

  ● CSR: COO의 문제점을 해결한 방식. 일반적으로 CRS가 더 많이 사용