Editar

Partilhar via


Análise de risco de conformidade usando a Pesquisa Cognitiva do Azure

Azure AI Search
Azure AI services
Microsoft Graph

Este artigo fornece diretrizes técnicas para implementar uma solução de análise de risco de conformidade usando a Pesquisa Cognitiva do Azure. As diretrizes são baseadas em experiências de projetos do mundo real. Dado o escopo abrangente da solução e a necessidade de adaptá-la ao seu caso de uso específico, o artigo se concentra nos aspetos arquitetônicos e de implementação essenciais e específicos. Ele faz referência a tutoriais passo a passo, conforme apropriado.

Apache®, Apache Lucene® e o logotipo flame são marcas registradas ou marcas comerciais da Apache Software Foundation nos Estados Unidos e/ou em outros países. Nenhum endosso da Apache Software Foundation está implícito no uso dessas marcas.

Introdução

Todos os dias, consultores e traders em instituições financeiras discutem, analisam e decidem sobre transações no valor de milhões de dólares. Transações fraudulentas, conluio, abuso de informação privilegiada e outras condutas impróprias por parte dos funcionários são riscos significativos para estas instituições, tanto em termos de consequências jurídicas como de imagem pública.

As equipes de compliance trabalham para mitigar esses riscos. Parte de seu trabalho é monitorar comunicações em vários canais, incluindo mensagens instantâneas, e-mail e chamadas telefônicas de trabalho. Muitas vezes, o monitoramento é cruzado com dados de transações comerciais. O objetivo é encontrar sinais de incumprimento, muitas vezes ocultos e subtis. Esta tarefa é trabalhosa e de muita atenção e envolve peneirar grandes volumes de dados. Embora os sistemas automatizados possam ajudar, o volume de riscos negligenciados pode ser bastante elevado, o que resulta na necessidade de rever as comunicações originais.

A Pesquisa Cognitiva do Azure pode ajudá-lo a automatizar e melhorar a qualidade da avaliação de riscos. Ele tem IA integrada, IA extensível e recursos de pesquisa inteligente. A solução de análise de risco de conformidade apresentada neste artigo mostra como identificar riscos, como má conduta de traders financeiros, consolidando e analisando conteúdo de vários canais de comunicação. Os riscos potenciais que podem ser identificados neste conteúdo não estruturado incluem sinais de manipulação de mercado, abuso de informação privilegiada, fraude em fundos mutualistas, entre outros.

A arquitetura da solução usa os Serviços Cognitivos do Azure e a Pesquisa Cognitiva do Azure. O cenário visa os riscos de comunicação no setor financeiro, mas o padrão de design se transfere para outras indústrias e setores, como governo e saúde. As organizações podem adaptar a arquitetura desenvolvendo e integrando modelos de avaliação de risco que se aplicam aos seus cenários de negócios. Por exemplo, o aplicativo de demonstração Wolters Kluwer fornece aos advogados a capacidade de encontrar rapidamente informações relevantes em arquivos e correspondência da Securities and Exchange Commission (SEC). Identifica os riscos relacionados com o financiamento, incluindo os riscos de cibersegurança e de propriedade intelectual.

A Pesquisa Cognitiva do Azure tem IA incorporada e competências personalizadas que melhoram o desempenho dos processos empresariais e a produtividade das equipas de conformidade. É especialmente útil para as seguintes situações:

  • Há uma necessidade de extrair insights de um grande número de documentos não estruturados heterogêneos, como relatórios financeiros, transcrições de fala e e-mails.
  • Os procedimentos de gerenciamento de riscos para conteúdo não estruturado não estão totalmente implementados.
  • As abordagens existentes exigem muito tempo e trabalho e resultam em muitos alarmes falsos ou em riscos reais que são negligenciados.
  • É necessário integrar diversos canais de comunicação e fontes de dados, incluindo dados estruturados, para uma análise de risco mais abrangente.
  • Dados e conhecimento de domínio estão disponíveis para treinar modelos de aprendizado de máquina para identificar sinais de risco em texto não estruturado. Em alternativa, os modelos existentes podem ser integrados.
  • É necessário que a arquitetura possa ingerir e processar continuamente dados não estruturados recém-disponíveis, como conversas e notícias, para melhorar a solução.
  • Os analistas de compliance precisam de uma ferramenta eficiente para a identificação e análise detalhada de riscos. A ferramenta deve ser uma ferramenta human-in-the-loop para que os analistas controlem o processo e possam sinalizar possíveis previsões incorretas, a fim de melhorar os modelos.

A Pesquisa Cognitiva do Azure é um serviço de pesquisa na nuvem que tem capacidades de IA incorporadas que enriquecem todos os tipos de informações para o ajudar a identificar e explorar conteúdo relevante em escala. Você pode usar habilidades cognitivas para visão e linguagem ou usar modelos personalizados de aprendizado de máquina para descobrir insights de todos os tipos de conteúdo. A Pesquisa Cognitiva do Azure também oferece recursos de pesquisa semântica que usam técnicas avançadas de aprendizado de máquina para classificar a intenção do usuário e classificar contextualmente os resultados de pesquisa mais relevantes.

O diagrama a seguir mostra uma exibição de alto nível de como a Pesquisa Cognitiva do Azure funciona, desde a ingestão e indexação de dados até a disponibilização de resultados para o usuário.

Diagrama de exibição de alto nível de como a Pesquisa Cognitiva do Azure funciona.

Transfira um ficheiro PowerPoint desta arquitetura.

Este artigo fornece detalhes sobre a solução para o caso de uso da análise de risco e outros cenários de serviços financeiros, como o exemplo da Wolters Kluwer mencionado anteriormente. Ele fornece etapas de execução técnica com documentação de instruções referenciada e uma arquitetura de referência. Inclui as melhores práticas do ponto de vista organizacional e técnico. O padrão de design pressupõe que você traga seus próprios dados e desenvolva seus próprios modelos de análise de risco, adequados ao seu contexto de negócios e requisitos.

Gorjeta

Verifique estes recursos para obter uma introdução à Pesquisa Cognitiva do Azure e experimente-a em ação:

Descrição geral da solução

O diagrama a seguir fornece uma visão de alto nível da solução de análise de risco.

Diagrama de uma visão de alto nível da solução de análise de risco.

Transfira um ficheiro PowerPoint desta arquitetura.

Para identificar comunicações de risco verdadeiro, o conteúdo de canais de comunicação heterogêneos é extraído e enriquecido por vários modelos de aprendizado de máquina dos Serviços Cognitivos. Em seguida, modelos personalizados específicos de domínio são aplicados para identificar sinais de manipulação de mercado e outros riscos que aparecem nas comunicações e interações entre as pessoas. Todos os dados são agregados em uma solução consolidada de Pesquisa Cognitiva do Azure. A solução consiste em um aplicativo amigável com recursos de identificação e análise de riscos. Os dados do aplicativo são armazenados em um índice de pesquisa e em um armazenamento de conhecimento se você precisar de armazenamento de longo prazo.

A ilustração a seguir fornece uma visão geral conceitual da arquitetura da solução:

Diagrama da visão geral conceitual da arquitetura da solução.

Transfira um ficheiro PowerPoint desta arquitetura.

Embora cada canal de comunicação — por exemplo, e-mail, chats e telefonia — possa ser usado isoladamente para detetar riscos potenciais, melhores insights são alcançados combinando canais e aumentando o conteúdo com informações complementares, como notícias do mercado.

