Deep Learning

Deep Learning/NLP

08. 주성분 분석

차원 축소 차원의 저주는 n x p 일때 p가 많은 경우, 연산이 어렵고 데이터 표현이 어려움 이를 위해 차원을 축소함 차원 축소로 인해 정보 손실이 발생할 수 있음 예시) 국어: 80점, 영어 60점, 수학 90점, 과학 90점 평균 = (80+60+90+80)/4 = 77.5점 평균이라는 하나의 차원으로 나타냄, 하지만 평균으로 각 과목의 점수가 몇인지는 정확히 알 수 없음. 정보 손실을 최소화하는 것이 관건. pc1 축으로 하면 좌표들이 겹치지 않고 정보를 가져올 수 있음. 축에 영세했을 때 가장 많이 퍼져있는 것을 알 수 있음. 축을 찾아내는 과정이 주성분 분석이라고 할 수 있다. 주성분 분석 고차원 데이터를 저차원 데이터로 환원한다. 분산이 가장 커질때 (= 정보 손실을 최소화 하는)축을 pc1..

Deep Learning/NLP

07. TF-IDF(단어빈도-역문서빈도)

단어빈도- 역문서 빈도 tfidf(t,d,D) = tf(t,d) * idf(t,D) tf(d,t) -한문서 안에서 단어가 많이 등장할수록 가중치가 높아짐. df(t) -특정 단어 t가 등장한 문서의 수 idf(d,t)- df(t)의 역수 TF-IDF가 높은 것 -> 특정 문서에 많이 등장하고 타 문서에 많이 등장하지 않는 단어 문서 1 : The cat sat on my face I hate a cat 문서 2: The dog sat on my bed I love a dog 문서 1의 벡터는 (0,0.06,0,0,0,0.301,0,0.301,0,0.301,0.301,0.301)이 된다. TF-IDF을 통해 문서간의 유사도를 측정할때 더 좋은 성능을 낼 수 있다. 질의에 대한 tfidf 벡터와 문서의 tf..

Deep Learning/NLP

06. Bag of Words, TDM

BoW (Bag of Words) 단어 출현 순서는 무시하고 빈도수만 기반으로 문서를 벡터화, 각 토큰들이 문서에서 몇번 등장했는지 생성방법 1.각 토큰에 고유 인덱스 부여 2. 문서별로 단어가 몇번 등장했는지 횟수 기록 한계점- 단어의 순서 고려하지 않음(문맥 고려 x), BoW는 원핫인코딩처럼 벡터공간의 낭비할 수 있음. (표시되지 않는 것 0으로 표시), 빈도수가 중요도를 의미 하지 않음. 전처리가 어떻게 하느냐에 따라 카운팅이 달라짐 code docs = ['오늘 동물원에서 원숭이를 봤어', '오늘 동물원에서 코끼리를 봤어 봤어', '동물원에서 원숭이에게 바나나를 줬어 바나나를'] #띄어쓰기 단위로 토큰화 docs_ls = [d.split() for d in docs] docs_ls [['오늘',..

Deep Learning/NLP

05. TF-IDF, N-gram

TF-IDF 역문서 빈도, 각 단어의 중요성을 가중치로 표현 tf(d,t) -한 문서 안에서 어떤 단어가 몇번 등장했는지 df(t) -단어가 얼마나 많은 문서에 등장했는지 idf(d,t) -df(t)의 역수 idf가 높으면, df가 낮은 경우 의미 tf와 달리 idf쪽에는 주로 로그를 사용한다. idf에 로그를 사용하는 이유는 단어A 와 B/ 단어 C와 D는 한개 차이지만, 빈도수가 적을때, 그 차이가 적더라도 가중치를 높게 측정한다. 단어 C와 D를 봤을 때 빈도수가 둘 다 많으면, 차이가 미미하다. 그래서 이러한 효과를 상쇄하기 위해 로그를 적용한다. TF-IDF의 계산 절차 토큰별 인덱스는 위치를 부여한다. TF 계산은 각 토큰의 등장 빈도를 계산하고, IDF 계산은 각 단어의 문서 등장빈도를 계산..

