R中如何利用余弦演算法實現相似文章的推薦

2021-08-04 05:47:56 字數 1475 閱讀 9905

推薦(recommended)

介紹好的人或事物,希望被任用或接受。在目前的資料探勘領域,

推薦包括相似推薦以及協同過濾推薦

相似推薦(similar recommended)

當使用者表現出對某人或者某物感興趣時,為它推薦與之相類似的人,或者物,

它的核心定理是:人以群分,物以類聚。

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")

tdm <- documenttermmatrix(

docs,

control = list(

wordlengths= c(1, 4),

stopwords = stopwordscn()

))tf <- as.matrix(tdm)

#使用矩陣的方式計算

cosinedist <- function(x)

cossimilar <- cosinedist(tf)

cosinedist <- function(textmatrix)

for(j in (i+1)

:nrow(textmatrix))

} return(cossimilar)

}cossimilar <- cosinedist(tf)

return(order(col, decreasing=true)[2:6]);

}) return(names(col)[order(col, decreasing=true)[2:6]]);

})

R中如何利用余弦演算法實現文章的自動摘要

演算法步驟 獲取到需要摘要的文章 對該文章進行詞頻統計 對該文章進行分句 根據中文的標點符號,一般我們採用。進行分句 計算分句與文章之間的余弦相似度 實現 library tm library tmcn library rwordseg docs dirsource c sogouc.mini sa...

python結巴分詞余弦相似度演算法實現

附上 coding utf 8 from jieba import posseg import math import time def simicos str1,str2 對兩個要計算的字串進行分詞,使用隱馬爾科夫模型 也可不用 由於不同的分詞演算法,所以分出來的結果可能不一樣 也會導致相似度會有...

文字相似度 自己實現文字相似度演算法(餘弦定理)

最近由於工作專案,需要判斷兩個txt文字是否相似,於是開始在網上找資料研究,因為在程式中會把文字轉換成string再做比較,所以最開始找到了這篇關於 距離編輯演算法 blog寫的非常好,受益匪淺。於是我決定把它用到專案中,來判斷兩個文字的相似度。但後來實際操作發現有一些問題 直接說就是查詢一本書中的...