《R数据科学实战:工具详解与案例分析 》 —2.5.4 文本挖掘浅析

举报
华章计算机 发表于 2019/11/09 21:05:02 2019/11/09
【摘要】 本节书摘来自华章计算机《R数据科学实战:工具详解与案例分析》 一书中第二章,第2.5.4节,作者刘 健 邬书豪 。

2.5.4 文本挖掘浅析

文本(包括但不仅限于书刊)挖掘,或者更通俗地讲—自然语言处理(Nature Language Processing),是人工智能领域必不可少的一项技术。每一秒钟,世界范围内都有不计其数的新文本在以各种形式记录或保存起来。但这些以人类语言书写或录制下来的“数据”,并不像二进制的表格式数据那样容易被电脑接受并处理。如何分析人类历史中这些以文本形式保存的数据,就是文本挖掘需要解决的问题。看过《星际迷航》的读者应该会很熟悉舰长们经常说的一句台词“电脑,给我与某某事,某某东西相关的资料”。现实中,苹果的siri已经算是这方面很成功的商业应用模型。也有很多编程数据分析前辈,结合机器学习和自然语言处理来进行音乐创作、文献写作,等等。有关文本挖掘的详细内容已超出本书的讨论范围,所以在此仅简略地介绍文本挖掘的一般流程及可用R包,借此为感兴趣的读者提供一些继续学习的线索。在第3章中讨论完dplyr包中的一些实用函数之后,3.3节会向读者介绍一般的英文科技文献挖掘流程。

图2-4列出了文本挖掘的一般流程,大致可以总结为三个主要部分,具体如下。

 image.png

图2-4 文本挖掘的一般流程

1)文本数据的获取。

2)文本数据的准备。

3)数据分析。

数据获取的方法多种多样,可以使用网络爬虫抓取网络文本,使用pdftools包读取PDF格式的电子文档,jsonlite包读取JSON格式的文本数据,或者是安装janeaustenr包来获取简奥斯汀的6本著名小说来进行文本挖掘的练习。

文本数据的准备包括清理标点符号、页码等多余信息,以及分词标记和简单的初步统计。通常需要使用正则表达式,其主要目的是将文章中的句子打散以获取单个的词语或词组,并去掉某些无语义贡献的词汇,例如,介词或是助词,再进行一定程度的词频统计等操作。建议有一定英语基础的读者按照《Text Mining with R》这本书开始练习,书的作者就是最易上手的文本挖掘R包tidytext的开发者。希望分析中文的读者可以从quanteda包开始,因为这个包配有中文词库和简单的中文示意。

文本数据的分析根据目的的不同在难度上会有天壤之别。对于初学者来说,预先设置一些已知的规则来对文本数据进行查询式的分析(比如,在简奥斯汀的书中,哪一个角色的名字出现次数最多)这样的词频统计分析可视化,可有助于提高对数据的理解程度和使用各个函数的信心。监督和无监督机器学习需要依靠tm、quanteda、topicmodels等不同的R包的交互使用才可能实现复杂的分析目标。详细内容请感兴趣的读者参阅各个包的主页,这里不再过多讨论。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。