※아나콘다가 깔려있는 환경에서 실행했습니다.
자연어 처리를 하기 위해서는 jdk 가 필요하다. 그 이유는 자바 가상 머신 위에서 돌아가기 때문이다. 그래서 jdk를 다운로드한다.
https://www.oracle.com/kr/java/technologies/javase/javase-downloads.html
버전은 무난하게 8 정도를 받는다.
그다음 anaconda prompt를 들어가 아래와 같이 konlpy를 받는다.
conda install konlpy
설치 한 다음 python으로 들어간 다음
import nltk를 실행해본다. 정상적으로 설치가 되면 아래와 같이 뜨고
nltk.download()
라고 칠 경우 하나의 창이 뜬다.
All packages에서 punkt를 받고
punkt 은 받고 사용하면서 필요한 부분은 또 받도록 하자
그다음
conda install gensim
워드를 벡터로 만들어주는 라이브러리다. 요새 많이 쓴다고 한다.
중간에 proceed가 뜨면 y를 눌러 다운로드를 이어간다.
그다음은
conda install -c conda-forge jpype1
자바와 파이썬이 통신하기 위해서 다운로드한다.
이것 또한 y를 입력해 다운을 받는다.
이제 기본적인 자연어 처리를 해보자
nouns는 명사를 추출하고 pos는 문장 내 단어들의 품사를 식별을 한다.
멀쩡히 되는 걸 확인한다.
감성 분석 하기
감성 분석을 하기 위해 위와 같이 import를 한다.
여기서는 영화 리뷰에 대한 감성 분석이다.
이 부분은 영화 리뷰에 대해 스크래핑을 하기 위한 작업이다.
감성 분석을 하기 위해 위 함수를 넣는다.
이렇게 해당 값들을 빼오고
tokenize.sent_tokenize(content)를 통해 content 값을 토큰화 한다.
그다음 토큰화 한 값을 문장을 단어별로 분석해서 긍정, 부정, 중립에 대한 점수를 계산하고 반환하는 로직을 구현한다.
sid에 있는 함수 polarity_scores라는 함수를 통해 토큰화 한 sent를 넣어 점수를 계산하고 sum에서 점수를 합한다.
그렇게 총점을 구한 뒤 길이로 나눠 점수를 매긴다.
우리가 만들었던 리스트를 데이터 프레임 형태로 만들고 그것을 to_csv로 csv 파일로 만든다.
csv 파일의 결과는 위와 같다. 이렇게 해당 리뷰에 대한 감성 분석을 할 수 있다.
'Base > Python' 카테고리의 다른 글
[Python] BeautifulSoup을 통한 이미지 블로그 스크래핑하기 (0) | 2020.10.08 |
---|---|
[Python] BeautifulSoup을 통한 이미지 스크래핑 하기 (0) | 2020.10.07 |
[python] BeautifulSoup를 통한 영화리뷰 scraping 하기 (0) | 2020.10.07 |
[Python] 파이썬 기초 14 - 아주 기초적인 pandas 사용법과 예제 (0) | 2020.08.19 |
[Python] 파이썬 기초 13 - 파이썬을 통한 파일 입출력 사용법 (0) | 2020.08.19 |