R语言文本挖掘tm包详解(附代码实现)

本文详细介绍了R语言中的tm包在文本挖掘中的应用,包括文本挖掘概念、NLP、分词、OCR、常用算法以及tm包的具体操作,如词干化、分词和文本聚类等。此外,还探讨了tm包的版本问题和常用函数,如创建语料库、处理矩阵和文本聚类方法,如层次聚类、K-means和K中心法。
摘要由CSDN通过智能技术生成


文本挖掘相关介绍

1、什么是文本挖掘

文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程。

在文本挖掘领域中,文本自动分类,判同,情感分析是文本挖掘比较常见的应用文本分类技术主要应用在百度新闻,谷歌新闻等新闻网站,对新闻内容进行自动分类,并且实现根据用户专业倾向的文档推荐;搜索引擎去重,论文抄袭判别系统等。情感分析技术主要应用在电商评论分析系统,政府和媒体舆情监测系统等。语意理解技术应用在机器翻译、聊天机器人等。

2、NLP

文本挖掘可以视为NLP(Natural language processing,自然语言处理)的一个子领域,目标是在大量非结构化文本中整理析取出有价值的内容。由于人类语言具有很高的复杂性,例如不同语言间语法不同,组成方式不同,还有语言种类的多样性,使得NLP是目前机器学习领域最困难的技术之一,里面的难点大部分成为各个应用领域(搜索引擎,情感识别,机器写作等等)的核心障碍,是实现高度智能机器人的关键技术。NLP大部分方法适用于不同的语种,也有部分只适合特定语种。

NLP通常包含两方面内容:词法、语法。词法的经典问题为分词、拼写检查、语音识别等;语法的经典问题有词类识别、词义消歧、结构分析等;语音识别领域经典问题有语言识别、语音指令、电话监听、语音生成等。

3、 分词

在英语等语言中,词与词之间存在着空格,因此在进行处理过程中不需要对其进行分词处理,但由于汉语等语言中词与词之间没有存在分隔,因此需要对其进行分词处理。分词处理能够避免不分词所引发的全表扫描,全表扫描效率低且内存消耗大。

4、 OCR

OCR : optional character recognition 印刷体识别和手写体识别、字形析取
应用:车牌识别、名片识别等

5、 常用算法

(算法需要一定的数学和统计学基础)
贝叶斯分类器
隐马尔科夫过程
有限状态自动机(FSA):用于文本判同等

6、 文本挖掘处理流程

文本挖掘处理流程

7、 相应R包简介

语音与语音处理: emu包
词库数据库: wordnet包(英文库)
关键字提取和通用字符串操作: RKEA包;gsubfn包,tau包
自然语言处理: openNLP包,RWeka包;snowball包(分词);Rstem包;KoNLP包
文本挖掘: tm包(相对完整和综合);lsa包;topicmodels包;RTextTools包;textact包;zipfR包;……

8、 文本处理

1.词干化stemming snowball包

2.记号化Tokenization RWeka包

3.中文分词 Rwordseg包

Rwordseg包需下载安装,网址:
https://r-forge.r-project.org/R/?group_id=1054
在上面网址中下载Rwordseg 如果是64位的话就要下载.zip文件
中文分词比较有名的包非Rwordseg和jieba莫属,他们采用的算法大同小异,但有一个地方有所差别:Rwordseg在分词之前会去掉文本中所有的符号,这样就会造成原本分开的句子前后相连,本来是分开的两个字也许连在一起就是一个词了。
而jieba分词包不会去掉任何符号,而且返回的结果里面也会有符号。

9、 tm包常用操作介绍

1.DirSource:处理目录
2.VectorSource:由文档构成向量
3.DataframeSource:数据框,就像CSV 文件
4.Map操作:对文档内容应用转换函数
5.Xml转化为纯文本
6.去除多余空白
7.去除停用词
8.填充
9.Reduce操作:将多个转换函数的输出合并成一个

tm包具体操作

tm包版本问题:代码基于tm包0.6版本
关于版本差异问题,详见:https://cran.r-project.org/web/packages/tm/news.html

1.建立语料库

建立动态语料库 Corpus(x,……)
Corpus(x, readerControl = list(reader=x$DefaultReader,language="en"),|…… )
建立静态语料库 Pcorpus(x,……)
PCorpus(x, readerControl = list(reader=x$DefaultReader,language="en"),dbControl = list(dbName="",dbType="DB1"),…… )

x参数有如下三种选择:
DirSource
VectorSource
DataframeSource
(可以在reade

  • 15
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值