A solução de análise de risco utiliza várias interfaces para integrar sistemas de comunicação empresarial para ingestão de dados:

  • O Armazenamento de Blobs é usado como uma fonte geral de dados em formato de documento, como conteúdo de e-mail, incluindo anexos, transcrições de chamadas telefônicas ou bate-papos e documentos de notícias.
  • Os serviços de comunicação do Office 365, como o Microsoft Exchange Online e o Microsoft Teams, podem ser integrados usando o Microsoft Graph Data Connect para ingestão em massa de email, bate-papos e outros conteúdos. Uma interface de Pesquisa Cognitiva do Azure para SharePoint no Microsoft 365 também está disponível.
  • As comunicações de voz, como chamadas telefónicas, são transcritas utilizando o serviço Speech to Text dos Serviços Cognitivos. As transcrições e metadados resultantes são então ingeridos pela Pesquisa Cognitiva do Azure através do Armazenamento de Blobs.

Estes exemplos abrangem canais de comunicação empresarial frequentemente utilizados. No entanto, a integração de canais adicionais também é possível e pode usar padrões de ingestão semelhantes.

Após a consolidação, os dados brutos são enriquecidos por habilidades de IA para detetar estrutura e criar conteúdo baseado em texto a partir de tipos de conteúdo anteriormente não pesquisáveis. Por exemplo:

  • Os relatórios financeiros em ficheiros PowerPoint ou PDFs contêm frequentemente imagens incorporadas em vez de texto legível por máquina, a fim de evitar alterações. Para processar este tipo de conteúdo, todas as imagens são analisadas por reconhecimento ótico de caracteres (OCR) usando a habilidade cognitiva OCR.
  • O conteúdo em vários idiomas é traduzido para o inglês ou outro idioma usando a habilidade cognitiva Tradução de Texto.
  • Informações significativas, como nomes de pessoas e organizações, são extraídas automaticamente e podem ser usadas para consultas de pesquisa poderosas usando a habilidade cognitiva de Reconhecimento de Entidades. Por exemplo, uma pesquisa pode encontrar todas as comunicações entre James Doe e Mary Silva que discutem uma determinada empresa durante um período de tempo especificado.
  • Modelos personalizados são usados para identificar evidências de risco, como insider trading, em comunicações. Esses modelos específicos de domínio podem ser baseados em palavras-chave, enunciados ou parágrafos inteiros. Eles usam tecnologias avançadas de processamento de linguagem natural (NLP). Os modelos personalizados são treinados usando dados específicos do domínio para o caso de uso atual.

Depois de aplicar os enriquecimentos de IA da Pesquisa Cognitiva do Azure e as habilidades personalizadas, o conteúdo é consolidado em um índice de pesquisa para dar suporte a cenários avançados de pesquisa e mineração de conhecimento. Os analistas de conformidade e outros usuários usam o aplicativo front-end para identificar comunicações de risco potencial e realizar pesquisas detalhadas para análise adicional. A gestão do risco é um processo dinâmico. Os modelos são constantemente melhorados na produção e modelos para novos tipos de risco são adicionados. Portanto, a solução precisa ser modular. Novos tipos de risco são sinalizados automaticamente na interface do usuário à medida que o conjunto de modelos é estendido.

O aplicativo front-end usa consultas de pesquisa inteligentes e semânticas para examinar o conteúdo. O conteúdo também pode ser movido para um repositório de conhecimento para retenção de conformidade ou integração com outros sistemas.

Os blocos de construção da solução são descritos com mais detalhes nas seções a seguir.

A implementação de uma solução de análise de risco é um exercício multidisciplinar que requer o envolvimento das principais partes interessadas de vários domínios. Com base em nossas experiências, recomendamos incluir as seguintes funções para garantir um desenvolvimento bem-sucedido e a adoção organizacional da solução.

Diagrama que mostra as funções necessárias para uma implantação bem-sucedida da solução.

Gorjeta

Ingestion de Dados

Esta seção explica como consolidar conteúdo heterogêneo em uma única fonte de dados e, em seguida, configurar uma coleção inicial de ativos de pesquisa derivados dessa fonte.

O desenvolvimento e a implementação de uma solução de Pesquisa Cognitiva do Azure são frequentemente um processo incremental. A adição de fontes de dados, transformações e aumentos é feita em iterações sucessivas, além das configurações de linha de base.

A primeira etapa de uma solução de Pesquisa Cognitiva do Azure é criar uma instância de serviço no portal do Azure. Além do serviço de pesquisa em si, você precisa de vários ativos de pesquisa, incluindo um índice de pesquisa, indexador, fonte de dados e conjunto de habilidades. Você pode criar uma configuração de linha de base com pouco esforço usando o assistente de Importação de dados da Pesquisa Cognitiva do Azure, que está no portal do Azure. Este assistente, ilustrado aqui, orienta o usuário pelas etapas básicas de criação e carregamento de um índice de pesquisa simples que usa dados de uma fonte de dados externa.

Captura de ecrã do assistente de importação de dados.

A criação do índice de pesquisa pelo assistente Importar dados tem quatro etapas:

  1. Conexão com dados: a conexão com o armazenamento de Blob existente, por exemplo, pode ser feita sem esforço com apenas alguns cliques. Uma cadeia de conexão é usada para autenticação. Outras fontes de dados com suporte nativo incluem uma variedade de Serviços do Azure, como o Banco de Dados SQL do Azure, o Azure Cosmos DB e serviços como o SharePoint Online. Nesta solução, o Armazenamento de Blobs é usado para consolidar os tipos de conteúdo heterogêneos.
  2. Adição de habilidades cognitivas: Nesta etapa opcional, as habilidades de IA incorporadas são adicionadas ao processo de indexação. Eles são aplicados para enriquecer o conteúdo lido da fonte de dados. Por exemplo, esta etapa pode extrair os nomes e locais de pessoas e organizações.
  3. Personalização do índice de destino: Nesta etapa, o desenvolvedor configura as entidades de campo para o índice. Um índice padrão é fornecido, mas os campos podem ser adicionados, excluídos ou renomeados. Campos de exemplo são: título do documento, descrição, URL, autor, localização, empresa e ticker de ações, e os tipos de operações que são possíveis em cada um deles.
  4. Criação de indexador: A última etapa configura um indexador, o componente que é executado regularmente para atualizar o conteúdo do índice de pesquisa. Um parâmetro chave é a frequência com que o indexador deve ser executado.

Quando as configurações são confirmadas, uma fonte de dados, um conjunto de habilidades, um indexador e um índice são criados. Para cada um desses componentes, uma definição JSON é criada. As definições JSON fornecem personalização aprimorada e podem ser usadas para criar os serviços programaticamente por meio de uma API REST. O benefício é a criação consistente e programática de ativos em todas as iterações de desenvolvimento subsequentes. Por esse motivo, usamos definições JSON para demonstrar a configuração de todos os ativos. A seção Criação automática de ativos de pesquisa fornece explicações detalhadas sobre como usar essas definições para criar programaticamente todos os ativos.

Na configuração, o Armazenamento de Blob é selecionado como a fonte de dados padrão. Embora as comunicações possam ter origem em vários canais ou fontes, uma abordagem genérica para esse padrão de solução depende de todas as comunicações existentes no Armazenamento de Blobs e que contenham texto e/ou imagens. A etapa a seguir expandirá a configuração de uma definição JSON de fonte de dados para armazenamento de Blob.

Alguns padrões são referenciados nesta seção para exemplificar como ingerir comunicações do Office 365 no Armazenamento de Blobs e como transcrever chamadas de áudio usando o serviço Fala para Texto.

Armazenamento de Blobs

A definição JSON a seguir mostra a estrutura e as informações necessárias para configurar o Armazenamento de Blob como uma fonte de dados para a Pesquisa Cognitiva do Azure:

{
  "name": "email-ds",
  "description": "Datasource for emails.",
  "type": "azureblob",
  "subtype": null,
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=..."
  },
  "container": {
    "name": "communications",
    "query": "written_comms/emails"
  }
}

Os seguintes campos são obrigatórios:

  • Nome: o nome atribuído à fonte de dados.
  • Tipo: define a fonte de dados como Armazenamento de Blob.
  • Credenciais: A cadeia de conexão para o Armazenamento de Blobs.
  • Container: O nome do contêiner onde os blobs são armazenados. Um diretório dentro do contêiner pode ser especificado para que várias fontes de dados possam ser criadas dentro do mesmo contêiner.

