Upgrade to PRO for Only $50/Yearโ€”Limited-Time Offer! ๐Ÿ”ฅ

Let Android dream electric sheep: Making emotio...

Let Android dream electric sheep: Making emotion model for chat-bot with Python3, NLTK andย TensorFlow

summary
Chatbot is the underlying technology of an interactive interface. One of the problems to be solved for popularization of chatbots is the unnaturalness of inhuman conversation. This presentation introduces the process of implementing emotion status reading based on Python 3 for human conversation implementation, and the experience of simulating the emotional state of the bot itself, with the demonstration. We also share the problems and solutions we encountered in implementing the emotional models.

๊ฐœ์š”

์ฑ—๋ด‡์€ ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์ด๋‹ค. ์ฑ—๋ด‡์˜ ๋Œ€์ค‘ํ™”๋ฅผ ์œ„ํ•ด ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ฌธ์ œ์ค‘ ํ•˜๋‚˜๋Š” ๋น„์ธ๊ฐ„์  ๋Œ€ํ™”์—์„œ ์˜ค๋Š” ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์›€์ด๋‹ค. ์ด ๋ฐœํ‘œ์—์„œ๋Š” ์ธ๊ฐ„์ ์ธ ๋Œ€ํ™” ๊ตฌํ˜„์„ ์œ„ํ•˜์—ฌ Python 3๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ • ์ƒํƒœ ์ฝ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•œ ๊ณผ์ •๊ณผ, ๋ด‡ ์ž์ฒด์˜ ๊ฐ์ • ์ƒํƒœ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•œ ๊ฒฝํ—˜์„ ๋ฐ๋ชจ์™€ ํ•จ๊ป˜ ์†Œ๊ฐœํ•œ๋‹ค. ๋˜ํ•œ ๊ฐ์ • ๋ชจํ˜•์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งŒ๋‚ฌ๋˜ ๋ฌธ์ œ๋“ค ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•œ๋‹ค.

์ƒ์„ธ

์ฑ—๋ด‡์€ ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์Œ์„ฑ ์ธ์‹๊ณผ์˜ ๊ฒฐํ•ฉ์„ ํ†ตํ•œ ๋ฌด์ž…๋ ฅ ๋ฐฉ์‹ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์ด๋‹ค. ์ฑ—๋ด‡์€ ๊ณ ๊ฐ์ƒ๋‹ด ์„œ๋น„์Šค ๋ถ„์•ผ๋ถ€ํ„ฐ ์˜จ๋ผ์ธ ๊ตฌ๋งค, ๋””์ง€ํ„ธ ์–ด์‹œ์Šคํ„ดํŠธ ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์— ๋„๋Ÿฌ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๋ฉ”์‹ ์ €๋ถ€ํ„ฐ ์Œ์„ฑ ์ธ์‹ ๊ธฐ๋ฐ˜์˜ ์Šค๋งˆํŠธ ์Šคํ”ผ์ปค๋“ฑ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ๋ณด๊ธ‰๋˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฑ—๋ด‡์˜ ๋Œ€์ค‘ํ™”๋Š” ์ตœ๊ทผ ๋จธ์‹ ๋Ÿฌ๋‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ, ๋”ฅ๋Ÿฌ๋‹ ๋ถ„์•ผ์˜ ๋ฐœ์ „์— ํž˜์ž…์–ด ๊ฐ€๋Šฅํ•ด์ง„ end-to-end ๋ชจ๋ธ ๊ตฌํ˜„์— ๊ธฐ์ˆ ์ ์œผ๋กœ ํฐ ์˜ํ–ฅ์„ ๋ฐ›์•˜๋‹ค.

์ฑ—๋ด‡์ด ์‘์šฉ๋˜๋Š” ๋ถ„์•ผ๊ฐ€ ๋„“์–ด์ง€๊ณ  ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์ฑ—๋ด‡ ์„œ๋น„์Šค ๋ฐ ์‚ฌ์—…์ด ์„ฑ์žฅํ•จ์— ๋”ฐ๋ผ '๋ถˆํŽธํ•œ ๊ณจ์งœ๊ธฐ ' ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋น„์ธ๊ฐ„์  ๋Œ€ํ™”์—์„œ ์˜ค๋Š” ํ”ผ๋กœ ๋ฌธ์ œ๊ฐ€ ์ ์ฐจ ๋Œ€๋‘๋˜๊ณ  ์žˆ๋‹ค. ๋น„์ธ๊ฐ„์  ๋Œ€ํ™”๊ฐ€ ๊ฐ€์ ธ์˜ค๋Š” ํ”ผ๋กœ๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฐ ์ด์šฉ ์ง€์†์„ฑ์— ์˜ํ–ฅ์„ ํฌ๊ฒŒ ๋ฏธ์นœ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฌธ์ œ๋Š” ๋Œ€ํ™”ํ˜• ๋””์ง€ํ„ธ ์–ด์‹œ์Šคํ„ดํŠธ์˜ ๋Œ€์ค‘ํ™” ๊ณผ์ •์—์„œ ์–ด๋ ต์ง€๋งŒ ์šฐ์„ ์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ณผ์ œ๋“ค ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜์—ˆ๋‹ค.

๊ฐ์ • ๋ชจํ˜•์€ ๋น„์ธ๊ฐ„์  ๋Œ€ํ™”๋ฅผ ๋ฒ—์–ด๋‚˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์ด ๋ฐœํ‘œ์—์„œ๋Š” Python 3๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ • ์ƒํƒœ ์ฝ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ๊ฐ์ •์ƒํƒœ๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•œ ๊ฒฝํ—˜๊ณผ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค. Python์˜ NLTK ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์ • ์‚ฌ์ „ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ๊ธฐ์กด ๋Œ€ํ™” ๋ฐ์ดํ„ฐ๋ฅผ Python 3 ๋ฐ Pandas๋ฅผ ์ด์šฉํ•˜์—ฌ ์ดˆ๋ฒŒ๊ฐ€๊ณตํ•œ๋‹ค. ๊ฐ€๊ณตํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ wordvec ๊ณต๊ฐ„์„ ์ •์˜ํ•œ๋‹ค. Wordvec ๊ณต๊ฐ„์˜ ๊ฐ ๋‹จ์–ด์— ๊ฐ์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ๋งŒ๋“  ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ ์ ์ ˆํ•œ ์œ„์ƒ ๊ณต๊ฐ„์„ ์ •์˜ํ•œ๋‹ค. ์ดํ›„ ์‹ค์‹œ๊ฐ„ ๋Œ€ํ™”์—์„œ ๋“ค์–ด์˜ค๋Š” ๋‹จ์–ด๋“ค์„ ์ผ์ • ๋‹จ์œ„๋กœ ์ž…๋ ฅํ•˜์—ฌ, ํ˜„์žฌ ํ™”์ž์˜ ๊ฐ์ • ์ƒํƒœ ๋ฐ ๊ฐ์ • ๋ณ€ํ™”๋ฅผ ์ถ”์ ํ•œ๋‹ค. ์ดํ›„ ๋ด‡์˜ ๊ฐ์ •์„ ๋‹ด๋‹นํ•˜๋Š” ๊ธฐ๊ณ„ํ•™์Šต ๋ชจํ˜•์„ ๋งŒ๋“ค์–ด ํ•™์Šต์‹œํ‚ค๊ณ , ๋ด‡์˜ ํ˜„์žฌ ๊ฐ์ •์— ๋”ฐ๋ผ ๋‹ต๋ณ€ ๋ฌธ์žฅ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๊ธฐํƒ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์–ดํ•„ํ•˜๋„๋ก ๊ตฌํ˜„ํ•œ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ๋Š” ๋ด‡ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์žฌ๋ฏธ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์•„์ด๋””์–ด์™€ ํ•จ๊ป˜ ๋ฌถ์–ด ๋Œ€ํ™”๋ฅผ ์‹œ์—ฐํ•œ๋‹ค.

์ด ๊ณผ์ •์—์„œ ๊ฒช์€ ๋ฌธ์ œ๋“ค ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ํ•จ๊ป˜ ์†Œ๊ฐœํ•œ๋‹ค. ์šฐ์„  NLTK ํŒจํ‚ค์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐ์ • ์‚ฌ์ „์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •๊ณผ, ๊ฐ์ • ์‚ฌ์ „ ์ธ๋ฑ์Šค๋ฅผ ํ•œ๊ตญ์–ด์— ๋งž๊ฒŒ ์ปค์Šคํ…€ํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ์ • ์ƒํƒœ๋ฅผ ์ •์˜ํ•œ ๊ณต๊ฐ„์—์„œ ๋ด‡์˜ ๊ฐ์ • ๋ณ€ํ™”๊ฐ€ ์‹ค์ œ ์ธ๊ฐ„๊ณผ ๋‹ค๋ฅด๊ฒŒ ์‹ฌํ•˜๊ฒŒ ํŠ€๋Š” ๋ฌธ์ œ๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•๊ณผ ํ•จ๊ป˜, ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ๋ฉ€ํ‹ฐ ๋ชจ๋“œ ๋ชจ๋ธ ์ฒด์ธ์— ์ปจํ…์ŠคํŠธ ์—”์ง„ ๋ฐ ๋Œ€ํ™” ์—”์ง„๊ณผ ๊ฐ์ • ๋ชจํ˜•์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ์žฌ๋ฏธ์žˆ๋Š” ๋ฐ๋ชจ์™€ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ณ ์ž ํ•œ๋‹ค.

Avatar for Jeongkyu Shin

Jeongkyu Shin PRO

August 11, 2017
Tweet

More Decks by Jeongkyu Shin

Other Decks in Technology

Transcript