자연어 처리 - 2회차

Suhyeon Lee·2025년 1월 9일
0

라이브 세션

목록 보기
33/37

목표

텍스트 데이터에 대해 클러스터링 기법을 적용하는 방법을 배워보고 실습해 봅시다.

  • 텍스트 데이터 분석을 위한 전처리 과정에 대해 이해
  • 텍스트 데이터를 전처리하고 클러스터링하는 과정을 코드로 실습


텍스트 데이터 분석 사례

텍스트 데이터의 특성을 이해하고, 클러스터링 방법을 적용하기 위해서 어떤 과정을 거쳐야 하는지 알아봅시다.

감성 분석(Sentiment Analysis)

텍스트 데이터를 활용한 감성 분석은 어떻게 진행될까요?

  • 감성 분석은 글의 내용을 긍정과 부정, 그리고 중립으로 분류하는 분류 문제
  • 주로 리뷰나 댓글에 적용 가능
    • 어떤 영화의 리뷰를 대상으로 감성 분석을 하여, 해당 영화에 대한 사용자 반응을 살펴볼 수 있음
    • 제품 리뷰를 대상으로 감성 분석을 적용해 긍정적인 피드백 내용과 부정적인 피드백 내용을 분류할 수 있음
  • 감성 분석을 구현하는 방식은 크게 두 가지

텍스트 데이터는 지도학습 활용도가 높음
임베딩은 '단어 단위'라는 특징("문서는 의미 있는 단어의 집합")
딥러닝은 약간 목적이 달라요!
(토근화 접근 방식이 다름)
sting 데이터 차원 축소를 잘 해서 컴퓨터가 이해할 수 있도록 벡터화하는 게 핵심 → WordPiece Embedding: '의미'보다 '압축'에 초점을 맞춤

방법 1. 문서 == 단어의 집합
단어가 긍정/부정 점수 가짐 → 합치면 문서가 긍정/부정 파악 가능
방법 2. 지도학습 모델 돌리기

텍스트 자동 분류

라벨이 붙어 있는 택스트 데이터에 지도 학습을 적용해 문제를 해결하려고 하는 사례 중 하나입니다!

카테고리가 명시된 문서를 자동으로 분류해봅시다.

  • 카테고리가 붙어 있는 텍스트(문서)
    • 카테고리를 자동으로 분류하는 분류 모델을 생성
    • 문서를 자동으로 분류하기에 대량의 텍스트 데이터를 분류하여 살펴봐야 할 때 유용
      - 하루에 수만 개씩 쏟아지는 뉴스, 메일에 대한 자동 분류
      - 대량으로 모은 의료, 특허, 판례 등에 대한 자동 분류
      기계의 힘을 통해 쉽게 분류해보자!
      (기계가 어느 정도 골라서 주면 사람이 에너지 소모가 덜함)
  • labeling 된 문서를 대상으로 분류 모델을 학습하여 자동 분류 모델을 생성해 볼 수 있음

텍스트 데이터 클러스터링

라벨링이 되어 있지 않은 대량의 텍스트를 비슷한 것끼리 분류할 때 → 클러스터링!

텍스트 데이터 클러스터링 = 고차원 데이터 클러스터링

  • 텍스트 데이터를 벡터화하고 나면, 이후 클러스터링 과정은 정형 데이터 대상으로 분석했을 때와 동일
  • 주의 사항
    • 정형화된 텍스트 데이터는 다른 데이터 대비 차원이 굉장히 큼
      • 문서 == 단어의 집합
      • 모든 단어에 대한 차원 → 만 개의 차원 중 4~5개만 값을 가짐
    • 데이터포인트별로 전체 차원 대비 값을 가지고 있는 차원의 수가 매우 적은 벡터일 가능성이 높음(sparse matrix)
      • 이런 형태의 데이터에서 유클리디언 거리 기반의 클러스터링은 효과가 크게 떨어질 수 있음
      • 따라서, 유클리디언 거리보다는 코사인 거리를 활용하면 좋은 성능을 기대할 수 있음

상대적으로 그렇다는 이야기입니다! 항상 정답은 없습니다.

차원과 거리 이해
(1, 1, 0, 0), (0, 0, 1, 1)
→ 4차원, 거리 2
(2, 2, 0, 0) (1, 1, 0, 0)
→ 4차원, 거리 2\sqrt{2}
Q. 벡터화 결과물의 차원이 크다는 것은 행렬 요소가 많다는 것으로 이해했는데, 최대 크기 N을 결정하는 요소는 어떤 것이 있나요?
A. 방식마다 달라요!
단어 기준/의도적으로 차원 개수(N) 조절 가능→불용어 사전, 빈도수 활용해 적게 쓰이는 단어 제거해 조절/모델이 받을 수 있는 차원에 맞춰서 처리 → OpenAI: 1700~1800개 단어

Large Embedding Model은 이미 임베딩을 경험한 모델이기 때문에 훨씬 쉽게 임베딩 해 줌(비용이 들지만)

렝체인에 대해 궁금하다면, 유튜브에 '테디노트' 님꺼 추천드립니다 :)
조코딩님것도 좋아요.

profile
2 B R 0 2 B

0개의 댓글

관련 채용 정보