Além de "Como posso ajudá-lo? “

Como usamos modelos de sequência e redes LSTM para sugerir respostas para nossos agentes de atendimento ao cliente

Cindy Chen Blocked Unblock Seguir Seguindo 18 de dezembro de 2018

Por Xin (Cindy) Chen, Mengting Wan

O escritório da Airbnb em Dublin oferece muito espaço de trabalho além da sua mesa.

No Airbnb, servimos uma comunidade global de anfitriões e convidados. Uma parte essencial do negócio da Airbnb é fornecer atendimento ao cliente de alta qualidade em escala. O bate-papo ao vivo é um dos nossos canais de suporte ao cliente, onde os clientes podem conversar com nossos agentes de atendimento ao cliente para resolver seus problemas.

É demorado para os agentes repetidamente digitar ou copiar e colar mensagens usadas com freqüência em suas conversas. Isso não é apenas uma perda de tempo para nossos clientes e agentes, mas também para evitar um envolvimento profundo com os clientes ao resolver seus problemas. Para resolver esses problemas, introduzimos respostas inteligentes em nosso sistema de bate-papo de atendimento ao cliente, onde sugerimos respostas curtas para os agentes usarem com um clique.

Figura 1. Sugestões de resposta proativa para os agentes de atendimento ao cliente do Live Chat do Airbnb. As recomendações contêm o contexto de mensagens anteriores: a intenção do cliente de alterar o método de pagamento. (Espaços reservados como cliente, agente, nome do host e 1234 são preenchidos automaticamente em aplicativos reais.)

A natomia de uma conversa

Se você é relativamente novo na IA de conversação, os vários termos usados na literatura sobre modelagem de diálogos de conversação podem ser confusos. Antes de mergulhar nos detalhes de nossos algoritmos, pode ser útil esclarecer alguns termos: enunciação, mensagem, giro e ronda.

Mensagem / expressão: Como mostrado na Figura 2, uma mensagem é uma sinopse de texto. Uma mensagem pode conter várias sentenças. Aqui nós tratamos mensagem e expressão de forma intercambiável.

Nesse contexto, um cliente inicializa uma conversa de bate-papo descrevendo seus problemas em uma mensagem e isso cria um ticket de entrada . Todos os exemplos que usamos começam com uma mensagem do cliente.

Turn: Um turno é composto de todas as mensagens enviadas consecutivamente por um interlocutor.

Figura 2. A Anatomia de uma Conversa: mensagem, giro e volta

Rodada: Uma rodada é um turno de cada um dos interlocutores. Como nosso objetivo é sugerir respostas ao agente para a próxima rodada, no nosso contexto, uma rodada sempre começa com a vez do agente e termina com a vez do cliente. A primeira rodada ( para ingressos de entrada, tem apenas o turno do cliente ) e a última rodada ( para a maioria das conversas de bate-papo com suporte ao cliente, somente a vez do agente ) são exceções a essa regra.

Geração de Candidatos à Resposta

Figura 3. Os candidatos de resposta são gerados pelo agrupamento de frases semelhantes no histórico de conversas usando PNL e finalizadas por revisão de especialistas em conteúdo

O primeiro passo para um sistema de resposta inteligente é ter um conjunto de respostas de candidatos. Nós pegamos todas as mensagens do agente do histórico do bate-papo, anonimizamos as informações pessoais nas mensagens e as categorizamos em frases. Nós vetorizamos essas sentenças usando o modelo word2vec ponderado pelo TF-IDF (Mikolov et al, 2013). Em seguida, aplicamos um algoritmo de clustering K-means de mini-lote escalável e, subsequentemente, um algoritmo hierárquico de agrupamento para os vetores de sentença para obter agrupamentos de sentenças com significados semânticos semelhantes. Por exemplo, “Dê-me um momento enquanto olho para o seu caso” e “Deixe-me ver isso” estão agrupados. Da mesma forma, “Você precisa de mais ajuda?” E “Existe algo mais que eu possa ajudá-lo?” Estão no mesmo grupo semântico.

