vlambda博客
学习文章列表

R语言中你应该知道的5个文本分析包

——科学家应该知道的用R进行文本数据分析最有用的包概述


1. 全能型:Quanteda

install.packages("quanteda")library(quanteda)

Quanteda是用于定量文本分析的通用软件包。由KennethBenoit和其他合作者开发,该包是任何从事文本分析的数据科学家必备的。

 

为什么?因为这个包能让你做很多事情。从自然语言处理的基础知识——词汇多样性、文本预处理、构建语料库、标记对象、文档特征矩阵——到更高级的统计分析,如wordscoreswordfish、文档分类(如Naive Bayes)和主题建模。

 

这个软件包的一个比较好的教程由渡边康夫和斯特凡·穆勒制作(https://tutorials.quanteda.io/)。

 

2.  转换型:Text2vec

install.packages("text2vec")library(text2vec)

如果想要基于文本数据构建机器学习算法,Text2vec是一个非常有用的包。此包允许您基于文档构造文档术语矩阵(dtm)或术语共现矩阵(tcm)。因此,可以通过创建从单词或n-grams到向量空间的映射来对文本进行向量化。基于此,您可以将模型拟合到该dtmtcm。包括主题建模(LDALSA)、单词嵌入(GloVe)、搭配、相似性搜索等。

 

这个包的灵感来自于Gensim,一个著名的自然语言处理python库。你可以从(http://text2vec.org/index.html)找到有用的教程。

 

3. 适配型:Tidytext

install.packages("tidytext")library(tidytext)

Tidytext是一个很重要的数据包,主要用于数据整理和可视化。它的一个好处是,它与R中的其他清理工具(如dplyrtidyr)配合得非常好。事实上,它就是为了这个目的而开发的。由于认识到数据清理往往需要大量的工作,且许多方法不容易适用于文本清理。Silge&Robinson2016)开发了tidytext,以使文本挖掘任务更简单、有效,并与已经广泛使用的工具保持一致。

 

因此,这个包提供了一些命令,允许您将文本转换成更加整洁的格式。分析和可视化的选择很多:从情感分析到tf-idf统计、n-grams或主题建模。这个包特别突出了输出的可视化。

 

你可以在这里找到一个有用的教程(https://www.tidytextmining.com/)。

 

4. 匹配型:stringr

install.packages("stringr")library(stringr)

作为一名数据科学家,你肯定已经使用过字符串。它们在许多数据清理和准备任务中扮演着重要的角色。stringr包是tidyverse的一部分,属于同一生态系统(包括ggplotdplyr),它提供了一组内聚的函数,可以使您轻松地使用字符串。

 

在文本分析方面,stringr提供了一些高效的模式匹配函数,在处理正则表达式方面比较方便。其他函数包括字符操作(操作字符向量中字符串的单个字符)和空字符工具(添加、删除、操作空格)。

 

CRAN-R项目中有一个关于该包(https://cran.r-project.org/web/packages/stringr/vignettes/stringr.html)的有用教程。

 

5. 酷炫型:Spacyr

install.packages("spacyr")library(spacyr)spacy_install()spacy_initialize()

大多数人可能知道Python中的spaCy包。spaCy RR中提供了这个包的一个安装器,使得以简单方式使用spaCy的强大功能变得很容易。事实上,如果你仔细想想,这是一个非常令人难以置信的包,允许R利用Python的强大功能。为了访问这些Python功能,spacyr通过在R会话中初始化来打开连接。

 

此软件包对于更高级的自然语言处理模型(例如为深度学习准备文本)和其他功能(如词性标注、文本切分、语法分析等)的实现是必不可少的。此外,它还可以与quantedatidytext包结合使用。

 

你可以在这里(https://spacyr.quanteda.io/articles/using_spacyr.html)找到一个有用的教程。

 

 

注:本文译自Céline Van den Rul2019106日发布于Medium上的文章《The 5 Packages You Should Know for Text Analysis with R》(原文网址为:https://towardsdatascience.com/r-packages-for-text-analysis-ad8d86684adb