Python/NLP(자연어처리) 5

4. 텍스트 전처리(정규화)

텍스트를 바로 분석하거나, 임베딩을 할 수는 없다. 따라서, NLP는 사전에 텍스트를 가공하는 작업이 필요하다. 머신러닝 알고리즘이나 NLP API에 입력하기 위해, 텍스트 데이터를 클렌징, 토큰화, 어근화의 과정을 거치는 것을 텍스트 전처리 또는 텍스트 정규화라고 한다. (Text Preprocess, Text Normalization) 순서는 다음과 같다. 1) 클렌징 2) 토큰화 3) 필터링 및 스톱워드 제거 4) Stemming or Lemmatization 차례대로 간략하게 설명하도록 하겠다. 1. 클렌징 텍스트 분석에 불필요한 태그를 삭제하는 과정이다. 요즘 데이터는 대부분 크롤링을 해오기 때문에, html이나 xml태그를 삭제하는 과정이 이에 속한다. beautifulsoup4이나 selen..

3. khaiii 설치 및 사용법

내가 주로 사용하는 형태소 분석기는 khaiii이다. 성능과 속도가 둘 다 준수하며, 카카오에서 지속적인 유지관리를 해주지 않을까하는 기대때문에 계속 사용하고 있다. khaiii(Kakao Hangul Analyzer iii)는 카카오가 2018년에 공개한 한국어 형태소 분석기이다. 세종코퍼스를 CNN으로 분석하여 학습했다고 한다. 유일한 단점은 Window에서 사용이 불가능하다는 점이다. MacOS과 Ubuntu에서는 사용이 가능함. https://github.com/kakao/khaiii kakao/khaiii Kakao Hangul Analyzer III. Contribute to kakao/khaiii development by creating an account on GitHub. github...

2. konlpy 사용법

한국어를 자연어처리하기 위해서는 형태소 단위로 문장을 분석해야 한다. 영어의 경우 띄어쓰기를 기준으로 단어를 나눠서 분석하면 되지만, 한국어는 의미를 나타내는 가장 작은 단위인 형태소로 분석한다. 1) 설치 가상환경에서 pip install konlpy를 한다. 2) 사용법 konlpy에는 은전한닢(Mecab), 꼬꼬마(kkma), 한나눔(Hannanum), Okt, 코모란(Komoran)이라는 5개의 형태소 분석기를 통합적으로 지원한다. API https://konlpy-ko.readthedocs.io/ko/latest/api/konlpy.tag/# tag Package — KoNLPy 0.5.2 documentation 매개 변수: jvmpath -- The path of the JVM passed ..

1. 임베딩이란

1. 임베딩의 정의 컴퓨터는 인간이 사용하는 자연어(Natural Language)를 있는 그대로 이해할 수 없다. 따라서, 우리는 컴퓨터가 글자데이터를 분석할 수 있도록, 글자를 숫자형 데이터로 변형하여 전달해야 한다. 기계가 이해할 수 있는 숫자의 배열은 벡터라고도 하기 때문에, 일반적으로 문자를 숫자로 변환하는 과정을 '벡터화한다' 혹은 '워드를 임베딩한다'라고 말한다. 임베딩의 형태는 크게 두가지가 있다. 1) 희소표현 (Sparse Representation Matrix) One-Hot encoding을 통해, 코퍼스에 사용된 단어에 인덱스번호를 부여하고 해당 단어를 인덱스값으로 치환하는 방식이다. 즉, 10000개의 단어가 있다면 벡터는 10000차원의 데이터가 된다. ex) 코퍼스의 사이즈가..

BeautifulSoup4를 사용한 간단한 크롤러 만들기

python 버전은 3.7이며, requests와 bs4 라이브러리를 외부에서 다운받아야 합니다. (가상환경을 사용하면 쉬움) 예제로 만든 코드는 네이버 영화에서 영화 순위, 이름, 변동여부, 변동등수를 가져오는 코드입니다. https://movie.naver.com/movie/sdb/rank/rmovie.nhn 랭킹 : 네이버 영화 영화, 영화인, 예매, 박스오피스 랭킹 정보 제공 movie.naver.com ****** 한글이 깨지는 경우 encoding을 'UTF-8'로 해도 깨지는 경우에는 file = open( ~, encoding = 'euc-kr')을 하면 해결됩니다. 1. 전체 코드 import requests from bs4 import BeautifulSoup import csv cla..