Visão Geral da Consulta
IBM Watson® Discovery oferece recursos avançados de pesquisa de conteúdo por meio de consultas de pesquisa.
Para recuperar dados do Discovery após serem alimentados, indexados e enriquecidos, envie uma consulta.
Conforme os dados são incluídos no Discovery, uma representação de cada arquivo é armazenada no índice como um documento formatado por JSON. Os enriquecimentos que são aplicados a suas coleções identificam informações significativas nos dados e armazenam-nas em novos campos nesses documentos Para pesquisar seus dados, envie uma consulta para retornar os documentos mais relevantes e extrair as informações que você está procurando.
tipos de consultas
Discovery aceita um dos tipos de consulta suportados a seguir:
- Consultar
-
Localiza documentos com valores de interesse em campos específicos nos documentos. Consultas desse tipo usam a sintaxe de Linguagem de Consulta Discovery para definir os critérios de procura.
Parameter name:
query - Consulta de Linguagem Natural (NLQ)
-
Localiza respostas para consultas gravadas em língua natural. As solicitações NLQ aceitam um valor de sequência de texto.
Parameter name:
natural_language_query
Juntamente com a consulta especificada usando um dos tipos de consulta suportados, é possível incluir um ou ambos os parâmetros a seguir. Os valores para esses parâmetros também são especificados usando a sintaxe do Discovery Query Language (DQL):
filteraggregation
Para obter mais informações sobre a linguagem de consulta Discovery, consulte Visão geral do DQL.
Consultas que são submetidas a partir da interface do usuário do produto são consultas de linguagem natural. Alguns outros parâmetros suportados são especificados e recebem valores padrão baseados no tipo de projeto em uso. Para obter mais informações, consulte Configurações de consulta padrão.
Discovery não registra dados de solicitação de consulta. Não é possível optar por solicitar registro de registro.
Escolhendo o tipo de consulta certa
A tabela a seguir resume as capacidades que são suportadas para cada tipo de consulta. Use-o para ajudá-lo a determinar qual tipo de consulta a enviar.
| Objetivo | Consulta de Linguagem Natural (NLQ) | Discovery Idioma de Consulta (DQL) |
|---|---|---|
| Passagens de retorno de documentos | ||
| Destacar termos em respostas (a menos que passagens por documento sejam ativadas) | ||
| Definir palavras de parada personalizadas ou expansões de consulta | ||
| Pesquisar campos de documentos específicos ou enriquecimentos | ||
| Utilizar operadores, como cláusulas booleanas na pesquisa | ||
| Ativar correção ortográfica | ||
| Adicionar curações para retornar respostas codificadas a certas perguntas | ||
| Treinamento de relevância de uso | ||
| Ative a resposta encontrando para devolver uma resposta sucinta de uma passagem | ||
| Recuperação de tabela de uso |
Análise de consulta
Ao enviar uma consulta, a sequência de texto da consulta é analisada. Durante a análise de consulta, é identificada a raiz (ou lemma) de cada termo chave na consulta. Quaisquer palavras de parada que ocorram na string de consulta original são removidas e expansões de sinônimos que são definidas para quaisquer termos que ocorrem na string de consulta original são adicionados. Esta versão aprimorada da consulta é o que é submetido ao Discovery.
A mesma análise é realizada em todas as consultas, se elas são submetidas como consultas de linguagem natural ou usando a sintaxe Discovery Query Language.
Fluxo de consulta
O diagrama a seguir mostra uma ilustração conceitual de como uma solicitação de pesquisa é manipulada por Discovery.
Os seguintes processos são mostrados no diagrama de fluxo:
- BM25
- Usa Best Match 25 (um algoritmo de recuperação de informações probabilísticas) para computar uma pontuação de relevância para cada documento retornado por pesquisa. O diagrama mostra que o BM25 é aplicado a resultados de documentos a partir dos pedidos de consulta, mas não se limita a consultar solicitações. Ele também é usado junto com outras técnicas como parte do processo de ranqueamento de treinamento de relevância que é aplicado a resultados de consulta de linguagem natural.
- Curadorias
- Se a consulta de idioma natural corresponde a uma consulta de curadoria predefinida, então determinados documentos e possivelmente um trecho codificado permanentemente são retornados. Não há parâmetro de consulta para ativar uma curadoria. Para que curações sejam usadas, você deve defini-las programaticamente (Criar método de curadoria). A saída de quaisquer curações é mesclada com a saída do ranqueador de treinamento de Relevância ou resultados de QPP.
- Treinamento de relevância
- Um modelo que você pode opcionalmente definir e aplicar em um projeto para pontuar documentos para relevância. Não há parâmetro de consulta para ativar o treinamento de relevância. Para treinamento de relevância a ser usado, você deve treinar com sucesso o projeto de forma programática (Criar método de consulta de treinamento) ou usando a interface do usuário do produto.
- QPP
- Um Algoritmo de Previsão de Desempenho de Consulta que, dada uma consulta e uma lista de resultados superiores, produz uma pontuação que determina o quão relevante é um documento. Usado apenas se nenhum ranqueador de treinamento de Relevancy estiver disponível.
- filtro
- O parâmetro
filterpode ser passado junto com os pedidosqueryenatural_language_querypara remover documentos que não atendem a determinados critérios do conjunto de resultados. O filtro é mostrado como a última etapa dentro da fase de recuperação de documentos. No entanto, ele é usado em momentos diferentes no fluxo. Sua colocação no diagrama é escolhida para enfatizar o fato de que quaisquer documentos que não correspondam à definição do filtro são excluídos do conjunto de resultados. A exclusão se aplica até mesmo a documentos que possam ser especificados em uma curadoria. - Recuperação de passagens
- Retorna passagens de documentos quando o parâmetro
passages.enabled=trueé incluído com uma solicitação de consulta de idioma natural. - Localização da resposta
- Quando o parâmetro
passages.find_answers=trueé incluído com uma solicitação de consulta de idioma natural, retorna respostas sucintas de passagens junto com as passagens que são extraídas de documentos. Se a localização da resposta for ativada, então a pontuação de confiança final para cada resultado de pesquisa é uma combinação das pontuações de confiança a partir de localização de resposta, recuperação de passagem e busca QPP ou Reranked, consoante o método utilizado. - table retrieval
- Retorna informações de tabelas em documentos quando o parâmetro
table_results.enabled=trueé incluído com uma solicitação de consulta de idioma natural.
Limites de consulta
Uma consulta é qualquer operação que submeta uma solicitação POST para o terminal /query da API. Tais operações incluem consultas que são submetidas usando a API. Ele não inclui consultas que são enviadas a partir da
barra de pesquisa na página Improvar e customizar da interface do usuário do produto.
Uma consulta é contada apenas se a solicitação for bem-sucedida, significando que ele retorna uma resposta (com o código da mensagem 200).
O número de consultas de pesquisa que você pode enviar por mês por instância de serviço depende do seu tipo de plano Discovery.
| Plano | Consultas por mês por instância de serviço |
|---|---|
| Cloud Pak for Data | Ilimitada |
| Premium | Ilimitada |
| Enterprise | Ilimitada |
| Mais (inclui Trial) | 500.000 |
Apenas para planos Enterprise, seus pedidos de etiquetas de lei que são gerados a partir de ambas as pesquisas de consulta e análise de chamadas API como "Consultas". Para obter mais informações sobre chamadas de análises de API, consulte Analyze limites API.
O número de consultas que podem ser processadas por segundo por instância de serviço depende do seu tipo de plano Discovery.
| Plano | Consultas simultâneas por instância de serviço |
|---|---|
| Cloud Pak for Data | Ilimitada |
| Premium | 50 |
| Enterprise | 5 |
| Mais (inclui Trial) | 5 |
Para obter informações sobre precificação, consulte Discovery planos de precificação.
Estimando o uso da consulta
Como estimar o número de consultas que seu aplicativo usará por mês depende do seu caso de uso.
- Para casos de uso que focam mais em enriquecimento de dados e análise ou em que a saída do processamento de documentos não é muito procurada, é possível estimar números de consulta com base no número total de documentos.
- Para casos de uso em que muitos usuários interagem com o aplicativo que usa Discovery, é possível estimar pelo cálculo do número de pesquisas por vezes o número de usuários esperados. Por exemplo, 50% das perguntas que são submetidas pelos usuários a um assistente virtual provavelmente serão respondidas por Discovery. Com 100.000 usuários por mês e uma média de 3 perguntas por usuário, é possível esperar 15.000 consultas por mês. (10.000 usuários / mo * 3 consultas / usuário * 50% até Discovery = 15.000)
Consultando com segurança de nível de documento ativada
IBM Cloud Pak for Data IBM Software Hub
Essas informações se aplicam apenas a implementações instaladas.
Se você ativar a segurança de nível de documento para uma coleta, apenas os documentos que o usuário atual tem permissão para acessar são retornados em resultados de busca. Para obter mais informações, consulte Configurando a segurança de nível de documento.
Para retornar resultados de busca que aderem às restrições de segurança, o usuário atual deve atender a esses requisitos:
- Tenha acesso à sua instância Discovery.
- Tenha acesso à fonte de dados.
Se o usuário atual não atender a esses requisitos, nenhum resultado de pesquisa será retornado.
O nome de usuário associado à sua instância Discovery é usado para gerar um token de autorização. O token é usado para autenticar Discovery consultas.
Para gerar cada token de acesso, execute o comando a seguir:
curl -u "{username}:{password}" \
"https://{hostname}:{port}/v1/preauth/validateAuth"
Substitua {username} e {password} com as credenciais do usuário Discovery.
Use o token do portador que é associado ao usuário quando você executar a consulta.
curl -H "Authorization: Bearer {token}" \
'https://{hostname}/{instance_name}/v2/projects/{project_id}/collections/{Collection_ID}/query\?version\=2019-11-29'