Compreendendo pesquisas de diretório de Reconhecimento Automático de Fala

 

Aplica-se a: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Tópico modificado em: 2016-11-28

A UM (Unificação de Mensagens) do Microsoft Exchange Server 2010 oferece uma interface de voz (VUI) que usa Reconhecimento Automático de Fala (ASR). Essa é a interface de telefone que os chamadores usam para navegar pelos sistemas de menus e acessar suas respectivas caixas de correio usando entradas de fala. O ASR permite que os chamadores usem entradas de fala em vez de entradas de discagem por tom, também conhecidas como DTMF (dual tone multi-frequency), para navegar pelos menus de atendedores automáticos de UM ou quando usuários habilitados para UM acessam suas caixas de correio. O ASR também permite que os usuários com UM acessem as suas caixas de correio. Este tópico discute como o ASR é usado na Unificação de Mensagens do Exchange 2010 e como os arquivos de gramática são usados com o ASR.

Sumário

Visão geral dos arquivos de gramática

Arquivos de gramática padrão

Arquivos de gramática personalizados

Geração de gramática

Personalizando arquivos de gramática

Para Obter Mais Informações

Visão geral dos arquivos de gramática

Um arquivo de gramática de fala contém palavras e frases que o mecanismo para reconhecimento de fala tentará reconhecer quando esse arquivo estiver sendo usado. Os arquivos de gramática definem coisas como os comandos que estarão disponíveis aos usuários quando eles estiverem verificando seu email ou calendário ou os nomes de pessoas que serão reconhecidos pelo mecanismo para reconhecimento de fala quando um chamador pesquisar o diretório. Os arquivos de gramática de fala são gerados primeiro como arquivos com a extensão .grxml. Em seguida, são processados para uma forma compilada com a extensão .cfg antes de serem carregados no mecanismo para reconhecimento de fala. Como o arquivo .cfg é carregado na memória do serviço Mecanismo para Reconhecimento de Fala do MicrosoftExchange, não há arquivo .cfg criado e gravado no disco. A figura a seguir mostra como os arquivos de gramática são usados por chamadores.

Visão geral do arquivo de gramática

Dica

  Se você quiser localizar o arquivo .grxml que corresponde a um arquivo .cfg, procure no log de eventos por eventos que tenham as IDs 1040 ou 1041. O evento mostrará qual arquivo .grxml foi usado para produzir um determinado arquivo .cfg.

Arquivos de gramática padrão

Quando a função de servidor Unificação de Mensagens é instalada, muitos arquivos são copiados para o servidor. Entre eles estão incluídos os arquivos de gramática padrão usados pelo ASR para habilitar a interface de voz (VUI). Por padrão, esses arquivos de gramática são instalados na pasta <Arquivos de Programas>\Microsoft\ Exchange Server\V14\UnifiedMessaging\grammars*\<idioma>*. Entretanto, quando são usados pelo servidor de Unificação de Mensagens, eles são carregados e compilados em um arquivo .cfg pelo serviço Mecanismo para Reconhecimento de Fala do MicrosoftExchange.

Estes são os arquivos de gramática padrão:

  • Calendar.grxml

  • Common.grxml

  • Contacts.grxml

  • Email.grxml

  • Mainmenu.grxml

Arquivos de gramática personalizados

Vários arquivos de gramática personalizada são criados quando a função de servidor Unificação de Mensagens é instalada e novamente quando você cria objetos da UM no serviço de diretório do Active Directory e quando o serviço de Unificação de Mensagens do MicrosoftExchange executa a geração de gramática no horário agendado, uma vez ao dia. Esses arquivos de gramática contêm os nomes de usuários e outros objetos, por exemplo, listas de distribuição, que estão no Active Directory. Para cada nome, há dados adicionais, como por exemplo, um alias de email. Esses dados permitem que o nome seja associado a um objeto exclusivo.

Os arquivos de gramática a seguir são criados quando o serviço de Unificação de Mensagens do Microsoft Exchange executa a geração de gramática no horário agendado:

  • Gal.grxml

  • <DialPlanGUID>.grxml

  • <AddressListGUID>.grxml

  • DistributionList.grxml

    Dica

    Os usuários habilitados para UM podem não estar disponíveis imediatamente para os chamadores. Nesse caso, é preciso esperar até que ocorra a próxima geração de gramática agendada ou executar manualmente o comando galgrammargenerator.exe para incluir o nome do usuário habilitado para UM em um arquivo de gramática.

