Otimize a eficiência com analisadores de idiomas usando pesquisa multilíngue escalável no Amazon OpenEarch Service


As organizações gerenciam o conteúdo em vários idiomas à medida que expandem globalmente. Plataformas de comércio eletrônico, sistemas de suporte ao cliente e bases de conhecimento exigem recursos de pesquisa multilíngues eficientes para atender a diversas bases de usuários de maneira eficaz. Essa abordagem de pesquisa unificada ajuda as organizações multinacionais a manter os repositórios centralizados de conteúdo, ao mesmo tempo em que os usuários, independentemente de seu idioma preferido, podem efetivamente encontrar e acessar informações relevantes.

A criação de aplicativos de múltiplas linguagens usando analisadores de idiomas com o OpenSearch geralmente envolve um desafio significativo: os documentos de múltiplas linguagens requerem pré-processamento guide. Isso significa que, em seu aplicativo, para cada documento, você deve primeiro identificar o idioma de cada campo e depois categorizá-lo e rotulá-lo, armazenando conteúdo em campos de linguagem separados e predefinidos (por exemplo, name_en, name_es, e assim por diante) para usar Analisadores de idiomas na pesquisa para melhorar a relevância da pesquisa. Esse esforço do lado do cliente é complexo, adicionando carga de trabalho para detecção de idiomas, potencialmente diminuindo a ingestão de dados e o risco de problemas de precisão se os idiomas forem identificados incorretamente. É uma abordagem trabalhosa. No entanto, Amazon OpenSearch Service 2.15+ apresenta um baseado em IA ML Processador de inferência. Esse novo recurso identifica e tags automaticamente documenta linguagens durante a ingestão, simplificando o processo e removendo a carga do seu aplicativo.

Ao aproveitar o poder da IA ​​e usar a modelagem de dados com conhecimento de contexto e a seleção inteligente de analisadores, esta solução automatizada simplifica o processamento de documentos, minimizando a marcação guide de idiomas e permite a detecção automática de linguagem durante a ingestão, fornecendo às organizações recursos sofisticados de pesquisa multilíngue.

Usando a identificação do idioma no serviço OpenEarch oferece os seguintes benefícios:

  • Experiência aprimorada do usuário – Os usuários agora podem encontrar conteúdo relevante, independentemente do idioma em que pesquisam
  • Aumento da descoberta de conteúdo – O serviço pode aparecer no conteúdo valioso entre os silos de linguagem
  • Precisão de pesquisa aprimorada -Analisadores específicos para o idioma fornecem melhor relevância da pesquisa
  • Processamento automatizado – Você pode reduzir a marcação e a classificação manuais de idiomas

Nesta postagem, compartilhamos como implementar uma solução de pesquisa multilíngue escalável usando o OpenEarch Service.

Visão geral da solução

A solução elimina o pré -processamento guide da linguagem, detectando e lidando automaticamente o conteúdo multilíngue durante a ingestão de documentos. Em vez de criar manualmente campos de linguagem separados (en_notes, es_notes and so on.) ou implementar sistemas de detecção de linguagem personalizados, o processador de inferência de ML identifica idiomas e cria mapeamentos de campo apropriados.

Essa abordagem automatizada melhora a precisão em comparação com os métodos manuais tradicionais e reduz a complexidade do desenvolvimento e o processamento da sobrecarga, permitindo que as organizações se concentrem em oferecer melhores experiências de pesquisa a seus usuários globais.

A solução compreende os seguintes componentes principais:

  • ML Processador de inferência – Invoca os modelos ML durante a ingestão de documentos para enriquecer o conteúdo com metadados da linguagem
  • Integração da Amazon Sagemaker -Hosts Modelos de identificação de idiomas pré-treinados que analisam campos de texto e devolvem previsões de linguagem
  • Indexação específica do idioma – Aplica analisadores apropriados com base em idiomas detectados, fornecendo manuseio adequado de Stemming, Cease Phrases e Normalização do personagem
  • Estrutura do conector – Permite a comunicação segura entre o OpenEarch Service e Amazon Sagemaker pontos de extremidade através AWS Identification and Entry Administration (IAM) Autenticação baseada em papéis.

O diagrama a seguir ilustra o fluxo de trabalho do pipeline de detecção de idiomas.

Otimize a eficiência com analisadores de idiomas usando pesquisa multilíngue escalável no Amazon OpenEarch Service

Figura 1: Fluxo de trabalho do pipeline de detecção de idiomas

Este exemplo demonstra classificação de texto usando XLM-ROBERTA-BASE Para detecção de idiomas no Amazon Sagemaker. Você tem flexibilidade na escolha de seus modelos e pode usar alternativamente o Capacidades de detecção de idioma interno de Amazon compreende.

