Vertical Intents, Biases & Thresholds, and Improved Ranking (Spring '22 Release)

We are introducing a new vertical ranking model based on the same powerful embedding technology we use in Semantic Text Search. Verticals are now assigned a “Semantic Vertical Score” from 0 to 1 based on how relevant that vertical is to the user’s query. This score allows us to present verticals in the most relevant order for a user’s query on a more consistent basis.

Additionally, we are introducing optional configurable inputs for Administrators looking to train the Vertical Ranking model within their search experience, including intents, thresholds, biases, and priority fields.

  • Intents: Allow you to associate phrases to each vertical that the model will use to evaluate a given query’s relevance to that vertical (think of it like a synonym for the vertical). For example, you might add “technical documentation” and “instructions,” as intents for the ‘Help Articles’ vertical, and “workout classes” and “best personal trainers” as intents for the ‘Gyms’ vertical. Define vertical intents with the semanticVerticalIntents property under any vertical.

  • Thresholds: Minimum “Semantic Vertical Score” that a vertical must meet in order to be returned at all in the search results. For example, consider an e-commerce experience with Products and FAQs. That experience may want a high threshold for FAQs so that a query containing “shoes” returns Products, but not an FAQ like “What is the return policy for shoes?” unless the query mentioned “return shoes” or something else very semantically similar. On the other hand, an e-commerce company probably would set a low threshold for ‘Products.’ This vertical is most relevant to the average site visitor, so it’s a good idea to display ‘Products’ on most searches if there is a match. Thresholds can be set between 0 and 1 (inclusive) to parallel the score verticals receive, using the semanticVerticalThreshold property.

  • Biases: Adjustments you can make to the final score of each vertical, which determine the rank in which they appear. Biases are helpful when you want several verticals to appear, but want to modify the order in which they are presented to the user. For example, in situations where both the ‘Products’ and ‘FAQs’ vertical have equal vertical scores on a given search, a retailer may set a +0.2 bias to ‘Products’ to prioritize the sales opportunity. Biases allow Administrators to steer the algorithm toward the verticals that best align with their business goals in situations of uncertain vertical rank. Biases can be set between -1 and 1 (inclusive), using the semanticVerticalBias property.

  • Priority Fields: A select list of the searchable fields on a vertical that you want the algorithm to prioritize when evaluating vertical ranking. When two verticals have a tie in their semantic vertical score, the Answers algorithm will check whether the match of any vertical is on a priority field; and if it is, it will rank that vertical above the other. By default, the priority fields for each vertical is set to name and builtin.entityType. To customize the priority fields, use the semanticVerticalRankingPriorityFields property in the Answers configuration.

A vertical using all four vertical ranking properties may look like this in the configuration:

"resources": {
    "entityTypes": [
        "ce_resource"
    ],
    "name": "Resources",
    "searchableFields": {...},
    "semanticVerticalBias": 0.2,
    "semanticVerticalIntents": [
        "sales resources",
        "sales sheet",
        "corporate pitch deck",
        "support deck"
    ],
    "semanticVerticalRankingPriorityFields": [
        "name",
        "c_category"
    ],
    "semanticVerticalThreshold": 0.4,
    "sortBys": [...],
    "source": "KNOWLEDGE_MANAGER"
}

To learn more about the vertical ranking algorithm, visit the Vertical Ranking Algorithm training unit. To learn more about how to configure the vertical ranking inputs, visit the Vertical Ranking core configuration training unit.

To use the new vertical ranking model, as well as vertical intents, biases, and thresholds:

  • Turn on the Spring '22 Release: Answers Vertical Intents, Biases & Thresholds, and Improved Ranking (early access) account feature to use this feature during the Early Access period.
  • Add "tier": “Beta" to the top-level of your Answers config using the JSON editor. This will set up your experience to use an algorithm that is still in a beta period. Your configuration will look something like below:
{
  "$schema": "https://schema.yext.com/config/answers/answers-config/v1",
  "$id": "answers",
  "name": "Answers",
  "verticals": {...},
  "synonyms": {...},
  "rules": [...],
  "tier": "Beta"
}

This feature will automatically be turned on for all accounts at General Availability for the Spring '22 Release. At that point, you’ll need to remove "tier": “Beta" from your Answers config if you do not want to continue using Answers algorithms in beta.