ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 9511|回复: 22

【大话IT】如何用算法学习判定“红楼梦(下)”原作者?

[复制链接]
论坛徽章:
7
2015年新春福章
日期:2015-04-22 09:15:50美羊羊
日期:2015-04-28 08:58:41暖羊羊
日期:2015-05-05 11:13:16慢羊羊
日期:2015-07-03 14:57:082017金鸡报晓
日期:2017-01-10 15:25:58目光如炬
日期:2016-06-05 22:00:00秀才
日期:2017-04-06 18:09:28
发表于 2017-3-13 09:55 | 显示全部楼层 |阅读模式
话题背景:

看标题算是个有趣的问题,今天主要就算法逻辑展开讨论,

某产品运营狗受大神启发,开启自己的机器学习初体验模式,在此,援引一小部分思路:

1.作为一个从没看过红楼梦的人,我的大致思路是这样的:用开源的分词工具把全书分词(python的jieba分词),然后统计词频。把出现频次超过100次的词语找出来,人工去掉一些可能因为文章内容造成前后出现不一致的人名、地名;
2.然后每一章按照2中的词频表,看这一章中出现这些词语的频次;
3.前80回、后40回各选15回作为机器学习的数据,让机器学习这些章节的用词特点,然后推算其他章节的用词特点是属于前80回呢、还是后40回;
4.如果机器根据这些用词特征推算的是否属于后40回的结果跟实际的结果吻合,那么就说明后40回的写作风格跟前80回有很大不同,很可能是两个人写的;



以上,只是产品同学,作为初学者的浅尝辄止,如果你有更好的思路和逻辑,欢迎拍砖。这可能跟你是否读过《红楼梦》没多大关系,本次讨论,主要就算法和机器学习展开讨论。


讨论问题:(任选其一)

1.如何用算法学习判定“红楼梦(下)”原作者?您是否有更好的思路。
2.如何做好机器学习、数据挖掘工作?需要设计哪方面的语言和算法学习?(可引荐相关专业图书,以及具体算法的学习)
3.机器学习应该准备哪些数学预备知识?


讨论时间:2017年3月13日—4月13日


活动奖励:

活动结束后,我们将会选取1个精彩回复,送DTCC2017大会入场券一张。

选取3个回复,送社区春季版运动帽衫


DTCC 2017 来啦!

随着云计算和大数据时代的来临,数据正在以前所未有的速度成为各个领域价值创造的核心驱动力。

在此背景下,国内最受关注的数据库技术盛会——2017第八届中国数据库技术大会(DTCC2017)将于2017年5月11-13日如约而至。本届大会以“数据驱动•价值发现”为主题,汇集来自互联网、电子商务、金融、电信、政府、行业协会等20多个领域的120多位技术专家,共同探讨Oracle、MySQL、NoSQL、云端数据库、智能数据平台、区块链、数据可视化、深度学习等领域的前瞻性热点话题与技术。大会共设定2大主场和20个技术专场,将吸引5000多名IT人士参会,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。




官网链接:http://dtcc.it168.com/
购票链接:http://dtcc.it168.com/goupiao.html

欢迎扫码关注DTCC官方微信,获取最新信息!




求职 : SAP实施
认证徽章
论坛徽章:
255
巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32巴塞罗那
日期:2016-01-29 16:40:32芝加哥公牛
日期:2017-02-07 09:03:42芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43芝加哥公牛
日期:2017-02-07 09:03:43
发表于 2017-3-13 11:06 | 显示全部楼层
ZHICHI  

使用道具 举报

回复
认证徽章
论坛徽章:
81
秀才
日期:2017-04-06 18:09:28秀才
日期:2016-02-18 10:08:02秀才
日期:2016-02-18 10:08:14秀才
日期:2016-03-24 09:10:24秀才
日期:2016-03-24 09:20:52秀才
日期:2016-04-21 14:08:532017金鸡报晓
日期:2017-01-10 15:33:11ITPUB15周年纪念
日期:2016-10-13 13:15:34秀才
日期:2016-06-23 14:15:06秀才
日期:2016-02-18 10:07:49
发表于 2017-3-13 14:40 | 显示全部楼层
zhichi too

使用道具 举报

回复
认证徽章
论坛徽章:
202
状元
日期:2015-08-13 09:42:33榜眼
日期:2015-08-03 13:57:54探花
日期:2015-07-31 13:44:02举人
日期:2015-07-01 15:00:51秀才
日期:2015-07-27 09:45:52进士
日期:2015-07-27 11:26:492015年中国系统架构师大会纪念徽章
日期:2015-07-23 09:58:092014系统架构师大会纪念章
日期:2015-07-23 09:58:092013系统架构师大会纪念章
日期:2015-07-23 09:58:092012系统架构师大会纪念章
日期:2015-07-23 09:58:09
发表于 2017-3-13 19:45 | 显示全部楼层
我做软件,不会算法。^_^。

使用道具 举报

