Criação de personagens falantes com IA generativa

MAI 16, 2023
Jay Ji Senior Product Manager Google PI
Christian Frueh Software Engineer Google Research
Pedro Vergani Staff Designer Insight UX

Um modelo de personagem personalizável com tecnologia de IA que demonstra o poder dos LLMs para criar experiências interativas com profundidade

A equipe de inovação de parceiros do Google desenvolveu uma série de modelos de IA generativa para mostrar como a combinação de modelos de linguagem grandes com APIs e tecnologias existentes do Google pode resolver casos de uso específicos do setor.

O Talking Character é um criador de avatares 3D personalizável que permite aos desenvolvedores dar vida a um personagem animado com IA generativa. Tanto os desenvolvedores quanto os usuários podem configurar a personalidade, a história de fundo e a base de conhecimento do avatar e, assim, criar um especialista com uma perspectiva única sobre qualquer tema. Em seguida, os usuários podem interagir com ele por meio de conversa verbal ou de texto.

Como exemplo, definimos um modelo de personagem básico, Buddy. Ele é um cão amigável ao qual demos uma história de fundo, personalidade e base de conhecimento para que os usuários possam conversar sobre experiências típicas de vida canina. Também oferecemos um exemplo de como a personalidade e a história de fundo podem ser alteradas para assumir a personalidade de um agente de seguros confiável (ou qualquer outra coisa nesse sentido).

Nosso modelo de código tem dois objetivos principais:

Primeiro, oferecer aos desenvolvedores e usuários uma interface de teste para experimentar o poderoso conceito de engenharia imediata para o desenvolvimento de personagens e aproveitar conjuntos de dados específicos na API PaLM a fim de criar experiências únicas.

Em segundo lugar, mostrar como as interações de IA generativa podem ser aprimoradas além de simples texto ou experiências conduzidas por chat. Ao usar serviços em nuvem, como conversão de voz em texto e vice-versa, e modelos de aprendizado de máquina para animar o personagem, os desenvolvedores podem criar uma experiência muito mais natural para os usuários.

Os potenciais casos de uso desse tipo de tecnologia são diversos e incluem aplicativos como ferramenta criativa interativa no desenvolvimento de personagens e narrativas para jogos ou narração de histórias; suporte técnico mesmo para sistemas ou processos complexos; atendimento ao cliente adaptado para produtos ou serviços específicos; prática de debate, aprendizagem de línguas ou educação de disciplinas específicas; ou simplesmente para dar vida aos ativos da marca com voz e capacidade de interação.

Implementação técnica

Interações

Usamos vários componentes tecnológicos separados para permitir que um avatar 3D tenha uma conversa natural com os usuários. Primeiro, usamos o serviço de conversão de voz em texto do Google para converter entradas de fala em texto, que é então alimentado na API PaLM. Em seguida, usamos a conversão de texto em voz para gerar uma voz com sonoridade humana que dará a resposta do modelo de linguagem.

ai talking character 3

Animação

Para permitir uma experiência visual interativa, criamos um avatar 3D “falante” que é animado com base no padrão e na entonação da voz gerada. Usando o framework MediaPipe, aproveitamos um novo modelo de aprendizado de máquina de áudio para blendshapes a fim de gerar expressões faciais e movimentos labiais sincronizados com o padrão de voz.

Os blendshapes são parâmetros de controle usados para animar avatares 3D usando um pequeno conjunto de pesos. Nosso modelo de áudio para blendshapes prevê esses pesos a partir da entrada de fala em tempo real, de modo a impulsionar o avatar animado. Esse modelo é treinado por meio de vídeos de “cabeça falante” com o TensorFlow, em que usamos o rastreamento facial 3D para aprender um mapeamento da fala em formas mistas faciais, conforme descrito neste artigo.

Uma vez que os pesos de blendshape gerados são obtidos do modelo, nós os empregamos para transformar as expressões faciais e o movimento labial do avatar 3D, usando a biblioteca JavaScript 3D de código aberto three.js.

Design do personagem

Ao criarmos o Buddy, nossa intenção era explorar a formação de um vínculo emocional entre os usuários e sua rica história e personalidade distinta. O objetivo não era apenas elevar o nível de engajamento, mas demonstrar como um personagem, por exemplo, imbuído de humor, pode moldar sua interação com ele.

Um escritor de conteúdo desenvolveu uma história de fundo cativante para fundamentar esse personagem. Essa história de fundo, além da base de conhecimento, é o que dá profundidade à personalidade do personagem e o traz à vida.

