【问题标题】:Hierarchical Multi-Class Classification分层多类分类
【发布时间】:2019-10-25 22:31:49
【问题描述】:

我有一个电子商务类别结构,其中每个父类别都可以有子类别。例如:

父类别 1 -> 子类别级别 1 -> 子类别级别 2 -> 子类别级别 3
父类别 2 -> 子类别级别 1 -> 子类别级别 2

我还有电子商务网站的所有搜索关键字。

我的问题是将正确的子类别层次结构分配给搜索查询

所需的输入和输出如下:

输入:

搜索-关键字; L1 类、L2 类、L3 类

办公椅;家具;椅子和座椅;办公椅
惠普笔记本电脑;技术;计算机和笔记本电脑;笔记本电脑
苹果 ipad;技术;平板电脑
黑咖啡;休息室;咖啡

如果最终用户在电子商务网站上输入的搜索关键字是:

桌面显示器
淡咖啡

然后输出文件应包含搜索关键字的正确分类,如下所示:

桌面显示器;技术;计算机和笔记本电脑
淡咖啡;休息室;咖啡

我已经尝试使用 LSTM 和使用 keras 的词嵌入对父类别进行多类分类,并且能够分配

办公椅 -> 家具

如果有人解决过类似问题,请告诉我。

【问题讨论】:

  • 您的意见是什么?你有标签吗?目前尚不清楚您在预测或训练什么
  • 您概括地描述了一个问题,您的问题是什么?
  • 是的,我有训练数据的所有预定义标签,在描述中添加了一些输入
  • @NathanMcCoy 添加了更多细节,请查看
  • @MatiasValdenegro,通常我们根据给定的标签进行分类,如果我们有各种级别的标签,我们必须从任何级别选择标签

标签: python-3.x keras lstm recurrent-neural-network multiclass-classification


【解决方案1】:

我建议为层次结构树中每个节点的子节点训练一个分类器。例如分类器编号 1 对父类别 1 和父类别 2 之间的项目进行分类(2 类分类)。然后用父类别 1 的项目训练一个分类器,该分类器在子类别 1、子类别 2 和太阳类别 3 之间的项目之间进行分类(3 类分类)。等等。

【讨论】:

  • 我有超过 15 个父类别,对于每个节点我至少有 4 个子节点直到第 4 级。我需要训练超过 100 个分类器来训练。这是你的建议吗?
  • 是的,我当然不知道你的等级有这么大。现在,如果您的层次结构恰好是一棵树(每个子节点只有一个父节点),如果您将树中的叶子节点视为您的类,并为它们训练一个分类器,然后为每个分类器从它遍历到根以获得所有类别等级制度。叫平面分类,但是还有更复杂的分类方法,你可以通过搜索“层次分类”找到它们
  • 谢谢你的回答,我已经查了很多论文了。如果你有,请建议一些来源
猜你喜欢
  • 2021-01-11
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 2021-12-25
  • 2013-06-09
  • 1970-01-01
相关资源
最近更新 更多