代码之家  ›  专栏  ›  技术社区  ›  Marc P.

文本分类TA的训练样本数

  •  0
  • Marc P.  · 技术社区  · 6 年前

    假设您在客户和人工代理之间有一组转录的客户服务呼叫,其中每个呼叫的平均长度为7分钟。客户大多会因为产品问题而致电。让我们假设一个人可以为每次调用的每个轴分配一个标签:

    • 轴1:从客户的角度来看,问题是什么?
    • 轴2:从代理的角度来看,问题是什么?
    • Axis 3:代理能否解决客户的问题?

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

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

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

    更新(2018-01-19):我的问题没有对错答案。好吧,理想情况下,有人做了完全相同的任务,但这不太可能。我会把这个问题再留待一周,然后接受最好的答案。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Ankur Sinha    6 年前

    这很难回答,但我会根据我的经验尽最大努力。

    过去,我对3个数据集进行了文本分类;括号中的数字表示我的数据集有多大: 餐厅评论(5万句)、reddit评论(25万句) 问题跟踪系统的开发人员意见(10000句) . 每一个都有多个标签。

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

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

    1) 使用不同的模型(MNB、随机林、决策树等,以及您正在使用的任何模型)

    2) 如果第1点给出的结果或多或少相似,请检查您拥有的所有类的实例的比率(此处所述的3轴)。如果他们的比率不高,请获取更多数据或尝试不同的方法 balancing techniques 如果无法获取更多数据。

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