如果你正在寻找做文本挖掘的系列或电影,就像是上面给出的例子,你可能要考虑下载字幕。一个简单的谷歌搜索绝对可以为你提供你需要的内容,从而形成自己的语料库开始文本挖掘。你也可以从corpora语料库得到你的数据。众所周知的两个语料库的是:路透社语料库和布朗语料库。 路透社语料库。有人会说路透社语料库不是最多样化的语料库使用,但是如果你刚开始学做文本挖掘,它还是非常不错的。 布朗语料库是按流派分类的文本,包括了500个资源。 正如你所看到的,寻找数据有无穷的可能性。所有包含文本的资源都可以成为你文本挖掘案例研究的课题。 —— 阅读更多在:#gs.s_ufJHQ 4.寻找合适的工具来完成工作 现在你已经发现了你的数据来源,你可能要使用合适的工具,让他们成为你的所有物,并对其进行分析。这些你跟着学习的教程和课程将会教给你使用一些工具作为开始。 但是,这取决于你跟进的课程或教程,你可能会错过一些其他资料。要想完整的学习挖掘技术,下面将介绍一些R中用于文本挖掘的软件包: tm包,毫无疑问,是R在文本挖掘中最常用的包。这个包通常用于更多特定的软件包,例如像Twitter的包,您可以使用从Twitter网站提取的推文和追随者。 用R进行网络爬虫,你应该使用rvest库。有关使用rvest的一个简短的教程,去这里。 如果使用Python,你可以使用这些库: 自然语言工具包,包含在NLTK包中。因为你很容易获得超过50个语料库和词汇资源,这个包是非常有用的。你可以看到这个页面上的这些列表。 如果你想挖掘Twitter数据,你有很多数据包的选择。其中一个使用的比较多的是Tweepy包。对于Web爬虫,scrapy包就会派上用场提取你的网站需要的数据。也可以考虑使用urllib2的,一包打开的URLs。但是,有时requests包会更加推荐,它甚至可能使用起来更方便。有人说,它“更加人性化”,atv直播,因为一些诸如,设置用户代理,并请求一个页面只有一行的代码的事情,他使用起来更方便。你有时会看到一些人推荐urllib包,但urlib包似乎不是太流行的:大多数开发人员会推荐他们觉得特别有用和使用过的一到两个包。 ——阅读更多在:#gs.s_ufJHQ 5. 好的开始是成功的一半 — 预处理你的数据 当我告诉你数据科学家用他们80%的时间来清洗数据,你可能不会惊讶。在这件事上,文本挖掘也不会例外。文本数据可以很杂乱,所以你应该确保你花了足够的时间来清洗它。如果你不确定预处理你的数据意味着什么,那一些标准的预处理步骤包括:抽取文本和结构,这样就可以有你想要处理的文本格式了;去掉停用词,比如“that” 或者“and”;词干提取。这个可以借助于词典或者语言学的规则/算法,比如Porter算法。这些步骤看起来很难,不过预处理你的数据并不需要严格这样做。因为大多数时候,我们前面提到的库和软件包已经可以帮到你很多了。比如说R语言的tm库里的内置函数可以帮你做一些预处理工作,像是词干提取,去掉停用词,删除空格,把单词转换成小写等等。 类似地,Python的nltk包的内置函数也可以帮你做许多预处理工作。不过,atv,你仍然可以将数据预处理再进一步,比如用正则表达式来提取一些你感兴趣的文本模式。这样,你也可以加快数据清洗的过程。对于Python,你可以用re库。对于R,有一堆的函数可以帮到你,比如grep()返回pattern的匹配项的下标, grepl()返回pattern是否匹配的逻辑值, regexpr()和gregexpr()返回的结果包含了匹配的具体位置和字符串长度信息, sub()和gsub()返回替换之后的文本, strsplit()可以拆分字符串。如果你想了解更多这些R中的函数和正则表达式,你可以查看这个页面: https://www.rdocumentation.org/packages/base/versions/3.3.1/topics/regex 6.数据科学家的漫游奇境记 — 探索你的数据 现在,你将迫不及待地开始分析你的数据。不过,在你开始之前,看一看你的数据总是一个不错的主意。借助于上面提到的库或包,可以帮你快速开始探索数据的几点想法:创建一个“文档字词矩阵”:这个矩阵中的元素,代表在语料库的某个文档中某个字词(一个单词或者连续出现的n个单词“n-gram”)出现的频率;建好这个矩阵之后,你就可以用一个直方图来可视化你的语料库中的字词频率。你也许还对语料库中的两个或多个字词的关联感兴趣;可视化你得语料库,你可以做一个文字云(word cloud)。在R中,你可以使用wordcloud库。在Python里也有这个包,一样的名字。 7.提高你的文本挖掘技能 (责任编辑:本港台直播) |