본문 바로가기

전체 글

(186)
4. 워드 임베딩(Word Embedding) 워드 임베딩(Word Embedding) 단어를 컴퓨터가 이해하고, 효율적으로 처리할 수 있도록 단어를 벡터화하는 기술 단어를 밀집 벡터의 형태로 표현하는 방법 워드 임베딩 과정을 통해 나온 결과를 임베딩 벡터 워드 임베딩을 거쳐서 잘 표현된 단어 벡터들은 계산이 가능하며, 모델에 입력으로 사용할 수 있음 인코딩(Encoding) 기계는 자연어를 이해할 수 없기 때문에 데이터를 기계가 이해할 수 있도록 숫자 등으로 변환해주는 작업 자연어를 수치화된 벡터로 변환하는 작업 희소 표현(Sparse Representation) 원-핫 인코딩을 통해서 나온 원-핫 벡터들은 표현하고자 하는 단어의 인덱스의 값만 1이고, 나머지 인덱스에는 전부 0으로 표현되는 벡터 표현 방법 벡터 또는 행렬의 값이 대부분이 0으로 ..
3. 임베딩(Embedding) 자연어의 특성 자연어를 기계가 처리하도록 하기 위해서는 먼저 자연어를 기계가 이해할 수 있는 언어로 바꾸는 방법을 알아야 함 토큰화 작업의 결과인 단어 사전을 기계가 이해할 수 있는 언어로 표현하는 과정이고 단어 사전에 단어 하나를 어떻게 표현할까의 문제로 볼 수 있음 단어의 유사성과 모호성 대부분의 언어에서 단어의 의미는 유사성과 모호성을 가지고 있는데 단어는 겉으로 보이는 형태인 표제어안에 여러가지 의미를 담고 있음 대부분 사람은 주변 정보에 따라 숨겨진 의미를 파악하고 이해할 수 있으나 기계는 학습의 부재 또는 잘못된 데이터로 의미를 파악하지 못하는 경우가 있음 한 가지 형태의 단어에 여러 의미가 포함되어 생기는 중의성 문제는 자연어 처리에서 매우 중요 동형어와 다의어 동형어: 형태는 같으나 뜻이 ..
2. 데이터 전처리 코퍼스(Corpus) 사전적인 의미는 "말뭉치", "대량의 텍스트 데이터"를 말함 자연어처리 연구나 애플리케이션 활용을 염두에 두고 수집된 텍스트 데이터셋을 의미 토큰화(Tokenization) 전처리 과정에는 토큰화, 정제, 정규화 작업 등이 있음 토큰화는 원시 데이터를 가져와 유용한 데이터 문자열로 변환하는 간단한 프로세스 사이버 보안, NFT 생성에 사용되는 것으로 유명, 자연어 프로세스의 중요한 부분을 차지함 토큰의 단위는 자연어 내에서 의미를 가지는 최소 단위로 정의 단락과 문장을 보다 쉽게 의미를 할당할 수 있는 더 작은 단위로 분할하는데 사용 토큰화 작업은 주어진 코퍼스내 자연어 문장들을 토큰이라 불리는 최소 단위로 나누는 작업 토큰화 과정의 필요성 언어 모델의 자연어 이해 능력 향상 다양한..
WordPiece tokenization WordPiece tokenization subword tokenizer의 종류 중 하나 구글이 BERT를 사전 훈련(pretrain)시키기 위해 개발한 토큰화 알고리즘 DistilBERT, MobileBERT, Funnel Transformers 및 MPNET과 같은 BERT 기반의 꽤 많은 Transformer 모델에서 재사용됨 학습 과정에서는 BPE와 매우 유사하지만 실제 토큰화는 다르게 수행됨 Training algorithm BPE와 마찬가지로 WordPiece는 모델에서 사용하는 special token과 초기 알파벳을 포함하는 작은 어휘(vocabulary)에서 시작함 BERT의 ##과 같은 접두사를 추가하여 하위 단어를 식별하기 때문에 각 단어는 단어 내부의 모든 문자에 해당 접두사를 추가..
13. 떡볶이집의 입점전략 떡볶이집의 입점전략 pandas import import pandas as pd 사용할 데이터 셋(소상공인시장진흥공단_상가(상권)정보_서울_202303) 데이터프레임으로 저장 df = pd.read_csv('/content/drive/MyDrive/데이터분석/소상공인시장진흥공단_상가(상권)정보_서울_202303.csv') 데이터프레임 출력 df 파리바게트 데이터 필터링하기 contains() 특정 문자열 포함여부를 True, False로 반환 # '상호명'이 '파리바게트'이거나 '파리바게뜨'인 데이터 추출 cont1 = df["상호명"].str.contains(r'파리바게트|파리바게..
12.스타벅스 API를 이용한 프로젝트 스타벅스 API를 이용한 프로젝트 라이브러리 import import requests import folium import json from pandas.io.json import json_normalize import warnings warnings.filterwarnings("ignore") 스타벅스 api 데이터 가져오기 targetSite = 'https://www.starbucks.co.kr/store/getSidoList.do' request = requests.post(targetSite) print(request) print(request.text) 스타벅스 데이터를 딕셔너리 타입으로 변환하기 star_json = json.loads(request.text) print(star_json) ..
11. 따릉이 API를 이용한 프로젝트 API(Application Programming Interface) 여러 프로그램들과 데이터베이스, 여러 기능들의 상호 통신 방법을 정하고 도와주는 매개체 따릉이 API 접속하기 라이브러리 import import requests # 요청과 응답을 받아오는 라이브러리 import folium import json # json을 다루는 라이브러리 from pandas.io.json import json_normalize # json을 데이터프레임을 바꿔줌 import warnings # warning 제거시켜주는 라이브러리 # warnings.filterwarnings("ignore")를 작성해야 warning이 뜨지않음 warnings.filterwarnings("ignore") 따릉이 api 데이터 ..
10. 전국 도시공원 데이터 프로젝트 전국 도시공원 데이터 프로젝트 사용할 라이브러리 import import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 한글폰트 설치 및 등록 !sudo apt-get install -y fonts-nanum !sudo fc-cache -fv !rm ~/.cache/matplotlib -rf plt.rc("font", family="NanumBarunGothic") 사용할 전국 도시공원 데이터셋 park = pd.read_csv("/content/drive/MyDrive/데이터분석/전국도시공원표준데이터 (2).csv", encoding="ms949") par..