Compreendendo pesquisas de diretório de Reconhecimento Automático de Fala
Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Tópico modificado em: 2007-10-23
A Unificação de Mensagens do Microsoft Exchange Server 2007 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 um usuário habilitado para UM acessa sua caixa de correio. Este tópico discute como o ASR é usado na Unificação de Mensagens do Exchange Server 2007 e como os arquivos de gramática são usados com o ASR.
Dica
Atualmente, o ASR para pesquisas de diretório está disponível somente em inglês para usuários do Outlook Voice Access e para chamadas direcionadas a atendedores automáticos de UM. Entretanto, o suporte a ASR em outros idiomas está planejado para uma futura versão.
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, por exemplo, os comandos que estarão disponíveis para um usuário quando ele estiver 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. No entanto, o arquivo .cfg é carregado na memória do serviço Mecanismo para Reconhecimento de Fala do Microsoft Exchange. Por isso, nenhum arquivo .cfg é criado e salvo em um disco. A Figura 1 ilustra como os arquivos de gramática são usados por chamadores.
Figura 1 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 \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 Microsoft Exchange.
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
Diversos arquivos de gramática personalizados são criados quando a função de servidor Unificação de Mensagens é instalada e também quando você cria objetos de Unificação de Mensagens no serviço de diretório do Active Directory e o serviço de Unificação de Mensagens do Microsoft Exchange executa a geração de gramática no horário agendado, uma vez por dia. Esses arquivos de gramática contêm os nomes de usuários e outros objetos (listas de distribuição, por exemplo) que estão no Active Directory. Para cada nome há dados adicionais (um alias de email, por exemplo) que 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.
Durante a criação de um arquivo de gramática de fala, o servidor de Unificação de Mensagens examina muitos objetos de diretório para determinar quais nomes deverão ser adicionados ao arquivo. Os tipos de objetos que ele processará 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 2007 ou o atributo msExchHideFromAddressLists estiver definido como verdadeiro para o objeto.
Para o arquivo de gramática da GAL (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 GAL padrão é criada quando a função de servidor Caixa de Correio é instalada em um computador que esteja executando o Exchange 2007. Quando a função de servidor Unificação de Mensagens é instalada, é criado um arquivo de gramática para a GAL baseado nos filtros de gramática de fala configurados. Se você criar listas personalizadas de distribuição ou de endereços na sua organização do Exchange 2007, arquivos de gramática adicionais serão criados para cada lista de endereço personalizado 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 nesse 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.exe, 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 de 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 de UM, listas de endereços, listas de distribuição e a GAL 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 de UM. Por exemplo, se o idioma padrão no plano de discagem estiver definido como inglês (en-US), será criado um arquivo de gramática na pasta \UnifiedMessaging\grammars\en. Em seguida, ele será atualizado de acordo com o agendamento configurado no servidor de Unificação de Mensagens.
Para obter mais informações, consulte os seguintes tópicos:
Como adicionar um servidor de Unificação de Mensagens a um plano de discagem
Como criar um novo plano de discagem de Unificação de Mensagens
Como criar um novo atendedor automático de Unificação de Mensagens
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 de Unificação de Mensagens, 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 de Unificação de Mensagens. Por padrão, o agendamento está definido para que a geração de gramática inicie todos os dias às 2h. Entretanto, ele pode ser alterado e controlado com o uso do cmdlet Set-UMserver no Shell de Gerenciamento do Exchange. Não existe nenhuma interface gráfica de usuário que você possa usar para controlar o agendamento da geração de gramática. Ele só pode ser controlado com o uso do cmdlet Set-UMserver no Shell de Gerenciamento do Exchange. 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 2h no horário local, no servidor de Unificação de Mensagens. 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. Ela não será executada se houver outra instância em execução. 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 em vários servidores de Unificação de Mensagens. Por exemplo, Umserver1 inicia às 2h, Umserver2 inicia às 2h30 e Umserver3 inicia às 3h. Isso ajudará 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 de Unificação de Mensagens. 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 Unificação de Mensagens 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 (Reconhecimento Automático de Fala) imediatamente após ter concluído uma nova instalação da função de servidor Unificação de Mensagens e habilitado usuários para UM, o chamador ouvirá um prompt do sistema que diz, "Lamento não poder ajudar". Em seguida, eles serão desconectados. Isso ocorre porque um arquivo de gramática ainda não foi gerado para a GAL (lista de endereços global). Use o comando galgrammargenerator.exe para criar o arquivo de gramática necessário para a GAL.
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.
Galgrammargenerator.exe também é útil quando um servidor de Unificação de Mensagens 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.
Um arquivo de gramática não é necessário com atendedores automáticos que não estejam habilitados para fala. Isso ocorre porque um mapa DTMF é adicionado ao Active Directory de cada usuário quando eles são habilitados para UM. 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 estejam habilitados para UM. Isso permite que usuários que estejam habilitados para email, mas não para UM, sejam alcançados a partir do atendedor automático quando seu nome ou alias de email for inserido por um chamador que use entradas de DMTF. 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 ao programa 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 de Unificação de Mensagens 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 de UM ao qual pertence o servidor de Unificação de Mensagens 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 um usuário habilitado para caixa de correio ou um contato habilitado para mensagens tiver 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 mensagens não tenham caracteres em seus endereços de email que não sejam válidos, 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 %ExchangeRoot%\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 de Unificação de Mensagens. 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, haverá ocasiões em que será 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. No entanto, a inclusão de um pacote de idiomas de UM adicional não resolverá esse problema.
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 de Unificação de Mensagens 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, use o ADSI Edit (AdsiEdit.msc) ou o cmdlet Set-User do Shell de Gerenciamento do Exchange. Não é possível usar o Console de Gerenciamento do Exchange nem Usuários e Computadores do Active Directory para alterar o nome para exibição fonético de um usuário. Para obter mais informações sobre como alterar um 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. Esse nome é especificado com o uso do parâmetro DisplayName. Se o nome para exibição não for fácil para o servidor de Unificação de Mensagens 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 Unificação de Mensagens usará 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 (em inglês).
Para obter mais informações
Para obter mais informações sobre como atualizar os arquivos de gramática de fala usados com o ASR, consulte Como atualizar os arquivos de gramática de fala.
Para obter mais informações sobre planos de discagem de Unificação de Mensagens, consulte Compreendendo os planos de discagem de Unificação de Mensagens.
Para obter mais informações sobre atendedores automáticos de Unificação de Mensagens, consulte Compreendendo atendentes automáticos da Unificação de Mensagens.