TMDB 5000 데이터 세트를 이용하여 사용자가 좋아하는 영화와 비슷한 콘텐츠를 가진 영화를 추천영화 장르 속성을 기반으로 하여 장르 칼럼 값의 유사도를 비교한 뒤 높은 평점을 가지는 영화를 추천하는 방식으로 필터링 수행1. 데이터 로딩 및 가공데이터는 4803개의 레코드와 20개의 피처로 구성 주요 피처(id, title, genres, vote_avarage, vote_count, popularity, keywords, overview)만 추출해 DataFrame 생성import pandas as pdimport numpy as npimport warnings; warnings.filterwarnings('ignore')movies = pd.read_csv('./tmdb-5000-movie-data..
데이터/머신러닝
한글 NLP 처리의 어려움과 KoNLPy 한글은 한글의 조사, 띄어쓰기로 인해 라틴어 계열보다 NLP 처리가 어려움 KoNLPy는 한글 형태소(단어로서 의미를 가지는 최소 단위) 패키지로 형태소를 어근 단위로 쪼개고 각 형태소에 품사 태깅(POS tagging)을 부착하는 작업을 수행KoNLPy 형태소 엔진으로는 꼬꼬마, 한나눔, Komoran, Mecab, Twitter 등이 있음 네이버 영화 평점 데이터를 이용한 감성 분석1. 데이터 로딩rating_train. txt, rating_test.txt 의 DataFrame 생성 탭(\t)으로 칼럼이 분리되어있음, encoding 은 'UTF8'로 설정import pandas as pdtrain_df = pd.read_csv('ratings_train.t..
1. 비지도학습 기반 감성분석 소개 감성 어휘 사전 'Lexicon' 기반감성 사전은 긍정, 부정 감성의 정도를 나타내는 감성 지수를 가지고 있음NLP의 WordNet 은 시맨틱 (문맥상 의미) 분석을 제공하는 어휘 사전WordNet 은 각각의 품사로 구성된 개별 단어를 Synset 이라는 단어의 문맥, 시맨틱 정보를 제공하는 개념을 이용해 표현 WordNet 예측 성능이 좋지 못하다는 단점으로 인해 실무에서는 VADER, Pattern 등 다른 감성사전을 사용2. SentiWordNet을 이용한 감성분석 2.1 WordNet Synset 클래스wordnet() 클래스를 이용해 'present' 단어에 대한 Synset 객체 확인 import nltknltk.download('wordnet')nltk.d..
1. 감성분석 소개감성분석은 텍스트가 나타내는 주관적인 단어와 문맥을 기반으로 긍정, 부정 감성(sentiment) 수치를 계산하는 방법을 이용지도학습과 비지도학습 방식이 있음 지도학습은 텍스트 기반의 이진분류와 거의 동일비지도학습은 'Lexicon' 감성어휘사전을 이용하여 긍정적, 부정적 감성여부 판단2. 지도학습 기반 감성분석 실습 - IMDB 영화평 캐글의 labeledTrainData.tsv는 탭(\t) 문자로 분리되어 있는 파일, DataFrame 으로 변환생성된 데이터 프레임의 칼럼id : 각 데이터의 idsentiment : Review 의 sentiment 결과 값 1(긍정적), 0(부정적)review : 영화평의 텍스트import pandas as pdreview_df = pd.read_..