Suporte ao Idioma Nativo para Habilidades
Começando com a Plataforma Versão 20.12, há suporte nativo no Oracle Digital Assistant para alguns idiomas. Ao desenvolver uma habilidade com esse suporte ao idioma nativo, você não precisa usar um serviço de tradução de terceiros para identificar a entrada do usuário e as respostas da habilidade nesses idiomas.
Se você estiver desenvolvendo essas habilidades para inclusão em um assistente digital, esse assistente digital também deverá usar o suporte ao idioma nativo. Consulte Suporte ao Idioma Nativo em Assistentes Digitais.
Como o Suporte ao Idioma Nativo Funciona
-
Os dados de treinamento podem ser fornecidos em cada um dos idiomas (suportados nativamente) cuja habilidade você está projetando.
Quando você usa suporte ao idioma nativo, a habilidade é treinada de acordo com um modelo unificado que incorpora todos os idiomas suportados nativamente. Você pode fornecer declarações de treinamento em um ou mais idiomas de destino da sua habilidade. As declarações de treinamento fornecidas em um idioma ajudam a criar o modelo de todos os idiomas da habilidade. Para habilidades que você direciona para vários idiomas, geralmente você começará criando seu corpus de treinamento no idioma principal da habilidade. Em seguida, você pode (e deve) adicionar as declarações de treinamento nos outros idiomas, embora provavelmente quase não precise de muitas nesses outros idiomas.
Isso difere das habilidades que usam um serviço de tradução. Nessas habilidades, o modelo de treinamento subjacente está sempre em inglês, mesmo que o corpus de treinamento seja fornecido em outro idioma.
- Os valores de entidade para tipos de entidade incorporados (como NUMBER, EMAIL e DATE) são extraídos no idioma da conversa. (Isso difere do caso com habilidades no modo de serviço de tradução, em que os valores são extraídos depois que a entrada foi traduzida pelo serviço de tradução.
- Os valores de entidade para entidades personalizadas correspondem aos valores fornecidos para o idioma da conversa atual.
- As habilidades que suportam idiomas diferentes do inglês devem ser treinadas com o Trainer TM.
Idiomas Suportados Nativamente
Aqui estão os idiomas (e seus códigos correspondentes) suportados nativamente no momento no Oracle Digital Assistant.
- Árabe (ar)
- Holandês (nl)
- Inglês (en)
- Francês (fr)
- Alemão (de)
- Italiano (it)
- Português (pt)
- Espanhol (es)
Isso significa que você pode criar habilidades e assistentes digitais para esses idiomas sem usar um serviço de tradução, como o Google Translate.
Esta é uma visão geral do nível de suporte para cada idioma.
Idioma | Noções Básicas de Idioma | Voz | Insights | Fabricação de Dados | Designer de Conversa |
---|---|---|---|---|---|
Árabe (ar) | Sim | No | Sim | Sim | No |
Holandês (nl) | Sim | No | Sim | Sim | No |
Inglês (en) | Sim | Sim, incluindo as localidades en-US, en-GB e en-AU) | Sim | Sim | Sim |
Francês (fr) | Sim | Sim | Sim | Sim | No |
Alemão (de) | Sim | Sim | Sim | Sim | No |
Italiano (it) | Sim | Sim | Sim | Sim | No |
Português (pt) | Sim | Sim | Sim | Sim | Número |
Espanhol (es) | Sim | Sim | Sim | Sim | Número |
Para obter uma comparação mais detalhada do suporte para cada idioma, consulte Suporte ao Recurso por Idioma.
Criar uma Habilidade com Idiomas Suportados Nativamente
Aqui estão as etapas gerais para criar uma habilidade que usa o suporte ao idioma nativo do Oracle Digital Assistant.
- Ao criar a habilidade, selecione a Plataforma Versão 20.12 ou superior e selecione o idioma principal que deseja suportar na lista drop-down Idioma Principal.
O idioma selecionado deve estar na seção Suportado Nativamente da lista drop-down.
- Para cada intenção criada, adicione declarações para sua habilidade no idioma principal:
- Clique em
para abrir o menu lateral, selecione Desenvolvimento > Habilidades e abra sua habilidade.
- Na navegação esquerda da habilidade, clique em
- Selecione uma intenção.
- No campo de texto Exemplos, digite a descrição e pressione Enter.
- Repita as duas subetapas anteriores para cada intenção.
- Clique em
-
Para qualquer entidade personalizada da sua habilidade, certifique-se de que os valores estejam no idioma principal da habilidade.
Você pode adicionar e editar entidades personalizadas clicando em
na navegação esquerda da habilidade.
- Para qualquer componente no fluxo de caixas de diálogo que tenha propriedades que exibam prompts ou labels, certifique-se de definir explicitamente essas propriedades. Se você não definir essas propriedades, os clientes poderão encontrar o texto padrão dessas propriedades, que estão em inglês.
- Nas definições da habilidade, atualize todas as mensagens de configuração e prompts para usar o idioma principal:
Para acessar essas mensagens e prompts:
- Na navegação esquerda da habilidade, clique em
As mensagens e os prompts estão localizados nas guias Configuração e Assistente Digital.
- Na navegação esquerda da habilidade, clique em
Se você estiver planejando suportar vários idiomas na habilidade, defina chaves de pacotes de recursos para propriedades, prompts e mensagens que podem ser exibidas aos usuários. E, mesmo que você não planeje suportar vários idiomas, talvez queira fazer isso mesmo, uma vez que o pacote de recursos fornece um único local em que é possível editar os valores de todas as strings. Consulte Pacotes de Recursos para Habilidades.
Adicionar Idiomas Suportados Nativamente a uma Habilidade
Para habilidades (ou versões de habilidades) nas quais você escolheu um idioma principal suportado nativamente, é possível adicionar outros idiomas suportados nativamente.
- Certifique-se de que sua habilidade esteja sendo executada na Plataforma Versão 20.12 ou superior.
Caso contrário, você precisará criar um clone ou uma nova versão da habilidade e defini-la para usar a Plataforma Versão 20.12 ou superior.
- Na barra de navegação esquerda da habilidade, clique no ícone Definições (
) e selecione a guia Geral.
- Role para baixo até a seção de idiomas, clique em Adicionar Idioma e selecione o idioma na lista drop-down.
- Para cada uma das intenções na habilidade, adicione um nome de conversa e mais declarações no idioma adicionado:
- Clique em Intenções (
) na barra de navegação esquerda.
- Selecione a intenção a ser editada.
- Selecione a guia do idioma que você acabou de adicionar.
- Clique em
para digitar um nome descritivo ou uma frase para a intenção no campo Nome da Conversa.
- Clique em Intenções (
- Para qualquer entidade baseada em pares de chave/valor (entidades de lista de valores e entidades dinâmicas), digite os valores para esse idioma.
- Ative a habilidade para exibir valores de entidade no idioma da conversa:
- Nos componentes que você usa para resolver entidades (Resolver Entidade e Resposta Comum), certifique-se de que a propriedade
useFullEntityMatches
esteja definida comotrue
.Ao fazer isso, você garante que os valores de entidade personalizada sejam armazenados como objetos JSON, em vez de strings simples.
- Em todas as expressões do FreeMarker que fazem referência a valores de entidade personalizada (seja no fluxo de caixas de diálogo ou em várias propriedades da habilidade), insira o atributo correspondente ao valor que você deseja ler. Você pode usar qualquer um dos seguintes atributos:
value
- retorna o valor da entidade na conversa do idioma.primaryLanguageValue
- retorna o valor da entidade no idioma principal da habilidade. Você usaria essa opção para expressões que são usadas na lógica de negócios (por exemplo, para determinar se um prompt deve ou não ser exibido, com base no valor da entidade).originalString
- retorna o valor que o usuário digitou para corresponder à entidade. Esse valor poderia ser um sinônimo do valor da entidade.
Por exemplo, se você tivesse a expressão
${PizzaSize}
para fazer referência ao valor da entidade PizzaSize, iria alterá-la para${PizzaSize.value}
para exibir o valor no idioma da conversa.
- Nos componentes que você usa para resolver entidades (Resolver Entidade e Resposta Comum), certifique-se de que a propriedade
- Se você ainda não tiver feito isso, crie chaves de pacotes de recursos para todas as saídas que os usuários verão, digite os valores do idioma principal e insira as referências a essas chaves nos locais apropriados. Isso inclui:
- Texto de saída no fluxo de caixas de diálogo.
- Prompts para entidades incluídas nas definições de entidade.
- Mensagens e prompts definidos nas configurações da habilidade. Para acessá-los:
- Na navegação esquerda da habilidade, clique em
As mensagens e os prompts estão localizados nas guias Configuração e Assistente Digital.
- Na navegação esquerda da habilidade, clique em
- Para qualquer componente em seu fluxo de caixas de diálogo que tenha propriedades que exibam prompts ou labels, certifique-se de ter definido explicitamente essas propriedades (para que elas não assumam como padrão valores em inglês) e crie entradas de pacotes de recursos para elas.
- Adicione valores no idioma adicional para todas as chaves de pacotes de recursos.
- Aumente o corpus de treinamento conforme necessário no idioma adicional.
Como as habilidades com idiomas suportados nativamente são baseadas em um modelo de treinamento unificado no qual todo o treinamento ajuda na resolução da intenção em todos os idiomas de destino da habilidade, o modelo de treinamento já deve funcionar em seu idioma adicional, mesmo sem adicionar declarações nesse idioma. Mas sua precisão provavelmente será menor que a do idioma principal. Para melhorar a precisão, faça o seguinte:
- Crie testes em batch no idioma adicional e execute-os para determinar a eficiência da execução do modelo sem qualquer declaração no idioma adicional. Consulte Criar Execuções de Teste.
- Adicione repetidamente as declarações de treinamento nesse idioma e teste até obter um nível satisfatório de resolução da intenção.
- Clique em Intenções (
) na barra de navegação esquerda.
- Selecione a intenção a ser editada.
- Selecione a guia do idioma que você acabou de adicionar.
- Na seção Exemplos, digite declarações de exemplo no idioma adicional.
Provavelmente, você não precisará adicionar tantas declarações nesses idiomas adicionais de destino quanto precisou no idioma principal.
- Clique em Intenções (
Consulte o vídeo do Design Camp sobre NLU Multilíngue para saber mais sobre as melhores práticas ao tornar suas habilidades multilíngues.
Alternar de um Serviço de Tradução para o Suporte ao Idioma Nativo
Se você quiser aproveitar o suporte ao idioma nativo do Oracle Digital Assistant em uma habilidade que foi configurada para usar um serviço de tradução, poderá criar uma nova versão ou clone dessa habilidade e ativar esse suporte.
Pré-requisitos:
- A habilidade que você está convertendo só deve usar idiomas suportados nativamente na versão da plataforma na qual você está convertendo. Para essa lista, consulte Idiomas Suportados Nativamente.
Se esse pré-requisito não for atendido, continue usando um serviço de tradução para todos os idiomas não inglês na habilidade.
Para converter uma habilidade para usar o suporte ao idioma nativo do Digital Assistant:
- Crie a nova versão ou clone e especifique o idioma principal da habilidade.
-
Clique em
para abrir o menu lateral e selecione Desenvolvimento > Habilidades.
-
No mosaico da habilidade cuja versão ou clone você deseja criar, clique em
e selecione Versão ou Clone.
- No campo Versão da Plataforma, selecione a versão 20.12 ou mais recente.
Se ela não estava presente antes, um campo Idioma Principal será exibido.
- Na lista drop-down Idioma Principal, selecione o idioma na seção Suportado Nativamente da lista drop-down que melhor corresponda ao idioma predominante da versão anterior da habilidade.
Observação
A versão da plataforma e o idioma principal não poderão ser alterados depois que você clicar em Criar. - Clique em Criar.
-
- Adicione qualquer outro idioma que você queira suportar.
- Ajuste seu fluxo de caixas de diálogo para interromper o uso dos seguintes mecanismos relacionados ao envio de texto para um serviço de tradução:
- Quaisquer componentes de tradução (Detectar Idioma, Traduzir Entrada e Traduzir Saída).
- (Para fluxos baseados em YAML) a variável de contexto
autotranslate
. - (Para fluxos baseados em YAML) a propriedade
translate
no nível do componente.
Corpus de Treinamento para um Idioma Adicional
Quando você adiciona um idioma, veja como as várias partes da habilidade são tratadas:
-
Intenções—Os nomes das intenções, qualquer que seja o idioma, permanecem os mesmos em cada idioma. Para cada intenção, você pode adicionar exemplos de declarações em cada idioma. Como o modelo para habilidades suportadas nativamente é unificado, qualquer declaração adicionada a um determinado idioma também pode ajudar no modelo para outros idiomas. No entanto, você pode fortalecer seu modelo adicionando declarações para cada idioma.
Em especial, concentre-se em adicionar frases que expressem uma intenção em idiomas que não sejam traduções diretas da frase no idioma principal.
-
Entidades—Para entidades baseadas em pares de chave/valor (entidades de lista de valores e entidades dinâmicas), você define os valores no idioma principal e, em seguida, para cada idioma adicional, adiciona valores que correspondem aos valores do idioma principal.
Para prompts e mensagens que são definidos nas entidades (incluindo prompts que são definidos em entidades compostas), você faz referência às chaves de pacotes de recursos, em que fornece o texto apropriado em cada idioma de destino.
Para outras propriedades, como Tamanho da Faixa de Enumeração, os valores se aplicam a todos os idiomas.
Observação
A propriedade Correspondência Difusa é desativada para habilidades nas quais ela não é suportada em todos os idiomas.
Detecção de Idioma em Habilidades com Idiomas Suportados Nativamente
Em habilidades que usam vários idiomas suportados nativamente, o assistente digital (ou habilidade standalone) pode detectar automaticamente o idioma do usuário no início da sessão. Veja como funciona:
- O idioma é detectado automaticamente para assistentes digitais e habilidades configurados com vários idiomas suportados nativamente.
- Se houver apenas um idioma (suportado nativamente) na habilidade ou no assistente digital, a detecção de idioma será desativada.
- Se o assistente digital ou a habilidade usar um serviço de tradução, esse serviço tratará a detecção de idioma, não a habilidade ou o assistente digital.
- O idioma não será detectado automaticamente se a habilidade ou o assistente digital for acessado por meio de um canal em que a variável profile.languageTag ou profile.locale foi definida.
- O idioma é detectado na primeira declaração da conversa e não será atualizado na sessão, mesmo que o usuário alterne os idiomas.
- Por padrão, a sessão do canal dura 7 dias antes de expirar.