R文本挖掘-文章关键词提取
来源:互联网 发布:手机淘宝套餐链接 编辑:程序博客网 时间:2024/06/08 07:23
关键词提取(keywords)
- 词频(Term Frequency)
- 逆文档频率(Inverse Document Frequency)
IDF就是每个词的权重,它的大小与一个词的常见程度成反比。 - TF-IDF(Term Frequency-Inverse Document Frequency)
权衡某个分词是否关键词的指标,该值越大,是关键词的可能性就越大。
如何理解呢,举个例子:
有一篇文章,讲述的是马尔科夫模型在中文分词中的应用,假设“马尔科夫模型”
和“中文分词”这两个分词的词频一样,也就是说两个词的TF值一样,那么,
哪个更适合做这篇文章的关键词呢?
显然是“马尔科夫模型”!
用统计学语言表达,就是在词频的基础上,对每个词分配一个权重:
最常用的词(如“的”、“是”、“在”等)给予最小的权重;
最常见的词(如“中文分词”)给予较小的权重;
较少见的词(如“马尔科夫模型”)给予较大的权重。
TF计算公式
TF=该次在文档中出现的次数
IDF=log(文档总数/包含改词的文档数+1)
TF-IDF=TF*IDF
关键词提取的代码实现:
library(tm)library(tmcn)library(Rwordseg)docs <- Corpus( DirSource( c( "SogouC.mini/Sample/C000007", "SogouC.mini/Sample/C000008", "SogouC.mini/Sample/C000010", "SogouC.mini/Sample/C000013", "SogouC.mini/Sample/C000014", "SogouC.mini/Sample/C000016", "SogouC.mini/Sample/C000020", "SogouC.mini/Sample/C000022", "SogouC.mini/Sample/C000023", "SogouC.mini/Sample/C000024" ) ), readerControl = list( language='UTF-8' ))#移除空白docs <- tm_map(docs, stripWhitespace)#移除标点docs <- tm_map(docs, removePunctuation)docs <- tm_map(docs, content_transformer(segmentCN), returnType="tm")docs <- tm_map(docs, content_transformer(function(x) iconv(x, from="UTF8", to="GB2312", sub="byte")))tdm <- TermDocumentMatrix( docs, control = list( wordLengths= c(1, 4), stopwords = stopwordsCN() ))TF <- as.matrix(tdm)IDF <- apply(TF, 1, function(row) { return (log2(length(docs)/(sum(ifelse(row>0, 1, 0))+1)))});TF.IDF = TF*IDFkeywords <- apply(TF.IDF, 2, function(col) { keyword <- col[order(col, decreasing=TRUE)][1:5]; return(names(keyword))})#获取每篇文章关键字所在的位置,#这样子就可以获取对应的TF、IDF以及TF.IDF的值了keywordIndexes <- apply(TF.IDF, 2, function(col) { index <- order(col, decreasing=TRUE)[1:5]; return(index)})TF[keywordIndexes[, 1], 1]IDF[keywordIndexes[, 1]]TF.IDF[keywordIndexes[, 1], 1]
阅读全文
0 0
- R文本挖掘-文章关键词提取
- 文本关键词提取算法
- 文本关键词提取算法
- 文本关键词提取算法
- 文本关键词提取算法
- 文章关键词提取算法
- 文章关键词提取算法
- 文章关键词提取算法
- 文章关键词提取算法
- 数据挖掘之提取关键词
- R之文本挖掘
- 文本挖掘 -R
- R文本挖掘
- R文本挖掘处理
- TF-IDF 提取文本关键词
- 文本关键词提取算法总结
- 自动提取文本关键词demo
- TF-IDF与余弦相似性文本处理:自动提取关键词、找出相似文章
- TF随笔-9
- SpringMVC Controller单例和多例
- 网络工程师基础
- CSS 汉字两端对齐
- Vue开发环境搭建
- R文本挖掘-文章关键词提取
- 20170724Linux下安装GDB以及调试时候遇到的问题延伸
- 设计模式之六大原则——里氏替换原则(LSP)
- String的分隔符
- I/Choreographer: Skipped 40 frames! The application may be doing too much work on its main thread.
- a标签的几种用法
- KIVY安装
- 设计模式(九)外观模式Facade(结构型)
- 动态规划之数塔问题