Exemple #1
0
        public override void Run()
        {
            // Read files
            IEnumerable <Run> runs = AbstractCommand.ReadInputFile(this._inputPath);
            IEnumerable <RelevanceEstimate> judged = new RelevanceEstimate[] { };

            if (this._judgedPath != null)
            {
                judged = AbstractCommand.ReadKnownJudgments(this._judgedPath);
            }
            // Initialize wrapped estimator
            this._estimator.Initialize(runs, judged);
            // Compile list of all query-doc pairs
            Dictionary <string, HashSet <string> > querydocs = AbstractCommand.ToQueryDocuments(runs);
            // Estimate relevance of all query-doc pairs
            List <RelevanceEstimate> estimates = new List <RelevanceEstimate>();

            foreach (var qd in querydocs)
            {
                foreach (var doc in qd.Value)
                {
                    estimates.Add(this._estimator.Estimate(qd.Key, doc));
                }
            }
            // Output estimates
            TabSeparated io = new TabSeparated(this._decimalDigits);

            ((IWriter <RelevanceEstimate>)io).Write(Console.Out, estimates);
        }