본문 바로가기
728x90
SMALL

Python/Data Engineering11

문자열 중간 다중 공백 제거하는 방법 1. 글을 작성하게 된 계기 데이터 전처리를 하다 보면 데이터에 문자열 중간중간에 다중 공백이 있는 경우들이 많다. 그래서 해당 공백들을 제거하는 여러 방법과 속도 측면에서 어떤 것이 좋을지에 대해서 정리하고자 한다. 2. 다중 공백 제거하는 방법 방법 1) 문자열을 리스트로 나누고 다시 문자열로 합치기 (split → join) contents = 'This cafe is a good restaurant.' text = ' '.join(contents.split()) print(text) # This cafe is a good restaurant. 방법 2) 정규표현식(re) 이용하기 import re contents = 'This cafe is a good restaurant.' text = re.s.. 2023. 1. 28.
py-hanspell을 이용한 네이버 맞춤법 검사기 1. 글을 쓰게 된 계기 여러 한국어 형태소 분석기를 사용하면서 맞춤법이 맞지 않을 때 형태소 분석기가 잘 되지 않는 현상을 확인했다. 그래서 이번 프로젝트에서 사용하는 데이터 특성상 ★그램 리뷰 데이터들은 오탈자가 많다는 문제가 있어서 맞춤법 검사기를 사용한 뒤에 형태소 분석을 진행하려고 한다. 2. 사용 방법 다음 명령어를 사용해 git 저장소를 clone 해서 저장받고 모듈을 설치해 보도록 하자. (py-hanspell git repo) git clone https://github.com/ssut/py-hanspell cd py-hanspell python setup.py install 이제 다음 받은 모듈을 불러와서 테스트해보자. spell.checker.check("검사할문장") 을 이용하면 맞.. 2023. 1. 24.
KoNLPy를 활용한 한국어 형태소 분석기 비교 1. 글을 쓰게 된 계기 프로젝트를 진행하면서 한국어에서 유의미한 내용만 전처리하는 과정을 수행하게 되면서 한국어 형태소 분석기가 여러 종류가 있고 그것에 대해서 정리해 보면 좋겠다고 생각하게 되었습니다. (Okt를 쓰면서 띄어쓰기 유무에 따라 10분 이상 차이 나는 것을 보며 충격 먹었다.) 많은 형태소 분석이 있겠지만 저는 Okt, Komoran, Kkma, Mecab을 비교해보려고 합니다. 2. 사전 작업 okt, komoran, kkma를 사용하기 위해서는 konlpy를 설치만 하면 된다. mecab을 사용하기 위해서는 bash 창에서 아래 코드처럼 실행해 준다. (OS별로 다른 설치 코드가 있기 때문에 KoNLPy 사이트를 참고하자) # okt, komoran, kkma를 사용하기 위한 konl.. 2023. 1. 24.
Mecab 설치 에러 해결 : Exception: Install MeCab in order to use it: http://konlpy.org/en/latest/install/ 1. 글을 쓰게 된 계기 Mecab을 이용해서 형태소 분석을 하려고 했으나 다음과 같은 오류가 나서 해결하고자 한다. 2. 해결방법 3가지 설치 과정을 통해 문제를 해결할 수 있습니다. 1. mecab-ko 설치 2. mecab-dic 설치 3. mecab-python 설치 1. mecab-ko 설치 - Mecab을 wget을 이용해 설치합니다. wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz - 해당 파일 압축을 해제합니다. tar xvfz mecab-0.996-ko-0.9.2.tar.gz - 해제 후 다음코드를 차례대로 설치합니다. cd mecab-0.996-ko-0.9.2 ./configure make.. 2023. 1. 22.
정규식을 이용한 데이터 전처리(문자만 남기기) 1. 글을 작성하게 된 계기 텍스트 데이터를 전처리 하다 보면 흔하게 문자만 남기거나 특정 문자를 삭제하는 등과 같은 데이터 전처리 작업이 필요한 경우들이 많다. 그래서 정규식을 이용해 데이터를 전처리 하는 방법에 대해서 정리하고자 글을 작성하게 되었다. 2. 정규식을 이용한 데이터 전처리 - 단일 변수일 경우(문자 외에 모두 제거) import re string = "abcdefㄱㄴㄷㄹㅁㅂ가나다라마바사12345[]{}().,!?'`~;:" re.sub('[^A-Za-z0-9가-힣]', '', string) #영어대문자,소문자,숫자,한글만 남기기 # Out[1]: 'abcdef가나다라마바사12345' import re def preprocessing_text(): s='韓子는 어렵고, 한글은 nice하다.. 2023. 1. 14.
728x90
LIST