部落格就不上傳**了,具體的看github鏈結叭
找了很多資料,解決這樣的乙個文字相似度問題,從基於餘弦定理的文字相似度,到simhash\minhash,還有到gensim,可以說都系統的看了一遍,其各方法的原理也都了解了,但了解原理是一回事,要想做出來就是另一回事了qaq。
so 我還是用python+基於餘弦定理的文字相似度叭
向量實際上是多維空間中有方向的線段。如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理計算向量的夾角了。假如文字x 和文字 y 對應向量分別是
• x1,x2,…,x64000
• y1,y2,…,y64000
那麼它們夾角的余弦等於:
夾角越小,余弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似,這就叫"余弦相似性"
使用pycharm自帶的效能分析工具測試該程式
兩個文字比較相似度,任意乙個文字是空的,都會發生異常,除0異常(被除數為0),空序列異常
、、、class empty_error(exception):
definit(self):
print("文字為空")
、、、psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫180
120estimate
估計這個任務需要多少時間
2020
development
開發200
200analysis
需求分析 (包括學習新技術)
400design spec
生成設計文件
6050
design review
設計複審
6040
coding standard
**規範 (為目前的開發制定合適的規範)
6040
design
具體設計
100100
coding
具體編碼
600700
code review
**複審
200150
test
測試(自我測試,修改**,提交修改)
200150
reporting
報告100
100test repor
測試報告
6030
size measurement
計算工作量
4040
postmortem & process improvement plan
事後總結, 並提出過程改進計畫
12090
合計2400
2430
解決這樣的乙個文字相似度問題,從基於餘弦定理的文字相似度,到simhash\minhash,還有到gensim,可以說都系統的看了一遍,其各方法的原理也都了解了,但了解原理是一回事,要想做出來就是另一回事了。有試過simhash和gensim,剛開始好幾天,都想用simhash解決這樣的文字相似度問題,但建立了n個simhash.py,前兩天才又發現所寫得程式有bug,一切推翻重來,時間緊迫,在同學的幫助下,還是採用基於餘弦定理的文字相似度叭……這也反映了我**基礎的薄弱,路漫漫其修遠兮……
另外知識儲備不足,有很多需要去學習
第一次個人程式設計作業
psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫120 estimate 估計這個任務需要多少時間 120development 開發360 analysis 需求分析 包括學習新技術 60 design spec...
第一次個人程式設計作業
github倉庫位址 psp2.1 personal softwareprocess stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫50 60estimate 估計這個任務需要多少時間 3020 development 開發960 1080 analysis 需求分析 包括學習...
第一次個人程式設計作業
倉庫 psp2.1 personal software process stages 預估耗時 分鐘 實際耗時 分鐘 planning 計畫 estimate 估計這個任務需要多少時間100 development 開發 8802000 analysis 需求分析 包括學習新技術 240420 de...