点击上方↑↑↑“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