Quando o servidor de Unificação de Mensagens cria um arquivo de gramática de fala, ele examina muitos objetos de diretório para determinar quais nomes deverão ser adicionados ao arquivo. Os tipos de objetos que ele processa se baseiam no escopo da gramática que está sendo criada. Entretanto, para todos esses objetos, a Unificação de Mensagens não adicionará o objeto à gramática se o objeto estiver ocultado das listas de endereços do Exchange 2010 ou o atributo msExchHideFromAddressLists estiver definido como verdadeiro para o objeto.

  • Para o arquivo de gramática da lista de endereços global, a Unificação de Mensagens irá considerar:

    • Usuários habilitados para email

    • Contatos habilitados para email

  • Para arquivos de gramática do plano de discagem, a Unificação de Mensagens irá considerar:

    • Usuários habilitados para UM no plano de discagem especificado
  • Para o arquivo de gramática da lista de distribuição, a Unificação de Mensagens irá considerar:

    • As listas de distribuição que estejam visíveis em listas de endereços

Uma lista de endereços global padrão é criada quando a função de servidor Caixa de Correio é instalada em um computador que está executando o Exchange 2010. Quando a função de servidor Unificação de Mensagens é instalada, ela cria um arquivo de gramática para a lista de endereços global com base nos filtros de gramática de fala que estão configurados. Se você criar listas personalizadas de distribuição ou de endereços na sua organização do Exchange 2010, arquivos de gramática adicionais serão criados para cada lista de endereços ou de distribuição personalizada que você criar.

Se você criar uma lista de endereços que contenha, por exemplo, todos os destinatários de um determinado departamento e depois adicionar um novo usuário a esse departamento, o destinatário não será incluído como membro da lista de endereços enquanto você não executar o cmdlet Update-AddressList.

Se você criar uma lista de endereços que contenha, por exemplo, todos os destinatários de um determinado departamento e depois a associação da lista for alterada, será preciso executar o cmdlet Update-AddressList antes que ocorra a geração de gramática de nomes da Unificação de Mensagens. Isso garante que, quando a gramática for gerada ou atualizada, ela conterá todos os destinatários relacionados atualmente na lista de endereços. Quando você executar o cmdlet Update-AddressList, ela incluirá cada destinatário em todas as listas de endereços das quais o destinatário seja membro.

Se um usuário habilitado para UM não for carimbado como membro de uma lista de endereços antes que a geração de gramática ocorra, ele não será adicionado como membro. Caso a próxima geração de gramática agendada ocorra, seja no agendamento definido ou manualmente quando você executar galgrammargenerator, o usuário habilitado para UM não será adicionado à gramática referente à lista de endereços. Portanto, seu nome não estará disponível quando o diretório for pesquisado.

Dica

Para que um arquivo de gramática seja gerado para uma lista de distribuição, ela não pode estar oculta.

Quando você cria um plano de discagem de UM pela primeira vez, nenhum arquivo de gramática é criado. Entretanto, quando um servidor de Unificação de Mensagens ingressa em um plano de discagem pela primeira vez, um único arquivo de gramática é criado na pasta de idioma apropriada. O arquivo de gramática de fala do plano de discagem da UM é, então, filtrado para incluir somente usuários habilitados para UM que sejam associados ao plano de discagem. Os arquivos de gramática referentes a esses objetos são nomeados pelas GUIDs dos objetos que eles representam depois que são compilados (por exemplo, 2da514a1-06f4-44a1-9ce5-610854f7d2ee.grxml ou o arquivo .cfg correspondente).

Os arquivos de gramática para planos de discagem da UM, a lista de endereços global e as listas de distribuição são criados em uma pasta específica para o idioma no servidor de Unificação de Mensagens local. A pasta de idioma usada é selecionada com base no idioma padrão configurado no plano de discagem da UM. Por exemplo, se o idioma padrão no plano de discagem estiver definido como inglês dos Estados Unidos (en-US), será criado um arquivo de gramática na pasta <Arquivos de Programas>\Microsoft\ Exchange Server\V14\UnifiedMessaging\grammars\en. Depois que o arquivo for criado, ele será atualizado de acordo com o agendamento configurado no servidor de Unificação de Mensagens.

Para obter mais informações, consulte os tópicos a seguir:

Geração de gramática

O agendamento padrão da geração de gramática quase sempre atenderá às suas necessidades. Entretanto, haverá ocasiões em que será necessário gerar manualmente os arquivos de gramática ou atualizar os já existentes para que a tarefa de geração de gramática agendada seja executada. Pode ser também que você queira alterar o agendamento padrão de geração de gramática.

