Verifique se você está seguindo todos os requisitos a seguir se quiser reconhecer essas sequências por voz:
Não tenta corresponder caracteres ou pontuação especiais, como: ` ~ ! @ # $ % ^ & * ( ) - _ = + , . < > / ? ; ' : " [ ] { } \ |
Na sua intent, marque a entidade regexp como um parâmetro obrigatório para que ela possa ser coletada durante o preenchimento de slots. Isso permite que a adaptação automática de fala polarize o reconhecimento de sequências em vez de tentar reconhecer uma intent e uma sequência ao mesmo tempo. Caso contrário, "Onde está meu pacote para ABC123" pode ser reconhecido incorretamente como "Onde está meu pacote 4ABC123".
Se o áudio recebido tiver qualidade de chamada de 8 kHz, você precisará ativar modelos de fala aprimorados para reconhecer sequências alfanuméricas com mais de quatro ou cinco caracteres ou sequências de dígitos com mais de 10 caracteres. Outra opção é coletar subsequências menores e colocá-las juntas usando intents de acompanhamento ou lógica avançada do webhook.
Por exemplo, uma entidade regexp com uma única entrada ([a-zA-Z0-9]\s?){5,9} não acionará o reconhecedor da sequência de fala porque ele contém um grupo de captura. Para corrigir isso, basta adicionar outra entrada para [a-zA-Z0-9]{5,9}. Agora você pode aproveitar o reconhecedor de sequência quando preencher o slot por voz para "ABC123", mas a NLP ainda corresponderá a entradas como "ABC 123" graças à regra original que permite espaços.
Considere também usar @sys.number-sequence para aceitar qualquer sequência de dígitos e @sys.phone-number para um reconhecedor de número de telefone localizado. As entidades do sistema e as entidades personalizadas não regexp funcionam bem com a adaptação automática de fala, mesmo fora das solicitações de preenchimento de slot.