R语言中如何提取名词(r语言中如何提取两个矩阵的行和列构造新矩阵)
作者:互联网
-
一、 前言
作为一种高效、开源、免费的统计分析编程语言,R语言在科研、数据分析等领域广受青睐。本文主要介绍一种使用R语言进行文本挖掘中的技巧:如何利用自然语言处理技术提取文章中的名词,进而进行相关数据分析和可视化。
二、 文本挖掘
文本挖掘是一种利用计算机技术和自然语言处理技术对大规模文本材料进行自动处理和分析的方法。在实际应用中,文本挖掘主要包括文本预处理、文本分析、特征提取、模型构建、模型评价等几个步骤。
其中,文本预处理是指对原始文本数据进行清洗和预处理的过程。主要包括分词、去停用词、去标点符号等。文本分析是指通过自然语言处理技术对文本进行分析和理解的过程。特征提取是指从文本数据中提取重要的特征信息,如词频、TF-IDF值等。模型构建是指根据提取的特征信息构建文本分类、文本聚类等模型。模型评价则是指对构建的模型进行评估和优化。
在这个过程中,我们可以利用R语言中的特定包来提取出文章中的名词,在这个基础上进一步进行相关的文本分析和数据挖掘。
三、 名词提取
在进行名词提取的过程中,我们可以利用R语言中的特定包,例如tm、NLP等。
首先,需要将文章导入R语言中,然后进行分词处理。分词是将长句子分成单词,也是文本挖掘中的必要部分。这里可以利用tm包中的DocumentTermMatrix函数来进行分词处理,得到分词后的矩阵。
```R
install.packages("tm")
library(tm)
```
```R
news <- c("如果一个人不能自理生活和工作,他就需要很多帮助。为了保障这些人的生活和权益,社会制定了很多相关的政策和法律。")
corpus <- VCorpus(VectorSource(news))
dtm <- DocumentTermMatrix(corpus)
```
然后,可以使用NLP包中的posTagging函数对矩阵中的单词进行词性标注。词性标注是将分词后的单词按照它们的语法类别进行标注。使用这个函数时,需要使用语言模型en模型,因为它支持英文。词性标注后,我们就可以针对名词进行提取。
```R
install.packages("NLP")
library(NLP)
```
```R
tagged <- posTagging(dtm, list(phrase = FALSE, simplify = TRUE, check = TRUE, annotation = TRUE, stem = FALSE, dictionary = dictionary("_am_en")))
nouns <- which(tagged$tags == "NN")
print(nouns)
```
上述代码输出的是一个由数字组成的向量,这个向量中的每个数字代表矩阵中分词后的第几个单词是名词。在实际应用中,我们可以将这些数字转换为对应单词以便于后续分析。
四、 数据分析与可视化
提取出文章中的名词之后,我们可以对这些名词进行数据分析和可视化。这里我们可以使用ggplot2包来进行数据可视化,使用wordcloud2包来生成词云图。
```R
install.packages("ggplot2")
library(ggplot2)
```
```R
name_list <- as.character(dtm$sparse[, nouns][1,])
freq_list <- as.numeric(dtm$【学习更多生肖排序文章请关注:wWw.xzYang.Cc;.]sparse[, nouns][1,])
df <- data.frame(name_list, freq_list)
df <- df[order(-df[,2]),]
ggplot(df[1:20,], aes(x = reorder(name_list, freq_list), y = freq_list)) + geom_bar(stat = "identity", fill = "steelblue") + xlab("词语") + ylab("出现频数") + ggtitle("文章名词出现频数前20名")
```
上述代码就可以生成一张名词出现频数的柱状图,从中我们可以看出文章中最常出现的名词以及其频数。
```R
install.packages("wordcloud2")
library(wordcloud2)
```
```R
wordcloud2(df[1:50,],size = 0.6,shape = "circle",color = "random-light", backgroundColor = "white")
```
上述代码则可以生成一张词云图,词云图可以形象地表示文章中的名词以及它们的出现频率,方便读者在短时间内了解文章的主要关键词汇。
五、 总结
本文主要介绍了如何利用R语言中的自然语言处理技术来提取文章中的名词,并进行相关的数据分析和可视化。在实际应用中,我们可以根据具体需求对文本挖掘中的各个环节进行灵活运用,进而得到更加精确和有用的结果。