想用R 和 Python 做文本挖掘又不知如何下手
文本分类问题与其它分类问题没有本质上的区别,其方法可以归结为根据待分类数据的某些特征来进行匹配,当然完全的匹配是不太可能的,因此必须(根据某种评价标准)选择最优的匹配结果,从而完成分类。
后来人们意识到,究竟依据什么特征来判断文本应当隶属的类别这个问题,就连人类自己都不太回答得清楚,有太多所谓“只可意会,不能言传”的东西在里面。
人类的判断大多依据经验以及直觉,因此自然而然的会有人想到何让机器像人类一样自己来通过对大量同类文档的观察来自己总结经验,作为今后分类的依据。
这便是统计学习方法的基本思想。
统计学习方法需要一批由人工进行了准确分类的文档作为学习的材料(称为训练集,注意由人分类一批文档比从这些文档中总结出准确的规则成本要低得多),计算机从这些文档中挖掘出一些能够有效分类的规则,这个过程被形象的称为训练,而总结出的规则集合常常被称为分类器。
训练完成之后,需要对计算机从来没有见过的文档进行分类时,便使用这些分类器来进行。
这些训练集包括sogou文本分类分类测试数据、中文文本分类分类语料库,包含Arts、Literature等类别的语料文本、可用于聚类的英文文本数据集、网易分类文本分类文本数据、tc-corpus-train(语料库训练集,适用于文本分类分类中的训练)、2002年中文网页分类训练集CCT2002-v1.1等。
现如今,统计学习方法已经成为了文本分类领域绝对的主流。
主要的原因在于其中的很多技术拥有坚实的理论基础(相比之下,知识工程方法中专家的主观因素居多),存在明确的评价标准,以及实际表现良好。
统计分类算法 将样本数据成功转化为向量表示之后,计算机才算开始真正意义上的“学习”过程。
常用的分类算法为:决策树,Rocchio,朴素贝叶斯,神经网络,支持向量机,线性最小平方拟合,kNN,遗传算法,最大熵,Generalized Instance Set等。
在这里只挑几个最具代表性的算法侃一侃。
Rocchio算法 Rocchio算法应该算是人们思考文本分类问题时最先能想到,也最符合直觉的解决方法。
基本的思路是把一个类别里的样本文档各项取个平均值(例如把所有 “体育”类文档中词汇“篮球”出现的次数取个平均值,再把“裁判”取个平均值,依次做下去),可以得到一个新的向量,形象的称之为“质心”,质心就成了这 个类别最具代表性的向量表示。
再有新文档需要判断的时候,比较新文档和质心有多么相像(八股点说,判断他们之间的距离)就可以确定新文档属不属于这个类。
稍微改进一点的Rocchio算法不仅考虑属于这个类别的文档(称为正样本),也考虑不属于这个类别的文档数据(称为负样本),计算出来的质心尽量靠近正样本同时尽量远离负样本。
Rocchio算法做了两个很致命的假设,使得它的性能出奇的差。
一是它认为一个类别的文档仅仅聚集在一个质心的周围,实际情况往往不是如此(这样的数据称为线性不可分的);二是它假设训练数据是绝对正确的,因为它没有任何定量衡量样本是否含有噪声的机制,因而也就对错误数据毫无抵抗力。
不过Rocchio产生的分类器很直观,很容易被人类理解,算法也简单,还是有一定的利用价值的,常常被用来做科研中比较不同算法优劣的基线系统(Base Line)。
朴素贝叶斯算法 贝叶斯算法关注的是文档属于某类别概率。
文档属于某个类别的概率等于文档中每个词属于该类别的概率的综合表达式。
而每个词属于该类别的概率又在一定程度上 可以用这个词在该类别训练文档中出现的次数(词频信息)来粗略估计,因而使得整个计算过程成为可行的。
使用朴素贝叶斯算法时,在训练阶段的主要任务就是估计这些值。
朴素贝叶斯算法的公式并不是只有一个。
首先对于每一个样本中的元素要计算先验概率。
其次要计算一个样本对于每个分类的概率,概率最大的分类将被采纳。
所以 其中P(d| Ci)=P(w1|Ci) P(w2|Ci) …P(wi|Ci) P(w1|Ci) …P(wm|Ci) (式1) P(w|C)=元素w在分类为C的样本中出现次数/数据整理后的样本中元素的总数(式2) 这其中就蕴含着朴素贝叶斯算法最大的两个缺陷。
首先,P(d| Ci)之所以能展开成(式1)的连乘积形式,就是假设一篇文章中的各个词之间是彼此独立的,其中一个词的出现丝毫不受另一个词的影响(回忆一下概率论中变 量彼此独立的概念就可以知道),但这显然不对,即使不是语言学专家的我们也知道,词语之间有明显的所谓“共现”关系,在不同主题的文章中,可能共现的次数 或频率有变化,但彼此间绝对谈不上独立。
其二,使用某个词在某个类别训练文档中出现的次数来估计P(wi|Ci)时,只在训练样本数量非常多的情况下才比较准确(考虑扔硬币的问题,得通过大量观 察才能基本得出正反面出现的概率都是二分之一的结论,观察次数太少时很可能得到错误的答案),而需要大量样本的要求不仅给前期人工分类的工作带来更高要求 (从而成本上升),在后期由计算机处理的时候也对存储和计算资源提出了更高的要求。
但是稍有常识的技术人员都会了解,数据挖掘中占用大量时间的部分是数据整理。
在数据整理阶段,可以根据词汇的情况生成字典,删除冗余没有意义的...
如何在文本中挖掘语言的训练点?
从语文课程的性质来看语文教学重在进行语言训练。
学生对语言的掌握情况也是衡量课堂实效性的重要标准。
可是,如今的语文课堂似乎变了味了。
语文课不是进行语言本身的推敲、揣摩和品位,而是围绕文本内容,外加了大量的补充性学习材料,加以多媒体的狂轰滥炸,或者过度的渲染和张扬人文性。
如在上《太阳》时,不去推敲文中关键语句,用大量的视频来介绍太阳特点和人类的关系;上《三顾茅庐》时,不让学生熟读课文,竟花大量的时间让学生观看视频三顾茅庐来了解课文内容;教《地震中父与子》正文草草带过,却扩展到朱自清的《背影》及其他关于父爱的文章。
一节语文课俨然成了科普宣传课、历史课和思品课了。
这些设计者们认为热热闹闹或者别出心裁的课堂就是语文课了,这是由于他们对语文课程缺少本质的认识造成。
这样的课上学生们除了感官的享受以及思想的进步外,对于学生的语言是毫无帮助的。
语文课要热闹没有错,语文课要别出心裁,也没有错,但是,所有的设计都不应该脱离学生对语言的感悟与训练。
否则,语文课堂就不是语文课了。
学生们所用的文本,作为语言的载体,又是前人精挑细选的篇章,其规范性毋庸置疑,对学生学习语言及进行语言训练有很高的利用价值的,它又是创作者情感的符号,字里行间总能读出点情味。
我认为真正的语文课,无需靠大量补充性学习材料和多媒体的狂轰滥炸及过度的渲染和张扬人文性,应该从文本出发,引导学生通过深入学习文本,掌握知识点,习得语言的方法,获得情感的体验。
下面我就结合实际教学谈谈如何从文本中寻找语言训练点。
一、抓住关键字词进行语言训练在语文课堂上要让学生的嘴巴动起来,应该要从文章的中的关键词入手。
紧紧围绕关键词进行精心的设计,一定能够唤起学生的说话的欲望,达到课堂语言训练的目的。
1、在诗歌教学中抓住关键字诗歌是字字含意境,字字露真情。
因此,在教学诗歌时,深入字面意思,再现诗人的创作时的情境,感悟字里透出的感情显得特别的重要了。
《九月九日忆山东兄弟》全诗围绕一个“忆”字展开,每句诗中都有一个关键的字“独、逢、遥、少”,诗人因“独”常常有客居他乡的寂寞,因“逢”佳节而倍生思乡情怀,因离家“遥”而想起了兄弟们登高望远,却又因此又有“少”一人的惆怅。
这四个字的感悟对于突破诗歌的理解,感受作者的客居他乡复杂的情怀有很大的作用。
因此,我就这么问学生:“独”字什么意思?“独”字让你想到的作者此时怎样的处境?这样的问题,容易打开学生们想象的翅膀,他们应该会联系自己生活中经历父母外出时单独一人在家的情景来。
然后教师再让学生闭上你们的眼睛心里不停地默念着“独”字,想着自己只有一个人,(过一会)请各位同学睁开眼睛,心理什么滋味,谁来说说?这么一问学生们积极踊跃的发言起来“我感到了十分地孤独”“我会不停的想家人”“我看到周围寂静的很,有话没地方说”等,他们都能说出自己对“独”字独特的体验,我想这些小孩们在生活中也确实体验过单独在家孤单的感觉。
对于“逢、遥、少”也一样的,只要设计好,每个字都可能引起学生语言的欲望的。
2、在说明文中抓关键词在以往的听其他老师上课的过程中,说明文往往容易上成科普文。
问题的关键就在于很多老师没有深入的理解和挖掘文本,就采用了大量的辅助材料,以求达到学生对知识点的理解。
这种现象重知识点轻语言训练,就是造成把语文课上成科普课的原因。
《太阳》一课中,文章在说明太阳的特点时,用了较多的数字来说明,因此,让学生感悟这些数字显得特别的重要了。
可是很多老师却忽略了这点,学生能找到关键的数字,就很高兴地急于直接从数字中总结出太阳远、大、热三个特点,然后再外加视频加以辅助理解,以至于偏离了语文课的性质了。
我想如果深入挖掘这些数字,让学生深刻体会体验这些数字更有语文味点,比如:同学们看到“3500年”你们的第一感受是什么?告诉我。
“震撼”“难以想象”。
你们为什么会第一时间想到这些词?有什么想说的话尽管说出来。
学生们自然也会联系人的生命,人类的历史来谈自己的的这种感受。
如:“一个人只能活多久啊,要走多少代啊?”“人类历史才多久啊?”等等。
经过这样一问,学生一联系实际,就更能体会到了太阳离我们的远。
学生在这个过程中,既有了说的训练,又深刻的认识了数字说明的妙用。
因此,说明文中,也应该能够用抓关键词来体会。
1、在记叙文中抓住关键词在记叙文中,有时候一个词往往能将整篇文章串联起来,创造学生的语言运用的平台。
《一个村庄的故事》中,村庄原先是很美丽的,可是由于斧头的出现一切都改变了。
因此,在上这节课的时候应紧紧抓住“斧头”进行教学设计:自由读文,然后说说斧头造就了什么?别看这么一问,后面的答案是一个比一个精彩。
他们将课文的语言充分的利用了起来,从斧头造就了应有尽有的家具和人类美好的生活,到裸露的土地和灾难。
这样,既抓住了文本的意思,让学生有所感悟,又能让学生将文中学的语言得以运用。
二、填补空白的文本进行语言训练课文中常常有...
求教R软件做数据挖掘的两个问题
互联网的很大优势就是数据驱动的,数据往往是被有效收集的。
但是,也存在数据没有被记录情况。
支持产品功能的数据,会被记录,但是很多行为数据只能通过调取接口数据或埋点的方式进行记录。
这就需要业务人能够提前规划所需数据,让工程师将数据记录在库。
在收集数据的过程中,需要注意到就是有效数据量不能太小。
...
转载请注明出处51数据库 » 文本挖掘步骤 r软件