Nas seções a seguir, caminhamos pelas etapas para implantar a solução. Para obter instruções detalhadas de implementação, incluindo exemplos de código e modelos de configuração, consulte o tutorial abrangente no OpenEarch ML Commons Github Repository.

Pré -requisitos

Você deve ter os seguintes pré -requisitos:

Implantar o modelo

Implantar um idioma pré-treinado Modelo de identificação no Amazon Sagemaker. O modelo XLM-Roberta fornece recursos robustos de detecção de linguagem multilíngue adequados para a maioria dos casos de uso.

Configure o conector

Crie um Conector ML Para estabelecer uma conexão segura entre o OpenEarch Service e o Amazon Sagemaker Endpoints, principalmente para tarefas de detecção de idiomas. O processo começa com a criação de autenticação através Papéis e políticas do IAMaplicando permissões adequadas para os dois serviços se comunicarem com segurança.

Depois de configurar o conector com os URLs e credenciais apropriados do ponto de extremidade, o modelo é registrado e implantado no serviço de opensearch e seu ModelId é usado nas etapas subsequentes.

POST /_plugins/_ml/fashions/_register
{
  "title": "sagemaker-language-identification",
  "model": "1",
  "function_name": "distant",
  "description": "Distant mannequin for language identification",
  "connector_id": "your_connector_id"
}

Resposta da amostra:

{
  "task_id": "hbYheJEBXV92Z6oda7Xb",
  "standing": "CREATED",
  "model_id": "hrYheJEBXV92Z6oda7X7"
}

Depois de configurar o conector, você pode testar é por enviando texto Para o modelo através do serviço OpenEarch e retornará o idioma detectado (por exemplo, enviar “Diga que este é um teste” retorna EN para o inglês).

POST /_plugins/_ml/fashions/your_model_id/_predict
{
  "parameters": {
    "inputs": "Say it is a check"
  }
}
{
  "inference_results": (
    {
      "output": (
        {
          "title": "response",
          "dataAsMap": {
            "response": (
              {
                "label": "en",
                "rating": 0.9411176443099976
              }
            )
          }
        }
      )
    }
  )
}

Configure o pipeline de ingestão

Configure o pipeline de ingestãoque usa os processadores de inferência de ML para detectar automaticamente o idioma do conteúdo no nome e notas campos de documentos recebidos. Após a detecção de idiomas, o pipeline cria novos campos específicos de idiomas, copiando o conteúdo unique para novos campos com sufixos de idiomas (por exemplo, nome_en para conteúdo em inglês).

O pipeline usa um processador ML_Inference para executar os processadores de detecção e copiar de idiomas para criar os novos campos específicos de idiomas, tornando-o direto para lidar com conteúdo multilíngue no seu índice de serviço do OpenEarch.

PUT _ingest/pipeline/language_classification_pipeline{
  "description": "ingest job particulars and classify languages",
  "processors": (
    {
      "ml_inference": {
        "": "6s71PJQBPmWsJ5TTUQmc",
        "input_map": (
          {
            "inputs": "title"
          },
          {
            "inputs": "notes"
          }
        ),
        "output_map": (
          {
            "predicted_name_language": "response(0).label"
          },
          {
            "predicted_notes_language": "response(0).label"
          }
        )
      }
    },
    {
      "copy": {
        "source_field": "title",
        "target_field": "name_{{predicted_name_language}}",
        "ignore_missing": true,
        "override_target": false,
        "remove_source": false
      }
    }
  )
}
{
  "acknowledged": true
}

Configure o índice e os documentos de ingestão

Crie um índice com o pipeline de ingestão Isso detecta automaticamente o idioma dos documentos de entrada e aplica análises apropriadas específicas do idioma. Quando os documentos são ingeridoso sistema identifica a linguagem dos principais campos, cria versões específicas da linguagem desses campos e os indexa usando o analisador de idiomas correto. Isso permite uma pesquisa eficiente e precisa nos documentos em vários idiomas sem a necessidade de especificação de idioma guide para cada documento.

Aqui está uma chamada da API de criação de índice de amostra demonstrando mapeamentos de idiomas diferentes.

PUT /task_index
{
  "settings": {
    "index": {
      "default_pipeline": "language_classification_pipeline"
    }
  },
  "mappings": {
    "properties": {
      "name_en": { "kind": "textual content", "analyzer": "english" },
      "name_es": { "kind": "textual content", "analyzer": "spanish" },
      "name_de": { "kind": "textual content", "analyzer": "german" },
      "notes_en": { "kind": "textual content", "analyzer": "english" },
      "notes_es": { "kind": "textual content", "analyzer": "spanish" },
      "notes_de": { "kind": "textual content", "analyzer": "german" }
    }
  }
}

Em seguida, ingerir este documento de entrada em alemão

