레플리
글 수 281

RNN seq2seq 간단한 대화모델

조회 수 1364 추천 수 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 조회 수
문장을 벡터로 변환하는 방법들 깊은바다 2021-09-16 911
네이버의 초거대모델인 HyperCLOVA 논문 file 깊은바다 2021-09-13 554
챗봇의 슬롯 채우기(Slot Filling)와 DST(Dialogue State Tracking) file 깊은바다 2021-08-19 1425
죽은 약혼자를 챗봇으로 살려낸 남자 - Project December 깊은바다 2021-07-27 557
인터넷 검색을 하고 장기기억을 저장하는 페이스북의 챗봇 - Blenderbot 2 file 깊은바다 2021-07-19 643
GPT-3 데모 사이트 - gpt3demo.com 깊은바다 2021-07-13 3689
6B 파라미터의 GPT-J_6B 오픈소스 모델 깊은바다 2021-07-01 3018
GPT-3를 활용하여 주석을 코드로 바꿔주는 GitHub Copilot 깊은바다 2021-06-30 350
구글의 딥러닝 대화 모델 - LaMDA 깊은바다 2021-06-13 586
일상대화 딥러닝 모델들을 쉽게 실행할 수 있는 Openchat 깊은바다 2021-06-01 567
GPT-3를 사용하여 코딩을 하는 MS의 파워FX 깊은바다 2021-06-01 248
텍스트 스타일을 바꾸는 딥러닝 기술 깊은바다 2021-06-01 429
KoGPT2 v2.0 공개 깊은바다 2021-05-03 1587
이루다 같은 챗봇은 어떤 원리로 작동하는 걸까? 깊은바다 2021-04-03 1684
이성에게 말을 거는 작업멘트를 GPT-3로 생성 file 깊은바다 2021-03-24 586