Search in sources :

Example 1 with ResultLengthFilter

use of info.ephyra.answerselection.filters.ResultLengthFilter 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));
}
Also used : ScoreSorterFilter(info.ephyra.answerselection.filters.ScoreSorterFilter) DirectSpeechFilter(info.ephyra.answerselection.filters.DirectSpeechFilter) CutStatementProviderFilter(info.ephyra.answerselection.filters.CutStatementProviderFilter) SentenceSplitterFilter(info.ephyra.answerselection.filters.SentenceSplitterFilter) WikipediaGoogleTermImportanceFilter(info.ephyra.answerselection.filters.WikipediaGoogleTermImportanceFilter) IndriKM(info.ephyra.search.searchers.IndriKM) ScoreResetterFilter(info.ephyra.answerselection.filters.ScoreResetterFilter) DuplicateSnippetFilter(info.ephyra.answerselection.filters.DuplicateSnippetFilter) ResultLengthFilter(info.ephyra.answerselection.filters.ResultLengthFilter) SentenceExtractionFilter(info.ephyra.answerselection.filters.SentenceExtractionFilter) ProperNameFilter(info.ephyra.answerselection.filters.ProperNameFilter) TermFilter(info.ephyra.answerselection.filters.TermFilter) CutKeywordsFilter(info.ephyra.answerselection.filters.CutKeywordsFilter)

Example 2 with ResultLengthFilter

use of info.ephyra.answerselection.filters.ResultLengthFilter in project lucida by claritylab.

the class OpenEphyraCorpus method initFactoidWeb.

/**
	 * Initializes the pipeline for factoid questions, using the Web as a
	 * knowledge source.
	 * 
	 * @param resultsCorp results retrieved from the corpus
	 */
protected void initFactoidWeb(Result[] resultsCorp) {
    // question analysis
    Ontology wordNet = new WordNet();
    // - dictionaries for term extraction
    QuestionAnalysis.clearDictionaries();
    QuestionAnalysis.addDictionary(wordNet);
    // - ontologies for term expansion
    QuestionAnalysis.clearOntologies();
    QuestionAnalysis.addOntology(wordNet);
    // query generation
    QueryGeneration.clearQueryGenerators();
    QueryGeneration.addQueryGenerator(new BagOfWordsG());
    QueryGeneration.addQueryGenerator(new BagOfTermsG());
    QueryGeneration.addQueryGenerator(new PredicateG());
    QueryGeneration.addQueryGenerator(new QuestionInterpretationG());
    QueryGeneration.addQueryGenerator(new QuestionReformulationG());
    // search
    // - knowledge miners for unstructured knowledge sources
    Search.clearKnowledgeMiners();
    Search.addKnowledgeMiner(new BingKM());
    //		Search.addKnowledgeMiner(new GoogleKM());
    //		Search.addKnowledgeMiner(new YahooKM());
    // - knowledge annotators for (semi-)structured knowledge sources
    Search.clearKnowledgeAnnotators();
    // answer extraction and selection
    // (the filters are applied in this order)
    AnswerSelection.clearFilters();
    // - answer extraction filters
    AnswerSelection.addFilter(new AnswerTypeFilter());
    AnswerSelection.addFilter(new AnswerPatternFilter());
    AnswerSelection.addFilter(new WebDocumentFetcherFilter());
    AnswerSelection.addFilter(new PredicateExtractionFilter());
    AnswerSelection.addFilter(new FactoidsFromPredicatesFilter());
    AnswerSelection.addFilter(new TruncationFilter());
    // - answer selection filters
    AnswerSelection.addFilter(new StopwordFilter());
    AnswerSelection.addFilter(new QuestionKeywordsFilter());
    AnswerSelection.addFilter(new AnswerProjectionFilter(resultsCorp));
    AnswerSelection.addFilter(new ScoreNormalizationFilter(NORMALIZER));
    AnswerSelection.addFilter(new ScoreCombinationFilter());
    AnswerSelection.addFilter(new FactoidSubsetFilter());
    AnswerSelection.addFilter(new DuplicateFilter());
    AnswerSelection.addFilter(new ScoreSorterFilter());
    AnswerSelection.addFilter(new ResultLengthFilter());
}
Also used : ScoreCombinationFilter(info.ephyra.answerselection.filters.ScoreCombinationFilter) ScoreSorterFilter(info.ephyra.answerselection.filters.ScoreSorterFilter) Ontology(info.ephyra.nlp.semantics.ontologies.Ontology) AnswerPatternFilter(info.ephyra.answerselection.filters.AnswerPatternFilter) PredicateExtractionFilter(info.ephyra.answerselection.filters.PredicateExtractionFilter) ScoreNormalizationFilter(info.ephyra.answerselection.filters.ScoreNormalizationFilter) WebDocumentFetcherFilter(info.ephyra.answerselection.filters.WebDocumentFetcherFilter) StopwordFilter(info.ephyra.answerselection.filters.StopwordFilter) TruncationFilter(info.ephyra.answerselection.filters.TruncationFilter) WordNet(info.ephyra.nlp.semantics.ontologies.WordNet) BagOfWordsG(info.ephyra.querygeneration.generators.BagOfWordsG) PredicateG(info.ephyra.querygeneration.generators.PredicateG) AnswerTypeFilter(info.ephyra.answerselection.filters.AnswerTypeFilter) ResultLengthFilter(info.ephyra.answerselection.filters.ResultLengthFilter) QuestionReformulationG(info.ephyra.querygeneration.generators.QuestionReformulationG) QuestionKeywordsFilter(info.ephyra.answerselection.filters.QuestionKeywordsFilter) DuplicateFilter(info.ephyra.answerselection.filters.DuplicateFilter) FactoidSubsetFilter(info.ephyra.answerselection.filters.FactoidSubsetFilter) BagOfTermsG(info.ephyra.querygeneration.generators.BagOfTermsG) BingKM(info.ephyra.search.searchers.BingKM) QuestionInterpretationG(info.ephyra.querygeneration.generators.QuestionInterpretationG) FactoidsFromPredicatesFilter(info.ephyra.answerselection.filters.FactoidsFromPredicatesFilter) AnswerProjectionFilter(info.ephyra.answerselection.filters.AnswerProjectionFilter)

