use of info.ephyra.answerselection.filters.CutKeywordsFilter in project lucida by claritylab.
the class EphyraTREC13To16 method initOther.
// Layout 1
/**
* Initializes the pipeline for 'other' questions.
*/
protected void initOther() {
// query generation
QueryGeneration.clearQueryGenerators();
// search
// - knowledge miners for unstructured knowledge sources
Search.clearKnowledgeMiners();
for (String[] indriIndices : IndriKM.getIndriIndices()) Search.addKnowledgeMiner(new IndriKM(indriIndices, false));
for (String[] indriServers : IndriKM.getIndriServers()) Search.addKnowledgeMiner(new IndriKM(indriServers, true));
// - knowledge annotators for (semi-)structured knowledge sources
Search.clearKnowledgeAnnotators();
// answer extraction and selection
// (the filters are applied in this order)
AnswerSelection.clearFilters();
// initialize scores
AnswerSelection.addFilter(new ScoreResetterFilter());
// extract sentences from snippets
AnswerSelection.addFilter(new SentenceExtractionFilter());
// cut meaningless introductions from sentences
AnswerSelection.addFilter(new CutKeywordsFilter());
AnswerSelection.addFilter(new CutStatementProviderFilter());
AnswerSelection.addFilter(new SentenceSplitterFilter());
AnswerSelection.addFilter(new CutKeywordsFilter());
// remove duplicates
AnswerSelection.addFilter(new DuplicateSnippetFilter());
// throw out enumerations of proper names
AnswerSelection.addFilter(new ProperNameFilter());
// throw out direct speech snippets, rarely contain useful information
AnswerSelection.addFilter(new DirectSpeechFilter());
// sort out snippets containing no new terms
AnswerSelection.addFilter(new TermFilter());
AnswerSelection.addFilter(new WikipediaGoogleTermImportanceFilter(WebTermImportanceFilter.LOG_LENGTH_NORMALIZATION, WebTermImportanceFilter.LOG_LENGTH_NORMALIZATION, false));
AnswerSelection.addFilter(new ScoreSorterFilter());
// cut off result
AnswerSelection.addFilter(new ResultLengthFilter(3000));
}
Aggregations