Точность отзыва в lucene java

Я хочу использовать Lucene для вычисления точности и отзыва.

Я выполнил следующие шаги:

  1. Создал несколько индексных файлов. Для этого я использовал код индексатора и проиндексировал файлы .txt , которые существуют по этому пути C: / inn (в этой папке 4 текстовых файла ) и поместите их в папку "outt", установив путь индекса на C: / outt в коде индексатора.

  2. Создал пакет с именем lia.benchmark и класс внутри него который называется "PrecisionRecall" и добавляет externaljars (щелкните правой кнопкой мыши -> путь сборки Java -> добавить внешние jar-файлы) и добавляет Lucene-benchmark-.3.2.0jar и Lucene-core-3.3.0jar

  3. Установите путь файла темы в коде на C: /lia2e/src/lia/benchmark/topics.txt и
    qrelsfile в C: /lia2e/src/lia/benchmark/qrels.txt и пройдите в "C: / outt ".

    Вот код:

     package lia.benchmark;
    import java.io.File;
    import java.io.PrintWriter;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import org.apache.lucene.search. *;
    import org.apache.lucene.store. *;
    import org.apache.lucene.benchmark.quality. *;
    import org.apache.lucene.benchmark.quality.utils. *;
    import org.apache.lucene.benchmark.quality.trec. *;
    
      public class PrecisionRecall {
    
      public static void main (String [] args) выбрасывает Throwable {
    
      Файл themesFile = новый файл ("C: /lia2e/src/lia/benchmark/topics.txt");
      Файл qrelsFile = новый файл ("C: /lia2e/src/lia/benchmark/qrels.txt");
      Каталог dir = FSDirectory.open (новый файл ("C: / outt"));
      IndexSearcher searchcher = новый IndexSearcher (dir, true);
    
      String docNameField = "имя файла";
    
      PrintWriter logger = новый PrintWriter (System.out, true);
    
      TrecTopicsReader qReader = новый TrecTopicsReader ();
      QualityQuery qqs [] = qReader.readQueries (
      новый BufferedReader (новый FileReader (themesFile)));
    
      Судья судья = новый TrecJudge (новый BufferedReader (
      новый FileReader (qrelsFile)));
    
      Судья.validateData (qqs, регистратор);
    
      QualityQueryParser qqParser = new SimpleQQParser («заголовок», «содержимое»);
    
      QualityBenchmark qrun = новый QualityBenchmark (qqs, qqParser, поисковик, docNameField);
      SubmissionReport submitLog = null;
      QualityStats stats [] = qrun.execute (судья,
      submitLog, logger);
    
      QualityStats avg = QualityStats.average (статистика);
      avg.log ("РЕЗЮМЕ", 2, регистратор, "");
      dir.close ();}
     }
     
  4. Инициализированные qrels и темы. В папке с документами (C: \ inn) у меня есть 4 текстовых файла, 2 из которых имеют отношение к моему запросу (запрос - яблоко), поэтому я заполнил qrels и themes.

    файл qrels выглядит следующим образом:

     
       Число: 0
       яблоко
      <desc> Описание:
      <narr> Рассказ:
     </top>
     </code></pre>
    
    <p> и файл темы вроде этого: </p>
    
    <pre><code> 0 0 789.txt 1
    0 0 101.txt 1
     </code></pre>
    
    <p> Я пробовал также формат Path, а именно, например, «C: \ inn \ 789.txt» вместо «789.txt»
    но результаты нулевые: </p>
    
    <pre><code> 0 - содержимое: яблоко
    0 Статистика:
    Секунды поиска: 0,016
    DocName Секунды: 0,000
    Количество очков: 2.000
    Количество хороших баллов: 0,000
    Максимальное количество хороших баллов: 2.000
    Средняя точность: 0,000
    MRR: 0,000
    Напомним: 0,000
    Точность при 1: 0,000
    РЕЗЮМЕ
    Секунды поиска: 0,016
    DocName Секунды: 0,000
    Количество очков: 2.000
    Количество хороших баллов: 0,000
    Максимальное количество хороших баллов: 2.000
    Средняя точность: 0,000
    MRR: 0,000
    Напомним: 0,000
    Точность при 1: 0,000
     </code></pre></li>
    </ol>
    
    <p> Можете ли вы сказать мне, что со мной не так? </p>
    
    <p> Мне действительно нужно знать, почему результаты равны нулю. </p>         </div>
             <div class="votes-question">
                <div class="vote-count" itemprop="upvoteCount">15</div><i class="fa fa-thumbs-o-up"></i>
             </div>
             <div class="tags">
                <a href="/questions/tagged/java" class="tag"  title="java" rel="tag">java</a> <a href="/questions/tagged/lucene" class="tag"  title="lucene" rel="tag">lucene</a> <a href="/questions/tagged/search-engine" class="tag"  title="search-engine" rel="tag">search-engine</a>         </div>
             <div class="clearfix"></div>
             <div class="action-time">
                задан Shadow The Princess Wizard            <span title="4 October 2011 в 08:23 ">4 October 2011 в 08:23 </span>
             </div>
             
             <a class="s-link" href="/questions/327561/tochnost-otzyva-v-lucene-java" title="поделиться">поделиться</a>
          </div>
       </div>
      <div style="height:100px;margin:10px 0px;" class="">
    
        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- siteask before post --> <ins class="adsbygoogle"      style="display:block;height:100px"
                                                                                                                                 data-ad-client="ca-pub-2355906945027976"
                                                                                                                                 data-ad-slot="" data-ad-format="auto"></ins>
        <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script>
    
        </div>
       <div class="answers" id="answers">
       
          <h2 class="pull-left"><span itemprop="answerCount">0</span> ответов</h2>
          <div class="clearfix"></div>
    
          <div class="answer-pager">
             <div class="pagination">
                         </div>
          </div>
    
                <div style="margin-top: 20px;">
              Другие вопросы по тегам:          <div class="tags" style="display: inline-block; float: none;">
             <a href="/questions/tagged/java" class="tag"  title="java" rel="tag">java</a> <a href="/questions/tagged/lucene" class="tag"  title="lucene" rel="tag">lucene</a> <a href="/questions/tagged/search-engine" class="tag"  title="search-engine" rel="tag">search-engine</a>       </div>
            <h3 class="m-t-20">Похожие вопросы:</h3>
    
            <div class="related-block">
              <ul>
                              <li><div class='votes-answer green'><span class='vote-count'>100</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/129631/skrytye-funkcii-java" title="Скрытые функции Java">Скрытые функции Java</a> - 23 May 2017 02:26 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>73</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/130707/zakryvajutsja-skrytye-funkcii-eclipse" title="[Закрываются] скрытые функции Eclipse">[Закрываются] скрытые функции Eclipse</a> - 6 May 2012 17:23 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>51</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/138697/pochemu-eto-schitajut-plohoj-praktikoj-dlja-iskljuchenija-figurnyh-skobok-zakrytyj" title="Почему это считают плохой практикой для исключения фигурных скобок? [закрытый]">Почему это считают плохой практикой для исключения фигурных скобок? [закрытый]</a> - 19 August 2016 17:07 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>48</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/85614/proverte-verno-li-hotja-by-dva-iz-treh-logicheskih-znachenij" title="Проверьте, верно ли хотя бы два из трех логических значений">Проверьте, верно ли хотя бы два из трех логических значений</a> - 25 January 2013 22:30 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>47</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/139926/kakova-samaja-chastaja-problema-parallelizma-s-kotoroj-vy-vstretilis-v-java-zakrytyj" title="Какова самая частая проблема параллелизма, с которой Вы встретились в Java? [закрытый]">Какова самая частая проблема параллелизма, с которой Вы встретились в Java? [закрытый]</a> - 5 August 2012 12:49 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>41</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/83033/chto-vozmozhno-v-intellij-chto-nevozmozhno-v-eclipse" title="Что возможно в IntelliJ, что невозможно в Eclipse?">Что возможно в IntelliJ, что невозможно в Eclipse?</a> - 6 January 2012 05:17 </li>
                                <li><div class='votes-answer green'><span class='vote-count'>41</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/89263/kak-ja-mogu-obedinit-dva-massiva-v-java" title="Как я могу объединить два массива в Java?">Как я могу объединить два массива в Java?</a> - 22 December 2018 15:35 </li>
                              </ul>
            </div>
    
          </div>
       </div>
       
    </div>      </div>
          <aside class="sidebar">
            <div class="awrap">
    
    <script async src="https://yastatic.net/pcode-native/loaders/loader.js"></script>
    <script>
        (yaads = window.yaads || []).push({
            id: "553274-2",
            render: "#id-553274-2"
        });
    </script>
    <div id="id-553274-2"></div>
              <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <ins class="adsbygoogle"
         style="display:inline-block;width:300px;height:600px"
         data-ad-client="ca-pub-2355906945027976"
         data-ad-slot="8038370725"></ins>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
    
    
            </div>
          </aside>
    
        </div>
      </div>
      <footer class="footer">
        <div class="wrapper wrapper--sm">
          <div class="footer-navs-col">
            <div class="footer-nav footer-nav--menu">
    
              <div class="footer-coryright">© 2017 - 2020 Вопросы и ответы по программированию</div>
            </div>
            <div class="footer-nav footer-nav--catalog">
            </div>
          </div>
          <div class="footer-contacts-col">
            <div class="soc-widget-col">
            </div>
          </div>
          <div class="clearfix"></div>
        </div>
    
      </footer>
    
    </div>
    
    <script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js"></script>
    <script type="text/javascript" src="/js/ui/external/jquery.cookie.js"></script>
    
    <script type="text/javascript" src="/js/versions/menu.ru.u1607887878.js"></script>
    
    
    <script type="text/javascript" src="/js/jquery.fancybox.min.js"></script>
    <script type="text/javascript" src="/js/slick.min.js"></script>
    <script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script>
    
    <script type="text/javascript" src="/js/versions/scripts.ru.u1607887878.js"></script>
    
    
    <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; var z = null;m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(90030325, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/90030325" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter -->
    
    
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-123993370-1"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
    
      gtag('config', 'UA-123993370-1');
    </script>
    
    </div>
    <script type="application/ld+json">
      {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "name": "Программирование - вопросы и ответы",
      "alternateName": "Программирование - вопросы и ответы",
      "url": "https://legkovopros.ru",
      "potentialAction": {
         "@type": "SearchAction",
         "target": "https://legkovopros.ru/search?search={search_term_string}",
         "query-input": "required name=search_term_string"
       }
    }
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "Программирование - вопросы и ответы",
      "url": "https://legkovopros.ru",
      "logo": "https://legkovopros.ru/i/logo.png",
      "email": "info@legkovopros.ru",
       "telephone": ""
    
    }
    
    
    
    
    </script>
    </body>
    </html>