如论文借鉴, 请标明引用. 作者:李珍妮 邮箱:[email protected]
李珍妮. R语言自然语言处理:中文语料库构造 [EB/OL] 网址. 2018-8-17
NLP(Natural Language Processing)自然语言处理,旨在让计算机理解人类的语言,并实现人机智能交互.商业、政府机构、个人都面对着海量的文本数据,这些数据与我们的生活、工作日常休戚相关,大量的文本中潜在着巨大的信息价值亟待人们发现.
当前, 自然语言处理有三个主要应用方向:
本篇文章的文本挖掘工作,将通过最新版本的R支持包——tm包进行文本挖掘的内容.tm包目前已支持PDF/DOC等常见文档格式的读取和处理,同时支持在线数据/zip压缩数据的处理. 汉字目前普及度越来越大, tm包已经可以支持汉字的文本挖掘工作.
一.操作环境
二.工作原理
tm包通过Corpus(语料)对文本文档进行处理, 语料为文本文档的集合.
函数说明:
VCorpus(x, readerControl)参数说明:
1. x需使用单一数据类型作为tm包的文本处理对象, 可选对象为
getSource( ) 列出可用的数据形式
tm包可分析的数据形式
2. readerControl 是一串带有reader和language的列表
reader 通过原始文本在R中构造文档 可选参数:
……
getReaders() 可查看tm包当前支持的最新文档类型
tm支持的数据种类
language 采用ISO 639-2进行编码
PCorpus(x, readerControl, dbControl) 参数说明:
dbControl参数通过命名参数dbName将文档输出到外部数据存储对象中.
dbType 通过filehash参数设置有效数据库
三 语言设置
tm包中处理语言使用ISO-639-2,中文对应的编码为“zh”,其他编码可在表中查询
四. 构造语料
1.载入相关packages
加载packages1. txt格式的文本信息 :
结果返回txt格式文档有6个
2. doc格式:
3.构造语料分析文档
构造二进制文本文档
5. 数据保存
通过操作外部数据集(doc/txt), 在R中构造了一个语料库, 由于使用的是VCorpus参数, 这些数据/语料仅作为临时变量存储在R中, 并未在硬盘中永久保存.
通常, 一个文本挖掘的工作是长期、连续的. 因此需要将文本挖掘过程中, 产生的临时变量存储.
使用 writeCorpus( )函数:
将语料写到硬盘上存储
6.语料检查
通常一个语料库是一个数据集, 包含了上千或上万篇幅的文档, print( )函数提供了一个精简查看文档的方式,
inspect( )函数可查看文档的更多信息
查看语料库信息
tm包对文章的操作均采用向量的方式. tm包中, 对于字符的操作与向量的操作通用.
获取第6篇文章内容——《再别康桥》 读取中文文档内容
由于tm包将文本中的字符按照向量的形式进行操作, 因此tm包包括了所有对向量的操作方式.(提取、转置、特征值等等)