用机器学习评估销售记录质量
销售管理中,需要销售人员在CRM系统中填写客户跟进记录,同时需要销售人员详尽的记录每个客户的跟进情况,以便后续的跟进过程分析、销售人员客户交接、销售人员能力评估等等。
实际情况中,除了人为判断之外,没有便捷的方式对销售记录进行判断,判断好的销售记录和差的销售记录,好的记录会包括跟进类型、跟进动作、跟进过程、跟进结果以及后续计划,差的记录可能只是只言片语,甚至用标点代替,又或者图方便每个客户的跟进记录复制粘贴一样的内容。要评估销售人员的能力和记录内容的质量,就需要用到机器学习。
销售记录质量的判断,实际上是做文本分类,且分类类型只有两种:好、不好。机器学习中,常用的两种文本分类方法是tf-idf和朴素贝叶斯。
tf-idf(term frequency–inverse document frequency,词频-逆向文档频率),是根据词汇频率和含词汇的文档在文档库中频率统计词汇对于文档重要程度的方法。也常被用于文本分类的方法,它的假设是:重要词汇会在文档中高频出现,而在文档库中低频出现(高频出现则可能是不重要的词)。
tf是计算文档中某个词汇在该文档中的频率(The weight of a term that occurs in a document is simply proportional to the term frequency),其公式是将词汇在单个文档中做归一化处理,及将词汇频率的结果计算为相对大小,如此可不受文档长度影响。
tf = 文档某词汇出现次数/文档词汇总数
idf是计算某个词汇相对于文档库的重要性(The specificity of a term can be quantified as an inverse function of the number of documents in which it occurs),公式中计算对数值,是为了减小结果数值而不影响各个结果的相对量。
idf = lg(文档总数/含某词汇文档数)
最终的tf-idf = tf * idf。
由于tf-idf是基于词汇做的计算,不同于英文,中文在处理文档前需要先对文档做分词处理。在对文档词汇进行分类处理时,为了节省结算时间,可以先过滤掉标点符号和停顿词(如:的、和、与、在、啊等对语义影响不大的词汇)。
通过tf-idf计算,可以得到文本中每个词汇的比重,要做文本分类还需要支持向量机(SVM,Support Vector Machine),即基于训练的样本数据中的人工分类,将不同词汇的比重结果按照分类类型做划分。如此,在预测新的文档的分类时,根据词汇的比重和分类的映射关系,可以判断分类结果。
tf-idf假设越是重要的词汇在单个文档中出现频率越高,在整个文档库中出现频率越低,而销售记录性质相同,一些重要的词汇在文档库中会高频出现,比如“开会”;支持向量机仅按照tf-idf进行划分,向量机预测结果受文档长度影响,特别是较短的文档,如偷懒写的销售记录“–”,在模型中被划分为好的销售记录,但实际是糟糕的销售记录。
朴素贝叶斯(Naive Bayes)是贝叶斯定理的延伸,贝叶斯定理是条件概率(不一定有因果关系)下的概率计算公式,如判断B事件发生时A事件发生的概率,其公式是:
P(AB) = (P(BA)P(A)) / P(B)
朴素贝叶斯在两个事件的数量上做了进一步的简化和扩充,即是多个时间发生下的概率,如判断A1、A2……An事件发生时B事件一起发生的概率:
P(BA1, A2, A3, …… An) = (P(A1, A2, A3, …… AnB)P(B)) / P(A1, A2, A3, …… An)
其中,P(BA1, A2, A3, …… An)是A1、A2……An发生时B事件发生的概率,所以该公式又等于P(BA1)P(BA2)P(BA3)……P(BAn)。
在判断文本分类时,同样需要先对中文文本进行分词处理(结果是词汇A1、A2、A3……An),然后基于分词和文本划分分类的结果(划分B个类型),对新的文本进行文本分类判断,即判断包含多个词汇的文本是否属于其中某个分类。
对于分类类型B而言,多个类型的概率判断,只判断概率大小,所以可以忽略固定值分母,最终只判断多种类型的概率P(A1, A2, A3, …… AnB)P(B)孰大孰小。在本文的场景中,是判断一个新的销售记录的P(A1, A2, A3, …… AnB好)P(B好)和P(A1, A2, A3, …… AnB坏)P(B坏)哪个大哪个小,概率大的即为对应分类的销售记录。
两种方法采用的是同一个训练样本数据(500+条),两种模型产生差异的原因在于方法只是思维方式的结果,而即便是人,也无法判断一条销售记录的质量,这点不同于诸如新闻内容的分类。如果公司统一规定销售记录的内容,通过更大规模数据的训练,便可以依据标准判断销售记录的质量好坏。