Machine learning 如何使用Knime对文本进行分类

Machine learning 如何使用Knime对文本进行分类,machine-learning,classification,deep-learning,knime,deeplearning4j,Machine Learning,Classification,Deep Learning,Knime,Deeplearning4j,我正在尝试使用knime和knime实验室深度学习插件对一些数据进行分类 我的数据库中有大约16000种产品,但我知道其中的700种 我正试图使用一些DM(数据挖掘)技术尽可能多地进行分类。我已经下载了一些插件到knime,现在我有了一些深度学习工具,比如一些文本工具 这是我的工作流程,我将用它来解释我在做什么: 我将产品名称转换为向量,而不是应用于它。 在我用DeepMLP培训了一名DL4J学习者之后。(我不是真的完全明白,这是我认为我得到最好结果的一次)。然后我尝试在相同的数据集中应用该模

我正在尝试使用knime和knime实验室深度学习插件对一些数据进行分类

我的数据库中有大约16000种产品,但我知道其中的700种

我正试图使用一些DM(数据挖掘)技术尽可能多地进行分类。我已经下载了一些插件到knime,现在我有了一些深度学习工具,比如一些文本工具

这是我的工作流程,我将用它来解释我在做什么:

我将产品名称转换为向量,而不是应用于它。 在我用DeepMLP培训了一名DL4J学习者之后。(我不是真的完全明白,这是我认为我得到最好结果的一次)。然后我尝试在相同的数据集中应用该模型

我想我会得到预测类的结果。但是我得到了一个带有输出激活的列,它看起来是一对双倍的。在对这个专栏进行排序时,我得到了一些相互接近的相关日期。但我本来想去上课的

这里是结果表的打印,您可以看到输出和输入

在columns selection(列选择)中,它只获取转换后的文档和选定的des_categoria作为标签列(学习节点配置)。在Predictor节点中,我检查了“Append SoftMax Predicted Label?”

nom_produto是一个文本列,我试图用它来预测des_categoria列,它是产品类别

我对DM和DL真的是个新手。如果你能帮我解决我想做的事情,那就太棒了。也可以自由地提出一些关于尝试实现什么的学习材料


PS:我也尝试将其应用到未分类的数据(17000种产品)中,但我得到了相同的结果。

我不会回答这个问题,因为它不会是一个简单的工作流程。但是,请务必在KNIME服务器上找到文本挖掘示例,即使用单词包方法的示例

任务 产品到类别的映射应该是一项直接的数据挖掘任务,因为解释目标变量的信息是以准详尽的方式提供的。不过,根据需要培训的类别数量,您可能需要700多个实例来学习

一些资源 以下是一些资源,只有第一个真正专门用于文本挖掘:

  • ,特别是第13章
  • 是对数据挖掘的极好介绍,包括文本挖掘(第10章),也不要忘记关于相似性的章节(第6章)
  • 具有足够易访问的优势(第4章提供了一个使用R代码进行文本分类的示例)
  • 预处理 首先,您必须对产品标签进行一点预处理。为此,请使用KNIME的文本分析预处理节点,即在将带有
    字符串的产品标签转换为文档后使用:

    • 大小写转换
      标点删除
      雪球词干分析器
    • 您可能不需要
      停止字过滤器
      ,但是,可能会有“product”之类的准停止字,您可能需要使用
      字典过滤器
      手动删除它们
    • 在未首先测试其影响的情况下,小心不要使用以下任何一项:
      N字符过滤器
      g
      可能是一个有用的词),
      数字过滤器
      (数字可能表示数量,可能对分类有用)
    如果您在相关节点上遇到任何问题(例如,
    标点符号擦除
    可能会非常棘手,这要归功于标记器),在将
    字符串转换为文档之前,您始终可以使用正则表达式应用
    字符串操作

    保持简短:查找表 您可以基于700个培训实例构建一个查找表。本书和参考资料(2)详细介绍了这种方法。如果任何模型的性能比查找表差,则应放弃该模型

    近邻 对于这项任务来说,神经网络可能是过火了

    K最近邻节点开始(应用字符串距离,如余弦、Levenstein或Jaro-Winkler)。这种方法需要最少的数据争用。至少,它将提供一个优秀的基线模型,因此绝对值得一试

    您需要调整参数k并试验距离类型。
    参数优化循环
    对将帮助您优化k,您可以在所述循环内包括一个
    交叉验证
    元节点,以获得给定k的预期性能估计值,而不是每个k值仅一个点估计值。用作优化标准,如资源编号(3)所建议,可通过
    记分器
    节点获得

    在参数调整之后,您必须使用另一个
    交叉验证
    元节点评估模型的相关性,然后使用包含
    评分器
    的循环对来计算每个迭代的性能指标描述,最后使用
    统计数据
    。Kappa是这项任务的一个方便指标,因为目标变量由许多产品类别组成

    别忘了对照查找表测试它的性能

    接下来呢? 如果查找表或k-nn对您很有效,那么就没有其他需要添加的内容了

    如果这些方法中的任何一种都失败了,您可能需要分析它失败的确切案例。此外,训练集的大小可能太小,因此您可以手动对另外几百或几千个实例进行分类

    如果在增加训练集的大小后,您仍然在处理一个糟糕的模型,那么您可以尝试单词袋方法和
    朴素贝叶斯
    分类器(参见信息手册第13章