일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Airflow
- Counterfactual Explanations
- API
- correlation
- spark udf
- UDF
- GenericGBQException
- Retry
- subdag
- API Gateway
- TensorFlow
- airflow subdag
- GCP
- BigQuery
- session 유지
- tensorflow text
- 공분산
- integrated gradient
- requests
- top_k
- 유튜브 API
- XAI
- grad-cam
- flask
- login crawling
- youtube data
- hadoop
- gather_nd
- 상관관계
- chatGPT
- Today
- Total
목록Natural Language Processing (31)
데이터과학 삼학년
BTS 불건전 팬픽 데이터를 모아 label=0, 건전 팬팩은 label=1로 구성한 데이터 셋을 이용해 분류 문제를 푼다. 일단 불건전 팬픽의 경우, 팬픽 데이터를 일단 다 내려받은 후에 팬픽의 특정 불건전 단어가 들어가는 문장을 뽑아 이러한 문장을 모아 재구성하였다. 건전 팬픽의 경우, GCP bigquery에 데이터를 올려놓고 이를 가져와 사용한다. import numpy as np import pandas as pd from konlpy.tag import Mecab from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.naiv..
보통 읽을 파일의 인코딩형태를 확인하기 위해 cchardet 라이브러리를 사용한다. import cchardet def encoding_type(file_path): with open(file_path, 'rb') as f: data = f.read() encoding = cchardet.detect(data)['encoding'] print('encoding type:',encoding) return encoding ======= UTF-8 읽을 텍스트 데이터의 인코딩 형식을 알아내어, 해당 인코딩 형식에 맞게 데이터를 읽어올 필요가 있다. 왜냐면 한글의 경우, utf-8 로 인코딩하면 대부분 잘 동작하지만, 때로는 utf-1, uhc로 인코딩된 경우도 있기 때문에 쉽지가 않다. 한 폴더에 있는 모든 ..
한국어 문장 자르는 package가 있어 소개한다. pip3 install kss 로 간단히 설치 후 적용 코드 import kss s = "회사 동료 분들과 다녀왔는데 분위기도 좋고 음식도 맛있었어요 다만, 강남 토끼정이 강남 쉑쉑버거 골목길로 쭉 올라가야 하는데 다들 쉑쉑버거의 유혹에 넘어갈 뻔 했답니다 강남역 맛집 토끼정의 외부 모습." for sent in kss.split_sentences(s): print(sent) =========================== 회사 동료 분들과 다녀왔는데 분위기도 좋고 음식도 맛있었어요 다만, 강남 토끼정이 강남 쉑쉑버거 골목길로 쭉 올라가야 하는데 다들 쉑쉑버거의 유혹에 넘어갈 뻔 했답니다 강남역 맛집 토끼정의 외부 모습. 만약 문장을 잘라 필터를 통해..
Lemmatization (표제어 추출)과 Stemming (어간 추출)에 대해 알아보자. 먼저 text를 전처리하는데 있어서 단어의 개수를 줄일 수 있는 대표적인 기법이 표제어, 어간 추출이다. 이는 간다, 가자, 갑시다, 가네요 등을 가다. 라는 한가지 의미로 줄여 줄 수 있다. 이를 통해 분석의 복잡성을 줄일 수 있고, 특히 단어의 빈도수를 기반으로 vectorization을 하는 BoW(Bag of Words) 표현을 처리할 때 유용하게 사용할 수 있다. Lemmatization (표제어 추출) 표제어란 기본 사전형 단어 정도의 의미로 받아 들일 수 있다. 즉, 각 단어들이 다른 형태를 가지더라도 그 뿌리 단어를 찾아가는 것을 말한다. 예를 들어 am, are, is --> be 로 변환할 수 있..
Text를 전처리하는 작업의 일환으로 토큰화가 있다. 토큰화 작업 전 후를 기준으로 데이터를 분석에 맞게 정제(cleaning) 및 정규화(Normalization)하는 것에 대해 알아본다. 정제(cleaning) : 갖고 있는 코퍼스로부터 노이즈 데이터를 제거한다. 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다. 정제 및 정규화 기법 1. 규칙에 기반하여 표기가 다르지만 의미가 같은 단어들을 통합하는 것이다. - 예를 들면, USA 나 US 나 같은 의미를 가지므로 하나의 단어로 정규화할 수 있다. 2. 대소문자 통합 - 영어에서는 첫글자를 제외한 나머지 글자는 주로 소문자로 작성하기 때문에 모든 단어를 소문자 혹은 대문자로 변환하여 단어 처리하는 것..
자연어 처리에서 텍스트를 전처리하는 것은 매우 중요한 일이다. TEXT를 컴퓨터가 인식할 수 있는 숫자의 형태로 어떻게 바꿔줄 것인가에 대해 알아보고자 한다. Tokenization (토큰화) 토큰화는 주어진 문서 코퍼스(corpus)를 토큰(token)이라는 단위로 자르는 작업을 말한다. 영어의 경우 NLTK, 한국어의 경우 KonLPY를 통해 토큰화를 할 수 있다. 예를 들어 문장 : 나는 집에 갑니다. 토큰화 : 나는, 집에, 갑니다 로 자르는 것을 말한다. 영어의 경우 대게 띄어쓰기를 기준으로 토큰화를 하면 되지만, 한글의 경우 조사, 접속사가 있기 때문에 띄어쓰기 단위로 토큰화를 하는 것은 무리가 있다. 일단 영어를 가지고 토큰화에 대해 더 알아보면 Don't be fooled by the da..
한국어 관련 대표적인 형태소 분류기는 konlpy에서 볼 수 있다. kkma, komoran, mecab, twitter(현 okt) 등이 있다. 이것들을 활용하면 문장을 토큰나이저할 뿐만 아니라 품사까지 알 수 있어 분석에 맞게 쓸 수 있다. mecab이 형태소 분류에 빠른 처리 속도를 보여 큰 용량의 데이터를 분석할때 적합해 보인다. konlpy를 이용하여 간단히 문장을 토큰하여 count를 세어 word cloud로 표현한 코드는 아래와 같다. !pip install konlpy !pip install wordcloud from konlpy.tag import Okt, Kkma,Komoran #형태소 분석기 from collections import Counter #빈도수 세기 from wordcl..