Skip to content

Solução para classificar ligações telefônicas e extrair informações utilizando serviços do Azure.

Notifications You must be signed in to change notification settings

sofia-b-chagas/bootcamp-ai-luis-speech-search

 
 

Repository files navigation

Bootcamp de IA

Inteligência Artificial na Prática

Fevereiro 2021

Conteúdo

Objetivo

Solução para classificar ligações telefônicas e extrair informações das mesmas utilizando serviços do Azure.

Arquitetura Proposta

Architecture

Serviços Utilizados

Serviço Documentação
Azure Storage - Blob https://docs.microsoft.com/pt-br/azure/storage/blobs/
Cognitive Services - Speech https://docs.microsoft.com/pt-br/azure/cognitive-services/speech-service/
Cognitive Services - LUIS https://docs.microsoft.com/pt-br/azure/cognitive-services/luis/
Cognitive Search https://docs.microsoft.com/pt-br/azure/search/
Power Apps https://docs.microsoft.com/pt-br/powerapps/search/


Configuração do Ambiente

Nessa etapa, serão apresentadas as configurações do ambiente para ser possível implantar a arquitetura prospota apresentada acima.

Tarefa 1: Criação do Grupo de Recurso

  1. No portal do Azure, selecione Resource groups na lista de serviços do Azure.

    Resource groups is highlighted in the Azure services list.

  2. Na lista abaixo de Resource groups, selecione + Add.

    +Add is highlighted in the toolbar on Resource groups blade.

  3. Na aba Basics, preencha as informações abaixo:

    Project details:

    • Subscription: Selecione a subscrição que está utilizando para esse workshop.
    • Resource group: Digite hands-on-lab-SUFFIXO como nome do seu grupo de recursos, onde SUFFIXO é o seu apelido, iniciais, ou outro valor para garantir um nome único.

    Resource details:

    • Region: Selecione a região que está utilizando para realizar esse workshop.

    The values specified above are entered into the Create a resource group Basics tab.

  4. Selecione Review + Create.

  5. Na aba Review + create, confirme se há uma mensagem de Validation passed e então clique em Create.


Tarefa 2: Criação do Azure Storage

Nessa tarefa, você provisionará um serviço de armazemento do Azure, onde você irá armazenar os audios de ligações telefonicas e o resultado das transcrições das mesmas.

  1. No portal do Azure, clique em Show portal menu no canto superior direito e escolha +Create a resource do menu.

    The Show portal menu icon is highlighted, and the portal menu is displayed. Create a resource is highlighted in the portal menu.

  2. Busque por storage e selecione Storage Account.

    Storage Account

  3. Clique em Create.

    Create Azure Account

  4. Na aba Basics, preencha as informações abaixo:

    Project details:

    • Subscription: Selecione a subscrição que está utilizando para esse workshop.
    • Resource group: Selecione o resoruce group hands-on-lab-SUFFIX na lista.

    Instance details:

    • Storage Account Name: Digite storageSUFFIXO como nome de sua conta de armazenamento.

    • Location: Selecione a região que está utilizando para realizar esse workshop.

    • Performance: Selecione Standard.

    • Account Type: Selecione BlobStorage.

    • Replication: Selecione Locally-redundant storage (LRS).

  5. Na aba Review + create, confirme se há uma mensagem de Validation passed e então clique em Create.

Task 2.1: Preenchendo as configurações do Azure Storage

Nessa etapa iremos preencher o arquivo config\config_example.yml com as configurações necessárias para acessar o Azure Storage.

  1. Na barra de busca, busque por storage e selecione Storage accounts:

      <img src="media/azure-find-storage.png" alt="Find Storage Accounts"
    

    title="Find Storage Accounts" width="50%" />

  2. Clique no storage account criado anteriormente storageSUFFIX.

    Create Azure Account

  3. No diretório config local abra o arquivo config.yml e preencha as seguintes informações:

    • Acesse Keys and Endpoints:

      • storage_name: Copie o valor de Storage account name
      • conn_string: Copie os dados de key1 ou key2
    • Acesse Shared access signature:

      • sas_token: No campo Allowed resource types selecione Service, Container e Object, selecione uma data até finalizar o workshop, clique em Generate SAS and connection string e por fim, copie o SAS token no campo sas_token entre aspas simples.

    Example:

    ####################################################################################
    #
    #    Azure Storage - Blob
    # 
    ####################################################################################
    azure_storage:
    container_name: audios
    storage_name: storageSUFFIX
    conn_string:  hgrtweterwtetrrtrr
    sas_token: '?fjdfkshnshtuioi45r4t2rt1r' 
    

