반응형

Data Analysis & ML/Text Mining 7

[Text Mining] 지도학습 기반 감성 분석 (Sentiment Analysis) (IMDB 영화리뷰)

영화리뷰 데이터 셋 전처리 및 긍부정 모델링이번 포스팅은 영화리뷰 데이터셋을 사용하여 전처리하고 모델링하는 텍스트마이닝을 소개합니다. 텍스트 데이터 전처리부터 Feature vectorization과 머신러닝 모델링까지 진행합니다.텍스트 분석 수행 프로세스텍스트 전처리클렌징(cleansing)특수문자, 기호 필요없는 문자 제거대소문자 변경stop word(분석에 필요 없는 토큰) 제거텍스트 토큰화분석의 최소단위로 나누는 작업보통 단어단위나 글자단위로 나눈다.어근 추출(Stemming/Lemmatization)을 통한 텍스트 정규화 작업Feature vectorization문자열 비정형 데이터인 텍스트를 숫자타입의 정형데이터로 만드는 작업BOW와 Word2Vec머신러닝 모델 수립, 학습, 예측, 평가Nat..

[Text Mining]Feature Vectorize(TF-IDF, TfidfVectorizer)

TF-IDF (Term Frequency - Inverse Document Frequency)텍스트를 숫자형값의 정형테이터로 변환하는 Feature vectorization의 방식 중 하나개별 문서에 많이 나오는 단어가 높은 값을 가지도록 하되, 동시에 여러 문서에 자주 나오는 단어에는 페널티를 주는 방식작동 원리어떤 문서에 특정 단어가 많이 나오면 그 단어는 해당 문서를 설명하는 중요한 단어일 수 있지만, 그 단어가 다른 문서에도 많이 나온다면 언어 특성이나 주제상 많이 사용되는 단어 일 수 있다.전체 문서에 고르게 많이 나오는 단어들은 각각의 문서가 다른 문서와 다른 특징을 찾는데 도움이 안된다. 그래서 페널티를 주어 작은 값이 되도록 한다.장점각 문서의 길이가 길고 문서개수가 많은 경우 Count ..

[Text Mining] Feature Vectorize (DTM/TDM, CountVectorizer)

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

[Text Mining] KoNLPy (한국어 텍스트 처리 패키지)

KoNLPy(코엔엘파이)한국어 처리(텍스트 마이닝)를 위한 Python 패키지http://KoNLPy.org/ko/latest/KoNLPy 설치방법Java설치https://www.oracle.com/java/technologies/javase-downloads.htmlOS에 맞게 다운로드 한다.환경변수 설정JAVA_HOME : 설치 경로 지정Path : 설치경로\bin 경로 지정JPype1 설치파이썬에서 자바 모듈을 호출하기 위한 연동 패키지설치: !pip install JPype1 KoNLPy 설치 pip install konlpyKoNLPy 제공 말뭉치kolaw: 대한민국 헌법 말뭉치constitution.txtkobill: 대한민국 국회 의안(국회에서 심의하는 안건-법률, 예산등) 말뭉치-18098..

[Text Mining][NLP] Text Data(텍스트 데이터) 전처리 프로세스

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

[Text Mining][NLP] NLTK 패키지를 사용한 Text 분석 (형태소, 어간,품사부착,원형복원)

NLTK 패키지를 사용한 Text 분석CF) NLTK 패키지 설치 방법 및 문법 : https://ysyblog.tistory.com/87형태소 분석형태소일정한 의미가 있는 가장 작은 말의 단위형태소 분석말뭉치에서 의미있는(분석에 필요한) 형태소들만 추출하는 것보통 단어로 부터 어근, 접두사, 접미사, 품사등 언어적 속성을 파악하여 처리한다.형태소 분석을 위한 기법어간추출(Stemming)원형(기본형) 복원 (Lemmatization)품사부착 (POS tagging - Part Of Speech)어간추출(Stemming)어간: 활용어에서 변하지 않는 부분painted, paint, painting => 어간: paint보다, 보니, 보고=>어간 보-어간 추출단어에서 어미를 제거하고 어간을 추출하는 작업목..

[Text Mining][NLP] 자연어 처리를 위한 NLTK (설치 방법 및 사용 문법)

NLTKNatural Language Toolkit(NLTK로 약칭)은 인간 언어 데이터를 더 쉽게 처리하고 사용할 수 있도록 설계된 라이브러리 모음즉 NLP(Natural Language Processing) (자연어 처리)하기 위한 패키지NLTK 설치nltk 패키지 설치pip 설치conda 설치conda install -y nltkpip install nltkNLTK 추가 패키지 설치import nltknltk.download() # 설치 GUI 프로그램 실행nltk.download('패키지명')NLTK 주요기능말뭉치(corpus) 제공말뭉치: 언어 연구를 위해 텍스트를 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 자료를 말한다.예제용 말뭉치 데이터를 제공한다.텍스트 정규화를 위한 기능 제공토큰 생..

반응형