"错误-属性文本已经存在于示例集中"

B_B_ 成员职位:70大师
2019年5月编辑 帮助
我已经成功地将这个基本的训练/应用模型用于其他文本分类作业,但是现在它产生了一个错误。在Process Documents的apply部分中删除词干提取和按大小筛选令牌仍然会产生错误。版本为5.0.11,文本模块为5.0.7。

有什么要改变的想法吗?文本来自同一个表/字段。训练文本是表中完整文档集的一个子集。


例外:com.rapidminer.operator.UserError
消息:属性文本已经存在于示例集中。
堆栈跟踪:

com.rapidminer.operator.text.io.AbstractDocumentInputOperator.createWordAttributes (AbstractDocumentInputOperator.java: 336)
com.rapidminer.operator.text.io.AbstractDocumentInputOperator.doWork (AbstractDocumentInputOperator.java: 243)
com.rapidminer.operator.Operator.execute (Operator.java: 771)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute (SimpleUnitExecutor.java: 51)
com.rapidminer.operator.ExecutionUnit.execute (ExecutionUnit.java: 709)
com.rapidminer.operator.OperatorChain.doWork (OperatorChain.java: 368)
com.rapidminer.operator.Operator.execute (Operator.java: 771)
com.rapidminer.Process.run (Process.java: 899)
com.rapidminer.Process.run (Process.java: 795)
com.rapidminer.Process.run (Process.java: 790)
com.rapidminer.Process.run (Process.java: 780)
com.rapidminer.gui.ProcessThread.run (ProcessThread.java: 62)



Nov 22, 2010 10:19:39 AM严重:Process failed:属性文本已经存在于示例集中。
Nov 22, 2010 10:19:39 AM SEVERE: Here: Root[1] (Process)
子进程“主进程”
+- Read Database[1] (Read Database)
+- Set Role[0](设置角色)
+-设置角色(2)[1](设置角色)
+-替换[1](替换)
+-标称文本[1](标称文本)
+- Process Documents from Data[1] (Process Documents from Data)
子进程“矢量创建”
| +- Transform Cases[19098] (Transform Cases)
| +- Tokenize[19098] (Tokenize)
| +- Filter Stopwords (2)[19098] (Filter Stopwords (English))
| +- Stem (2)[19098] (Stem (Porter))
| +- Filter Tokens (by Length)[19098] (Filter Tokens (by Length))
| +-提取令牌编号[19098](提取令牌编号)
+-支持向量机[1](LibSVM)
+- Read Database (2)[1] (Read Database)
+-替换(2)[1](替换)
+-设置角色(3)[1](设置角色)
+- Set Role (4)[0] (Set Role)
+-标称文本(2)[1](标称文本)
+-来自数据的工艺文件(2)[1](来自数据的工艺文件)
子进程“矢量创建”
| +-变换案例(2)[1](变换案例)
==> | +- Tokenize (2)[1] (Tokenize)
| +- Filter Stopwords (English)[0] (Filter Stopwords (English))
| +- Filter Tokens (2)[0] (Filter Tokens (by Length))
| +- Stem (Porter)[0] (Stem (Porter))
| +-提取令牌编号(2)[0](提取令牌编号)
+-应用模型[0](应用模型)
Nov 22, 2010 10:19:39 AM严重:属性文本已经出现在示例集中。


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<过程version = " 5.0 " >
> <上下文
<输入/ >
<输出/ >
<宏/ >
> < /上下文

使用简单的朴素贝叶斯分类器


<列出关键= " data_set_meta_data_information " / >



< /操作符>



< /操作符>





<参数键= value =“replace_what http . * \ | # \ w + \年代|@ \ w * \ s /祝辞
< /操作符>




< /操作符>

<列出关键= " specify_weights " / >







< /操作符>











> < /过程
< /操作符>


<列出关键= " class_weights " / >
< /操作符>

<列出关键= " data_set_meta_data_information " / >



< /操作符>





<参数键= value =“replace_what http . * \ | # \ w + \年代|@ \ w * \ s /祝辞
< /操作符>



< /操作符>




< /操作符>


<列出关键= " specify_weights " / >






< /操作符>








> < /过程
< /操作符>

<列出关键= " application_parameters " / >
< /操作符>
















> < /过程
< /操作符>
> < /过程

答案

  • 土地土地 RapidMiner认证分析师,RapidMiner认证专家,成员职位:2531年独角兽
    你好,
    问题是,正如错误所说,你已经有一个属性“文本”存在于你的例子集中。在应用程序期间,Process Documents操作符负责使用完全相同的属性名构建word包,否则模型将使用错误的属性进行分类。
    如果在应用程序数据集中已经存在训练数据集中没有的属性,并且该属性名称是单词列表的一部分,则会发生此错误。您能做的最好的事情就是通过在训练中包含与测试中完全相同的属性(在训练中也打开keep text参数)来防止这种情况,或者通过在应用程序中切换“keep text”参数来删除额外创建的属性。

    问候,
    塞巴斯蒂安。
  • B_B_ 成员职位:70大师
    由于Sebastion

    我很惊讶这个错误之前没有出现过,因为我在几个分类任务中使用了这个基本结构。关闭keep text就解决了这个问题。
  • AndrewB1AndrewB1 成员职位:3.贡献我

    这个bug仍然存在。正如您注意到的,当您选择“keep_text = true”时,流程文档将添加一个名为text的新字段。如果您对数据和文本进行了标记,则该过程将中断。他们似乎不是一个聪明的工作围绕RM 7.4。

  • MartinLiebigMartinLiebig 管理员,版主,员工,RapidMiner认证分析师,RapidMiner认证专家,大学教授职位:3368年RM数据科学家

    你好,

    有一个。只是不要保留任务,但稍后加入设置的文本。

    最好的

    马丁

    - RapidMin乐鱼平台进入er数据科学服务主管
    德国多特蒙德
  • LarissaMoraesLarissaMoraes 成员职位:2新手
    你好,

    我也有这个问题,但我不知道如何解决它。因为这个问题发生时,我使用自动模型。有谁能告诉我更多我需要做的细节吗?
登录注册置评。