Agrupando sentenças com significados semânticos semelhantes, identificamos padrões repetidos de mensagens de agentes. Esses clusters também podem nos ajudar a evitar a redundância e aumentar a diversidade nas recomendações – apenas as respostas de clusters semânticos distintos são recomendadas ao mesmo tempo.

Os candidatos de resposta gerados foram finalizados por especialistas em conteúdo para garantir tom e estilo adequados.

Long e Short são Relativos: Modelos de Seqüência com LSTMs

Depois que tivermos o pool de respostas de candidatos, a próxima tarefa é recomendar as N principais respostas com base no contexto da conversa. Neste post, apresentaremos duas versões de algoritmos de recomendação. Ambos são modelos sequenciais (RNN, Redes Neurais Recorrentes) alavancando unidades LSTM.

Long e Short em LSTM

Para o primeiro algoritmo, adotamos a sequência para modelar a arquitetura do modelo na Figura 4. Esse tipo de sequência para estruturar o modelo de sequência ou suas variantes é usado em vários sistemas de resposta inteligente (Kannan et al. 2016). A unidade da sequência é uma palavra e a sequência inteira é uma mensagem. O modelo usa a mensagem precedente mais recente e gera uma ou mais respostas possíveis.

Nesta arquitetura, a informação é passada de uma unidade para outra. Isso é essencial em todos os modelos de sequência baseados em RNN. Existem diferentes tipos de estruturas de células RNN que controlam como a informação flui através da cadeia. Em uma unidade RNN baunilha, apenas um único vetor de estado é passado da unidade precedente para a próxima. Se a sequência de entrada for longa, como “ Obrigado pela ajuda, tudo foi resolvido do nosso jeito ”, em vez de apenas “Obrigado pela ajuda”, a memória sobre as partes iniciais da sequência (memória de longo prazo) poderia estar perdido. A saída prevista não seria ideal se uma boa previsão depender de tais informações de longo prazo.

Figura 4. Sequência do modelo de sequência, pegando a mensagem precedente mais recente e gerando uma ou mais respostas em potencial

As redes LSTM (Long Short Term Memory) são um tipo especial de RNN capaz de memorizar informações de longo e curto prazo de uma sequência de entrada. Este post (Olah, 2015) faz um excelente trabalho ilustrando por que os LSTMs são capazes de fazê-lo. Simplificando, os LSTMs têm uma estrutura mais complexa, que permite que dois vetores de estado sejam passados da célula anterior para a próxima, um para a memória de curto prazo e outro para a memória de longo prazo.

Vale ressaltar que as respostas geradas diretamente do modelo de sequência para sequência podem conter sentenças incompletas e ter estilos insatisfatórios. Usamos o método do vizinho K mais próximo para encontrar as respostas mais próximas do conjunto de candidatos mencionado acima e garantimos que as respostas recomendadas sejam de agrupamentos semânticos distintos.

O sistema implantado com esse algoritmo resultou em impacto positivo e recebeu feedback positivo de nossos agentes. No entanto, também descobrimos que tem grandes limitações para nosso caso de uso:

  • Embora este método use redes LSTM, a sequência de entrada é apenas a mensagem anterior mais recente. A memória de longo prazo pode ser tão longa quanto a seqüência de entrada. No entanto, uma conversa de bate-papo tem muitas rodadas e as mensagens anteriores contêm informações relevantes, que esse método não consegue capturar.
  • Este método é particularmente adequado para sugerir respostas reativas e responder a perguntas do cliente. No entanto, tem dificuldades em sugerir respostas proativas , como perguntas investigativas (por exemplo, "Você talvez tenha outra conta conosco?", "Qual método de pagamento você gostaria de usar?" ). Isso também pode ser devido à falta de contexto de longo prazo das partes anteriores da conversa. As investigações são etapas críticas em que os agentes de atendimento ao cliente coletam as informações necessárias para resolver os problemas dos clientes, por isso criamos uma segunda arquitetura de algoritmo para resolver esse problema.

