Methodology

分析手法の詳細

本プロジェクトでは、最新のLLM技術と従来のネットワーク分析手法を組み合わせ、航空宇宙・防衛産業のグローバルサプライチェーンを包括的に分析しました。以下、各ステップの詳細を説明します。

01 Data Collection

データ収集(EventRegistry API)

概要

EventRegistry APIを用いて、航空宇宙・防衛産業に関する3,000件のニュース記事を収集しました。EventRegistryは、100以上の国際的なメディアソースから記事を集約し、構造化されたデータとして提供するサービスです。

クエリ仕様

  • カテゴリ: dmoz/Business/Aerospace_and_Defense
  • 記事数: 3,000件
  • 言語: 英語
  • 期間: 2024年の最新記事
  • ソース: Bloomberg, Reuters, The Guardian, Defense News, Aviation Week等

取得データフィールド

  • タイトル(title)
  • 本文(body)
  • ソース名(source)
  • URL(url)
  • 公開日時(publishedAt)

実行時間

APIリクエストは約1.5分で完了し、raw_articles.jsonとして保存されました。

02 Entity Extraction

エンティティ・関係性抽出(Gemini 2.5 Flash Lite)

並列処理アーキテクチャ

3,000件の記事を効率的に処理するため、ThreadPoolExecutorを用いた並列処理システムを構築しました。100 workersが同時に動作し、各workerがGemini 2.5 Flash Lite APIを呼び出してエンティティと関係性を抽出します。

プロンプト設計

Gemini APIに対して、以下の情報を抽出するよう指示しました:

エンティティ(Entities)

  • entity_name: エンティティの正式名称
  • entity_type: company, government_organization, government, subsidiary, region, university, research_institute
  • entity_role: manufacturer, supplier, customer, regulator, research等
  • country_code: ISO 3166-1 alpha-3コード(USA, CHN, JPN等)

関係性(Relationships)

  • entity_from: 関係の起点エンティティ
  • entity_to: 関係の終点エンティティ
  • relationship_type: supplies_component, delivers_product, partners_with, acquires, invests_in等
  • relationship_status: active, planned, completed, cancelled
  • component_category: engine, avionics, materials, software等
  • description: 関係性の詳細説明

出力形式

Geminiには構造化されたJSON形式での出力を要求し、以下のスキーマに従うようにしました:

{
  "entities": [
    {
      "entity_name": "Boeing",
      "entity_type": "company",
      "entity_role": "manufacturer",
      "country_code": "USA"
    }
  ],
  "relationships": [
    {
      "entity_from": "Spirit AeroSystems",
      "entity_to": "Boeing",
      "relationship_type": "supplies_component",
      "relationship_status": "active",
      "component_category": "fuselage",
      "description": "Spirit AeroSystems supplies fuselage sections for Boeing 737 MAX"
    }
  ]
}

処理結果

  • 成功率: 98.6% (2,959/3,000記事)
  • 抽出エンティティ数: 5,170(重複除去前)
  • 抽出関係性数: 14,684(重複除去前)
  • 実行時間: 約10分(100 workers並列処理)
03 Deduplication

意味的重複除去(Semantic Deduplication)

課題

抽出されたエンティティには、表記揺れや略称により同一エンティティが複数回抽出される問題がありました。例:「NASA」「National Aeronautics and Space Administration」「US Space Agency」

解決手法

Gemini 2.5 Flash Liteを用いた意味的類似度判定により、以下の基準で重複を識別しました:

  • 正式名称と略称の一致(例:NASA ↔ National Aeronautics and Space Administration)
  • 子会社と親会社の明示的関係(例:Spirit AeroSystems ↔ Boeing Spirit)
  • 地域表記の揺れ(例:United States ↔ USA ↔ US)
  • 表記の軽微な差異(例:Lockheed Martin ↔ Lockheed Martin Corporation)

