发表于2024-12-25
文本挖掘:基于R语言的整洁工具 [Text Mining with R: A Tidy Approach] pdf epub mobi txt 电子书 下载
本书由tidytext创建者亲笔撰写,系统阐述如何使用基于R的整洁工具来进行文本分析。书中首先介绍整洁文本的格式,以及如何获取整洁文本数据集;并通过tidytext中的情感数据集来进行情绪分析;接着介绍如何根据tf-idf统计量来识别特定文档中的重要单词,以及如何利用n-gram来分析文本中的文字网络;之后介绍如何将整洁文本转换为文档词项矩阵和Corpus对象格式,并给出了主题建模的概念;最后通过整合多种已知的整洁文本挖掘方法,给出了一些研究案例,这些案例涉及Twitter归档文件、NASA数据集以及来自新闻组的即时通讯信息。总的来说,本书侧重于分析文学、新闻和社交媒体方面的文本,非常适合从事相关文本挖掘的工作人员,也适合自然语言的初学者。与此同时,使用书中提供的大量针对性编程例子,不但可以提高工程实战能力,而且可以在本书提到的整洁框架上建立自己的分析任务。
Julia Silge 是Stack Overflow的数据科学家,负责复杂数据集分析及与不同受众进行技术主题交流。 她拥有天体物理学博士学位,热爱简·奥斯汀和制作美丽的图表。
David Robinson 是Stack Overflow的数据科学家,普林斯顿大学定量与计算生物学博士。他喜欢开发开源R软件包,包括broom、gganimate、fuzzyjoin和widyr,还喜欢撰写统计、R和文本挖掘等方面的博客。
“David和Julia已经在tidytext包集成了文本分析方法,因此不再需要学习一套全新的工具集,可以应用所有熟悉的数据框方法和可视化方法。”
– Hadley Wickham,RStudio首席科学家,Auckland大学、Stanford大学、Rice大学统计学教授
目录
前言 1
第1章 整洁文本格式 7
比较整洁文本结构与其他数据结构 8
unnest_tokens函数 8
整理Jane Austen的作品 10
gutenbergr包 13
词频 13
总结 17
第2章 基于整洁数据的情感分析 18
情感数据集 18
内连接的情感分析 21
比较三个情感词典 24
最常见的正面单词和负面单词 26
Wordclouds模块 28
除单词外的其他文本单元 30
总结 32
第3章 分析词和文件频率:tf-idf 33
Jane Austen小说中的词项频率 34
Zipf定律 35
bind_tf_idf函数 38
物理学语料库 41
总结 45
第4章 词之间的关系:n-gram及相关性 46
n-gram词条化 46
用widyr包对单词对计数并计算相关性 60
总结 66
第5章 非整洁格式转换 67
使文档–词项矩阵整洁 67
将整洁文本数据转换为矩阵 74
总结 84
第6章 主题建模 85
LDA 86
示例:博大的图书馆馆藏 91
LDA方法的替代实现 101
总结 102
第7章 案例研究:Twitter归档文件比较 103
单词使用情况的比较 107
单词使用情况的变化 109
收藏和转发 113
总结 117
第8章 案例研究:NASA元数据挖掘 118
NASA如何组织数据 118
共现单词与相关单词 123
计算描述字段的tf-idf 129
总结 142
第9章 案例研究:分析Usenet文本 143
预处理 143
新闻组中的单词 146
情感分析 151
总结 159
参考文献 160
前言
如果你从事分析或数据科学方面的工作,那么一定熟知这样一个事实:数据正在以前所未有的速度快速生成(也许这样的话有很多人都讲过)。通常培训分析人士来处理数字的表格或规整的数据。但现在大部分新增的数据都是非结构化的文本,而许多在分析领域工作的人都没有接受过乃至简单接受过处理自然语言方面的训练。
尽管我们熟悉许多数据处理和可视化方法,但是将这些方法应用于文本处理并非易事,所以开发了tidytext R包(Silge和Robinson,2016)。我们发现采用数据整洁原则可以使许多文本挖掘任务变得更简单、更有效,并且该原则和广泛使用的工具也是相一致的。把文本当作由单个单词构成的数据框的优势在于:(1)有助于轻松地操作、汇总以及展示文本特征;(2)有助于将自然语言处理整合到有效的工作流程中。
本书介绍了如何使用tidytext包以及其他基于R语言的tidy工具来进行文本挖掘。tidytext包提供的函数相对简单,但如何使用这个包则很重要。因此,本书还提供了真实的、极具吸引力的文本挖掘案例。
大纲
本书首先介绍整洁文本格式,一些有关dplyr、tidyr和tidytext包的使用方法则按如下过程来介绍:
第1章概述了整洁文本格式和unnest_tokens()函数,同时介绍了gutenbergr和janeaustenr包,这些包提供了与文学相关的文本数据集,本书会使用这些数据集来进行介绍。
第2章介绍了如何使用tidytext中的sentiments数据集以及dplyr包中的inner_join()函数来对整洁文本数据集进行情感分析。
第3章介绍了tf-idf统计量(词项频率乘以逆文档频率),它可用来识别特定文档中特别重要的词项。
第4章介绍了n-gram以及如何使用widyr包和ggraph包来分析文本中的文字网络。
文本在分析的所有阶段并不是整洁的,能够在整洁和不整洁格式之间进行转换就显得非常重要。
第5章介绍了通过tm包和quanteda包来使文档–词项矩阵和Corpus对象变整洁的方法,以及如何将整洁文本数据集转换为文档–词项矩阵和Corpus对象格式。
第6章介绍了主题建模的概念,并使用tidy()方法对topicmodels包的输出进行解释和可视化。
通过整合多种已知的整洁文本挖掘方法,还给出了几个研究案例:
第7章通过作者自己的Twitter档案展示了整洁文本分析的应用。例如,Dave和Julia的Twitter习惯有什么不同?
第8章通过查看超过32 000个NASA数据集(可用于JSON格式)中的关键字与标题、描述字段的关系来探索元数据。
第9章分析不同新闻组(与政治、曲棍球、技术、无神论等有关的主题)的即时通信消息数据集来了解新闻组中共同的模式。
本书不包括的主题
本书对整洁文本挖掘框架进行了介绍,并给出了一系列的示例,但对于全面研究自然语言处理领域而言,这些依然不够。CRAN Task View on Natural Language Processing(https://cran.rproject.org/view=NaturalLanguageProcessing)提供了其他使用R进行计算语言学研究的详细信息。根据个人需求,你可能还想在以下方面进一步研究:
聚类、分类和预测
文本机器学习是一个广泛的话题,可以轻松地找到很多与之相关的内容。第6章将介绍一种无监督聚类(主题建模)方法,但是还有更多其他的机器学习方法可以用来处理文本。
词嵌入
当前流行的一种文本分析方法是将单词映射为向量,以便能检查单词之间的语言关系并对文本进行分类。尽管这些单词表示并不像我们理解的那样整洁,但已经可以在机器学习方法中得以广泛应用。
更复杂的词条化
tidytext包通过信任词条化包(Mullen,2016)来进行标记,其本身使用统一的界面并包括各种词条化方法,但是在具体的应用程序中还有许多其他的词条化方法。
除英文以外的其他语言
一些用户已经成功地将tidytext应用于除英语以外的其他语言的文本挖掘,但是本书不涵盖这方面的例子。
关于本书
本书重点介绍实际软件示例和数据展示,几乎没有公式,但是有大量的代码。我们重点关注在分析文学、新闻和社交媒体时的深入理解。
本书不需要读者具有文本挖掘知识,而专业语言学家和文本分析师可能会认为本书的示例比较初级,但我们相信,他们也可以在这个框架上建立自己的分析。
本书假设读者至少熟悉R中的dplyr、ggplot2和>(管道)运算符,并且对如何应用这些工具进行文本数据挖掘感兴趣。对于没有这种专业背景的读者,推荐阅读Hadley Wickham和Garrett Grolemund(O'Reilly)的《R for Data Science》一书。若读者有一点背景并对整洁文本感兴趣,即使是R初学者也可以理解和使用本书的示例。
如果你正在阅读本书的纸质版本,那么图像会以灰度而不是彩色的形式呈现。要查看彩色版本的图像,请参阅本书的GitHub页面(http://github.com/dgrtwo/tidytext-mining)。
本书约定
本书使用以下惯例:
斜体(Italic)
表示新的术语、网址、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中引用的程序元素,如变量或函数名称、数据库、数据类型、环境变量、语句和关键字。
等宽粗体(Constant width bold)
展示用户应直接输入的命令或其他文字。
等宽斜体(Constant width italic)
表示应使用用户提供的值来替换或由上下文确定的值。
表示提示或建议。
表示普通注释。
表示警告或注意。
使用代码示例
本书在大部分分析的过程中都给出了代码,但出于篇幅考虑,如果生成图形的代码已经出现过,则不再提供类似的代码。相信读者可以学习并延伸本书示例,另外本书代码可以在GitHub公共库中找到。
本书旨在帮助读者完成工作,一般来讲,读者可以在程序和文档中使用本书提供的示例代码。除非对代码的重要部分进行加工出版,否则不需要与我们联系。例如,使用本书中多个代码块开发程序不需要经过我们许可,但出售或发行O扲eilly书籍示例的CD-ROM则需要许可,引用本书和示例代码来回答问题不需要许可,将本书中重要的示例代码合并到产品文档则需要许可。
如果你引用了本书中的内容,我们希望你能注明出处,包括标题、作者、出版商和ISBN。
例如:“Text Mining with R by Julia Silge and David Robinson (O扲eilly). Copyright 2017 Julia
Silge and David Robinson, 978-1-491-98165-8”。
如果你认为本书代码示例或上述许可不合理,请随时通过permissions@oreilly.com与我们联系。
Safari�栽谙咄际�
Safari是一个为企业、政府、教育和个人提供的会员制培训、参考平台。
会员可以访问数以千计的书籍、培训视频、学习路径、互动教程以及来自250多个出版社策划的播放列表,包括O'Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett,以及其他在线技术。
更多信息请访问:http://oreilly.com/safari。
联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O'Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至:
bookquestions@oreilly.com
要获得更多关于我们的书籍、会议、资源中心和O'Reilly网络的信息,请参见我们的网站:
http://www.oreilly.com
http://www.oreilly.com.cn
我们在Facebook上的主页:http://facebook.com/oreilly
我们在Twitter上的主页:http://twitter.com/oreillymedia
我们在YouTube上的主页:http://www.youtube.com/oreillymedia
致谢
非常感谢为推进本项目做出贡献、提供帮助和观点的人,这里特别感谢几个人和组织。
感谢Oliver Keyes和Gabriela de Queiroz对tidytext的贡献、Lincoln Mullen在tokenizers软件包方面的工作、Kenneth Benoit在quanteda软件包方面的工作,Thomas Pedersen在ggraph软件包方面的工作,以及Hadley Wickham在制定数据整洁原则和构建整洁工具方面的工作。还要感谢Karthik Ram和rOpenSci,他们在项目之初进行召集,感谢NASA Datanauts项目成员,感谢你们在项目期间对Julia提供的机会和支持。
仔细、彻底的技术审查大大提高了本书的质量。特别感谢Mara Averick、Carolyn Clayton、Simon Jackson、Sean Kross和Lincoln Mullen,感谢你们在技术评论中投入的时间和精力。
本书是以公开方式进行撰写的,有几个人通过提出要求或问题的方式提供了建议。特别感谢那些通过GitHub做出贡献的人:@ainilaha、Brian G. Barkley、Jon Calder、@eijoac、
Marc Ferradou、Jonathan Gilligan、Matthew Henderson、Simon Jackson、@jedgore、
@kanishkamisra、Josiah Parry、@ suyi19890508、Stephen Turner,以及Yihui Xie。
最后,我们想把本书献给各自的爱人——Robert和Dana,千言万语汇成一句发自肺腑的谢谢。
文本挖掘:基于R语言的整洁工具 [Text Mining with R: A Tidy Approach] pdf epub mobi txt 电子书 下载