Por padrão, a fonte de dados de Armazenamento de Blob oferece suporte a uma ampla variedade de formatos de documentos. Por exemplo, as transcrições de áudio são frequentemente armazenadas em ficheiros JSON, os e-mails são normalmente ficheiros MSG ou EML, as notícias ou material de comunicação adicional estão frequentemente em PDF, formatos Word como DOC/DOCX/DOCM, ou formatos PowerPoint como PPT/PPTX/PPTM, ou páginas Web HTML.

Para configurar várias fontes de dados para comunicações no mesmo Armazenamento de Blobs, você pode usar uma das seguintes técnicas:

  • Dê a cada fonte de dados seu próprio contêiner.
  • Use o mesmo contêiner para todas as fontes de dados, mas dê a cada fonte de dados seu próprio diretório nesse contêiner.

Gorjeta

Como implementar:

Conetor de Dados do Microsoft Graph

Para clientes do Office 365, o Microsoft Graph Data Connect pode ser usado para extrair dados selecionados do Microsoft Graph para o Armazenamento do Azure, a montante da solução de Pesquisa Cognitiva do Azure. Os dados armazenados no Microsoft Graph incluem dados como e-mails, reuniões, chats, documentos do SharePoint, pessoas e tarefas.

Nota

A utilização deste mecanismo está sujeita a um processo de consentimento de dados.

Diagrama do Microsoft Graph Data Connect.

Transfira um ficheiro PowerPoint desta arquitetura.

O diagrama mostra o fluxo de dados do Microsoft Graph. O processo depende dos recursos do Azure Data Factory para extrair dados do Microsoft Graph. Há um controle de segurança granular, incluindo consentimento e um modelo de governança. O pipeline do Data Factory é configurado com os tipos de dados a serem extraídos, como mensagens de email e chats de equipe, e um escopo, como um grupo de usuários e um intervalo de datas. A pesquisa é executada em uma agenda definida em intervalos configuráveis e configurada para soltar os dados extraídos no Armazenamento do Azure. A partir daí, os dados são ingeridos na Pesquisa Cognitiva do Azure por um indexador.

Gorjeta

Os seguintes artigos incluem instruções passo a passo sobre como configurar uma extração de dados do Microsoft Graph Data Connect para o Armazenamento do Azure através do Data Factory, para posterior ingestão na Pesquisa Cognitiva do Azure:

Arquitetura de referência de fala para texto

As conversas telefónicas são uma ferramenta de trabalho essencial em qualquer organização de serviços financeiros. Eles podem ser incluídos em uma solução de análise de risco se houver acesso aos respetivos arquivos de áudio. Esta secção aborda esta situação.

A quebra de documentos na Pesquisa Cognitiva do Azure é um conjunto de etapas de processamento executadas pelo indexador para extrair texto e imagens da fonte de dados. Para arquivos de áudio, precisamos de uma maneira de extrair transcrições dessas comunicações de áudio para que estejam disponíveis para processamento baseado em texto.

O diagrama a seguir mostra uma ingestão de áudio e um pipeline de fala para texto. O pipeline processa lotes de arquivos de áudio e armazena os arquivos de transcrição no Armazenamento de Blob, a montante da solução de Pesquisa Cognitiva do Azure.

Diagrama de um pipeline de fala para texto.

Transfira um ficheiro PowerPoint desta arquitetura.

Nessa arquitetura de referência, os arquivos de áudio são carregados no Armazenamento de Blobs por meio de um aplicativo cliente. Durante esse processo, o aplicativo se autentica usando o Microsoft Entra ID e chama a API REST para obter um token para o Armazenamento de Blob. O acesso seguro à API REST é fornecido pelo Gerenciamento de API do Azure e um Cofre de Chaves do Azure fornece armazenamento seguro dos segredos necessários para gerar os tokens, bem como credenciais de conta.

Depois que os arquivos são carregados, um gatilho de Grade de Eventos do Azure é emitido para invocar uma função do Azure. Em seguida, a função processa o arquivo de áudio usando a API de fala para texto dos Serviços Cognitivos. O documento JSON transcrito é então armazenado em um contêiner de blob separado, que pode ser ingerido como uma fonte de dados pela Pesquisa Cognitiva do Azure.

Gorjeta

Consulte o seguinte artigo para obter detalhes sobre a integração da transcrição de fala:

Solução de pesquisa

Conforme descrito, várias fontes de dados, como e-mails, transcrições e notícias, são criadas e, em seguida, armazenadas no Armazenamento de Blobs. Cada fonte de dados é então transformada e enriquecida à sua maneira. Toda a saída resultante é mapeada para o mesmo índice, consolidando dados de todos os tipos de documentos de origem.

O diagrama a seguir ilustra essa abordagem. Um indexador personalizado é configurado para cada uma das fontes de dados disponíveis e todos os resultados alimentam um único índice de pesquisa.

Diagrama que mostra como os indexadores transformam dados para consolidação.

As seções a seguir exploram os mecanismos de indexação e os índices pesquisáveis. Eles mostram como configurar um indexador e como indexar definições JSON para implementar uma solução pesquisável.

Indexadores

Um indexador orquestra a extração e o enriquecimento do conteúdo do documento. Uma definição de indexador inclui detalhes sobre a fonte de dados a ser ingerida, como mapear os campos e como transformar e enriquecer os dados.

Como o mapeamento, a transformação e o enriquecimento variam de acordo com o tipo de dados, deve haver um indexador para cada fonte de dados. Por exemplo, a indexação de e-mails pode exigir habilidades de OCR para processar imagens e anexos, mas as transcrições precisam apenas de habilidades baseadas no idioma.

Estas são as etapas do processo de indexação:

  • Quebra de documentos: a Pesquisa Cognitiva do Azure abre e extrai o conteúdo relevante dos documentos. O conteúdo indexável extraído é uma função da fonte de dados e dos formatos de arquivo. Por exemplo, para um arquivo como PDF ou Microsoft 365 no Armazenamento de Blob, o indexador abre o arquivo e extrai texto, imagens e metadados.
  • Mapeamento de campos: os nomes dos campos que foram extraídos da origem são mapeados em campos de destino em um índice de pesquisa.
  • Execução de conjunto de habilidades: O processamento de IA integrado ou personalizado é feito nesta etapa, conforme descrito em uma seção posterior.
  • Mapeamento de campos de saída: os nomes dos campos transformados ou enriquecidos são mapeados para campos de destino em um índice.

O trecho a seguir mostra um segmento da definição JSON do indexador de email. Essa definição usa as informações detalhadas nas etapas e fornece um conjunto detalhado de instruções para o mecanismo de indexação.

{
  "name": "email-indexer",
  "description": "",
  "dataSourceName": "email-ds",
  "skillsetName": "email-skillset",
  "targetIndexName": "combined-index",
  "disabled": null,
  "schedule": {
    "interval": "P1D",
    "startTime": "2021-10-17T22:00:00Z"
  },
  "parameters": {
    "batchSize": null,
    "mixabilities": 50,
    "maxFailedItemsPerBatch": 0,
    "base64EncodeKeys": null,
    "configuration": {
      "imageAction": "generateNormalizedImages",
      "dataToExtract": "contentAndMetadata",
      "parsingMode": "default"
    }
  },
  "fieldMappings": [
    {
      "sourceFieldName": "metadata_storage_path",
      "targetFieldName": "metadata_storage_path",
      "mappingFunction": {
        "name": "base64Encode",
        "parameters": null
      }
    }
  ],
  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/merged_content/people",
      "targetFieldName": "people"
    },
    {
      "sourceFieldName": "/document/merged_content/organizations",
      "targetFieldName": "organizations"
    },

