텍스트 마이닝 개요

2024. 2. 19. 17:18TIL

텍스트 마이닝이란

 텍스트 데이터란 문장, 단어, 문장으로 구성된 데이터이다. 웹사이트, SNS, 책, 학술 정보, 이메일 등 다양한 출처에서 발생한다. 텍스트 데이터는 시장 변화를 파악하고 대응할 수 있는 확인 창구이고 고객의 요구 사항과 피드백을 파악할 수 있으며 더 좋은 텍스트 이해를 위한 연구 도구이다. 텍스트 데이터를 구성하는 요소(단어로 가정)를 기준으로 단어는 주변의 단어들과 연관성이 존재하고 이 연관성을 이해하는 방향으로 텍스트 데이터를 처리해야 한다. 하지만 텍스트 처리 과정에서 비구조적(비정형) 데이터, 다양성, 다의성, 언어별 고유 특징의 이유로 어려움이 있다. 

 

 대량의 데이터에서 유용한 정보와 패턴을 찾기 위해 채굴이 필요하다. 이렇게 채굴된 정보와 패턴으로 통찰력을 얻고, 의사 결정을 진행한다. 정보를 얻고자 하는 원천 데이터가 텍스트이면 텍스트 마이닝, 이미지이면 이미지 마이닝, 그리고 특정되지 않은 일반적인 데이터는 데이터 마이닝이라고 한다. 텍스트 마이닝이란 텍스트로 구성된 데이터를 바탕으로 대용량의 텍스트 안에 존재하는 관계, 패턴, 규칙을 탐색하여 지식과 인사이트를 추출해 의사결정에 활용하는 일련의 과정을 의미한다. 

 

 자연어 처리(Natural Language Processing, NLP)란 컴퓨터가 인간의 언어를 이해하고 해석하는데 사용되는 분야로 컴퓨터 과학, 인공 지능, 언어학의 개념이 사용된다. NLP의 목적은 인간 언어의 구조와 의미 이해를 바탕으로 글을 활용한 문제를 해결하고 향상된 사용자 경험을 제공하고자 한다. 자연어 처리는 대규모 텍스트 데이터 내의 존재하는 패턴, 관계, 정보를 발견하고 분석하는 텍스트 마이닝과 거리가 있다. 두 개념의 목표 차이로  NLP는 언어의 이해, TM는 언어 속 내포된 정보 파악이다. 

 

텍스트 마이닝에 필요한 기술

 텍스트 마이닝 프로세스는 텍스트 수집 및 추출, 텍스트 전처리, 텍스트 마이닝 기법 적용, 텍스트 마이닝 결과 분석으로 구성된다. 

  1. 텍스트 수집 및 추출
    • 웹 크롤링
      • 웹에 존재하는 텍스트 데이터를 수집 (Selenium, Beautiful Soup, Scrapy 등의 패키지 활용)
      • 단, 크롤링 가능한 사이트를 위주로 사용해야 함 
    • API 사용 
      • 대형 SNS 플랫폼, 뉴스 사이트, 온라인 포럼 등은 데이터 제공을 위한 API를 제공 
      • API 사용 비용을 지불해야할 수 있음 
    • 공개 데이터 
      • 연구 기관, 정부 기관, 기업 등에서 제공하는 공개 데이터를 활용 
    • 수집한 데이터는 기본적으로 원시의 데이터로 쓸 수 없는 형태의 데이터도 존재 
      • 데이터의 질을 관리하기 위해 목표 관련성이 높은 글, 다양성이 확보되는 글을 주기적으로 모니터링해야 함
  2. 텍스트 전처리
    • 수집된 데이터는 일반적으로 비구조화 데이터로 특정 분석을 하기에 불완전한 상태일 가능성 높음
    • 전처리 과정을 통해 데이터를 정제하고 분석이 가능한 형태로 변환해야 함 
    • 노이즈 값 제거 
      • 원시 데이터에는 이모티콘, 오타, 비속어 등 다양한 노이즈 값이 존재 
      • 이러한 이상 데이터를 제거 혹은 수정 
    • 분석에 최소 단위로 글을 분류
      • 단어 기반 문제 풀이, 문장 기반 문제 풀이 등에 따라 사용하는 정보의 단위가 다름 
      • 이러한 정보의 단위로 글을 분리해야 하고 (Tokenize) 
      • 이것을 컴퓨터가 이해할 수 있는 형태로 변환해야 함 (Embedding) 
    • 글 길이 조절 
      • 제한된 환경에서 작성된 글이 아닌 경우, 너무 길거나 짧은 글이 존재 
      • 이를 통일된 형태로 변경해야 함 (길다면 자르거나, 짧다면 복제 혹은 다른 글과 통합 혹은 dummy 값 추가 등) 
  3. 텍스트 마이닝 기법 적용
    • 전처리 이후의 단계로, 데이터로부터 유의미한 정보를 추출하고 인사이트를 도출하는 과정
    • 내용 파악 및 분석 
      • 자연어 이해 : 글에 존재하는 의미와 의도 파악 
      • 요약 : 글의 내용을 요약 정리 
      • 개체명 인식 : 글에서 인물, 장소, 기관 등의 특정 정보를 식별 & 분류 
    • 숨겨진 의미 파악
      • 토픽 모델링 : 글에 담겨있는 숨겨진 주제를 발견 
      • 트렌드 분석 : 시간에 따른 데이터 변화를 분석, 패턴과 변화를 식별 
      • 감정 분석 : 글에 존재하는 저자의 감정 상태를 파악 
    • 관계 파악 및 구조화 
      • 군집화 : 비슷한 의미의 글을 그룹화해서 문서 간의 관계 파악 
      • 글 분류 : 글을 특정 범주로 분류 
  4. 텍스트 마이닝 결과 분석
    • 분석된 결과를 활용해 정보 이해, 통찰 도출, 의사 결정 과정에서 사용 
    • 정보 이해 
      • 텍스트의 전반적인 내용을 파악
      • 타겟 그룹에서 생성된 글의 패턴과 흐름을 빠르게 확인 
      • Ex) 제품을 사용하는 사용자 중 40대의 반응을 보고 제품 사용 관점에서 나오는 키워드를 파악 
    • 통찰 도출 
      • 데이터 안에 숨어있는 연결 정보를 추출 
      • 숨은 정보를 추출하는 기술적인 모델이 필요 
      • Ex) 제품에 대한 긍정적인 포인트와 부정적인 포인트를 이해 
    • 의사 결정 
      • 통찰을 바탕으로 비즈니스 전략, 제품 개발, 마케팅 등의 의사 결정 과정에서 활용 
      • Ex) 부정적인 부분을 개발하고, 이를 적극적으로 마케팅에 활용 
텍스트 마이닝의 분석 구조와 적용 사례
  • 자주 묻는 질문 (FAQ)
    • 자주 묻는 질문과 그에 대한 답변을 모아 놓은 목록
    • CS, 고객 피드백, 리뷰 등에서 수집된 질문 - 답변의 패턴을 식별 및 분석하여 자주 묻는 질문 생성
    • 사용자는 빠른 문제 해결과 편리한 정보 접근이 가능
    • 서비스 제공자는 고객 지원 비용 절감 및 고객 만족도 향상 효과를 얻을 수 있음
  • 책에 밑줄 긋기
    • 교과서, 독서하는 책에서 중요한 정보에 밑줄을 칠함
    • 과거 정보들을 바탕으로 중요한 내용이 무엇인지 판단
    • 이를 통해 독자는 다시 읽는 시점에 중요한 정보를 빠르게 시각화
    • 기억력 강화를 통해 정보 정리를 효과적으로 진행
  • 심리 분석
    • 환자로부터 나온 글 내용 속 단어, 문구, 분위기를 바탕으로 심리 상태, 감정 변화, 중요한 사건이나 생각 패턴을 파악
    • 디지털화된 데이터(일기, 전화 내용, 상담 내용 등) 내에 존재하는 환자의 감정 상태를 파악하여 그래프와 차트 형태의 시각화 과정으로 빠른 파악이 가능 
    • 환자 입장에서는 본인의 상태를 깊게 이해할 수 있고 맞춤화 치료 과정 진행
    • 상담사 입장에서는 상담의 효과를 향상하고 환자의 상태를 정량적으로 확인하여 치료 과정의 변화를 확인할 수 있음
  • 신문 스크래핑
    • 신문 내용을 보고 관심 내용을 스크래핑
    • 구독자는 최신 데이터를 추적할 수 있음
    • 관심 분야의 패턴을 확인할 수 있음(시간에 따른 의미 관계 파악, 다양한 언론사 별로 시각 및 관점 습득)
    • 투자, 사업성 등 다양한 관점의 의사결정을 내릴 수 있음
  • 네이버 검색 트렌드
    • 검색어 단어의 발현 횟수를 기반으로 트렌드를 확인 
    • 사람들의 관심사, 전 국민적인 이슈 등을 파악할 수 있음 
    • 특정 단어에 대한 사람들의 관심사를 파악 
    • 제품 판매 및 예측을 미리 예측해 볼 수 있음 
    • 비즈니스의 의사결정에 활용될 수 있음

'TIL' 카테고리의 다른 글

감정 분석  (0) 2024.02.20
단어 임베딩과 문장 임베딩  (1) 2024.02.20
SageMaker 사용해보기  (1) 2024.02.11
Regression 모델 만들기  (0) 2024.02.09
Classification 모델 만들기  (0) 2024.02.08