æ¬èšäºã¯ãICLR2019ãããã¢ããã³ãã«ã¬ã³ã㌠Advent Calendar 2018 ã®22æ¥ã®èšäºã§ãã
ð§ of Wikipedia: Knowledge-Powered Conversational agents
ãšããã¿ã€ãã«ã®è«æãèªãã ã®ã§çŽ¹ä»ããŸããã¡ãªã¿ã«ð§ã«ã¯ Wizard
ãå
¥ããŸããWizard of Wikipedia ã§ããç§ãåæã«çµµæåã«ãããããããªããŠãå
è«æããããªã£ãŠããŸã
æ°ã«ãªãæ¡åŠã§ããã Poster 㧠accept ãããããã§ã
ééããè£è¶³ãªã©ããã°æ°è»œã«ã³ã¡ã³ãããã ãããšå©ãããŸã
å¿ãã人ã®ããã®ãµããªãŒ
ç¥è (knowledge) ãããŸã䜿ãããã㪠chatbot ã«é¢ããç 究ã
open domain ãªå¯Ÿè©±ã«ãããŠãç¥èãæ±ããã㪠chatbot ã®ç 究ãå°ãªãã®ã¯ããã«é¢ããã¿ã¹ã¯ãããŒã¿ããªãããããšãã仮説ããã Wikipedia ã®ããŒã¿ãåºã«ããŠãç¥èãåãæ±ã察話ãã®ããŒã¿ã»ãããåã³ãã³ãããŒã¯ãäœæããã
ãŸããç¥èãåãå
¥ãã察話å¿çã®ããã®ã¢ãã«ãèšèš (Transformer Memory Network) ããããã€ãã®æ¢åã¢ãã«ãšåãããŠå®éšãææ¡ãããã³ãããŒã¯ãåã³äººæã«ããè©äŸ¡ãè¡ã£ãã
ã¢ãã«èªäœãæ°ãããã®ã ããæ°ããªããŒã¿ã»ãããšãã³ãããŒã¯ã®äœæã«ãããã®åéã®çºå±ãæåŸ
ã§ããç¹ãç¹ã«è©äŸ¡ãããŠããã
ç®æ¬¡
次ã®é ã«èª¬æããã
- èæ¯ã»é¢é£ç 究
- ããŒã¿ã»ãããšã¿ã¹ã¯: Wizard of Wikipedia
- ææ¡ææ³: Transformer Memory Network
- å®éš
èæ¯ã»é¢é£ç 究
æ¬ç 究㯠open domain ã§ã®å¯Ÿè©±ã¿ã¹ã¯ãåãæ±ã£ãŠããã
open domain ã®å¯Ÿè©±ãšã¯ãäºäººã®è©±è
ãç¹å®ã®ãããã¯ã«äŸãããèªç±ã«äŒè©±ããããããªã¿ã¹ã¯ãèšãããã察æ¯ãšããŠäžããããã®ã¯ã¿ã¹ã¯æååã®å¯Ÿè©±ã§ãäŸãã°ã¬ã¹ãã©ã³ã®äºçŽãªã©ãç¹å®ã®ç®çã®ããšã§è¡ããã察話ãããã
ãããå®çŸããã«ã¯ã次ã®ãããªæ©èœãæ±ãããããšèè ãã¯äž»åŒµããŠããã
- èšèªãç解ãã
- èšæ¶ãä¿æãã
- ç¥èã掻çšãã
- (äžèšãçµã¿åãããŠ)çºè©±ãçæãã
ãšããããçŸåšäž»æµãšãªã£ãŠãã察話ã®ããã®ã¢ãŒããã¯ãã£ã§ãã sequence to sequence ãªã¢ãã« (çžæã®çºè©±ãåãåã£ãŠãå¿çãšãªãçºè©±ãçæãããããªã¢ãã«, Seq2Seq [1] ã Transformer [2] ãªã©)ã¯ãèšæ¶ã®ä¿æãç¥èã®æŽ»çšã«é¢ããèœåããŸã ååã§ã¯ãªãã
ãããã®ã¢ãã«ã¯å
¥åãåºã«ãªãããã®æŒç®ãæœããŠåºåãçæããã ããªã®ã§ãã¢ãã«ã«ä¿åãããã®ã¯ããããéã¿ã«å«ãŸããŠããæ
å ±ã§ããããšãããå°€ããšèšããã
察話ã«ãããèšæ¶ãç¥èã®æŽ»çšã«ã€ããŠã®ç 究ãé²ãã§ããªãïŒã€ã®èŠå ãšããŠãèè
ãã¯ãç¥èãåããã㪠open domain ãªå¯Ÿè©±ã®ããŒã¿ã»ãããåã³ãã³ãããŒã¯ãååšããªãããšãæããŠãããå®éã«ã察話ã®ã¿ã¹ã¯ã¯ãããã®ã®ãæ瀺çã«ç¥èãå©çšããªããã®ãå€ããäŸãã°ã Open-Subtitles
[3], Persona-Chat
[4] ãªã©ã¯ãèšæ¶ã®ãããªãã®ãæ±ããã®ã®éå»ã®å¯Ÿè©±ãåºã«ããŠãããç¥èã®ãããªé·æçãªèšæ¶ã¯æ±ã£ãŠããªãã
open domain ãªå¯Ÿè©±ãšããå¶éãé¢ãããšãããã€ãé¡äŒŒç 究ã¯ååšããã
ã¿ã¹ã¯æååã®å¯Ÿè©±ã«ãããŠã¯ãããŒã¿ããŒã¹ã«APIã§ã¢ã¯ã»ã¹ããããªã©ãç¥èã掻çšããåæã®ããŒã¿ã»ãããããã€ãååšããŠããããŸã SQuAD ãªã©ã® QA ç³»ã®ã¿ã¹ã¯ã¯ãå¿çãçæããªããã®ã®ç¥èã䜿ãããšãå¿
èŠã«ãªã£ãŠããç¹ã§äŒŒãŠãããšèšããã
æãè¿ãç 究ãšãªã¢ãšããŠã¯ãç¥èã掻çšãã被ã¿ã¹ã¯æåã®åéã«ããããMemory Network ã䜿ããã®ãç¥èãæ§é åããŠæ¡ä»¶ãšããŠäœ¿ããã®ãéæ§é çãªããã¹ãããã®ãŸãŸäœ¿ããã®ãªã©è²ã åé¡ããããããã«ãã¿ãŒã³ã§ã〠open domain ãªå¯Ÿè©±ãåãæ±ããããªã¢ãã«ã¯æ¬ç 究ãåããŠã
ããŒã¿ã»ãããšã¿ã¹ã¯: Wizard of Wikipedia
ããã§ã¯ãããŒã¿ã»ããã®äœãæ¹ãšãã³ãããŒã¯ãšãªãã¿ã¹ã¯ã«ã€ããŠè¿°ã¹ãããããã¡ã€ã³ã£ãœãã®ã§å°ã詳ããã«æžããã
èšå®
open domain ã§ãã€ç¥èã䜿ã£ã察話ãå®çŸ©ãããæ¬ç 究ã§ã¯ãäžèšã«è¿°ã¹ããããªæ¡ä»¶ã§äººãšäººã®äŒè©±ãããŒã¿ã»ããã§åéããã¢ãã«ãæ§ç¯ã㊠Wizard (åŸè¿°)ã眮ãæããããšãèããŠããã
- äºäººã®è©±è ãéè«ããã
- çæ¹ãæåã®ãããã¯ãéžã¶
- ãããã¯ã¯éäžã§å€ãã£ãŠãè¯ã
æŽã«æ¬ã¿ã¹ã¯ã§ã¯ãäºäººã®è©±è
ã¯å¯Ÿçã§ã¯ãªããããã圹å²ããããäžäººã¯ Apprentice
ãããäžäººã¯ Wizard
ãšåããã
Apprentice
- Wizard ãšèªç±ã«è©±ã
- 奜å¥å¿æºçã§åŠç¿æ¬²ã匷ã
- èå³ã®ãããããã¯ã«ã€ããŠæ¥œããè°è«ãæ·±ããã
Wizard
- ã奜å¥å¿æºçãããªäººãšäŒã£ãã®ã§ãäœãã«ã€ããŠè°è«ããããšèããŠããããšããèšå®
- çžæã«ãã話é¡ã«ã€ããŠã®æ å ±ãäŒããããšãç®ç
- äŒè©±ã®åã¿ãŒã³ã§äŒè©±ã«é¢é£ã®ãã Wikipadia ã®ããŒãžã«ã¢ã¯ã»ã¹ã§ãã(åŸè¿°)
- åŸãæ å ±ãåºã«æ¬¡ã®è¿çãèãã
äŒè©±ã®æµã
- ã©ã¡ããã Topic ãéžæããŠè©±ããããã
- wizard ãã¡ãã»ãŒãžãåãåã£ãããé¢é£ããç¥èã衚瀺ããã(åŸè¿°)ãé¢é£ããæç« ãéžæããã
- wizard ã¯éžãã æç« ãåºã«çºè©±ãæ§æããè¿çããã
- äŒè©±ã5ã¿ãŒã³ç¶ããŸã§äžèšãç¹°ãè¿ãã
ãããã®èšå®ã§ã1,431 ã®ããã㯠(ããããã Wikipadia ã®1èšäºã«å¯Ÿå¿ããŠãã)ã䜿ã£ãŠã¯ã©ãŠãã¯ãŒã«ãŒã«ããããŒã¿ãåéãããWizard ã¯äžèšã®ãã㪠UI ã§å¯Ÿè©±ãè¡ãã
å³1: Wizard ããèŠãç»é¢äŸ, Appendix A.1 from Wizard of Wikipedia: Knowledge-Powered Conversational Agents
ç¥èã®æ€çŽ¢
Wizard ã«ã¿ãŒã³ãåã£ãŠãããã³ã«é¢é£ãã Wikipedia ããŒãžã衚瀺ãããããšããæµãã«ãªã£ãŠããããããã«ã¯ Wikipadia ããŒãžããéå»ã®äŒè©±ã«é¢é£ããèšäºãæ€çŽ¢ããæé ãå¿
èŠã«ãªãã
èè
ãã¯ããã®ç¹ã¯ã¢ãã«ã®æ¹åã§ããç¹ã ãšãã€ã€ã(ãã³ãããŒã¯ãšããŠäœ¿ãããã«?)ããŒã¿ã»ããåéæã¯ãOpen-SQuAD ã®ããŒã¿ã»ãããªã©ã§äœ¿ãããŠããæšæºçãªææ³([5]ãªã©)ã«ããããšã®ããšã
éå»ã®2ã€ã®äŒè©±ã§ããããäžäœ7件ããããã¯ã«ã€ããŠã®èšäºã1件ã®åèš15件ãåã£ãŠããŠãWizard ã«è¡šç€ºããã
ç¥èã®éžæãšè¿çã®çæ
Wizard ã¯ãäžãããã15件㮠Wikipedia èšäºã®äžãããè¿çãäœæããéã«æãé¢é£ã®ããæç« ã1ã€ã ãã¯ãªãã¯ããŠéžã°ããããã®ããŒã¿ã«ãããQA ç³»ã¿ã¹ã¯ã®ãããªã¢ãããŒãã§ãè©äŸ¡æã«ã©ããããæ£ããç¥èã掻çšã§ãããã枬ãããšãåºæ¥ãããã«ãªãã
æçµçãªããŒã¿ã»ãã
- 22,311 åã®å¯Ÿè©± (201,999 ã¿ãŒã³)
- 166,787 åã training set
- 17,715 åã validation set
- 17,497 åã test set
- test set ã¯ãtraining set ã«ãããããã¯ãšãªããããã¯ã§ Test Seen ãš Test Unseen ãšããŠåã ã«åãã
ææ¡ææ³: Transformer Memory Network
äžè¿°ãã Wizard of Wikipedia ã®ãããŒã«ãããŠã Wizard ã眮ãæããã¢ãã«ãèãããèè ãã¯ã Transformer [2] ãš Memory Network [6] ãçµã¿åãããã¢ãã«ãææ¡ããããªããç¥èæ€çŽ¢ã®éšåã¯ãããŒã¿åéæãšåãæšæºçãªæ å ±æ€çŽ¢ã®ãã¯ããã¯ã䜿ã£ãŠãããšã®ããšã
ã¢ãã«æŠèŠ
ããã€ã掟çã§çš®é¡ãããããåŸã«åæããããåºæ¬ãšãªã Encoder éšåã¯åæ§ã
- äŒè©±ã®ã³ã³ããã¹ã $ x_1, ..., x_t $ ($x_1$ ã¯ãããã¯å) ã Transformer ã§ãšã³ã³ãŒãããã(â» ããã®å ¥ãæ¹ã¯æžãããŠããªãããå šãŠã®ã³ã³ããã¹ãã concat ããŠãã??)
- ã¡ã¢ãªãŒ(ç¥è)ã®å šãŠã®æç« ãå¥ã ã«äŒè©±ã®ãã®ãšåã Transformer ã§ãšã³ã³ãŒããã
- ãšã³ã³ãŒãããäŒè©±ã³ã³ããã¹ãããã¡ã¢ãªãŒ(ç¥è)ã®ããããã«å¯Ÿã㊠dot-product attention ãé©çšãã
- ããã«ãã£ãŠåºæ¥ãè¡šçŸã Decoder ã«ããã
äžèšå³ã®å·ŠåŽååã«åœããã
å³2: Figure 1 from 'Wizard of Wikipedia: Knowledge-Powered Conversational Agents'
åŸãããå ¥åãšç¥èã®è¡šçŸã®äœ¿ãæ¹ãã Decoder ãŸã§ã§ãããã€ã掟çææ³ãææ¡ããŠããã
Retrieval Model
äºãè¿çã®éžæè¢ãçšæãããŠããããã®äžããäžã€ãéžã¶ãè¿çã®éžæè¢ã¯ãããŒã¿ã»ããã§æ£è§£ã«ããããã®ãšãä»ã®å¯Ÿè©±ã«äœ¿ãããè¿çãã©ã³ãã ã§ããã¯ã¢ããããŠããã
ç¥èãšå¯Ÿè©±ã®ã³ã³ããã¹ãããšã³ã³ãŒããããã®ã $\mathrm { rep } _ { \mathrm { LHS } }$, å¥ã® Transformer ã§è¿çã®åè£ããšã³ã³ãŒããããã®ã $\mathrm { rep } _ { \mathrm { RHS } }$ ãšãããšã次ã®åŒã§è¿çãéžã¶ã
\ell = \underset { i \in \{ 1 , \ldots , L \} } { \arg \max } \frac { \operatorname { rep } _ { \mathrm { LHS } } \left( m _ { c _ { 1 } } , \cdots , m _ { c _ { K } } , x \right) } { \left\| \mathrm { rep } _ { \mathrm { LHS } } \left( m _ { c _ { 1 } } , \ldots , m _ { c _ { K } } , x \right) \right\| _ { 2 } } \cdot \frac { \mathrm { rep } _ { \mathrm { RHS } } \left( r _ { i } \right) } { \left\| \mathrm { rep } _ { \mathrm { RHS } } \left( r _ { i } \right) \right\| _ { 2 } }
ããã§ã$m_{c}$ ã¯ããããã®ã¡ã¢ãªã $x$ ã¯å¯Ÿè©±ã³ã³ããã¹ãã$r$ ã¯è¿çã®åè£ãšãªã£ãŠããã
â» çŽæçã«ã¯å
¥åã®ãšã³ã³ãŒãçµæãšäžçªè¿ããã®ãéžãã§ããã ã?
â» ããŸãçŸå®çã§ãªãèšå®ã«æãããããRetrieval Model ã«ã€ããŠã®å®éšçµæã®è©³è§£ã¯å²æããã
Generative Model End-to-End version
ãããŸã§ã®å¯Ÿè©±ãšç¥èãäžããŠãend to end ã«è¿çãçæããã
æçµçãªçºè©±ã® negative log likelihood ã«ãã loss $ \mathcal {L}_ {NLL} $ ã ãã§ãªããç¥èéžæéšåã«ã人ãéžãã ç¥èãæ£ããéžæã§ããŠããããè©äŸ¡ãã loss $ \mathcal {L}_{knowledge} $ ã足ããã
Generative Model Two-stage version
ç¥èãéžæãããŸã§ãšãç¥èãšéå»ã®å¯Ÿè©±ãåºã«è¿çãçæãããšããã§ã¢ãã«ã2ã€ã«åããããããã§ãã¬ãŒãã³ã°ããã
æåã®ã¢ãã«ã§äœ¿çšããç¥èã¯åè£ãã1ã€ã ãéžã¶ããããã®ç²ŸåºŠãã¯ãªãã£ã«ã«ã«ãªã£ãŠããã
ç¥èãééã£ãŠãããšãã«å€§ããè¿çãééããªãããã«ãäžå®ç¢ºçã§ç¥èãç¡ãã Knowledge Dropout (K.D.) ãåãå
¥ããã
å®éš
äžè¿°ããã¢ãã«ãããã€ãã®å®éšã§ãã¹ããããäžéšçŽ¹ä»ããã
Full Task: Dialogue With Knowledge
Predicted Knowledge
(knowledge ãèªèº«ã§æšå®ãã)ãšã Gold Knowledge
(æ£è§£ã®ç¥èãäžãã)ã®2ã€ã®æ¡ä»¶ã§ããã«ã¿ã¹ã¯ã®å®éšãè¡ã£ããææšã¯ perplexity ãš Få€ã
è¡š1: Generative model ã®å®éšçµæ, Table 4 from Wizard of Wikipedia: Knowledge-Powered Conversational Agents
åœããåã ããéåžžã® Transformer ããããçµæãšãªã£ãŠããã
Predicted Knowledge
ã«ã€ããŠã¯ãTwo-stage ã¢ãã«ã®æ¹ãè¯ãçµæã«ãªã£ããç¥èéžæã®ããã«åŠç¿ããã¢ãã«ãããŸã掻ããŠãããšèšããã ãããéã«ã Gold Knowledge
ã§ã¯ E2E ã¢ãã«ã®æ¹ãè¯ãçµæãšãªã£ããE2Eã¢ãã«ã®æ¹ããåŸãããç¥èãè¿çã«æŽ»çšã§ããŠããããšæšæž¬ã§ããã
Human Evaluation
ããŠã training set ã«å¯Ÿããææšã«ããè©äŸ¡ã¯åäžãèŠããããã人ã«ããè©äŸ¡ã ãšã©ãã ããã
æ¬å®éšã§ã¯ãã¯ã©ãŠãã¯ãŒã«ãŒ(Apprentice)ãšåã¢ãã«(Wizard)ã§äŒè©±ãããŠãããããã©ã®ãããäŒè©±ãæ°ã«å
¥ã£ãããã1-5段éã§åçããŠããããããããã£ãŠã¢ãã«ãè©äŸ¡ãããçµæã¯äžèšã
è¡š2: 人æã«ããè©äŸ¡çµæ, Table 5 from Wizard of Wikipedia: Knowledge-Powered Conversational Agents
èå¯ãšããŠã¯è²ã æžãããŠãããã人ã«ãã察話(è¡š2ã®äžçªäž)ã«ã¯ãŸã ãŸã å·®ãããããšãåããã
ã³ã¡ã³ã
ç¥èã䜿ã£ã察話ã¢ãã«ã®ãã¬ãŒã ã¯ãŒã¯ãšããŠã¯ãéåžžã«æçšã«æãããææ¡ã¢ãã«ãã¢ã€ãã£ã¢èªäœã¯çµã¿åããã§ã¯ããããæ°ããææ³ã䜿ã£ãŠããããŒã¹ã©ã€ã³ãšããŠè¯ãããªãã®ã«èŠãããå¥ã¢ãžã¥ãŒã«ããåã£ãŠããã¡ã¢ãªãŒã attention ããã ãããšããã®ãç°¡åã§ããããããã
äžèšã®ç¹ãªã©ããã€ã説æãå°ãªããŠããããªããšãããããããã³ãŒããšããŒã¿ã»ããã¯å
¬éäºå®ãšã®ããšãªã®ã§èªãã°åããããšãæåŸ
ãããã
- äŒè©±ã³ã³ããã¹ãã®å ¥ãæ¹ (ã³ã³ããã¹ã㯠$x_1, .., x_t$ ã® $t$ 件ããã¯ãã ãã$x$ ã ãã«ãªã£ãŠãã)
- E2Eã¢ãã«ã®å®éšæ㯠Gold Knowledge ãã©ãå ¥ããŠããã®ã
- ä»ã®ã¢ãã«ã§ã® Human Evaluation ã®çµæãæžãããŠããªã
ãŸãããŒã¿ã»ãããªã©ãå
¬éããããå®è£
ãªã©ããã©ã€ããããšããã ããç¥èæ€çŽ¢ã®éšåãå¿
èŠã«ãªã£ãŠããã®ãããã©ããããšããã
chatbot éçºã«æºãã身ãšããŠã¯ãæåã«èšåãããŠãããããªç¥èãšèšæ¶ã®åé¡ã¯ open domain ãªå¯Ÿè©±ã«ãããŠãŸãã«ãã®ãšããã ãšæããã®ã§ããã®åéã®ç 究ãé²ãããšãæåŸ
ãããã
åè
- Sequence to Sequence Learning with Neural Networks, arXiv:1409.3215
- Attention Is All You Need, arXiv:1706.03762
- A Neural Conversational Model, arXiv:1506.05869
- Personalizing Dialogue Agents: I have a dog, do you have pets too?, arXiv:1801.07243
- Reading Wikipedia to Answer Open-Domain Questions, arXiv:1704.00051
- End-To-End Memory Networks, arXiv:1503.08895