治理环境 扮靓家园
2017-11-28 10:16 来源:鲸媒体 新东方 原标题:程序猿用人工智能技术拆解老俞内心世界,发现…… 文/迟耀明 老俞的演讲:一个中年男人的成长,火了。后知后觉的我,开始好奇老俞究竟说了些啥?又说过些啥?俞敏洪,他的内心是怎么样的? 为了解答这些问题,作为一个郁郁不得志的程序猿,我用Python抓取了“老俞闲话”这个公众号里老俞今年写过的文章,总共192篇;做了一些数据分析和基于AI的自然语言处理工作,目的就是满足一下我的好奇心,也给同样好奇的群众们一个有理有据、有趣有料的答案。 1.首先是抓取问题: 通过搜狗搜索引擎搜“老俞闲话”的微信公众号,并获得文章列表。随后通过模仿用户行为对cookie进行处理。接下来会遇到验证码的问题,通过自己写的验证码识别程序就可以识别验证码,如果嫌麻烦,也可以通过打码平台识别验证码。 2.抓取后就是数据的入库、清洗、分析: 抓取下来的文字中有一些无意义的文字、符号,比如:“的”、“了”等,还有一些在微信公众号语境中无意义的词比如“阅读原文”等。所以,为了分析出准确、可用的结果,要先建立一个停用词库。鲸媒体之前有基于新闻、公众号这个场景的停用词库,所以我就直接调用了。 3.于是结果出来了: 我们把教育品牌词拿 出来,排了个序,发现除了新东方自己之外,俞老师最常挂在嘴边的是这些公司、机构:新东方、苹果公司、北大、洪泰;看来除了俞老师创办的新东方和洪泰基金,毕业的母校北大,以及苹果公司都在俞老师心中占据了很重要的位置。 俞老师最常挂在嘴边的名词是:人生、中国、能力、阅读、老师。 然后我们看看在俞老师的语言中,与这些高频词相关性最高的词是哪些,结果如下: 这里面用的方法是,通过词向量的方式,将与之相关性最高的词找出来。仔细看看结果,还是蛮有意思的。可能过段时间,与这些高频词相关性最高的词又变了,变化的原因大可以深究。 4.光看词频并不过瘾,我还想知道俞老师当时的心情。于是我把老俞闲话中的文章按月分成11段。我想看看通过老俞闲话中的语言表达,来分析俞老师发文时的情绪是怎么样的。 首先将11个月的语料,分好文件; 其次需要一个基于中文文本的情绪识别系统;我所就职的公司——鲸媒体,正好有一个现成的,所以直接用上了。我使用的语言是Python(版本3.6),深度学习的框架是TensorFlow(版本是1.3,基于GPU计算版本),情绪识别的深度网络是我们前期经过大量语料(几十万条)训练形成的。 导入文本,深度网络开始情绪识别工作: 结果出来了,今年1月到11月的文章情绪识别情况统计下如图,今年10月份老俞并没有发文章。 {正面、中性、负面情绪折线图} 好奇心驱使,我把新东方每月平均股价的走势图拿出来做了个对比(股价的每月平均值=按照交易日的收盘价/本月交易日数): 这样一对比,似乎可以看出一些东西? 简单地看并没有相关性,我又不想再做复杂的、颗粒度更细的对比了;所以,从取巧的角度得出这样的结论:新东方的股价并不是俞老师的唯一,公司发展和生活方式让俞老师是否快乐更重要。 5.识别完情绪,我还不过瘾。我想能不能提取“老俞闲话”语言表达特征,让机器模拟这些特征,以老俞的口吻写一段文字出来。 机器写作的思路是这样的:历史数据 —— 喂给机器,让机器提取特征 —— 训练、循环 ——通过定义种子词和灵感程度生成结果。 机器写作的过程大致如下: 解释一些截图中的内容: 这一年的老俞闲话:一共有429455个字,使用了1432个汉字。 种子:可以理解成机器写作中一定要出现的词,相当于我们上小学时候的用词造句——这次测试的种子是由机器随机抽取生成的。 灵感数:可以理解为表达的不确定性或随机性。 我复制了第一个循环和第29个循环的训练结果如下: 机器写出来的结果,看起来和俞老师写的结果还是相差不少的,但这至少是个有趣的尝试,通过AI来识别、提取俞老师文章的特征,然后完成中文机器写作。 当然,正常是要跑100个循环,才会出现真正好的效果。我就不费力和老俞竞争了,哈哈。 欢迎投稿:news@jingmeiti.com 官方网站:http://www.jingmeiti.com/ 官方微信:jmedia360(鲸Media) 责任编辑:
下一篇:没有了