新特性
- 支持对物品和用户信息进行部分更新
在新版本中,可以使用PATCH方法对推荐系统中的物品和用户信息进行更新.
新增的API可以修改物品的时间戳、标签和备注,以及用户的标签和备注,不需要修改的字段设置为null即可。
- 添加了是否使用点击率预测算法的开关。
工作节点首先通过协同过滤、相似物品、相似用户等多种渠道从全体物品库中筛选出推荐物品,然后将这些筛选结果使用点击率预测模型进行排序。如果关闭了点击率预测模型,那么工作节点会将初步筛选结果随机合并。
# Enable click-though rate prediction during offline recommendation. Otherwise, results from multi-way recommendation
# would be merged randomly. The default values is true.
enable_click_through_prediction = true
- 添加了向个性化推荐结果中混入最新、物品物品功能。
个性化推荐容易让用户局限在自己的喜好之中,一种简单的解决办法就是向推荐结果中插入少量最近热门和最新物品。插入数量可以在配置文件中指定,例如下面的例子的意思就是:插入的热门物品占推荐内容10%,插入的最新物品占推荐内容20%。
# The explore recommendation method is used to inject popular items or latest items into recommended result:
# popular: Recommend popular items to cold-start users.
# latest: Recommend latest items to cold-start users.
# Recommenders are used in order. The default values is { popular = 0.0, latest = 0.0 }.
explore_recommend = { popular = 0.1, latest = 0.2 }
修复问题
- 修复了MariaDB下插入空标签列表出错问题
MariaDB和MySQL在功能特性上存在一些差异,MySQL能够自动为JSON填充默认值,MariaDB要求明确设置默认值。
- 修复了控制台用户界面出现“Invalid Date”的问题
Go语言的默认日期格式并不能被JavaScript识别,新版本修复了这个问题。
- 修复批量插入反馈时,反馈列表为空报错的问题
旧版本没有处理数组长度为0的情况,新版本修复了这个问题。
- 修复了设置auto_insert_item = false后,依然插入物品的问题
旧版本的单元测试没有覆盖相关逻辑,新版本修复了这个问题。此BUG进一步导致了数据库内容不一致,需要手动删除那些在物品库中不存在物品的反馈信息,否则,Gorse推荐系统会在多处抛出“物品不存在”有关的异常。例如,MySQL数据库可以通过以下的SQL语句修复数据不一致问题:
delete from feedback where item_id not in (select item_id from items)