레플리
글 수 284

RNN seq2seq 간단한 대화모델

조회 수 1366 추천 수 0 2018.10.23 17:08:12


http://hichoe95.tistory.com/13

 

 

 

PyTorch로 만든 RNN와 Attention 기반의 챗봇입니다. 코드도 중간중간 잘 설명이 되어 있어 어렵지 않게 이해할 수 있습니다. 뒤의 테스트 결과를 보면 띄어쓰기별로 단어 임베딩을 한 것을 볼 수 있습니다. 예를 들어, "나는 너를 사랑해"는 '나는/너를/사랑해'로 단어가 구분됩니다. Github에 올라온 seq2seq 코드를 보면 거의 영문이거나 출력이 한글일 경우 이와 같이 띄어쓰기로 전체를 한 단어라 판별하여 임베딩을 합니다.

 

굴절어인 영어는 뒷부분만 조금씩 바뀌기 때문에 단수/복수/시제 등을 구분하지 않고 통째로 임베딩을 해도 됩니다. 'study/studies/studied/studying' 등의 변화가 있지만 몇개 되지 않아 단어의 수가 크게 늘어나지 않습니다.

 

하지만 한글은 '어간+어미'가 붙는 교착어로 단어의 변화가 매우 심합니다. '너는/너를/너에게/너만/...' 등 수많은 어미로 파생합니다. 반면 영어는 'you/you/to you/only you/...' 등 동일하거나 분리된 단어로 표시가 가능합니다. 만약 어간이 10000개이고 어미가 10개라면 모두 100000개의 단어가 필요합니다. 하지만 영어는 10010개면 충분합니다.

 

링크의 글을 보면 마지막에는 형태소 단위로 임베딩을 하였습니다. 이러면 단어의 수가 크게 줄어들기 때문에 학습이 더 잘될 수 있습니다. 하지만 '회식 가 기 싫 으시 ㄴ 거 에 요'처럼 형태소로 나온 출력을 합치고 띄어쓰기를 하는게 쉽지 않다는 단점이 있습니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수sort
LLM의 창발적인 현상인 CoT(Chain of Thouht) 소개 file 깊은바다 2023-07-27 715
RAG를 사용한 페르소나 챗봇 - ChatHaruhi file 깊은바다 2023-10-17 722
Llama 2의 RLHF 구현 방법 깊은바다 2023-07-19 732
GPT3가 상식을 가지고 있을까 깊은바다 2020-07-24 741
LLM이 서로 협력하여 프로그램을 개발 - ChatDev file 깊은바다 2023-08-16 752
HyperCLOVA로 만드는 캐릭터 챗봇 file 깊은바다 2021-11-26 762
GPT3로 하는 리액트 프로그래밍 file 깊은바다 2020-07-19 769
ChatGPT와 유사한 서비스 - Chatsonic file 깊은바다 2023-01-09 794
GPT-3 패러다임을 바꿀 미친 성능의 인공지능 등장 및 활용 사례 10가지 깊은바다 2020-09-14 799
ChatGPT 프롬프트 엔지니어링 - 다양한 말투로 대답하기 file 깊은바다 2023-02-17 804
러시아의 구글 얀덱스, 100B 초거대모델 무료 공개 깊은바다 2022-06-26 806
네이버 뉴스 댓글로 사전훈련한 구어체 모델 - KcBERT 깊은바다 2020-07-20 814
DALL-E를 능가하는 OpenAI의 GLIDE 깊은바다 2021-12-27 838
구글의 초거대모델 PaLM의 추론과 상식 능력 file 깊은바다 2022-05-20 838
인간의 언어를 이해하는 기계, NLU 깊은바다 2019-05-17 850