728x90
아래의 내용은 아래 url 주소의 블로그 내용을 참조하였음.
참조: 캡스톤 디자인 프로젝트 A: 한글 자연어 처리 - konlpy의 형태소 분석기
https://seokyung.tistory.com/2
한글 자연어 처리를 위한 koNLPy 라이브러리를 Colab에 설치하여 실행해 보자. 한글 형태소 분석기
라이브러리 konlpy 를 설치하고 이어서 한글 토큰화에 필요한 kss 라이브러리를 설치한다.
1 | !pip install konlpy |
2 | !pip install kss |
윈도우즈10 이나 MAC, LINUX 시스템에 설치할 경우 자바와 관련 JPype 설치 문제가 까다로운 편이지만,
리눅스 기반인 Colab에서는 웬만한 라이브러리는 이미 설치되어 지원되기 때문에 JPype 를 굳이 설치할 필요가 없다.
konlpy 를 사용하여 토큰화 후 형태소 분석기인 Okt(Open Korea Text), 꼬꼬마(Kkma), 한나눔(Hannanum), 코모란(Komoran), 메캅(Mecab)의 메소드를 사용하여
⓵ morphs : 형태소 추출,
⓶ pos : 품사 태깅(Part-of-speech tagging),
⓷ nouns : 명사 추출 작업을 성공적으로 실행하였다.
자연어 처리를 위한 텍스트를 문장별로 분리하자.
3 | import kss text = '최근 들어 도시의 경쟁력 향상을 위한 새로운 전략의 하나로 창조 도시에 대한 논의가 활발하게 진행되고 있다. 창조 도시는 창조적 인재들이 창의성을 발휘할 수 있는 환경을 갖춘 도시이다. 즉 창조 도시는 인재들을 위한 문화 및 거주 환경의 창조성이 풍부하며, 혁신적이고도 유연한 경제 시스템을 구비하고 있는 도시인 것이다. 창조 도시의 주된 동력을 창조 산업으로 볼 것인가 창조 계층으로 볼 것인가에 대해서는 견해가 다소 엇갈리고 있다. 창조 산업을 중시하는 관점에서는, 창조 산업이 도시에 인적·사회적·문화적·경제적 다양성을 불어넣음으로써 도시의 재구조화를 가져오고 나아가 부가가치와 고용을 창출한다고 주장한다. 창의적 기술과 재능을 소득과 고용의 원천으로 삼는 창조 산업의 예로는 광고, 디자인, 출판, 공연 예술, 컴퓨터 게임 등이 있다.' print(kss.split_sentences(text)) |
형태소를 추출한다.
4 | from konlpy.tag import Okt okt = Okt() print(okt.morphs("최근 들어 도시의 경쟁력 향상을 위한 새로운 전략의 하나로 창조 도시에 대한 논의가 활발하게 진행되고 있다. ")) ------------------------------------------------------------- ['최근', '들어', '도시', '의', '경쟁력', '향상', '을', '위', '한', '새로운', '전략', '의', '하나로', '창조', '도시', '에', '대한', '논의', '가', '활발하게', '진행', '되고', '있다', '.'] |
단어별로 품사를 붙이자.
5 | print(okt.pos("최근 들어 도시의 경쟁력 향상을 위한 새로운 전략의 하나로 창조 도시에 대한 논의가 활발하게 진행되고 있다. ")) ------------------------------------------------------------- [('최근', 'Noun'), ('들어', 'Verb'), ('도시', 'Noun'), ('의', 'Josa'), ('경쟁력', 'Noun'), ('향상', 'Noun'), ('을', 'Josa'), ('위', 'Noun'), ('한', 'Josa'), ('새로운', 'Adjective'), ('전략', 'Noun'), ('의', 'Josa'), ('하나로', 'Noun'), ('창조', 'Noun'), ('도시', 'Noun'), ('에', 'Josa'), ('대한', 'Noun'), ('논의', 'Noun'), ('가', 'Josa'), ('활발하게', 'Adjective'), ('진행', 'Noun'), ('되고', 'Verb'), ('있다', 'Adjective'), ('.', 'Punctuation')] |
명사만을 추출하자.
6 | print(okt.nouns("최근 들어 도시의 경쟁력 향상을 위한 새로운 전략의 하나로 창조 도시에 대한 논의가 활발하게 진행되고 있다. ")) ------------------------------------------------------------- ['최근', '도시', '경쟁력', '향상', '위', '전략', '하나로', '창조', '도시', '대한', '논의', '진행'] |
※ kkma, Hannanum, Komoran은 첨부 Colab 파일 Hangulnlp_01.ipynb를 다운받아 실행시켜 보자.
'자연어처리' 카테고리의 다른 글
Simple Bow 알고리듬에서의 Back-propagation of Matrix Multiplication (0) | 2023.01.03 |
---|---|
IMDB 영화 리뷰 데이타 베이스 Sentiment 분석 (0) | 2022.12.19 |
IMDb 영화등급 설정 파라메터 연구 사례 (0) | 2022.07.03 |
Sentiment 분석에서 문서의 토큰화(Processing documents into tokens) (0) | 2022.07.01 |
Sentiment 분석에 불필요한 텍스트 데이터 클리닝 (0) | 2022.07.01 |