Tarefa 3: Criar o serviço Cognitive Services - Speech

Nessa tarefa, será provisionado o serviço de Fala do Azure (Cognitive Services - Speech) para realizar as transcrições dos áudios.

  1. No portal do Azure, clique em Show portal menu no canto superior direito e escolha +Create a resource do menu.

  2. Busque por speech no Azure Marketplace list selecione Speech clique em Create e em seguida Create novamente.

    Speech
  3. Na aba Create, preencha as informações abaixo:

    Project details:

    • Subscription: Selecione a subscrição que está utilizando para esse workshop.
    • Resource group: Selecione o resoruce group hands-on-lab-SUFFIX na lista.

    Instance Details:

    • Region: Selecione a região que está utilizando para realizar esse workshop.

    • Name: Forneça um nome único para essa instância: speech-SUFFIX.

    • Pricing tier: Selecione Standard S0.

  4. Na aba Review + create, confirme se há uma mensagem de Validation passed e então clique em Create.

Task 3.1: Preenchendo as configurações do Speech

Nessa etapa iremos preencher o arquivo config\config_example.yml com as configurações necessárias para acessar o Cognitive Services Speech.

  1. Quando terminar o provisionamento clique em Go to resource:

  2. No diretório config local abra o arquivo config.yml e preencha as seguintes informações:

    • Acesse Keys and Endpoints:
      • speech_key: Copie os dados de KEY 1 ou KEY 2
      • speech_region: Copie os dados de Location

Exemplo:

####################################################################################
#
#    Cognitive Services - Speech
# 
####################################################################################
speech:
speech_key: 029kdsjdhsdjkds8d81cb
speech_region: westus2
speech_language: pt-br

Tarefa 4: Criar o serviço Cognitive Services - LUIS

Nessa tarefa, será provisionado o serviço de Reconhecimento Vocal (Cognitive Services - LUIS) para realizar a classificação dos áudios.

  1. No portal do Azure, clique em Show portal menu no canto superior direito e escolha +Create a resource no menu.

  2. Busque por luis no Azure Marketplace list selecione Language Understanding clique em Create e em seguida Create novamente.

    Speech
  3. Na aba Create, preencha as informações abaixo:

    Create Options: Authoring

    Project details:

    • Subscription: Selecione a subscrição que está utilizando para esse workshop.
    • Resource group: Selecione o resoruce group hands-on-lab-SUFFIX na lista.
    • Name: Forneça um nome único para essa instância: luis-SUFFIX.

    Authoring Resource:

    • Region: Se não houver a região que está utilizando nos outros recursos do workshop,selecione a região que está mais próxima.

    • Authoring Pricing tier: Selecione Free F0.

  4. Na aba Review + create, confirme se há uma mensagem de Validation passed e então clique em Create.

Task 4.1: Preenchendo as configurações do Luis

Nessa etapa iremos preencher o arquivo config\config_example.yml com as configurações necessárias para acessar o Cognitive Services LUIS.

  1. Quando terminar o provisionamento clique em Go to resource:

  2. No diretório config local abra o arquivo config.yml e preencha as seguintes informações:

    • Acesse Keys and Endpoints:
      • auth_name: Copie o nome do serviço
      • auth_key: Copie os dados de KEY 1 ou KEY 2
      • auth_region: Copie os dados de Location

    Exemplo:

    ####################################################################################
    #
    #   Cognitive Services - Language Understanding (LUIS)
    # 
    ####################################################################################
    luis_authoring:
    auth_name: luis-rnv-auth
    auth_key: 116b8645454545451b9a40
    auth_region: westus
    

Tarefa 5: Criar o serviço Cognitive Search

