Sogang Universiy: Dep of Compuer Science 대화인터페이스, 챗봇, 그리고 자연어처리 서정연교수 Office: R관 908 Tel: 705-8488 Email: seojy@sogang.ac.kr
자연어처리가중요한이유 대화인터페이스 - 챗봇이야기 n 엄청난정보와지식이자연어형태로존재 책, 문서 뉴스 SNS나사람들의구전등 n 특히, 사람들은 mouse 보다는대화로소통하기를원함 Now we are being he company on hese naural inerface echnologies Bill Gaes, 1997
대화형 User Inerface SHRDLU(Winograd, 1972): language inerface for block manipulaion Person: Pick up a big red block. Compuer: OK ( 들어올림 ) Person: Pu i near he pyramid Siri (Apple iphone4s, 2012) Person: 시리야안녕 Siri: 좋은아침입니다 Person: 오늘날씨가어때? Siri: 네, 오늘은대체로맑음입니다.
음성대화형 inelligen assisan 대화인터페이스 - 챗봇이야기
채팅의종류 n 안녕오랜만이야. 오랜만에오셨네요. 반갑습니다. n 요즘많이이뻐졌네. n 예쁘게봐주셔서감사합니다. 선생님도많이좋으신것같아요 I love you All you need is love. And your iphone. n 지금몇시니? 오전 10 시 17 분입니다. n 오늘날씨는어떤가? 네, 오늘비가약간올것같아요. n 오늘오후에어떤일정이있나? 채팅 정보요구채팅 오늘오후 2 시에프로젝트회의, 6 시에는김하늘과저녁약속이있습니다.
대화 n 7 월달에 L.A. 에가야하는데 며칠에가려고하시나요? n 내가거기에서 12 일부터 17 일까지회의가있어요. 그럼 7 월 11 일에출발하시면같은날에도착하실수있습니다. n 뭐, 그렇게하면될것같네요. 그럼, 몇시에출발하시려고하나요? n 직항이몇시에있나요? 직항은오전 10 시와오후 4 시 30 분두가지가있습니다. 오전 10 시에출발하면같은날오전 8 시에도착하고, 오후 4 시 30 분에출발하시면역시같은날오후 2 시 30 분에도착합니다. 어떤것으로예약해드릴까요? n 가격은어떻게되나요?.
채팅 vs. 대화 n n n 채팅 대부분 1 문 1 답 약간의트릭을사용하여연결된 muli-urn 채팅도가능 심심풀이채팅 + info-chaing ( 날씨정보, 시간정보, 일정정보, 가격정보등 ) 대화 Muli-urn 이기본 l 대용어 (anaphoric reference) 와생략현상이많이나타남 Goal-oriened Dialogue l Informaion seeking dialogue: 정보를요구하는목적의대화. 주로데이터베이스를활용한대화 l General goal-oriened dialogue: 어떤목적을달성하기위하여하는대화. 목적을달성하기위한 planning 기법이기본적으로요구. Q/A (Quesion/Answering) sysem 방대한 Tex 에서답을찾아서제공하는지능형검색시스템 l 예 : IBM Wason, 엑소브레인, IRQA, FAQ 스타일
Mixed 대화 n 안녕하세요? 반갑습니다. 뭘도와드릴까요? n 7 월 12 일에 L.A. 가는비행기표예약하려구요. 인천공항에서오전 10 시에출발하는것이있는데그걸로예약할까요? n 그날가장싼요금제로해주세요. 잘알겠습니다. 이코노미좌석으로예약하지요. 가격이 115 만원인데괜찮으시겠습니까? n 뭐, 그렇게해주세요. 네잠시만기다리십시오. n L.A. 인구가총몇명이지아세요? 잠시만요 L.A. 인구는지금 875 만명입니다? n 캘리포니아주지사가누구인가요? 채팅 잠시만요 캘리포니아주지사는아놀드스워르츠네거입니다. Q/A 목적지향대화
음성대화시스템 음성대화 시스템 음성인식, 대화처리, 음성합성 대화처리 ( 대화시스템 ) 언어이해 : 사용자의발화를언어처리를통하여분석하여사용자의의도를표현하는의미표현을생성 대화관리 : 대화흐름과상황을고려해서사용자발화의의도에대한최선의대화전략을결정하여다음시스템발화에해당하는의미표현을생성 언어생성 : 입력된의미표현으로부터시스템이발화할문장을생성 음성대화 시스템구성도 Speech Recogniion Waveforms Speech Synhesis Words Language Undersanding Meaning Represenaion Language Generaion 대화관리자 Daa/Kn owledge base
채팅시스템 : Eliza 방식 Eliza 스타일 (MIT AI-lab Weizenbaum, 1966 ) 어디가아프세요? 머리가많이아픕니다. 그럼일반내과를가셔야할것같습니다. 저는정신병전문의입니다. 그럼그렇게하도록하지요 조금더자세하게이야기해주시겠습니까? 무슨말인지요? 뭘더자세히이야기합니까? 왜그렇게말씀하시는지요? 선생님말씀이앞뒤가맞지않아서요. 어떤이유로제말씀이앞뒤가맞지않는다고하시는지요? 당신의이야기가일관성이없고웃기네요. 일관성이없다는이유를좀더설명해주실수있으신지요?. - 말꼬리를이어가는방식, 적당한응답을그럴듯하게발화, 문맥에맞지않는경우발생 - 오래된기술이지만, 지금도 Turing es 에서자주활용되는기법
채팅시스템 : 유사도기반검색방법 유사도기반검색기법 : 방대한대화쌍 DB 를구축하여사용자의발화와가장유사한대화쌍을찾아내어 ( 유사도계산 ), 그곳에있는답변으로응답 대부분의채팅시스템이이런형식으로구현 : SK 텔레콤 1mm, 심심이등 A: 너희집어디니? B: 당신마음속이오. 집이어디지? A: 반가워요 B: 방가방가 A: 재미있냐? B: 당신과함께라면 당신마음속이오
채팅시스템 : 유사도기반검색방법 대화인터페이스 - 챗봇이야기 대화쌍을확장시켜서정확도와응답의다양성을높이는시도 어디사는지물어봐도되요? 너희집어디니? 집이어디야사는곳은어디지? 주거지를알수있을까요? 사는곳을알려주세요. 어디사니? 당신마음속이오. 저는항상당신품속에있어요. ㅋㅋ당신바지주머니? ㅎ저도제가어디사는지잘몰라요. 사적인질문은삼가해주시기바랍니다. 여기에살지요 지금저에게작업거시는거맞지요
채팅시스템 : Deep learning 기반방법 대화인터페이스 - 챗봇이야기 seq2seq : encoder-decoder framework for machine ranslaion encoder: RNN decoder: RNN 나는너를사랑해 I love you 나는너를사랑해 입력 : I love you. 출력 : 나는너를사랑해 Vinyals and Le, A Neural Conversaional Model, 2015
RNN(Recurren Neural Nework) 대화인터페이스 - 챗봇이야기
채팅시스템 : Deep learning 기반방법 seq2seq : encoder-decoder framework for chaing 대화인터페이스 - 챗봇이야기 encoder: RNN decoder: RNN 당신 마음 속이오 너희집어디니 당신 마음 속이오 입력 : 너희집어디니 출력 : 당신마음속이오 Vinyals and Le, A Neural Conversaional Model, 2015
채팅시스템 : Deep learning 기반방법 대화인터페이스 - 챗봇이야기 n A hierarchical seq2seq model for generaing dialogues (Serban e. Al, 2016 AAAI)
채팅시스템 : 유사도기반검색방법 유사도기반검색기법 : 방대한대화쌍 DB 를구축하여사용자의발화와가장유사한대화쌍을찾아내어 ( 유사도계산 ), 그곳에있는답변으로응답 대부분의채팅시스템이이런형식으로구현 : SK 텔레콤 1mm, 심심이등 A: 너희집어디니? B: 당신마음속이오. 집이어디지? A: 반가워요 B: 방가방가 A: 재미있냐? B: 당신과함께라면 당신마음속이오
채팅시스템 : info-chaing Info-chaing: 관련된정보를관련 DB 나관련시스템으로부터찾아서응답하는채팅 n 지금몇시니? 오전 10 시 17 분입니다. n 오늘날씨는어떤가? 네, 오늘비가약간올것같아요. n 오늘오후에어떤일정이있나? 오늘오후 2 시에프로젝트회의, 6 시에는김하늘과저녁약속이있습니다. n 대전가는기차표사려고하는데요 서울역출발인가요? n 네 언제가시려고하십니까? n 가장빨리출발하는 KTX 로주세요 출발역 도착역 출발시간 도착시간 기차종류 서울역 대전역 8:25 9:25 KTX 서울역 대전역 9:30 10:35 KTX 서울역 대전역 9:38 11:15 무궁화
채팅시스템 : info-chaing 음성 / 텍스트입력 자연어이해 Waveforms 음성 / 텍스트출력 Words Meaning Represenaion 자연어생성 대화관리자 Daa/Kno wledge base 자연어이해 : 사용자의발화를언어처리를통하여분석하여사용자의의도를표현하는의미표현을생성 대화관리자 : 대화흐름과상황을고려해서사용자발화의의도에대한최선의대화전략을결정하여다음시스템발화에해당하는의미표현을생성 자연어생성 : 입력된의미표현으로부터시스템이발화할문장을생성
자연어이해 사용자발화분석이기본적으로필요. 아래와같은언어적인분석을통하여각발화의의미를분석하고, 문맥과상황에맞추어사용자의의도를파악함 l l l l 형태소분석 : 입력된문자열에서단어를추출 개체명 (named-eniy) 인식 l 영역별의미있는단어열. 주로해당영역의데이터베이스필드명 l 예 : 출발시간, 도착시간, 도착역, 기차종류, 서울역, KTX, 무궁화 영역검출 : 날씨, 일정, 기차표예약등 l 주로데이터베이스테이블선정작업 화행 (speech acs) 분석 l 영역의존화행 (Dialogue acs): 예약요구, 예약수정, 예약취소, 날씨검색, 현재시간문의등
Naural Language Processing 대화인터페이스 - 챗봇이야기 n 자연언어처리시스템의구성도 입력문장 형태소분석기 (morphology) 구문분석기 (synax) 문법 사전 생성사전생성문법 각종지식기반 (Knowledge-Base) 의미분석기 (Semanics) 출력문장 문장생성기 담화 (discourse) 분석기 (Discourse) n 채팅에서는구문 / 의미분석기를간소화한 LSP(Lexico-semanic paern) 형식의규칙을사용하여영역검출과화행을분석하기도함.
info-chaing 동작예 대화인터페이스 - 챗봇이야기 내일인천시송도날씨어때? 자연어이해 영역 : 날씨의도 : 날씨검색날짜 : 내일 (6 월 28 일 ) 지역 : 인천시송도 형태소분석 : 내일 / 명사, 인천시 / 명사, 송도 / 명사, 날씨 / 명사, 어때 / 형용사개체명인식 : 내일 / 시간, 인천시송도 / 장소화행 : AskRef( 날씨 ) 영역 : 날씨
info-chaing 동작예 대화인터페이스 - 챗봇이야기 내일인천시송도날씨어때? 자연어이해 대화관리자 자연어생성 영역 : 날씨의도 : 날씨검색날짜 : 내일 (6 월 28 일 ) 지역 : 인천시송도 날씨 DB 검색결과정리 - 오전맑음 - 오후차차흐려짐 내일날씨는오전에는맑다가오후에는차차흐려지겠습니다. Info-chaing 의성능 : 자연어이해의정확도, 응답 DB 의콘텐츠, 대화관리자의대화관리능력등의조합
채팅시스템의성능 사용자의발화와가장의미가비슷한채팅 - 대화쌍을잘찾아내야함 유사도계산을잘하기위해서필요한기본데이터 사용자발화에포함된단어들 사용자발화에포함된주요개체명 - 영역검출, 관련 DB 검색에필수 사용자발화의화행 (speech acs) 결국자연어분석이기본적으로잘되어야유사도계산의성능이향상 seq2seq neworks 와같은 Deep learning 방식의채팅은아직은한계가있음 응답발화의다양성, info-chaing 을위한결합등 그러나, 한계를넘어서기위한연구가지속적으로진행되고있음 어떤사용자의발화에도제대로응답할수있도록방대한채팅 - 대화쌍을잘구축해야함 채팅 - 대화쌍의 quaniy: 아무리유사도계산을잘해도유사한발화가없으면꽝 채팅 - 대화쌍의 qualiy: 기술이라기보다는인문학적감성이깃든콘텐츠 (cf.) 마이크로소프트공개챗봇 Tay, Siri vs. 빅스비 (S-voice)
챗봇서비스와챗봇빌더들 대화인터페이스 - 챗봇이야기 페이스북 : 모바일메신저기반의챗봇생태계구축을위한관련 api공개구글어시스턴트 : 안드로이드와음성인식기의장점아마존에코, 구글홈, SK 누구, IBM Wason conversaion 다이퀘스트인포채터 : 시맨틱검색과 IRQA 방식의 Q/A시스템을연동한쇼핑몰채팅시스템 (2003년출시 ) 네이버 i: 대화형서비스엔진 사람과대화하듯이네이버서비스를이용할수있습니다. (2017.3 베타오픈 ) 그외여러챗봇빌더서비스제공업체가생겨나고있음 Converse, PullSring, The Bo Plaform, Avaamo,.
챗봇빌더를활용한챗봇만들기 ip 대화인터페이스 - 챗봇이야기 챗봇 - 대화쌍을많이잘구축하여야함 챗봇영역에잘맞는다양한가상캐릭터설정이중요 : 예 ) 20 대후반전문직여성.. 챗봇영역과사용자특성에맞춘다양한대화쌍구축 기본적인인사말 (opening, closing) 확신이없을때적당히사용할수있는상황별응답대화 영역서비스를위한 info-chaing 용대화쌍구축 Info-chaing 은데이터베이스에서정보를가지고와서응답을해야하는 경우가대부분 데이터베이스의주요키워드 : 테이블명 ( 영역 ), 필드명, 필드별주요데이터값 주로개체명 (named-eniy) 형식의주요키워드를잘정의해주는것이중요
Challenge in Cha-Bo 적응형 (Adapive dialogue agen): personalizaion, localizaion ec. 사용자의개인적취향, 대화수준, 이전대화내용을반영할수있는가? 장소, 시간적인제약조건을반영할수있는가? 대화관리자측면에서매우중요한요소 Consisency: 다른상황, 다른형식의질문에대하여일관된답변 사용자 : 직업이무엇인가요? 챗봇 : 제직업은의사입니다.. 사용자 : 하시는일이뭔가요? 챗봇 : 저는게임을개발하는일을하고있답니다. 복잡한 DB schema 관리를필요로하는 info-chaing muli-urn chaing 능력, 대화관리능력 ( 대용어, 생략처리, ),
n 대화인터페이스 - 챗봇이야기 대화인터페이스 : Goal-oriened dialogue 7 월에미국에가야하는데 어디로가려고하시나요? n L.A. 요. 며칠에가려고하시나요? n 내가거기에서 12 일부터 17 일까지회의가있어요. 그럼 7 월 11 일에출발하시면같은날에도착하실수있습니다. n 뭐, 그렇게하면될것같네요. 그럼, 몇시에출발하시려고하나요? n 직항으로했으면하는데 직항은오전 10 시와오후 4 시 30 분두가지가있습니다. 오전 10 시에출발하면같은날오전 8 시에도착하고, 오후 4 시 30 분에출발하시면역시같은날오후 2 시 30 분에도착합니다. 어떤것으로예약해드릴까요? n 가격은어떻게되나요?.
자연어이해의어려움 철수는어항을떨어뜨렸다. 그는울고말았다. 대화는서로의공유된지식을가정하고발생하는 Symbol 기반의소통방식 모든사람들이공유하고있는지식 : Common Sense Knowledge ( 상식 ) 컴퓨터가인간과같이대화하기위해서필요한 Common sense knowledge 를습득할수있는가? : 인공지능 (AI) 분야의오래된숙제
대화인터페이스시스템 음성 / 텍스트입력 자연어이해 Waveforms Words Meaning Represenaion 대화관리자 Daa/Kno wledge base 음성 / 텍스트출력 자연어생성 자연어이해 : 사용자의발화를언어처리를통하여분석하여사용자의의도를표현하는의미표현을생성 대화관리자 : 대화흐름과상황을고려해서사용자발화의의도에대한최선의대화전략을결정하여다음시스템발화에해당하는의미표현을생성 자연어생성 : 입력된의미표현으로부터시스템이발화할문장을생성
Dialogue 관리자 대화인터페이스 - 챗봇이야기 n Dialogue 관리자가고려해야할대화지식 (cf. 언어지식, 상식 ) Turn-aking: 언제누가발화해야하는가? Grounding and repairing misundersandings l 대화중인내용을잘이해하고있는가를서로확인하면서대화가 진행 ( 확인하는대화가추가로해야할필요가있음 ) l 확인중 misundersanding 을발견했을때수정하는대화를 진행해야함 Iniiaive and confirmaion sraegies
대화 Turns and Uerances 대화인터페이스 - 챗봇이야기 n 대화의 urn-aking: who should alk nex, and when hey should alk n 실제녹취된자연스러운대화를검증해보면 두화자의발화가 overlap 되는경우가대략 5% 정도발생 ( 영어 대화의경우임 domain 에따라약간씩의차이 ) 때에따라서 Turn 사이에침묵 (silence) 이있는경우도발생 n 시스템입장에서지금이누가발화할차례인지판단해야함 n 경우에따라서사용자의발화중에끼어들어가야할때가발생할 수도있음 어떻게판단할수있는가
Simplified Turn-Taking Rule (Sacks e. al.) n Conversaion Analysis (1974) If he curren speaker has seleced A as he nex speaker hen A mus speak nex If he curren speaker does no selec he nex speaker, any oher speaker may ake he nex urn If no one else akes a urn, he curren speaker may ake he nex urn
Transiion-aking Rules 다음화자선택을위한기본규칙 : n Adjacency pairs se up nex speaker expecaions GREETING( 인사말 ) / GREETING( 인사말 ) QUESTION / ANSWER 칭찬발언 / 겸손응답 요구발화 / 요구응답 n 의미있는침묵 (silence) 은문제를야기할수있으니주의가필요.. A: 뭐기분나쁜것있습니까? (1 초침묵 ) A: 그래요안그래요? A: 어? (1.5 초침묵 ) B: 안나쁩니다.
Turn-aking and Iniiaive Sraegies n 시스템주도대화 (Sysem Iniiaive Dialogue) S: 목적지를알려주세요. U: 대전. S: 출발지를알려주세요. n 사용자주도대화 (User Iniiaive Dialogue) S: 무엇을도와드릴까요? 대화인터페이스 - 챗봇이야기 U: 6 월 27 일에서울역에서대전가는 KTX 를예약하려고하는데, 오전 9 시정도에출발하는기차표예약해주세요 n 상호주도형대화 (Mixed iniiaive Dialogue) S: 무엇을도와드릴까요? U: 대전에가려고하는데요. S: 대전에언제가시려고하십니까?
Grounding (Clark & Shaefer 89) 대화인터페이스 - 챗봇이야기 n 대화참여자들은그냥대화를나누는것이아니고, 대화를통해서상호공유하는 common ground (or muual belief) 를만들어가는과정이다. n 듣는사람은화자의발화를제대로이해했는지아니면잘이해가안되고있는지에대하여상호교감 (grounding) 을할필요가있다. n S: 이번에새로나온핸드폰도같은할인율로해드릴수있습니다. Coninued aenion ( 손님이매우흡족한표정으로판매원을계속응시 ) Relevan nex conribuion U: 그럼이번에새로나온 S8도되나요? Acknowledgemen/backchannel U: 그래요 / 좋네요 / 아네 ~/ 아싸..! Demonsraion/paraphrase U: 새핸드폰을요... Display/repeiion U: 새핸드폰도똑같은할인율로해줄수있다구요? Reques for repair U: 네, 뭐라고요?
Grounding and Confirmaion Sraegies n Cue Phrase 를사용해서상호간의의도 (Inenion) 을서로잘이해하고있는지대화상에서직접표현해서사용하기도함 (confirm) ( 예 ) 전화번호나이름을알려줄때가 : 홍길동이요. 나 : 홍자길자동자요? (reques-confirm) 가 : 네. (agree on he confirmaion) 나 : 알았습니다. ( 잘이해했음을신호 )
Conversaional Implicaures 대화인터페이스 - 챗봇이야기 시스템 : 며칠날가시려고하시나요? 사용자 : 내가거기에서 12 일부터 17 일까지회의가있어요. n Conversaional Implicaure: 대화에내포되어있는정보들 사용자의발화문장에있는표층정보이상의정보를찾아내야만사용자가제공하려고하는정보를제대로파악할수있음 사용자는듣는사람이어느정도추론능력을가지고있다고기대하고발화를하는경향이있음 대화참여자가얼마나똑똑해야일상대화를할자격이있을까?
Grice s Maxim of Conversaion 대화인터페이스 - 챗봇이야기 n Grice s Maxims (heurisics guiding implicaures) Maxim of Quaniy: Be exacly as informaive as required l 필요이상의쓸데없는말을하지마라 Maxim of Qualiy: Try o make your conribuion one ha is rue l 틀린정보나확실하지않는정보를이야기하지마라. Maxim of Relevance: Be relevan l 지금대화내용에관련된이야기만하라 Maxim of Manner: Be clear, avoid ambiguiy, Be brief, Be orderly l 간결하고명쾌하게이야기하고모호한표현을사용하지않음으로써 듣는사람이쉽고기분좋게대화할수있도록하라
대화인터페이스시스템 음성 / 텍스트입력 자연어이해 Waveforms Words Meaning Represenaion 대화관리자 Daa/Kno wledge base 음성 / 텍스트출력 자연어생성 자연어이해 : 사용자의발화를언어처리를통하여분석하여사용자의의도를표현하는의미표현을생성 대화관리자 : 대화흐름과상황을고려해서사용자발화의의도에대한최선의대화전략을결정하여다음시스템발화에해당하는의미표현을생성 자연어생성 : 입력된의미표현으로부터시스템이발화할문장을생성
Dialogue 관리자 대화인터페이스 - 챗봇이야기 n Turn-aking, Grounding and repairing misundersandings, Iniiaive and confirmaion sraegies를잘조절해서시스템의발화 / 액션을결정하여사용자의목적을달성할수있도록대화를끌고가는기능
Dialogue Managemen - Dialogue Sae Analysis Model l 사용자의도파악을위한대화상태분석모델의다양한접근 FSA 기반모델 통계기반모델 ( 분류기반모델 VS POMDP 기반모델 ) a : user dialogue acs a s u m u d : sysem dialogue acs s : user goal : dialogue hisory Daa growing FSA based model Classificaion based model POMDP based model 사용자발화 s u ASR a u Naural Lang. Undersanding [ ] ~1 a u... ~ a n u Dialog Trans. Nework Sae Classifier Belief Esimaor a~ m b(s m ) ~ s = m [ ~ s, ~ a, ~ s ] u u d b(s m ) Speech Synhesis Senence Generaion a m Dialog Policy a m Dialog Policy a m Dialog Policy
Dialogue Sae Analysis Model [FSA based] 대화인터페이스 - 챗봇이야기 l 대화상태분석을 FSA 기반모델 직관적인설계가가능하며유지보수가용이함 정의된 FSA 에의해강건하게동작하므로상용화에적합함 언어이해모델 <Rank 1> <user inenion> sa: inform predi.: coninue POI : 서강대 sa: inform predi.:lookup_roue_from_poi poi: value dialog sae i lookup_roue_from_poi dialog sae i' poi poi_id sor roue address value? accuracy opimum? sa: ohers predi.: ohers dialog sae i-1 sa: inform predi.:lookup_roue_from_poi roue: value sa: reques predi.: ask_cancel se_msg poi poi_id sor roue address?? accuracy value? dialog sae i'' lookup_roue_from_poi poi poi_id sor roue address?? accuracy opimum? ini - - - - -
Robo 대화인터페이스 n n n 채팅 대부분 1 문 1 답 약간의트릭을사용하여연결된 muli-urn 채팅도가능 심심풀이채팅 + info-chaing ( 날씨정보, 시간정보, 일정정보, 가격정보등 ) 대화 Muli-urn 이기본 l 대용어 (anaphoric reference) 와생략현상이많이나타남 Goal-oriened Dialogue l l Informaion seeking dialogue: 정보를요구하는목적의대화. 주로데이터베이스를활용한대화 General goal-oriened dialogue: 어떤목적을달성하기위하여하는대화. 목적을달성하기위한 planning 기법이기본적으로요구. Q/A (Quesion/Answering) sysem 방대한 Tex 에서답을찾아서제공하는지능형검색시스템 l 예 : IBM Wason, 엑소브레인, IRQA, FAQ 스타일
Robo 대화인터페이스 멀티모달대화인터페이스 (Mulimodal Dialogue Inerface) 사용자의음성발화, 제스츄어, 얼굴, 표정등을통합적으로인식하고분석하여, 사용자의의도를파악하고, 적절한응답 / 대응을하는상호작용 음성인식 : 마이크로입력된음성시그널을문자열로변환하는기술 음성합성 : 문자열을스피커로출력할수있는음성시그널로변환하는기술 영상인식 : 카메라로입력된화상에서물체를인식할수있는기술 손동작, 몸동작과같은제스츄어인식 얼굴인식 : 사용자분류, 표정분류등 입술모양인식 : lip reading, 발화구간검출등 상황정보 : 사용자의위치정보, 시간정보, 주변정보, 화면정보등을반영 궁극적인 Naural Dialogue Inerface
지능형로봇의멀티모달상호작용 대화인터페이스 - 챗봇이야기 멀티모달상호작용대화의예 노인 : 탁자위의저컵좀가지고와. ( 손으로가리키며 ) 로봇 : 약을드시려고하십니까? 노인 : 그래 로봇 : ( 컵을가지러탁자에갔으나, 컵에물이없음을확인한후 ) 컵에물이없습니다. 떠오겠습니다. 노인 : 그래라. 또는 아니야, 물은여기있으니까컵만가지고와. 멀티모달표현분석 ( 대용어 ), 사용자의의도분석, 로봇의 의도생성 (communicaive acs, domain physical goal 저컵좀가지고와 지능형상호작용 약을드시려고하십니까. ü 탁자위의저컵 을실세계모델에서표현된객체인 컵 101 로매핑 ü 사용자의발화를분석하고, 사용자모델을이용하여약먹을시간임을간파 ü 약을드시려고하십니까 라는문장을생성하여노인을쳐다보면서발화 46
Robo 대화인터페이스 사용자의의도파악을위한 Planning 기반의추론 저컵을가지고와 라는발화로부터 User-model 과상황지식을이용하여약을먹기위한것임을추론 사용자의의도를달성하기위한응답및 Acion Planning 능력 컵에물이없습니다. 떠오겠습니다. 라는발화를하면서, 컵에물을떠오기위한행위추론및실행. 이때발화를하면서사용자의 CONFIRM 을확인 Mulimodal 출력기능 반갑습니다 라는발화를할때, 얼굴을돌려서사용자와눈을맞추고, 반가운표정을지으면서 반가운제스츄어 1 을실행한다. 즉, 발화와제스츄어표정의 sync. 문제
결론 대화형인터페이스기능을갖는지능형에이전트구축 발화분석을통한사용자의의도파악이기본능력 의도파악을제대로하지않아도되는챗봇 결국한계가있음 상황에맞추어사용자와의대화를통해서사용자의의도를제대로파악할수있는능력이지능형에이전트의수준을좌우 챗봇빌더를사용한챗봇구축 챗봇의구현원칙과용어의의미를알면더쉽게구축할수있음 로봇의인터페이스 Mulimodal 대화인터페이스 인간과같은대화기능 Common sense knowledge 처리문제는 open problem in AI
결론 : 기술적인측면 전통적인규칙기반 통계, 기계학습기반, Deep learning 기반 방대한 labeled raining daa (BigDaa) 의필요 방대한 ex 데이터를이용하여어느정도언어처리및지식처리가가능 DNN 을이용한지능적인 Classificaion 능력이탁월해지고있음 Unlabeled daa 자동 Clusering 능력을이용하여새로운 class 발견능력도점점좋아지고있음 강화학습을통한 decision making 능력도탁월해지고있음 언어분석, 대화모델까지통합한 Deep learning model 이연구됨 그럼에도불구하고, Common sense knowledge 는아직도요원한상황
대용어 (anaphoric reference) 예 n 사용자 : 요즘이영애나오는인기있는드라마가뭐지? n DTV: MBC에서방영중인대장금입니다. n 사용자 : 대장군재방송어디서해? n DTV: 지금은방송중이아니고, 채널36에서오후 2시에방영예정입니다. n 사용자 : 그럼, 그거녹화해줘. n DTV: 네, 알겠습니다.
Sub-dialogue 예 사용자 : 짱구야, 김사장전화대봐. 시스템 : 롯데산업김충현사장과한성부동산김말구사장중누구를연결할까요? 사용자 : 부동산김사장. 시스템 : 김말구사장연결하겠습니다. 사용자 : 근데, 오늘오후에그친구만나기로하지않았나? 시스템 : 네, 오늘저녁 7시에김말구사장과식사약속이있습니다. 사용자 : 그래, 1시간전에다시알려다오. 시스템 : 네, 알겠습니다. 시스템 : 김말구사장전화연결되었습니다.
Negoiaion(belief space), mixed-iniiaive 사용자 : 짱구야, 김말구사장과저녁약속이언제지? 시스템 : 다음주수요일저녁 7 시입니다. 사용자 : 수요일? 큰애가그날저녁에온다고하지않았나? ( 서로의 belief 가틀림을발견 ) 시스템 : 아니오, 명주씨는화요일저녁에온다고되어있습니다. 사용자 : 아니야, 화요일저녁은회의가있다고했는데 어제김이사가보낸이메일좀찾아봐 시스템 : 김이사가보낸이메일이어제는없고, 이틀전것과오늘아침에온것이있습니다. 보여드리겠습니다. 사용자 : 밑의것을열어봐 시스템 : 이틀전에온것열겠습니다. 사용자 : 화요일저녁에이사회를하기로했다니까, 명주를수요일에오라고해. 시스템 : 그러면, 수요일저녁의김말구사장과의식사약속은어떻게할까요? 사용자 : 김사장전화대봐. 시스템 : 김말구사장전화연결하겠습니다.