Aggregations

ResultLengthFilter (info.ephyra.answerselection.filters.ResultLengthFilter)2 ScoreSorterFilter (info.ephyra.answerselection.filters.ScoreSorterFilter)2 AnswerPatternFilter (info.ephyra.answerselection.filters.AnswerPatternFilter)1 AnswerProjectionFilter (info.ephyra.answerselection.filters.AnswerProjectionFilter)1 AnswerTypeFilter (info.ephyra.answerselection.filters.AnswerTypeFilter)1 CutKeywordsFilter (info.ephyra.answerselection.filters.CutKeywordsFilter)1 CutStatementProviderFilter (info.ephyra.answerselection.filters.CutStatementProviderFilter)1 DirectSpeechFilter (info.ephyra.answerselection.filters.DirectSpeechFilter)1 DuplicateFilter (info.ephyra.answerselection.filters.DuplicateFilter)1 DuplicateSnippetFilter (info.ephyra.answerselection.filters.DuplicateSnippetFilter)1 FactoidSubsetFilter (info.ephyra.answerselection.filters.FactoidSubsetFilter)1 FactoidsFromPredicatesFilter (info.ephyra.answerselection.filters.FactoidsFromPredicatesFilter)1 PredicateExtractionFilter (info.ephyra.answerselection.filters.PredicateExtractionFilter)1 ProperNameFilter (info.ephyra.answerselection.filters.ProperNameFilter)1 QuestionKeywordsFilter (info.ephyra.answerselection.filters.QuestionKeywordsFilter)1 ScoreCombinationFilter (info.ephyra.answerselection.filters.ScoreCombinationFilter)1 ScoreNormalizationFilter (info.ephyra.answerselection.filters.ScoreNormalizationFilter)1 ScoreResetterFilter (info.ephyra.answerselection.filters.ScoreResetterFilter)1 SentenceExtractionFilter (info.ephyra.answerselection.filters.SentenceExtractionFilter)1 SentenceSplitterFilter (info.ephyra.answerselection.filters.SentenceSplitterFilter)1