Long e Short em uma conversa

Longo e curto são relativos. Enquanto o modelo acima usa LSTMs, ele só tem contexto na mensagem anterior mais recente. Isso é considerado um contexto de curto prazo em uma conversa, então criamos uma nova arquitetura de algoritmo para transportar o contexto de longo prazo de todas as mensagens anteriores.

Figura 5. Arquitetura do modelo com memória de longo prazo de todas as mensagens precedentes de ambos os interlocutores

Como mostrado na Figura 5, essa nova arquitetura de modelo trata todas as mensagens em uma rodada como entrada para uma unidade LSTM, portanto todas as rodadas precedentes na conversa formulam a sequência. Em uma rodada, a incorporação de diálogo de incorporação do agente x (a) e a do cliente x (c) são concatenados juntos para formar a entrada na unidade LSTM. y é a saída que representa as respostas do agente na próxima rodada.

Também consideramos a emissão de bilhetes como um recurso adicional. Uma emissão de ticket pode ser atribuída pelo cliente ou pelo agente na criação de um ticket, ou prevista por um modelo separado de previsão de problemas. Experimentamos concatenar o problema do ticket com as transformações de turno na camada de entrada, concatenando-o com os estados ocultos na camada de saída ou ambos.

A partir do exemplo da Figura 1, essa nova arquitetura de modelo nos permitiu sugerir respostas proativas para os agentes que lideram o fluxo da conversa, particularmente questões investigativas. Ele também tem a capacidade de transportar contexto de longo prazo desde a parte inicial da conversa.

Desafios e Próximos Passos

Existem vários desafios impostos pela produção do segundo modelo. Para o primeiro modelo descrito acima, no tempo de veiculação on-line, toda a sequência é servida como entrada, portanto, não há necessidade de armazenar em cache os estados ocultos entre as unidades LSTM. No entanto, no segundo modelo, apenas a rodada anterior é servida como entrada e precisamos armazenar em cache os estados ocultos gerados da unidade antes.

Observe que na nossa segunda arquitetura de modelo, várias mensagens no mesmo dial de diálogo são concatenadas durante o treinamento off-line. No entanto, os sinais de fim de turno nem sempre são acessíveis em tempo real, não sabemos se um interlocutor enviará outra mensagem no mesmo turno ou não. Estamos investigando maneiras de resolver e resolver esse problema durante a veiculação on-line.

Em média, as respostas dos nossos agentes contêm de 2 a 3 frases por mensagem. Isso aumentará a adoção das recomendações e ajudará nossos agentes se eles não precisarem combinar manualmente várias sentenças em uma única mensagem. Atualmente, temos regras estáticas para combinar várias sentenças para introduções e fechamentos de uma conversa. Como combinar sentenças de forma inteligente em toda a conversa com base no contexto é digno de solução.

Finalmente, enquanto a interface de usuário atual de recomendação usa três bolhas flutuantes, pode se tornar incômodo, especialmente quando combinamos várias sentenças em uma recomendação. Planejamos criar um conjunto de recursos de acesso rápido e composição inteligente para ajudar nossos agentes a aliviar o fardo de processar o conteúdo de texto e reduzir o incômodo da digitação repetida, para que eles possam se concentrar em envolver e ajudar nossos hóspedes e anfitriões.

Papel do Workshop AAAI DEEP-DIAL

Você pode encontrar mais detalhes sobre a arquitetura do modelo, processo de treinamento e métodos de avaliação em nosso documento (arXiv: https://arxiv.org/abs/1811.10686 ). Este artigo foi aceito para uma apresentação oral completa no Workshop de Raciocínio e Aprendizagem da AAAI para Diálogos Homem-Máquina (DEEP-DIAL 2019) . Por favor, junte-se a nós na conferência para aprender mais sobre isso. Vejo você em 27 de janeiro a 1º de fevereiro de 2019 em Honolulu, Havaí!