前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >他们揉碎了5000本书籍的数据,曝光了畅销书的成功套路

他们揉碎了5000本书籍的数据,曝光了畅销书的成功套路

作者头像
DT数据侠
发布2018-08-08 13:50:55
4200
发布2018-08-08 13:50:55
举报
文章被收录于专栏:DT数据侠DT数据侠

平时的你是否会通过畅销书榜单挑选图书呢?或许书籍畅销不能代表经典,但在某一时期受到大众欢迎,并且销量出色的书籍,总是会有它成功的理由。

今天是世界读书日,我们一起来看看来自斯坦福的数据侠,如何揭开畅销书密码~

本文转自公众号数据冰山(ID:shujubingshan)

我们经常用图表展示什么车好卖,什么饭好吃。当然,并没有把A6和LS剁碎了对比钢材、铝材、玻璃和橡胶的比例,也没有把黄焖鸡和沙县小吃熬成糊化验一下化学成分。

可是,斯坦福出来的一男一女用了5年的时间把最近30年的5000本书扒光了揉碎了让机器帮忙看,就为了暴露小说畅销的秘诀。他俩把发现总结成2016年出版的《畅销书密码》。

这本书要回答这个问题:畅销书到底有没有套路?

答案是:有。那么:

  • 谁敢说有?
  • 有什么套路?
  • 套路怎么识破的?

▍谁敢说有?

写书的两位是来自斯坦福和苹果的自然语言处理专家。

男的叫Matthew Jockers,内布拉斯加大学林肯分校英语系副教授,蒙大拿人,跑马能进4,跑超马能完成,在科罗拉多州攀过岩,在湾区打过英式橄榄球。此人2009年在斯坦福教书时和同事共同创建了斯坦福文学实验室,致力于将计算机评价用于文学研究。他的学术专著包括《宏观分析:数字方法和文学史》和《R法文本分析》。他还在苹果公司的iBooks做过科研。

女的叫Jodie Archer,英格兰八零后,剑桥英语系本硕,斯坦福英语系博士,曾做过企鹅出版社编辑,苹果公司iBooks的科研和主管。2016年在图书经纪人的鼓励下把她跟Matt做的博士论文成果写成了《畅销书密码》。她当时的博士论文是:《解读畅销书:2万部小说的分析》。

这两位写这本书出了名,现在合伙搞一个咨询公司叫Archer Jockers,专门帮助积极上进的作家诊断改进作品,力争畅销。他们对于单本小说、系列小说、和小有成就作家的咨询服务分别收费$349,$829和$2799。毕竟是苹果出来的人,三级定价刚好能买iPhone SE,iPad Pro,和MacBook Pro。

能在毕业3年之内把论文变现,这个事迹值得在读博士生们参考。

之所以他俩敢说畅销书有套路,是因为他们的机器经过训练能猜出一本书是否畅销,准确率能达到80%。所以说机器经过训练总结出来的那些文本特征是套路,即畅销书密码。

▍有哪些套路?

在人的指导下,机器从主题情节文风人物四个角度博览群书,发现畅销书跟非畅销书相比有一些显著的差异。这里主要分享一下主题和情节。

首先,主题要有重点、有冲突、接地气。

跟非畅销书琳琅满目纷繁复杂的主题组合相比,畅销书按篇幅排序有一个鲜明的第一主题,并把全书篇幅的30%集中在第一第二主题上,第一和第二主题之间有潜在冲突,同时主题还不能太脱离现实生活。

按主题份量累积到40%篇幅的时候,畅销书平均才4个重点主题,而非畅销书平均达到6个主题。体会一下,主题太多太平均有没有眼晕的感觉?

关于对比和冲突,下面的一二主题组合哪个更卖座?

  • 家庭和医院
  • 性爱和园艺

家庭和医院更好。家庭意味着祥和,医院意味着伤病,满满的潜在冲突。而那些风马牛不相及或一顺边无冲突的组合不卖座。

作者发现,有一个万金油主题,虽然卖座的和不卖座的书都写,但是卖座的书这一主题的份量突出的重,因此这个主题的比重在猜畅销的算法中贡献很大。这个主题就是那种看似随意而又感人的「人与人的亲近」。这种亲近不是热恋的疯狂,也不是老师学生雇主员工那种公事公办,而是那种平凡细节中的亲密、默契、和纽带。比如跟妈妈去购物、跟爸爸去钓鱼、跟新恋人一起做饭等等。讲故事就像谈恋爱,不能始终冰凉也不能干柴烈火,而要小火慢炖。

