requests
를 불러온다.
import requests
UCI 머신러닝 리포지토리에서에 Sentiment Labelled Sentences 데이터를 요청한다.
res = requests.get('https://archive.ics.uci.edu/ml/machine-learning-databases/00331/sentiment%20labelled%20sentences.zip')
sentiment.zip
이라는 파일을 만들고, 응답의 내용(res.content
)를 파일에 쓴다.
with open('sentiment.zip', 'wb') as f:
f.write(res.content)
파이썬의 내장 모듈인 zipfile을 이용하면 압축 파일을 열 수 있다.
from zipfile import ZipFile
sentiment.zip
을 연다.
z = ZipFile('sentiment.zip')
sentiment.zip
안에 sentiment labelled sentences
라는 폴더가 있고, 그 안에 imdb_labelled.txt
라는 파일이 있다. 이 파일을 연다.
data = z.open('sentiment labelled sentences/imdb_labelled.txt')
데이터는 CSV 포맷이므로 pandas
라이브러리를 이용해 연다.
import pandas as pd
이 자료는 탭(TAB, \t
)으로 구분이 이뤄져있으므로 sep="\t"
옵션을 사용한다. 또, 파일 상단에 열 이름이 없으므로 header=None
옵션을 설정해야 한다.
df = pd.read_csv(data, sep="\t", header=None)
df.head
로 불러온 데이터의 첫 다섯 행을 확인한다.
df.head()
0 | 1 | |
---|---|---|
0 | A very, very, very slow-moving, aimless movie ... | 0 |
1 | Not sure who was more lost - the flat characte... | 0 |
2 | Attempting artiness with black & white and cle... | 0 |
3 | Very little music or anything to speak of. | 0 |
4 | The best scene in the movie was when Gerardo i... | 1 |
0번 컬럼은 영화에 대한 한줄 평이고, 1번 컬럼은 영화에 대해 긍정(1)/부정(0)의 태도이다.
컬럼 이름을 review
, sentiment
라고 붙여준다.
df.columns = ['review', 'sentiment']
나중에 분석에 사용하기 위해 엑셀 파일로 저장한다.
df.to_excel('imdb.xlsx')