回复
认证徽章
论坛徽章:
190
2010新春纪念徽章
日期:2010-03-01 11:20:51至尊黑钻
日期:2015-08-13 13:38:12至尊黑钻
日期:2015-02-15 09:47:472015中国数据库技术大会纪念徽章
日期:2015-05-15 14:08:23管理团队2007贡献徽章
日期:2015-01-19 09:48:272015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:20红宝石
日期:2015-01-19 09:46:08红宝石
日期:2015-01-19 09:42:28海蓝宝石
日期:2015-02-03 10:23:39红宝石
日期:2015-02-03 10:26:04
发表于 2017-3-14 08:48 | 显示全部楼层
zhichi three

使用道具 举报

回复
论坛徽章:
4
itpub13周年纪念徽章
日期:2014-11-17 17:01:01优秀写手
日期:2014-04-24 06:00:242014年世界杯参赛球队:巴西
日期:2014-05-30 17:09:45itpub13周年纪念徽章
日期:2014-10-08 15:13:38
发表于 2017-3-14 09:38 | 显示全部楼层
顶下了

使用道具 举报

回复
论坛徽章:
20
狮子座
日期:2015-11-13 11:39:31秀才
日期:2017-04-06 13:41:23秀才
日期:2017-04-06 13:42:06红宝石
日期:2017-04-06 13:47:15紫水晶
日期:2017-04-06 13:47:28海蓝宝石
日期:2017-04-06 13:47:50祖母绿
日期:2017-04-06 13:48:00萤石
日期:2017-04-06 13:48:10蓝锆石
日期:2017-04-06 13:48:19秀才
日期:2017-03-28 15:59:38
发表于 2017-3-14 14:55 | 显示全部楼层
1.如何用算法学习判定“红楼梦(下)”原作者?您是否有更好的思路。
没学过算法,没有开发的头脑,这个还真没有思路呢

2.如何做好机器学习、数据挖掘工作?需要设计哪方面的语言和算法学习?(可引荐相关专业图书,以及具体算法的学习)
机器学习还真是没有接触过,数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
算法
1. C4.5:是机器学习算法中的一种分类决策树算法,其核心算法是ID3算法。
2. K-means算法:是一种聚类算法。
3.SVM:一种监督式学习的方法,广泛运用于统计分类以及回归分析中
4.Apriori :是一种最有影响的挖掘布尔关联规则频繁项集的算法。
5.EM:最大期望值法。
6.pagerank:是google算法的重要内容。
7. Adaboost:是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器然后把弱分类器集合起来,构成一个更强的最终分类器。
8.KNN:是一个理论上比较成熟的的方法,也是最简单的机器学习方法之一。
9.Naive Bayes:在众多分类方法中,应用最广泛的有决策树模型和朴素贝叶斯(Naive Bayes)
10.Cart:分类与回归树,在分类树下面有两个关键的思想,第一个是关于递归地划分自变量空间的想法,第二个是用验证数据进行减枝。

哇哇,好高深啊,看不懂,做不了,呵呵

3.机器学习应该准备哪些数学预备知识?

①. 数学方面:微积分、矩阵论矩阵这一块,了解的越多对你推倒计算方面能力的提升提高非常多。当然,只想看懂不要求证明的话,本科的线性代数够用了(我指的是真的好好学线性代数...)
②. 凸优化这一块的重要性非常显然了,比如你连牛顿法、梯度下降法、一维搜索等基本的凸优化都不了解 的话会非常吃力。但短期来说的话,基本上Boyd的convex optimization懂前三章就够用了。
③.概率、统计对基本的期望啊mean啊之类的计算,极大似然,bayes,多元正太等很多相关方面的统计一定要比较熟悉,否则对涉及统计和对数据的直觉上会差很多。
④.泛函我本科没好好学泛函,到学到一些ML的方法比如kernel相关的方法的时候就凸显出来对泛函不熟,对函数空间理解不够的话会比较吃力。但重要性上比如前面几个方面。但我整体想说的是,对于大多数只学过微积分线性代数+基本统计的人不大会有时间和精力说把上面这些一门一门学了才开始学ML,大多数时候都是慢慢去补的。比如上面有人提到Andrew Ng的coursera课程上会有一些hangouts。这是一个很好的比较快速掌握急切所需的东西的方面。毕竟上面每一门课都需要花很多时间去学。但是,如果你能真的好好学了之后,再回过头来把ML再学一遍,你收获一定会多的多!

哈哈,从别处看来的,就是借我个最强大脑,我也学不会吧!!









-------------------------------------------------------
哈哈,现学来的

使用道具 举报

回复
论坛徽章:
61
林肯
日期:2013-09-12 15:57:33路虎
日期:2014-01-26 14:35:49马自达
日期:2013-10-11 13:52:31三菱
日期:2013-11-25 11:21:19现代
日期:2013-08-29 14:39:50雪佛兰
日期:2013-09-12 15:55:00一汽
日期:2013-11-28 14:15:05技术图书徽章
日期:2014-03-10 14:09:19技术图书徽章
日期:2013-12-11 10:11:35技术图书徽章
日期:2013-12-11 10:10:51
发表于 2017-3-14 18:20 | 显示全部楼层
本帖最后由 pastime_Wang 于 2017-4-24 13:43 编辑

