IBM Watson Natural Language Classifier 是否支持多个 classes 和多个 class 集合?

Does the IBM Watson Natural Language Classifier support multiple classes and multiple class sets?

我正在尝试使用 IBM Bluemix 上的 IBM Watson 自然语言分类器解决以下问题:

我有 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 = "This is some text", {a,c,e,1,3,4} D_2 = "This is some text2", {d,f,4}

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

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

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

An array [Classes] of up to ten class_name-confidence pairs that are sorted in descending order of confidence. If there are fewer than 10 classes, the sum of the confidence values is 100%.

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

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

"This is some text", "{a,c,e,1,3,4}"

"This is some text2", "{d,f,4}"

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

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

"This is some text", a,c,e,1,3,4

"This is some text2", d,f,4

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