AI分析:微信热文有什么特点?兼谈中文分词算法

 

 

我们能在朋友圈看到的许多传阅多的公众号文章,通常都是阅读量达到10万以上的热文。即使是讨论同样的事情,为什么这些文章能够被广泛传阅从而让你忍不住点进去?我们不妨用大数据加上AI的方法来分析一下这个问题。

 

为了回答这个问题,我们需要介绍一下中文分词这个AI相关的语言处理技巧。对分析结果更感兴趣的读者可以直接跳到文章后面部分先睹为快。

 

 

AI原理:

 

汉语里面的单个汉字在语境中有很多歧义,只有组合成词语以后,才更加有意义。这个是汉语和英语不一样的一个地方。3000多个汉字就能组合非常非常多的词汇,从而帮助我们表达。我们个人阅读句子时候,会自然而然的把字分成词语,但是在计算机算法里面,必须要从新学习这个技巧。

 

按照从易到难的顺序有下面几种技术来分词:

  1. 使用预先准备的词典,查找词典,把句子中的词汇找到
  2. 使用AI中的HMM算法
  3. 使用AI中的CRF算法
  4. 使用AI中的RNN/LSTM等深度学习算法

 

词典的方法比较好理解。假如我们预先收集了所有的中文词汇,那么对于任何一个新的句子,我们要做的就是把句子的各种词的组合拿到词典里面去验证,如果正好在词典里面找到了这个词,那说明测试的词汇是正确的。 这个方法的运用难点在于计算的效率。如果每次拿到一个新的疑似词汇,都和词典的词挨个比较,那么是相当花费时间的。计算机学科里面讲求算法的时间复杂度。简单来说,如果循环一次数据能搞定的事情,就绝对不会循环两次。因此词典应该实现做好索引,从而使得寻找某个词时候,我们能够用一次查找(几乎)的时间就准确回答出这个词到底在不在词典里面。

 

假设我们要对 "李白不是我。”这个句子进行分词,找到其中的所有词汇,使用词典找词汇的算法步骤如下。

  1. 假设词典里面的词的最长长度为M, 那么从句子的最开始,数M个汉字出来,拿到词典里面去比对,看看这个词是否存在。
  2. 如果该词存在,那么记录下来。同时从第M+1个汉字开始重复上述过程。
  3. 如果该词不存在,从句子最开始数M-1个汉字出来,重新去词典里面比较。
  4. 如果M减小到1以后(即句子的第一个字),那显然该字只能单独成词。这个时候我们把这个单词记录下来。然后从句子的第二字开始重复上述过程。
  5. 重复以上过程,直到整个句子分析完成。

 

以上面的句子为例,当我们比较长度为2个字的词时候,我们应该找到“李白”这个词。然后,我们从“不”开始,能找到“不是”第二个词。最后我们会找到“我”这个词。

其余的分词方法为AI相关算法。一般来说,AI算法需要大量的标签,即大量经过人工加注标签的句子。了解AI算法训练过程的人可能会觉的头疼。这么多词语意味着成千上万的标签,AI算法对上万的标签进行分类。其实分词的标注技巧在于,并不要求算法直接学会辨别出各种各样的词汇,而是只需要学会在句子中判断哪里是一个的词的开始(B),词的中间(I),次的结尾(E),和单独成词 (S)四种情况。这样就把问题大大简化为4中学习情况。比如下面的表示:

句子: 李太白不是我。

标签: B  I  E  B E S

 

有了无数这样人工标注好的句子,就可以让机器学习算法去自动学习了。一旦学好,对于新的句子,算法可以判断每个字属于词首,词中,词尾等性质,自然我们也就分好了词。所有B和E中间的字都属于一个词。

 

 

HMM (Hidden Markov Chain) 隐藏马科夫链条算法,是一种机器学习算法。对于判断句子中每个词的性质特别合适。其原理是假设每一个字都有n个不同隐藏(未知)的状态,并且有可以测量的表现形式,这个表现形式只依赖这个字的隐藏状态和前面一些字的隐藏状态(最简单的情况,只依赖于当前这个字和前面一个字的隐藏状态)。对于分词应用而言,HMM的隐藏状态就是B,I,E,S中的一种,表现形式就是我们看到的是哪个汉字。HMM的训练非常简单,维特比(Viterbi)算法可以快速给出答案。

 

CRF(Conditional Random Field) 算法和HMM最大的区别在于,HMM有条件独立的假设,并且当前的节点只依赖于之前的节点。而CRM去掉这些假设,并且可以考虑更多的特征组合,包括后面的节点信息,因而效果通常更好。

 

深度学习中的循环神经网络结构(如RNN, 或者LSTM)在特征组合上更加灵活,预测效果会更上一层楼。

 

 

 

 

分析结果

 

  1.  

这些热文的第一个特点是文章内容有趣。怎么才能有趣呢? 看读者一般喜欢什么主题。比如说60%的读者喜欢娱乐相关内容,那么跟你也基本上有60%的可能性会点击娱乐性相关的文章。

 

如上图所示,前10大主题依次是:(1)社会话题,(2)时事话题,(3)国际话题,(4)健康话题(5)情感话题,(6)财经话题,(7)文化话题,(8)娱乐话题,(9)体育话题,(10)教育话题。其中“社会”和“时事”两个主题加起来占比接近50%。这样10大主题比例是否接近你的阅读习惯呢?

 

 

 

 

 

 

2.

这些文章的第二个特点是引人注目的标题。为了达到最大化吸引读者点击的目的,公众号的作者们,绝对是付出了“两句三年得,一吟泪双流”的艰辛努力。

 

阅读这些热文的标题,首先让人印象深刻的是标点符号的运用。经过简单统计,笔者发现居然有一半左右的热文标题用了感叹号! 另外接近20%的人喜欢用问号。 插一句,笔者自我检查发现,感叹号用的不多,不过问号好像常用。看来笔者的风格还不是最俗(热)。

      

感叹号 !

50% 使用比例

问号 ?

20% 使用比例

 

 

 

第二,我们看看这些热文的标题字数多少,是否有规律可循。

标题的长度分布如下图, 从下图可以看出,一般标题的长度在20个字左右。看来取标题不能太长,也不能太短。不过20个字来说,感觉还是偏长的。看来,标题里面要把事情讲的恰到好处,既不能拖沓也不能透露太多,字数的把握是个技巧。从分布来看,有的文章标题超过了60个字!

 

 

第三,我们运用中文分词的技术,来看看这些标题都用了哪些耳熟能详的词汇?

我们感兴趣的是哪些有意思的词汇出现热文标题里面呢? 答案是一些副词和形容词等词汇。常见的词汇,排名靠前的一些例子如下:

 

什么

最新

这些

我们

这样

为什么

刚刚

如何

今天

网友

真的

一定

终于

到底

紧急

注意

搞笑

突然

好消息

突发

 

 

发布了34 篇原创文章 · 获赞 8 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/robot_learner/article/details/104693530