반응형

텍스트마이닝 7

[Text Mining][텍스트마이닝][NLP] IMDB(Internet Movie Database) Text Mining

IMDB(Internet Movie Database) 영화리뷰 데이터 셋 https://www.imdb.com/ 다운로드: http://ai.stanford.edu/~amaas/data/sentiment/ train의 unsup 은 제거 (비지도학습용) load_files() 분류범주를 폴더로 분리한 텍스트 파일을 load한다. Bunch 타입으로 반환 from sklearn.datasets import load_files import numpy as np import pandas as pd neg: 0, pos: 1 로 분리해 준다. (폴더의 알파벳 순서대로 ) Bunch 타입으로 반환 review_train = load_files("aclImdb/train") #분류 클래스 별로 폴더를 만들고 그 폴..

[Text Mining][텍스트마이닝][NLP] Feature Vectorize(TF-IDF, TfidfVectorizer)

TF-IDF (Term Frequency - Inverse Document Frequency) 개별 문서에 많이 나오는 단어가 높은 값을 가지도록 하되 동시에 여러 문서에 자주 나오는 단어에는 페널티를 주는 방식 어떤 문서에 특정 단어가 많이 나오면 그 단어는 해당 문서를 설명하는 중요한 단어일 수 있다. 그러나 그 단어가 다른 문서에도 많이 나온다면 언어 특성이나 주제상 많이 사용되는 단어 일 수 있다. 전체 문서에 고르게 많이 나오는 단어들은 각각의 문서가 다른 문서와 다른 특징을 찾는데 도움이 안된다. 그래서 페널티를 주어 작은 값이 되도록 한다. 각 문서의 길이가 길고 문서개수가 많은 경우 Count 방식 보다 TF-IDF 방식이 더 좋은 예측 성능을 내는 경우가 많다. 공식 TF (Term Fr..

[Text Mining][텍스트마이닝][NLP] Feature Vectorize(DTM/TDM, CountVectorizer)

Feature vectorization 개요 텍스트를 숫자형값의 정형테이터로 변환하는 것을 Feature vectorization(피처 벡터화) 라고 한다. BOW (Bag Of Words) 많이 나온 단어가 중요한 단어 문서내에 단어 빈도수에 기반하여 Vector화 하는 모델 DTM/TDM (Document Term Matrix) 문서안에서 문서를 구성하는 단어들이 몇번 나왔는지를 표현하는 행렬 행:단어, 열: 문서 - DTM 행:문서, 열:단어 - TDM Value: 개수 TF-IDF (Term Frequency Inverse Document Frequency) CountVectorize의 문제: 문장 구조상 많이 나오는 단어들의 경우 카운트 값이 많이 나오게 되고 중요한 단어로 인식된다. (ex: ..

[Text Mining][텍스트마이닝][NLP] KoNLPy

KoNLPy(코엔엘파이) 한국어 처리를 위한 파이썬 패키지 http://KoNLPy.org/ko/latest/ KoNLPy 설치 Java 실행환경 설치 JPype1 설치 koNLPy 설치 1. Java설치 https://www.oracle.com/java/technologies/javase-downloads.html OS에 맞게 다운로드 한다. 환경변수 설정 JAVA_HOME : 설치 경로 지정 Path : 설치경로\bin 경로 지정 2. JPype1 설치 파이썬에서 자바 모듈을 호출하기 위한 연동 패키지 설치: !pip install JPype1 3. KoNLPy 설치 pip install konlpy KoNLPy 제공 말뭉치 kolaw: 대한민국 헌법 말뭉치 constitution.txt kobill..

[Text Mining][텍스트마이닝][NLP] 텍스트 전처리 프로세스

텍스트 전처리 프로세스 클렌징(cleansing) 특수문자, 기호 필요없는 문자 제거 대소문자 변경=>모두 소문자로 변환 stop word(분석에 필요 없는 토큰) 제거 텍스트 토큰화 분석의 최소단위로 나누는 작업 보통 단어단위나 글자단위로 나눈다. 어근 추출(Stemming/Lemmatization)을 통한 텍스트 정규화 작업 TODO tokenize_text에 stemming=>Lemmatization 추가 text_sample = """Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better th..

[Text Mining][텍스트마이닝][NLP] NLTK 패키지(형태소, 어간,품사부착,원형복원)

형태소 분석 형태소 일정한 의미가 있는 가장 작은 말의 단위 형태소 분석 말뭉치에서 의미있는(분석에 필요한) 형태소들만 추출하는 것 보통 단어로 부터 어근, 접두사, 접미사, 품사등 언어적 속성을 파악하여 처리한다. 형태소 분석을 위한 기법 어간추출(Stemming) 원형(기본형) 복원 (Lemmatization) 품사부착 (POS tagging - Part Of Speech) 어간추출(Stemming) 어간: 활용어에서 변하지 않는 부분 painted, paint, painting => 어간: paint 보다, 보니, 보고=>어간 보- 어간 추출 단어에서 어미를 제거하고 어간을 추출하는 작업 목적 같은 의미를 가지는 단어의 여러가지 활용이 있을 경우 다른 단어로 카운트 되는 문제점을 해결한다. flow..

[Text Mining][텍스트마이닝][NLP] 자연어 처리(NLP), NLTK 패키지 설치, 텍스트 토큰화, 불용어 처리

NLP(Natural Language Processing) 자연어 처리란 자연어 사람이 사용하는 고유한 언어 인공언어의 반대 의미 인공언어: 특정 목적을 위해 인위적으로 만든 언어 ex) 프로그래밍 언어 자연어 처리 사람이 사용하는 자연어를 컴퓨터가 사용할 수 있도록 처리하는 과정. 자연어 처리 응용분야 번역 시스템 문서요약 감성분석 대화형 시스템(챗봇) 정보 검색 시스템 텍스트 마이닝 음성인식 텍스트 분석 수행 프로세스 텍스트 전처리 클렌징(cleansing) 특수문자, 기호 필요없는 문자 제거 대소문자 변경 stop word(분석에 필요 없는 토큰) 제거 텍스트 토큰화 분석의 최소단위로 나누는 작업 보통 단어단위나 글자단위로 나눈다. 어근 추출(Stemming/Lemmatization)을 통한 텍스트..

반응형