{"id":604773,"date":"2019-08-29T10:41:21","date_gmt":"2019-08-29T17:41:21","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?p=604773"},"modified":"2019-08-29T10:54:20","modified_gmt":"2019-08-29T17:54:20","slug":"microsoft-icecaps-an-open-source-toolkit-for-conversation-modeling","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/microsoft-icecaps-an-open-source-toolkit-for-conversation-modeling\/","title":{"rendered":"Microsoft Icecaps: An open-source toolkit for conversation modeling"},"content":{"rendered":"
How we act, including how we speak, is more often than not determined by the situation we find ourselves in. We wouldn\u2019t necessarily use the same tone and language with friends during a night out bowling as we would with colleagues during an office meeting. We tailor dialogue to appropriately fit the scenario. If trained conversational agents are to continue evolving into dependable resources people can turn to for assistance, they\u2019ll need to be trained to do the same.<\/p>\n
Today, we\u2019re excited to make available the Intelligent Conversation Engine: Code and Pre-trained Systems, or Microsoft Icecaps<\/span> (opens in new tab)<\/span><\/a>, a new open-source toolkit that not only allows researchers and developers to imbue their chatbots with different personas, but also to incorporate other natural language processing features that emphasize conversation modeling.<\/p>\n Icecaps<\/span> provides an array of capabilities from recent conversation modeling literature. Several of these tools were driven by recent work done here at Microsoft Research, including personalization embeddings, maximum mutual information\u2013based decoding, knowledge grounding, and an approach for enforcing more structure on shared feature representations to encourage more diverse and relevant responses. Our library leverages TensorFlow in a modular framework designed to make it easy for users to construct sophisticated training configurations using multi-task learning. In the coming months, we\u2019ll equip Icecaps<\/span> with pre-trained conversational models that researchers and developers can either use directly out of the box or quickly adapt to new scenarios by bootstrapping their own systems.<\/p>\n At Icecaps<\/span>\u2019 core is a flexible multi-task learning paradigm. In multi-task learning, a subset of parameters is shared among multiple tasks so those tasks can make use of shared feature representations. For example, this technique has been used in conversational modeling to combine general conversational data with unpaired utterances (opens in new tab)<\/span><\/a>; by pairing a conversational model with an autoencoder that shares its decoder, one can use the unpaired data to personalize the conversational model. Icecaps<\/span> enables multi-task learning by representing most models as chains of components and allowing researchers and developers to build arbitrarily complex configurations of models with shared components. Flexible multi-task training schedules are also supported, allowing users to alter how tasks are weighted over the course of training.<\/p>\nMulti-task learning and SpaceFusion<\/h3>\n