1

私はオープン ソースの Ephyra コードに取り組んでおり、KM の新しいソースとして YQL API を組み込みました。問題は、エフィラが非常に短い答えを出すことです。「化学とは何ですか?」のようなオープンエンドの質問でも、「物質の変化」または「有機的」などの 1 つまたは 2 つの単語の簡単な答えが得られます。しかし、そのような質問には、より説明的で詳細な回答が必要です。

これを変更して、より詳細な回答を得る方法はありますか? おそらく、いくつかのフィルターセットを削除して、他のフィルターを追加することによって。

これは、デフォルトでのフィルターの現在のリストです。

// - 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 ScoreNormalizationFilter(NORMALIZER));
AnswerSelection.addFilter(new ScoreCombinationFilter());
AnswerSelection.addFilter(new FactoidSubsetFilter());
AnswerSelection.addFilter(new DuplicateFilter());
AnswerSelection.addFilter(new ScoreSorterFilter());

私が使用できる追加のフィルターは次のとおりです。

AnswerSelection.addFilter(new NumberOfKeywordsFilter());        
AnswerSelection.addFilter(new ResultLengthFilter());
AnswerSelection.addFilter(new AdaptiveNumberOfKeywordsFilter());
AnswerSelection.addFilter(new DirectSpeechFilter());
AnswerSelection.addFilter(new NounPhraseFilter());
AnswerSelection.addFilter(new NuggetEvaluationFilter());
AnswerSelection.addFilter(new PreferNamedEntitiesFilter());
AnswerSelection.addFilter(new ProperNameFilter());
AnswerSelection.addFilter(new ResultLengthFilter());
AnswerSelection.addFilter(new ResultLengthSorterFilter());
AnswerSelection.addFilter(new SentenceSplitterFilter());
AnswerSelection.addFilter(new SubclauseSplitterFilter());
AnswerSelection.addFilter(new TermFilter());
AnswerSelection.addFilter(new TripletFilter());

しかし、これらのどれが回答抽出フィルターで、どれが回答選択フィルターであるかはわかりません。そして、私たちは何らかの順序に従わなければならないと思います。

これらすべてのフィルターの順序を教えてください。これにより、必要な種類の回答を得ることができました(説明)。よくわかりません

4

0 に答える 0