ML&DL(32)
-
[NLP] 텍스트 벡터화
벡터화 (Vectorization) 1. 신경망 사용하지 않을 경우 - 단어 : 원-핫 인코딩 - 문서 : Document Term Matrix, TF-IDF 2. 신경망 사용할 경우 - 단어 : 워드 임베딩 (Word2Vec, GloVe, FastText, Embedding layer) - 문서 : Doc2Vec, Sent2Vec 3. 문맥을 고려한 벡터 표현 방법 - ELMo,BERT,GPT,T5 (Pre-trained model) 단어의 벡터화 : 원-핫 인코딩 - 전체 단어 집합의 크기를 벡터의 차원으로 가진다 (0 과 1로 이루어져있음) - 각 단어에 고유한 정수 인덱스를 부여, 해당 인덱스의 원소는 1로 나머지 원소는 0을 가지는 벡터 ex) 다음과 같이 정수 인코딩이 되었다면, 과일이 0 길..
2023.11.03 -
[NLP] 데이터 전처리 - 정수 인코딩 / 패딩 실습
정수 인코딩 - 토큰화 수행 후 각 단어에 고유한 정수를 부여해주는 것 - 정수로 만드는 이유는 컴퓨터가 이해하기 쉽도록 텍스트 -> 숫자로 표현 - 모든 단어의 집합(Vocabulary)을 만들고 이를 기반으로 문서를 정수로 인코딩 해줌 패딩 - 텍스트에 대해 정수 인코딩을 수행했을 때 길이가 서로 다르게 되는데 길이를 맞춰주기 위해 사용 - 길이를 맞춰줌으로써 병렬 연산을 할 수 있게 만들어줌. - 패딩 길이가 너무 작으면 데이터 손실의 문제, 길이가 너무 길면 중요도가 낮은 데이터 포함되는 문제가 있으므로 적절하게 지정해줘야함 💻 정수 인코딩 실습 라이브러리 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt imp..
2023.11.02 -
[NLP] 데이터 전처리 - 정제 / 정규화
[NLP] 전처리 - 정제 / 정규화 정제 - 노이즈 데이터 제거하는 것 정규화 - 표현이 다른 단어를 같은 단어로 통합하는 것 정제를 하는 이유 ? - 유의미한 단어만 추출하기 위해서는 노이즈 데이터를 제거해줘야함 - 노이즈 데이터는 빈도가 적은 단어, 의미를 갖지 않은 글자, 특수 문자 등 불필요한 데이터를 의미함 - 보통 불용어 제거라고 함 한국어 불용어 리스트 참고 - https://www.ranks.nl/stopwords/korean - https://mr-doosun.tistory.com/24 NLTK - 영어는 NLTK 에서 제공하는 불용어 리스트를 사용해 불용어를 제거할 수 있음 from nltk.corpus import stopwords from nltk.tokenize import wo..
2023.09.27 -
[NLP] 데이터 전처리 - 영어/ 한국어 토큰화 실습
https://situdy.tistory.com/41 [NLP] 전처리 - 한국어 토큰화 [NLP] 토큰화 (tokenization) 토큰화 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업을 토큰화(tokenization)라고 한다. 단어 토큰화/ 문장 토큰화 한국어 토큰화가 어려운 이유 - 같은 단어임 situdy.tistory.com 이전글에 이어서 실습을 해보겠습니다. 영어 토큰화 일반적으로 영어는 NTLK 패키지 사용 영어 단어 토큰화 - 토크나이저 종류 1) word_tokenize 2) WordPunctTokenizer 3) TreebankWordTokenzier 💻 실습 # nltk import import nltk nltk.download('punkt') 토큰화 ..
2023.09.21 -
[NLP] 데이터 전처리 - 한국어 토큰화
[NLP] 토큰화 (tokenization) 토큰화 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업을 토큰화(tokenization)라고 한다. 단어 토큰화/ 문장 토큰화 한국어 토큰화가 어려운 이유 - 같은 단어임에도 다른 조사가 붙어서 다른 단어로 인식됨. ex) 그가, 그에게, 그를, 그와, 그는 - 한국어는 띄어쓰기가 잘 지켜지지 않음 그러면 한국어는 어떻게 토큰화 할까? - 영어와 달리 한국어는 형태소 단위로 토큰화해야함 품사 태깅 - 의미는 다른데 표기가 같은 경우를 고려해 품사 태깅을 해줘야함 ex) 못 => 망치와 못 (명사) / 못 먹는다 (부사) KSS 한국어의 문장 토크나이저 Konlpy 한국어 자연어 처리를 위한 패키지로서 다양한 형태소 분석기와 품사 태깅 ..
2023.09.21 -
[NLP] Python 한글 맞춤법 검사 라이브러리
py-hanspell 네이버 맞춤법 검사기를 이용한 파이썬용 한글 맞춤법 검사 라이브러리 맞춤법 교정 기능 자동 띄어쓰기 기능 https://github.com/ssut/py-hanspell GitHub - ssut/py-hanspell: 파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용) 파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용). Contribute to ssut/py-hanspell development by creating an account on GitHub. github.com 왜 사용하는가 ? 한국어는 띄어쓰기나 맞춤법이 제대로 지켜지지 않는 경우가 빈번함. 맞춤법이 틀리면 토큰화를 할 때 같은 단어인데도 다른 단어로 분류되는 문제가 발생 언제 사용하..
2023.09.21 -
자연어 처리(NLP) (1)
1. 자연어처리 1) 자연어 우리가 일상 생활에서 사용하는 인간의 언어 2) 자연어 처리 (natural language processing) 자연어 텍스트를 컴퓨터가 학습할 수 있도록 변환하는 작업 2. 토큰화 (Tokenization) 1) 토큰화 주어진 Corpus(단어뭉치)에서 토큰(Token)이라 불리는 단위로 나누는 작업 주어진 문장에서 의미부여가 가능한 단어를 찾아내기 2) 토큰화에서 고려해야 할 사항 구두점, 특수 문자 단순 제외 금지 줄임말과 단어 내 띄어쓰기가 있는 경우 ex) New York 구두점, 특수무자를 모두 제거하는 작업만으로는 토큰화 불가능 3) 토큰화 방법 파이썬 NLTK 라이브러리 사용 문장 토큰화 토큰의 단위가 문장일 경우 문장 분류라고도 함 4) 한국어 토큰화 KSS..
2023.09.20 -
[NLP] BERT로 영화 리뷰 분류하기
🤗 Hugging Face - Transformer과 같은 다양한 인공지능 모델을 사용할 수 있도록 라이브러리를 제공하는 모듈 - 대표적인 모델로 Transformer 기반인 BERT, GPT 모델 등이 있음 📌 목표 - 네이버 영화 리뷰를 감성(긍정/부정) 분류해보기! 💻 실습 코드 Hugging Face가 제공하는 transformers 라이브러리 설치 !pip install transformers 라이브러리 및 패키지 import import pandas as pd import numpy as np import urllib.request import os from tqdm import tqdm import tensorflow as tf from transformers import BertTokeni..
2023.09.20