<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Retrieval Evaluation on Programmer.ie: Modern AI programming</title>
    <link>http://programmer.ie/tags/retrieval-evaluation/</link>
    <description>Recent content in Retrieval Evaluation on Programmer.ie: Modern AI programming</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 07 Sep 2026 11:20:00 +0000</lastBuildDate>
    <atom:link href="http://programmer.ie/tags/retrieval-evaluation/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hard Negatives</title>
      <link>http://programmer.ie/books/embeddings-from-first-principles/11-chapter/</link>
      <pubDate>Mon, 07 Sep 2026 11:20:00 +0000</pubDate>
      <guid>http://programmer.ie/books/embeddings-from-first-principles/11-chapter/</guid>
      <description>&lt;p&gt;&lt;em&gt;Part III — Retrieval Is an Experiment&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;two-benchmarks-same-model-opposite-verdicts&#34;&gt;Two benchmarks, same model, opposite verdicts&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Benchmark E (easy negatives):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  positive: the correct answer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  negatives: 20 passages drawn at random from the corpus&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  → model scores Recall@1 = 0.94&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Benchmark H (hard negatives):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  positive: the correct answer&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  negatives: the 20 passages most similar to the query that are NOT correct&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  → same model scores Recall@1 = 0.55&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nothing changed but the negatives. The easy benchmark asked &amp;ldquo;can the model tell the answer from an unrelated paragraph?&amp;rdquo; The hard benchmark asked &amp;ldquo;can it tell the answer from the 20 things that look most like the answer?&amp;rdquo; Those are different questions, and only the second is the one production faces.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
