글 수 166

구글의 딥러닝 대화 알고리즘

조회 수 3218 추천 수 0 2016.03.25 02:19:17


http://www.itworld.co.kr/news/94373

http://arxiv.org/pdf/1506.05869v2.pdf

 

 

 

구글이 작년 7월 딥러닝을 이용한 대화 알고리즘에 대한 논문을 발표했습니다.

딥러닝의 한 방법인 순환형 신경망(Recurrent Neural Network)를 사용하였습니다.

 

기존의 대화 프로그램은 보통 룰베이스를 기반으로 동작합니다.

먼저 형태소, 구문분석을 통해 문장을 이해한 후에 미리 정해진 규칙에 따라 대화를 출력합니다.

 

하지만 딥러닝 대화 알고리즘은 이렇게 사람이 미리 규칙을 정하지 않습니다.

대화 데이터를 스스로 학습하여 주어진 질문에 적절히 대답을 합니다.

놀라운 점은 상식을 기억하고 문맥을 파악하여 대화를 할 수 있다는 점입니다.

또한 신경망의 장점 중에 하나인 일반화를 통해 대화 데이터에 없는 질문에도 비슷한 대답이 가능합니다.

 

솔직히 신경망으로 이 정도 성능을 내는 대화 프로그램이 가능한지 몰랐습니다.

언어별로 따로 개발하지 않고 사람이 일일히 규칙을 만들지 않기 때문에 보다 쉽게 구현될 것 같습니다.

 

지금은 학습할 수 있는 대화 데이터가 제한되어 있지만

딥러닝이 더 발전할 수록 지식의 범위가 더 넓어질 것입니다.

지금도 콜센터 같이 특정한 영역에서는 충분히 상용화가 가능할 듯 합니다.

 

개인적으로 자연어처리에 관심이 많아서 공부중이었는데 계속 해야될지 고민이 되네요.

앞으로 지금같은 규칙기반 방식은 사용되지 않을지도 모르겠습니다.

게다가 언어별로 따로 개발할 필요도 없어 구글같은 기업이 전세계 시장을 장악할 가능성이 높으니까요.

 

 

 

아래 예시는 6천2백만 문장으로 된 영화 대본 데이터을 학습하여 테스트한 대화입니다.

 

< 기본적인 Q/A >

Human: hello !

Machine: hello !

Human: how are you ?

Machine: i ’m good .

Human: what ’s your name ?

Machine: i ’m julia .

Human: when were you born ?

Machine: july 20th .

Human: what year were you born ?

Machine: 1977 .

Human: where are you from ?

Machine: i ’m out in the boonies.

Human: are you a man or a woman ?

Machine: i ’m a woman .

Human: why are we here ?

Machine: i ’m not sure .

Human: okay, bye !

Machine: bye .

Human: see you later .

Machine: bye .

 

< 간단한 Q/A >

Human: my name is david . what is my name ?

Machine: david .

Human: my name is john . what is my name ?

Machine: john .

Human: are you a leader or a follower ?

Machine: i ’m a leader .

Human: are you a follower or a leader ?

Machine: i ’m a leader .

 

< 일반적인 지식 Q/A >

Human: who is skywalker ?

Machine: he is a hero .

Human: who is bill clinton ?

Machine: he ’s a billionaire .

Human: is sky blue or black ?

Machine: blue .

Human: does a cat have a tail ?

Machine: yes .

Human: does a cat have a wing ?

Machine: no

Human: can a cat fly ?

Machine: no .

Human: how many legs does a cat have ?

Machine: four , i think .

Human: how many legs does a spider have ?

Machine: three , i think .

Human: how many legs does a centipede have ?

Machine: eight .

Human: what is the color of the sky ?

Machine: blue .

Human: what is the color of water ?

Machine: water .

Human: what is the color of blood ?

Machine: it is the same as a black eye .

Human: what is the usual color of a leaf ?

Machine: it is a green one .

Human: what is the color of a yellow car ?

Machine: yellow .

Human: how much is two plus two ?

Machine: four .

