程式不會寫,只會問 Google 大神?文獻搜尋引擎 Sci-Genie 能快速找到論文

Sci-Genie
論文搜尋引擎 Sci-Genie 幫你查詢程式相關論文。圖片截至 Sci-Genie

【為什麼我們要挑選這篇文章】程式不會寫怎麼辦?很多工程師會求問 Google 大神,或者是上 Stack Overflow 找人討論。但如果你開發的領域是新興領域,可能上這些地方也找不到合適的答案,有人開發論文搜尋引擎 Sci-Genie,幫你找到合適的論文,解決寫程式的疑難雜症。(責任編輯:郭家宏)

本文經 新智元(公眾號 ID:AI_era)授權轉載,轉載請連繫出處
作者:新智元

程式不會寫怎麼辦?上 Stack Overflow 啊。debug 過不了怎麼辦?上 Stack Overflow 啊。

有些人是面向對象編程(物件導向程式設計),還有一些人是面向 Stack Overflow 編程,當然還可能是面向工資編程。

初階工程師

進階工程師

當然事情的進展通常不會這麼順利,比如當 Stack Overflow 維護的時候,或者你關注的問題沒有人回答,或者你的問題被關閉的時候,怎麼辦?

況且,如果不理解 Stack Overflow 上的程式碼,不僅檢查不出來原本的 bug,而且在復用的時候,會讓你的專案充斥更多的 bug。

那你說怎麼辦? 當然是去 Google 了 ,當然是去讀論文了!

程式不會寫?文獻搜尋引擎幫你挖資料

近日,一位博主開源了自己製作的文獻搜尋引擎「Sci-Genie」的核心庫:「ArXiv-Miner」。

搜尋引擎 傳送門
ArXiv-Miner 傳送門

ArXiv-Miner 是一個 Python 庫,可幫助用戶從 ArXiv 中提取、解析和挖掘文獻的 LaTeX 源碼。

作者表示,自己在學習機器學習和人工智慧的時候,Stack Overflow 上還沒有相關的內容,而「野生」的資料又多又亂,不方便查詢。

所以決定自己做一個搜尋引擎,可以對文獻研究進行解析、索引、挖掘其中的資訊等。簡而言之就是:「make the life easier」。

ArXiv-Miner 環境配置

ArXiv-Miner 最簡單的功能,就是作為一個獨立的庫來快速挖掘 ArXiv 上的內容。當然,首先需要 pip 一下。

pip install -r git+https://github.com/valayDave/arxiv-miner
pip install arxiv-miner

Latex 挖掘工具安裝

主要依賴:texlive-full (Ubuntu)、texshop (OSX) 和 opendetex。

setup_latex_parsing.sh 腳本將為 ubuntu 安裝 texlive-full 和其他依賴項,並在當前工作目錄中為 opendetex 建立二進制文件。

sh setup_latex_parsing.sh

本體分類器安裝

在開始挖掘過程時,需要安裝 cso-classifier 從而涵蓋對本體挖掘。

sh cso_setup.sh

ArXiv-Miner 運行

抓取數據提取

scripts/scrape_papers.py 利用 ArXiv 提供的提要,來存儲記錄以供進一步挖掘。

提取過去 24 小時內發佈的記錄並存儲在數據庫中。

python scripts/scrape_papers.py –with-config default_config.ini daily-harvest

提取特定日期範圍內發佈的記錄並存儲在數據庫中。

python scripts/scrape_papers.py –with-config default_config.ini date-range –start_date ‘2020-05-29’ –end_date ‘2020-06-30’

數據挖掘和儲存

scripts / mine_papers.py 可以提取 LaTeX 源碼並解析數據。

python scripts/mine_papers.py –with-config default_config.ini start-miner

Streamlit Dashboard

scripts/arxiv_search_dash.py 可以進行搜尋,以及對抓取和挖掘後儲存的搜尋結果進行視覺化。

streamlit run scripts/arxiv_search_dash.py — –config default_config.ini

有興趣的讀者可以前往作者提供的文檔進行學習和應用。如果不會使用的話,等等 Stack Overflow,沒準之後也會有相關的問題。

最後,作者希望能夠進一步豐富專案的功能:

▌從論文中提取方程,以便用於進一步的研究和挖掘。

▌整理來自 Twitter、Reddit 等關於評論、喜歡、轉發、討論等的資訊,為需要進一步挖掘或分析的論文提供更多有趣的內容。

▌建立測試範例。

使用者的感想如何?

「我愛這個搜索!曾經也在做類似的專案,但是一個又快又好的搜尋很難做!」

「這是我最近看到最有趣的專案之一了。隨著深度學習的應用領域呈指數級增長,這會是一個非常有用的工具。我已經加入到了書籤中,謝謝分享。」

「針對網友的建議,作者表示感謝,並將它們列為了待解決的問題。」

參考資料

ArXiv-Miner》、《GitHub》、《Sci-Genie》、《Reddit

(本文經 新智元 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈编程遇到瓶颈?别再看 Stack Overflow 了!「论文矿工」帮你快速找到论文 〉;首圖來源:Sci-Genie。)

延伸閱讀

電腦自動寫程式的日子更近了!Facebook 遷移學習新突破,程式碼生成準確度超過 50%
【最受歡迎的程式語言】Rust 提出版本更新計劃,預計 10 月上線!
PyTorch 官方推出程式課程!從建模到部署,8 堂課帶你快速上手


點關鍵字看更多相關文章: