É possível especificar condições de otimização na solicitação de pesquisa para promover ou rebaixar determinados documentos nos resultados. Quando um documento atende às condições especificadas, os valores de otimização são aplicados a ele, e os resultados são ordenados de acordo com isso. Também é possível especificar valores numéricos e de carimbo de data/hora personalizados para ordenar os resultados com base em parâmetros como popularidade e atualidade.
A especificação de otimização em uma solicitação de pesquisa é diferente de um controle de otimização anexado a uma configuração de exibição. A especificação de reforço no campo boostSpec
substitui o controle de reforço definido no campo boostAction
de uma configuração de disponibilização. Para mais informações sobre os controles de reforço, consulte
Sobre os controles de reforço.
Esta página descreve os seguintes tipos de especificações de reforço:
- Aumentar com uma condição fixa
- Aumentar o uso de atributos numéricos personalizados
- Aumentar de acordo com a atualização
É possível aplicar essas especificações de reforço a apps de pesquisa de mídia e personalizados que contêm dados estruturados, não estruturados e de sites. Essas especificações não se aplicam a apps de pesquisa de saúde.
Aumentar com uma condição fixa
Para aumentar os resultados em um valor fixo com base no atendimento a uma condição, faça o seguinte:
Especifique a especificação de reforço no campo
boostSpec
ao enviar uma solicitaçãoservingConfigs.search
.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boost": BOOST_VALUE } } }
A especificação contém os seguintes parâmetros:
BOOST_CONDITION
: uma expressão de filtro de texto para selecionar os documentos a que o aumento é aplicado. O filtro precisa ser avaliado como um valor booleano.BOOST_VALUE
: um número de ponto flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são rebaixados (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados).
Exemplo de caso de uso:
Suponha que seu repositório de dados contenha informações sobre hotéis e suas notas. Você quer aumentar a visibilidade de hotéis com avaliações de três estrelas ou mais. A classificação por estrelas está disponível no campo numérico star_rating
. É possível especificar o condition
no boostSpec
como star_rating >= 3.0
e um valor de otimização de 0,7 para otimizar
todos os hotéis com star_rating
de 3,0 ou mais em uma quantidade igual.
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating>=3.0",
"boost": 0.7
}
}
}
Aumentar usando atributos numéricos personalizados
É possível aumentar os resultados com base em atributos numéricos personalizados de maneira linear por partes especificando pontos de controle e os respectivos valores de aumento.
Para especificar uma especificação de reforço usando atributos numéricos personalizados, faça o seguinte:
Especifique a especificação de reforço no campo
boostSpec
ao enviar uma solicitaçãoservingConfigs.search
.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boostControlSpec": { "attributeType": "NUMERICAL", "interpolationType": "LINEAR", "fieldName": "CUSTOM_ATTRIBUTE_FIELD_NAME", "controlPoints": [ { "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_1", "boostAmount": BOOST_AMOUNT_1 }, { "attributeValue": "CUSTOM_ATTRIBUTE_VALUE_2", "boostAmount": BOOST_AMOUNT_2 } ] } } } }
A especificação contém os seguintes parâmetros:
BOOST_CONDITION
: uma expressão de filtro de texto para selecionar os documentos a que o aumento é aplicado. O filtro precisa ser avaliado como um valor booleano.CUSTOM_ATTRIBUTE_FIELD_NAME
: o nome do campo do atributo numérico personalizado cujo valor decide a quantidade de reforço.CUSTOM_ATTRIBUTE_VALUE
: o valor numérico do atributo personalizado para um determinado ponto de controle com um tipo de dados de string. Por exemplo,"3.3"
ou"12"
. Para mais informações, consulte ControlPoint.BOOST_AMOUNT
: um número de ponto flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são rebaixados (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados). Indica o valor de reforço mapeado para o atributo personalizado de um determinado ponto de controle.
Quando um documento no resultado da pesquisa atende à condição especificada, um valor de otimização é aplicado da seguinte maneira:
Valor do atributo | Valor da otimização |
---|---|
Menor que o primeiro ponto de controle | É igual ao valor de aumento do primeiro ponto de controle |
Igual ao ponto de controle | É igual ao valor do aumento mapeado |
Entre pontos de controle | É calculado por interpolação linear |
Maior que o último ponto de controle | É igual ao valor do aumento do último ponto de controle |
Exemplo de caso de uso:
Suponha que seu repositório de dados contenha informações sobre hotéis e suas notas. Você quer aumentar os resultados da pesquisa de hotéis de acordo com as classificações por estrelas. Você pode definir a especificação de reforço da seguinte maneira:
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": "star_rating >= 3.0",
"boostControlSpec": {
"attributeType": "NUMERICAL",
"interpolationType": "LINEAR",
"fieldName": "star_rating",
"controlPoints": [
{
"attributeValue": "3.5",
"boostAmount": 0.25
},
{
"attributeValue": "4.0",
"boostAmount": 0.30
},
{
"attributeValue": "4.5",
"boostAmount": 0.32
}
]
}
}
}
}
Nesse cenário, os resultados da pesquisa são promovidos da seguinte forma:
Nota com estrelas | Valor da otimização |
---|---|
menor ou igual a 3,5 | 0,25 |
entre 3,5 e 4,0 | entre 0,25 e 0,30, calculado usando interpolação linear |
igual a 4,0 | 0,30 |
entre 4,0 e 4,5 | entre 0,30 e 0,32, calculado usando interpolação linear |
maior ou igual a 4,5 | 0.32 |
Aumentar de acordo com a atualização
É possível aumentar os resultados com base em atributos de data e hora de maneira linear por partes especificando pontos de controle e os valores de aumento correspondentes.
Para especificar uma especificação de reforço usando atributos de data e hora personalizados, faça o seguinte:
Especifique a especificação de reforço no campo
boostSpec
ao enviar uma solicitaçãoservingConfigs.search
.{ "boostSpec": { "conditionBoostSpecs": { "condition": "BOOST_CONDITION", "boostControlSpec": { "fieldName": "DATETIME_FIELD_NAME", "attributeType": "FRESHNESS", "interpolationType": "LINEAR", "controlPoints": [ { "attributeValue": "DURATION_VALUE_1", "boostAmount": BOOST_AMOUNT_1 }, { "attributeValue": "DURATION_VALUE_2", "boostAmount": BOOST_AMOUNT_2 } ] } } } }
A especificação contém os seguintes parâmetros:
BOOST_CONDITION
: uma expressão de filtro de texto para selecionar os documentos a que o aumento é aplicado. O filtro precisa ser avaliado como um valor booleano.DATETIME_FIELD_NAME
: o nome do campo de um atributoDATETIME
personalizado, como data de publicação ou data da última atualização, ou um atributo predefinido inferido pelo Google, comodatePublished
.DURATION_VALUE
: o valor de duração no tipo de dadosdayTimeDuration
que decide a atualização de um documento. Esse valor é calculado como a duração entre a data e hora em que a pesquisa é realizada e a data e hora do atributo de data e hora personalizado de um documento. O valor de duração precisa ser especificado de acordo com o formato ISO 8601 no padrão[nD][T[nH][nM][nS]]
. Por exemplo, a duração entre 1º de janeiro de 2024 e 1º de março de 2024 pode ser expressa como59D
. Da mesma forma, a duração de dois dias e meio pode ser expressa como2DT12H
. Para mais informações, consulte ControlPoint.BOOST_AMOUNT
: um número de ponto flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são rebaixados (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados). Indica o valor de aumento mapeado para o atributo de data/hora personalizado de um determinado ponto de controle.
Quando um documento no resultado da pesquisa atende à condição especificada, um valor de otimização é aplicado da seguinte maneira:
Valor da duração | Valor da otimização |
---|---|
Menor que o primeiro ponto de controle | É igual ao valor de aumento do primeiro ponto de controle |
Igual a um determinado ponto de controle | É igual ao valor do aumento mapeado |
Entre pontos de controle | É calculado por interpolação linear |
Maior que o último ponto de controle | É igual ao valor do aumento do último ponto de controle |
Exemplo de caso de uso usando um atributo de data e hora personalizado
Suponha que seu repositório de dados contenha dados estruturados em que cada documento tenha uma data de publicação. Você quer aumentar os resultados da pesquisa de acordo com a atualização deles. Você pode definir a especificação de reforço da seguinte maneira:
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": true,
"boostControlSpec": {
"fieldName": "publication_date",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{
"attributeValue": "7D",
"boostAmount": 0.40
},
{
"attributeValue": "30D",
"boostAmount": 0.37
},
{
"attributeValue": "60D",
"boostAmount": 0.32
},
{
"attributeValue": "90D",
"boostAmount": 0
}
]
}
}
}
}
Nesse cenário, os resultados da pesquisa são promovidos da seguinte forma:
Atualização | Valor da otimização |
---|---|
menor ou igual a 7 dias | 0,40 |
entre 7 e 30 dias | entre 0,40 e 0,37, calculado usando interpolação linear |
igual a 30 dias | 0,37 |
entre 30 e 60 dias | entre 0,37 e 0,32, calculado usando interpolação linear |
igual a 60 dias | 0.32 |
entre 60 e 90 dias | entre 0,32 e 0,0, calculado usando interpolação linear |
maior ou igual a 90 dias | 0,0 |
Exemplo de caso de uso com uma data de página inferida pelo Google
Ao rastrear as páginas da Web no repositório de dados do seu site, o Google infere dados da página usando as propriedades aplicáveis ao seu conteúdo. A Vertex AI para Pesquisa adiciona essas propriedades de dados de página inferidas ao seu esquema. Esses dados inferidos incluem as seguintes propriedades de data predefinidas:
datePublished
: a data e a hora em que a página foi publicada pela primeira vezdateModified
: a data e a hora em que a página foi modificada mais recentemente
Essas propriedades são indexadas automaticamente. Você pode usar essas propriedades de data diretamente para enriquecer sua pesquisa sem adicioná-las ao esquema.
Você pode usar essas propriedades predefinidas para impulsionar sua página. Por exemplo, é possível definir a especificação de reforço definindo o campo fieldName
como pageModified
da seguinte maneira:
{
"boostSpec": {
"conditionBoostSpecs": {
"condition": true,
"boostControlSpec": {
"fieldName": "dateModified",
"attributeType": "FRESHNESS",
"interpolationType": "LINEAR",
"controlPoints": [
{
"attributeValue": "7D",
"boostAmount": 0.35
},
{
"attributeValue": "30D",
"boostAmount": 0.30
}
]
}
}
}
}
O Google infere essas datas da melhor maneira possível, e elas podem não corresponder às datas reais. Esses campos só são preenchidos quando o Google tem um alto nível de confiança. Quando esses valores de data estão ausentes, esses campos se tornam anuláveis.
Como prática recomendada, o Google recomenda que o proprietário do domínio ou o administrador do site atualize essas propriedades nas páginas da Web e que você atualize manualmente o repositório de dados do site da Vertex AI para Pesquisa após a atualização. Para mais informações, consulte a postagem do blog Ajude a Pesquisa Google a mostrar a melhor data para sua página da Web e saiba Como os dados estruturados funcionam na Pesquisa Google.
Para adicionar atributos de dados estruturados personalizados e enriquecer seu índice, consulte Adicionar atributos de dados estruturados personalizados ao esquema do repositório de dados
Ajuste do valor de otimização
Além dos fatores que influenciam a classificação de um resultado, como correspondência de palavras-chave, correspondência de contexto e relevância, a condição de reforço afeta significativamente a classificação de um resultado. Portanto, é necessário calibrar cuidadosamente o valor do aumento. Recomendamos começar com um valor de aumento baixo e preciso, como 0,1 ou menos, e ajustar com base na saída da pesquisa.
Exemplo de caso de uso com filtro de relevância
A regulamentação do valor de reforço é especialmente importante ao usar o campo boostSpec
com o filtro de relevância. Para mais informações sobre o filtro de relevância, consulte Filtrar pesquisas por relevância no nível do documento.
Suponha que você tenha documentos diferentes com datas de publicação diferentes. Para uma consulta específica, a tabela a seguir representa o ranking absoluto sem implementar nenhuma condição de reforço ou filtro de relevância e indica a relevância dos documentos para a consulta.
Documento | Data de publicação | Relevância | Classificação |
---|---|---|---|
A | 1º de fevereiro de 2024 | Alta | #1 |
B | 1º de março de 2024 | Alta | #2 |
C | 1º de abril de 2024 | O mais baixo | #3 |
D | 1º de maio de 2024 | Médio | #4 |
E | 1º de junho de 2024 | Baixo | #5 |
Em 6 de junho de 2024, você adiciona as seguintes condições de pesquisa à sua solicitação:
- O filtro de relevância foi definido como
LOW
. - Aumente o valor para que os documentos publicados nos últimos 31 dias sejam otimizados em 0,7 e os documentos com mais de uma semana, mas menos de 60 dias, sejam otimizados em 0,6.
Na saída da pesquisa, os resultados são filtrados primeiro por relevância e, em seguida, o valor do reforço é aplicado. Portanto, as condições aplicadas alteram o ranking das páginas nos resultados da seguinte maneira:
Documento | Data de publicação | Relevância | Classificação |
---|---|---|---|
E | 1º de junho de 2024 | Baixo | #1 |
D | 1º de maio de 2024 | Médio | #2 |
A | 1º de fevereiro de 2024 | Alta | #3 |
B | 1º de março de 2024 | Alta | #4 |
O resultado com a menor relevância é filtrado devido ao filtro de relevância. Os documentos menos relevantes para uma consulta são classificados como principais resultados porque recebem um grande aumento. Os resultados mais relevantes são classificados em uma posição mais baixa.
Por isso, o Google recomenda começar com um valor de aumento baixo e preciso e ajustar de acordo com a saída da pesquisa. Neste exemplo, começar com valores de reforço de 0,1 ou menos pode trazer resultados mais relevantes na parte superior.
A seguir
- Faça uma solicitação de pesquisa com a especificação de otimização no campo
boostSpec
. - Para entender o impacto do aumento na qualidade da pesquisa de um app de pesquisa personalizada, avalie a qualidade da pesquisa. Para mais informações, consulte Avaliar a qualidade da pesquisa.