Google预测API - 构建分类器培训数据

时间:2015-10-14 10:19:57

标签: bigdata classification text-classification training-data google-prediction

编辑:我尝试将新用户评论分类为预定义的标签集。每个评论都可以有多个与之关联的标签。

我已将我的数据库用户评论映射到15个类别,以下示例显示了文本,推理了映射的类别

USER_REVIEWS |的类别
"最好 pizza ,我们真的很喜欢这个地方, our kids ......" | "食品,家庭"
" The ATV tour was extreme nature was beautiful ..." | "活性,家庭"

pizza:food
our kids:family
The ATV tour was extreme:active
nature was beautiful:nature

修改 我尝试了两种训练数据的方法:

第一个包含单个文件中的所有类别,如下所示:

"food","Best pizza ever, we really loved this place, our kids..."
"family","Best pizza ever, we really loved this place, our kids..."

第二种方法是将训练数据分成15个单独的文件,如下所示:

family_training_data.csv:

"true" , "Best pizza ever, we really loved this place, our kids..."
"false" , "The ATV tour was extreme and the nature was beautiful ..."

上述情况并非如此,并且大部分时间都错过了标记。

在我进行实验时,出现了一些问题:

  1. 我的一些评论很长(超过300字),我应该限制培训数据文件中的字数,以便它与平均评论字数相匹配(80)?
  2. 最好将数据分成15个训练数据文件,使用TRUE / FALSE选项,意思是:(是特定类别的评论文本),还是将所有类别混合到一个训练数据文件中?
  3. 如何训练模型以查找同义词或相关关键字,以便标记" motorbike 骑行很棒"为 active 虽然训练数据有 ATV 骑行记录
  4. 我尝试了一些如上所述的方法,没有任何好的结果 :哪种培训数据格式会带来最佳效果?

2 个答案:

答案 0 :(得分:2)

我将从我可以用给定信息回答的部分开始。也许我们可以从那里改进你的问题。

问题3:您无法训练模型识别新的词汇单词而无需支持上下文。它不只是"摩托车"不是在训练集中,而是"骑"也不在训练集中,而评论中的其他词语与运输无关。您寻求的认知信息根本不在您提供的数据中。

问题2:这取决于您正在考虑的培训方法。您可以将每个标记作为具有true / false值的单独要素列。这在功能上等同于15个单独的数据文件,每个文件都有一个真/假值。单文件方法使您有机会稍后扩展到类别之间的某些上下文支持。

问题1:长度本身并不是特别相关,除了削减非生产性单词将有助于集中培训 - 你不会从偶然的相关性中得到几乎同样多的虚假分类。你有办法以编程方式减小尺寸吗?你可以将它应用于你想要分类的新输入吗?如果没有,那么我不确定它是否值得付出努力。

开放问题

您有哪些经验证据表明给定数据可以达到80%的准确度?如果训练数据不包含准确标记数据所需的理论信息,那么您就没有机会获得所需的模型。

您选择的应用程序是否具有足够的智能来将评论分解为单词?是否有任何对词序或语义的认识 - 你需要它吗?

答案 1 :(得分:1)

在遇到类似问题之后,以下是我对您的问题的见解:

  1. 根据WATSON自然语言分类器documentation,最好将输入文本的长度限制为少于60个单词,因此我想使用平均80个单词会产生更好的结果
  2. 您可以采用任何一种方式,但单独的文件会产生更明确的结果
  3. 创建一个同义词图表,正如建议的那样,WATSON旨在回答更复杂的认知解决方案。
  4. WATSON指南中的其他一些帮助提示:

      
        
    • 将输入文本的长度限制为少于60个单词。
    •   
    • 将班级数限制为几百个班级。支持更大   在该服务的更高版本中可能包含多个类。
    •   
    • 当每个文本记录只有一个类时,请确保每个类都是   与至少5-10条记录相匹配,提供足够的培训   那个班。
    •   
    • 可能难以决定是否包含多个   文本的类。驱动多个类的两个常见原因:      
          
      • 当文字含糊不清时,识别单个课程并不总是很清楚。
      •   
      • 当专家以不同的方式解释文本时,多个班级   支持这些解释。
      •   
    •   
    • 但是,如果您的培训中有很多文字   数据包括多个类,或者如果某些文本有三个以上   类,您可能需要优化类。例如,审查   这些类是否是分层的。如果他们是等级的,   将叶节点包括为类。
    •