利用sklearn計算文字相似性
利用sklearn計算文字相似性,並將文字之間的相似度矩陣儲存到檔案當中。這裡提取文字TF-IDF特徵值進行文字的相似性計算。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!/usr/bin/python
# -*- coding: utf-8 -*- import
numpy import
os import
sys from
sklearn import
feature_extraction from
sklearn.feature_extraction.text import
TfidfTransformer from
sklearn.feature_extraction.text import
TfidfVectorizer, CountVectorizer reload (sys) #sys.setdefaultencoding('utf8')了 網易 杭研 大廈","小明 碩士 畢業 與 中國 科學院","我 愛 北京 天安門"] trainfile
= open ( "C:\\Users\\hd\\Desktop\\docs.txt" , "r" )
#不同的documents用換行符隔開 traincorpus
= trainfile.readlines() #corpus=["我 來到 北京 清華大學","我 他 來到
trainfile.close() corpus
= traincorpus; vectorizer = CountVectorizer() #該類會將文字中的詞語轉換為詞頻矩陣,矩陣元素a[i][j] 表示j詞在i類文字下的詞頻 tfidf_vectorizer
= TfidfVectorizer(max_df = 0.95 , min_df = 2 ,
#max_features=n_features, stop_words = 'english' ) transformer = TfidfTransformer() #該類會統計每個詞語的tf-idf權值 tfidf = transformer.fit_transform(tfidf_vectorizer.fit_transform(corpus)) #第一個fit_transform是計算tf-idf,第二個fit_transform是將文字轉為詞頻矩陣 word = tfidf_vectorizer.get_feature_names() #獲取詞袋模型中的所有詞語 weight = tfidf.toarray() #將tf-idf矩陣抽取出來,元素a[i][j]表示j詞在i類文字中的tf-idf權重 f =
open ( "C:\\Users\\hd\\Desktop\\tif.txt" , "w+" ) for
i in range ( len (weight)): #列印每類文字的tf-idf詞語權重,第一個for遍歷所有文字,第二個for便利某一類文字下的詞語權重 # print u"-------這裡輸出第",i,u"類文字的詞語tf-idf權重------" f.write( str (i + 1 ) + "\t" ) for
j in
range ( len (word)): if (weight[i][j]> 0 ): f.write( str (j + 1 )
+ ":"
+ str (weight[i][j])
+ " " ) f.write( "\n" ) print
i f.close() f =
open ( "C:\\Users\\hd\\Desktop\\dictionary.txt" , "w+" ) for
i in range ( len (word)): f.write( str (i)
+ "\t"
+ word[i].encode( "utf-8" )
+ "\n" ) f.close() SimMatrix
= (tfidf *
tfidf.T).A print
SimMatrix[ 1 , 3 ]
#"第一篇與第4篇的相似度" numpy.savetxt( "C:\\Users\\hd\\Desktop\\SimMatrix.csv" , SimMatrix, delimiter = "," )
#儲存相似度矩陣 |
相關文章
- 文字相似性計算--MinHash和LSH演算法演算法
- 利用sklearn進行字典&文字的特徵提取特徵
- 推薦系統技術之文字相似性計算(二)
- 推薦系統技術之文字相似性計算(三)
- 推薦系統技術之文字相似性計算(一)
- 如何計算詞語的相似性(附github)Github
- Swift 計算文字的sizeSwift
- wps文字技巧:利用窗體域和書籤計算試卷總分
- HSV顏色空間下的圖片相似性計算(python版)Python
- 大文字平行計算實現方式
- 大規模文字相似度計算
- excel利用rank排名次公式 excel利用公式計算排名Excel公式
- 文字相似度計算之餘弦定理
- python 計算txt文字詞頻率Python
- 中文文字相似度計算工具集
- WPS文字中的表格計算功能
- 【MySQL】利用binlog完成實時計算MySql
- esProc 利用剪貼簿強化 Excel 計算Excel
- Java利用Scanner 加Swich實現計算器Java
- Windows 平臺計算 CPU 總利用率Windows
- 利用雙計算機除錯遊戲程式 (轉)計算機除錯遊戲
- 文字資料預處理:sklearn 中 CountVectorizer、TfidfTransformer 和 TfidfVectorizerORM
- 萌新Learning-簡單的文字相似性檢測與抄襲判斷
- IM應用中如何計算富文字的高度
- excel 計算文字型數學表示式 用 evaluateExcel
- 如何利用隱私計算技術消除貧困?
- Java程式設計:利用while語句計算10的階乘Java程式設計While
- PHP讀取文字並計算單詞所在行列PHP
- JavaScript實時計算輸入文字框字元數量JavaScript字元
- 內建計算機文字編輯器:Soulver Mac計算機Mac
- WPS文字中的表格計算功能的初次使用
- 如何在WPS文字中設定計算器功能
- 乾貨|如何利用CNN建立計算機視覺模型?CNN計算機視覺模型
- 利用 Python 引導孩子的計算機思維Python計算機
- 利用CORDIC演算法計算三角函式演算法函式
- 計算機網路實驗二——利用wireshark抓包計算機網路
- 能否利用Hadoop搭建完整的雲端計算平臺Hadoop
- 利用winrar定時備份計算機資料夾計算機