일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 유튜브 API
- spark udf
- subdag
- hadoop
- flask
- Retry
- youtube data
- chatGPT
- XAI
- TensorFlow
- BigQuery
- correlation
- gather_nd
- login crawling
- API Gateway
- GCP
- GenericGBQException
- API
- tensorflow text
- airflow subdag
- Counterfactual Explanations
- session 유지
- 공분산
- UDF
- top_k
- 상관관계
- Airflow
- integrated gradient
- requests
- grad-cam
- Today
- Total
목록Natural Language Processing (31)
데이터과학 삼학년
TF.2.2.0 버전 이상부터 experimental로 model의 layer에 text vectorization을 넣어주는 것이 나왔다. 이말인 즉슨, 기존에 model에 text를 태우기 위해서는 model에 들어갈 input을 vector화시키는 작업을 진행한 후 태웠다. 예를 들면 "나는 학교에 간다" 라는 문장을 [23,10,5,0,0,0,0,0] 으로 vector화 하여 태웠던 것을 말한다. 그러나, tf.keras.layers.experimental.preprocessing.TextVectorization 이것이 나옴으로써 모델에 데이터를 넣기 위해 전처리를 할 필요가...사라졌다... 파이프라인을 비교하면 아래와 같다. 기존(일반적) 개선 모델의 graph를 보면 알 수 있듯 모델 자체에 ..
In [29]: import os import urllib import pandas as pd import tensorflow as tf from tensorflow.keras import Input, Model from tensorflow.keras import optimizers from tensorflow.keras.layers import ( Dense, Embedding, GRU ) from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.utils import to_categorical pri..
PROJECT_ID = "project" BUCKET_NAME = "text" REGION = "us-central1" ! gsutil ls -al gs://$BUCKET_NAME !gcloud config set project $PROJECT_ID !gcloud config set compute/region $REGION MODEL_NAME = 'text_practice_model' VERSION_NAME = 'v1' Train !gcloud ai-platform jobs submit training text_practice_model_20200629 \ --job-dir gs://daehwan/text/model/text_practice_model_20200629 \ --module-name trai..
어텐션 메카니즘은 특정 vector에 더욱 집중을 둠으로써 모델의 성능을 향상시키는 방법이다. 여기서 다루는 어텐션은 lstm 모델의 히든스테이트에 가중치를 더욱 주는 모델로 결정하여 분석하였다. 양방향 모델과 양방향 모델에 어텐션 메카니즘을 추가한 모델을 비교한 결과 어텐션메카니즘이 보다 나은 성능을 나타냄을 확인하였다. import numpy as np import pandas as pd from soynlp.tokenizer import MaxScoreTokenizer from soynlp.word import WordExtractor from soynlp.tokenizer import LTokenizer import os import shutil import urllib import tensorf..
워드투벡터(Word2Vec) 앞서 원-핫 인코딩 챕터에서 원-핫 벡터는 단어 간 유사도를 계산할 수 없다는 단점이 있음을 언급한 적이 있습니다. 그래서 단어 간 유사도를 반영할 수 있도록 단어의 의미를 벡터화 할 수 있는 방법이 필요합니다. 그리고 이를 위해서 사용되는 대표적인 방법이 워드투벡터(Word2Vec)입니다. Word2Vec의 개념을 설명하기에 앞서, Word2Vec가 어떤 일을 할 수 있는지 먼저 확인해보겠습니다. http://w.elnn.kr/search/ 위 사이트는 한국어 단어에 대해서 벡터 연산을 해볼 수 있는 사이트입니다. 위 사이트에서는 단어들(실제로는 Word2Vec 벡터)로 더하기, 빼기 연산을 할 수 있습니다. 예를 들어 아래의 식에서 좌변을 집어 넣으면, 우변의 답들이 나옵..
형태소 분해를 위해 soynlp를 이용하고, 분류문제를 풀기 위해 tf.keras를 이용하여 이진분류를 한다. 모델은 DNN, RNN, CNN을 간단하게 적용한다. import numpy as np import pandas as pd from soynlp.tokenizer import MaxScoreTokenizer from soynlp.word import WordExtractor from soynlp.tokenizer import LTokenizer import os import shutil import tensorflow as tf from tensorflow.keras.callbacks import TensorBoard, EarlyStopping from tensorflow.keras.layers..
soynlp라는 한국어 형태소 분석기에 대해 소개하려 한다. 한국어 형태소 분석기로 가장 잘알려진 것은 koNLPy라이브러리로 이안에 mecab, komoran, kokoma, twitter(okt)등 많은 한국어 형태소 분석기가 있다. 이들의 공통점은 미리 한국어 기반의 사전을 정의하여 그 사전을 가지고 형태소를 분석하는 것이다. 하지만 koNLPy에서 제공하는 형태소분석기는 형태소 기반으로 문서를 토큰화할 수 있는 기능을 제공하지만 새롭게 만들어진 미등록 단어들은 인식이 잘 되지 않는 단점을 가지고 있다. 이를 해결하기 위해서는 사용자 사전에 단어를 등록하는 절치를 거쳐야 하는 번거로움이 있다. soynlp는 이러한 과정을 돕기 위해 사용자 사전과 형태소분석 없이 corpus를 알고리즘(cohesio..
Tfidf 벡터라이저에서 벡터화할 단위를 정해줘야하는 tokenizer를 통해 토큰을 잘라 토큰별로 벡터화가 진행된다. 먼저 전처리로 텍스트를 토큰화 한다. ### konlpy 의 mecab 을 활용하여 한글 토큰화 def noun_parsing(contents): mecab = Mecab() noun_data = ' '.join(mecab.nouns(contents)) return noun_data def morphs_parsing(contents): mecab = Mecab() noun_data = ' '.join(mecab.morphs(contents)) return noun_data ### Google cloud Natural Language API 를 이용해 토큰화 ### CNL을 이용하면 언어..