오늘 할 일: 갈고 닦기
article thumbnail
[NLP] 텍스트 전처리: 파이썬에서 띄어쓰기, 문장 분리 라이브러리 사용하기

들어가며 자연어 처리 모델은 입력 데이터의 형태에 굉장히 의존합니다. 동일한 의미를 가진 단어임에도 매번 형태가 달라진다면 모델의 성능을 보장할 수 없습니다. 텍스트를 최대한 규칙적이고 일관된 형태로 변환하기 위해 불필요한 정보들(불용어, 이모티콘, 특수기호, 이메일, 전화번호, 주소 등)를 제거하고, 맞춤법과 띄어쓰기 교정하기, 문장을 분리하기 등 다양한 전처리를 거치는데요,본 포스트에서는 텍스트 전처리 중 띄어쓰기와 문장 분리를 하는 방법들을 알아보겠습니다! 파이썬 ver: 3.8.10 띄어쓰기 적용하기: PyKoSpacing 띄어쓰기가 아예 되어있지 않은 한국어 문장 "아버지가방에들어가신다"는 두 가지 의미로 이해될 수 있습니다. "아버지가 방에 들어가신다"와 "아버지 가방에 들어가신다"로요. 띄어..

article thumbnail
[공연] 실리카겔 <POWER ANDRE 99> 콘서트 관람 후기
일상다반사/기타 2023. 11. 12. 14:30

왜 실리카겔인가(소제목의 비장함에 비해 내용없음 주의)현대인들이 갖고 있는 취미 중 가장 흔한 것을 꼽으라면 음악 감상이 아닐까 생각한다. 유튜브, 멜론, 스포티파이, 애플뮤직 등 다양한 플랫폼을 통해 음악을 들을 수 있으니 접근성이 좋고 장소에 구애받지 않고 이어폰만 있으면 되고. 나또한 출퇴근길에서 무료함을 해소하기 위해, 많은 인파들 사이에서 조금이나마 숨통을 트이고 나의 공간을 만들기 위해 음악 감상을 취미로 갖고 있다. 올해 알게 된 가수 중 가장 인상적인 가수는 단연 실리카겔이다. 우연히 추천을 받아 NO PAIN 을 들었는데 시작할 때부터 몰아치는 밴드 사운드가 먼저 집중도를 높이는 데에 큰 공헌을 했다. 이어서 ‘소외됐던 사람들 모두 함께 노래를 합시다‘라는 가사도 따뜻함이 느껴져 굉장히 ..

article thumbnail
[체험] 2023 현대 롱기스트런 10km 마라톤 후기
일상다반사/기타 2023. 10. 29. 19:21

마라톤 신청 / 준비하기 5월에 5km 마라톤을 처음 도전한 후로 올해 중에 한두번 정도 더 해보면 좋겠다고 생각했다. 5km로 말이다. 10km는 생각도 안하고 있었는데, 역시 사람일은 모른다고. 정신을 차려보니 10km 마라톤을 신청한 뒤였다. 보험도 같이 해주니 기댈 구석이 생겨 안심도 됐다. 런데이에서 진행하는 '롱기스트런' 이벤트에 참여하면 선착순 무료로 10km 파이널런에 참여할 수 있다고 들었다. 무료라는 것에 순간 혹해서 신청을 하게 되었다. '롱기스트런' 이벤트는 크게 어렵지 않았다. 15분씩 5회 달리기를 하는 것이 전부였다. 9월 초에 신청했는데 당시 달리기를 오래 하지 않은 상태였어서 그냥 산책 겸 걸었다.. ㅎㅎ 파이널런을 신청하고나니 조금 위기감을 느껴 다시 달리기 연습을 시작했..

article thumbnail
[Tips] 파이썬에서 구글 드라이브의 대용량 파일 다운로드 받기

