글 수 97

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

조회 수 2720 추천 수 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
제목 글쓴이 날짜 조회 수
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 783
딥러닝 RNN으로 구현한 챗봇 깊은바다 2017-08-01 6287
추론이 가능한 딥러닝인 Relational Networks [2] 깊은바다 2017-06-11 2573
단어를 벡터로 변환하는 Word2Vec 깊은바다 2017-05-04 900
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 2637
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 2720
글쓰는 법을 배우는 신경망 깊은바다 2016-03-25 1330