在笔者看来,产品规划人员收集客户意见时通常使用问卷。问卷题项是用规划人员事先确定的属性设计的。因此,如果客户真正在意的属性不在题项中,这类意见就不会出现在结果里。本段关于问卷的说法是笔者的一般性看法,并非下文所讨论论文的内容。另一方面,客户会在博客、Twitter、Facebook、Reddit 等社交媒体上留下关于产品的讨论,这类帖子积累得很快。
那么,仅凭社交媒体帖子,能否提取出客户实际提到的产品属性,并进一步确定应当优先改进其中哪些属性?
下面来读一篇回答了这个问题的论文。
- 标题:Social media mining for product planning: A product opportunity mining approach based on topic modeling and sentiment analysis
- 期刊:International Journal of Information Management
- 年份:2019
- DOI:10.1016/j.ijinfomgt.2017.09.009
论文将这一方法称为机会挖掘方法(opportunity mining approach)。该方法从社交媒体帖子中找出客户谈论的产品主题。然后,针对每个主题,用数值计算其被提及的频繁程度(重要度)和评价的好坏程度(满意度)。最后将这两个数值结合,按改进机会从大到小对主题排序。
本文使用的核心术语如下。
- 产品主题(product topic):客户在社交媒体上讨论的产品主题。与本文所说的”客户关注的产品属性”含义相同。
- 主题建模(topic modeling):推断文档集合中隐含主题的技术。它把一篇文档视为多个主题的混合,把一个主题视为多个词的混合。
- 潜在狄利克雷分配(Latent Dirichlet Allocation,LDA):本论文所用的主题建模算法。
- 情感分析(sentiment analysis):判别作者表达的是正面意见还是负面意见的任务。
- 机会算法(opportunity algorithm):利用重要度和满意度两个值计算机会,从而为未被满足的需求确定优先级的方法。
动机:缺少把不断积累的客户意见转化为改进顺序的方法
为什么尽早发现产品机会很重要
论文给出的理由如下。
- 在客户分析中,尽早发现新的产品机会被视为产品开发与改进过程的首要要求。
- 尽早发现机会的企业,能建立竞争对手难以模仿的客户关系,并在价值链中占据竞争地位。
- 随着产品生命周期缩短、经营环境全球化,客户需求比以前变化更快、更复杂。
- 社交媒体是实时承载大量客户意见的数据来源。在论文引用的调查中,86% 的美国成年人和 79% 的欧洲成年人使用社交媒体。
既有研究未涉及的部分
情感分析已被用于产品规划。有研究从在线评论中发现产品弱点,也有研究测量移动服务的客户满意度。还有研究从用户帖子中了解服务质量,或在社交媒体上界定品牌形象。
论文指出的不足如下。
- 停留在词语层面的分析,难以发现客户谈论的潜在产品属性。
- 没有分析所发现的属性作为改进机会有多大价值。
- 侧重于判别正面和负面,没有处理潜在机会。
- 大多没有就产品开发方向提供指引。
方法:用主题发现属性,用情感计算满意度,再得出机会得分
论文将方法分为 4 个步骤。第 1 步收集目标产品的社交媒体帖子,提取并整理关键词。第 2 步用 LDA 发现产品主题,并计算各主题的重要度。第 3 步利用关键词情感得分计算各主题的满意度,第 4 步用机会算法求出机会得分,确定改进方向。
案例与数据
案例产品是三星 Galaxy Note 5(Samsung Galaxy Note 5,SGN5)。这款智能手机具备通话、无线上网、拍照等通用功能,也有 S Pen、无线充电、三星支付等该机型独有的功能。研究者认为它功能多、用户规模大,适合用来说明分析过程。
数据来源是 Reddit。Twitter 或 Facebook 的数据只能通过分析者设定的关键词或话题标签收集。而在 subreddit(按兴趣领域划分的板块)中,还会积累不含产品关键词的间接意见。
研究者从 SGN5 subreddit 收集了 23,614 条文档,其中帖子 2255 条,评论 21,359 条。写作时间为 2014 年 11 月 7 日至 2016 年 1 月 31 日。发布日(2015 年 8 月 21 日)之前平均每天 4.41 条,发布日之后平均每天 136.25 条,是发布前的 31 倍。
第 1 步:数据收集与预处理
- 输入:客户关于目标产品的社交媒体帖子
- 处理:提取关键词,删除无意义的关键词和文档
- 输出:逐文档记录关键词及其出现频次的数组
- 收集谈论目标产品的客户帖子。使用网络爬虫或社交媒体提供的公开应用程序接口(Application Programming Interface,API)。
- 从每条帖子中提取关键词或核心短语。
- 剔除表情符号、拟声词,以及与分析无关或过于泛泛的词。
- 把每条帖子整理成关键词及其频次的数组。
论文用这样整理出的数据构建文档-关键词频次矩阵,并将该矩阵作为 LDA 的输入。
案例中,研究者使用了快速自动关键词提取算法(Rapid Automatic Keyword Extraction,RAKE)。RAKE 不需要训练数据,可用于任何领域和语言,并且能提取复合词。起初得到 32,637 个关键词,但其中混有网页地址和”WoW”之类的口语表达。
研究者按文档内出现频次和文档频率(Document Frequency,DF)标准筛选关键词,并由人工手动删除剩余关键词中与 SGN5 无关的部分。最终保留 3539 个关键词。不含任何这些关键词的 12,491 条文档被视为广告之类的噪声文档而排除。最终分析对象为 11,123 条文档(23,614 − 12,491 = 11,123)。
第 2 步:发现产品主题并计算重要度
- 输入:文档-关键词频次矩阵、关键词列表、主题数
- 处理:运行 LDA,为主题命名,按主题汇总贡献度并归一化
- 输出:产品主题列表及各主题 0~10 之间的重要度
- 以文档为行、关键词为列,构建各元素为关键词出现频次的矩阵。
- 确定主题数。改变主题数,计算所有主题对的平均余弦相似度,然后选取该值最低的位置。
- 运行 LDA。LDA 将输入矩阵分解为文档-主题矩阵和主题-关键词矩阵。
- 阅读贡献度较大的关键词和文档,由人为每个主题命名。
- 对每个主题,把其对所有文档的贡献概率相加得到重要度,并归一化到 0~10。
之所以这样确定主题数,是因为认为主题之间区分得最清楚的数量才是合适的数量。余弦相似度是两个向量夹角的余弦值,两个向量相同时为 1。因此,主题对的平均相似度越低,主题之间的重叠越少。
重要度的起点是贡献存量(contribution stock)。它是文档-主题矩阵中某一主题的列对所有文档求和所得的值,表示该主题被用户提及的多少。归一化公式为”10 × (该主题的贡献存量 − 最小值) ÷ (最大值 − 最小值)“。被提及最多的主题得 10 分,被提及最少的主题得 0 分。
用案例中的数字计算一下。贡献存量的最大值是 Samsung Pay 的 202.2198,最小值是 Accessory 的 165.9974。Fast charge 的贡献存量是 191.5701。重要度为 10 × (191.5701 − 165.9974) ÷ (202.2198 − 165.9974) = 10 × 25.5727 ÷ 36.2224 = 7.0599,与论文表 6 中的值一致。论文正文只给出了最大值、最小值以及部分主题(Samsung Pay、Fast charge、Software update)的贡献存量,归一化后的全部重要度见表 6。
案例中,平均余弦相似度的拐点出现在主题数为 65 处,此时平均相似度为 0.04554。研究者用 Netminer 运行 LDA。例如 Topic-10 的主要关键词为 SD(0.130)、SD-card(0.094)、removable battery(0.049)、MicroSD(0.036)、IR blaster(0.016),因此被命名为”Expandability(可扩展性)”。
第 3 步:计算产品主题的满意度
- 输入:关键词出现的句子,第 2 步的主题-关键词矩阵
- 处理:对关键词情感得分求平均,构建情感加权矩阵,按主题求和并归一化
- 输出:各主题 0~10 之间的满意度,以及情感加权的主题-关键词矩阵
- 每当关键词出现时就计算一次情感得分,再按关键词求平均,得到关键词情感向量。
- 将关键词情感向量乘到主题-关键词矩阵的每一行上,得到情感加权的主题-关键词矩阵。
- 按行将所有值相加,得到主题的情感存量(sentiment stock)。
- 将情感存量以与重要度相同的方式调整到 0~10。
情感分析方式分为基于词典、基于文本分类和基于深度学习三类。论文选择了基于深度学习的方式,因为它在 Twitter 帖子这类短文本的情感分析中表现良好。实际分析使用的是 IBM Watson 平台的 AlchemyAPI。目的是减少自行实现和测试分类器的时间,并利用以大规模数据训练的分类器的准确度。
同一个关键词在不同句子中的情感也不同。“battery”在抱怨应用消耗电量的句子中得分为 −0.9013,反之在称赞电池不错的句子中得分为 0.8790。因此研究者将各关键词的平均值用作情感权重。
关键词的情感权重有正值也有负值。屏幕材质 AMOLED 为 0.5689,是正值;指纹扫描器(finger print scanner)为 −0.5141,是负值。battery 和 SD card 也是负值。全部关键词权重的一部分载于论文表 5。
案例中,3539 个关键词在 11,123 条文档中共出现 105,483 次。情感存量最高的主题是 Touch wiz(0.1093),最低的主题是 Detect pen1(−0.2918)。平均值为 −0.0999,标准差为 0.0791。65 个主题中有 36 个高于平均值。归一化后,Touch wiz 的满意度为 10.0000,Detect pen1 为 0.0000。
第 4 步:用机会算法发现产品机会
- 输入:各主题的重要度和满意度,情感加权的主题-关键词矩阵
- 处理:计算机会得分,绘制机会地形图,解读靠前主题的情感关键词
- 输出:各主题的机会得分和改进方向
- 计算每个主题的机会得分。
- 绘制以重要度和满意度为两个坐标轴的机会地形图(opportunity landscape map)。该图分为适度满足(served-right)、过度满足(over-served)和未满足(under-served)三个区域。
- 在机会得分高的主题中找出情感加权值大的关键词,朝着提高满意或减少不满的方向确定改进方向。
机会算法由 Ulwick 与结果驱动创新(Outcome-Driven Innovation,ODI)一并提出。ODI 认为,当需求很重要却没有得到充分满足时,就存在创新机会。公式为”机会 = 重要度 + Max(重要度 − 满意度, 0)“。如果重要度高于满意度,就把两者之差再加到重要度上一次。如果满意度更高或相等,则只剩下重要度。
用案例中的值计算三种情形。
- Fast charge:重要度 7.0599,满意度 5.4720。7.0599 + (7.0599 − 5.4720) = 7.0599 + 1.5879 = 8.6478。
- Software update:重要度 4.6186,满意度 4.9924。差值为负,取 0,机会得分与重要度相同,为 4.6186。
- Detect pen1:重要度 2.2850,满意度 0.0000。2.2850 + (2.2850 − 0) = 4.5700。
未满足区域的需求是相对于其重要度而言满足不足的需求,机会算法将其视为创新机会。
结果:三星支付、快速充电、S Pen 和电池主题位居改进机会前列
客户提出的 65 个主题的构成
65 个主题中,有 6 个涉及电池和充电,分别是 Battery life、Battery usage、Battery drain、Fast charge、Charger、Wireless charge。与上一代机型 Galaxy Note 4 相比新增或有变化的功能,也被识别为 6 个主题,分别是 Samsung Pay、Pen out、Expandability、Wireless charge、Screen off memo、Samsung Pay on ATM。
软件相关主题最多,有 13 个,Software update、Music App、Multi-window、Touch wiz 等属于此类。研究者据此认为,在智能手机市场中软件与硬件同样重要。
重要度与满意度的分布
贡献存量的平均值为 171.1228,标准差为 6.58。65 个主题中高于平均值的只有 20 个。研究者指出 Samsung Pay(202.2198)、Fast charge(191.5701)、Software update(182.7272)是明显偏离平均值的数值。
归一化后,全部主题的平均重要度为 1.4150,平均满意度为 4.7854。
机会得分靠前的主题
在机会地形图中,位于未满足区域且机会得分高的主题有 7 个,分别是 Samsung Pay、Fast charge、Battery life、Expandability、Pen out、Detect pen1、Detect pen2。这些主题的满意度都低于重要度。全部主题的平均机会得分为 1.7098。各主题的完整数值见原论文的表 6(重要度和满意度)和表 7(机会得分)。这里只看两个代表性案例。
Samsung Pay 的重要度为 10.0000,满意度为 7.8185,机会得分为 12.1816,位居第一。其满意度高于平均值 4.7854,但低于重要度 10.0000。由于满意度低于重要度,它被归入未满足区域。研究者解释说,这是 SGN5 上首次出现的功能,因此被提及的次数和受到的期待都很多。
Detect pen2 的重要度为 4.3805,低于 Pen out 的 4.6130。但它的满意度为 0.1384,低于 Pen out 的 0.6877。因此,Detect pen2 的机会得分 8.6225 超过了 Pen out 的 8.5384。论文说明,S Pen 是其他智能手机所没有的 Galaxy Note 系列的核心功能。
Fast charge 和 Battery life 归根结底都与使用时间有关。Expandability 的主要关键词可更换电池,同样与使用时间相关。尽管已经出现了高电压充电、无线充电、新材料等解决方案,客户的需求依然存在。
从情感关键词中读出的改进方向
研究者通过阅读机会得分高的 6 个主题中的主要正面、负面关键词,整理出改进方向。
- Samsung Pay:负面关键词集中在近场通信(Near Field Communication,NFC)以及”Apple pay”、“Android pay”等竞争服务上。正面体验和对促销活动的反应良好。研究者认为需要支持 NFC 并提高识别率。
- 快速无线充电:这项功能把充电功率从 5.0V 2.0A(10Wh)提高到 9.0V 1.67A(15Wh),提升至 1.5 倍。客户对充电速度满意,但对充电中断的问题不满。此后发布的充电器(EP-NG930)多加了一个线圈,扩大了识别区域。
- Detect pen2:在按压弹出(push-to-eject)方式下,将 S Pen 反向插入会导致设备故障,这一缺陷以负面关键词的形式显现出来。“S-Pen sensor”、“S-Pen Backwards”、“spring mechanism”就是这些关键词。该缺陷在之后的改款中得到了解决。
- Battery life:识别出”Package Disable”、“background service”、“unnecessary process”这类为延长使用时间而用的软件技巧。研究者认为硬件和软件都需要改进。
- Expandability:很多客户反对取消 microSD 插槽。不过,客户找到了云存储以及”battery-pack”、“portable power banks”等替代方案。
- Software update:“optimization”是正面关键词,在全部文档中出现了 9 次。而”factory reset”以及更新后的发热和电池消耗则表现为不满。
意义与局限
带来了什么不同
- 以主题而非词语为单位进行分析,从而界定客户所说的潜在产品属性。
- 不止于判别情感,而是为每个主题计算机会得分,排定改进优先级。
- 借助情感加权的主题-关键词矩阵,为每个主题提供改进方向的指引。
- 由于只依赖文本数据,除产品外也可用于服务和产品服务系统。
对从业者的价值
产品规划人员无需预先设定题项,就能从客户帖子中同时得到属性清单和改进顺序。机会得分靠前主题的负面关键词,可以直接成为改进课题的候选。Samsung Pay 的 NFC、无线充电器的中断就是这样的例子。
研究者认为这一流程可以通过软件系统实现,并期望它能用作实时客户监测工具。如果同时分析评论的撰写时间,还可以追踪客户需求的趋势。
对研究者的价值
这篇论文把主题建模、情感分析和机会算法整合为一个流程。论文指出,情感分析可以使用基于词典、基于文本分类、基于深度学习等多种技术。从这里开始是笔者的意见。在各步骤中替换不同的技术并比较结果,这样的研究设计也值得尝试。
论文自述的局限
论文自己指出的局限有三点。
- 重要度和满意度是用最大值和最小值归一化得到的相对值。这是因为难以确定适合 0~10 尺度的绝对值,制定标准基准留作后续课题。
- 需要进一步考察过度满足区域的需求。该区域可能成为颠覆性创新的线索。
- 只应用于一种产品。需要研究将其应用于服务和产品服务系统等其他领域。
笔者认为的适用条件
以下并非论文所写的内容,而是笔者着眼于实务应用而补充的条件。
- 当贡献存量的差异较小时,归一化会把这种差异大幅放大。案例中贡献存量最大值与最小值之差为 202.2198 − 165.9974 = 36.2224,这一范围被拉伸到整个 0~10。因此,对中间位次主题的排序应当谨慎解读。
- 如果主题数或关键词列表改变,最大值和最小值也会改变,所有得分随之一起变化。若要按时期比较,必须保持相同的关键词列表和主题数。
- 社区用户可能与全体客户不同。社交媒体的结果最好与其他客户数据一起解读。
- 主题名称由人来命名。由两人以上分别命名再相互核对,可以检验解释的一致性。
马上可以做的事
- 收集谈论自家产品的社区帖子并提取关键词。删除表情符号、拟声词和无关的词之后,剔除不含任何剩余关键词的文档,并确认文档数和关键词数。
- 改变主题数的取值多次运行 LDA。选取主题对平均余弦相似度最低的主题数,然后阅读贡献度靠前的关键词和文档,为每个主题命名。
- 制作把各主题的重要度和满意度调整到 0~10 的表格。用”重要度 + Max(重要度 − 满意度, 0)“计算机会得分,阅读靠前的几个主题的负面关键词,编制改进课题清单。