• 综合
  • 基于shiny for python实现的社会学专业论文语义检索

我是学社会学专业的,平常用知网搜中文论文时,总感觉基于关键词匹配找不到重要论文。所以做了个简易的语义搜索工具。运行逻辑是:

(1)先划定一些学界公认的高质量期刊(2)爬取期刊上所有的文献信息,包含题目、关键词和摘要(3)将信息传递给openAI 的 embeddings模型,将返回结果保存到本地的向量数据库(4)检索时,用户只需提供一段想法文本,这段文本也会转化为向量,然后与数据库中的文献作距离匹配。

这是上传到shinyapp的在线版本:https://plumber.shinyapps.io/ezsearch/
github仓库:https://github.com/plumberDong/Ezsearch

    提一点改进建议

    1. 有很多 NaN 需要检查一下
    2. 表格中的文献添加超链接,方便跳转查看原始文献,可以用 DT 包实现
    3. 返回的表格中,表头可以汉化

    我的输入词是「费孝通」

      Cloud2016 NaN是数据源问题,已尽量修正;超链接已添加(不过python里没有dt包);表头已优化。感谢建议 🙂

        plumber 我有个不成熟的想法,要不要考虑其他相关学科的文献数据。社会学和历史学、新闻学、政治学、经济学看起来很相关的。比如「费孝通」是社会学的奠基人,又是历史上的重要人物。「人口问题」是社会问题、政治问题、经济问题等,甚至是历史问题,历史上是怎么对待人口问题的。感兴趣话题还可以从历史学、政治、经济学的角度去看,甚至新闻学的角度,比如某事件昨天(最近)又发生了,进而加入新闻上的动向。

          (1)先划定一些学界公认的高质量期刊

          两本杂志感觉有点少,是否可以多加入一些,可以在结果中做个标记,「一区」、「二区」之类的。

          说起这个,几年前我们实验室有个哥们就是用pubmed的标题+abstract做了类似文献推荐的工作,覆盖180000篇 pubmed上各类学科文章,测试效果还挺靠谱,可以参考一下

          http://dx.doi.org/10.1093/database/baz085

            Cloud2016 词向量获取调用的openAI接口;向量数据库用的轻量化的chroma DB;因为文献量很少,知网的批量导出其实就够用 🙂(一次500篇)。

            14 天 后

            想法很好,最近我也想做些类似工作,不知道方便交流下不。

              4 个月 后