As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Enriquecimento semântico automático para Amazon Service OpenSearch
Introdução
O Amazon OpenSearch Service usa word-to-word correspondência (pesquisa léxica) para encontrar resultados, semelhante a outros mecanismos de pesquisa tradicionais. Essa abordagem funciona bem para consultas específicas, como códigos de produtos ou números de modelos, mas tem dificuldades com pesquisas abstratas, nas quais entender a intenção do usuário se torna crucial. Por exemplo, quando você pesquisa por “sapatos para a praia”, a pesquisa léxica corresponde às palavras individuais “sapatos”, “praia”, “para” e “o” nos itens do catálogo, possivelmente ausentes de produtos relevantes, como “sandálias resistentes à água” ou “calçados de surfe”, que não contêm os termos de pesquisa exatos.
O enriquecimento semântico automático resolve essa limitação considerando as correspondências de palavras-chave e o significado contextual por trás das pesquisas. Esse recurso compreende a intenção da pesquisa e melhora a relevância da pesquisa em até 20%. Ative esse recurso para campos de texto em seu índice para aprimorar os resultados da pesquisa.
nota
O enriquecimento semântico automático está disponível para domínios de OpenSearch serviço que executam a versão 2.19 ou posterior. Além disso, os domínios com a OpenSearch versão 2.19 também precisam estar na atualização mais recente da versão do software de serviço. Atualmente, o recurso está disponível para domínios públicos, e os domínios VPC não são compatíveis.
Detalhes do modelo e benchmark de desempenho
Embora esse recurso lide com as complexidades técnicas nos bastidores sem expor o modelo subjacente, fornecemos transparência por meio de uma breve descrição do modelo e resultados de benchmark para ajudá-lo a tomar decisões informadas sobre a adoção de recursos em suas cargas de trabalho críticas.
O enriquecimento semântico automático usa um modelo esparso pré-treinado e gerenciado por serviços que funciona de forma eficaz sem exigir ajustes personalizados. O modelo analisa os campos que você especifica, expandindo-os em vetores esparsos com base em associações aprendidas de diversos dados de treinamento. Os termos expandidos e seus pesos de significância são armazenados no formato nativo do índice Lucene para uma recuperação eficiente. Otimizamos esse processo usando o modo somente documentos,
Nossa validação de desempenho durante o desenvolvimento do recurso usou o conjunto de dados de recuperação de passagens MS MARCO
-
Idioma inglês - Melhoria de relevância de 20% em relação à pesquisa léxica. Também reduziu a latência de pesquisa do P90 em 7,7% em relação à pesquisa lexical (BM25 é 26 ms e o enriquecimento semântico automático é 24 ms).
-
Multilíngue - Melhoria de relevância de 105% em relação à pesquisa lexical, enquanto a latência da pesquisa P90 aumentou 38,4% em relação à pesquisa lexical (BM25 é 26 ms e o enriquecimento semântico automático é 36 ms).
Dada a natureza exclusiva de cada carga de trabalho, recomendamos que você avalie esse recurso em seu ambiente de desenvolvimento usando seus próprios critérios de benchmarking antes de tomar decisões de implementação.
Idiomas suportados
O recurso oferece suporte ao inglês. Além disso, o modelo também oferece suporte para árabe, bengali, chinês, finlandês, francês, hindi, indonésio, japonês, coreano, persa, russo, espanhol, suaíli e telugu.
Configure um índice automático de enriquecimento semântico para domínios
É fácil configurar um índice com o enriquecimento semântico automático ativado para seus campos de texto e você pode gerenciá-lo por meio do console e de CloudFormation modelos durante a criação do novo índice. APIs Para habilitá-lo para um índice existente, você precisa recriar o índice com o enriquecimento semântico automático ativado para campos de texto.
Experiência de console - O AWS console permite criar facilmente um índice com campos de enriquecimento semântico automático. Depois de selecionar um domínio, você encontrará o botão criar índice na parte superior do console. Depois de clicar no botão criar índice, você encontrará opções para definir campos de enriquecimento semântico automático. Em um índice, você pode ter combinações de enriquecimento semântico automático para inglês e multilíngue, bem como campos lexicais.
Experiência de API - Para criar um índice automático de enriquecimento semântico usando a interface de linha de AWS comando (AWS CLI), use o comando create-index:
aws opensearch create-index \ --domain-name [domain_name] \ --index-name [index_name] \ --index-schema [index_body] \
No exemplo de esquema de índice a seguir, o campo title_semantic tem um tipo de campo definido como texto e o parâmetro semantic_enrichment definido como status ENABLED. Definir o parâmetro semantic_enrichment ativa o enriquecimento semântico automático no campo title_semantic. Você pode usar o campo language_options para especificar inglês ou multilíngue.
aws opensearch create-index \ --id XXXXXXXXX \ --index-name 'product-catalog' \ --index-schema '{ "mappings": { "properties": { "product_id": { "type": "keyword" }, "title_semantic": { "type": "text", "semantic_enrichment": { "status": "ENABLED", "language_options": "english" } }, "title_non_semantic": { "type": "text" } } } }'
Para descrever o índice criado, use o seguinte comando:
aws opensearch get-index \ --domain-name [domain_name] \ --index-name [index_name] \
Ingestão e pesquisa de dados
Depois de criar um índice com o enriquecimento semântico automático ativado, o recurso funciona automaticamente durante o processo de ingestão de dados, sem necessidade de configuração adicional.
Ingestão de dados: quando você adiciona documentos ao seu índice, o sistema automaticamente:
-
Analisa os campos de texto que você designou para enriquecimento semântico
-
Gera codificações semânticas usando o modelo esparso gerenciado por OpenSearch serviços
-
Armazena essas representações enriquecidas junto com seus dados originais
Esse processo usa conectores OpenSearch de ML e pipelines de ingestão integrados, que são criados e gerenciados automaticamente nos bastidores.
Pesquisa: os dados de enriquecimento semântico já estão indexados, então as consultas são executadas com eficiência sem invocar o modelo de ML novamente. Isso significa que você obtém maior relevância de pesquisa sem sobrecarga adicional de latência de pesquisa.
Configurar permissões para enriquecimento semântico automático
Antes de criar um índice com enriquecimento semântico automático, você precisa configurar as permissões necessárias. Esta seção explica as permissões necessárias para diferentes operações de indexação e como configurá-las tanto para cenários de controle de acesso AWS Identity and Access Management (IAM) quanto para cenários de controle de acesso refinados.
permissões do IAM
As seguintes permissões do IAM são necessárias para operações automáticas de enriquecimento semântico. Essas permissões variam de acordo com a operação de indexação específica que você deseja realizar.
CreateIndex Permissões de API
Para criar um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:CreateIndex— Crie um índice com recursos de enriquecimento semântico. -
es:ESHttpHead— Execute solicitações HEAD para verificar a existência do índice. -
es:ESHttpPut— Execute solicitações PUT para criação de índice. -
es:ESHttpPost— Execute solicitações POST para operações de indexação.
UpdateIndex Permissões de API
Para atualizar um índice existente com o enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:UpdateIndex— Atualize as configurações e mapeamentos do índice. -
es:ESHttpPut— Execute solicitações PUT para atualizações de índices. -
es:ESHttpGet— Execute solicitações GET para recuperar informações do índice. -
es:ESHttpPost— Execute solicitações POST para operações de indexação.
GetIndex Permissões de API
Para recuperar informações sobre um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:GetIndex— Recupere informações e configurações do índice. -
es:ESHttpGet— Execute solicitações GET para recuperar dados do índice.
DeleteIndex Permissões de API
Para excluir um índice com enriquecimento semântico automático, você precisa das seguintes permissões do IAM:
-
es:DeleteIndex— Exclua um índice e seus componentes de enriquecimento semântico. -
es:ESHttpDelete— Execute solicitações DELETE para remoção do índice.
Exemplo de política do IAM
O exemplo de política de acesso baseado em identidade a seguir fornece as permissões necessárias para que um usuário gerencie índices com enriquecimento semântico automático:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSemanticEnrichmentIndexOperations", "Effect": "Allow", "Action": [ "es:CreateIndex", "es:UpdateIndex", "es:GetIndex", "es:DeleteIndex", "es:ESHttpHead", "es:ESHttpGet", "es:ESHttpPut", "es:ESHttpPost", "es:ESHttpDelete" ], "Resource": "arn:aws:es:aws-region:111122223333:domain/domain-name/*" } ] }
Substitua aws-region111122223333,, e domain-name por seus valores específicos. Você pode restringir ainda mais o acesso especificando padrões de índice específicos no ARN do recurso.
Permissões de acesso refinado
Se o seu domínio do Amazon OpenSearch Service tiver um controle de acesso refinado ativado, você precisará de permissões adicionais além das permissões do IAM. As permissões a seguir são necessárias para cada operação de indexação.
CreateIndex Permissões de API
Quando o controle de acesso refinado é ativado, as seguintes permissões adicionais são necessárias para criar um índice com enriquecimento semântico automático:
-
indices:admin/create— Crie operações de indexação. -
indices:admin/mapping/put— Crie e atualize mapeamentos de índice. -
cluster:admin/opensearch/ml/create_connector— Crie conectores de aprendizado de máquina para processamento semântico. -
cluster:admin/opensearch/ml/register_model— Registre modelos de aprendizado de máquina para enriquecimento semântico. -
cluster:admin/ingest/pipeline/put— Crie canais de ingestão para processamento de dados. -
cluster:admin/search/pipeline/put— Crie canais de pesquisa para processamento de consultas.
UpdateIndex Permissões de API
Quando o controle de acesso refinado é ativado, as seguintes permissões adicionais são necessárias para atualizar um índice com enriquecimento semântico automático:
-
indices:admin/get— Recupere informações do índice. -
indices:admin/settings/update— Atualizar as configurações do índice. -
indices:admin/mapping/put— Atualizar mapeamentos de índice. -
cluster:admin/opensearch/ml/create_connector— Crie conectores de aprendizado de máquina. -
cluster:admin/opensearch/ml/register_model— Registre modelos de aprendizado de máquina. -
cluster:admin/ingest/pipeline/put— Crie canais de ingestão. -
cluster:admin/search/pipeline/put— Crie canais de busca. -
cluster:admin/ingest/pipeline/get— Recupere as informações do pipeline de ingestão. -
cluster:admin/search/pipeline/get— Recupere informações do pipeline de pesquisa.
GetIndex Permissões de API
Quando o controle de acesso refinado é ativado, as seguintes permissões adicionais são necessárias para recuperar informações sobre um índice com enriquecimento semântico automático:
-
indices:admin/get— Recupere informações do índice. -
cluster:admin/ingest/pipeline/get— Recupere as informações do pipeline de ingestão. -
cluster:admin/search/pipeline/get— Recupere informações do pipeline de pesquisa.
DeleteIndex Permissões de API
Quando o controle de acesso refinado é ativado, a seguinte permissão adicional é necessária para excluir um índice com enriquecimento semântico automático:
-
indices:admin/delete— Excluir operações de indexação.
Regravações de consultas
O enriquecimento semântico automático converte automaticamente suas consultas de “correspondência” existentes em consultas de pesquisa semântica sem exigir modificações na consulta. Se uma consulta de correspondência fizer parte de uma consulta composta, o sistema percorrerá sua estrutura de consulta, localizará consultas de correspondência e as substituirá por consultas neurais esparsas. Atualmente, o recurso suporta apenas a substituição de consultas “correspondentes”, seja uma consulta autônoma ou parte de uma consulta composta. “multi_match” não é suportado. Além disso, o recurso oferece suporte a todas as consultas compostas para substituir suas consultas de correspondência aninhadas. As consultas compostas incluem: bool, boosting, constant_score, dis_max, function_score e hybrid.
Limitações do enriquecimento semântico automático
A pesquisa semântica automática é mais eficaz quando aplicada a campos small-to-medium de tamanho contendo conteúdo em linguagem natural, como títulos de filmes, descrições de produtos, avaliações e resumos. Embora a pesquisa semântica aumente a relevância para a maioria dos casos de uso, ela pode não ser ideal para determinados cenários. Considere as seguintes limitações ao decidir se deve implementar o enriquecimento semântico automático para seu caso de uso específico.
-
Documentos muito longos — O modelo esparso atual processa apenas os primeiros 8.192 tokens de cada documento em inglês. Para documentos multilíngues, são 512 tokens. Para artigos longos, considere implementar a fragmentação de documentos para garantir o processamento completo do conteúdo.
-
Cargas de trabalho de análise de registros — O enriquecimento semântico aumenta significativamente o tamanho do índice, o que pode ser desnecessário para a análise de registros, onde a correspondência exata normalmente é suficiente. O contexto semântico adicional raramente melhora a eficácia da pesquisa de registros o suficiente para justificar o aumento dos requisitos de armazenamento.
-
O enriquecimento semântico automático não é compatível com o recurso Fonte Derivada.
Preços
O Amazon OpenSearch Service fatura o enriquecimento semântico automático com base nas unidades de OpenSearch computação (OCUs) consumidas durante a geração de vetores esparsos no momento da indexação. Você é cobrado somente pelo uso real durante a indexação. Você pode monitorar esse consumo usando a SemanticSearch OCU CloudWatch métrica da Amazon. Para obter detalhes específicos sobre os limites do token do modelo, a taxa de transferência de volume por OCU e um exemplo de cálculo de amostra, visite Preços de OpenSearch serviços