我正在尝试构建一个基于某些上下文建议下一个令牌的推荐器。一个例子是推荐方法调用,其中上下文将是之前看到的方法调用。
我需要Lucene从预先建立的字符串列表中构建语言模型(例如n-gram模型)。然后,它应该支持包含令牌列表(上下文)的查询,并返回下一个概率最高的令牌。
使用Lucene API实现此目的的最佳方法是什么?
编辑: 我尝试了femtoRgon的建议,从建议包中尝试建议者。不幸的是,他们并没有完全解决我的用例。需要使用查询数据构建AnalyzingSuggester和AnalyzingInfixSuggester, 而我想用一个字符串或文本列表来构建模型。
FreeTextSuggester非常接近我需要但它不支持上下文。虽然它从文本和自动完成工作中构建了一个n-gram模型,但我还想输入一个上下文。上下文将是一个字符串列表,例如,当它与方法调用一起使用时,它将是触发代码完成之前看到的标记。
有没有办法在这些建议中使用这种背景,还是Lucene还有另一种方法?