【问题标题】:Does the IBM Watson Natural Language Classifier support multiple classes and multiple class sets?IBM Watson Natural Language Classifier 是否支持多个类和多个类集?
【发布时间】:2015-12-13 10:29:05
【问题描述】:

我正在尝试使用 IBM Bluemix 上的 IBM Watson Natural Language Classifier 解决以下问题:

我有 N 个训练文档 D 标记有不同标签集 S_1 到 S_n 的标签 l_x_y。其中 x 定义标签集, y 定义集内的实际标签。每个文档都可以用多个标签(来自不同的标签集)进行标记。

这里是一个例子:

标签集 1:S_1={a,b,c,d,e,f} 标签集 2:S_2={1,2,3,4,5,6}

D_1 = "这是一些文字", {a,c,e,1,3,4} D_2 = "这是一些文本2", {d,f,4}

如果我理解正确,REST 服务能够接受多个类的训练。天真的方法是只为每个标签集训练一个不同的分类器。

但是有没有更好的方法来做到这一点?例如。我可以使用每组标签的并集(如 D_1 和 D_2 所示)吗?

因为API Documentation 对响应说以下内容:

一个数组 [Classes],最多包含十个 class_name-confidence 对,它们是 按置信度降序排列。如果少于 10 类,置信度值之和为 100%。

这意味着如果所有标签集的并集的基数 > 10,它可能会忽略低置信度类,但是使用标签集的并集还有其他问题吗?

【问题讨论】:

    标签: machine-learning nlp classification ibm-cloud ibm-watson


    【解决方案1】:

    data format 指定“文本”之后的每一列都将被视为一个类标签。如果您将训练数据发送为(在您的情况下):

    "这是一些文本", "{a,c,e,1,3,4}"

    "这是一些文本2", "{d,f,4}"

    然后,服务假定训练数据中有两个唯一的类:{a,c,e,1,3,4} 和 {d,f,4}。

    但是,您可以通过创建如下训练数据来尝试在多个标签上进行训练:

    "这是一些文本", a,c,e,1,3,4

    "这是一些文本2", d,f,4

    在这种情况下,您正在训练 8 个独特的课程。因此,分类输出将包含这些类的置信度值。您可以将生成的类归入任一标签集中。

    【讨论】:

      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-22
      • 2016-07-18
      • 1970-01-01
      相关资源
      最近更新 更多