자연어 (natural language) : 일상 생활에서 사용하는 보편적인 언어
자연어 처리 (natural language processing, NLP) : 컴퓨터가 자연어를 처리하는 일
ex) 음성 인식, 번역, 요약, 분류
from nltk.tokenize import TreebankWordTokenizer
단어를 숫자로 바꿔줌
정수 인코딩 (Integer_encoding)
vocab = [('apple',8),('July',6),('piano',4),('cup',2),('orange',1)]
word2inx = {word[0] : index +1 for index, word in enumerate(vocab)}
Zero-padding
1) 문장들에 정수 인코딩을 거침
2) 각 문장에 대해서:
3) 해당 문장이 가장 긴 문장의 길이보다 작을 경우:
4) 문장 길이를 맞출 때까지 0을 뒤에 추가
One-hot Encoding
1) 0 [1,0,0,0,0,0]
2) 1 [0,1,0,0,0,0]
3) 2 [0,0,1,0,0,0]
4) 3 [0,0,0,1,0,0]
5) 4 [0,0,0,0,1,0]
6) 5 [0,0,0,0,0,1]
저장 공간을 많이 차지해 필요할때만 사용
Word2vec Encoding
TF-IDF
토큰화 --> 정제, 추출 --> 인코딩(패딩)
벡터 유사도 : Cosine Metric
문장 유사도 분석 : Example
love | apple | delicious | love | food | DL
1 1 0 0 0 0 -->norm:
1 1 1 0 0 0 -->norm:
0 1 1 0 1 0 -->norm:
0 0 0 0 0 1 -->norm:
벡터 유사도: Euclidean Metric
Levenshtein Distance
Levenshtein Distance : Tabular Method
Jaccard Distance