1. 介紹和引入
最近初學(xué)NLP相關(guān)的深度學(xué)習(xí),下了很多論文互婿,數(shù)量一多捣郊,發(fā)現(xiàn)論文管理是個(gè)問題。
首先論文數(shù)目一多慈参,必須要按類別放到子文件夾下呛牲。但是某一篇論文,往往有多個(gè)主題驮配。比如說某論文使用word2vec給短文本分類侈净,那這篇論文既可以放在word2vec的目錄下,也可以放在短文本的目錄下僧凤,也可以放在分類的目錄下畜侦。當(dāng)你有天想去看了,往往又忘了是放在哪個(gè)子目錄下了躯保。再比如說旋膳,你下載了一些論文,下載的時(shí)候你知道這些論文的重要性(引用次數(shù)或者對項(xiàng)目的重要性)和緊急性(比如你三天之內(nèi)都要看完)途事。但是當(dāng)你把它放在某個(gè)子目錄以后验懊,當(dāng)你有時(shí)間去看的時(shí)候擅羞,你忘了你當(dāng)時(shí)最想看的那篇論文是什么了。
為此义图,我決定開發(fā)一個(gè)小工具來幫助我管理我的paper减俏。我的思路是這樣的:給每篇論文打上tag,標(biāo)上重要程度和緊急程度碱工。這樣當(dāng)我沒有特定目的的時(shí)候娃承,我就可以根據(jù)重要程度和緊急程度看小工具推薦的paper;當(dāng)我想看某方面的paper時(shí)怕篷,我只需要查詢下tag就可以找到相關(guān)主題的paper历筝。
OK,有了思路廊谓,就可以著手實(shí)現(xiàn)了梳猪。
2.實(shí)現(xiàn)
實(shí)現(xiàn)這里不想講太多,主要是設(shè)計(jì)程序的思路蒸痹,源代碼在文末給出春弥,都有注釋。
首先是圖形化界面和命令行的選擇叠荠,最終選擇了命令行惕稻,開發(fā)速度更快,使用起來更直接蝙叛。命令行的實(shí)現(xiàn)使用python自帶的cmd模塊實(shí)現(xiàn)俺祠。為了美化命令行的輸出,參考使用了這里的終端輸出彩色化和第三方的terminaltables借帘。
數(shù)據(jù)存儲(chǔ)選擇sqlite蜘渣,因?yàn)橛袛?shù)據(jù)的查詢/插入/刪除/更新操作,用數(shù)據(jù)庫比文件要方便很多肺然;而且sqlite是python自己支持的蔫缸,不用再安裝其他軟件,屬于輕量級的文件數(shù)據(jù)庫际起,最適合這個(gè)任務(wù)拾碌。
3.安裝
下載github上的源碼以后,使用python2.7街望,只需要:
pip install terminaltables
然后就可以輸入:
python Manager.py
啟動(dòng)程序校翔。
4.使用
基本的命令:
^---^ ^---^ ^---^ ^---^ ^---^
rec recommend the papers according to urgency and importance
all show all the papers info
tags show all tags
sbt search by tags, like (sbt tag1 tg2)
sbn search by id nums, like (sbn 1 2)
edit edit one paper info by paper id, like (edit 1)
path find path by paper id, like (path 1 2)
open open paper to read by id, like (open 1)
help help info
quit exit the manager
5.演示:
a.錄入目錄
啟動(dòng)程序后,首先按照提示灾前,輸入你的paper的根目錄防症。如果輸錯(cuò)了,可以把user_set.pkl刪掉,重新啟動(dòng)程序即可蔫敲。我這里程序已經(jīng)保存路徑饲嗽,所以跳過。
b.輸入新paper的數(shù)據(jù)
每次啟動(dòng)程序后奈嘿,程序都會(huì)去掃描paper的目錄(以及子目錄)貌虾,有掃描到新paper就會(huì)提示錄入新paper的數(shù)據(jù)。
按照提示錄入即可裙犹,分別是重要性(importance)尽狠,緊急性(urgency),都是1-5的整數(shù)伯诬,還有所有tag(用空格隔開)晚唇,以及這篇論文是不是讀過了巫财。
所有掃描到的新論文錄入信息以后盗似,就會(huì)出現(xiàn)歡迎界面:
c.顯示所有論文信息
輸入:
all
d.顯示錄入的所有tag
tags
e.按照tag搜索paper
sbt tag1 tag2
sbt(search by tag)
f.按照id號(hào)獲取論文
sbn num1 num2
g.按照id號(hào)獲取論文路徑
path num1 num2
h.修改特定paper的info
edit num
如果看完了某篇論文,想改read從n為y平项,也可以直接使用edit命令赫舒。不修改的字段直接回車,數(shù)據(jù)不會(huì)丟失闽瓢。
如:
i.獲取推薦
rec
推薦規(guī)則是按照緊急程度降序接癌,相同緊急程度按照重要程度降序,而且是read為n扣讼,就是沒有標(biāo)記讀過的論文缺猛。
j.打開論文
open num
打開指定id的論文(使用系統(tǒng)默認(rèn)的閱讀器)。
k.獲取幫助
help
l.退出
quit
6.最后
github源代碼地址,喜歡留個(gè)star :>
這個(gè)工具只是用來方便自己的日常使用椭符,一共只開發(fā)了兩天的時(shí)間荔燎,有什么改進(jìn)意見盡管提,但是不保證回去改哦~我要滾回去看paper了销钝。