A geração de gramática ocorre nas seguintes situações:

  • Quando o servidor de Unificação de Mensagens é adicionado a um plano de discagem de UM e, depois disso, diariamente, em um intervalo agendado.

  • Quando você executa o comando galgrammargenerator.exe para atualizar ou criar arquivos de gramática manualmente.

O arquivo de gramática criado será atualizado quando a tarefa de geração de gramática agendada for executada. Para exibir o agendamento padrão da geração de gramática para um servidor da UM, use o seguinte cmdlet do Shell de Gerenciamento do Exchange:

(Get-UMServer $env:COMPUTERNAME).GrammarGenerationSchedule

Para obter mais informações sobre o cmdlet Get-UMServer, consulte Get-UMServer.

Por padrão, a geração de gramática ocorre diariamente no horário especificado pelo parâmetro GrammarGenerationSchedule do servidor da UM. Por padrão, o agendamento está definido para que a geração de gramática inicie todos os dias às 2:00. Entretanto, ele pode ser alterado e controlado com o uso do cmdlet Set-UMserver no Shell. Não existe nenhuma interface gráfica de usuário que você possa usar para controlar o agendamento da geração de gramática. Esse agendamento pode ser controlado somente pelo uso do cmdlet Set-UMserver no Shell. Para obter mais informações sobre como alterar o nome para exibição fonético usando o cmdlet Set-UMServer, consulte Set-UMServer.

Por padrão, o agendamento da geração de gramática está definido para iniciar uma vez por dia, às 2:00 no horário local, no servidor da UM. Uma vez iniciada, a geração de gramática será executada até ser concluída, quer isso ocorra antes da hora de término agendada para o período ativo ou não. A geração de gramática não será executada se houver outra geração de gramática em andamento. Embora seja possível configurar horários agendados adicionais, a geração de gramática não será executada a partir de uma hora antes do período previamente agendado. Como ela usa muitos recursos do sistema, é recomendável que você configure todos os agendamentos para que a geração de gramática ocorra fora do horário de pico. Contudo, é possível coordenar os agendamentos de geração de gramática em vários servidores da UM. Por exemplo, Umserver1 inicia às 2:00, Umserver2 inicia às 2:30 e Umserver3 inicia às 3:00. Isso ajuda a minimizar o efeito da geração de gramática nos controladores de domínio do Active Directory.

Dica

Um arquivo de log chamado UMSpeechGrammar.log será criado na pasta %ExchangeRoot%\UnifiedMessaging\temp. Esse arquivo de log contém informações sobre todos os arquivos de gramática criados ou atualizados em um servidor da UM. Esse arquivo será substituído sempre que a geração de gramática agendada for executada.

Nas circunstâncias a seguir, você pode esperar pela próxima geração de gramática agendada para que as alterações entrem em vigor ou pode forçar uma atualização usando o comando galgrammargenerator.exe:

  • Quando você concluir uma nova instalação da função de servidor da UM e habilitar usuários para Unificação de Mensagens

  • Quando for criado um plano de discagem de UM, um atendedor automático de UM, uma lista de endereços personalizada ou uma lista de distribuição personalizada

  • Quando você criar usuários habilitados para UM

  • Se você alterar um plano de discagem de UM ou um atendedor automático de UM

Dica

Quando um usuário do Outlook Voice Access tenta localizar um usuário habilitado para UM usando o recurso de pesquisa de diretório com ASR imediatamente após ter concluído uma nova instalação da função de servidor de Unificação de Mensagens e habilitado usuários para UM, o chamador ouvirá um prompt do sistema dizendo, "Lamento não poder ajudar". Em seguida, eles são desconectados. Isso ocorre porque um arquivo de gramática ainda não foi gerado para a lista de endereços global. Use o comando galgrammargenerator.exe para criar o arquivo de gramática necessário para a lista de endereços global.

Cada arquivo de gramática é substituído toda vez que o serviço de Unificação de Mensagens do MicrosoftExchange é executado automaticamente ou quando você executa manualmente o programa galgrammargenerator.exe para forçar uma atualização dos arquivos de gramática. Isso garante que os usuários que acabam de ser habilitados para UM possam ser acessados na pesquisa de diretório sem desperdício de tempo quando um chamador usar o ASR. Você pode usar o programa galgrammargenerator.exe para forçar uma atualização, ou para gerar ou substituir os arquivos de gramática que são usados pela Unificação de Mensagens se eles forem danificados. Por exemplo, quando você habilitar usuários para UM pela primeira vez, eles só ficarão disponíveis para chamadores que usam o ASR para executar uma pesquisa de diretório quando a tarefa de geração de gramática agendada for executada. Para ter certeza de que esses novos usuários recém-habilitados para UM estejam visíveis para chamadores, execute o programa galgrammargenerator.exe para forçar os arquivos .grxml a serem criados ou atualizados e para compilar os arquivos .cfg apropriados de modo que os chamadores possam usar o ASR para percorrer os sistemas de menus ou localizar usuários. Para obter etapas detalhadas, consulte Atualizar os Arquivos de Gramática de Fala em um Servidor da UM.

