Perplexity: Define how well the chosen passages support an answer, and use it to compare two ways of choosing them.
Perplexity's answer engine finds candidate passages for each user question with two retrievers, a keyword retriever and an embedding retriever. The language model that writes the answer can read only 300 tokens of passages for each question, so a rule decides which passages it gets.
The answer quality team ran both rules on an evaluation set of 8 questions, with the facts a good answer to each question needs and the passages that state each fact. They want to know whether the new rule gives the answer model passages that support the answers better.
There is no agreed measure of how well the chosen passages support an answer yet, so choosing one is part of the task.
Note: A retriever is a search component that returns the passages most relevant to a question, each with a relevance score. The keyword retriever scores passages by the words they share with the question; the embedding retriever scores them by similarity of meaning, using numeric vector representations of the text. A token is a small piece of text, often a word or part of a word, that the model reads. Each passage has a known number of tokens.
perplexity_queries.csv has one row per question:
query_idquery_textperplexity_required_facts.csv has one row per fact that a good answer needs:
fact_idquery_idfact_nameperplexity_passages.csv has one row per candidate passage that the retrievers returned. A passage can be used only for the question it was retrieved for:
passage_idquery_iddomain - the website the passage comes frompublished_daten_tokens - the number of tokens in the passagetextperplexity_passage_facts.csv has one row for each required fact that a passage states:
passage_idfact_idstated_value - the value of the fact as the passage states itperplexity_context_selections.csv has one row per passage that a rule chose for a question:
rule - current or newquery_idpassage_idselection_order - the order in which the rule added the passageYou can solve this in Python, SQL, or a mix of both — StrataScratch notebooks support both languages in the same notebook.
Assume this data comes directly from the search system's evaluation exports and hasn't been cleaned, so review it carefully before relying on the numbers. When something looks off, work out what it is and decide how to handle it; when a definition or a final decision is genuinely ambiguous, choose a reasonable option and explain why. There's often more than one valid way to compute a result, so explain the approach you take and the reasoning behind your choices.
What's assessed: how well your definition fits the question, whether you apply it correctly to the data, and how clearly you justify your choices and conclusion. There is no single correct number — a definition different from the one in our solution is fine if it is well argued and applied consistently.
See the full interview round by round, with questions for each stage.