길고 귀찮았던 전처리 과정이 마무리 되었다. 이제 라벨링 된 값을 이용하여 긍/부정 키워드를 추출할 것이다. 시작하기 전에... 사실은 이제 긍정/부정을 나누는 모델을 만들어야한다. 어떤 리뷰가 있을 때, 이것이 긍정리뷰인가 부정리뷰인가 구분하는 모델이다. 그런데 이것은 우리가 실시간으로 크롤링하고 정제한 데이터를 가지고 만드는 것이아니다. 어떤 영화를 가져오냐에 따라 데이터 크기가 천차만별이고, 대부분의 데이터들은 긍정/부정비율이 편향되어있기 때문. 따라서, 분류모델은 https://github.com/e9t/nsmc/ 여기 있는 데이터를 가지고 나중에 따로 만들 것이다. 위의 데이터셋은 긍정 부정비율이 일정하고, 데이터셋의 크기도 충분히 크다. 그럼 지금 하는 일은, 분류 모델이 있고 그 모델로 분류..
전단계에서 못다한 전처리를 마무리하자. 이전까지는 데이터를 쪼개고, 필요없는 것을 걸러내는 작업을 했다면 지금부터는 그렇게 해서 남은 단어들을 벡터화하는 단계이다. 생각보다 전처리가 오래걸리고 힘들었다. 그냥 긍정/부정을 나누는 것만 했다면, 어느정도 정제만 하고 성능에 영향을 주지 않을 정도만 하면 되는데, 우리는 키워드 추출까지 해야한다. 추출한 키워드가 최대한 불용어가 되지 않도록 데이터를 많이 살펴보아야한다. 아무튼 시작한다. CountVectorizer from sklearn.feature_extraction.text import CountVectorizer CountVectorizer에 대해서는 강의 03 단어 카운트 (CountVectorizer) - 토닥토닥 파이썬 - 텍스트를 위한 머신러..
탐색 이제 데이터를 수집하는 것은 끝이 났다. 지금부터는 이 데이터를 가공하는 작업이다. 사실 이 데이터 전처리가 제일 중요하지만, 제일 귀찮고 번거롭다. 암튼 또 시작 ㅠㅠ 이번 단계에서 사용할 패키지는 다음과 같다. #import할 패키지 목록 import re import pandas as pd from tqdm import tqdm from konlpy.tag import Okt from pykospacing import Spacing from collections import Counter 일단, 이전에 만들어놓은 함수들을 사용해서 다시 데이터프레임을 생성해보자. url = search() data = crawl_review(url) data = save_and_load(data) 좋다. 아주 ..
글 쓰는게 여간 귀찮은게 아니다.. 암튼 다음으로 넘어가보면 이제 전에 만들었던 baseurl에 접속해서 리뷰들을 크롤링하는 단계다. #import한 패키지 목록 import re import pandas as pd import requests from tqdm import tqdm from bs4 import BeautifulSoup import time 일단 편의를 위해 영화는 주토피아로 정해놓았다. 베이스주소로 이동해보면 주토피아의 경우, 17921개의 리뷰들이 한 페이지당 10개씩 올라와있다. 따라서 총 페이지개수를 정할 수 있는데, 계산하기 귀찮으니 10개가 안되는 마지막 페이지는 버리고 총 리뷰수 % 10으로 정하자. 그럼 총 리뷰수를 가져오는 selector를 구하자 평점 수 부분은 scor..
그래..시작하자.. 일단 영화 리뷰를 크롤링 하기전에 url을 살펴보았다. 영화마다 고유 code를 갖고 있고 이거를 조합해서 영화페이지에 접근한다. 영화코드 데이터셋이 있으면 좋겠지만 없으니 사용자가 원하는 영화키워드로 검색을 시도하고 검색결과를 크롤링해 결과리스트에 href속성에있는 주소에서 code를 추출하기로 했다. 그러면 사용자가 입력한 영화검색키워드에 해당하는 검색결과는 어떻게 받아올까. 하이라이트한 위치에 검색키워드를 조합해서 접근하면 될 것 같다. from bs4 import BeautifulSoup movie = input("어떤 영화를 검색하시겠습니까? ") url = f'https://movie.naver.com/movie/search/result.naver?query={movie}&..
겨울방학동안 데이터 청년 캠퍼스를 하면서 미니 프로젝트로 '네이버영화리뷰를 통한 핫 키워드 추출'을 하고있다. 모티브는 내가 진짜 좋아하는 드라마 스토브리그에서 구단에 사건에 생길때마다 네티즌들의 반응을 분석하고 시각화해서 아래와 같이 보여주는데, 나도 해보고 싶었음. 그래서 주제를 냈는데 팀플로 하게 되었다. 근데 어떤 사건에 대한 네티즌 반응을 구하는게 쉽지는 않았다. 어디서 어떻게 모을거냐구ㅠㅠ 그래서 스토브리그처럼 하는 건 너무 어려울 것 같았고, 대신 긍/부정이 명확하고, 뽑아낼 수 있는 감정표현이 다양한게 없을까 생각하다가 리뷰들을 총정리해서 보여주는 게 있으면 좋겠다는 생각을 했다! 활용은 다양하게 할 수 있겠지만 먼저 영화 리뷰를 택했다. (자료가 많으니까 ㅎ) 아무튼 생각하고 있는 목표는..