O galgrammargenerator.exe também é útil quando um servidor da UM se associa a um plano de discagem e um ou mais atendedores automáticos habilitados para fala são associados ao plano de discagem. Por padrão, os chamadores que ligam de um atendedor automático habilitado para fala pode alcançar apenas usuários habilitados para UM que estejam associados ao plano de discagem. Para que os chamadores possam ser transferidos para usuários habilitados para UM usando entradas de voz, um arquivo de gramática deverá ser gerado. O arquivo de gramática não é gerado automaticamente quando o servidor se associa a um plano de discagem. Em vez disso, ele é gerado na próxima vez em que a geração de gramática for agendada. A geração de gramática ocorrerá de acordo com o agendamento padrão, diariamente às 2h do horário local, a menos que o agendamento tenha sido alterado.

Se desejar que usuários habilitados para UM estejam disponíveis a partir de uma pesquisa de diretório do atendedor automático habilitado para fala imediatamente depois que você criar o atendedor automático, você deverá gerar o arquivo de gramática necessário para o atendedor automático usando galgrammargenerator.exe com a opção –d.

Atendedores automáticos que não sejam habilitados para fala não precisam de um arquivo de gramática. Isso ocorre porque um mapa DTMF é adicionado ao Active Directory de cada usuário quando eles são habilitados para a Unificação de Mensagens. Os mapas DTMF permitem que os chamadores insiram os dígitos correspondentes às letras do nome do usuário ou o alias de email em um teclado do telefone.

No entanto, um mapa DTMF não será criado automaticamente para usuários que não estejam habilitados para UM. Usando galgrammargenerator.exe com a opção -u, você poderá gerar um mapa DTMF para todos os usuários que estejam habilitados para email, mas não para UM. Isso permite que usuários habilitados para email, mas não para UM, sejam alcançados a partir do atendedor automático quando seus nomes ou alias de email forem inseridos por um chamador usando entradas de DTMF. Para obter mais informações sobre a interface DTMF, consulte Compreendendo a interface DTMF.

A tabela a seguir lista as opções e suas descrições referentes às opções do galgrammargenerator.exe.

Galgrammargenerator.exe e as opções

Opção Descrição

-d <plano de discagem>

Cria um arquivo de gramática que contém os nomes de usuários habilitados para UM somente no plano de discagem de UM especificado.

-g

Gera o arquivo de gramática.

-l

Gera um arquivo de gramática para uma lista de distribuição.

-o

Gera um arquivo de log. O caminho pode ser absoluto (por exemplo, C:\Logfiles). Por padrão, o servidor da UM também criará automaticamente um arquivo de log na pasta \UnifiedMessaging\Temp.

-p

Pré-carrega todas as gramáticas geradas na plataforma do Microsoft Speech Server.

-s <servidor de UM>

Cria um arquivo de gramática para cada plano de discagem da UM ao qual pertence o servidor da UM especificado.

-u

Cria ou atualiza mapas DTMF para usuários que são e para usuários que não são habilitados para UM.

Dica

Se usuários habilitados para caixa de correio ou contatos habilitados para email tiverem um caractere em seu alias de email que não seja válido e você executar o comando galgrammargenerator.exe /u para criar um mapa de DTMF para usuários, o comando não será concluído com êxito e a Unificação de Mensagens relatará um erro. Para garantir que todos os usuários de caixa de correio e contatos habilitados para email não tenham caracteres inválidos em seus endereços de email, use o cmdlet Get-User para exibir todos os usuários. O cmdlet Get-User executará a verificação de validação para os atributos de usuário. Se algum campo tiver um caractere que não seja válido, será gerado um erro que identifica o destinatário e o campo que contém o caractere.

-x

Define a lista de filtros de fala usada no formato XML.

Dica

