我有一个列列表,每个列都要用另一个标签列表中的标签进行标记。例如:ALT_ID和MTRC_NM这两列分别与标签Alternate ID以及Metric Name匹配。
这种模糊字符串匹配已得到处理。问题是,我想在这里面加入一个学习模式。
基本上,在显示匹配的结果后,用户将匹配策划为CORRECT或INCORRECT基于这个反馈和列的其他特征(如最小值、最大值(,我想训练一个分类器,以便学习模型在未来最终停止进行不正确的匹配。
注意:在第一次运行中,只有列的名称用于生成第一组结果。在这之后,我想使用其他功能(如最小值(来训练模型。
问题是,可能有10000个术语(或标签(,甚至更多,用户只会将其标记为正确或错误。对于不正确的分类,用户不会告诉我们正确的分类应该是什么。
我认为一种解决方案可以是为每个标签制作单独的分类器,并基于特定分类的正确/不正确反馈,我们可以使用这些特征向量来训练该分类的分类器。因此,在未来,如果模糊字符串匹配提名度量名称作为某列的分类,我们可以让"公制名称";分类器决定它是正确的还是不正确的。
我不知道如何为每个标签制作单独的分类器。我也不知道这种方法是否可行。这个问题的任何其他解决方案也会有所帮助。
您不想为每个标签创建单独的模型,因为训练超过10000个模型实际上是不可行的。我想到的两件可能的事情是:
- 创建一个监督学习模型,将一个标签作为输入,10000个标签中每个标签的概率作为输出,该模型只使用正确的示例进行预测
- 创建一个具有相同输入但具有输出的强化学习模型,该模型将奖励函数最大化,每个正向预测定义为+1,每个负向预测定义为-1。该模型还将试图最大限度地增加正确预测的数量,但同时能够从错误预测中学习,即预测不正确对(x,y(的-1分