레플리
글 수 283

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
Jay Alammar의 트랜스포머 한글 번역글 깊은바다 2019-05-09 1063
한국어 LLM 민주화의 시작 KoAlpaca file 깊은바다 2023-07-17 1060
Seq2Seq와 어텐션 기법을 애니메이션으로 쉽게 설명한 글 깊은바다 2018-10-12 1055
GPT-3의 다섯 가지 한계 깊은바다 2020-08-23 1050
단어를 벡터로 변환하는 Word2Vec 깊은바다 2017-05-04 1039
추천시스템이 word2vec을 만났을때 깊은바다 2018-08-22 1032
Meme 자동 생성기 깊은바다 2020-05-11 1023
딥러닝 기반 자연어처리 기법의 최근 연구 동향 [2] 깊은바다 2017-12-17 1020
딥러닝과 자연어처리의 집중 메커니즘 깊은바다 2018-09-08 1019
페르소나에 따라 대화를 하는 딥러닝 챗봇 by Hugging Face 깊은바다 2020-03-06 1008
프로그램을 작성하는 딥마인드의 알파코드 file 깊은바다 2022-02-04 1005
7B의 Alpaca가 175B의 GPT-3.5와 동급의 성능을 보임 file 깊은바다 2023-03-14 978
가짜뉴스를 생성 또는 판별하는 딥러닝 모델 - Grover 깊은바다 2019-06-01 969
OpenAI의 대화전용 딥러닝 모델 - ChatGPT file 깊은바다 2022-12-02 965
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 962