另外,特别离奇的主题不容易卖座。太空船、独角兽和女巫的风险都比较大。为了让广大群众有代入感,主题要有现实基础。故事背景在小镇在都市均可,具体哪个国家哪个州也随便,但别动不动就去丛林、沙漠、深海、庄园。

如果要找一个卖座不卖座主题不完全清单,卖座的包括:婚姻、死亡、税收、黑科技、葬礼、枪支、医生、职场、学校、总统、报纸、孩子、母亲、和媒体。不卖座的包括:性、毒品、摇滚、引诱、和肉体描写。

书中拿《家庭规则》这本畅销书的主题配比举例,一二主题占33%,孩子和犯罪有对比冲突,环境设置在法庭、家庭接地气,「亲近」在置顶主题中。

(图片说明:基于书中数据用文图制作;图片来源:wentu.io)

其次,情节线要有起伏、有节奏。

古今中外经典故事,小到龟兔赛跑,大到赤壁之战,大都可以简化成三幕式结构:铺垫、冲突、结局。

(图片说明:三幕式结构;图片来源:维基百科)

但是分析畅销书,这个模型过于简化。因此,Jodie和Matt把畅销书们扫了一遍,用页数百分比进度做横轴,情感的积极消极做纵轴,结果各种情节被归纳成七大曲线。简单说吧:

  1. 上台阶型:常见于喜剧
  2. 下台阶型:常见于悲剧
  3. 横N型:常见于「走向成熟」
  4. 横S型:常见于「重生」
  5. W型:常见于「探险归来」
  6. M型:常见于「求之不得」
  7. U型:常见于「过关打怪」

(图片说明:上台阶;图片来源:wattpad)

(图片说明:下台阶;图片来源:wattpad)

(图片说明:横N;图片来源:wattpad)

(图片说明:横S;图片来源:wattpad)

(图片说明:W;图片来源:wattpad)

(图片说明:M;图片来源:wattpad)

(图片说明:U;图片来源:wattpad)

理论上第七种U型「过大坑」应该有个「翻大山」的镜像曲线,可惜,翻一座大山然后立刻走低的故事没有在畅销书中出现。

虽然这七种都在畅销书中出现过,但作者认为美国读者最爱看的是增强版的W,就是W中间的头部两侧长出两个凸起的肩膀。最突出的例子就是2011年出版的畅销性爱浪漫小说《五十度灰》,红得发紫被好莱坞拍成电影。抬一下杠,不是说了性主题从概率上讲不卖座吗?这里作者辩解说:此书主题其实是伪装在性中的「人与人的亲近」,另外情节曲线近乎完美地吻合美国读者口味。

有一个验证:2003年出版同样被拍成电影的畅销书《达芬奇密码》的情节曲线几乎和《五十度灰》一模一样。

(图片说明:《达芬奇密码》和《五十度灰》的情节线;图片来源:wattpad)

这个增强版W的特点是在全书尺度上起伏均匀对称,节奏感强。

关于文风,作者首先确认文风就像一个人的指纹,是可以识别的。比如,2013年,一个名不见经传的作者Robert Galbraith出了一部新小说《布谷之鸣》,结果通过文风识别发现这个Robert其实就是《哈利波特》的作者J. K. Rowling试图隐身用的笔名。

(图片说明:试图伪装成Robert的J.K.Rowling;图片来源:维基百科)

通过文风分析,作者发现畅销书普遍更加口语化,开篇更像心声独白,行文更加简洁,就像没有装饰品的朴素优美的杉树,而不是过度点缀的圣诞树。另外男女作家的文风有可以辨认的差别。有趣的是,虽然在所有畅销书中男女作家的比例六四开,但单看文风,更多的女作家的文风量化结果接近畅销书的文风特征。这些有畅销范文风的女作家大多有新闻和营销方面的教育背景和履历。或者说,要畅销,得懂得怎么跟老百姓说话。

