레플리
글 수 283


img

 

https://tykimos.github.io/2017/08/17/Text_Input_Binary_Classification_Model_Recipe/

 

 

 

영화정보 사이트인 IMDb의 영화평점 데이터를 사용해서 케라스로 학습하는 코드입니다. 자연어를 어떻게 벡터로 임베딩을 하는지 간단하게 설명해 보겠습니다.

 

먼저 데이터셋에 있는 모든 단어를 빈도수에 따라 정렬하고 ID를 부여합니다. 보통 편의를 위해서 최대 단어수를 지정합니다. 여기서는 5개의 단어만 존재한다고 가정하고 빈도수는 임의로 설정하겠습니다.

 

--------------------
love -> 0
i -> 1
so -> 2
you -> 3
much -> 4
--------------------

 

그리고 문장의 단어를 ID로 변환합니다.

 

----------------------------
i love you so much
-> [1, 0, 3, 2, 4]
----------------------------

 

 

 

만약 단어의 수가 적다면 다음과 같이 간단하게 각각의 ID를 벡터로 지정하는 One-Hot Encoding으로 변환할 수도 있습니다.

 

-------------------------------------
i -> (0, 1, 0, 0, 0)
love -> (1, 0, 0, 0, 0)
you -> (0, 0, 0, 1, 0)
so -> (0, 0, 1, 0, 0)
much -> (0, 0, 0, 0, 1)
-------------------------------------

 

 

 

하지만 보통은 차원의 수를 줄이기 위해 임베딩 함수를 이용합니다. 전체 단어수는 5, 임베딩 벡터 크기는 3, 한 문장의 단어 개수는 5일때 아래와 같이 구현을 합니다.

 

----------------------------------------------------------------
model.add(Embedding(5, 3, input_length=5))
----------------------------------------------------------------

 

임베딩의 초기값은 랜덤하게 지정이 되고 학습을 통해 조금씩 업데이트 됩니다. Word2Vec 같은 방식을 사용하여 초기값을 설정할 수도 있습니다.

 

---------------------------------
i -> (0.5, 0.1, 0.7)
love -> (0.2, 0.6, 0.3)
you -> (0.9, 0.7, 0.5)
so -> (0.4, 0.7, 0.1)
much -> (0.3, 0.4, 0.5)

 

i love you so much
-> {[0.5, 0.1, 0.7], [0.2, 0.6, 0.3], [0.9, 0.7, 0.5], [0.4, 0.7, 0.1], [0.3, 0.4, 0.5]}
---------------------------------

엮인글 :

NeuroWhAI

2018.04.04 03:09:28
*.64.194.131

seq2seq 예시를 만들었는데 임베딩 레이어를 넣어보려고 했더니 정작 디코딩은 어떻게 해야할지 모르겠더라구요. 임베딩한 값을 다시 단어로 바꾸려면 뭐라고 검색을 해봐야 할까요 ㅠ

깊은바다

2018.04.04 23:06:47
*.68.247.188

원핫인코딩 예제는 많은데 임베딩으로 되어 있는 것은 저도 찾기가 어렵네요^^; 제 생각에는 벡터 유사도 비교를 해서 가장 비슷한 걸로 표시하면 될 것 같은데요.

NeuroWhAI

2018.04.05 03:26:04
*.64.194.131

음 역시 가장 가까운 벡터값을 가진 단어를 선택하도록 탐색하는 수 밖에 없겠네요..

List of Articles
제목 글쓴이 날짜sort 조회 수
구글, ChatGPT의 라이벌인 Bard 공개 file 깊은바다 2023-02-07 148
네이버의 생성AI는 챗GPT가 안 부럽다 - 심층 인터뷰 기사 깊은바다 2023-02-03 207
ChatGPT 2달만에 누적 사용자 1억명 돌파 깊은바다 2023-02-03 89
ChatGPT 톺아보기 - 인공지능의 역사부터 신경망, 초거대AI, ChatGPT까지 file 깊은바다 2023-02-01 318
ChatGPT 한글 자동번역 크롬 확장프로그램 깊은바다 2023-01-17 1851
Koko 심리상담 서비스에서 GPT-3 대답 추천 기능을 도입 file 깊은바다 2023-01-11 304
ChatGPT보다 한글을 더 잘 대답하는 모델 - Claude file 깊은바다 2023-01-10 852
ChatGPT와 유사한 서비스 - Chatsonic file 깊은바다 2023-01-09 794
페이지링크와 ChatGPT 대화를 동시에 지원하는 검색엔진 - You.com 깊은바다 2022-12-27 236
ChatGPT에게 챗봇을 만들어보라고 해봤습니다 file 깊은바다 2022-12-26 413
ChatGPT는 새로운 검색엔진이 될까 file 깊은바다 2022-12-06 507
OpenAI의 대화전용 딥러닝 모델 - ChatGPT file 깊은바다 2022-12-02 965
네이버의 초거대모델인 하이퍼클로바 가격 공개 깊은바다 2022-08-24 1855
유저 피드백을 받아 지속적으로 학습을 하는 챗봇 - BlenderBot 3 file 깊은바다 2022-08-06 1154
최신 자연어처리 모델 소개 file 깊은바다 2022-07-11 1180