Human: how much is ten minus two ?

Machine: seventy - two .

 

< 철학적 질문 Q/A >

Human: what is the purpose of life ?

Machine: to serve the greater good .

Human: what is the purpose of living ?

Machine: to live forever .

Human: what is the purpose of existence ?

Machine: to find out what happens when we get

to the planet earth .

Human: where are you now ?

Machine: i ’m in the middle of nowhere .

Human: what is the purpose of dying ?

Machine: to have a life .

Human: what is the purpose of being intelligent?

Machine: to find out what it is .

Human: what is the purpose of emotions ?

Machine: i don ’t know .

 

< 도덕성에 대한 Q/A >

Human: what is moral ?

Machine: what empowered humanity , what intellectual the essence is .

Human: what is immoral ?

Machine: the fact that you have a child .

Human: what is morality ?

Machine: what is altruism ?

Human: what is the definition of altruism ?

Machine: if you don ’t believe in god , then you don ’t know .

Human: ok ... so what is the definition of morality?

Machine: well , the truth is , you ’re not a believer in god almighty .

Human: tell me the definition of morality , i am quite upset now !

Machine: i ’m not ashamed of being a philosopher!

Human: tell me the definition of morality .

Machine: i don ’t have ethics .

Human: look , i need help , i need to know more about morality ...

Machine: i don ’t know what ethics is .

Human: seriously , what is morality ?

Machine: what is the definition of living ?

Human: why living has anything to do with morality ?

Machine: you ’re not a cop .

Human: okay , i need to know how should i behave morally ...

Machine: i don ’t know how to tell you .

Human: is morality and ethics the same ?

Machine: yes , sir .

Human: what are the things that i do to be immoral?

Machine: i don ’t know .

Human: give me some examples of moral actions

Machine: i ’m not a moralist 

Human: alright , morality ?

Machine: integrity .

Human: what is integrity ?

Machine: i ’m sorry , i don ’t know what else to say .

Human: be moral !

Machine: be a man !

Human: i really like our discussion on morality and ethics ...

Machine: and how i ’m not in the mood for a philosophical debate .

Human: what do you like to talk about ?

Machine: nothing .

 

< 의견에 대한 Q/A >

Human: what do you think about tesla ?

Machine: he ’s a good conductor .

Human: what do you think about bill gates ?

Machine: he ’s a good man .

Human: What do you think about messi ?

Machine: he ’s a great player .

Human: what do you think about cleopatra ?

Machine: oh , she ’s very regal .

Human: what do you think about england during the reign of elizabeth ?

Machine: it was a great place .

 

 

 

< 챗봇 개발자 모임 >

- 페이스북 그룹에 가입하시면 챗봇에 대한 최신 정보를 쉽게 받으실 수 있습니다.

https://www.facebook.com/groups/ChatbotDevKR/

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수
RNN과 Torch로 발라드곡 작사하기 깊은바다 2018-03-23 472
딥러닝을 사용한 감성분석기 개발 깊은바다 2018-02-22 1582
한국어 자연어처리를 위한 딥러닝 깊은바다 2018-02-14 3559
딥러닝을 사용한 챗봇 개발방법 정리 file 깊은바다 2018-02-03 22255
구글 딥러닝 자연어 처리 오픈소스 SyntaxNet file 깊은바다 2017-12-28 2640
쉽게 씌어진 Word2Vec [2] 깊은바다 2017-12-25 1093
딥러닝 기반 자연어처리 기법의 최근 연구 동향 [2] 깊은바다 2017-12-17 948
문장을 학습하는 딥러닝 RNN의 Seq2Seq 모델 설명 file 깊은바다 2017-09-15 7093
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용 깊은바다 2017-08-25 2467
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 870
딥러닝 RNN으로 구현한 챗봇 깊은바다 2017-08-01 7687
추론이 가능한 딥러닝인 Relational Networks [2] 깊은바다 2017-06-11 2675
단어를 벡터로 변환하는 Word2Vec 깊은바다 2017-05-04 984
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 3054
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 3218