最后,关于人物,作者发现主人公常用的动词是能否畅销的重要指针之一。因为性格决定命运,命运推进情节,而性格,特别是性格中是否有很强的主观能动性,是可以用常用动词来识别的。比如,体现强烈主观能动性的动词「需要」和「想要」,畅销书的词频是非畅销书的2倍;「想念」和「爱」的词频是1.5倍。相比之下,非畅销书的主人公们就比较被动,经常用「接受、厌恶、看来、觉得、恢复」这样的词汇来形容。平均来讲,非畅销书「希望」的词频是畅销书的1.3倍,「觉得」是1.6倍,而「厌恶」差不多2倍。所以,读者喜欢有主见掌握自己命运的主人公。

以上就是两位作者发现的套路,号称畅销书密码。

这些套路到底是怎么被他俩识破的?全是自然语言处理的招数。

▍套路怎么识破的?

Jodie和Matt是良心魔术师,在《畅销书密码》这本书正文之后专门加了一章魔术揭秘,分享识破畅销书套路的方法。这个方法分三步走:

  • 扒光:用自然语言处理技术提取小说的文本特征
  • 找规律:从已知小说的所有文本特征中找出与「是否畅销书」强相关的代表特征
  • 归堆:扫描未知小说的代表特征,判断是与畅销书还是非畅销书更相近

1. 首先是「扒光」,提取文本特征。

跟人相比,机器的特长是海量阅读和量化阅读。人看小说,进入情节,喜怒哀乐随着主人公变化,但是我们不会注意文字的那些量化特征。比如:

  • 「的地得」的词频是不是比正常人多?
  • 平均句子长度偏长偏短?
  • 同一本小说中叙述和对话的篇幅比例?
  • 主人公喜欢用什么动作?
  • 小说相关主题的篇幅占比排序?
  • 作者更喜欢用「非常」还是「特别」还是「忒」来表程度?

机器在数数方面比人拿手多了。如果把这些可量化的文本特征提取出来,就相当于扒掉了人眼最熟悉的一层,直接分析对比人类读小说时忽视的那些细节。

要做到这一点,就得让机器能读懂人话,这就是自然语言处理。

比如严歌苓在《芳华》中的名言:

一个始终不被人善待的人,最能识得善良,也最能珍视善良。

要读懂这句话,涉及到分词、分句、词性标注、依存句法和情感分析。

第一步是「分词」,就是把句子分成词。对读中文的人或机器来说,分词的难点在于要知道哪个字跟哪个字搭伙算一个词。比如「善」和「良」组成「善良」。上面这句话用的都是常用词,比较好分:

一个 始终 不 被 人 善待 的 人,最 能 识 得 善良 , 也 最 能 珍视 善良 。

但是,当有一些字脚踩两只船跟前后都眉来眼去的时候,分词就变成一件坑机的任务。比如:

沿海南方向逃跑:「沿海」还是「海南」? 结婚的和尚未结婚的:「和尚」还是「尚未」?

上面这俩还是3P,来一个5P的:

他说的确实在理:「的确」和「实在」,还是「确实」和「在理」?

有同学说还是英文简单吧:英文天然分词,词跟词之间现成空格啊!

真的吗?如果真是拿空格来分词,标点符号怎么算?是「today」还是「today,」?标点不算词,那带撇的那些货呢?「can’t」? 「Robert’s」?

所以,分词看起来简单,也需要利用词典和统计推断算法来让机器从海量阅读训练中学会消除歧义和应付例外。比如,机器可以在训练阅读中发现,「理」字很少单独出现在句尾,因此「在理」最可能是句尾的词,前面自然是「的确」。

当然,即使用机器学习,也不能保证100%准确分词。比如这句话:

两种人容易被甩:一种不知道什么叫做爱,一种不知道什么叫做爱。

哈工大模型认为:

两 种 人 容易 被 甩 : 一 种 不 知道 什么 叫做 爱 , 一 种 不 知道 什么 叫做 爱 。

斯坦福模型认为:

两 种 人 容易 被 甩 : 一 种 不 知道 什么 叫 做爱 , 一 种 不 知道 什么 叫 做爱 。

明显两校都没看懂,您说谁污谁萌?

在分词过程中,还需要教会机器识别各种人名、地名、机构名等命名实体。这样,

在《畅销书密码》里,作者就是用命名实体识别来扫描书中的地名,发现小说背景选择的地点与畅销与否没关系。纽约发生的故事斯德哥尔摩的故事畅销机会均等。

分词之后的分句也有歧义问题。

要教机器断句,可以简单粗暴地用几条规则:见到句号、叹号、问号就算一句。这个中文还好,英文就有麻烦了:句号这个点的玩法太多。「Dr. Smith」和「a.s.a.p.」中的点都不是句号。要消除歧义,当然可以加很多条规则,但还是很难穷举语言中的种种例外。所以,算法们越来越多的从罗列规则转向海量阅读训练和统计推断。

分完词断完句,要标注词性。作者用名词来归纳畅销主题,用形容词来分析情感,用动词来分析主人公的主观能动性。这里的坑在于:同一个词在不同句子中的词性不同。比如「希望」可以是动词,也可以是名词。跟分词分句的思路相似,词性标注算法也是通过海量阅读训练文本来熟悉同一个词在不同句子中不同位置上的最可能词性。

比如,《芳华》中的那句话被哈工大的系统标注成这样:

一个/m 始终/d 不/d 被/p 人/n 善待/v 的/u 人/n ,/wp 最/d 能/v 识/v 得/u 善良/a,/wp 也/d 最/d 能/v 珍视/v 善良/a

m、d、p、n、v、u、a、wp分别表示量词、副词、介词、名词、动词、连词、和形容词。

如果用《畅销书密码》作者使用的斯坦福模型,标注成这样:

一/CD 个/M 始终/AD 不/AD 被/LB 人/NN 善待/VV 的/DEC 人/NN,/PU 最/AD 能/VV 识得/VV 善良/VA,/PU 也/AD 最/AD 能/VV 珍视/VV 善良/NN。/PU

而一面数据采用的词性标注模型输出这样的结果:

一个/m 始终/d 不/d 被/p 人/n 善待/v 的/uj 人/n ,/x 最/d 能/v 识得/v 善良/a ,/x 也/d 最/d 能/v 珍视/v 善良/a 。/x

这里不用深究不同系统标注符号的差别。但是注意:

  • 哈工大模型认为第二个「善良」是形容词(a),斯坦福模型认为最后一个「善良」是名词(NN),虽然二者同意第一个「善良」是形容词。
  • 一面数据调校的jieba模型跟哈工大一样认为两个「善良」都是形容词,但是跟斯坦福一样认为「识得」是一个词。(对,「结巴」不丢人。)

通过这一句话我们没打算对比模型优劣,只是说明不同模型对同一句子的解读可能会不同,正如人类一样。

词性标注之后,就可以做依存句法解析。这就是用机器熟悉的类似主程序和子程序的结构来表达一句话各个词之间的依存关系。

上面那句话,在哈工大的系统中解析成:

