Esempio n. 1
0
        public void Initialize(IEnumerable <Run> runs, IEnumerable <RelevanceEstimate> judged)
        {
            // Re-structure known judgments
            foreach (var j in judged)
            {
                string id = RelevanceEstimate.GetId(j.Query, j.Document);
                this._judged[id] = j;
            }
            // Instantiate estimator
            switch (this._name)
            {
            case "uniform":
                // nothing to initialize
                this._estimator = new UniformRelevanceEstimator(100);
                break;

            case "mout":
                // read metadata
                IEnumerable <Metadata> metadata = AbstractCommand.ReadMetadata(this._parameters["meta"]);
                this._estimator = new MoutRelevanceEstimator(runs, metadata);
                break;

            case "mjud":
                // read metadata
                metadata = AbstractCommand.ReadMetadata(this._parameters["meta"]);
                IEnumerable <RelevanceEstimate> judgedEst = this._parameters.ContainsKey("judged") ?
                                                            AbstractCommand.ReadKnownJudgments(this._parameters["judged"]) :
                                                            new RelevanceEstimate[] { };
                this._estimator = new MjudRelevanceEstimator(runs, metadata, judgedEst);
                break;
            }
        }