728x90
딥러닝 모델에는 text를 input으로 넣을 수 없습니다.
그래서 text를 숫자로 변환해서 넣어주어야 하는 데 이것을 word Encoding 이라고합니다.
여기서 "Thank you love you" 를 위처럼 0 , 1 ,2 로 변환할 수 있습니다.
위 방법보다는 딥러닝에서 자주사용하는 인코딩 방법은 바로 One Hot Encdoing 입니다.
단어갯수만큼의 n차원 Vector를 만들어 독립적인 방법으로 표현하는 것 입니다.
있으면 1 없으면 0
예를들어 중복되지 않는 단어가 100개면 100차원 Vector가 됩니다.
2020/10/23 - [Data Science/Machine learning] - [데이터 전처리] . 이산형 데이터 처리하기 ( OneHotEncoding )
하지만 One Hot Encoding 은 서로간의 유사도를 측정할 수 없습니다.
"king" 이라는 단어가 "woman" 보다"man" 과 더 유사하다는 것을 One Hot Encoding 으로는 알 수 없습니다.
유사도 측정방법으로는 대표적으로
유클리디안 유사도 , 코사인 유사도가 있는데
One hot encoding 은 위 그림 처럼 방향도 똑같고 , 거리도 똑같이 1이라 서로간의 유사도를 알 수 없습니다.
하지만 Embedding 을 사용하면 저차원의 상태로 단어간의 유사도를 구할 수 있습니다.
위 그림처럼 man 과 king 까리 뭉쳐있고 woman과 queen 이 뭉쳐있어
man과 king 이 유사하다는 것을 알 수 있습니다.
이 것이 바로 임베딩 기법이고 대표적으로 word2vec 이 있습니다.
반응형
'Machine learning > NLP' 카테고리의 다른 글
[NLP]. Transformer : Structure - part1 (0) | 2021.08.19 |
---|---|
[NLP] Sequence to Sequence(시퀀스 투 시퀀스) 코드 (0) | 2021.08.19 |
[NLP] Sequence to Sequence (시퀀스 투 시퀀스), Attention(어텐션) 개념 (0) | 2021.08.18 |
[NLP] 수능 영어지문을 풀어주는 인공지능 (WMD) (0) | 2021.01.30 |
[NLP] TF-IDF 를 활용한 제목별 추천 시스템. (0) | 2021.01.07 |