Research Trend Scanner
MetadataRetrievalIntermediate

Research Trend Scanner

Inspect five-year trends, top venues, highly cited papers, and keyword shifts for a research area

Scenario
Researchers want to understand how a topic has evolved over the past five years, including publication volume, venue distribution, highly cited papers, and keyword changes.
Estimated calls
~10-25 API calls per scan
Tools
meta-search
Pipeline
研究方向关键词→ meta-search 按年分组→ 统计趋势→ 排序高被引→ 趋势报告

Input example

Topic:
"graph neural networks for molecular property prediction"
Need: five-year trend scan with top venues and highly cited papers.

Output example

Trend report:
- publication count by year
- top venues
- highly cited papers
- emerging keywords
- summary of changes over time

Agent Prompt example

You are a research trend analysis assistant. Use meta-search to aggregate papers by year, venue, citation count, and keywords, then summarize the trend.

Implementation steps

Step 1: Set up the environment

Configure token and HTTP client

!pip install httpx pandas
import os
os.environ["SCIVERSE_API_TOKEN"] = "sv-your-token-here"  # 替换为你的真实值

Step 2: Count publications by year

Run year-by-year meta-search queries for the topic

import os
import asyncio
import httpx
import pandas as pd

BASE = "https://api.sciverse.space"
TOKEN = os.environ["SCIVERSE_API_TOKEN"]
HEADERS = {"Authorization": f"Bearer {TOKEN}"}

async def count_by_year(query: str, year: int) -> int:
    async with httpx.AsyncClient(timeout=30) as client:
        resp = await client.post(
            f"{BASE}/meta-search", headers=HEADERS,
            json={
                "query": query,
                "filters": [
                    {"field": "publication_published_year", "operator": "FILTER_OP_EQ", "value": year}
                ],
                "page": 1, "page_size": 1
            }
        )
        resp.raise_for_status()
        return resp.json().get("total_count", 0)

async def trend_scan(query: str, start_year: int = 2020, end_year: int = 2024):
    tasks = [count_by_year(query, y) for y in range(start_year, end_year + 1)]
    counts = await asyncio.gather(*tasks)
    return list(zip(range(start_year, end_year + 1), counts))

QUERY = "large language model"
trend = await trend_scan(QUERY)
df = pd.DataFrame(trend, columns=["year", "count"])
print(df.to_string(index=False))

Step 3: Find highly cited papers and top venues

Sort and group results by citation count and venue

async def top_cited_papers(query: str, year: int, top_n: int = 5, candidate_pool: int = 50):
    """查找某主题在某年度的高被引论文。

    query 与 sort 可共用:也可直接传 sort 让服务端按引用数硬排;本例演示先按 query 取候选、再本地按引用数排序的做法。
    """
    async with httpx.AsyncClient(timeout=30) as client:
        resp = await client.post(
            f"{BASE}/meta-search", headers=HEADERS,
            json={
                "query": query,
                "filters": [
                    {"field": "publication_published_year", "operator": "FILTER_OP_EQ", "value": year}
                ],
                "page": 1, "page_size": candidate_pool
            }
        )
        resp.raise_for_status()
        papers = (resp.json().get("results") or [])
        return sorted(papers, key=lambda p: p.get("citation_count", 0), reverse=True)[:top_n]

async def main():
    for year in [2022, 2023, 2024]:
        papers = await top_cited_papers(QUERY, year)
        print(f"\
=== {year} Top Cited for '{QUERY}' ===")
        for p in papers:
            venue = p.get("publication_venue_name_unified", "N/A")
            cites = p.get("citation_count", 0)
            print(f"  [{cites} cites] {p['title'][:60]} ({venue})")

await main()

Notes

  • Use the same query definition across years for comparability.
  • Citation counts can favor older papers; interpret them carefully.
  • Combine structured statistics with semantic reading for interpretation.
  • Keep query parameters in the report so the scan can be reproduced.

FAQ

适合什么分析?

适合分析某方向近几年发文量、头部期刊、高被引论文和趋势变化。

数据从哪里来?

主要来自 meta-search 的元数据检索和排序结果。

能否直接代表学术共识?

不能,趋势扫描反映文献分布和热度,不等同于结论共识。

输出建议包含什么?

建议包含年度发文量、高被引论文、代表期刊、关键词和数据口径。

Next steps

Need an API key?

Create one in Console > Tokens.The same API key works for enabled Sciverse, DianShi, and Skills capabilities, with starter quota available according to account permissions.

Open console