[데이터분석 데브코스] TIL Day 61 - 텍스트 마이닝 개요

콩이·2024년 5월 14일

🟨 텍스트 마이닝 개요

📍 텍스트 마이닝이란

텍스트 데이터

  • 텍스트 데이터문자, 단어, 문장으로 구성된 데이터를 말함.

  • 텍스트 데이터는 웹 사이트, 학술 정보, SNS 등 다양한 출처에서 발생함.

    ➡️ 보통 규모가 굉장히 큼(매일 약 8200만 TB의 텍스트가 생성)

  • 활용

    • 비즈니스 관점에서 보면 시장에서의 요구사항을 파악할 수 있는 확인 창구

    • 학술적인 관점에서 보면 더 좋은 텍스트 이해를 위한 연구 도구

텍스트 데이터 특징

  • 가장 큰 특징은 텍스트는 이루고 있는 작은 조각들(=토큰)이 있는데, 그 조각들이 단어라고 가정하면 하나의 단어는 이웃 단어와 연관성이 존재한다는 것

  • 텍스트는 비구조적 데이터라서 처리 과정에서의 어려움이 존재

    1. 형태가 정해져있지 않기 때문에 여러가지 변수들이 존재
      (다양성, 다의성 등)

      • 다양성 : 같은 의미라도 여러 표현이 있을 수 있음
        (ex. 맛있다, 맛이 좋다 등)
      • 다의성 : 같은 표현이라도 다른 의미로 사용될 수 있음
        (ex. 잘한다 등)
    2. 언어별로 특징이 달라서 어려움 발생
      ( 문법, 어휘, 발음 등)

마이닝

  • 마이닝이란?
    ➡️ 마이닝 = 채굴(광물에서 귀중한 금속이나 광석을 얻는 작업)

  • 데이터에서의 마이닝이란?
    ➡️ 광물에서 자원을 찾기 위해 채굴하듯이 큰 데이터에서 유용한 정보를 얻기 위해 하는 작업들을 말함

    ➡️ 채굴된 정보와 패턴으로 통찰력을 얻기 위해 하는 것이며 이를 바탕으로 의사결정을 함

  • 정보를 얻고자 하는 원천 데이터가 텍스트이면 텍스트 마이닝,
    이미지 데이터이면 이미지 마이닝,
    특정되지 않은 일반적 데이터면 데이터 마이닝이라고 함

텍스트 마이닝

  • 대용량 텍스트 속에 존재하는 유용한 패턴, 규칙을 찾아내서 인사이트를 추출하고 의사결정을 내리는 일련의 과정을 의미

  • 텍스트 마이닝의 진행 과정은 다음과 같음

    웹, SNS 등에서 텍스트를 추출 ➡️ 비구조화 되어있기 때문에 전처리 ➡️ 텍스트 마이닝 진행 ➡️ 결과를 가지고 해석이나 평가 진행

자연어 처리(NLP)

자연어 처리와 텍스트 마이닝은 완전히 같지 않고 다른점이 존재함

  • 자연어 처리

    • 컴퓨터에게 사람의 언어를 이해시키는 것에 큰 목적이 있음
      (컴퓨터가 사람의 언어를 이해하고 해석하는데 사용되는 분야)

    • 사람이 하는일(ex. 글 간추리기, 번역 등)을 제공하고자 함

  • 텍스트 마이닝

    • 대규모 텍스트 내 정보,패턴을 파악는데 큰 목적이 있음
  • 정리 - 자연어 처리와 텍스트 마이닝의 목적의 차이가 존재

    • 자연어 처리 : 언어의 이해
    • 텍스트 마이닝 : 언어 내 정보, 패턴 파악

텍스트 마이닝에 사용되는 패키지

  • 주요 패키지
    1. pandas

      • 텍스트 데이터 조작과 처리에 용이
    2. gensim

      • 전처리 과정인 임베딩 과정을 지원
    3. nltk

      • 자연어를 다루는 과정에서 유용한 tool kit을 제공

📍 텍스트 마이닝의 절차

텍스트 마이닝은

  1. 텍스트 수집
  2. 텍스트 전처리
  3. 텍스트 마이닝 기법 적용
  4. 텍스트 마이닝 결과 분석

과정으로 프로세스를 나눌 수 있음

