Data Analysis/Natural Language Processing(NLP)

Data Analysis/Natural Language Processing(NLP)

네이버 자연어 키워드 분석

오늘은 네이버 웹문서 검색 api를 가져와, '인공지능'에 대한 웹검색 / 뉴스 / 블로그에대 분석해보고 시각화해보겠습니다.import os import sys import urllib.request import pandas as pd import json import re import urllib.request import pandas as pd import matplotlib.pyplot as plt import matplotlib as mpl plt.style.use('seaborn-white') client_id = '#########' # 개인 client id client_secret = '#########' # 개인 client secret query = urllib.parse.quote(i..

Data Analysis/Natural Language Processing(NLP)

양질의 데이터 확보하기

품질이 좋은 데이터를 충분한 양으로 확보하는 것은 어려운데요. 한국어 데이터를 확보하는 것은 특히 더 어렵습니다. 거기에는 몇 가지 이유가 있는데요. 먼저 한국어는 영어, 중국어, 스페인어 등과 같은 다른 언어에 비해 한국어를 구사하는 사람이 많지 않아 리소스 자체가 적습니다. 사용하는 사람이 적기 때문에 당연하게도 해당 언어로 된 좋은 데이터가 많이 만들어지지 않은 것입니다. 또 다른 이유는 한국어의 독특한 특징들 때문입니다. 앞선 레슨들에서 한국어 자연어 처리를 더 어렵게 만드는 특징들을 알아보았습니다. 한국어의 복잡하고 어려운 특징은 전처리 작업을 까다롭게 만들기 때문에 품질이 좋은 데이터를 생산하기가 쉽지 않습니다. 이러한 어려움에도 불구하고 최근 한국어 자연어 처리에 대한 연구가 활발해지면서, ..

Data Analysis/Natural Language Processing(NLP)

KoNLPy 설치하기(Windows)

KoNLPy는 한국어 자연어 처리를 위한 파이썬 패키지입니다. 한국어 자연어 처리를 위한 여러 작업(문장 분리, 형태소 분석, 어간 추출, 의미역 추출, 개체명 인식 등)을 손쉽게 할 수 있도록 해 줍니다. KoNLPy에 있는 대부분의 도구들은 Java를 기반으로 만들어졌습니다. 그래서, Python으로 자연어 처리를 할 때 KoNLPy를 사용하기 위해선 컴퓨터에 Java가 설치되어 있어야 하고, Python에서 Java로 만들어진 클래스를 호출하기 위한 JPype1도 설치되어 있어야 합니다. 해당 과정을 한번 진행해 볼게요. 참고로, 저희는 아나콘다 환경에서 KoNLPy를 설치하는 과정을 살펴볼 건데요. KoNLPy 설치하기JDK 설치하기KoNLPy는 Java 기반의 자연어 처리 도구들을 사용할 수 있..

Data Analysis/Natural Language Processing(NLP)

KoNLPy 설치하기(M1)

KoNLPy는 한국어 자연어 처리를 위한 파이썬 패키지입니다. 한국어 자연어 처리를 위한 여러 작업(문장 분리, 형태소 분석, 어간 추출, 의미역 추출, 개체명 인식 등)을 손쉽게 할 수 있도록 해 줍니다. KoNLPy에 있는 대부분의 도구들은 Java를 기반으로 만들어졌습니다. 그래서, Python으로 자연어 처리를 할 때 KoNLPy를 사용하기 위해선 컴퓨터에 Java가 설치되어 있어야 하는데요. 맥북에는 기본적으로 Java가 설치되어 있기 때문에 그냥 pip install konlpy 커맨드만 실행해도 설치가 잘 됩니다. 하지만 m1 맥북의 경우에는 별도로 Java를 설치하고, 환경을 설정하는 과정이 필요합니다. 이번 튜토리얼을 통해 안내해 드릴게요.KoNLPy 설치하기JDK 설치하기KoNLPy는 ..

Data Analysis/Natural Language Processing(NLP)

형태소 분석

형태소 분석 한국어는 접사와 조사가 발달되어 있어 다양한 형태의 어휘 구사가 가능합니다. 예를 들어 '공부하겠다', '공부했다', '공부시킨다', '공부하더라' 등 '공부하다'라는 하나의 동사가 문맥에 따라 다양하게 사용될 수 있습니다. 이러한 활용형의 단어들을 모두 단어 집합에 넣는다면 총 단어 수가 매우 많아질 것입니다. 그러면 코퍼스의 복잡도가 증가해 분석이 어려워지겠죠? 때문에, 자연어 전처리 과정에서 형태소 분석을 꼭 해줘야 합니다. 형태소 분석이란 단어의 어근과 접사를 분리하는 작업을 뜻하는데요. 띄어쓰기 교정과 마찬가지로 형태소 분석을 위해서도 여러 분석기가 공개되어 있습니다. 그 중 대표적으로 KoNLPy를 많이 사용합니다. KoNLPy KoNLPy는 한국어 자연어 처리를 위한 파이썬 패키..