Deep Learning/NLP

04. One- Hot Encoding, Similarlity

One-Hot Encoding 단어를 숫자로 표현함 원숭이 = [1,0,0] 바나나 = [0,1,0] 사과 = [0,0,1] 새로운 단어가 등장할 때마다 차원이 하나씩 추가됨. 단어 수 만큼의 차원이 필요 ex. 원숭이 = [1,0,0] 차원수는 3개, 각각 숫자를 인덱스라고 부름. 원 핫 인코딩의 한계점 : 의미를 담지 못하는 문제가 있음 , 단어간의 유사성이 있는지는 판단할 수 없음 단어간의 유사성을 (-1,1) 사이 값으로 나타냄 직각으로 된 좌표의 코사인 유사도를 구했을 때 0이 나옴, 원핫인코딩의 성질은 직교한다는 성질이 있음. 즉, 어떤 단어들간의 코사인 유사도를 구하여도 0이 나온다 -> 따라서 의미를 분간하기 어려움 원핫 인코딩의 한계를 극복하기 위해 단어 임베딩 (word embeddin..

Deep Learning/NLP

03. 영문 텍스트 전처리

전처리 1.토큰화 -문장 단위 분리/ 단어 단위 분리 2.형태소 분석- 형태소(뜻을 가진 가장 작은 단위)로 분리 3.품사 태깅- 조사/형용사/서술어 등 품사 태깅 4.원형 복원 - 단어의 원형을 복원하여 표준화 어간 추출 -> 품사를 무시하고 규칙에 기반하여 어간을 추출함 표제어 추출 -> 사전 기반 품사정보를 유지하여 표제어 추출 5.불용어 처리 - 분석에 불필요한 단어나 방해되는 단어 제거 pip install nltk import nltk nltk.download() 하나 다운로드 창이 뜬다 그거 다운로드 하면됨 import nltk nltk.download('punkt') #마침표, 구두점 등 다운로드 from nltk.tokenize import word_tokenize text = 'I lo..

Deep Learning/NLP

02. BeautifulSoup 이용한 네이버 뉴스 데이터 수집

BeautifulSoup 와 requests를 이용하여 네이버 뉴스 데이터를 수집해보았다. 내가 수집한 뉴스는,, https://sports.news.naver.com/news?oid=117&aid=0003705467 콘테 경질→포체티노 복귀…'토트넘 선수들도 원한다' [마이데일리 = 김종국 기자] 포체티노 감독의 토트넘 복귀에 대한 기대감이 높아지고 있다.영국 스카이스포츠는 10일(한국시간) '토트넘 선수들은 포체티노 감독의 복귀를 원한다. 콘테 감독은 sports.news.naver.com (콘테 경질되길 바라는 ,,, 나의마음을 담은..) import requests from bs4 import BeautifulSoup url = "https://sports.news.naver.com/news?oi..

Deep Learning/NLP

01. 통계 기반 자연어 처리 절차

데이터 수집 -> 텍스트 전처리 -> 텍스트 분석 -> 시각화 아마 내가 학부생때 배웠던 자연어처리는 이거인듯 하다 주로 R로 작성했고 특별한 이론이 없었던것 같은 느낌 과제로 대한항공 후기 댓글 분석, 영화댓글 분석 하는것 함 이번 과정은 딥러닝 적용도 해보겠읍니다 데이터 수집 크롤링 과정,open API 수집 텍스트 전처리 포스트 내용을 일관된 포맷으로 정리, 토큰화(분석이 가능한 단위로 분리), stopword 처리, 품사 부착, 원형 복원 (표준화 과정) 텍스트 분석 포스트 내용을 긍정/부정/중립 판단, 토픽모델링, 감성분석(주관성 분석), 문서 요약 (문서 내 중요한 내용 찾아 요약) 시각화 wordcloud, EDA 등등 출처: https://github.com/insightcampus/ses..

해파리냉채무침
'Deep Learning' 카테고리의 글 목록 (7 Page)