文本分类tas

时间:2018-01-17 14:55:20

标签: nlp text-classification spacy

假设您在客户和人工代理之间有一组转录的客户服务电话,平均每个电话的长度为7分钟。客户将主要打电话,因为他们对产品有问题。让我们假设一个人可以为每个呼叫分配一个标签:

  • Axis 1:从客户的角度来看问题是什么?
  • Axis 2:从代理商的角度来看问题是什么?
  • Axis 3:代理可以解决客户的问题吗?

根据手动标记的文本,您需要训练一个文本分类器,该分类器将为三个轴中的每个轴预测每个调用的标签。但是录音的标签需要花费时间和成本。另一方面,您需要一定数量的训练数据才能获得良好的预测结果。

鉴于上述假设,您会从多少手动标记的培训文本开始?你怎么知道你需要更多标签的培训文本?

也许你之前曾做过类似的工作,可以给出一些建议。

更新(2018-01-19):我的问题没有正确或错误的答案。好吧,理想情况下,有人完成了同样的任务,但这是不太可能的。我将问题再开放一周,然后接受最佳答案。

1 个答案:

答案 0 :(得分:1)

回答这个问题很棘手,但我会根据自己的经验尽力而为。

过去,我对3个数据集进行了文本分类;括号中的数字表示我的数据集有多大: 餐厅评论(50K句子),reddit评论(250k句子) 开发者评论问题跟踪系统(10k句子) 。他们每个人都有多个标签。

在三个案例中,包括10k句话,我获得了超过80%的F1分数。我特别强调这个数据集,因为有人告诉我这个数据集的大小较小。

因此,在您的情况下,假设您有至少1000个实例(包括客户和代理之间的对话的呼叫)平均7分钟的呼叫,这应该是一个不错的开始。如果结果不满意,您有以下选择:

1)使用不同的模型(MNB,随机森林,决策树等,除了你使用的任何东西)

2)如果第1点给出或多或少类似的结果,请检查您拥有的所有类的实例的比例(您在此处讨论的3轴)。如果他们没有分享好的比例,那么如果您无法获得更多数据,请获取更多数据或尝试不同的balancing techniques

3)另一种方法是将它们分类到句子级别而不是消息或会话级别,以便为句子而不是消息或会话本身生成更多数据和单个标签。