|
点击蓝字关注这个神奇的公众号~
大家好,我们是team22,“玩词小队”!
上个月公司组织了一场AI比赛,我和3个开发gg组队,今天就聊聊这难忘的58个小时。提前预警,本文略干,阅读需要点耐心。
Part.1
这次比赛是命题作文,我们拿到的题目是:
跨品牌的词频统计
从产品经理的角度,这是一个典型的“一句话需求”,只有过程描述,没有目标定义和价值描述。经过与业务的深度沟通,我们将题目扩展为:
对不同品牌的文字语料分别进行词频统计
通过品牌间的词频比较来直观显示用户对不同品牌关注领域的差别,从而获取市场热点、产品热点和用户喜好,帮助业务聚焦分析范围
通过关键词词频和情绪分值的聚合分析,识别产品的关键优势和关键缺陷
这么一扩充,我们要做的事情就非常直观了,主要分为两部分:词频统计+数据可视化
Part.2
先说词频统计
一开始我们拿到的语料是英文的。英文单词间天然有空格分隔,可以用正则表达式进行分词,过滤掉停用词和单复数/时态的干扰,统计每个单词频率,得到词频。
是不是觉得有点太简单了,一定有什么不对劲...于是我们主动向导师要了一些中文语料,我们要做中文分词!中文分词跟英文有很大不同,也是本次任务的难点所在。同样一句话,我可以大块地切,也可以都切细碎了。好的分词算法可以尽可能保留常用词的完整性。
咱好歹是语音识别专业毕业的,靠着脑子里残留的那一点感觉,果断判断算法现写是来不及的,于是我们用了两种开源算法 -- 结巴分词和Standford的CoreNLP
在这里要重点表达下对开发gg的敬仰之情,当其它组还在挠头时,我们的开发gg已经调好了两个方案的Java和python两个版本!
基于测试结果,我们最终选取结巴分词用于中文语料的分词,CoreNLP用于词性标注
结巴分词用到的主要技术有
Trie树 - 字典加载,用于进行快速比对
DAG - 有向无环图,对一句话进行所有可能的切分,然后计算每一种切分路径的概率(每个词的概率相乘),取概率最大的切分路径
HMM - 基于隐马尔科夫模型的切词和新词发现
结巴分词有几种不同的分词模式可选,在这个场景中我们使用的是精确模式,即尽量按照词典里大概率的词来分,并且基于HMM的新词发现在这个模式下是不生效的。
Part.3
技术的部分到此为此,接下来看看我们有什么好玩的发现吧~
我们选取了联想和友商同一个月内的线上评论数据,利用搭建的词频分析系统得到了一些有意思的结论。
Use Case 1-1:跨品牌词频对比 – 英文
显示消费者对于不同品牌的关注点(Top50)
X轴-对于每个关键词,A品牌的评论频率多于B品牌则为正,数据点落于Y轴右边象限,反之为负 Y轴-相对频率(频次/总评论数)
A品牌用户对tablet表示出极大的关注,A品牌用户则更关注laptop产品
A品牌用户更加关心屏幕,键盘等硬件领域,B品牌用户更关注操作系统、升级等软件相关的领域
Use Case 1-2:跨品牌词频对比 - 中文
A品牌用户相比B品牌用户更多提到了游戏和办公场景
屏幕、开机、运行速度是用户普遍关注的领域,B品牌用户相较更为关心
Use Case 2:情绪表
基于词频,我们结合语料中对评论情绪的标注,给出了另一种分析方法。
X轴- 关键词的情绪得分。如果从标注为Negative、Neutral、Positive的评价取到的关键词赋予权重分别为-1,0,+1,加权平均后,得到top20关键词各自的分数
Y轴- 关键词出现的频次/总评论数
由以上两个轴构建的平面可以分为4个象限,当关键词落到某个象限,可以直观地看出属于哪一类型的关键词。例如,落到右上角的关键词,说明关注度高,被用户频繁提起,并且评价都不错,可以看作是产品打动用户的关键优势所在
我们用一款产品的2017版本和2016版本的评论数据做了分析。橙色点为2017版,红色点为2016版
我们从中得到以下结论:
从总体评价上看,新机型相比旧机型有提升
整体评价以负面为主,产品有待提高,也可能是大多数用户默默给了好评,需要进一步分析
作为新机型亮点之一的oled有关注度,但没有形成核心优势
新机型的屏幕评价高于旧机型,但还未达到消费者预期,属于关键缺陷
新机型的电池提升明显,仍属于非关键缺陷
Use Case 3:词性子表 – 英文
词频统计得到top热词以名词居多,但是形容词却更能反映用户的情绪反应,于是我们对关键词进行词性标注后,专门做了形容词词频子表
可以看到
A品牌用户给予产品的正面评价明显多于B品牌用户
以上就是我们在短短58小时内做的一个小小的词频分析系统,可以满足业务团队日常分析的基本需求,如果想让它发挥更大的作用,需要继续优化完善。能够解决实际问题,帮到业务团队,也是蛮有成就感的事情呢~
尾 声
关于AI
在我讲完方案设想的时候,“玩词小队”的一个小伙伴问了一个问题:我们这个方案里,AI体现在哪里呀?好像也没有建模,没有训练参数,感觉不太像AI呢?
当时我的回答是,语音识别和自然语言处理领域的研究早在几十年前就开始了,有着非常深厚的积累。虽然我们没有自己训练模型,但是开源方案里自带的词典和参数,是由大量语料统计训练出来的。我们已经站在几辈人的肩膀上,所以才没有深刻感受到这个领域的困难。
同时在AI概念火起来的时候我也困惑过,AI跟我们之前学的语音识别,图像识别,机器学习有啥区别吗,这些现在全被纳入了AI的范畴,似乎AI无所不能,玄之又玄。在了解过后,会发现其实没啥区别,只是现在算力的增强,使得这些领域有了更加快速的发展,例如神经网络的层数从个位数飙到了一百多层,带来了准确率的提升,同时适用的场景也不断拓展。就如微软CTO韦青说的,AI说来说去就是分类、聚类,加上拟合,通过逻辑归纳,引入概率的方法来模拟人的思考。用AI不是我们的目的,利用AI领域的具体技术来解决具体问题,才是AI真正的价值所在,我想这也是这次AI练习生带给大家最大的感悟和收获吧
最后,为“玩词小队”打call~
AI练习生,加油~
|
|