Neste exemplo, o indexador é identificado pelo nome exclusivo email-indexer. Este indexador refere-se a uma fonte de dados chamada email-ds, e os enriquecimentos de IA são definidos pelo conjunto de habilidades chamado email-skillset. As saídas do processo de indexação são armazenadas no índice denominado combined-index. Detalhes adicionais incluem uma programação definida como diária, um número máximo de 50 itens com falha e uma configuração para gerar imagens normalizadas e extrair conteúdo e metadados.

Na seção de mapeamento de campo, o campo metadata_storage_path é codificado usando um base64encoder, para servir como uma chave de documento exclusiva. Na configuração de mapeamento do campo de saída (apenas parcialmente exibida), as saídas do processo de enriquecimento são mapeadas para o esquema de índice.

Se um novo indexador for criado para uma nova fonte de dados (por exemplo, transcrições), a maior parte da definição JSON será configurada para se alinhar com a fonte de dados e a seleção do conjunto de habilidades. No entanto, o índice de destino deve ser combinado-índice (desde que todos os mapeamentos de campo sejam compatíveis). Esta é a técnica que permite que o índice consolide resultados de várias fontes de dados.

Índices e outras estruturas

Após o processo de indexação, os documentos extraídos e aumentados são mantidos em um índice pesquisável e, opcionalmente, em armazenamentos de conhecimento.

  • Índice pesquisável: um índice pesquisável corresponde à saída necessária que é sempre criada como parte de um processo de indexação e, ocasionalmente, também é chamada de catálogo de pesquisa. Para criar um índice, é necessária uma definição de índice. Ele contém configurações (como tipo, pesquisável, filtrável, classificável, facetable e recuperável) para todos os campos. Esses nomes de campo de índice precisam estar alinhados com o campo indexador e os mapeamentos de campo de saída.

    Vários indexadores podem ser atribuídos ao mesmo índice, para que o índice consolide comunicações de diferentes conjuntos de dados, como e-mails ou transcrições. Um índice pode então ser consultado usando a pesquisa de texto completo ou a pesquisa semântica.

    Semelhante aos indexadores, os índices podem ser configurados usando uma definição JSON de índice. O trecho a seguir corresponde a um segmento da definição JSON de índice combinado:

    {
    "name": "combined-index",
    "fields": [
      {
        "name": "metadata_storage_path",
        "type": "Edm.String",
        "facetable": false,
        "filterable": false,
        "key": true,
        "retrievable": true,
        "searchable": false,
        "sortable": false,
        "analyzer": null,
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "synonymMaps": [],
        "fields": []
      },
      {
        "name": "people",
        "type": "Collection(Edm.String)",
        "facetable": true,
        "filterable": true,
        "retrievable": true,
        "searchable": true,
        "analyzer": "standard.lucene",
        "indexAnalyzer": null,
        "searchAnalyzer": null,
        "synonymMaps": [],
        "fields": []
      },
    

    Neste exemplo, o índice é identificado pelo nome exclusivo combined-index. A definição do índice é independente de quaisquer indexadores, fontes de dados ou conjuntos de habilidades. Os campos definem o esquema do índice e, no momento da configuração, um usuário pode configurar o nome e o tipo de cada campo, bem como um conjunto de propriedades, como facetable, filtrável.

    Neste trecho, dois campos estão incluídos. Metadata_storage_path é uma cadeia de caracteres recuperável que é usada como chave de documento. Por outro lado, o campo people é uma coleção de strings que podem ser facetable, filtráveis, recuperáveis e pesquisáveis, e a consulta de texto completo é processada usando um analisador standard.lucene.

  • Armazenamento de conhecimento: um armazenamento de conhecimento pode ser uma saída opcional, para ser usado para análise independente e processamento downstream em cenários que não sejam de pesquisa, como mineração de conhecimento. A implementação de um repositório de conhecimento é definida dentro de um conjunto de habilidades, onde o documento enriquecido ou campos específicos podem ser configurados para serem projetados como tabelas ou arquivos.

    A ilustração a seguir mostra uma implementação de um repositório de conhecimento:

    Diagrama que ilustra como implementar um armazenamento de conhecimento.

Transfira um ficheiro PowerPoint desta arquitetura.

Com um repositório de conhecimento da Pesquisa Cognitiva do Azure, os dados podem ser persistidos usando as seguintes opções (chamadas de projeções):

  • As projeções de arquivos permitem a extração de conteúdo (por exemplo, imagens incorporadas) como arquivos. Um exemplo são diagramas ou gráficos de relatórios financeiros que são exportados em formatos de arquivo de imagem.
  • As projeções de tabela suportam estruturas de relatórios tabulares (por exemplo, para casos de uso de análise). Eles podem ser usados para armazenar informações agregadas, como pontuações de risco para cada documento.
  • As projeções de objetos extraem conteúdo como objetos JSON para o Armazenamento de Blobs. Eles podem ser usados para a solução de análise de risco se os dados precisarem ser retidos em detalhes granulares por motivos de conformidade. As pontuações de risco podem ser arquivadas usando essa abordagem.

Como a estrutura dos dados de pesquisa é otimizada para consultas, geralmente não é otimizada para outras finalidades, como exportar para um repositório de conhecimento. Você pode usar a habilidade Shaper para reestruturar os dados para atender aos seus requisitos de retenção antes de aplicar as projeções.

Em um repositório de conhecimento, o conteúdo persistente é armazenado no Armazenamento do Azure, seja no armazenamento de tabela ou blob.

Há várias opções para usar dados de um repositório de conhecimento. O Azure Machine Learning pode aceder ao conteúdo para criar modelos de aprendizagem automática. O Power BI pode analisar os dados e criar elementos visuais.

As organizações financeiras têm políticas e sistemas existentes para retenção de conformidade a longo prazo. Portanto, o Armazenamento do Azure pode não ser a solução de destino ideal para esse caso de uso. Depois que os dados são salvos no armazenamento de conhecimento, o Data Factory pode exportá-los para outros sistemas, como bancos de dados.

Motor de consulta

Depois que um índice é criado, você pode usar a Pesquisa Cognitiva do Azure para consultá-lo usando pesquisas semânticas e de texto completo.

  • A pesquisa de texto completo é construída no mecanismo de consulta Apache Lucene e aceita termos ou frases que são passados em um parâmetro de pesquisa em todos os campos pesquisáveis do índice. Quando os termos correspondentes são encontrados, o mecanismo de consulta classifica os documentos em ordem de relevância e retorna os principais resultados. A classificação de documentos pode ser personalizada por meio de perfis de pontuação, e os resultados podem ser classificados usando campos classificáveis por índice.
  • A pesquisa semântica fornece um conjunto de recursos poderosos que melhoram a qualidade dos resultados da pesquisa usando relevância semântica e compreensão de linguagem. Quando habilitada, a pesquisa semântica estende o recurso de pesquisa das seguintes maneiras:
    • A reclassificação semântica usa o contexto ou o significado semântico de uma consulta para calcular uma nova pontuação de relevância sobre os resultados existentes.
    • Os destaques semânticos extraem frases e frases de um documento que melhor resumem o conteúdo.

A seção Interface do usuário inclui um exemplo do poder da pesquisa semântica. A pesquisa semântica está em pré-visualização pública. Mais informações sobre suas capacidades podem ser encontradas na documentação.

Criação automática de ativos de pesquisa

O desenvolvimento de uma solução de pesquisa é um processo iterativo. Depois de implantar a infraestrutura de Pesquisa Cognitiva do Azure e a versão inicial dos ativos de pesquisa, como fonte de dados, índice, indexador e conjunto de habilidades, você melhora continuamente sua solução (por exemplo, adicionando e configurando habilidades de IA).

Para garantir consistência e iterações rápidas, recomendamos que você automatize o processo de criação dos ativos da Pesquisa Cognitiva do Azure.

Para nossa solução, usamos a API REST da Pesquisa Cognitiva do Azure para implantar dez ativos de forma automatizada, conforme mostrado nesta ilustração:

Diagrama que mostra o uso da API REST para automatizar a implantação de ativos.

Como nossa solução requer processamento diferente e enriquecimento de IA para e-mails, transcrições e documentos de notícias, criamos fontes de dados, indexadores e conjuntos de habilidades distintos. No entanto, decidimos usar um único índice para todos os canais para simplificar o uso da solução de análise de risco.

Cada um dos dez itens tem um arquivo de definição JSON associado para especificar sua configuração. Consulte as caixas de código de exemplo neste guia para obter explicações sobre as configurações.

As especificações JSON são enviadas para a Pesquisa Cognitiva do Azure por meio de solicitações de API feitas pelo script build-search-config.py na ordem mostrada. O exemplo a seguir ilustra como criar o conjunto de habilidades de email especificado em email-skillset.json:

url = f"https://{search_service}.search.windows.net/skillsets?api-version=2020-06-30-Preview"
headers = {'Content-type': 'application/json', 'api-key': cog_search_admin_key}

r = requests.post(url, data=open('email-skillset.json', 'rb'), headers=headers)

print(r)
  • search_service é o nome do recurso de Pesquisa Cognitiva do Azure.
  • cog_search_admin_key é a chave de administração. O uso de uma chave de consulta não é suficiente para operações de gerenciamento.

Depois que todas as solicitações de configuração forem executadas e o índice for carregado, uma consulta REST determinará se a solução de pesquisa responde corretamente. Observe que há um atraso de tempo antes que todos os ativos sejam gerados e os indexadores tenham concluído suas execuções iniciais. Talvez seja necessário aguardar alguns minutos antes de consultar pela primeira vez.

Para obter informações sobre como usar a API REST da Pesquisa Cognitiva do Azure para criar programaticamente a configuração para indexar conteúdo do Armazenamento de Blobs, consulte: Tutorial: Usar REST e IA para gerar conteúdo pesquisável a partir de blobs do Azure.

Enriquecimento de IA

Nas seções anteriores, construímos a base da solução de análise de risco. Agora é hora de se concentrar no processamento de informações de conteúdo bruto em insights de negócios tangíveis.

Para tornar o conteúdo pesquisável, o conteúdo de comunicação é passado por um pipeline de enriquecimento de IA que usa habilidades internas e modelos personalizados para deteção de riscos:

Diagrama que mostra um pipeline de enriquecimento de IA.

Primeiro, analisamos como usar as habilidades internas com base nas habilidades de exemplo 1 a 4 que usamos para a solução de análise de risco. Em seguida, vemos como adicionar uma habilidade personalizada para integrar modelos de risco (etapa 5). Finalmente, vemos como revisar e depurar o pipeline de habilidades.

As seções a seguir fornecem uma introdução conceitual. Para uma experiência prática, consulte o guia passo a passo do Microsoft Learn.

Habilidades integradas de enriquecimento de IA

O pipeline de enriquecimento de IA aplicada é chamado de conjunto de habilidades de Pesquisa Cognitiva do Azure. As seguintes habilidades incorporadas são usadas na solução de análise de risco:

  • Reconhecimento ótico de caracteres: os relatórios financeiros podem incluir uma quantidade significativa de conteúdo incorporado em imagens em vez de texto para evitar alterações no conteúdo. A apresentação a seguir mostra um exemplo de um relatório trimestral da Microsoft:

    Captura de ecrã de um exemplo de conteúdo incorporado numa imagem.

    Todos os slides do deck contêm apenas conteúdo gráfico. Para fazer uso das informações, a habilidade cognitiva OCR é usada para e-mails (é especialmente relevante para anexos) e documentos de notícias de mercado. Isso garante que consultas de pesquisa, como "despesas de capital" no exemplo anterior, encontrem o texto do slide mesmo que o conteúdo original não seja legível por máquina. A relevância da pesquisa é melhorada ainda mais pela pesquisa semântica nos casos em que os usuários utilizam termos desviantes para "despesas de capital" que não estão contidos no texto.

  • Deteção de idioma: em uma organização global, o suporte para tradução automática é um requisito comum. Supondo que a equipe de analistas de compliance prefira ler e se comunicar consistentemente em inglês, por exemplo, a solução precisa ser capaz de traduzir o conteúdo com precisão. A habilidade cognitiva de deteção de linguagem é usada para identificar a linguagem do documento original. Esta informação é utilizada para identificar se é necessária uma tradução para a língua de chegada pretendida e também é mostrada na interface do utilizador para indicar a língua original ao utilizador.

  • Extrair pessoas e organizações: A habilidade cognitiva de Reconhecimento de Entidades pode identificar pessoas, locais, organizações e outras entidades em texto não estruturado. Estas informações podem ser utilizadas para melhorar a pesquisa ou a navegação (por exemplo, filtragem e facetação) num vasto corpo de conteúdos heterogéneos. Para a solução de análise de risco, optou-se pela extração de pessoas (por exemplo, nomes de comerciantes) e organizações (por exemplo, nomes de empresas).

    O exemplo a seguir da definição JSON do conjunto de habilidades para e-mails fornece detalhes sobre a configuração selecionada:

    "skills": [
      {
        "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
        "name": "Detect Entities",
        "description": "Detect people and organizations in emails",
        "context": "/document/merged_content",
        "categories": [
          "Person",
          "Organization"
        ],
        "defaultLanguageCode": "en",
        "minimumPrecision": 0.85,
        "modelVersion": null,
        "inputs": [
          {
            "name": "text",
            "source": "/document/merged_content"
          },
          {
            "name": "languageCode",
            "source": "/document/original_language"
          }
        ],
        "outputs": [
          {
            "name": "persons",
            "targetName": "people"
          },
          {
            "name": "organizations",
            "targetName": "organizations"
          }
        ]
      },
    

    Primeiro, especificamos a extração de pessoas e organizações do conteúdo. Existem outras categorias (por exemplo, localizações) que podem ser extraídas, se necessário. No entanto, restringimos intencionalmente a extração a essas duas entidades para evitar sobrecarregar os usuários com muita informação no início.

    Como nenhuma solução de IA fornece 100% de precisão, há sempre o risco de falsos positivos (por exemplo, nomes de organizações que não são realmente organizações) e falsos negativos (por exemplo, organizações reais são negligenciadas). A Pesquisa Cognitiva do Azure fornece controlos para equilibrar a relação sinal-ruído na extração de entidades. No nosso caso, definimos a precisão mínima de deteção para 0,85 para aumentar a relevância do reconhecimento e reduzir o ruído.

    Na próxima etapa, especificamos as entradas e saídas para o conjunto de habilidades dentro do documento enriquecido. Nosso caminho de entrada aponta para merged_content, que inclui o e-mail e anexos. O conteúdo dos anexos inclui texto que foi extraído usando OCR.

    Finalmente, definimos os nomes de saída pessoas e organizações para as entidades especificadas. Mais tarde, eles são mapeados para o índice de pesquisa como parte da definição do indexador.

    As definições das outras habilidades seguem um padrão semelhante, complementado por configurações específicas de habilidades.

  • Tradução: A tradução real de documentos que contêm línguas estrangeiras para o inglês é realizada na próxima etapa. A habilidade cognitiva de Tradução de Texto é usada para conversão. Tenha em atenção que os custos de tradução são cobrados sempre que o texto é enviado para a API de Texto do Tradutor, mesmo que a língua de partida e a língua de chegada sejam as mesmas. Para evitar taxas de serviço nessas circunstâncias, habilidades cognitivas condicionais adicionais são usadas para ignorar a tradução nesses casos.

Gorjeta

Você pode usar o Assistente de importação de dados da Pesquisa Cognitiva do Azure para começar a ingerir e enriquecer conteúdo rapidamente. No futuro, você se beneficia da criação de conjuntos de habilidades e outros ativos da Pesquisa Cognitiva do Azure de forma automatizada. O seguinte artigo fornece mais informações:

Enriquecimento de IA personalizado para deteção de riscos

Agora que você implementou as habilidades internas desejadas da Pesquisa Cognitiva do Azure, vamos ver como adicionar modelos personalizados para análise de risco.

A identificação de má conduta intencional ou real no conteúdo de comunicação depende sempre do contexto e requer amplo conhecimento de domínio. Um dos principais objetivos da solução de análise de risco é fornecer uma maneira flexível de integrar e aplicar modelos de risco personalizados no pipeline de enriquecimento para descobrir riscos reais para cenários de negócios específicos.

Dependendo do caso de uso, o exemplo de conversa a seguir pode indicar uma possível má conduta intencional:

Ilustração que mostra uma conversa que sugere má conduta intencional.

As opções a seguir podem analisar conteúdo de comunicação não estruturado para identificar riscos:

  • Abordagem baseada em palavras-chave: esta técnica utiliza uma lista de palavras-chave relevantes (por exemplo, offline, informações especiais) para identificar potenciais riscos. Essa abordagem é fácil de implementar, mas pode ignorar os riscos se as formulações no conteúdo não corresponderem às palavras-chave.
  • Abordagens baseadas no reconhecimento de entidades: um modelo de aprendizado de máquina é treinado em expressões curtas (por exemplo, frases) para identificar riscos usando um modelo de linguagem. Os conhecimentos especializados são utilizados para criar um conjunto de formação de exemplos representativos com a classificação de risco correspondente (por exemplo, manipulação de mercado, abuso de informação privilegiada). Uma das principais vantagens desta técnica é que é provável que os riscos sejam identificados se os enunciados tiverem um significado semântico semelhante, mas formulações diferentes dos exemplos no conjunto de treinamento. O serviço de compreensão de linguagem conversacional do Azure pode ser usado para esses fins.
  • Abordagens avançadas baseadas em PNL: Avanços recentes em redes neurais tornam possível analisar segmentos mais longos de texto não estruturado, incluindo classificação e outras tarefas de PNL. Esta abordagem pode identificar sinais que são mais subtis e que abrangem várias frases ou parágrafos. A desvantagem dessa abordagem é que, normalmente, são necessários muito mais dados de treinamento em comparação com outras técnicas. O Azure fornece várias opções para treinar modelos de PNL, incluindo Classificação de Texto Personalizada e Aprendizagem Automática de Máquina.

Qualquer modelo fornecido como um serviço Web REST pode ser integrado como uma habilidade personalizada na solução de análise de risco da Pesquisa Cognitiva do Azure. No nosso exemplo, integramos um conjunto de modelos de Compreensão de Linguagem Conversacional com uma função do Azure que atua como a interface entre a Pesquisa Cognitiva do Azure e os modelos. O diagrama a seguir ilustra essa técnica:

Diagrama que mostra como integrar uma habilidade personalizada.

Transfira um ficheiro PowerPoint desta arquitetura.

E-mails e transcrições são verificados quanto a riscos após o processamento das habilidades integradas. A habilidade personalizada fornece o tipo de documento e seu conteúdo ao aplicativo Azure Functions para pré-processamento. O aplicativo é baseado no exemplo publicado e executa as seguintes tarefas:

  1. Determina quais modelos usar: As organizações podem usar modelos distintos para identificar vários tipos de riscos (por exemplo, manipulação de mercado, insider trading, fraude de fundos mútuos). O aplicativo Funções ativa os modelos disponíveis dependendo das preferências configuradas.
  2. Pré-processa conteúdo: esta tarefa inclui eliminar o conteúdo do anexo e dividir o texto em frases para corresponder à estrutura dos dados usados para treinar os modelos de risco.
  3. Envia o conteúdo tokenizado para os modelos de risco configurados: Os modelos de risco atribuem pontuações de risco a cada frase.
  4. Agrega e pontua os resultados: Isso é feito antes de devolvê-los ao conjunto de habilidades. A pontuação de risco do documento é o maior risco de todas as suas frases. A frase de risco superior identificada também é retornada para exibição na interface do usuário. Além disso, os riscos documentais são classificados com base na pontuação como baixo, médio ou alto risco.
  5. Grava informações no índice da Pesquisa Cognitiva do Azure: as informações são usadas na interface do usuário do analista de conformidade e no repositório de conhecimento. Inclui todo o conteúdo de comunicações, os enriquecimentos incorporados e os resultados dos modelos de risco personalizados.

O exemplo JSON a seguir ilustra a definição de interface entre a Pesquisa Cognitiva do Azure e o aplicativo Functions (que chama os modelos de risco) como uma habilidade personalizada:

   {
      "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
      "name": "apply-risk-models",
      "description": "Obtain risk model results",
      "context": "/document/content",
      "uri": "https://risk-models.azurewebsites.net/api/luis-risks?...",
      "httpMethod": "POST",
      "timeout": "PT3M",
      "batchSize": 100,
      "degreeOfParallelism": null,
      "inputs": [
        {
          "name": "text",
          "source": "/document/mergedenglishtext"
        },
        {
          "name": "doc_type",
          "source": "/document/type"
        }
      ],
      "outputs": [
        {
          "name": "risk_average",
          "targetName": "risk_average"
        },
        {
          "name": "risk_models",
          "targetName": "risk_models"
        }
      ],
    },

O URI especifica o endereço Web da aplicação Functions que obtém as seguintes entradas da Pesquisa Cognitiva do Azure:

  • texto contém o conteúdo em língua inglesa.
  • doc_type é usado para distinguir entre transcrições, e-mails e notícias de mercado — eles exigem diferentes etapas de pré-processamento.

Depois que o aplicativo Functions recebe as pontuações de risco do recurso de compreensão de linguagem conversacional do Serviço Cognitivo do Azure para Idioma, ele retorna os resultados consolidados para a Pesquisa Cognitiva do Azure.

As organizações de serviços financeiros precisam de uma abordagem modular para combinar de forma flexível os modelos de risco existentes e novos. Portanto, nenhuma codificação rígida de modelos específicos é executada. Em vez disso, risk_models é um tipo de dados complexo que retorna detalhes para cada tipo de risco (por exemplo, inside trade), incluindo a pontuação de risco e a frase identificada com a pontuação de risco mais alta. Conformidade e rastreabilidade são preocupações fundamentais para as organizações de serviços financeiros. No entanto, os modelos de risco são constantemente melhorados (por exemplo, utilizando novos dados de treinamento), de modo que as previsões para um documento podem mudar ao longo do tempo. Para garantir a rastreabilidade, a versão específica do modelo de risco também é retornada com cada previsão.

A arquitetura pode ser reutilizada para integrar modelos de PNL mais avançados (por exemplo, para permitir a identificação de sinais de risco mais sutis que podem abranger vários enunciados). O principal ajuste é fazer corresponder a etapa de pré-processamento no aplicativo Funções ao pré-processamento que foi feito para treinar o modelo de PNL.

Gorjeta

Como implementar:

Depurando pipelines de enriquecimento de IA

Compreender o fluxo de informações e o enriquecimento da IA pode ser um desafio para grandes conjuntos de habilidades. A Pesquisa Cognitiva do Azure fornece recursos úteis para depurar e visualizar o pipeline de enriquecimento, incluindo as entradas e saídas das habilidades.

Ilustração dos recursos para depurar um pipeline de enriquecimento.

O fluxograma foi extraído da guia Depurar sessões do recurso Pesquisa Cognitiva do Azure no portal do Azure. Ele resume o fluxo de enriquecimentos à medida que o conteúdo é sucessivamente processado pelas habilidades incorporadas e modelos de risco personalizados em um conjunto de habilidades.

O fluxo de processamento no gráfico de habilidades é gerado automaticamente pela Pesquisa Cognitiva do Azure com base nas configurações de entrada e saída das habilidades. O gráfico também mostra o grau de paralelismo no processamento.

Uma habilidade condicional é usada para identificar o tipo de documento (e-mail, transcrição ou notícias) porque eles são processados de forma diferente em etapas posteriores. As competências condicionais são utilizadas para evitar custos de tradução nos casos em que as línguas original e de chegada são as mesmas.

As habilidades internas incluem OCR, deteção de idioma, deteção de entidade, tradução e mesclagem de texto, que é usado para substituir uma imagem incorporada com saída OCR incorporada no documento original.

A última habilidade no pipeline é a integração dos modelos de risco de compreensão de linguagem conversacional por meio do aplicativo Functions.

Finalmente, os campos originais e enriquecidos são indexados e mapeados para o índice da Pesquisa Cognitiva do Azure.

O trecho a seguir de uma resposta de pesquisa mostra um exemplo dos insights que podem ser obtidos usando conteúdo enriquecido e pesquisa semântica. O termo de consulta é "como foram capex" (abreviação de "como as despesas de capital se desenvolveram no período de relatório?").

{
 "@search.captions" : [
  {
   "highlights" : "Cash flow from operations was $22.7 billion, up 2296 year-over-year,   driven by strong cloud billings and collections Free cash flow of $16.3 billion, up 1796 year-over-year, reflecting higher<em> capital expenditures</em> to support our cloud business 6 includes non-GAAP constant currency CCC\") growth and cash flow."
  }],
 "sender_or_caller" : "Jim Smith",
 "recipient" : "Mary Turner",
 "metadata_storage_name" : "Reevaluate MSFT.msg",
 "people" : ["Jim Smith", "Mary Turner", "Bill Ford", … ],
 "organizations" : ["Microsoft", "Yahoo Finance", "Federal Reserve", … ],
 "original_language" : "nl",
 "translated_text" : "Here is the latest update about …",
 "risk_average" : "high",
 "risk_models" : [
  {
   "risk" : "Insider Trade",
   "risk_score" : 0.7187,
   "risk_sentence" : "Happy to provide some special insights to you. Let’s take this conversation offline.",
   "risk_model_version" : "Inside Trade v1.3"
  },
 ]
}

Interface de utilizador

Depois que uma solução de pesquisa for implementada, você poderá consultar o índice diretamente usando o portal do Azure. Embora essa opção seja boa para aprender, experimentar e depurar, não é uma boa experiência para o usuário final.

Uma interface de usuário personalizada, com foco na experiência do usuário, é útil para mostrar o verdadeiro valor da solução de pesquisa e possibilitar que as organizações identifiquem e analisem as comunicações de risco em uma variedade de canais e fontes.

O Knowledge Mining Solution Accelerator fornece um modelo de interface do usuário da Pesquisa Cognitiva do Azure — um aplicativo Web MVC do .NET Core — que pode ser usado para criar rapidamente um protótipo para consultar e exibir os resultados da pesquisa.

Em algumas etapas, a interface do usuário do modelo pode ser configurada para se conectar e consultar o índice de pesquisa, renderizando uma página da Web simples para pesquisar e visualizar os resultados. Este modelo pode ser ainda mais personalizado para melhorar a experiência de recuperação e análise de comunicações de risco.

A captura de tela a seguir mostra uma interface do usuário de exemplo para nosso cenário de risco, criada personalizando o modelo de interface do usuário da Pesquisa Cognitiva do Azure. Esta interface do usuário mostra uma maneira de mostrar a solução de pesquisa, fornecendo uma visão intuitiva de comunicações entre canais e informações de risco.

Captura de ecrã de uma interface de utilizador personalizada criada a partir do modelo de IU da Pesquisa Cognitiva do Azure.

A página inicial fornece interação com a solução de pesquisa. Ele permite que o usuário pesquise, refine, visualize e explore os resultados:

  1. Os resultados iniciais são recuperados de um índice de pesquisa e apresentados sob a forma de tabela, facilitando o acesso às comunicações e simplificando a comparação dos resultados.
    1. Os principais detalhes de comunicação estão disponíveis para o usuário, e os documentos de vários canais (e-mails, transcrições, notícias) são consolidados em uma única visualização.
    2. As pontuações dos modelos de risco personalizados são mostradas para cada comunicação, onde os riscos mais elevados podem ser destacados.
    3. Uma classificação de risco consolidada agrega as pontuações dos modelos de risco personalizados e é usada para classificar os resultados com base no nível médio de risco.
  2. Um controle deslizante de limite fornece a capacidade para o usuário alterar os limites de risco. As pontuações de risco personalizadas que excedem o limite são realçadas.
  3. Um seletor de intervalo de datas fornece a capacidade de ampliar o período de análise ou pesquisar resultados históricos.
  4. Os resultados da pesquisa podem ser refinados usando um conjunto de filtros, como idioma ou tipo de documento. Essas opções são geradas dinamicamente na interface do usuário, em função dos campos da tabela facial configurados no índice.
  5. Uma barra de pesquisa fornece a capacidade de pesquisar termos ou frases específicos no índice.
  6. A pesquisa semântica está disponível. O usuário pode alternar entre pesquisa padrão e semântica.
  7. Novas comunicações podem ser carregadas e indexadas diretamente através da interface do usuário. É igualmente fornecida uma página de informações pormenorizadas para cada documento:

Captura de ecrã de uma página de detalhes de exemplo.

A página de detalhes dá acesso ao conteúdo da comunicação e aos enriquecimentos e metadados:

  1. O conteúdo que foi extraído durante o processo de quebra de documentos é exibido. Alguns arquivos, como PDFs, podem ser visualizados diretamente na página de detalhes.
  2. Os resultados dos modelos de risco personalizados são resumidos.
  3. As principais pessoas e organizações mencionadas no documento são mostradas nesta página.
  4. Metadados adicionais que foram capturados durante o processo de indexação podem ser adicionados e mostrados em guias adicionais da página de detalhes.

Se for ingerido conteúdo que não seja em inglês, o utilizador pode rever o conteúdo na língua original ou em inglês. A guia Transcrição da página de detalhes mostra o conteúdo original e o conteúdo traduzido lado a lado. Isso demonstra que, durante o processo de indexação, ambos os idiomas são persistentes, permitindo que ambos sejam consumidos pela interface do usuário.

Finalmente, o usuário pode fazer pesquisas semânticas. O próximo exemplo mostra o resultado superior onde a expressão "como foram capex" (abreviação de "como as despesas de capital se desenvolveram no trimestre de relato?") foi pesquisada usando pesquisa semântica.

Captura de tela de uma interface do usuário de exemplo para um usuário habilitar a pesquisa semântica.

Uma pesquisa equivalente no modo de texto completo resulta na consulta de pesquisa procurando uma correspondência exata para "capex", que não aparece no documento. A capacidade semântica, no entanto, permite que o mecanismo de consulta identifique que "capex" se relaciona com "despesas de capital", para que essa comunicação seja identificada como a mais relevante. Além disso, a pesquisa semântica gera destaques semânticos (12), resumindo o documento com as frases mais relevantes.

Melhores práticas

Esta seção resume as práticas recomendadas organizacionais e técnicas para desenvolver sua solução de análise de risco de conformidade.

Envolver as partes interessadas necessárias: A implementação de uma solução de análise de risco é um exercício multidisciplinar que envolve as principais partes interessadas de vários domínios. Espere incluir as funções relacionadas ao projeto que foram introduzidas anteriormente e outras funções que são afetadas pela solução.

Garantir a adoção adequada e o gerenciamento de mudanças: automatizar as práticas de análise de risco provavelmente introduzirá mudanças significativas na forma como os funcionários trabalham. Embora a solução acrescente valor, as alterações em qualquer fluxo de trabalho podem ser desafiadoras, levando a longos períodos de adoção e, possivelmente, resistência. As melhores práticas sugerem que você deve envolver os funcionários afetados precocemente. Considere o modelo de adoção Prosci ADKAR, que se concentra em cinco etapas principais de uma jornada de adoção de tecnologia: Conscientização, Desejo, Conhecimento, Capacidade e Reforço.

Use vários canais para descobrir riscos: Cada canal de comunicação (por exemplo, e-mail, chats, telefonia) pode ser estudado isoladamente para detetar riscos potenciais. No entanto, melhores insights são alcançados pela combinação de canais heterogêneos de comunicações formais (por exemplo, e-mail) e menos formais (por exemplo, chats). Além disso, a integração de informações complementares (por exemplo, notícias de mercado, relatórios da empresa, arquivos da SEC) pode fornecer contexto adicional para o analista de conformidade (por exemplo, sobre uma iniciativa específica de uma empresa).

Comece de forma simples e itere: a Pesquisa Cognitiva do Azure fornece um conjunto abrangente de enriquecimento de IA incorporado com base em vários Serviços Cognitivos. Pode ser tentador adicionar muitos desses recursos imediatamente. No entanto, o número de entidades ou frases-chave que podem ser extraídas, se não forem controladas corretamente, pode sobrecarregar o usuário final. Começar com um conjunto reduzido de habilidades ou entidades pode ajudar usuários e desenvolvedores a entender quais agregam mais valor.

Inovação responsável: O desenvolvimento de soluções de IA exige um elevado nível de responsabilidade de todos os envolvidos. A Microsoft leva o uso responsável da inteligência artificial muito a sério e desenvolveu uma estrutura de princípios fundamentais de design:

  • Justiça
  • Fiabilidade e segurança
  • Privacidade e segurança
  • Inclusão
  • Transparência e responsabilização

A avaliação da comunicação dos colaboradores requer especial atenção e suscita preocupações éticas. Em alguns países/regiões, o monitoramento automatizado de funcionários está sujeito a restrições legais rigorosas. Por todas estas razões, faça da inovação responsável uma pedra angular do seu plano de projeto. A Microsoft oferece várias estruturas e ferramentas para este fim. Para obter mais informações, consulte a caixa Dica no final desta seção.

Automatize suas iterações de desenvolvimento: o assistente Importar dados facilita os primeiros passos, mas para soluções mais complexas e casos de uso produtivos, recomendamos que você crie ativos como fontes de dados, indexadores, índices e conjuntos de habilidades no código. A automação acelera drasticamente os ciclos de desenvolvimento e garante uma implantação consistente na produção. Os ativos são especificados no formato JSON. Você pode copiar definições JSON do portal, modificá-las conforme necessário e fornecê-las no corpo de solicitação de chamadas para as APIs REST da Pesquisa Cognitiva do Azure.

Selecione a abordagem de PNL apropriada para análise de risco: As maneiras de identificar riscos em texto não estruturado variam de pesquisa básica de palavras-chave e extração de entidade a poderosas arquiteturas modernas de PNL. A melhor escolha depende da quantidade e qualidade dos dados de treinamento existentes para o caso de uso específico. Se os dados de treinamento forem limitados, você poderá treinar um modelo baseado em enunciados usando o recurso de compreensão de linguagem conversacional do Serviço Cognitivo do Azure para Idioma. As conversas existentes podem ser revistas para identificar e rotular frases que indiquem tipos de risco relevantes. Às vezes, dezenas de amostras são suficientes para treinar um modelo com bons resultados.

Nos casos em que os sinais de risco são mais sutis e abrangem várias frases, treinar um modelo de PNL de última geração é provavelmente a melhor escolha. No entanto, essa abordagem normalmente requer significativamente mais dados de treinamento. Recomendamos o uso, sempre que possível, dos dados do mundo real quando a solução estiver em produção, para ajustar possíveis erros de previsão e treinar continuamente o modelo para melhorar seu desempenho ao longo do tempo.

Adapte a interface do usuário com base em seus requisitos específicos: uma interface de usuário avançada pode disponibilizar todo o valor agregado da Pesquisa Cognitiva do Azure e os enriquecimentos de IA. Embora o Modelo de Interface do Usuário de Pesquisa do Azure AI forneça uma maneira fácil e rápida de implementar um aplicativo Web inicial, ele provavelmente precisa ser adaptado para integrar recursos adicionais. Ele também precisa acomodar os tipos de comunicações que são processadas, os tipos de enriquecimento de IA que são usados e quaisquer requisitos de negócios adicionais. A colaboração contínua e a iteração entre desenvolvedores front-end, partes interessadas do negócio e usuários finais ajudarão a aumentar o valor da solução, otimizando a experiência do usuário de encontrar e revisar comunicações relevantes.

Otimize os custos dos serviços de tradução: por padrão, todos os documentos fluem através do pipeline de enriquecimento de IA. Isto significa que os documentos em língua inglesa são passados para o serviço de tradução, embora não seja necessária uma tradução real. No entanto, como o conteúdo é processado pela API de tradução, aplicam-se taxas. Em nossa solução, usamos a deteção de idioma em conjunto com habilidades condicionais para evitar a tradução nesses casos. Se o idioma detetado do documento original não for o inglês, o conteúdo é copiado para um campo específico para conteúdo diferente do inglês e, em seguida, passado para o serviço de tradução. Se o documento estiver em inglês, este campo está vazio e não são gerados custos de tradução. Finalmente, todo o conteúdo (originalmente em inglês ou traduzido) é fundido em um campo comum para processamento posterior. Você também pode habilitar o cache para reutilizar enriquecimentos existentes.

Garanta a disponibilidade e a escalabilidade do seu ambiente de produção: depois de passar da prova de conceito para o planejamento da produção, você precisa considerar a disponibilidade e a escalabilidade para garantir a confiabilidade e o desempenho da sua solução de pesquisa. As instâncias do serviço de pesquisa são chamadas de réplicas e são usadas para balancear a carga das operações de consulta. Adicione réplicas para alta disponibilidade e maior desempenho de consulta. Use partições para gerenciar a escalabilidade de sua solução. As partições representam armazenamento físico e têm tamanho específico e características de E/S. Consulte a documentação para obter mais orientações sobre como gerenciar a capacidade e outras considerações sobre gerenciamento de serviços.

Conclusão

Este guia fornece orientações abrangentes para configurar uma solução que usa IA para procurar sinais de fraude. A abordagem é aplicável a outros setores regulamentados, como saúde ou governo.

Você pode estender a arquitetura para incluir outras fontes de dados e recursos de IA, como:

  • Ingerir dados estruturados, como dados de mercado (por exemplo, cotações de ações) e informações de transações.
  • Anexar modelos de classificação projetados para extrair conteúdo de fontes baseadas em papel, usando recursos como o Azure Form Recognizer e a API de Leitura do Azure.
  • Ingerir informações de redes sociais usando os recursos do Azure Language Studio para categorizar e filtrar tópicos relevantes ou a Análise de Sentimento do Azure para capturar tendências de opinião.
  • Usando o Microsoft Graph para reunir e consolidar informações do Microsoft 365, como interações interpessoais, empresas com as quais as pessoas trabalham ou informações acessadas. Ao salvar esses dados no Armazenamento do Azure, você pode pesquisá-los facilmente.

A tecnologia subjacente à solução, a Pesquisa Cognitiva do Azure, é a melhor escolha porque suporta mineração de conhecimento, pesquisa de catálogo e pesquisa na aplicação. É simples de implantar e se conectar a várias fontes de dados e fornecer IA integrada e extensível para processamento de conteúdo. Ele tem recursos como pesquisa semântica que são alimentados por deep learning, recursos que podem inferir a intenção do usuário e exibir e classificar os resultados mais relevantes.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Principais autores:

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Passos Seguintes