텍스트 마이닝 (Text Mining) 이란?
- 비/반정형 텍스트 데이터에서 자연어처리(Natural Language Processing)기술에 기반하여 유용한 정보를 추출, 가공하는 것을 목적으로 하는 기술이다.
> 텍스트 마이닝의 주요 기술
- 자연어 처리 (파싱, 형태소 분석, 품사 태깅, 관계 추출, 의미 추출)
- 언어모델링 (언어 감지, 규칙기반 개체명과 상용어 인식)
- 기계 학습 알고리즘 (반복훈련을 통해 습득한 정보 사용능력을 개선)
- 마이닝 기술 (각종 통계적 기법을 활용한 정보 분류 및 분석 기술)
텍스트 마이닝의 3단계 & 각 단계에서 필요한 준비
1. 문서 수집 (Crawling)
2. 형태소 분석 (NLP) (Konlpy)
3. 시각화 (Word Cloud)
1. 문서 수집 (Crawling)
1) html Parsing
2) BeautifulSoup 패키지
- 아나콘다 프롬프트에서 'pip install beautifulsoup4' 입력 => 설치
3) 형태소 모듈 테스트
2. 형태소 분석 (Konlpy)
1) 형태소 분석 개요
문서(document) > 문단(paragraph) > 문장(sentence) > 어절 > 형태소 > 음절
* 형태소 : 의미를 가진 가장 작은 말의 단위. 더 나누면 뜻을 잃어버림.
2) 형태소 분석 관련 패키지 설치
① Jpype 패키지 설치 : Python에서 java 가상머신 사용 (Java 깔려있어야함 - jdk파일 확인)
- https://www.lfd.uci.edu/~gohlke/pythonlibs/
- 위 페이지 접속 -> Ctrl+F 눌러서 검색 기능 활용 -> 'jpype' 검색 -> JPype 설치 파일 찾기
- 파이썬 버전 확인하기 !!!
Python 3.7 => cp37
Windows 64bit => win amd64 / Windows 32bit => win32
- 본인이 설치한 Python 버전을 확인하고 거기에 적절한 JPype 파일 선택해서 다운로드
- 아나콘다 프롬프트(Anaconda prompt)에서
'pip install (다운로드한 JPype whl파일의 경로와 파일이름)' 입력하여 JPype 설치
ex. >pip install c:\pywork\tools\JPype1-0.7.0-cp37-cp37m-win amd64.whl
* 경로 입력 시 앞 몇글자만 입력하고 tab 키 누르면 자동완성
② KoNLPy 패키지 설치
- 아나콘다 프롬프트(Anaconda prompt)에서서 'pip install konlpy' 입력하여 konlpy 패키지 설치
3) 형태소 모듈 테스트
## Python에서 입력
"""
java 가상 머신 사용을 위한 패키지 설치 확인/테스트
"""
import jpype
path = jpype.getDefaultJVMPath()
print(path)
# C:\Program Files\Java\jdk1.8.0_151\jre\bin\server\jvm.dll
# 경로가 잘 출력되면 연결 성공!
3. 시각화 (Word Cloud)
Word Cloud를 사용하기 위해서는
- 아나콘다 프롬프트(Anaconda prompt)에서
'pip install pygame'
'pip install pytagcloud'
'pip install simplejson'
각각 입력하여 패키지 설치
- 한글 단어를 시각화하기 위해서는 한글 글씨체를 새로 설치된 pytagcloud의 fonts에 추가해야함
> C:\Anaconda3\Lib\site-packages\pytagcloud\fonts 폴더에서
1) fonts.json 파일 열어서 다음의 내용 추가
{
"name": "korean",
"ttf": "malgun.ttf"
}
2) C:\Windows\Fonts 폴더에서 '맑은 고딕' 서체 복사 => fonts 폴더에 붙여넣기
'Python 과 머신러닝 > III. 머신러닝 모델' 카테고리의 다른 글
[Python 머신러닝] 10장. 텍스트 마이닝 - (2) 형태소 분석 & 시각화 (w/ konlpy, word cloud) (409) | 2019.10.31 |
---|---|
[Python 머신러닝] 10장. 텍스트 마이닝 - (1) 크롤링 (Crawling) (0) | 2019.10.31 |
[Python 머신러닝] 9장. 추천시스템 (Recommendation System) (0) | 2019.10.30 |
[Python 머신러닝] 8장. 군집분석 (Cluster Analysis) (0) | 2019.10.29 |
[Python 머신러닝] 7장. 앙상블 (Ensemble) - (3) XGBoost (0) | 2019.10.28 |
댓글