我们所知道的基本事实是用来重新训练NLC或R& R.
基本事实是一个问题级别的训练数据。
e.g。
"今天有多热?,温度"
问题"今天有多热?"因此归类为"温度"类。
应用程序启动后,将收到真正的用户问题。有些是相同的(即真实用户的问题与基本事实中的问题相同),有些是类似的术语,有些是新问题。假设应用程序有一个反馈循环来知道类(对于NLC)或答案(对于R& R)是否相关。
About the new questions, the approach seems to just add the them to the ground truth, which is then used to re-train the NLC/R&R?
For the questions with similar terms, do we just add them like the new questions, or do we just ignore them, given that similar terms can also be scored well even similar terms are not used to train the classifier?
In the case of the same questions, there seems nothing to do on the ground truth for NLC, however, to the R&R, are we just increase or decrease 1 for the relevance label in the ground truth?
简而言之,这里的主要问题是关于NLC& amp;的重新培训方法。的R& R ...
答案 0 :(得分:4)
一旦您的申请上线,您应该定期查看您的反馈日志,以寻求改进的机会。对于NLC,如果文本被错误分类,则可以将这些文本添加到训练集并重新训练以改进分类器。
只要您的分类器返回可接受的响应,就没有必要捕获类的每个可以想象的变体。
您可以使用日志中的其他类示例来组合训练集中没有的测试文本集。进行更改时运行此测试集将使您能够确定更改是否无意中导致了回归。您可以通过使用REST客户端调用分类器或通过Beta Natural Language Classifier工具包来运行此测试。
答案 1 :(得分:0)
坚实的再培训方法应该是从实时用户那里获得反馈。您对任何经过再培训的NLC(或R& R)的测试和验证应遵循James Ravenscroft在此概述的一些原则(https://brainsteam.co.uk/2016/03/29/cognitive-quality-assurance-an-introduction/)。
@davidgeorgeuk的The answer是正确的,但未能将思想扩展到您正在寻找的结论。我将有一组月度活动,我将通过应用程序日志,其中REAL用户表示您没有正确分类,并且还将任何新类合并到您的分类器中。我将使用新数据重新训练NLC的第二个实例,并完成上述测试场景。
一旦您对改进了模型感到满意,我就会将代码切换到指向新的NLC实例,而旧的NLC实例将是您的"备份"实例,以及下个月您将用于此练习的那个。它只是应用一种简单的DevOps方法来管理您的NLC实例。如果需要,您可以将其扩展到开发,QA,生产场景。