[토이프로젝트] 트위터대답봇 만들기(2)
2022. 8. 30. 01:38
인공지능/Natural Language Process
tweet_reply.py 파일을 새로 만들었다 import tweepy import logging import credentials api_key = credentials.api_key api_secret_key = credentials.api_secret_key access_token = credentials.access_token access_token_secret = credentials.access_token_secret auth = tweepy.OAuthHandler(api_key, api_secret_key) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) # For adding logs in ap..

[토이프로젝트] 트위터대답봇 만들기(1)
2022. 8. 30. 00:50
인공지능/Natural Language Process
문제: 같이 트위터하는 친구들이 너무 쓸데없는 말을 많이 함 sentiment analysis에 따라 안돼/미워/당연 이 세 단어로 대답하는 간단한 트위터봇을 만듦으로써 이 문제를 해결해보려고 한다. 1. 봇 배포를 위해 AWS에 가입한다. 2. 트위터에 가입, https://developer.twitter.com/에서 개발자 계정을 발급 받고 key를 생성한다. - 가입 내용에 개발자 계정의 목적을 상세히 적는다 - App 을 새로 생성한다 - settings에서 User authentication settings를 수정한다 : 읽고 쓰기가 모두 가능하도록 (여기서 삽질을 너무 많이 했다 흑흑) - 대시보드에서 Key를 재생성한다: API Key, API Key Secret, Access Token, ..

[Kaggle] Natural Language Processing with Disaster Tweets(1)
2022. 8. 28. 17:54
인공지능/Natural Language Process
연습겸 전처리를 전혀 거치지 않고 BERT 모델 활용하는 예제를 그대로 썼다 모델 모양은 아래와 같다 m_url = 'https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/2' bert_layer = hub.KerasLayer(m_url, trainable=True) def build_model(bert_layer, max_len=512): input_word_ids = tf.keras.Input(shape=(max_len,), dtype=tf.int32, name="input_word_ids") input_mask = tf.keras.Input(shape=(max_len,), dtype=tf.int32, name="input_mask") segme..

Natural Language Processing with Classification and Vector Spaces: sentiment analysis with Naive Bayes(2)
2022. 5. 25. 00:21
인공지능/Natural Language Process
Training Naïve Bayes 경사하강법 없음. 그냥 출현횟수만 셀 것임. 1. 전처리 - 소문자화, 특수문자, 대명사 제거, 불용어 제거, 어간 분리, 토큰화 2. word count - 클래스별로 출현횟수 정리한 사전 구축 3. 조건부확률 계산 + 라플라시안 스무딩 4. 람다 계산 5. log prior 추정 - 클래스별 전체 트윗 개수로 비율 구한 후 log값 구함 (* 완전히 균형이 맞춰진 데이터셋에서 log prior는 0 이 됨) Testing Naïve Bayes - 훈련된 나이브 베이즈 모델로 새로운 트윗의 감정을 예측하기 - 람다 스코어표, log prior 활용 - 람다 스코어표를 모두 더한다 - 사전에 없는 새로운 단어는 neutral로 간주한다 - log prior 도 더한다..

Natural Language Processing with Classification and Vector Spaces: sentiment analysis with Naive Bayes(1)
2022. 5. 24. 19:06
인공지능/Natural Language Process
Probability and Bayes’ Rule - probability, conditional probability - Bayes' rule - tweet classifier probability 를 세는 방법? frequencies 를 카운트 한다 사건 A : 어떤 트윗이 positive으로 라벨링된다 P(A) : 사건 A의 확률 positive 트윗의 개수 / 전체 트윗의 개수 어떤 트윗이 negative로 라벨링될 확률은 1-P(A) (*전체 트윗은 positive 아니면 negative 이다) 사건 B : 어떤 트윗이 단어 'happy'를 포함한다 P(B) : 사건 B의 확률 'happy'를 포함한 트윗의 개수 / 전체 트윗의 개수 'happy'를 포함하면서 positive로 분류된 트윗은? ..

Logistic Regression 퀴즈 풀이
2022. 5. 22. 19:31
인공지능/Natural Language Process
sparse representation의 한계는 강의 초반에 언급되었음 이거 쓸데없이 헷갈렸음 ㅡㅡ;;ㅋㅋ 시그모이드 함수에 대해서 θTx(i) 가 0을 기준으로 양의 방향으로 갈 때 h(x(i),θ) 는 1에 가까워지고, 음의 방향으로 갈 때 h(x(i),θ)가 0에 가까워짐 y 라벨이 1일 때와 0일 때로 나눠 생각해보면 된다 y 라벨이 1인데 예측값이 0에 가까우면 손실은 커지고, y 라벨이 0인데 예측값도 0에 가까워지면 손실은 0에 수렴 생각해보면 매우 간단한 문제.. 시그모이드 함수 그래프 그려보면 금방 나온다 이진 분류를 위한 logistic regression을 할 때 필요한 과정들 요거 급 헷갈려서 컨닝했다 1) 파라미터 초기화 2) 예측 3) 그라디언트 계산 4) 업데이트 라벨이 1인 ..

Natural Language Processing with Classification and Vector Spaces: sentiment analysis with logistic regression
2022. 5. 19. 11:24
인공지능/Natural Language Process
Supervised ML & Sentiment Analysis logistic regression(로지스틱 회귀) 을 적용하기 [Supervised ML(training)] Labels Y (expected value)와 predicted output Y햇이 얼마나 비슷한지 비교하는 cost funtion cost가 최소화될 때까지 파라미터를 수정하며 업데이트 [Sentiment analysis] - negative : 0 - positive : 1 --> Logistic Regression : 두 개의 클라스 중 하나로 분류 Logistic Regression Classifier 1) raw 학습셋에서 useful feature 로 추출 2) classifier 학습 3) 예측 Vocabulary & ..
Natural Language Processing 특화 과정
2022. 5. 19. 11:06
인공지능/Natural Language Process
Coursera에서 "Natural Language Processing 특화 과정"을 수강하기로 했다. 요건 수료증 받는 걸 목표로 ... 총 네 개 강좌로 이루어져 있는데 각 강좌는 4주차 분량 정도 된다 강좌1) Natural Language Processing with Classification and Vector Spaces - sentiment analysis with logistic regression - sentiment analysis with naive bayes - vector space models - machine translation and document search 강좌2) Natural Language Processing with Probabilistic Models - au..