A lista de filtros de gramática de fala padrão (SpeechGrammarFilterList.xml) é instalada na pasta <Arquivos de Programas>\Microsoft\ Exchange Server\V14\Bin de cada servidor em que a função de servidor Unificação de Mensagens esteja instalada. O conteúdo do arquivo da lista de filtros de fala deve ser o mesmo em todos os servidores da UM. A lista de filtros de gramática de fala contém diversas regras que especificam padrões de entrada com os quais os nomes para exibição são comparados para a criação de correspondência e padrões de saída que definem transformações do nome correspondente. Se o nome corresponder a um padrão, ele será substituído na gramática de fala pelo nome ou pelos nomes que são gerados de um ou mais padrões de saída associados. Se o nome não corresponder a um padrão, ele será transmitido sem alterações para a gramática de fala. Os nomes serão rejeitados pela gramática de fala se puderem ser ditos de duas ou mais maneiras distintas. Recomendamos que você não modifique manualmente o arquivo SpeechGrammarFilterList.xml.

Personalizando arquivos de gramática

Atualmente, o ASR está disponível somente em inglês e inclui os prompts pré-gravados e o suporte para conversão de texto em fala para inglês. Embora o suporte a ASR esteja incluído no pacote de idiomas do inglês, há ocasiões em que é difícil para o reconhecimento de fala localizar o usuário habilitado para UM correto, seja porque o usuário tem um nome difícil de pronunciar, a fala do chamador corresponde ao nome errado ou o chamador fala uma forma do nome do usuário que difere do nome existente na gramática de fala. A inclusão de um pacote de idiomas da UM adicional, porém, não resolverá esse problema.

Dica

Como o ASR é habilitado por padrão para inglês dos EUA, uma pasta chamada \grammars\en é criada em cada servidor da Unificação de Mensagens. Uma pasta é criada para cada pacote de idioma que você instalar no servidor de Unificação de Mensagens.

A Unificação de Mensagens usa dois atributos do Active Directory para gerar os nomes a serem usados com arquivos de gramática do ASR: Nome para exibição (displayName) e Nome para exibição fonético (msDS-PhoneticName). Por padrão, a Unificação de Mensagens usa o atributo displayName para reconhecer o nome de um usuário quando um chamador fala seu nome. Isso funcionará bem se o nome do usuário for fácil de pronunciar. No entanto, em alguns casos, os usuários têm nomes difíceis de pronunciar. Para ajudar a Unificação de Mensagens a localizar usuários cujos nomes são difíceis de pronunciar, recomendamos que você configure o sistema da Unificação de Mensagens fornecendo um nome para exibição fonético a usuários cujos nomes o ASR tem dificuldade para reconhecer. Contudo, para fornecer um nome para exibição fonético, você deve prever como o mecanismo de fala perceberá uma determinada ortografia de nome a fim de fornecer uma pronúncia precisa para o nome fonético.

Dica

Por padrão, o servidor da UM tentará inserir tanto o nome para exibição fonético (se existir) como o nome para exibição no arquivo de gramática de fala.

Por exemplo, o nome para exibição "Kweku Ako-Adjei" poderia receber o nome para exibição fonético "Kueiku Aku Eidjei", que seria inserido pela UM no arquivo de gramática de fala. A desvantagem de criar nomes fonéticos para usuários é que esta é uma tarefa difícil de realizar em larga escala. Levaria muito tempo para criar e testar nomes para exibição fonéticos para cada usuário cujo nome não fosse reconhecido corretamente pelo ASR, principalmente em ambientes de grandes empresas.

Para adicionar ou alterar o nome para exibição fonético de um usuário habilitado para UM, você deve usar o ADSI Edit (AdsiEdit.msc) ou o cmdlet Set-User no Shell. Não é possível usar Usuários e Computadores do Active Directory ou o Console de Gerenciamento do Exchange para alterar um nome para exibição fonético de um usuário. Para obter mais informações sobre como alterar o nome para exibição fonético usando o cmdlet Set-User, consulte Set-User.

O parâmetro PhoneticDisplayName especifica uma pronúncia fonética para o nome para exibição. O nome de exibição é especificado usando o parâmetro DisplayName. Se o nome para exibição não for fácil para o servidor da UM pronunciar ou reconhecer, você poderá usar o parâmetro PhoneticDisplayName para especificar uma versão fonética. Se você especificar um valor, ele será usado pelo ASR para reconhecer o nome do usuário e pelo mecanismo de TTS (Conversão de Texto em Fala) para pronunciá-lo. Se você não especificar um valor, o servidor de UM utiliza o parâmetro DisplayName. O tamanho máximo desse valor de parâmetro é 255 caracteres.

Para obter mais informações sobre o ADSI Edit, consulte Visão geral do Adsiedit.

Para Obter Mais Informações

Atualizar os Arquivos de Gramática de Fala em um Servidor da UM

Noções Básicas Sobre Planos de Discagem da Unificação de Mensagens

Noções Básicas sobre Atendedores Automáticos da Unificação de Mensagens

 © 2010 Microsoft Corporation. Todos os direitos reservados.