wikipedia-research について
Wikipedia から構造化された検証可能な情報を抽出するリサーチスキルです。研究者や AI ワークフロー向けに、引用確認、不確実性や矛盾の検出、エンティティ関係、年表の作成を支援します。
主な機能
- 01構造化された調査結果
- 02引用の抽出と検証
- 03不確実性と矛盾の検出
- 04エンティティと関係の抽出
- 05時系列の作成
- 06情報源の品質と確信度のスコア
活用シーン
- 01調査テーマの情報源収集
- 02DOI と PMID の引用確認
- 03不確実性が示された主張の確認
- 04人物、組織、出来事の関係整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ joshuaroll/ wikipedia-research-skill --skill wikipedia-researchインストール後、Claude Code で/wikipedia-researchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdLICENSEassets/example_asset.txtreferences/output_schema.mdapi_reference.mdcitation_templates.mdscripts/example.pyresearch_collector.pyentity_extractor.pycitation_extractor.pysource_verifier.pywikipedia_client.py詳細
Wikipedia リサーチスキル
AI が利用できるよう、検証可能な調査情報を、出典の完全な引用来歴、エンティティ間の関係、年表、検証レポートとともに Wikipedia から抽出します。
このスキルを使う理由
| スキルなし | スキルあり |
|---|---|
| 構造化されていない文章 | スキーマに沿った構造化 JSON |
| 「さまざまな出典」 | DOI、PMID を含む 12 件以上の引用 |
| 主張の出典が不明 | すべての主張を引用文献に対応付け |
| 検証できない | DOI/PMID の検証を含む |
| 信頼性が不明 | Admiralty Code による品質評価 |
| 関係性がない | エンティティと関係性を抽出 |
| 年表がない | 時系列でイベントをマッピング |
| リンク切れを検出できない | アーカイブへのフォールバックを含む |
調査ワークフロー全体
フェーズ 1:抽出
from scripts.citation_extractor import CitationExtractor
extractor = CitationExtractor()
research = extractor.extract_article("Subject_Name")
フェーズ 2:検証
from scripts.source_verifier import SourceVerifier
verifier = SourceVerifier()
# Verify all citations (DOI, PMID, URL checks)
citation_results = verifier.verify_citations(research['citations'])
# Detect inconsistencies
inconsistencies = verifier.detect_inconsistencies(research)
# Extract Wikipedia uncertainty flags ({{citation needed}}, etc.)
flags = verifier.extract_uncertainty_flags(wikitext)
# Generate verification report
report = verifier.generate_verification_report(
research, citation_results, inconsistencies, flags
)
フェーズ 3:拡充
from scripts.entity_extractor import EntityExtractor
entity_extractor = EntityExtractor()
# Extract people, organizations, publications mentioned
entities = entity_extractor.extract_entities(research)
# Map relationships (collaborators, employers, etc.)
relationships = entity_extractor.extract_relationships(
research, entities, "Subject Name"
)
# Build chronological timeline
timeline = entity_extractor.build_timeline(research)
# Generate knowledge graph
graph = entity_extractor.generate_knowledge_graph(
"Subject Name", entities, relationships, timeline
)
フェーズ 4:出力
from scripts.research_collector import ResearchCollector
collector = ResearchCollector()
collector.save_research({
**research,
'verification': report,
'knowledge_graph': graph
}, "output.json")
出力スキーマ(拡張版)
{
"article": {
"title": "Subject Name",
"url": "https://en.wikipedia.org/wiki/...",
"revision_id": "1234567890",
"extracted_at": "2026-02-03T10:30:00Z"
},
"sections": [{
"heading": "Section Name",
"content": "Text content...",
"claims": [{
"text": "Specific factual claim",
"citation_ids": ["ref_1", "ref_2"],
"confidence": 0.92
}]
}],
"citations": [{
"id": "ref_1",
"type": "article-journal",
"title": "Paper Title",
"author": [{"family": "Smith", "given": "John"}],
"DOI": "10.1234/example",
"PMID": "12345678",
"URL": "https://...",
"issued": {"date-parts": [[2024, 1, 15]]}
}],
"verification": {
"verification_summary": {
"total_citations": 15,
"verified_count": 12,
"verification_score": 0.80,
"dead_links": 2,
"archived_recoveries": 1,
"reliability_assessment": "high"
},
"citation_details": {
"ref_1": {
"status": "verified",
"doi_valid": true,
"pmid_valid": true,
"url_accessible": true
}
},
"inconsistencies": [],
"uncertainty_flags": [{
"section": "Early Life",
"type": "citation_needed",
"context": "..."
}]
},
"knowledge_graph": {
"nodes": [
{"id": "Subject", "type": "subject"},
{"id": "Harvard", "type": "organization"},
{"id": "Collaborator Name", "type": "person"}
],
"edges": [
{"source": "Subject", "target": "Harvard", "type": "employment"},
{"source": "Subject", "target": "Collaborator", "type": "collaborator"}
],
"timeline": [
{"date": "2010", "type": "education", "description": "PhD from..."},
{"date": "2016", "type": "award", "description": "Received..."}
]
},
"provenance": {
"source": "Wikipedia",
"extraction_method": "MediaWiki API + wikitext parsing",
"skill_version": "2.0",
"verification_performed": true
},
"metadata": {
"total_citations": 15,
"verified_citations": 12,
"total_claims": 24,
"entities_extracted": 8,
"timeline_events": 6,
"source_quality": {
"rating": "A",
"score": 0.85
}
}
}
スクリプト一覧
| スクリプト | 用途 |
|---|---|
wikipedia_client.py | キャッシュ機能を備えたコア API クライアント |
citation_extractor.py | 引用文献を抽出し、CSL-JSON に解析 |
research_collector.py | 複数記事にまたがる調査を統括 |
source_verifier.py | 新規: DOI、PMID を検証し、リンク切れを検出 |
entity_extractor.py | 新規: エンティティ、関係性、年表を抽出 |
検証機能
引用文献の検証
verifier = SourceVerifier()
result = verifier.verify_citations(citations)
# Each citation gets:
# - status: 'verified', 'accessible', 'dead_link', 'archived'
# - doi_valid: True/False (checked against doi.org)
# - pmid_valid: True/False (checked against PubMed)
# - archive_url: Wayback Machine fallback if dead
不確実性の検出
Wikipedia の不確実性を示すテンプレートに自動でフラグを付けます。
{{citation needed}}- 出典のない主張{{disputed}}- 異論のある情報{{original research}}- 出典が不足している可能性{{outdated}}- 情報が古くなっている可能性{{who}}/{{when}}- 曖昧な出典表記
不整合の検出
調査内の主張を相互に照合します。
- 日付の食い違い(PhD 取得年がセクション間で異なる)
- 名前の表記ゆれ
- 矛盾する事実
エンティティと関係性の抽出
エンティティの種類
| 種類 | 例 |
|---|---|
person | 共同研究者、メンター、同僚 |
organization | 大学、企業、研究機関 |
publication_venue | 学術誌、学会 |
concept | 研究分野、手法 |
関係性の種類
| 種類 | 意味 |
|---|---|
collaborator | 研究上の協力 |
employment | 勤務先との関係 |
education | 学位・研修 |
publication | 掲載された媒体 |
award_from | 受賞した賞の授与元 |
年表の作成
時系列のイベントを自動で抽出します。
{
"timeline": [
{"date": "2005", "type": "education", "description": "BSc from University of Manchester"},
{"date": "2010", "type": "education", "description": "PhD from Humboldt University"},
{"date": "2011", "type": "publication", "description": "Published protein structure paper"},
{"date": "2016", "type": "award", "description": "Received Overton Prize"}
]
}
品質指標
出典の品質(Admiralty Code)
| 評価 | スコア | 意味 |
|---|---|---|
| A | 0.80+ | 完全に信頼できる - ほとんどの引用文献を検証済み |
| B | 0.60-0.79 | 通常は信頼できる |
| C | 0.40-0.59 | かなり信頼できる |
| D | 0.20-0.39 | 通常は信頼できない |
| E | <0.20 | 信頼できない |
信頼度スコア
方法: 引用文献のメタデータの有無に基づく加算式のヒューリスティックです。
各主張の信頼度は、裏付けとなる引用文献のスコアの平均であり、次のように計算します。
Base score: 0.50
+ DOI present: +0.20 (indicates peer-reviewed)
+ PMID present: +0.15 (indexed in PubMed)
+ ISBN present: +0.10 (published book)
+ URL present: +0.05 (verifiable link)
+ Author info present: +0.10 (attributable)
+ Publication venue named: +0.05 (traceable)
─────────────────────────────────
Maximum possible: 1.00
一般的なスコア:
| 引用文献の種類 | スコア |
|---|---|
| 学術誌論文(DOI + PMID + 著者) | 0.95-1.0 |
| 学術誌論文(DOI + 著者) | 0.85 |
| 書籍(ISBN + 著者) | 0.75 |
| ウェブページ(URL + 著者) | 0.65 |
| URL のみ | 0.55 |
| 引用文献が見つからない | 0.30 |
この方法の限界:
- 出典が実際に主張を裏付けているかは検証しません
- 出典の内容を意味解析しません
- DOI があれば査読済みとみなします(プレプリントでは必ずしも正しくありません)
- 学術誌の評判や被引用数による重み付けはありません
より高い信頼度で検証するには: source_verifier.py を使用して DOI/PMID の存在を検証し、重要な事実については主張と出典の対応関係を手動で確認してください。
ベストプラクティス
- 必ず検証する - すべての調査で source_verifier を実行します
- 不確実性フラグを確認する - Wikipedia では、根拠が弱い箇所が示されていることがよくあります
- 時系列を作成する - 時系列を整理すると、矛盾が明らかになります
- 関係性を抽出する - 理解するには文脈が重要です
- revision_id を保存する - Wikipedia は変更されるため、再現性を確保できます
- DOI を使用する - 最も信頼性の高い引用識別子です
- アーカイブを確認する - リンク切れのページは、Wayback に保存されていることがよくあります
リファレンスドキュメント
references/output_schema.md- JSON スキーマの全容references/api_reference.md- Wikipedia API の詳細references/citation_templates.md- 解析ガイド
コメント
Markdown 対応