{
  "title": "Kaufen Sie Katzenminze",
  "notes": "Mittens magazine die Sachen von Humboldt wirklich."
}

O texto alemão usado no código anterior será processado usando um analisador específico para alemão, apoiando o manuseio adequado de características específicas da linguagem, como palavras compostas e caracteres especiais.

Após a ingestão bem -sucedida no serviço OpenEarch, o documento resultante aparece o seguinte:

{
  "_source": {
    "predicted_notes_language": "en",
    "name_en": "Purchase catnip",
    "notes": "Mittens actually likes the stuff from Humboldt.",
    "predicted_name_language": "en",
    "title": "Purchase catnip",
    "notes_en": "Mittens actually likes the stuff from Humboldt."
  }
}

Documentos de pesquisa

Esta etapa demonstra o capacidade de pesquisa Após a configuração multilíngue. Ao usar uma consulta multi_match com os campos name_*, ele pesquisa em todos os campos de nomes específicos da linguagem (name_en, name_es, name_de) e encontra com sucesso o documento espanhol ao pesquisar “comprar” porque o conteúdo foi analisado corretamente usando o analisador espanhol. Este exemplo mostra como a indexação específica do idioma permite resultados de pesquisa precisos no idioma correto sem precisar especificar em qual idioma você está pesquisando.

GET /task_index/_search
{
  "question": {
    "multi_match": {
      "question": "comprar",
      "fields": ("name_*")
    }
  }
}

Esta pesquisa encontra corretamente o documento espanhol porque o campo Name_es é analisado usando o analisador espanhol:

{
  "hits": {
    "whole": { "worth": 1, "relation": "eq" },
    "max_score": 0.9331132,
    "hits": (
      {
        "_index": "task_index",
        "_id": "3",
        "_score": 0.9331132,
        "_source": {
          "name_es": "comprar hierba gatera",
          "notes": "A Mittens le gustan mucho las cosas de Humboldt.",
          "predicted_notes_language": "es",
          "predicted_name_language": "es",
          "title": "comprar hierba gatera",
          "notes_es": "A Mittens le gustan mucho las cosas de Humboldt."
        }
      }
    )
  }
}

Limpar

Para evitar cobranças contínuas e excluir os recursos criados neste tutorial, execute as seguintes etapas de limpeza

  1. Exclua o Domínio do serviço de opensearch. Isso interrompe os custos de armazenamento para seus dados vetorizados e quaisquer cobranças de computação associadas.
  2. Exclua o conector ML Isso vincula seu serviço OpenEarch ao seu modelo de aprendizado de máquina.
  3. Finalmente, exclua o seu Amazon Sagemaker termina e recursos.

Conclusão

A implementação da pesquisa multilíngue com o OpenEarch Service pode ajudar as organizações a quebrar as barreiras do idioma e desbloquear o valor whole de seu conteúdo world. O processador de inferência de ML fornece uma abordagem escalável e automatizada para a detecção de idiomas que melhora a precisão da pesquisa e a experiência do usuário.

Esta solução atende à crescente necessidade de gerenciamento de conteúdo multilíngue à medida que as organizações se expandem globalmente. Ao detectar automaticamente idiomas de documentos e aplicar o processamento lingüístico apropriado, as empresas podem oferecer experiências abrangentes de pesquisa que atendem de maneira diversa de bases de usuários.


Sobre os autores

Sunil Ramachandra

Sunil Ramachandra

Sunil é um arquiteto sênior de soluções da AWS, permitindo que os fornecedores de software program independentes do hiper-crescimento (ISVs) inovam e acelerem na AWS. Ele faz parceria com os clientes para criar arquiteturas em nuvem altamente escaláveis ​​e resilientes. Quando não está colaborando com os clientes, Sunil gosta de passar tempo com a família, correr, meditar e assistir filmes no vídeo privilegiado.

Mingshi Liu

Mingshi Liu

Mingshi é um engenheiro de aprendizado de máquina da AWS, contribuindo principalmente para o OpenEarch, ML Commons e Pesquitts Processors Repo. Seu trabalho se concentra no desenvolvimento e integração de recursos de aprendizado de máquina para tecnologias de pesquisa e outros projetos de código aberto.

Sampath Kathirvel

Sampath Kathirvel

Sampath é um arquiteto sênior de soluções da AWS que orienta as principais organizações de ISV em sua jornada de transformação em nuvem. Sua experiência está na elaboração de estruturas arquitetônicas robustas e na entrega de orientações técnicas estratégicas para ajudar as empresas a prosperar no cenário digital. Com uma paixão pela inovação tecnológica, a Sampath capacita os clientes a aproveitar os serviços da AWS de maneira eficaz para suas cargas de trabalho de missão crítica.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *