Re: [转录] 用机器学习判定红楼梦后40回是否曹雪芹

楼主: ironsalami (好好想想)   2016-07-07 19:02:53
※ 引述《mited (太郎)》之铭言:
: 张爱玲名言:“红楼梦看到八十回后,一个个人物都语言无味,面目可憎起来”
: 对岸有人用电脑运算80回前后用词习惯的改变
: 虽然特征选取方式尚有可议之处
: 但也呈现出值得参考的观点
: 知乎:用机器学习判定红楼梦后40回是否曹雪芹所写
:
: https://zhuanlan.zhihu.com/p/21421723
: 作者:黎晨
: 作为一个从没看过红楼梦的人,我的大致思路是这样的:
: 1.受到全职猎人里蚁王破解会长无敌招数的启发,每个人的写作都有些小习惯,虽然文章
: 前后说的内容会有差别,但是这些用词的小习惯不容易改变;
: 2.用开源的分词工具把全书分词(python的jieba分词),然后统计词频。把出现频次超
: 过100次的词语找出来,人工去掉一些可能因为文章内容造成前后出现不一致的人名、
: 地名
: 3.然后每一章按照2中的词频表,看这一章中出现这些词语的频次;
: 4.前80回、后40回各选15回作为机器学习的数据,让机器学习这些章节的用词特点,然后
: 推算其他章节的用词特点是属于前80回呢、还是后40回;
: 5.如果机器根据这些用词特征推算的是否属于后40回的结果跟实际的结果吻合,那么就说
: 明后40回的写作风格跟前80回有很大不同,很可能是两个人写的;
: 好了,下面我尽量少涉及数学跟编程的知识,来一步步解读机器学习是怎么完成这个问题
: 的。
: 生成全书的词频表
: https://pic4.zhimg.com/86db71e47e3cbd6091906d50c61ab967_b.png
: 我截取了其中一段的词频表。像宝二爷、黛玉笑这种涉及人物的词语,可能前面戏份多、
: 后面戏份少,所以就不选它们作为用词习惯的特征,而像忽然、故、只要、可不是这种承
: 接性质的碎词,就不太容易会受情节的影响,所以适合选出来作为用词习惯的特征。
: 最终,我按照出现从多到少排序,选择了278个词作为机器学习的用词习惯。
: 将120回的词频进行统计
: 接下来我把每一回出现这278个词的频次统计出来,得到我们给机器学习的样本。这个样
: 本的样子大概是这样的:
: https://pic1.zhimg.com/999d0b7e34e5df4f9f00a6bdffec245c_b.png
: 比如以B行2列举例,说明在第一回里面“道”这个动词,出现了36次。
: 通常我们在进行复杂的事情前,喜欢先简化问题,或者给自己一些直观的图表,以便了解
: 问题。机器学习也是一样的。
: 我尝试着在图上把前80回和后40回习惯用词出现的频次画出来。以第一回为例,x1坐标代
: 表“道”出现多少次,x2坐标代表“说”出现多少次,x3坐标代表“也”出现多少次
: ......x280坐标代表“则”出现多少次。
: 什么?超过三维了,那人类的大脑可是没办法理解的啊。
: 没关系,当我们用灯光照射一个立体的图时,平面会有它的影子。这个影子虽然没有立体
: 图的信息这么丰富,不过我们看影子还是可以猜出来大致的样子。对于高纬度的问题,我
: 们也可以用投影的方式来降低纬度。
: 虽然信息损失了不少,不过能给我们一个直观的感受。
: https://pic3.zhimg.com/d89993509cfb2ea46e2fead27df7616e_b.png
: 这个是120个章节的用词习惯从278纬降到3维以后的图,红色+的点是前80回,蓝色o的点
: 是后40回。
: 从这个图可以直观地看到,确实在用词习惯上有明显的区别。就算我们没有机器学习工具
: 的帮忙,也可以大胆猜测后40回是出自于另外一个人了。
: 下面我们用机器学习来看精确一点的判断。
: 机器学习
: 通过课程我大致了解了SVM的原理和简化版问题的算法实现,不过对于复杂问题我还是没
: 这个编码能力的。于是用python的scikit库来帮助我来完成这个预测。
: 算法的步骤很简单,前80回、后40回各选15个来喂给机器学习它们的特点,然后把剩下的
: 章节输入给机器,问它们属于前80还是后40。
: https://pic4.zhimg.com/8269c925992144fa4ab1cc18be09d7af_b.png
: 看out[44]的结果,代表了机器预测这120回的用词习惯到底属不属于后40回(0为不属于
: ,1为属于)。
: 如果你看不懂上面的代码,没关系。我告诉你结果好了。
: 机器在学习以后告诉我,如果我把随便一章的用词习惯告诉它、但不告诉它到底是前80回
: 还是后40回,那么机器有95%的把握能猜出它是不是后40回。
: 至此,我们可以很有信心地判断它们的写作风格不同。
: 那么,问题来了,会不会因为是情节的需要所以导致写作风格不同了呢?
: 情节不同会造成用词习惯多大的差别?
: 好吧,那我再来做一个旁证。我把另外一部四大名著“三国演义”拿来分析,看看上部跟
: 下部的用词习惯会不会有比较明显的差别。
: https://pic2.zhimg.com/83a849aba46a550bf5fb9094aa76b121_b.png
: 这个是三国演义的用词习惯缩到三维以后的图,红色+代表前60部的用词习惯,蓝色o代表
: 后60部的用词习惯。
: 你可能会说,虽然中间交叉的地方比较多,但是还是可以看出来是有区分的。
: 可如果你比对一下跟红楼梦的图,你就会发现红楼梦的差别会明显得多。
: https://pic2.zhimg.com/c3117edef7f9f8a05672c37fac4a6f59_b.jpg
: (红色+为红楼梦前80回/三国前60回,蓝色o红楼梦后40回/三国后60回)
: 最后,用机器学习的方式来说,如果我把三国演义随便一章的用词习惯告诉它、但不告诉
: 它到底是前60回还是后60回,那么机器有7成的把握猜对,这个准确度已经远远低于红楼
: 梦的95%的预测水平。
: 所以,我们用“三国演义”这个旁证来分析,即便是因为情节需要导致的用词习惯差别也
: 不应该这么大。
: 所以,我们就更有信心说曹老先生没有写后40回了。
: 更多的机器学习有趣的玩法,我会在学习的过程中慢慢尝试的。以上。
[1] 如同bauss版友在推文中所说:
→ bauss: 杜协昌博士在四年前的数位典藏与数位人文研讨会 07/07 14:02
→ bauss: 发过〈利用文本采矿探讨《红楼梦》的后四十回作者争议〉 07/07 14:02
→ bauss: 利用断词跟词频分析的方法也几乎一样?
我在2012年左右在中研院
看过一个挂了一整年的壁报
便是用这样的方法分析红楼梦前80后40,还有三国演义的语词频率分析
其中介词的使用频度是很重要的关键
作图比较也是制作成3维,使用很像目前的接口所呈现
[2] 抱歉很久没用了不会缩网址
http://www.dadh-record.digital.ntu.edu.tw/config_xml/2012config/programINFO/pdf/paper03_01.pdf
利用文本采矿探讨《红楼梦》的后四十回作者争议 (PPT)
DADHIC (2012)
杜协昌 2012-11-30
杜协昌
学历
‧国立台湾大学资讯工程研究所博士
‧美国马里兰大学 (University of Maryland, College Park) 资讯科学系硕士
‧国立台湾大学电机工程学系学士
研究方向
‧THDL 的抽象模型与系统实作
‧*[1;35m数位人文学 (Digital Humanities)*[0m
‧计算理论,以及一些感兴趣的小问题
https://sites.google.com/a/lab303.csie.ntu.edu.tw/www/cheng-yuan-jie-shao
[3]
这是我记忆中2012看过的会议成果壁报的实际会议日期:
我记得壁报中有非常相似的3D图,目前手边的资讯只能证明此会议存在
google 杜协昌 红楼梦 库页存盘:
http://webcache.googleusercontent.com/search?q=cache:TSh-Lcv0DhAJ:www.caigou.com.cn/lib/ziliao_detail.asp%3Fid%3D27445+&cd=10&hl=zh-TW&ct=clnk&gl=tw
首页>>会议资料>>利用文本采矿探讨《红楼梦》的后四十回作者争议
利用文本采矿探讨《红楼梦》的后四十回作者争议
主 讲: 杜协昌
所属会议: 2012第四届数字典藏与数位人文国际研讨会
会议时间: 2012年11月29日-11月30日
会议地点: 国立台湾大学法律学院霖泽馆 国际会议厅
[4]
这个结果更早就被数位典藏出版了
http://www.press.ntu.edu.tw/?act=book&refer=ntup_book00714
数位人文研究与技艺
项洁 编
项洁,陈丽华,王汎森 等著
2014年04月
精装 / 25*17.5cm / 232页 / 单色(黑) / 中文
利用文本采矿探讨《红楼梦》的后四十回作者争议
A Text-Mining Approach to the Authorship Attribution Problem of Dream of the
Red Chamber
◆杜协昌
***************************************************
这个黎晨
引用别人内容,完全参照研究方法却不标明出处
如果有当年壁报资料的人,麻烦再帮忙查查他的3D词频分析图是否横纵轴单位一样
我记得当年看到的资料,几乎是完全相同的分析方向,图的分布形状也相当的相似
所以我质疑的核心是,那个3D的分析真的是他做的吗
这篇文章很像是起了个头,后面却是做的人也搞不清楚数值是怎么出来
280维为什么不说怎么降成3维,降维的方法如果稍微选不一样,图也都要变很大的
3维之中又为什么有座标轴的范围是-150 ~ +100?
楼主: ironsalami (好好想想)   2016-07-07 19:36:00
好吧自问自答一下... 黎晨 (作者) 回复 宇宙亨可以试试看把数据标准化,降维的算法包可以直接输入要降到多少维的可以把讨论的部分看一看,作者强调他是个产品经理所有的算法使用算法包,参考前人的方式进行练习我拿来当作课后练手题的,已经无数前辈研究过了
作者: whiteF ( )   2016-07-08 01:59:00
本版 抓漏探佚高手 真的很多!~
楼主: ironsalami (好好想想)   2016-07-11 18:42:00
在各位前辈前面 小弟只是站太前面的乡民 XD~~
作者: bbbtri (cycling)   2016-08-02 08:30:00
为什么要把每一个样本都算是"一维"? 所以地球有70亿维?这是计算机领域常用的语汇吗?
作者: akumahomura (恶魔焰)   2016-08-07 02:32:00
自由度的概念 物理上常用啊XD

Links booklink

Contact Us: admin [ a t ] ucptt.com