数据挖掘——相似文章推荐
相似文章推薦:在用戶閱讀某篇文章時(shí),為用戶推薦更多的與在讀文章內(nèi)容相類似的文章
相關(guān)概念:
推薦(Recommended):指介紹好的人或事物,希望被任用或接受。數(shù)據(jù)挖掘領(lǐng)域,推薦包括相似推薦和協(xié)同過濾推薦。
相似推薦(Similar Recommended): 指當(dāng)用戶表現(xiàn)出對(duì)某人或者某物的興趣時(shí),為他推薦與之相類似的人或者物,核心定理:人以群分,物以類聚。
協(xié)同過濾推薦(Collaborative Filtering Recommendation):指利用已有用戶群過去的行為或意見,預(yù)測(cè)當(dāng)前用戶最可能喜歡哪些東西或?qū)δ男〇|西感興趣
相關(guān)文章推薦主要基于余弦相似度的計(jì)算原理。
余弦相似度(Cosine Similarity):用向量空間中兩個(gè)向量夾角的余弦值作為衡量兩個(gè)個(gè)體見差異的大小。余弦值越接近1,就表明夾角越接近0度,也就是兩個(gè)向量越相似,這個(gè)特征叫做余弦相似性。
? ? ? ? ??
?
文章的余弦相似度:
素材:文章A、文章B
#對(duì)兩篇文章進(jìn)行分詞,? 得到? [A] 、 [B]? 兩個(gè)分詞列表
#根據(jù)分詞結(jié)果構(gòu)建分詞語料庫,得到 [C] = [A] | [B]?
#根據(jù)語料庫分別統(tǒng)計(jì)A、B的詞頻(向量化,需要嚴(yán)格按照分詞語料庫單詞的順序)
#計(jì)算余弦值
?
具體實(shí)現(xiàn):在構(gòu)建語料庫/中文分詞/文檔向量化之后
#計(jì)算余弦相似度 from sklearn.metrics import pairwise_distances #計(jì)算每行之間的距離,得到距離矩陣 distance_matrix = pairwise_distances(textVector,metric='cosine')#排序得到距離第2-6名的矩陣元素 sort = np.argsort(distance_matrix,axis=1)[:,1:6] similar5 = pd.Index(filepath)[sort].values#得到相似度前5的文章路徑數(shù)據(jù)框 similarDF = pd.DataFrame({'filepath':corpos.filePath,'s1':similar5[:,0],'s2':similar5[:,1],'s3':similar5[:,2],'s4':similar5[:,3],'s5':similar5[:,4],})?
轉(zhuǎn)載于:https://www.cnblogs.com/rix-yb/p/9720999.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的数据挖掘——相似文章推荐的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2、Collections操作(自定义类
- 下一篇: 02-Django基础知识