Data Analysis/Natural Language Processing(NLP)

py-hanspell 설치하기

py-hanspell은 파이썬으로 한국어 자연어 처리를 할 때 사용하는 라이브러리입니다. 네이버 맞춤법 검사기를 이용해 주어진 한글 데이터의 맞춤법과 띄어쓰기를 교정하는 기능을 제공해 주는데요. 주피터 노트북에서 작업을 하고 있다면 아래 코드를 써서 바로 py-hanspell을 설치할 수 있습니다.!pip install py-hanspell하지만, 경우에 따라 위의 명령어로 설치가 안되는 경우도 있습니다. 그럴 경우에는 아래 방법을 따라해 주세요.py-hanspell 수동 설치하기먼저, py-hanspell의 코드가 있는 GitHub으로 이동하겠습니다.py-hanspell Github 바로가기접속하면 이런 화면이 나오는데요.우측 상단에 있는 'Code' 버튼을 클릭하면 나오는 드롭다운 메뉴에서 Downl..

Data Analysis/Natural Language Processing(NLP)

띄어쓰기 교정

지금까지 영어 자연어를 중심으로 배운 내용들은 한국어 데이터 분석에서도 충분히 활용 가능한데요. 한국어 데이터에 배운 내용들을 적용하려면 몇 가지 절차가 추가로 필요합니다. 그 중 하나가 띄어쓰기 교정입니다. 띄어쓰기 교정 한국어는 띄어쓰기를 잘 지키지 않아도 문장의 의미를 이해할 수 있습니다. 예를 들어, 아래와 같은 문장이 있다고 해볼게요. 나는오늘티스토리블로그에글을올렸다. 이해하는데 불편하긴 하지만 그래도 어떤 의미인지 파악은 할 수 있죠? 이런 특성 때문에 보통의 한국어 코퍼스에는 띄어쓰기가 잘 지켜지지 않는 경우가 많습니다. 그리고 이렇게 띄어쓰기가 어긋난 데이터로 분석을 진행하면 전처리의 토큰화 과정부터 오류가 발생할 수 있습니다. 이러한 오류의 가능성 때문에 자연어 전처리 단계를 시작하기 전..

Data Analysis/Natural Language Processing(NLP)

VADER 감성 분석 실습

실습 설명imdb.tsv 리뷰 데이터의 문장별 감성 지수를 구하는 함수 vader_sentiment()를 작성해 주세요. 참고로 VADER는 SentimentIntensityAnalyzer를 생성한 뒤, polarity_scores() 함수를 호출해 사용할 수 있습니다. 파라미터로 코퍼스를 받아, 해당 코퍼스의 감성 지수(compound)를 리턴하도록 함수를 만들어 주세요. imdb.tsvreview 0"Watching Time Chasers, it obvious that it was made by a bunch of friends. Maybe they were sitting around one day in film school and said, \""Hey, let's pool our money tog..

Data Analysis/Natural Language Processing(NLP)

VADER

VADER란?VADER(Valence Aware Dictionary and sEntiment Reasoner)는 감성 분석을 위한 어휘 사전이자 알고리즘입니다. 앞에서 살펴본 SentiWordNet과의 큰 차이점은 일반적인 감성 어휘 사전의 규칙 외에도 축약형과 기호 등을 고려해 감성 지수를 추출할 수 있다는 점인데요. 그래서 주로 축약형 표현이나 특수 문자가 많이 사용된 소셜 미디어 텍스트를 분석할 때 자주 사용됩니다. VADER는 아래 명령어로 설치할 수 있습니다.pip install vaderSentimentVADER 사용법아래는 VADER를 사용해 감성 지수를 계산하는 코드입니다. VADER로 감성 분석을 하려면 SentimentIntensityAnalyzer를 생성한 뒤 polarity_scor..

Data Analysis/Natural Language Processing(NLP)

SentiWordnet 감성 분석 실습

실습 설명 주어진 파일(imdb.tsv)의 리뷰 데이터 별 감성 지수를 구하는 함수 swn_polarity()를 작성해 주세요. imdb.tsv review 0"Watching Time Chasers, it obvious that it was made by a bunch of friends. Maybe they were sitting around one day in film school and said, \""Hey, let's pool our money together and make a really bad movie!\"" Or something like that. What ever they said, they still ended up making a really bad movie--dull sto..

달려라 국나뇽
'Data Analysis/Natural Language Processing(NLP)' 카테고리의 글 목록