Nessa tarefa, será provisionado o Cognitive Search para realizar a busca dos áudios.

  1. No portal do Azure, clique em Show portal menu no canto superior direito e escolha +Create a resource do menu.

  2. Busque por search no Azure Marketplace list selecione Azure Cognitive Search clique em Create e em seguida Create novamente.

    Speech
  3. Na aba Create, preencha as informações abaixo:

    Create Options: Authoring

    Project details:

    • Subscription: Selecione a subscrição que está utilizando para esse workshop.
    • Resource group: Selecione o resoruce group hands-on-lab-SUFFIX na lista.

    Authoring Resource:

    • Service Name: Forneça um nome único para essa instância: search-SUFFIX.

    • Location: Selecione a região que está utilizando para realizar esse workshop.

    • Pricing tier: Selecione Free F0.

  4. Na aba Review + create, confirme se há uma mensagem de Validation passed e então clique em Create.

Task 5.1: Preenchendo as configurações do Search

Nessa etapa iremos preencher o arquivo config\config_example.yml com as configurações necessárias para acessar o Cognitive Services LUIS.

  1. Quando terminar o provisionamento clique em Go to resource:

  2. No diretório config local abra o arquivo config.yml e preencha as seguintes informações:

    • Acesse Keys:
      • service_name: Copie o nome do serviço
      • admin_key: Copie os dados de Primary admin key ou Secondary admin key

    Exemplo:

    ####################################################################################
    #
    #    Cognitive Search
    # 
    ####################################################################################
    search:
    service_name: search-rnv
    admin_key: 1169B1dfggdfgdfDC485277
    index_name: audios-rnv
    api_version: '?api-version=2020-06-30'
    

Execução dos Notebooks

Tarefa 1: Criar o aplicação do LUIS

Nessa etapa será criada uma aplicação do LUIS via código realizando os seguintes passos:

  • Criar as classes (intents)
  • Adicionar Intenções
  • Adicionar Entidades
  • Adicionar a base de treino (utterances)
  • Treinar o modelo
  • Implantar um endpoint do modelo

Observação: Também seria possível criar através do portal do LUIS.

Para realizar as atividades acima acessar o primeiro notebook: 1_create_luis

Tarefa 2: Realizar a Transcrição e Classificação dos áudios

Nessa etapa será realizado a transcrições dos áudios através da API Search do Cognitive Services integrada ao modelo do LUIS criado na tarefa anterior.Para isso será realizado os seguintes passos:

  • Transcrever os áudios com o Speech e LUIS
  • Resumir resultado das classificações
  • Salvar as transcrições

Para realizar as atividades acima acessar o segundo notebook: 2_speech_plus_luis

Tarefa 3: Realizar o upload dos arquivos no Blob Storage

Nessa etapa tanto os áudios quanto as transcrições serão salvas no Azure Storage. Para isso será realizado os seguintes passos:

  • Criação dos Containers
  • Upload dos Áudios e Transcrições
  • Checar os arquivos

Para realizar as atividades acima acessar o segundo notebook: 2_speech_plus_luis

Tarefa 4: Realizar a busca dos áudios classificados

Nessa etapa será realizado a criação do índice do Azure Search, e em seguida, a criação do documento json que irá popular o conteúdo do índice para possibilitar a busca dos audios. Para isso será realizado os seguintes passos:

  • Criação do índice do Azure Search
  • Criação do documento JSON do Azure Search
  • Upload do documento JSON no Azure Search

Para realizar as atividades acima acessar o primeiro notebook: 3_search

Visualização do resultado no Power Apps

Nessa etapa será criado um app (front-end) para que os resultados da busca dos áudios sejam visualizados. Essa integração é do Azure Search com o PowerApps.

  1. Primeiramente é necessário criar um custom connector e para cria-lo, por favor siga o seguinte tutorial: Tutorial: Consultar um índice do Cognitive Search por meio do Power Apps

  2. A parte do select, para esse app não é necessária somente a configuração do Search, api-version e Content-Type conforme print abaixo:

    Power Apps Config

  3. Posteriormente, é necessário a criação de um canvas para efetivamente fazer a visualização das palavras chaves e retornar a busca com os áudios. Para criar um canvas, siga o mesmo tutorial acima na parte 3-Visualize results:

    Power Apps Canvas

About

Solução para classificar ligações telefônicas e extrair informações utilizando serviços do Azure.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%