(图片说明:依存句法解析;图片来源:https://www.ltp-cloud.com/demo/)

斯坦福的系统解析成这样:

代码语言:javascript
复制
(ROOT
  (IP
    (NP
      (QP (CD 一)
        (CLP (M 个)))
      (CP
        (IP
          (VP
            (ADVP (AD 始终))
            (ADVP (AD 不))
            (VP (LB 被)
              (IP
                (NP (NN 人))
                (VP (VV 善待))))))
        (DEC 的))
      (NP (NN 人)))
    (PU ,)
    (VP
      (VP
        (ADVP (AD 最))
        (VP (VV 能)
          (VP (VV 识得)
            (IP
              (VP (VA 善良))))))
      (PU ,)
      (VP
        (ADVP (AD 也))
        (ADVP (AD 最))
        (VP (VV 能)
          (VP (VV 珍视)
            (NP (NN 善良))))))))
       
(来源:Stanford Parser)

无论是哪种形式,总算是让机器能理解一句话的结构了。这样,我们就可以分析主语对应的动词,结合命名实体识别,挑出那些主语是主人公名字的句子,我们就可以统计小说的主人公使用不同动词的相对频率。比如,是「需要」多一些还是「觉得」多一些。

在上文中,我们还提到了情节曲线。作者用的是情感分析。情感分析的算法可繁可简。复杂的情感分析也用到统计推理,简单的用情感词库来标记积极和消极情感。比如「爱」是积极的,「恨」是消极的。统计推理法目前在消费者评论分析、电邮分析中已经在用。《畅销书密码》作者经过试验发现对于情节曲线的提取来说,简单的情感词库算法效果还不错。

2. 提取完文本特征,下面是「找规律」,筛选出判据特征。

《畅销书密码》的研究通过自然语言处理,分析了28,000个文本特征,包括The的词频、平均句长、故事所在地等等在我们人类读者看来非常无聊的数据。

作者经过漫长的筛选,发现其中90%确实是无聊的,它们对于一本书是否畅销没有任何预测价值,比如故事所在地和故事发生年份。最后中选的特征只有2799个,这些判据特征跟一本书是否畅销相关,包括前面介绍的那些畅销套路,比如亲密关系主题、主人公的需要和想要、口语化缩写的词频等。

发现这些判据特征的思路很直接。

作者依据纽约时报畅销榜把所有书分成非黑即白的两大类:上榜的和落榜的。如果某一个特征在上榜书和落榜书中有明显不同,比如上榜书用「really」明显多而用「very」明显少,那么「really」和「very」的词频就成为判据特征之二。

3. 判据特征有了,最后是「归堆」,根据未知书的判据特征值猜它是否畅销。

根据已有知识对未知进行归类,这是机器学习的基本问题之一。这个技术的应用不光用在诊断一本书是否畅销,还包括其它领域比如根据症状诊断患者是否有癌症。机器归类是要解决这个问题:

  • 已知上榜书和落榜书的判据特征值在特征空间中的分布,给出未知书的判据特征值,判断它应该属于上榜书还是落榜书。

《畅销书密码》的作者采用了三种归类算法:K最近邻(KNN)、支持向量机(SVM)和最近收缩形心(NSC)。这些高大上的缩写比较烧脑,咱们还是打个比方抄个近道吧。

比如您搬到了一个别墅区,周围邻居的小洋楼们有一期的,有二期的,分散在小区里。您想知道:过节您应该参加一期邻居的活动还是二期的?您有三个思路。

(图片说明:K最近邻(K Nearest Neighbors);图片来源:维基百科)

第一个思路是「数邻居」。您定个要数的个数K,比如K=3,然后环视四周,找三个最近的邻居。是一期的多还是二期的多?哪期多您就跟哪期邻居玩。这就是K最近邻(KNN)算法。

(图片说明:支持向量机(Support Vector Machine)方法;图片来源:维基百科)

第二个思路是「划边界」。您想办法在一期洋房和二期洋房之间沿空隙最大的方向在空隙正中划一条边界线,如果您家落在边界线一期一侧就算一期,否则就算二期。这就是支持向量机的理念。

(图片说明:最近收缩形心(Nearest Shrunken Centroid);图片来源:researchgate.net)

第三个思路是「看会所」。假设一期二期在各自楼群最方便的地方各自有一个会所。您看看您家离哪期的会所近,您就算哪期。这就是最近收缩形心(NSC)。

在《畅销书密码》研究中,作者三种方法都使用。其中,数邻居的KNN方法在K=15时效果最好,猜中率能达到90%,划边界的支持向量机法(SVM)只能达到70%猜中率,而看会所的最近收缩形心法(NSC)达到79%。三种方法的综合平均猜中率是80%。其中,NSC的额外优势是能直接总结出上榜书和落榜书的特征值差异,因为「会所」的位置清晰。

猜中率的具体计算是这样的:

  • 随机选择10%的上榜书和落榜书放在一旁作为待测未知书
  • 用剩下的90%小说训练机器,提取文本特征,归纳出判据特征
  • 用判据特征去判断未知书是否上榜,记录猜测的准确性

另外,还可以随机选择仅仅一本书放在一旁待测,用剩下的所有书对机器进行训练和建模,然后猜测未知书是否上榜,记录是否猜中;之后换一本书放在一旁,用剩下的所有书再次建模再次测试,以此类推,计算总体猜中率。

所以,识破畅销书套路,离不开自然语言处理和机器学习的套路。包括:

  • 怎么通过分词、分句、命名实体识别、词性标注、句法依存解析和情感分析来准备素材,提取文本特征
  • 怎么通过相关性分析从文本特征中筛选出与上榜落榜最相关的判据特征
  • 怎么通过三种机器归类方法,根据未知书的判据特征值,猜测未知书上榜还是落榜

注:本文仅为作者观点,不代表DT财经立场。

作者 | 张戎

题图 | 站酷海洛

▍数据侠门派

本文数据侠张戎,一面数据数据专家。数据冰山通过数据挖掘与分析,呈现互联网海面下隐藏的数据秘密。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DT数据侠 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档