1

我一直致力于开源 Ephyra 代码,并将 YQL API 作为 KM 的新来源。问题是 Ephyra 给出了非常简短的答案。即使对于像“什么是化学?”这样的开放式问题,我也会得到一两个词的简短答案,即“物质变化”或“有机物”。但是这样的问题需要有更多的解释性和详细的答案。

有什么办法可以修改这个给我带来更详细的答案吗?也许通过删除某些过滤器并添加其他过滤器。

这是默认情况下的当前过滤器列表:

// - 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