來源|機器學習初學者
作者|黃海廣
編輯|極市平台
本人在寫論文的時候,用到了很多工具,可用說這些工具可以大大提高寫論文的效率,本文分享下作者常用的論文神器。
本文介紹以下幾種工具:
- 論文管理神器Zotero
- OCR神器(公式識别等)
- Latex工具
- 文法校對工具
- 論文翻譯
- 論文繪圖工具
論文管理神器Zotero
一、Zotero簡介
Zotero作為一款協助科研工作者收集、管理以及引用研究資源的免費軟體,如今已被廣泛使用。此篇使用說明主要分享引用研究資源功能,其中研究資源可以包括期刊、書籍等各類文獻和網頁、圖檔等。歡迎所有共同學習使用的朋友提供批評意見或補充使用經驗。
下載下傳位址:https://www.zotero.org/download/
ubuntu下安裝zotero:
sudo apt-add-repository ppa:smathot/cogscinl
# Say yes/press enter to accept any requests.
$ sudo apt-get update
# Wait for it to complete, then:
$ sudo apt-get install zotero-standalone
二、建立分類
步驟:我的文庫→右鍵→建立分類→輸入名稱→滑鼠右鍵我的文庫→出現建立檔案夾
三、英文文獻資訊導入
步驟(非常簡單):
在建立目錄下→滑鼠拖入英文文獻→右鍵重新抓取PDF檔案的中繼資料→擷取文獻基本資訊
備注:一些時間久遠的英文論文也不能直接抓取資料,具體資訊抓取方法參照第四部分中文文獻的資訊導入。
四、中文文獻資訊導入
步驟(稍複雜):
1. 在Text目錄下→滑鼠拖入中文文獻
2. 在百度學術搜尋文獻→點選批量引用→導出到BibTex→下載下傳
3. 用記事本打開下載下傳好的.bib檔案→複制全部内容
4. Zotero界面檔案一欄→選擇從剪貼闆導入
5. 将PDF檔案滑鼠拖至剛導入檔案成為其子檔案→完成中文文獻的資訊抓取
五、插入文獻
步驟:
1. Word中點選菜單欄中的“Zotero”工具欄→選擇要引用的方式(預設選項沒有的引用方式參見第六部分)
2. 滑鼠光标置于要插入上角标處(即下圖2處)→點選下圖1處所示圖示→2處出現紅框内文字,3處出現Zotero快速格式化引文→點選快速格式化引文左邊圖示選擇經典視圖
3. 出現“添加/編輯引文”對話框→選擇要引入的文獻,點選OK
4. 下圖1處出現上角标→光标置于參考文獻3處→點選2處→3處引入參考文獻成功
5. 其他文獻可依次插入。Zotero有個特别強大的功能,如果中間一部分引文被删除,點選工具欄的Refresh,上角标以及參考文獻會自動更新。
六、尋找非預設引文格式
步驟:
點選左上角Add/Edit
Citation工具→選擇右下角管理樣式→在 Zotero Style Repository對話框尋找想要的引文格式
七、使用堅果雲同步文獻
zotero隻給了300m的空間,大概隻能放80來篇文獻的全文檔案,如果文獻較多就不能同步全文。注意:使用同步功能要先注冊zotero賬号。解決方法:使用堅果雲:
堅果雲官網:https://www.jianguoyun.com/
注意關閉手機驗證,設定如圖:
八、使用插件
Zotero還有不少插件,比較有名的是zotfile,Zotero DOl Manager,它們可以自動下載下傳pdf,或者擷取論文的DOI。
具體使用方法可以網上搜尋擷取。
OCR神器(公式識别等)
我發現了一個神奇的OCR工具:天若OCR,功能真的很好很強大。
免費版本可以識别圖檔文本,收費版本也不貴,59元一次性買個專業版,可以定義接口。
軟體具有文本識别、翻譯等功能,這些通用功能我就不展開說明了,我着重推薦兩個功能:公式識别和表格識别。
公式識别
我之前推薦過公式的識别神器mathpix,真的很好用,但是免費的隻有每個月50次,不夠。
天若OCR可以設定mathpix的接口,mathpix接口一個月免費1000次識别,應該夠了,注冊的時候要綁定信用卡(注冊過程要科學上網),識别效果:
原圖檔公式
識别後的公式,可以導出tex或者儲存為word檔案
表格識别
一般的OCR軟體識别文字都問題不大,但是表格識别卻是個問題,解決這個問題,這裡推薦下騰訊優圖的接口,目前每天200次識别免費。在天若OCR裡配置好表格識别的接口為騰訊優圖後,識别效果如下:
Period | #Node | #Edge | Diameter | #WCC | APL |
Over one week | 11653 | 92118 | 36 | 200 | 11 |
Over two weeks | 9904 | 40772 | 73 | 737 | 24 |
Over four weeks | 6900 | 14646 | 18 | 1433 | 4 |
原始表格圖檔
識别表格效果
識别後的表格,可以直接導入到word:
導入word效果
天若還可以對三線表添加網格後進行識别,非常友善。
線上的latex編輯和編譯工具:overleaf
論文最終展現出來的就是一個PDF格式的文檔。
當然可以使用word,但光排版這件事情,就能耗費你一半的精力。
正确的答案是,使用latex,它是一個專業的排版工具,按照latex的文法進行寫作,執行編譯就能夠得到PDF檔案。它的文法包含了如何排版,雖然相比word上手要慢,但在排版這件事情上,入門級别的latex文法,你要達到精通word的水準。
latex如何使用呢?當然,要安裝編譯器,再安裝編輯器,本地一通配置,偶爾會遇到些問題,憑着強大的谷歌搜尋,倒也不是什麼難事。配置本地環境,不如直接使用線上編輯器。
www.overleaf.com
- 注冊即用,免去本地latex環境安裝的痛苦。
- 多人合作,共同編輯。
- 富文本編輯模式,比寫latex源碼舒服些。
- 随時可以完成線上編譯,檢視PDF。
按照overleaf的開始流程,有選擇模闆的過程,模闆怎麼選,還是要看投稿的期刊或者會議的要求。以KDD為例,在它的KDD 2019 Call for Research Papers頁面上,給出了模闆格式,看看能不能在overleaf上找到,即使沒有,一會提供下載下傳,自己上傳到overleaf。
走過這一步,已經可以編譯出模闆PDF了,可以照貓畫虎地寫起來了。
grammarly:文法糾錯神器
https://app.grammarly.com/
在這編輯文章的一句或一段話,文法出錯了會有提示,低級的文法錯誤都能夠避免。
文法糾錯
除了文法糾錯之外,還有同意替換功能,我的塑膠英語能想到的詞彙都太過常見,不夠精準(逼格不足),選中詞就可以同義替換了。
同意替換
建議在word軟體中安裝grammarly插件,直接可用在word中進行文法校對和糾正。
谷歌翻譯
開始寫作前,要糾結一個問題,是先寫中文再翻譯,還是直接寫英文?我覺得,怎麼快怎麼來,避免拖延,快速開始。英語不過關,翻譯軟體來湊。
有時候不知道怎麼開始一個句型,先中文拿到英文句型的輪廓,再靠着自己的塑膠英文加上更多的輔助工具完善,不失為一個好的選擇。
translate.google.cn
一個秘傳用法:中翻英,改英文,英翻中,改中文。。。反複疊代。
論文繪圖工具
機器學習繪圖
1.Scikit-plot
本人在寫機器學習相關論文的時候,很多圖檔是用matplotlib和seaborn畫的,但是,我還有一個神器,Scikit-plot,通過這個神器,畫出了更加高大上的機器學習圖,本文對Scikit-plot做下簡單介紹。
倉庫位址:
https://github.com/reiinakano/scikit-plot
裡面有使用說明和樣例(py和ipynb格式)。
使用說明
簡單舉幾個例子:
- 比如畫出分類評級名額的ROC曲線的完整代碼:
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
nb = GaussianNB()
nb.fit(X_train, y_train)
predicted_probas = nb.predict_proba(X_test)
# The magic happens here
import matplotlib.pyplot as plt
import scikitplot as skplt
skplt.metrics.plot_roc(y_test, predicted_probas)
plt.show()
圖:ROC曲線
- P-R曲線就是精确率precision vs 召回率recall 曲線,以recall作為橫坐标軸,precision作為縱坐标軸。首先解釋一下精确率和召回率。
圖:P-R曲線
- 混淆矩陣是分類的重要評價标準,下面代碼是用随機森林對鸢尾花資料集進行分類,分類結果畫一個歸一化的混淆矩陣。
圖:歸一化混淆矩陣
- 其他圖如學習曲線、特征重要性、聚類的肘點等等,都可以用幾行代碼搞定。
圖:學習曲線、特征重要性
倉庫位址:
https://github.com/reiinakano/scikit-plot
裡面有使用說明和樣例。
2.SciencePlots
SciencePlots是一個專門為科研論文打造的輕量化的繪圖工具包
網址:
https://github.com/garrettj403/SciencePlots
Github裡有實用說明。
簡易入門:隻需要導入matplotlib工具包,選擇相應的style即可。例如,如果想要給Science投稿,那麼隻需要引入下列的主題:
import matplotlib.pyplot as plt
plt.style.use('science')
需要使用IEEE的格式,則是
import matplotlib.pyplot as plt
plt.style.use(['science','ieee'])
但是需要注意的是,IEEE的格式會覆寫一些Science的風格,例如列寬,行距等。
繪制結果如下:
深度學習繪圖
1.ML Visuals
ML Visuals是一項新的協作努力,通過提供免費的專業、引人注目的和足夠的視覺和圖形,幫助機器學習社群改進科學交流。您可以在示範文稿或部落格文章中自由使用視覺效果。
這個項目位址為:
https://github.com/dair-ai/ml-visuals
Github上面有說明如何使用,大家可以自定義自己需要的圖形,上面已經提供了基本的元素,根據自己的需求去調整使用即可!
部分模闆:
我們來看一下有哪些模闆啊,别急,總共32頁ppt,我們看幾個:
2.PlotNeuralNet
這個工具是薩爾大學計算機科學專業的一個學生開發的
首先我們看看效果,其github連結如下,将近4000 star:
https://github.com/HarisIqbal88/PlotNeuralNet
看看人家這個fcn-8的可視化圖,顔值奇高。
使用的門檻相對來說就高一些了,用LaTex語言編輯,是以可以發揮的空間就大了,你看下面這個softmax層,這就是會寫代碼的優勢了。
參考
[1]:知乎:九老師
[2]:https://www.zotero.org
[3]:https://github.com/reiinakano/scikit-plot
[4]:https://github.com/garrettj403/SciencePlots
[5]:https://github.com/HarisIqbal88/PlotNeuralNet
[6]:https://github.com/dair-ai/ml-visuals
[7]: AI算法與圖像處理(公衆号)
[8]: 有三AI(公衆号)
總結
本文分享下作者常用的論文工具,希望對讀者寫論文有所幫助,祝各位讀者都能寫出高大上的論文。