重複除去プロセス

  1. 全エンティティをGeminiに提示
  2. 意味的に同一と判断されるエンティティグループを生成
  3. 各グループから代表エンティティを選択(最も頻出する名称)
  4. 関係性データのエンティティIDを代表エンティティに統一

結果

  • エンティティ: 5,170 → 4,620(10.6%削減)
  • 関係性: 14,684 → 14,106(3.9%削減、重複関係削除)
04 Network Analysis

ネットワーク分析(NetworkX)

グラフ構築

4,620ノード、8,134エッジの有向グラフを構築しました。ノードはエンティティ、エッジは関係性を表します。各ノードには、entity_type、country、roleなどの属性を付与しました。

中心性分析

以下の中心性指標を計算しました:

次数中心性(Degree Centrality)

ノードが持つ接続数に基づく指標。高い次数中心性を持つノードは、多くの取引関係を持つhubエンティティです。

  • Top 1: SpaceX (245接続)
  • Top 2: NASA (236接続)
  • Top 3: United States (213接続)

媒介中心性(Betweenness Centrality)

ノードが他のノード間の最短経路上に位置する頻度を測定。高い媒介中心性を持つノードは、サプライチェーンの「橋渡し」役であり、Single Point of Failure(SPOF)のリスクがあります。

PageRank

Googleの検索アルゴリズムと同じ原理で、重要なノードから接続されているノードを高く評価する指標。航空宇宙・防衛産業の「影響力」を測定します。

  • Top 1: NASA (PageRank 0.0133)
  • Top 2: United States (0.0109)
  • Top 3: SpaceX (0.0091)

国間フロー分析

エンティティの国籍に基づき、国間の取引フローを集計しました。これにより、どの国がどの国にコンポーネントや技術を供給しているかを可視化できます。

主要な国間フロー

  • USA → FRA: 189関係性(BoeingとSafran、GEとSafranのエンジン共同開発等)
  • USA → USA: 1,245関係性(国内サプライチェーン)
  • USA → GBR: 142関係性(Rolls-Royceとの協力関係)

サプライヤー多様性分析

各エンティティについて、以下の指標を計算しました:

  • サプライヤー数: 平均2.81(中央値2)
  • サプライヤー国数: 平均1.55(中央値1)

大多数のエンティティが1-2カ国からしか調達しておらず、地政学的リスクに脆弱であることが判明しました。

連結成分分析

  • 弱連結成分数: 553(独立したクラスタ)
  • 最大連結成分サイズ: 3,733ノード(全体の80.8%)
  • ネットワーク密度: 0.000381(非常に疎なネットワーク)
05 Visualization

可視化(D3.js)

Force-Directed Graph

D3.js v7のforce simulationを用いて、ノード間の引力・斥力をシミュレートし、自然なレイアウトを生成しました。

対数スケールノードサイズ

巨大なhubノード(245接続)が他のノードを隠す問題を解決するため、ノード半径を対数スケールで計算しました:

radius = 5 + Math.log(connections + 1) * 5

これにより、最小半径5px、最大半径約50pxに収まり、視認性が大幅に向上しました。

視覚的階層化

  • 透明度: 接続数が多いほど不透明(0.7~1.0)
  • ストローク幅: 重要なノードほど太い枠線(1~3px)
  • ドロップシャドウ: 20接続以上のノードに影を追加

インタラクティブ機能

  • エンティティタイプフィルタ: company, government_organization, subsidiary等で絞り込み
  • 国フィルタ: 20カ国(USA, CHN, IND, GBR, FRA等)から選択
  • 関係性タイプフィルタ: supplies_component, partners_with等
  • Top Nノード表示: 接続数上位N個のみ表示
  • マウスオーバーツールチップ: ノード名、タイプ、役割、国、接続数を表示
  • エッジクリック: 関係性の詳細情報を表示
06 Policy Framework

政策分析フレームワーク

理論的基盤

政策分析では、以下の理論フレームワークを統合しました:

Edler & Georghiou政策類型(2007, 2012)

  • Supply-side政策: R&D補助金、技術インフラ整備
  • Demand-side政策: 公共調達、規制による需要創出
  • Systemic政策: ネットワーク構築、標準化、エコシステム設計

Mazzucato起業家的国家論(2013, 2024)

  • 政府が単なる市場の補完ではなく、リスクを取って新市場を創出する主体
  • Mission-oriented政策:明確な社会的目標(月面着陸、気候変動対策)に向けた統合的アプローチ
  • 例:NASA Commercial Crew Program(SpaceX育成)、DARPA(インターネット開発)

Barabási-Albertスケールフリーネットワーク理論(1999)

  • 優先的選択(Preferential Attachment):既に接続数が多いノードが新たな接続を獲得しやすい
  • べき乗則分布:P(k) ~ k^(-γ)、少数のhubと多数の周辺ノード
  • ネットワークの頑健性と脆弱性:ランダム故障には強いが、標的攻撃には弱い

産業組織論

  • 参入障壁:商業航空機の開発費用$5-20B(Boeing 787は$32B)
  • 自然独占:規模の経済、学習曲線、ネットワーク効果
  • Lock-in効果:埋没費用、補完的資産、調整コスト

制度分析

ネットワーク構造を形成する主要な制度的要因を特定しました:

ITAR(International Traffic in Arms Regulations)

  • 米国製部品が1つでも含まれると製品全体が規制対象(カスケード効果)
  • 2024年AUKUS改革:豪州・英国との間で70%の品目がライセンス不要に

インドOffset政策

  • 300 crore INR(約$36M)超の契約に30%国内生産義務
  • 効果:防衛市場規模$27.1B→$54.4B(2014-2024)

NATO標準化協定(STANAG)

  • 米国標準のデファクト化:互換性要求により米国製品優位
07 Data Quality

データ品質管理

検証手順

  • エンティティ検証: 主要企業(Boeing, Airbus, SpaceX等)が正しく抽出されているか手動確認
  • 関係性検証: 既知の取引関係(GE-Safranエンジン合弁等)が正しく記録されているか検証
  • 国コード検証: ISO 3166-1 alpha-3標準に準拠しているか確認
  • 重複除去検証: 意味的に同一のエンティティが統合されているかサンプリング確認

データ限界の認識

  • バイアス: 英語メディアのみ、米欧中心の報道傾向
  • 欠損: 軍事機密、非公開契約は含まれない
  • 時間的制約: 2024年の記事のみ、過去のネットワーク進化は未分析
  • 産業混在: 航空機・宇宙・防衛が混在、単純な比較は不適切
08 Reproducibility

再現性

利用可能なデータ

  • entities_deduplicated.csv(4,620エンティティ)
  • relationships_deduplicated.csv(14,106関係性)
  • network_statistics.json(ネットワーク全体統計)
  • critical_entities.csv(中心性上位100エンティティ)
  • country_flow_matrix.csv(国間フロー行列)

コード

  • src/news_fetcher.py(EventRegistry APIデータ取得)
  • extract_to_out_parallel.py(Gemini並列抽出)
  • deduplicate_to_out.py(意味的重複除去)
  • analyze_policy.py(NetworkX分析)
  • visualize_network_d3.html(D3.js可視化)
09 Future Work

今後の拡張可能性

時系列分析

複数年のデータを収集し、サプライチェーンネットワークの進化(COVID-19、ウクライナ戦争の影響等)を分析。

コミュニティ検出

Louvain法やLabel Propagation等のアルゴリズムで、産業クラスタ(宇宙、防衛、商業航空機)を自動検出。

シミュレーション

特定のノード削除(企業倒産、貿易制裁)がネットワーク全体に与える影響をシミュレート。

機械学習

グラフニューラルネットワーク(GNN)でリンク予測(将来の取引関係予測)や異常検出(不自然な取引パターン)を実現。