如何查詢一篇論文的原始碼
作者:Jason Gu
連結:https://www.zhihu.com/question/21980275/answer/19929480
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
1. 如果這論文很老,論文裡的演算法在該領域有舉足輕重的地位。那麼網上很可能有工具包。例如我做的機器學習方向,經典的聚類、分類演算法,MATLAB, python等常用語言都有豐富的工具包可供使用,一般有名的演算法都會包括在其中。
2. 如果論文非常新,或者論文中的演算法在該領域並沒有多大的影響,這時網上各種程式語言自帶的工具包一般是不包括它的。我能想到的大概有以下3種方法:
a. 在google搜尋該論文的名稱或者第一作者的姓名,找到該作者的個人學術主頁(計算機領域多數科研人員都有自己的學術主頁)。在他的主頁上看看他是否公開了論文的程式碼,很多學者樂於分享自己的程式碼。
b. 在google搜尋該論文中演算法的名字+code或者是某種語言,如python等。這是因為閱讀這篇論文的科研人員不少,有的人讀完會寫程式碼並公佈出來。
c. 郵件聯絡第一作者。可惜多數情況下郵件都是石沉大海。尤其是一些很忙的大牛,他們收到類似的郵件太多,可能掃一眼就不再過問。相反,如果是一些博士生,有的還是樂於分享程式碼的,這樣自己的文章也更容易被同行引用。
根據我個人經驗,上述a,b,c方案成功的概率分別只有30%, 10%, 10%。當然不同領域的學術氣氛習慣也不同。
另外,還有的辦法是,檢視該論文被哪些論文引用了,引用者有時需要將自己的演算法與引用的演算法作比較,所以他們有可能這個演算法的程式碼。這個途徑找程式碼工作量更大,概率更小,所以不推薦,不過我確實有通過這個途徑找到過。