본문 바로가기

NLP

ch4. 문서분류(Document Classification) 이 글은 scikit에서 지원하는 fetch_20newsgroups데이터로 문서분류를 실습하는 코드를 정리한 글이다. - logistic regression - 나이브베이즈분류 - SVM - Decision Tree - XGBoost - 정밀도와 재현률 - Gridsearch 에 대한 내용으로 구성되어있다. 데이터준비 - scikit-learn이 제공하는 20개의 주제를 가진 뉴스그룹데이터를 사용한다. - 텍스트는 CountVectorizer를 거쳐 DTM(Document Term Matrix)행렬로 변환한다. from sklearn.datasets import fetch_20newsgroups from sklearn.feature_extraction.text import CountVectorizer f.. 더보기
ch5. 의미연결망 분석(SNA) - 사회 연결망 분석은 분석 대상들의 관계를 연결망 구조로 표현하는 분석기법 입니다. - 주로 친구 관계, 전력 관계를 분석할때 쓰임. - 사회 연결망 분석을 텍스트 단어 관계에 적용한것이 Semantic Network Analysis § 일정한 범위 내에서 동시 등장하는 어휘가 있으면 서로 연결된 것으로 간주하고. 분석한다. 위 그림은 네이버 카페의 리뷰 댓글로 SNA를 진행한 모습이다. 이런식으로 어떤 단어가 의미가 있는지, 다른 단어와 어떤 연관이 있는지 분석할 수 있다. 일정한 범위 내에서 등장하는 어휘를 편하게 알기 위해서, n-gram import nltk nltk.download('punkt') from nltk import word_tokenize, bigrams sentence 'I lo.. 더보기
ch3. 군집분석 군집분석은 크게 2가지로 나뉜다. nested성질을 띄는 계층적 군집분석과 partitioned성질을 띄는 비계층적 군집분석이다. 계층적 군집분석(Hierarchical Clustering) 각 관측치를 하나의 최초 군집으로 지정 → 한번에 두개씩 하나의 군집을 만듬 → 모든 군집이 하나의 군집이 될때까지 결합 계층적 군집분석은 분할방법에 따라 응집형(agglomerate)와 분리형(divisive)dmfh 나뉜다. 각각 "bottom-up" , "top-down"형식이다. 분할적 군집분석(Partitioned Clustering) 처음에 군집수인 k를 지정한 후, 관측치들을 무작위로 k개의 집단으로 분할하고 다양한 기준에 따라 중심값을 수정한다. 이 방식을 반복하며 집단을 재분류한다. - 분할방법에는 .. 더보기
ch2. 키워드 분석(KeywordAnalysis) 이수안 교수님의 유튜브 강의 참조 - 핵심어(keyword)란 텍스트 자료의 중요한 내용을 압축적으로 제시하는 단어 또는 문구 - 핵심어 분석 순서 불용어 제거 어간 추출 형태소 분석 많이 등장하는 형태소의 등장빈도를 분석 → 핵심어 추출~ 가정 - 키워드 분석 활용 : 텍스트의 주제 추정, 텍스트 유사도, 검색결과 우선순위 측정 등 다양하게 사용됨. 이제 실습을 해보자(in colab) 한글폰트 설정 import matplotlib as mpl import matplotlib.pyplot as plt plt.style.use('seaborn-white') %config InlineBackend.figure_format='retina' !apt -qq -y install fonts-nanum import.. 더보기
NLP 기초 - 자연어는 일상생활에서 사용하는 언어 - 컴퓨터가 인간의 언어를 학습하는 방법에는 무엇이 있을까 텍스트분류, 감성분석, 문서요약, 번역, 질의 응답, 음성인식, 챗봇으로 응용이 될 수 있다. 강의를 들은 사람들이라고 가정하고 시작하겠습니다. split()의 기능중.. 생소했던 부분 s = 'No pain no gain' s.split().index('gain') >>> 3 s.split()[2][::-1] >>> on 정규표현식 - 정규표현식은 특정문자들을 편리하게 지정하고 추가, 삭제가 가능합니다. - 전처리에서 아주 많이 사용됨. - re패키치(regular expression) 문법 . 앞의 문자 1개를 표현 ? 문자 한개를 표현하나 존재할 수도, 존재하지 않을 수도 있음(0개 또는 1개) * 앞.. 더보기