0

参考下面的网页,使用 IBM Bluemix 的 Retrieve & Rank 服务,我们正在创建一个可以响应查询的机器人。

问题:在学习了一次ranker之后,根据用户对查询的反应,如何构建一个不断学习的机制,提高反应准确率?

假设:由于没有R&R服务的API来不断地从用户的查询响应结果中学习,调整GroundTruth文件,我想需要周期性地执行再次训练ranker这样的过程。

假定 GT 文件的调整内容:

  • 如果有新问题,添加一组问题和答案
  • 如果现有问题无法很好地回答,则增加或减少响应的相关性分数(如果机器人回答错误,则降低分数,如果有有用的答案,则提高分数)
4

1 回答 1

1

为了不断学习,您需要执行以下操作:

  • 捕获新示例,即每个用户输入和相应的结果
  • 查看这些示例并创建新的排名示例,调整相关性分数等
  • 将这些新示例添加到排名器
  • 使用您的新示例和现有示例重新训练排名器

注意:请务必验证对排名数据的新更新是否可以提高整体系统性能。k-fold 验证是衡量这一点的好方法。

总而言之,学习是一个连续的过程,应该无限期地重复或直到系统性能被认为足够。

于 2017-01-26T15:05:48.753 回答