전체 글
-
TensorFlow 기초 37 - RNN(Recurrent Neural Network)TensorFlow 2022. 12. 13. 17:01
RNN(Recurrent Neural Network)은 히든 노드가 방향을 가진 엣지로 연결되어 순환구조를 이루는(directed cycle) 인공신경망의 한 종류입니다. 음성, 문자 등 순차적으로 등장하는 데이터 처리에 적합한 모델로 알려져 있다. Convolutional Neural Networks(CNN)과 더불어 최근 들어 각광받고 있는 알고리즘이다. 활용 : 텍스트 분류, 품사 태깅, 문서 요약, 문서 작성, 기계 번역, 이미지 캡션... 등 사용 RNN은 sequence data : 입력값에 대해 현재의 state가 다음의 state에 영향을 준다. # RNN(Recurrent Neural Network)은 히든 노드가 방향을 가진 엣지로 연결되어 순환구조를 이루는(directed cycle)..
-
TensorFlow 기초 36 - 네이버 영화 리뷰 데이터로 word2vec 객체 생성 후 특정 단에 대한 유사도 확인TensorFlow 2022. 12. 13. 15:07
# 네이버 영화 리뷰 데이터로 word2vec 객체 생성 후 특정 단에 대한 유사도 확인 import pandas as pd import matplotlib.pyplot as plt import urllib.request from gensim.models.word2vec import Word2Vec from konlpy.tag import Okt urllib.request.urlretrieve("https://raw.githubusercontent.com/pykwon/python/master/testdata_utf8/ratings.txt", filename='rating.txt') # print(pd.read_table('rating.txt')) train_data = pd.read_table('rati..
-
TensorFlow 기초 35 - naver 제공 영화 5편을 웹스크래핑 해서 평점을 읽어 영화 간 유사도 확인TensorFlow 2022. 12. 13. 12:44
# naver 제공 영화 5편을 웹스크래핑 해서 평점을 읽어 영화 간 유사도 확인 from bs4 import BeautifulSoup import requests from konlpy.tag import Okt import numpy as np import pandas as pd from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer def movie_scrap_func(url): result = [] for p in range(1, 11): # print(url + '&page=' + str(p)) r = requests.get(url + '&page=' + str(p)) # print(r) soup = Beautifu..
-
TensorFlow 기초 34 - 한글 데이터로 워드 카운트TensorFlow 2022. 12. 13. 11:12
한글 데이터로 워드 카운트 # 한글 데이터로 워드 카운트 from sklearn.feature_extraction.text import CountVectorizer text_data = ['나는 배 고프다 아니 배가 고프다.', '오늘 점심 뭐 먹지?', '내일 공부 해야겠다.', '점심 먹고 공부 해야지!'] count_vec = CountVectorizer(analyzer='word', min_df=1) # word는 단어별, char는 글자별 # count_vec = CountVectorizer(analyzer='word', min_df=1, ngram_range=(1, 1)) # count_vec = CountVectorizer(analyzer='word', min_df=1, ngram_range..
-
TensorFlow 기초 33 - sklearn이 제공하는 자연어 특징 추출 : 문자열을 수치 벡터화TensorFlow 2022. 12. 13. 10:35
CountVectorizer sklearn이 제공하는 자연어 특징 추출 : 문자열을 수치 벡터화 각 텍스트에서 단어 출현 횟수를 카운팅하는 방법으로 CountVectorizer TfidfVectorizer TF : 특정 단어가 하나의 문장 안에서 등장하는 횟수 DF : 특정 단어가 여러 문장에 등장하는 횟수 IDF : DF에 역수를 취함 # TF-IDF : 하나의 문장 안에서 자주 나오는 단어에 대해 가중치를 부여. 여러 문장에서 자주 등장하는 단어의 경우에는 패널티를 주는 방법 # sklearn이 제공하는 자연어 특징 추출 : 문자열을 수치 벡터화 # 각 텍스트에서 단어 출현 횟수를 카운팅하는 방법으로 CountVectorizer : 수치 벡터화(BOW) from sklearn.feature_extra..
-
TensorFlow 기초 32 - 형태소 분석 후 word2vec을 이용하여 단어 간 유사도 확인TensorFlow 2022. 12. 9. 16:24
daum 사이트의 뉴스자료를 읽어 형태소 분석 후 word2vec을 이용하여 단어 간 유사도 확인 # 네이버 뉴스 기사를 읽어 형태소 분석 후 word2vec을 이용하여 단어간 유사도 확인 import pandas as pd from konlpy.tag import Okt okt = Okt() with open('daumnews.txt', mode='r', encoding='utf-8') as f: lines = f.read().split('\n') print(lines) print(len(lines)) wordDic = {} # 명사만 추출해 단어 수 확인 {'카카오': 7 ... for line in lines: datas = okt.pos(line) # pos : 품사 태깅 # print(datas..
-
TensorFlow 기초 31 - 워드 임베딩 vs 원핫 인코딩, 밀집표현, 단어 간 유사도TensorFlow 2022. 12. 9. 15:06
자연어 처리란 자연어의 의미를 분석하여 컴퓨터를 통해 사람들이 원하는 어떤 결과를 처리할 수 있도록 하는 일을 말한다. 이를 통해 음성 인식, 문서 요약, 문서 번역, 감성 분석, 텍스트 분류(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의 응답 시스템, 챗봇 등의 다양한 분야에서 사용될 수 있다. 딥 러닝을 이용한 자연어 처리가 주목을 받으면서, 획기적인 알고리즘으로 무장한 새로운 연구 논문들이 활발하게 발표되고 있다. 이러한 기술들을 이해하려면 먼저 자연어 처리에 필요한 전처리 방법(preprocessing), 전통적인 방식의 통계 기반 언어모델, 그리고 무엇보다 중요한 것은 자연어 처리를 위한 관심이 필요하다고 생각한다. 워드 임베딩 : 단어를 수치화해서 vector로 만듦, 단어를 밀집 벡터(..
-
TensorFlow 기초 30-1 - 전이학습(기초 30 이어서)TensorFlow 2022. 12. 8. 16:42
# 전이학습이란? # 학습 데이터가 부족한 분야의 모델 구축을 위해 데이터가 풍부한 분야에서 훈련된 모델을 재사용하는 머신러닝 학습기법 # 구글이 만든 MobileVet V2 모델을 사용 # pip install tensorflow-datasets !pip install tensorflow-datasets # MobileVet V2 모델을 일부 재학습한 후 개/고양이 분류 모델을 생성 import os import numpy as np import matplotlib.pyplot as plt import tensorflow as tf import tensorflow_datasets as tfds # tfds.disable_progress_bar # 진행률 표시바를 보여주지 마! (raw_train, ra..