상황 및 문제점 구글 드라이브에 올라온 대용량 파일을 직접 다운로드 후 서버에 업로드 하려니 너무 오래 걸리고, 중간에 끊기는 문제가 발생함 해결방법 터미널에서 아래 wget 명령어를 사용하여 직접 다운로드를 받을 수 있습니다. wget --load-cookies ~/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies ~/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id={FILEID}' -O- | sed -rn 's/.*confirm=([0-9A-Za-..

article thumbnail
[NLP] 감성 분석과 ABSA(Aspect-Based Sentiment Analysis) 개념

최근 새로운 자연어 처리라는 새로운 태스크를 접하게 되었습니다. 자연어 처리 과제 중에서도 텍스트에 내포된 감성에 대해 분석하는 과제인 "감성 분석(Sentiment Analysis)"과 "ABSA(Aspect-Based Sentiment Analysis)"에 대해 알아보았고, 간단하게 개념을 정리하기 위해 포스트로 남깁니다. 감성분석 ABSA에 대해 이해하기 위해서는 감성 분석에 대해 먼저 알아야겠습니다. 감성 분석이란, "텍스트에서 감정을 파악하는 자연어 처리(NLP, Natural Language Processing) 과제"입니다. 여기서 얘기하는 "텍스트"는 사람의 의견이 담긴 소비자 리뷰, 설문조사 응답, 채팅 등이 될 수 있습니다. 그 의견이 긍정적인지 부정적인지 혹은 중립적인지를 판단하는 것..

article thumbnail
[여행] 경주 기행 2: 경주를 즐기는 다양한 방법들(동궁과 월지/국립경주박물관/스컹크웍스/햇님식당)
일상다반사/기타 2023. 9. 24. 14:33

지난 경주 기행 1편에 이어 2편 포스트이다. 2박3일동안 경주에 있으면서 (1편에서 소개했던 곳들을 제외하고) 좋았던 곳들을 남겨보고자 한다. [동궁과 월지] 압도적인 야경뷰 1위 https://naver.me/5Gy5Jmjg 동궁과 월지 : 네이버 방문자리뷰 4,013 · 블로그리뷰 9,984 m.place.naver.com 어렸을 때는 ‘안압지’라고 배웠으나 현재는 ‘동궁과 월지’라고 불린다. 신라 멸망 이후 기러기와 오리가 있는 연못이라는 의미로 ‘안압지’라고 불리다가, 유물 발굴 결과 신라시대 때 '월지'라고 불렸다는 것이 확인되어 ‘동궁과 월지’라는 명칭으로 변경되었다고 한다. 입장료는 성인 기준 3,000원인데 값을 더 받더라도 기꺼이 지불하고 방문할만큼 분위기 좋고 아름다운 곳이다. 육칠..

article thumbnail
[여행] 경주 기행 1: 로즈 와일리 전시 / 녹전국수 (Thanks to 여둘톡)
일상다반사/기타 2023. 9. 18. 23:22

나는 팟캐스트 여둘톡의 애청자다. 지난 여름에 여둘톡에서 경주 여행을 소개한 후로 작가님들의 발자취를 따라가겠다고 생각해왔다. 그리고 지난 주말,, 3개월간 묵혀온 소망을 실천했다! 코레일 파업이 겹쳐지는 바람에 여행 자체를 취소하는 것까지 생각했는데, 숙소 체크인 전날이라고 환불을 한푼도 받을 수 없다길래 일정을 유지하기로 정했다. 급하게 오후반차를 신청하고 버스를 타고 경주에 내려갔고, 이튿날 계획했던 여둘톡에서 소개한 전시회와 식당에 방문했다. [Hullo, AGAIN 로즈 와일리 전시] Hullo는 헬로의 영국식 표현이라고 한다. 이전에 서울, 부산에서 전시를 한 적이 있었고, 마지막으로 경주에서 전시를 하게 되어 Hullo, AGAIN이라고 하는 제목이 붙었다고 한다. 도슨트 시작 시간보다 조금..

article thumbnail
[Tips] 범주형 변수의 카테고리 개수를 줄이는 방법들

들어가며 데이터 탐색을 하다보면 다양하게 골치아픈 상황들을 마주하게 됩니다. 컬럼의 대부분이 비어있다거나, 분명 동일한 값인데 대문자 버전과 소문자 버전이 있다거나, 값의 정의가 시점에 따라 다르거나.. 등등 전처리가 필요한 경우는 신기할 정도로 많이 존재합니다. 그 중 하나가 바로 범주형 변수가 가진 카테고리가 너무 많은 경우입니다. 카테고리가 너무 많은 경우, 타겟과의 연관성을 파악하기도 번거롭고 시각화를 하더라도 한 눈에 들어오질 않습니다. 그 상태로 원핫인코딩을 진행한다면 카테고리마다 변수가 생겨 데이터가 sparse해지고, 트리 계열 모델을 학습한다면 학습 시간이 길어지면서 과적합되는 상황도 발생할 수 있을 것입니다. 위와 같은 단점을 해결하기 위해서는 해당 변수 내 카테고리 개수를 줄여야하는데..

article thumbnail
[sklearn] LabelEncoder와 OrdinalEncoder 비교

들어가며 분석 과제를 하던 도중 범주형 변수를 숫자로 인코딩하기 위해 LabelEncoder가 필요하겠다 싶었습니다. 사용법을 확인하기 위해 사이킷런 공식문서를 살펴봤는데.. LabelEncoder는 타겟 변수 y를 하기 위해 사용하라고 써있더군요. label이 붙는 범주형 변수면 으레 사용 가능하다고 생각했었는데, 제가 오해를 하고 있었습니다. 공식문서를 다시금 잘 살펴보자는 교훈을 얻었네요. 이번 포스트는 LabelEncoder 와 OrdinalEncoder를 각각 소개하고 비교하고자 합니다. 두 인코더 모두 범주형 변수를 숫자로 인코딩하기 위해 쓰이는데요, LabelEncoder는 위에서 언급한 바와 같이 범주형 타겟 변수를, OrdinalEncoder는 범주형 입력 변수를 대상으로 합니다. 각각의..

article thumbnail
[pandas] style로 데꾸(데이터프레임 꾸미기)하는 방법

들어가며 오랜만에 파이썬을 사용하다가 유용해보이는 기능을 발견하여 공유하고자 합니다. 바로 pandas의 style 기능입니다. 데이터 분석을 하면 데이터프레임에 찍힌 숫자나 문자와 같은 값들을 보면서 무엇이 제일 크고 작은지, 관심있게 보려는 값이 어디있는지 찾아야하는 일이 생기죠. 이때 내가 원하는 값들이 쉽게 눈에 띄지 않은 경험을 한 번쯤은 해보셨을 것 같습니다. 행, 열이 많아지면 주의 깊게 봐야하는 값이 어디에 있는지 더욱 찾기 어려워지기도 하죠. 이런 일들을 해결하기 위해 데꾸, 데이터프레임 꾸미기를 활용할 수 있습니다. 판다스의 공식 문서를 보며 유용할 것 같은 일부 함수들을 가져와 소개 드립니다. 비어있는 값, nan 강조하기 import numpy as np import pandas a..

반응형