@wentorai/research-plugins 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/curated/analysis/README.md +64 -0
- package/curated/domains/README.md +104 -0
- package/curated/literature/README.md +53 -0
- package/curated/research/README.md +62 -0
- package/curated/tools/README.md +87 -0
- package/curated/writing/README.md +61 -0
- package/index.ts +39 -0
- package/mcp-configs/academic-db/ChatSpatial.json +17 -0
- package/mcp-configs/academic-db/academia-mcp.json +17 -0
- package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
- package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
- package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
- package/mcp-configs/academic-db/all-in-mcp.json +17 -0
- package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
- package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
- package/mcp-configs/academic-db/biomcp.json +17 -0
- package/mcp-configs/academic-db/biothings-mcp.json +17 -0
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
- package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
- package/mcp-configs/academic-db/dicom-mcp.json +17 -0
- package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp.json +19 -0
- package/mcp-configs/academic-db/gget-mcp.json +17 -0
- package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
- package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
- package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
- package/mcp-configs/academic-db/lex.json +17 -0
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
- package/mcp-configs/ai-platform/ai-counsel.json +17 -0
- package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
- package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
- package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
- package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
- package/mcp-configs/browser/decipher-research-agent.json +17 -0
- package/mcp-configs/browser/deep-research.json +17 -0
- package/mcp-configs/browser/everything-claude-code.json +17 -0
- package/mcp-configs/browser/gpt-researcher.json +17 -0
- package/mcp-configs/browser/heurist-agent-framework.json +17 -0
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
- package/mcp-configs/data-platform/context-keeper.json +17 -0
- package/mcp-configs/data-platform/context7.json +19 -0
- package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
- package/mcp-configs/data-platform/email-mcp.json +17 -0
- package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
- package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
- package/mcp-configs/note-knowledge/agent-memory.json +17 -0
- package/mcp-configs/note-knowledge/aimemo.json +17 -0
- package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
- package/mcp-configs/note-knowledge/cognee.json +17 -0
- package/mcp-configs/note-knowledge/context-awesome.json +17 -0
- package/mcp-configs/note-knowledge/context-mcp.json +17 -0
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
- package/mcp-configs/note-knowledge/cortex.json +17 -0
- package/mcp-configs/note-knowledge/devrag.json +17 -0
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
- package/mcp-configs/note-knowledge/engram.json +17 -0
- package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
- package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
- package/mcp-configs/reference-mgr/chiken.json +17 -0
- package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
- package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
- package/mcp-configs/registry.json +447 -0
- package/openclaw.plugin.json +21 -0
- package/package.json +61 -0
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
- package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
- package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
- package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
- package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
- package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
- package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
- package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
- package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
- package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
- package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
- package/skills/domains/cs/dblp-api/SKILL.md +129 -0
- package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
- package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
- package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
- package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
- package/skills/domains/economics/fred-api/SKILL.md +189 -0
- package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
- package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
- package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
- package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
- package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
- package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
- package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
- package/skills/domains/math/oeis-api/SKILL.md +158 -0
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
- package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
- package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
- package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
- package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
- package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
- package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
- package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
- package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
- package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
- package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
- package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
- package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
- package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
- package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
- package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
- package/skills/literature/search/arxiv-api/SKILL.md +95 -0
- package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
- package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
- package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
- package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
- package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
- package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
- package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
- package/skills/literature/search/openalex-api/SKILL.md +134 -0
- package/skills/literature/search/pubmed-api/SKILL.md +130 -0
- package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
- package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
- package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
- package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
- package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
- package/skills/research/deep-research/research-cog/SKILL.md +153 -0
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
- package/skills/research/funding/figshare-api/SKILL.md +163 -0
- package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
- package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
- package/skills/research/funding/open-science-guide/SKILL.md +255 -0
- package/skills/research/funding/zenodo-api/SKILL.md +174 -0
- package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
- package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
- package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
- package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
- package/skills/tools/document/anystyle-api/SKILL.md +199 -0
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
- package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
- package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
- package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
- package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
- package/skills/writing/citation/zotero-api/SKILL.md +188 -0
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
- package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
- package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
- package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
- package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
- package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
- package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
- package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
- package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
- package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
- package/src/tools/arxiv.ts +131 -0
- package/src/tools/crossref.ts +112 -0
- package/src/tools/openalex.ts +174 -0
- package/src/tools/pubmed.ts +166 -0
- package/src/tools/semantic-scholar.ts +108 -0
- package/src/tools/unpaywall.ts +58 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: survey-research-guide
|
|
3
|
+
description: "Design, deploy, and analyze surveys for social science and organizational res..."
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "clipboard"
|
|
7
|
+
category: "domains"
|
|
8
|
+
subcategory: "social-science"
|
|
9
|
+
keywords: ["communication studies", "anthropology", "management", "sociology", "survey design", "questionnaire"]
|
|
10
|
+
source: "wentor"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Survey Research Guide
|
|
14
|
+
|
|
15
|
+
A practical skill for conducting rigorous survey research from instrument design through data analysis. Covers questionnaire construction, sampling strategies, administration methods, response bias mitigation, and analytical techniques commonly used in communication studies, anthropology, management, and sociology.
|
|
16
|
+
|
|
17
|
+
## Survey Design Process
|
|
18
|
+
|
|
19
|
+
### Phase 1: Conceptualization
|
|
20
|
+
|
|
21
|
+
Map your research questions to survey constructs:
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
def create_survey_blueprint(research_questions: list[dict]) -> dict:
|
|
25
|
+
"""
|
|
26
|
+
Generate a survey blueprint mapping RQs to constructs and items.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
research_questions: List of dicts with 'rq', 'constructs', 'hypothesized_relationship'
|
|
30
|
+
"""
|
|
31
|
+
blueprint = {'sections': [], 'total_estimated_items': 0}
|
|
32
|
+
|
|
33
|
+
for rq in research_questions:
|
|
34
|
+
section_items = 0
|
|
35
|
+
constructs = []
|
|
36
|
+
for construct in rq['constructs']:
|
|
37
|
+
n_items = construct.get('n_items', 4) # default 4 items per construct
|
|
38
|
+
constructs.append({
|
|
39
|
+
'name': construct['name'],
|
|
40
|
+
'type': construct.get('type', 'latent'),
|
|
41
|
+
'scale': construct.get('scale', 'Likert 7-point'),
|
|
42
|
+
'validated_instrument': construct.get('instrument', None),
|
|
43
|
+
'items_needed': n_items
|
|
44
|
+
})
|
|
45
|
+
section_items += n_items
|
|
46
|
+
|
|
47
|
+
blueprint['sections'].append({
|
|
48
|
+
'research_question': rq['rq'],
|
|
49
|
+
'constructs': constructs,
|
|
50
|
+
'total_items': section_items
|
|
51
|
+
})
|
|
52
|
+
blueprint['total_estimated_items'] += section_items
|
|
53
|
+
|
|
54
|
+
# Estimate completion time (3-4 items per minute)
|
|
55
|
+
blueprint['estimated_minutes'] = round(blueprint['total_estimated_items'] / 3.5, 1)
|
|
56
|
+
return blueprint
|
|
57
|
+
|
|
58
|
+
# Example
|
|
59
|
+
rqs = [
|
|
60
|
+
{
|
|
61
|
+
'rq': 'How does organizational culture affect employee innovation?',
|
|
62
|
+
'constructs': [
|
|
63
|
+
{'name': 'organizational_culture', 'instrument': 'OCAI (Cameron & Quinn)'},
|
|
64
|
+
{'name': 'employee_innovation', 'instrument': 'Innovative Work Behavior Scale'}
|
|
65
|
+
],
|
|
66
|
+
'hypothesized_relationship': 'positive'
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
print(create_survey_blueprint(rqs))
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Phase 2: Item Writing
|
|
73
|
+
|
|
74
|
+
Rules for writing effective survey items:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
DO:
|
|
78
|
+
- Use simple, unambiguous language (8th grade reading level)
|
|
79
|
+
- Ask about one concept per item
|
|
80
|
+
- Provide a reference period ("In the past 30 days...")
|
|
81
|
+
- Include both positively and negatively worded items (reverse-coded)
|
|
82
|
+
- Match response options to the question stem
|
|
83
|
+
|
|
84
|
+
DO NOT:
|
|
85
|
+
- Use double negatives ("I do not disagree...")
|
|
86
|
+
- Use absolutes ("always", "never")
|
|
87
|
+
- Ask hypothetical questions when actual behavior data is available
|
|
88
|
+
- Include two ideas in one question (double-barreled)
|
|
89
|
+
- Assume knowledge or use jargon
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Phase 3: Response Scale Design
|
|
93
|
+
|
|
94
|
+
| Scale Type | Use Case | Example |
|
|
95
|
+
|-----------|----------|---------|
|
|
96
|
+
| Likert (agreement) | Attitudes, beliefs | Strongly Disagree to Strongly Agree |
|
|
97
|
+
| Frequency | Behavioral frequency | Never / Rarely / Sometimes / Often / Always |
|
|
98
|
+
| Semantic differential | Perceptions | Cold ------- Warm |
|
|
99
|
+
| Visual analog (VAS) | Continuous measurement | 0-100mm line |
|
|
100
|
+
| Ranking | Relative preferences | Rank items 1 through N |
|
|
101
|
+
|
|
102
|
+
## Survey Administration
|
|
103
|
+
|
|
104
|
+
### Mode Selection
|
|
105
|
+
|
|
106
|
+
| Mode | Response Rate | Cost | Data Quality | Best For |
|
|
107
|
+
|------|-------------|------|-------------|----------|
|
|
108
|
+
| Online (Qualtrics/SurveyMonkey) | 10-30% | Low | Moderate | General population, students |
|
|
109
|
+
| Telephone (CATI) | 15-40% | High | High | Older adults, nationally representative |
|
|
110
|
+
| In-person (CAPI) | 50-70% | Very high | Highest | Sensitive topics, low-literacy populations |
|
|
111
|
+
| Mail | 20-40% | Moderate | Moderate | Rural populations, older adults |
|
|
112
|
+
| Mixed-mode | 30-60% | Moderate-high | High | Coverage optimization |
|
|
113
|
+
|
|
114
|
+
## Response Bias Detection
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
def detect_response_patterns(responses: pd.DataFrame,
|
|
118
|
+
reverse_items: list[str]) -> dict:
|
|
119
|
+
"""
|
|
120
|
+
Flag potential problematic response patterns.
|
|
121
|
+
"""
|
|
122
|
+
flags = {}
|
|
123
|
+
|
|
124
|
+
# 1. Straight-lining detection
|
|
125
|
+
row_variance = responses.var(axis=1)
|
|
126
|
+
flags['straight_liners'] = (row_variance < 0.1).sum()
|
|
127
|
+
|
|
128
|
+
# 2. Speeding (if timing data available)
|
|
129
|
+
if 'completion_seconds' in responses.columns:
|
|
130
|
+
median_time = responses['completion_seconds'].median()
|
|
131
|
+
flags['speeders'] = (responses['completion_seconds'] < median_time * 0.33).sum()
|
|
132
|
+
|
|
133
|
+
# 3. Inconsistency (reverse-coded item pairs)
|
|
134
|
+
if reverse_items:
|
|
135
|
+
for rev_item in reverse_items:
|
|
136
|
+
original = rev_item.replace('_R', '')
|
|
137
|
+
if original in responses.columns and rev_item in responses.columns:
|
|
138
|
+
max_scale = responses[original].max()
|
|
139
|
+
expected = max_scale + 1 - responses[rev_item]
|
|
140
|
+
diff = abs(responses[original] - expected)
|
|
141
|
+
flags[f'inconsistent_{original}'] = (diff > 2).sum()
|
|
142
|
+
|
|
143
|
+
# 4. Missing data pattern
|
|
144
|
+
flags['pct_missing'] = responses.isnull().mean().mean() * 100
|
|
145
|
+
|
|
146
|
+
return flags
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Analysis Techniques
|
|
150
|
+
|
|
151
|
+
### Structural Equation Modeling (SEM)
|
|
152
|
+
|
|
153
|
+
For testing hypothesized relationships between latent constructs:
|
|
154
|
+
|
|
155
|
+
```python
|
|
156
|
+
# Using semopy for SEM in Python
|
|
157
|
+
# pip install semopy
|
|
158
|
+
|
|
159
|
+
model_spec = """
|
|
160
|
+
# Measurement model
|
|
161
|
+
org_culture =~ oc1 + oc2 + oc3 + oc4
|
|
162
|
+
innovation =~ inn1 + inn2 + inn3 + inn4
|
|
163
|
+
job_satisfaction =~ js1 + js2 + js3
|
|
164
|
+
|
|
165
|
+
# Structural model
|
|
166
|
+
innovation ~ org_culture + job_satisfaction
|
|
167
|
+
job_satisfaction ~ org_culture
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
# Fit indices to report:
|
|
171
|
+
# - Chi-square (p > 0.05)
|
|
172
|
+
# - CFI > 0.95
|
|
173
|
+
# - TLI > 0.95
|
|
174
|
+
# - RMSEA < 0.06
|
|
175
|
+
# - SRMR < 0.08
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Report reliability (Cronbach's alpha, composite reliability), convergent validity (AVE > 0.50), and discriminant validity (Fornell-Larcker criterion) for all latent constructs.
|
|
179
|
+
|
|
180
|
+
## Reporting Standards
|
|
181
|
+
|
|
182
|
+
Follow the AAPOR (American Association for Public Opinion Research) reporting guidelines: report response rate, sampling method, margin of error, field dates, mode of administration, and weighting procedures. For academic publication, include the full survey instrument as supplementary material.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: citation-alert-guide
|
|
3
|
+
description: "Set up citation alerts and track new papers citing key references"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "bell"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["citation alerts", "paper tracking", "Google Scholar alerts", "new citations", "literature monitoring"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Citation Alert Guide
|
|
14
|
+
|
|
15
|
+
A skill for setting up automated citation alerts and tracking systems that notify you when key papers are cited, new articles match your research interests, or important journals publish relevant work.
|
|
16
|
+
|
|
17
|
+
## Alert Types and Platforms
|
|
18
|
+
|
|
19
|
+
### Overview of Alert Systems
|
|
20
|
+
|
|
21
|
+
| Platform | Alert Type | Coverage | Cost |
|
|
22
|
+
|----------|-----------|----------|------|
|
|
23
|
+
| Google Scholar | Citation alert, keyword alert | Broadest, includes preprints | Free |
|
|
24
|
+
| Web of Science | Citation alert, search alert, journal ToC | WoS-indexed journals | Institutional |
|
|
25
|
+
| Scopus | Citation alert, search alert, author alert | Scopus-indexed journals | Institutional |
|
|
26
|
+
| PubMed | Email alert (My NCBI) | Biomedical literature | Free |
|
|
27
|
+
| Semantic Scholar | Paper alert, author alert, topic feed | CS, biomedical, broad | Free |
|
|
28
|
+
| ResearchGate | Author follow, recommendation | Member-uploaded papers | Free |
|
|
29
|
+
|
|
30
|
+
### Setting Up Google Scholar Alerts
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
Citation Alert (track who cites a specific paper):
|
|
34
|
+
1. Search for the paper in Google Scholar
|
|
35
|
+
2. Click "Cited by N" under the result
|
|
36
|
+
3. Click the envelope icon ("Create alert")
|
|
37
|
+
4. Enter your email address
|
|
38
|
+
5. You will receive an email when new papers cite this work
|
|
39
|
+
|
|
40
|
+
Keyword Alert (track new papers matching a query):
|
|
41
|
+
1. Go to scholar.google.com/scholar_alerts
|
|
42
|
+
2. Click "Create alert"
|
|
43
|
+
3. Enter your search query (use quotes for phrases)
|
|
44
|
+
4. Enter your email address
|
|
45
|
+
5. Choose frequency: as-it-happens or weekly digest
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Building a Monitoring System
|
|
49
|
+
|
|
50
|
+
### Structured Alerting Strategy
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
def design_alert_system(research_topics: list[str],
|
|
54
|
+
key_papers: list[str],
|
|
55
|
+
key_authors: list[str]) -> dict:
|
|
56
|
+
"""
|
|
57
|
+
Design a comprehensive literature monitoring system.
|
|
58
|
+
|
|
59
|
+
Args:
|
|
60
|
+
research_topics: Core research interest phrases
|
|
61
|
+
key_papers: DOIs or titles of seminal papers to track
|
|
62
|
+
key_authors: Names of researchers to follow
|
|
63
|
+
"""
|
|
64
|
+
system = {
|
|
65
|
+
"citation_alerts": {
|
|
66
|
+
"platform": "Google Scholar + Web of Science",
|
|
67
|
+
"items": [
|
|
68
|
+
{"paper": p, "reason": "Seminal work in my area"}
|
|
69
|
+
for p in key_papers
|
|
70
|
+
],
|
|
71
|
+
"frequency": "as-it-happens"
|
|
72
|
+
},
|
|
73
|
+
"keyword_alerts": {
|
|
74
|
+
"platform": "Google Scholar + PubMed",
|
|
75
|
+
"queries": research_topics,
|
|
76
|
+
"frequency": "weekly"
|
|
77
|
+
},
|
|
78
|
+
"author_alerts": {
|
|
79
|
+
"platform": "Semantic Scholar + Scopus",
|
|
80
|
+
"authors": key_authors,
|
|
81
|
+
"frequency": "monthly"
|
|
82
|
+
},
|
|
83
|
+
"journal_toc_alerts": {
|
|
84
|
+
"platform": "Web of Science or journal website",
|
|
85
|
+
"note": "Subscribe to table-of-contents for top 3-5 journals"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return system
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Recommended Workflow
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Daily (5 minutes):
|
|
95
|
+
- Skim citation alert emails
|
|
96
|
+
- Star/flag relevant hits in your reference manager
|
|
97
|
+
|
|
98
|
+
Weekly (30 minutes):
|
|
99
|
+
- Review keyword alert digests
|
|
100
|
+
- Scan journal ToC for top 3 journals
|
|
101
|
+
- Add promising papers to "To Read" folder
|
|
102
|
+
|
|
103
|
+
Monthly (1 hour):
|
|
104
|
+
- Review author alerts for new publications from key groups
|
|
105
|
+
- Update keyword queries if your focus has shifted
|
|
106
|
+
- Prune alerts that are no longer relevant
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Managing Alert Overload
|
|
110
|
+
|
|
111
|
+
### Filtering and Prioritization
|
|
112
|
+
|
|
113
|
+
When alerts generate too many results, refine your strategy:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
1. Narrow keyword queries:
|
|
117
|
+
Before: "machine learning"
|
|
118
|
+
After: "machine learning" AND "protein folding"
|
|
119
|
+
|
|
120
|
+
2. Use field restrictions:
|
|
121
|
+
PubMed: "deep learning"[Title] AND "radiology"[MeSH]
|
|
122
|
+
|
|
123
|
+
3. Limit to high-impact sources:
|
|
124
|
+
Web of Science: Set alert with journal filter
|
|
125
|
+
|
|
126
|
+
4. Consolidate with an RSS reader:
|
|
127
|
+
- Export alerts to RSS where supported
|
|
128
|
+
- Use Feedly, Inoreader, or Zotero's feed reader
|
|
129
|
+
- Group feeds by topic for efficient scanning
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Using Reference Managers for Tracking
|
|
133
|
+
|
|
134
|
+
Most reference managers support alert integration:
|
|
135
|
+
|
|
136
|
+
- **Zotero**: Add RSS feeds to your library; use the "Feeds" feature to pull in new items automatically
|
|
137
|
+
- **Paperpile**: Built-in recommendation engine suggests related papers
|
|
138
|
+
- **Mendeley**: "Suggest" feature recommends papers based on your library
|
|
139
|
+
|
|
140
|
+
## PubMed My NCBI Alerts
|
|
141
|
+
|
|
142
|
+
### Saved Search Alerts
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
1. Run your search in PubMed
|
|
146
|
+
2. Click "Save" below the search bar
|
|
147
|
+
3. Sign in to My NCBI (free account)
|
|
148
|
+
4. Name your search
|
|
149
|
+
5. Set schedule: daily, weekly, or monthly
|
|
150
|
+
6. Set format: summary, abstract, or full
|
|
151
|
+
7. PubMed emails you new results matching your saved search
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
This is particularly valuable for systematic review updates, where you need to re-run the exact same search periodically to capture newly published studies.
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: conference-proceedings-guide
|
|
3
|
+
description: "Find, access, and cite conference papers and proceedings effectively"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "speech_balloon"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["conference papers", "proceedings", "ACM", "IEEE", "academic conferences", "workshop papers"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Conference Proceedings Guide
|
|
14
|
+
|
|
15
|
+
A skill for finding, accessing, and citing conference papers and proceedings. In many fields -- especially computer science, engineering, and HCI -- conferences are the primary venue for publishing cutting-edge research. This guide covers major proceedings databases, search strategies, and citation practices.
|
|
16
|
+
|
|
17
|
+
## Major Proceedings Databases
|
|
18
|
+
|
|
19
|
+
### Database Overview
|
|
20
|
+
|
|
21
|
+
| Database | Coverage | Access |
|
|
22
|
+
|----------|----------|--------|
|
|
23
|
+
| ACM Digital Library | ACM conferences (CHI, SIGCOMM, KDD, etc.) | Institutional or ACM membership |
|
|
24
|
+
| IEEE Xplore | IEEE conferences (CVPR, ICRA, INFOCOM, etc.) | Institutional or IEEE membership |
|
|
25
|
+
| DBLP | CS bibliography, links to proceedings | Free metadata |
|
|
26
|
+
| Springer LNCS | Lecture Notes in Computer Science series | Institutional |
|
|
27
|
+
| AAAI Digital Library | AAAI, IJCAI proceedings | Free for AAAI papers |
|
|
28
|
+
| NeurIPS / ICML / ICLR | ML conference proceedings | OpenReview (free) |
|
|
29
|
+
| arXiv | Preprints including conference submissions | Free |
|
|
30
|
+
|
|
31
|
+
### Finding Conference Papers
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Strategy 1 - Search by conference name:
|
|
35
|
+
Google Scholar: source:"NeurIPS" "transformer" "attention"
|
|
36
|
+
DBLP: Browse conference page -> search within proceedings
|
|
37
|
+
|
|
38
|
+
Strategy 2 - Search by topic across all venues:
|
|
39
|
+
Semantic Scholar: Filter by "Conference Paper" venue type
|
|
40
|
+
Google Scholar: Use keywords, then check venue names in results
|
|
41
|
+
|
|
42
|
+
Strategy 3 - Track specific conferences:
|
|
43
|
+
Bookmark the conference proceedings page (e.g., openreview.net)
|
|
44
|
+
Subscribe to DBLP RSS feeds for specific conference series
|
|
45
|
+
Follow conference Twitter/social media accounts for announcements
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Navigating Conference Tiers
|
|
49
|
+
|
|
50
|
+
### Understanding Conference Rankings
|
|
51
|
+
|
|
52
|
+
```python
|
|
53
|
+
def assess_conference_quality(conference_name: str) -> dict:
|
|
54
|
+
"""
|
|
55
|
+
Framework for evaluating conference quality and reputation.
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
conference_name: Name or acronym of the conference
|
|
59
|
+
"""
|
|
60
|
+
indicators = {
|
|
61
|
+
"acceptance_rate": {
|
|
62
|
+
"top_tier": "< 25%",
|
|
63
|
+
"mid_tier": "25-40%",
|
|
64
|
+
"lower_tier": "> 40%",
|
|
65
|
+
"note": "Check conference website for historical rates"
|
|
66
|
+
},
|
|
67
|
+
"ranking_sources": [
|
|
68
|
+
"CORE Conference Ranking (core.edu.au)",
|
|
69
|
+
"CSRankings.org (CS-specific, based on publication counts)",
|
|
70
|
+
"Google Scholar Metrics (h5-index for venues)",
|
|
71
|
+
"CCF Ranking (Chinese Computer Federation, A/B/C tiers)"
|
|
72
|
+
],
|
|
73
|
+
"quality_signals": [
|
|
74
|
+
"Program committee reputation and size",
|
|
75
|
+
"Keynote speaker caliber",
|
|
76
|
+
"Longevity and consistency of the conference series",
|
|
77
|
+
"Whether proceedings are indexed in Scopus/WoS",
|
|
78
|
+
"Industry participation and sponsorship"
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
return indicators
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Major CS Conference Tiers (Illustrative)
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Tier A* (Top): ICML, NeurIPS, CVPR, ACL, SIGCOMM, OSDI, CHI, KDD
|
|
88
|
+
Tier A: AAAI, ECCV, EMNLP, ICSE, WWW, CIKM, ICDM
|
|
89
|
+
Tier B: COLING, WACV, ICSME, PAKDD, AISTATS
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Tiers vary by subfield. Always check the ranking relevant to your specific area.
|
|
93
|
+
|
|
94
|
+
## Accessing Conference Papers
|
|
95
|
+
|
|
96
|
+
### Free Access Strategies
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
1. Author homepages: Many researchers post preprints/camera-ready PDFs
|
|
100
|
+
2. arXiv: Conference-accepted papers are often on arXiv
|
|
101
|
+
3. OpenReview: NeurIPS, ICLR, and others host papers with reviews
|
|
102
|
+
4. Institutional repository: Check the authors' university repository
|
|
103
|
+
5. Conference website: Some conferences offer free proceedings
|
|
104
|
+
6. Semantic Scholar: Aggregates PDFs from multiple open sources
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Workshop Papers vs. Main Conference
|
|
108
|
+
|
|
109
|
+
Workshop papers are shorter (4-8 pages), less rigorously reviewed, and represent more preliminary work. They are still citable but carry less weight. When citing, always distinguish:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
# Main conference paper:
|
|
113
|
+
Author et al. "Title." In Proceedings of NeurIPS 2024.
|
|
114
|
+
|
|
115
|
+
# Workshop paper:
|
|
116
|
+
Author et al. "Title." In Workshop on X at NeurIPS 2024.
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Citing Conference Proceedings
|
|
120
|
+
|
|
121
|
+
### BibTeX Format
|
|
122
|
+
|
|
123
|
+
```bibtex
|
|
124
|
+
@inproceedings{vaswani2017attention,
|
|
125
|
+
title = {Attention Is All You Need},
|
|
126
|
+
author = {Vaswani, Ashish and Shazeer, Noam and Parmar, Niki
|
|
127
|
+
and Uszkoreit, Jakob and Jones, Llion and Gomez,
|
|
128
|
+
Aidan N and Kaiser, Lukasz and Polosukhin, Illia},
|
|
129
|
+
booktitle = {Advances in Neural Information Processing Systems},
|
|
130
|
+
volume = {30},
|
|
131
|
+
year = {2017}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Common Mistakes in Conference Citations
|
|
136
|
+
|
|
137
|
+
- Using `@article` instead of `@inproceedings`
|
|
138
|
+
- Citing the arXiv preprint instead of the published proceedings version
|
|
139
|
+
- Missing the conference name or year
|
|
140
|
+
- Confusing the workshop name with the main conference name
|
|
141
|
+
|
|
142
|
+
Always use the official proceedings citation provided by the conference or digital library.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: literature-mapping-guide
|
|
3
|
+
description: "Visual literature mapping and connected papers exploration"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "map"
|
|
7
|
+
category: "literature"
|
|
8
|
+
subcategory: "discovery"
|
|
9
|
+
keywords: ["literature map", "reference graph", "citation network", "related papers"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Literature Mapping Guide
|
|
14
|
+
|
|
15
|
+
Build visual maps of scholarly literature to understand research landscapes, identify clusters of related work, and discover hidden connections between papers.
|
|
16
|
+
|
|
17
|
+
## What Is Literature Mapping?
|
|
18
|
+
|
|
19
|
+
Literature mapping transforms flat lists of papers into interactive visual networks where nodes represent papers and edges represent citation or similarity relationships. This approach helps researchers:
|
|
20
|
+
|
|
21
|
+
- See the overall structure of a research field at a glance
|
|
22
|
+
- Identify seminal papers (highly connected nodes)
|
|
23
|
+
- Discover clusters and subfields
|
|
24
|
+
- Find bridging papers that connect disparate areas
|
|
25
|
+
- Spot gaps where no papers exist
|
|
26
|
+
|
|
27
|
+
## Tools for Visual Literature Mapping
|
|
28
|
+
|
|
29
|
+
### Connected Papers
|
|
30
|
+
|
|
31
|
+
Connected Papers (connectedpapers.com) builds a similarity graph around a seed paper using co-citation and bibliographic coupling analysis.
|
|
32
|
+
|
|
33
|
+
| Feature | Details |
|
|
34
|
+
|---------|---------|
|
|
35
|
+
| Input | Paper title, DOI, or URL |
|
|
36
|
+
| Graph type | Similarity (not direct citation) |
|
|
37
|
+
| Node size | Citation count |
|
|
38
|
+
| Node color | Publication year (darker = older) |
|
|
39
|
+
| Max nodes | ~40 per graph |
|
|
40
|
+
| Cost | Free: 5 graphs/month; Premium: unlimited |
|
|
41
|
+
|
|
42
|
+
How to use:
|
|
43
|
+
1. Enter a seed paper URL or title
|
|
44
|
+
2. The tool builds a graph of the most similar papers (regardless of direct citation links)
|
|
45
|
+
3. Click any node to see its abstract and bibliographic details
|
|
46
|
+
4. Use "Prior works" to find foundational papers and "Derivative works" for recent developments
|
|
47
|
+
5. Export the graph or paper list as BibTeX
|
|
48
|
+
|
|
49
|
+
### Litmaps
|
|
50
|
+
|
|
51
|
+
Litmaps (litmaps.com) creates dynamic, multi-seed citation maps that update as new papers are published.
|
|
52
|
+
|
|
53
|
+
Workflow:
|
|
54
|
+
1. Add one or more seed papers via DOI, title, or Semantic Scholar ID
|
|
55
|
+
2. The tool builds a citation graph showing how the papers are connected
|
|
56
|
+
3. Add "discover" nodes to expand the map with algorithmically suggested papers
|
|
57
|
+
4. Create "collections" to organize maps by topic
|
|
58
|
+
5. Set up alerts for new papers that connect to your existing map
|
|
59
|
+
|
|
60
|
+
### VOSviewer
|
|
61
|
+
|
|
62
|
+
VOSviewer (vosviewer.com) is a free desktop tool for constructing and visualizing bibliometric networks at scale.
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
# VOSviewer supports several network types:
|
|
66
|
+
# - Co-authorship networks
|
|
67
|
+
# - Co-citation networks
|
|
68
|
+
# - Bibliographic coupling networks
|
|
69
|
+
# - Co-occurrence of keywords
|
|
70
|
+
# - Citation networks
|
|
71
|
+
|
|
72
|
+
# Input formats:
|
|
73
|
+
# - Web of Science export files
|
|
74
|
+
# - Scopus CSV exports
|
|
75
|
+
# - Dimensions export files
|
|
76
|
+
# - RIS files from reference managers
|
|
77
|
+
# - CrossRef API queries (built-in)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Steps for VOSviewer analysis:
|
|
81
|
+
1. Export search results from Web of Science or Scopus (include cited references)
|
|
82
|
+
2. Open VOSviewer and select "Create a map based on bibliographic data"
|
|
83
|
+
3. Choose analysis type (e.g., co-citation of cited references)
|
|
84
|
+
4. Set thresholds (e.g., minimum 5 citations for a reference to appear)
|
|
85
|
+
5. VOSviewer automatically clusters nodes and applies colors
|
|
86
|
+
6. Explore clusters to understand subfield structure
|
|
87
|
+
|
|
88
|
+
### CiteSpace
|
|
89
|
+
|
|
90
|
+
CiteSpace (citespace.podia.com) specializes in detecting research fronts and intellectual turning points.
|
|
91
|
+
|
|
92
|
+
Key features:
|
|
93
|
+
- Burst detection: identifies keywords or references with sudden spikes in frequency
|
|
94
|
+
- Timeline visualization: shows how clusters evolve over time
|
|
95
|
+
- Betweenness centrality: highlights bridging papers between clusters
|
|
96
|
+
- Requires Java; works with Web of Science data exports
|
|
97
|
+
|
|
98
|
+
## Building a Custom Literature Map with Python
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
import networkx as nx
|
|
102
|
+
import requests
|
|
103
|
+
from collections import defaultdict
|
|
104
|
+
|
|
105
|
+
def build_citation_graph(seed_ids, depth=1, max_per_level=20):
|
|
106
|
+
"""Build a directed citation graph from seed papers."""
|
|
107
|
+
G = nx.DiGraph()
|
|
108
|
+
visited = set()
|
|
109
|
+
queue = [(sid, 0) for sid in seed_ids]
|
|
110
|
+
|
|
111
|
+
while queue:
|
|
112
|
+
paper_id, level = queue.pop(0)
|
|
113
|
+
if paper_id in visited or level > depth:
|
|
114
|
+
continue
|
|
115
|
+
visited.add(paper_id)
|
|
116
|
+
|
|
117
|
+
# Get paper metadata
|
|
118
|
+
meta_resp = requests.get(
|
|
119
|
+
f"https://api.semanticscholar.org/graph/v1/paper/{paper_id}",
|
|
120
|
+
params={"fields": "title,year,citationCount"}
|
|
121
|
+
)
|
|
122
|
+
if meta_resp.status_code != 200:
|
|
123
|
+
continue
|
|
124
|
+
meta = meta_resp.json()
|
|
125
|
+
G.add_node(paper_id, title=meta.get("title", ""),
|
|
126
|
+
year=meta.get("year"), citations=meta.get("citationCount", 0))
|
|
127
|
+
|
|
128
|
+
# Get references (backward)
|
|
129
|
+
refs_resp = requests.get(
|
|
130
|
+
f"https://api.semanticscholar.org/graph/v1/paper/{paper_id}/references",
|
|
131
|
+
params={"fields": "title,year,citationCount", "limit": max_per_level}
|
|
132
|
+
)
|
|
133
|
+
if refs_resp.status_code == 200:
|
|
134
|
+
for ref in refs_resp.json().get("data", []):
|
|
135
|
+
cited = ref["citedPaper"]
|
|
136
|
+
if cited.get("paperId"):
|
|
137
|
+
G.add_node(cited["paperId"], title=cited.get("title", ""),
|
|
138
|
+
year=cited.get("year"), citations=cited.get("citationCount", 0))
|
|
139
|
+
G.add_edge(paper_id, cited["paperId"], relation="cites")
|
|
140
|
+
if level < depth:
|
|
141
|
+
queue.append((cited["paperId"], level + 1))
|
|
142
|
+
|
|
143
|
+
return G
|
|
144
|
+
|
|
145
|
+
# Build graph from 2 seed papers
|
|
146
|
+
seeds = ["DOI:10.1038/s41586-021-03819-2", "ARXIV:2005.14165"]
|
|
147
|
+
graph = build_citation_graph(seeds, depth=1, max_per_level=15)
|
|
148
|
+
print(f"Graph: {graph.number_of_nodes()} nodes, {graph.number_of_edges()} edges")
|
|
149
|
+
|
|
150
|
+
# Find most central papers
|
|
151
|
+
centrality = nx.betweenness_centrality(graph)
|
|
152
|
+
top_central = sorted(centrality.items(), key=lambda x: x[1], reverse=True)[:10]
|
|
153
|
+
for node_id, score in top_central:
|
|
154
|
+
title = graph.nodes[node_id].get("title", "Unknown")
|
|
155
|
+
print(f" Centrality={score:.3f}: {title}")
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Interpreting Literature Maps
|
|
159
|
+
|
|
160
|
+
| Visual Feature | Interpretation |
|
|
161
|
+
|---------------|---------------|
|
|
162
|
+
| Large cluster | Established subfield with many related papers |
|
|
163
|
+
| Small isolated cluster | Emerging or niche research area |
|
|
164
|
+
| Bridge node between clusters | Interdisciplinary or foundational paper |
|
|
165
|
+
| Dense interconnections | Mature area with extensive cross-referencing |
|
|
166
|
+
| Sparse area between clusters | Potential research gap or opportunity |
|
|
167
|
+
| Temporal gradient (old to new) | Evolution of ideas over time |
|
|
168
|
+
|
|
169
|
+
## Best Practices
|
|
170
|
+
|
|
171
|
+
1. **Start with multiple seeds**: Using 3-5 seed papers from different angles gives better coverage than a single seed.
|
|
172
|
+
2. **Combine tools**: Use Connected Papers for quick exploration, VOSviewer for large-scale analysis, and custom scripts for specific analyses.
|
|
173
|
+
3. **Iterate**: Literature mapping is not a one-shot process. Refine your seeds and parameters based on initial results.
|
|
174
|
+
4. **Export and annotate**: Save your maps and annotate clusters with descriptive labels for use in literature review sections.
|
|
175
|
+
5. **Check boundaries**: If your map only shows papers from one group or country, broaden your seeds to capture different perspectives.
|