Procuramos ainda incorporar pistas não verbais reconhecíveis, como expressões faciais, como indicadores da progressão da interação. Por exemplo, quando o personagem aparece com uma expressão reflexiva, é um sinal de que o modelo está formulando a resposta.

Estrutura de comando

Por fim, para tornar o avatar facilmente personalizável com entradas de texto simples, projetamos a estrutura do comando para ter três partes: personalidade, história de fundo e base de conhecimento. Combinamos tudo isso em um comando extenso e o enviamos para a API PaLM como contexto.

ai talking character 4

Parcerias e casos de uso

O ZEPETO, adorado pela Geração Z, é um universo social centrado em avatares onde os usuários podem personalizar totalmente seus perfis digitais, explorar tendências de moda e se envolver em autoexpressão vibrante e interação virtual. Nosso modelo Talking Character permite aos usuários criar seus próprios avatares, vesti-los com diferentes roupas e acessórios e interagir com outros usuários em mundos virtuais. Estamos trabalhando com o ZEPETO e testamos o avatar dele do metaverso com mais de 50 blendshapes, tendo ótimos resultados.

ai talking character 5

"Ver um personagem de IA ganhar vida como um avatar ZEPETO e falar com tanta fluidez e profundidade é muito inspirador. Acreditamos que uma combinação de modelos de linguagem avançados e avatares vai expandir infinitamente o que é possível no metaverso, e estamos empolgados em fazer parte disso."– Daewook Kim, CEO, Zepeto

No entanto, isso não está restrito aos casos de uso do metaverso. A demonstração exemplifica como os personagens podem dar vida a corpus de texto ou bases de conhecimento em qualquer domínio.

Por exemplo, em jogos, os NPCs com tecnologia LLM poderiam enriquecer o universo de um jogo e aprofundar a experiência do usuário por meio de conversas em linguagem natural, discutindo o mundo, a história e os personagens.

Na educação, os personagens podem ser criados para representar diferentes assuntos que um aluno deve estudar, ter personagens diversos representando diferentes níveis de dificuldade em um cenário de questionário educacional interativo ou representando figuras e eventos específicos da história, de modo a ajudar os alunos a aprender sobre diferentes culturas, lugares, pessoas e períodos.

No comércio, o kit Talking Character pode ser usado para dar vida a marcas e lojas ou capacitar lojas de e-commerce e democratizar ferramentas, de modo a aumentar o envolvimento e a personalização, proporcionando uma melhor experiência ao usuário. Também é possível criar avatares para os clientes enquanto eles exploram um ambiente de varejo e gamificar a experiência de compras no mundo real.

Indo além, qualquer marca, produto ou serviço pode usar essa demonstração para dar vida a um agente falante capaz de interagir com os usuários com base em qualquer conjunto de conhecimento de tom de voz, atuando como embaixador da marca, representante de atendimento ao cliente ou assistente de vendas.

Suporte de código aberto e para desenvolvedores

A equipe de inovação de parceiros do Google desenvolveu uma série de modelos de IA generativa que mostram as possibilidades de combinar LLMs com APIs e tecnologias existentes do Google para resolver casos de uso específicos do setor. Cada modelo foi lançado no I/O em maio deste ano e é de código aberto para desenvolvedores e parceiros desenvolverem.

Trabalharemos em estreita colaboração com vários parceiros em um EAP que nos permita codesenvolver e lançar recursos e experiências específicas com base nesses modelos, conforme e quando a API for lançada em cada mercado respectivo (horários APAC a confirmar). O Talking Agent também terá código aberto para que desenvolvedores e startups possam aprimorar as experiências que criamos. A equipe de inovação de parceiros do Google continuará a desenvolver recursos e ferramentas em parceria com os mercados locais para expandir a pesquisa & o desenvolvimento em progresso. Confira aqui o projeto no GitHub.

Agradecimentos

Queremos agradecer as contribuições inestimáveis ​​das seguintes pessoas para este projeto: Mattias Breitholtz, Yinuo Wang, Vivek Kwatra, Tyler Mullen, Chuo-Ling Chang, Boon Panichprecha, Lek Pongsakorntorn, Zeno Chullamonthon, Yiyao Zhang, Qiming Zheng, Joyce Li, Xiao Di, Heejun Kim, Jonghyun Lee, Hyeonjun Jo, Jihwan Im, Ajin Ko, Amy Kim, Dream Choi, Yoomi Choi, KC Chung, Edwina Priest, Joe Fry, Bryan Tanaka, Sisi Jin, Agata Dondzik e Miguel de Andres-Clavera.