Skip to main content

Relevance Tuning Techniques

By default, Vectara uses a form of "question-answer" similarity to produce the scoring. This provides a very robust ability to answer your users questions. By default, scores go from -1 to 1 where a score of -1 would be "completely irrelevant" and a score of 1 would be a near/exact match. There are several controls which affect these scores and the associated result rankings.

Custom dimensions

Custom dimensions provide our Scale users with a fixed set of additional "dimensions" that contain user-defined numerical values and are stored in addition to the vectors that Vectara automatically extracts and stores from the text. At query time, users can use these custom dimensions to increase or decrease the resulting score dynamically, query by query.

Custom dimensions are great to hold metadata like "upvotes" of a post, number of times a product has been purchased, and similar measures of business/relevance value.

By default, Vectara uses purely semantic similarity when evaluating whether a document/section is responsive to a particular search. However, we often find that with a slight introduction of keyword-focused algorithms, the relevance can be much better. Vectara supports this out of the box via hybrid search.

Alternative similarity measures

While Vectara uses question-answer style similarity by default, sometimes it's advantageous to use document-document similarity. For example, think of a case where a user asks "where can I find great tacos?" You typically wouldn't want to match the closest document to that question (e.g. one that just has the text "where can I find great tacos") but instead a document that answers that question (e.g. "you can find the best tacos at ___").

However, there are times when finding the most semantically similar documents is advantageous. In particular, recommendation systems tend to make heavy use of document similarity metrics. However, these can be useful in other use cases as well, including matching questions in FAQ search systems.

Interpreting scores

If you want to understand a bit more about why Vectara produced a particular score, have a look at our interpreting scores documentation.

Low-level indexing controls

Sometimes, the best solution to changing relevance is by adjusting the low-level indexing controls. Vectara supports fine-grained tuning of this in the low-level API. There, you can pre-segment your documents into sections, and tell Vectara what the context is around the documents.

Note that we do consider that anyone that needs to use this API as a bit of a failure on our side to providing robust-enough APIs! If you find that you need to use this API because you're getting poor quality without it, please do let us know about your use case so we can consider adding structured APIs around it.