You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取指定年份起的AuthorRetrieval数据并统计排除自引的被引文献数?

解决AuthorRetrieval年份筛选失效&统计排除自引的被引文献数问题

1. 先搞定AuthorRetrieval的年份筛选

你现在用kwds参数拼年份条件的方式不对,AuthorRetrieval的kwds是用来筛选作者发表的文献,而且这么写根本起不到年份过滤作用。要拿到2018-2022年的作者文献,直接用publication_start和publication_end参数就行:

AuthorRetrieval(author_id, refresh=True, publication_start=2018, publication_end=2022)

2. 统计排除自引的被引文献数

要统计过去5年排除自引的被引文献数量,得结合AuthorRetrieval和CitationOverview一起处理,步骤如下:

  • 先通过AuthorRetrieval拿到该作者2018-2022年所有文献的eid(或者doi)列表
  • 调用CitationOverview,把这些文献标识传进去,同时设置start和end为2018-2022,拿到所有引用数据
  • 过滤掉引用来源是该作者自己文献的条目,然后对被引文献的标识去重(同一篇被引文献可能被多篇作者文献引用),最终的去重数量就是你要的结果

给你个简单的代码逻辑参考:

# 获取作者2018-2022年的文献
author_pubs = AuthorRetrieval(author_id, refresh=True, publication_start=2018, publication_end=2022)
author_eid_list = [pub.eid for pub in author_pubs.publications]

# 获取这些文献的引用数据
cite_data = CitationOverview(author_eid_list, start=2018, end=2022)

# 收集非自引的被引文献,去重
unique_cited = set()
for item in cite_data.citations:
    # 排除来自作者自己文献的引用
    if item.source_eid not in author_eid_list:
        unique_cited.add(item.cited_eid)

# 最终统计数
result_count = len(unique_cited)

要注意的地方

  • CitationOverview返回的是每一次引用记录,不是被引文献本身,所以必须去重,不然会把重复引用算成多个被引文献
  • 确认你用的API版本支持publication_start和publication_end参数,老版本可能不兼容

内容的提问来源于stack exchange,提问作者Mike Vargas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 13:15:31