R语言中你应该知道的5个文本分析包
——科学家应该知道的用R进行文本数据分析最有用的包概述
1. 全能型:Quanteda
install.packages("quanteda")
library(quanteda)
Quanteda是用于定量文本分析的通用软件包。由KennethBenoit和其他合作者开发,该包是任何从事文本分析的数据科学家必备的。
为什么?因为这个包能让你做很多事情。从自然语言处理的基础知识——词汇多样性、文本预处理、构建语料库、标记对象、文档特征矩阵——到更高级的统计分析,如wordscores或wordfish、文档分类(如Naive Bayes)和主题建模。
这个软件包的一个比较好的教程由渡边康夫和斯特凡·穆勒制作(https://tutorials.quanteda.io/)。
2. 转换型:Text2vec
install.packages("text2vec")
library(text2vec)
如果想要基于文本数据构建机器学习算法,Text2vec是一个非常有用的包。此包允许您基于文档构造文档术语矩阵(dtm)或术语共现矩阵(tcm)。因此,可以通过创建从单词或n-grams到向量空间的映射来对文本进行向量化。基于此,您可以将模型拟合到该dtm或tcm。包括主题建模(LDA、LSA)、单词嵌入(GloVe)、搭配、相似性搜索等。
这个包的灵感来自于Gensim,一个著名的自然语言处理python库。你可以从(http://text2vec.org/index.html)找到有用的教程。
3. 适配型:Tidytext
install.packages("tidytext")
library(tidytext)
Tidytext是一个很重要的数据包,主要用于数据整理和可视化。它的一个好处是,它与R中的其他清理工具(如dplyr或tidyr)配合得非常好。事实上,它就是为了这个目的而开发的。由于认识到数据清理往往需要大量的工作,且许多方法不容易适用于文本清理。Silge&Robinson(2016)开发了tidytext,以使文本挖掘任务更简单、有效,并与已经广泛使用的工具保持一致。
因此,这个包提供了一些命令,允许您将文本转换成更加整洁的格式。分析和可视化的选择很多:从情感分析到tf-idf统计、n-grams或主题建模。这个包特别突出了输出的可视化。
你可以在这里找到一个有用的教程(https://www.tidytextmining.com/)。
4. 匹配型:stringr
install.packages("stringr")
library(stringr)
作为一名数据科学家,你肯定已经使用过字符串。它们在许多数据清理和准备任务中扮演着重要的角色。stringr包是tidyverse的一部分,属于同一生态系统(包括ggplot和dplyr),它提供了一组内聚的函数,可以使您轻松地使用字符串。
在文本分析方面,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 R在R中提供了这个包的一个安装器,使得以简单方式使用spaCy的强大功能变得很容易。事实上,如果你仔细想想,这是一个非常令人难以置信的包,允许R利用Python的强大功能。为了访问这些Python功能,spacyr通过在R会话中初始化来打开连接。
此软件包对于更高级的自然语言处理模型(例如为深度学习准备文本)和其他功能(如词性标注、文本切分、语法分析等)的实现是必不可少的。此外,它还可以与quanteda和tidytext包结合使用。
你可以在这里(https://spacyr.quanteda.io/articles/using_spacyr.html)找到一个有用的教程。
注:本文译自Céline Van den Rul在2019年10月6日发布于Medium上的文章《The 5 Packages You Should Know for Text Analysis with R》(原文网址为:https://towardsdatascience.com/r-packages-for-text-analysis-ad8d86684adb)