今天整理了大學期間的讀書記錄选泻,看著長長的書單苇本,覺得應該將這些書分個類决记,看看自己在大學期間的閱讀習慣是什么樣的想罕。結果分了十幾分鐘連十分之一都沒有分完,感覺很累霉涨。在數(shù)據(jù)分析中有個概念叫聚類按价,而我的目的是把書分類,這兩件事是差不多的吧笙瑟,那應該就有工具可以幫我做這個事情楼镐。
程序員要善于利用工具
于是我開始在網(wǎng)絡上搜索,看有沒有現(xiàn)成的程序可以用往枷。
不一會兒框产,就在知乎上找到一個 你用 Python 做過什么有趣的數(shù)據(jù)挖掘/分析項目凄杯?
剪切式編程
可喜可賀,里面還有代碼示例秉宿,看著很簡短戒突。雖然不會 python
,但是照貓畫虎還是可以的描睦。將代碼拷貝下來膊存,改了改。中間遇到一些中文編碼的問題忱叭,磕磕碰碰的隔崎,但最后也搞定了。
生成的圖片如下:
圖片中顯示的文字越大韵丑,說明詞頻越高爵卒,從圖片看來,我讀過最多的是 XXX 程序設計
這類的書撵彻,嗯钓株,很有道理。
有待完善
不過從這個圖本身看來陌僵,還有不少小問題享幽,比如
- 分詞不夠理想,皮格馬利翁是一個詞拾弃,不應該被分開
- 出現(xiàn)了重復的詞,
Java
在圖片上出現(xiàn)好幾次摆霉,按理說豪椿,同一個詞根據(jù)詞頻的高低不同顯示為不同的大小之后,只會出現(xiàn)一次携栋。仔細看可以發(fā)現(xiàn)搭盾,圖片上出現(xiàn)的三個Java
其實是不同的,第一個只有Java
這個單詞婉支,第二個是Java 中文
鸯隅,第三個是Agile Java
。這么看來向挖,還是分詞
的問題
雖然從這個圖片中看不到太多有用的信息蝌以,但是整個過程還是挺有意思的。而且何之,我還可以繼續(xù)從讀書記錄里面挖掘出來更多的信息跟畅。很容易想到的就是,我可以給書加標簽溶推,用標簽來給書做聚類分析徊件,這樣應該可以得到更有價值的信息奸攻。
新的思路
不過給兩百多本書加標簽,比分類的工作量要大得多虱痕,畢竟每本書可以加若干個標簽睹耐。
于是,我又想到部翘,可以借鑒使用豆瓣上現(xiàn)成的標簽
這樣就不用自己加標簽了硝训。我只需要請求豆瓣的 API,拿到讀書記錄中所有書的標簽就行了略就,工作量一下子小了很多捎迫。
找了一圈,發(fā)現(xiàn)原來豆瓣沒有根據(jù)書名直接招書的 API表牢,想要精確的定位一本書窄绒,需要用 ISBN。想想也有道理崔兴,同名的書可能有很多彰导,根據(jù)書名確實無法唯一地定位一本書。那該怎么辦呢敲茄?
未完待續(xù)……
今天時間不多位谋,就先到這里吧,挖個坑以后慢慢埋……