1.如何用算法学习判定“红楼梦(下)”原作者?您是否有更好的思路。
我觉得这是可行的, 有点类似于 谷歌的德国工程师托马斯·斯坦纳开发 的Wikipedia Live Monitor,这个程序实时监控维基百科上287种语言的词条,寻找短时间内狂热编辑的条目,
如果很多人在用不同的语言编写同一个事件的词条,则说明有重大事件正在发生。


但关键是词条的选择要准确, 可以生成一个词库,比如选择有代表性的桥段, 按韵母或词性分类+押韵方式。以此比较前后50回的拟合程度.


---------------------------------------------------------------------------
2.如何做好机器学习、数据挖掘工作?需要设计哪方面的语言和算法学习?(可引荐相关专业图书,以及具体算法的学习)
我觉得应该分2个方向:算法和技术

算法:
1. 对主流的应用模型有较好的理解和运用
2. 数理统计,数据挖掘或机器学习常用模型:如 SVM,随机森林,GBM,贝叶斯,决策树,回归等

技术:
1. 熟悉数据库以及SQL语句,掌握常用的ETL技能
2. 熟悉主流的数据挖掘工具, matlab, SPSS, SAS, 了解其中模型的输入/输出。

推荐的入门书籍: 《数据挖掘导论》和《数据之美》

---------------------------------------------------------------------------
3.机器学习应该准备哪些数学预备知识?

数学方面:线性代数、微积分、矩阵论、概率和统计等等。

其实个人觉得这些算法、模型不需要完全理解的很深,只需要知道什么场景选用什么算法。模型本身没有对错之分,只有好坏,同时随着条件的变化,需要不断的调整。
另外应熟悉如何整理源数据,并运用算法工具进行计算(参数设置)并对最终的结果进行分析。



使用道具 举报

回复
论坛徽章:
27
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-23 23:08:49马上有对象
日期:2014-11-21 22:36:46暖羊羊
日期:2015-03-04 14:50:372015年新春福章
日期:2015-03-06 11:57:31秀才
日期:2016-03-24 09:10:24秀才
日期:2016-03-24 09:20:52秀才
日期:2016-04-21 14:08:53秀才
日期:2016-06-23 14:15:06
发表于 2017-3-15 08:53 | 显示全部楼层
学习一下

使用道具 举报

回复
认证徽章
论坛徽章:
77
秀才
日期:2017-03-20 13:42:20秀才
日期:2015-08-13 09:04:392015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:202014系统架构师大会纪念章
日期:2015-07-31 17:48:202013系统架构师大会纪念章
日期:2015-07-31 17:48:202012系统架构师大会纪念章
日期:2015-07-31 17:48:202011系统架构师大会纪念章
日期:2015-07-31 17:48:202010系统架构师大会纪念
日期:2015-07-31 17:48:202009架构师大会纪念徽章
日期:2015-07-31 17:48:20榜眼
日期:2015-08-17 14:59:28
发表于 2017-3-15 11:16 | 显示全部楼层
1.如何用算法学习判定“红楼梦(下)”原作者?您是否有更好的思路。
比较麻烦啊。而且问题提的有点不清楚,这里只能限定为:判断红楼梦 后40回的作者是曹雪芹还是高鹗;
判断方法的话,个人的初步设想:可以使用分类方法,思路有两种:
一 是使用二分类 前80回与后40回分别做特征提取,然后进行相似度计算,如果高出设定的一个阈值(如60%),就判定是曹雪芹所写,如果低于阈值,就判定为其他人续写。难点:特征提取方式,和阈值的选择都会影响判断结果。 可以考虑的算法:逻辑回归
二 根据曹雪芹和高鹗的其他作品,分别提取特征【这是个很麻烦的步骤。。】,对红楼梦后40回同样进行特征提取,然后分别计算相似度,与哪个更接近,就判定为是谁的作品;这种要求提供其他的高鹗作品,且最好是作者文风特征比较明显的。

以上两种可能都需要一定的文学基础,否则在权值上的设定会有误差,影响最终结果,而且难免会有一些主观上的影响。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

久等啦!10张门票开启你的DTCC2017之旅~

2017中国数据库技术大会将于2017年5月11-13日如约而至,本届大会以“数据驱动•价值发现”为主题,共设定2大主场和21个技术专场,云集海内外120+位技术大牛,共同探讨Oracle、MySQL、NoSQL、云端数据库、区块链、深度学习等领域的前瞻性热点话题。
即日起,填写DTCC2017会前调查问卷,即有机会赢取价值2600元的大会门票1张!仅限10张!
----------------------------------------
活动截止时间:2017年5月5日统一公布

问卷入口>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表