텍스트 수집 및 추출

  • 텍스트 마이닝 프로세스의 첫 단계

  • 데이터 수집 방법

    1. 웹 크롤링

      • 웹에 있는 텍스트 데이터를 긁어오는 과정

      • 크롤링이 막혀있는 사이트들도 있어서 허용된 사이트 위주로 사용해야 함

    2. API 사용

      • 대형 SNS, 뉴스 사이트 등은 데이터 제공을 위해 API를 제공

      • API 사용 비용을 지불해야할 수 있음

    3. 공개 데이터

      • 연구 기관, 정부 기관, 기업 등에서 공개 데이터를 제공하기도 함
  • 수집한 데이터는 쓸 수 없는 형태의 데이터도 존재하기 때문에 데이터 질 관리 위해서 목적성에 맞는 글, 다양성이 확보되는 글을 주기적으로 모니터링 해야함

    특정 주제에 대한 관련성이 없는 글이나 내용이 부족한 글은 분석에 적합하지 않을 수 있음

    따라서 주기적으로 데이터를 검토하고 필요에 따라 추가 데이터를 수집하여 데이터의 질을 유지하고 향상시키는 것이 중요함

텍스트 전처리

  • 수집된 데이터는 일반적으로 비구조화 데이터로, 분석하기에 불완전한 상태일 가능성이 높음
    ➡️ 따라서 분석 가능한 형태로 데이터를 정제하는 과정이 필요한데 이를 전처리라고 부름

  • 푸는 문제에 따라 다양한 전처리 방법이 존재

    1. 노이즈 값 제거

      • 수집 데이터에는 이모티콘, 비속어, 오타 등 다양한 노이즈 값이 존재

      • 이러한 이상 데이터를 제거 or 수정하는 방법

    2. 분석에 최소 단위로 글 분류

      • 목적에 따라 사용하는 정보 단위가 다름

      • 단어 단위로 할지 철자 단위로 할지와 같은 정보 단위 설정을 하고 분리
        ➡️ 이를 토크나이즈(tokenize) 라고 함

      • 글을 분리한 뒤에는(=토크나이즈 한 뒤에는) 컴퓨터가 이해할 수 있는 숫자 형태로 변환
        ➡️ 이를 임베딩(embedding) 라고 함

    3. 글 길이 조절

      • 너무 길거나 짧은 글을 통일된 형태로 변경해야함
        ( 길다면 자르고 짧다면 복제 등을 통해 늘리기)

텍스트 마이닝 기법 적용

  • 데이터로부터 유용한 정보를 추출하고 인사이트를 도출하는 과정을 말함

  • 다양한 마이닝 기법

    1. 내용 파악 및 분석

      • 자연어 이해, 요약, 개체명 인식 등
    2. 숨겨진 의미 파악

      • 감정 분석, 트렌드 분석 등
    3. 관계 파악 및 구조화

      • 글 분류, 군집화 등

텍스트 마이닝 결과 분석

  • 분석 결과를 바탕으로 정보 이해, 통찰 도출, 의사 결정 과정에서 사용

    1. 정보 이해

      • 텍스트의 전반적인 내용 파악

      • ex) 40대 제품 사용자의 반응에서 나오는 키워드 파악

    2. 통찰 도출

      • 텍스트 데이터에 숨어있는 정보 추출

      • ex) 제품에 대한 긍정/부정 평가 이해

    3. 의사 결정

      • 비즈니스 전략, 마케팅 등 의사 결정 과정

      • ex) 부정적인 부분 개선해서 마케팅에 활용

📍 텍스트 마이닝 사례

  • 자주 묻는 질문(FAQ)

    • 고객 피드백, 리뷰 등에서 수집된 질문-답변의 패턴을 식별 및 분석하여 자주 묻는 질문 생성
    • 고객 지원 비용 절감 및 고객 만족도 상승 효과 얻음
  • 책에 밑줄 긋기

    • 과거 밑줄을 통해 중요한 내용이 무엇인지 판단 가능
    • 중요한 정보 빠르게 시각화 가능
  • 심리 분석

    • 텍스트 데이터 내 존재하는 사람의 감정 상태를 파악
    • 환자 상태 파악하여 치료과정 조정 가능
  • 신문 스크래핑

    • 관심있는 주제와 내용을 인식하여 주요 내용 스크래핑
    • 투자, 사업성의 관점의 의사결정 내릴 수 있음
  • 네이버 검색 트렌드

    • 검색어의 발현 횟수를 기반으로 트렌드 확인
    • 비즈니스 의사결정, 제품 판매 예측, 관심사 파악 가능

0개의 댓글