在LTR中训练SolrFeatures时,LIBLINEAR模型缺少权重
我正在使用Solr 7.4.0,并使用LIBLINEAR对基于此示例的LTR模型进行培训: 但是,我发现,当我想使用SolrFeature类训练solr filter查询时,我会得到以下错误,即模型缺少权重: 这是我在feature JSON文件中定义它的方式:在LTR中训练SolrFeatures时,LIBLINEAR模型缺少权重,solr,liblinear,Solr,Liblinear,我正在使用Solr 7.4.0,并使用LIBLINEAR对基于此示例的LTR模型进行培训: 但是,我发现,当我想使用SolrFeature类训练solr filter查询时,我会得到以下错误,即模型缺少权重: 这是我在feature JSON文件中定义它的方式: { "store" : "myFeatures", "name" : "category", "class" : "org.apache.solr.ltr.feature.SolrFeature",
{
"store" : "myFeatures",
"name" : "category",
"class" : "org.apache.solr.ltr.feature.SolrFeature",
"params" : {
"fq": ["{!terms f=category}book"]
}
}
原因可能是什么?我们如何解决此问题?原因可能是您使用上述功能json文件创建的*model.json上缺少权重参数。因此,请确保您已经为FeatureJSON文件中定义的每个特性包含了权重参数 您的*model.json文件应该如下所示:
{
"class" : "org.apache.solr.ltr.model.LinearModel",
"name" : "myModel",
"features" : [
{ "name" : "documentRecency" },
{ "name" : "isBook" },
{ "name" : "originalScore" }
],
**"params" : {
"weights" : {
"documentRecency" : 1.0,
"isBook" : 0.1,
"originalScore" : 0.5
}
}**
}
有关更多信息,请参阅Solr 7.4
谢谢。我发现这是由于与该功能相关的训练数据不足,并且无法为该功能设定适当重量的模型,从而导致错误
在我将更多与该功能相关的条目添加到培训数据后,问题没有出现。感谢您的回复。当使用LIBLINEAR时,假设程序根据功能文件和用户查询生成model.json文件,而不是硬编码模型中的权重。现在的问题是LIBLINEAR无法基于要素文件和用户查询获取SolrFeature的权重,这导致生成的model.json文件没有weights.Hi。我仍在探索Solr LTR和liblinear。谢谢你教育我。我跟随彭博社了解各种型号及其用法。谢谢
{
"class" : "org.apache.solr.ltr.model.LinearModel",
"name" : "myModel",
"features" : [
{ "name" : "documentRecency" },
{ "name" : "isBook" },
{ "name" : "originalScore" }
],
**"params" : {
"weights" : {
"documentRecency" : 1.0,
"isBook" : 0.1,
"originalScore" : 0.5
}
}**
}