點選上方↑↑↑“OpenCV學堂”關注我
來源:公衆号 量子位 授權
近日,一項用于篩選和分析文獻的AI工具paperai,沖上了Reddit熱榜。
原因是:他在CORD-19(COVID-19文獻資料集) Kaggle挑戰賽中斬獲了6項大獎。

對于這一項工具,開發者說:
幫助研究人員從枯燥乏味的文獻篩選中解放出來,讓他們可以更加專注于核心工作。
這又是一項什麼神仙工具?讓我們來仔細看看。
Kaggle CORD-19斬獲6項大獎
Kaggle CORD-19挑戰賽,全稱是COVID-19開放研究資料集挑戰賽。
主辦方準備了一個龐大的文獻資料庫,包含了20多萬篇學術論文,其中有10萬餘篇是與COVID-19相關的研究。
該比賽希望全世界AI專家使用文本挖掘工具,來完成比賽中的各類任務。
最後,幫助研究人員能從浩如煙海的文獻進行高效檢索,為推進COVID-19的研究提供幫助。
就是在這樣一項比賽中,這個paperai,獲得了8項任務大獎中的6項:
- 建立了與新冠肺炎相關的人口研究的彙總表;
- 建立了與新冠肺炎相關的患者描述的彙總表;
- 建立了與新冠肺炎相關的模型和未決問題的彙總表;
- 建立了與新冠肺炎相關的材料研究的彙總表;
- 建立了針對新冠肺炎診斷的彙總表;
- 建立了與新冠肺炎相關的風險因素的彙總表。
對于一項工具,在多項任務的普适,這毫無疑問是巨大的成功。
那麼,這麼強勢的一項工具,其背後,又是如何運作工作的呢?
句嵌入索引分析CORD-19
簡單來說就是,該模型就是句嵌入索引和帶有文章的SQLite資料庫的組合。
首先,每篇文章都被解析成句子,并與文章中繼資料一起存儲在SQLite中。
SQLite本身就具有虛拟表子產品FTS5,可以進行全文搜尋。
這個全文搜尋引擎,允許使用者在大量文檔集合中高效地搜尋包含一個或多個搜尋詞。
SQLite的FTS5預設權重方案是tf-idf,此外,它還支援BM25,這使得性能夠進一步提高。
之後,使用FastText+BM25建立句嵌入索引。
BM25是一個詞袋檢索功能,它根據每個文檔中出現的查詢詞對一組文檔進行排序。
最後,開發者選擇使用FastText為每個标記檢索單詞嵌入。為了建構句子嵌入,嵌入可以被平均在一起以建立單個嵌入向量。
于是,在各種Buff的加持下,我們能夠看到的是:
在整個語料庫上,預先訓練得到了FastText向量,加上了BM25輔助建立索引并排列。最後,得到帶有句嵌入索引的文章,幫助檢索産生最相關的結果。
最後,檢索出來句子,會通過過TextRank算法進行分析和運作,以便在最終的報告中,以高亮的形式框出。

以上圖為例,在目标進行檢索後,系統會輸出文獻的基本資訊,如日期、研究方向、期刊等。
之後,會在對你所檢索的問題進行句子提取和所在文獻的排序,最終在文獻中,所在句子會以高亮的形式框出。
目前,檢索生成的報告支援多種格式的輸出:
- Markdown(預設),輸出Markdown報告。
- CSV,輸出CSV報告。
- 注釋,從文章中提取結果,并在原始的PDF檔案上進行注釋。
目前,該項目已經在Github開源擷取,感興趣的小夥伴可以點選下面連結通路獲得。
Reddit連結:
https://www.reddit.com/r/MachineLearning/comments/kbnlte/p_paperai_aipowered_literature_discovery_and/
Github連結:
https://github.com/neuml/paperai