수업정리

 

 

텍스트 마이닝

자연어 

  • 자연어 처리 - NLP (Natural Language Processing)
  •  

인공언어

 

자연어처리 응용 분야

텍스트 마이닝의 영역

  • 텍스트분류
  • 감성분석
    • 리뷰에 쓰임

텍스트 데이터의 구조

  • 단어를 쪼개면 형태소

 

텍스트 마이닝 분석 프로세스

  • 토큰화 : 하나의 클립, 어떤 단위로 자를지에 대한 선택, 원하는 방향으로 자름

프로세스 - 텍스트 데이터 수집 

 

프로세스 - 텍스트 전처리

  • 정규화 - 같은 의미의 다른 단어를 같은 단어로 만든다.
  • 어간 추출 - 같은 의미의 조금씩 다른 단어의 중요 부분만 추출
  • 표제어 추출
  • 빈도수로 중요도를 추측한다.
  • 가중치도 줄 수 있다.
    • 자주나오는 데이터이지만 불용어에 대해서는 중요도를 낮춰 준다.
  • 머신러닝에서는 데이터 전처리가 중요하다

 

토큰화

  • 내가 원하는 단위로 나누는 작업
  • 분석 방법에 따라 다름
  • 감성 분석 - 동사 형용사

 

프로세스 - 특징 값 추출

  • 빈도수
  • count vector 수치화
  • 자른 문자를 숫자로 수치 표현 - 문자의 빈도수로 선별

 

프로세스 - 데이터 분석

 

 

 


 

 

수업시작

 

 

토큰화 n-gram

  • 하나씩 나누어 벡터화 해주고 또 묶어서 벡터화 해준다
  • 단어를 묶어서 하나의 토큰으로 만든다.

 

 

데이터 수치화

  • BOW - 결과를 수치화 하는 것
  • CounterVectorize : 수치화
  •  TF-IDF : CounterVectorize 의 단점을 보완한 것

원핫 인코딩

 

BOW

 

CounterVectorize

  • 단순 하게 빈도수 로 벡터화 하는 방식

TF-IDF

  • 전체 문서에 많이 나오는 것은 역수를 취한다. -> 중요하지 않음
    • 패널티 부여
  • 특정 문서에 많이 나오는 것은 가중치를 줘서 중요한 것을 책정하는 방법

 

 

CounterVectorize - 방식

  • 문맥을 무시 문맥을 고려하지 못하는 단점
  • n-gram 사용 용도로 쓴다.

 

knn = 유클리디안 거리 공식 사용

 

TF-IDF

  • 적은 문서에 상대적으로 많이 발견될수록 가치 있는 정보

 

TF-IDF 공식

 

 

감성분석

  • 긍정인지 부정인지 판별하는 방식

 

 

실습

머신러닝의 7과정
1. 문제정의
2. 데이터수집
3. 데이터 전처리
4. 탐색적 데이터 분석
5. 모델 선택 및 하이퍼파라미터 조절
6. 모델 학습
7. 모델 평가

 

 

 

 

 

  • bunch(다발, 묶음) -> 번치객체
    • 머신러닝 데이터셋 구조, 딕셔너리처럼 사용한다!

머신러닝 내부적으로 

 

 

  • 학습과 테스트 모두 하기 위해 7:3  비율로 나누는 것이다.
  • 테스트는 

 

 

 

 

데이터 전처리

  • 의미 없는 br 태그 제거하기
  • list 내 for문 사용
  • [결과값 for 변수 in 범위] -> append 를 하지 않아도 결과값이 list에 차곡차곡 쌓임

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts