machine learning
-
[AI] Annoy (Approximate Nearest Neighbors Oh Yeah) 설명 및 예제machine learning 2023. 3. 28. 14:23
Annoy 임베딩 들은 similarity를 직접 구하는 게 많이 사용되는데 특히 추천 같은 경우에서는 다른 사람들의 리스트와 내 리스트가 비슷한 경우에는 제일 비슷한 사람의 리스트에서 내가 보지 않은 리스트들을 추천해줌 (예로 들어 넷플릭스) 모든 유저랑 내 기록이랑 similarity 구하는데 유저가 많으면 너무 오래 걸리기 때문에 그런 문제를 해결하기 위해서 나온 Annoy 라이브러리 Nearest Neighbor (근접 이웃) 새로운 데이터를 입력 받았을 때, 가장 가까이 있는 것이 무엇이냐를 중심으로 새로운 데이터의 → 이제까지는 분류모델을 학습을 했는데 각각의 데이터가 있으면 새로 들어온 데이터의 제일 근접한 같은 분류를 하기도 함 Annoy (Approximate Nearest Neighbo..
-
[AI] Embedding + LSTM 분류 예제machine learning 2023. 3. 28. 14:13
Embedding + LSTM 분류 실습 초반에 LSTM 분류를 원핫인코딩으로 했던걸, 글로브 벡터 입력으로 받도록 해서 수정 from collections import Counter import urllib.request # spam 메일 데이터 받아오려고 씀 import pandas as pd import numpy as np import tensorflow as tf import nltk from nltk.tokenize import sent_tokenize from nltk import WordPunctTokenizer nltk.download('punkt') from google.colab import drive drive.mount('/content/drive') # spam classific..
-
[AI] 벡터화 및 One-Hot Encoding 실습machine learning 2023. 3. 28. 14:12
벡터화 자연어가 기계가 이해할 수 있도록 숫자로 변환해주는 과정 원-핫 인코딩(One-Hot Encoding) 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 벡터 표현 방식 원-핫 인코딩 과정 각 단어에 고유한 인덱스 부여 표현하고 싶은 단어의 인덱스에 1, 아닌 단어에는 0 부여 원-핫 인코딩 실습1 from my_tokenizer import tokenize # 사전 생성 def make_vocab(tokens): word2index = {} for voca in tokens: if voca not in word2index.keys(): word2index[voca] = len(word2index) return word2i..
-
[AI] 데이터 전처리의 이해 및 실습machine learning 2023. 3. 28. 14:10
전처리 이해 토큰화 주어진 데이터를 토큰(Token)이라 불리는 단위로 나누는 작업 토큰이 되는 기준은 다를 수 있음(어절, 단어, 형태소, 음절, 자소 등) 정제 불필요한 데이터(Noise data)를 제거하는 작업 정규화 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어주는 작업 문장 토큰화 문장분리 단어 토큰화“Hello, World!” -> “Hello”, “,”, “World”, “!” 구두점 분리, 단어 분리 토큰화 실습 # 문장 분리 from nltk.tokenize import sent_tokenize text = "Hello, world. These are NLP tutorials." print(sent_tokenize(text)) import nltk from nltk impor..
-
[AI] 자연어 처리의 이해machine learning 2023. 3. 28. 14:08
자연어란? 자연어(Natural Language)는 사람과 사람이 일상 생활에서 서로 대화하는데 사용하는 언어를 뜻함 자연어 처리 자연어의 의미를 분석하여 컴퓨터가 처리할 수 있도록 하는 일 전처리를 위한 형태소 분석, 개체명 인식, 구문 분석부터 음성 인식, 내용 요약, 번역, 사용자의 감성 분석, 텍스트 분류 작업(스팸 메일 분류, 뉴스 기사 카테고리 분류), 질의 응답 시스템, 챗봇 등의 응용분야에 활용이 됨 전처리 이해 토큰화 주어진 데이터를 토큰(Token)이라 불리는 단위로 나누는 작업 토큰이 되는 기준은 다를 수 있음(어절, 단어, 형태소, 음절, 자소 등) 정제 불필요한 데이터(Noise data)를 제거하는 작업 정규화 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어주는 작업 문..
-
[AI] 단어표현방법 (Bag of Words, Word2Vec, One-hot Vector 등) 설명 및 실습machine learning 2023. 3. 28. 14:06
단어표현방법(word representation) DTM: Document-Term Matrix (문서 단어 행렬) LSA: Latent Semantic Analysis (잠재 의미 분석) N-gram : N(숫자)가 2라면 2글자씩 토큰으로 만든다. Glove : Count랑 Word2Vec이랑 합친것 LSA : 문서 전체에서 count하는 방법 Bag of Words (BoW) 단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도를 활용하는 단어 표현 방법 단어들의 가방이라는 뜻으로 모든 단어를 가방에 넣어서 표현한다는 의미 BoW를 만드는 과정 각 단어에 고유한 정수 인덱스를 부여 → one hot vector에서 처음에 vocab을 생성했던 부분과 동일 각 인덱스의 위치에 단어 토큰의 등장 횟..
-
[AI] Word2Vec, GloVe, FastText, ELMo 기본 설명 및 실습machine learning 2023. 3. 28. 14:05
word2vec 실습 다운로드 https://dumps.wikimedia.org/kowiki/latest/ kowiki-latest-pages-articles.xml.bz2 다운로드 받고 Zip 파일 압축 풀지 않고 바로 붙여 넣기 wikimedia 데이터를 받은 후 바로 사용이 불가능하다. → 데이터 전처리를 위해 아래의 github 주소의 코드를 다운로드 (wikimedia 데이터를 전처리, 추출하기 위한 소스코드) https://github.com/MouhamadAboShokor/wikiextractor 다운로드 ZIP → 압축 풀고 폴더 복붙 파이참에서 터미널 열기 day3 폴더로 이동 → cd C:\Python\nlp2\day3 python -m wikiextractor.WikiExtractor..
-
챗GPT 체험 (주식투자자 시점)machine learning 2023. 3. 26. 19:16
human: 주식투자를 하고 있는데 잃지 않는 투자법이 있을까? 챗GPT: 주식투자에서는 절대적으로 잃지 않는 투자법은 존재하지 않습니다. 모든 투자는 리스크가 따르기 때문입니다. 하지만 투자자가 일정한 기준을 지켜가며 투자를 하면서 손실을 최소화할 수 있습니다. 아래는 투자자가 투자를 할 때 고려할 수 있는 몇 가지 방법입니다: 1. 적절한 투자금액 설정: 투자자의 자본금 중 일정 금액 이상을 투자하지 않는 것이 좋습니다. 또한 투자 금액은 자신이 감당할 수 있는 범위 내에서 결정하는 것이 중요합니다. 2. 투자 전 분석: 투자 전 기업의 재무상태, 경영상황, 업종 동향 등을 분석하여 투자 가능성과 위험성을 파악하는 것이 중요합니다. 3. 다양한 분산 투자: 여러 개의 주식에 투자하여 분산 투자를 하는..