자연어 처리 : 카운트 기반의 단어 표현 : Bag of Words + DTM
1. Bag of words 란? (1) 정의 단어들의 출현 빈도에만 집중하는 text data 수치화 표현방법이다. 문장을 숫자로 표현, 가방 안에 순서 상관없이 문자를 모두 넣는다고 생각하자. (2) BoW 만드는 과정 문장을 입력하면, 단어들이 모두 포함된 단어들을 list 화 한 후, key 값에 맞는 단어들의 value를 증가해준다. 예를 들면, not good, not bad 경우에는 not이 2개, bad 1개, good 1개 로 [0, 0, 0, 0, 2, 1, 1] 이다. 이런식으로 여러 문장들의 단어 집합 리스트를 만들어서 test 문장을 하나씩 비교해보면 유사도 측정이 가능하다. (3) 유사도 비교 위 문장에서 awesome thank you, great thank you의 bag o..
2020. 3. 6.
자연어처리 : 카운트 기반의 단어 표현
단어의 표현 방법 국소 표현 (Local Representation) : 단어 그 자체만을 보고 특정 값에 mapping 하는 방법 ex) puppy -> a[0], cute ->a[1], lazy ->a[2], turtle -> a[3] 분산 표현 (Distributed Representation) : 단어 주변을 참고하여 단어를 표현하는 방법 ex) puppy와 cute는 상관관계가 존재, 따라서 vector(1,0), (0.9,0.1) // turtle와 lazy는 vector (0,1), (0.1, 0.9) 구조 우리는 자연어처리에서 예측을 기반으로하는 FastText를 주로 학습할 것이고, 예측과 카운트 두 가지 방법이 모두 사용된 GloVe를 학습할 것이다.
2020. 3. 6.
자연어처리 : 텍스트 처리 : one-hot-encoding
정의 '나', '는', '자연어', '처리', '를', '배운다' 라는 단어가 있다. 이를 하나씩 {'나': 0, '는': 1, '자연어': 2, '처리': 3, '를': 4, '배운다': 5} 라고 mapping을 한 후, 자연어의 one-hot-vector는 [0, 0, 1, 0, 0, 0] 이라고 나온다. 즉, 실제 그 단어가 해당하는 index 위치에 1을, 나머지는 0을 취하는 작업을 one-hot-encoding 기법이라 한다. keras를 이용한 one-hot-encoding # Tokenizer : 언어의 빈도수, index, number 만큼 cut하는 기능까지 from tensorflow.keras.preprocessing.text import Tokenizer # to_categori..
2020. 3. 4.