ライブ実験 · 公開ニュースの集約

WarMap Live

公開されている報道から組み立てた、報道された軍事的事案の世界地図。

無料の公開ニュースフィード72件を、5分ごとに読み込み。 モデルが見出しを読み、何が起きたかを分類して地図上に配置します。そしてどのマーカーからも、元になった記事にたどり着けます。

検証済みの情報ではなく公開報道のアグリゲーターであり、そのことを明示する設計です。アカウント不要、ペイウォールなし、トラッキングの同意画面もありません。

概要

72

公開ニュースフィード

5分

更新間隔

11

言語

$0

無料、アカウント不要

仕組み

RSSの1項目から、地図上のマーカーへ。

5分ごとに4つの段階が動きます。ほとんどの記事はモデルにたどり着きません。これは意図した設計です。

1

フィードを読む

無料で公開されているニュースRSSフィード72件を取得します。有料のニュースAPIは一切使いません。最新記事が10日より古いフィードや、解析しても何も取れないフィードは「正常」ではなく「停止」として扱います。実際、停止した2つのフィードが2018年の記事を返しながら、数か月にわたって成功を報告し続けていました。

2

採点して除外

各記事は軍事的事案を報じているかどうかで採点され、およそ95%はモデルを動かす前に除外されます。残った分もすでに見た内容と突き合わせるため、静かな時間帯はモデルを一度も呼ばず、無駄なリクエストを使いません。

3

分類して位置を推定

モデルに許されているのは、事案の分類と発生場所の推定だけです。出典URL・媒体名・時刻を生成することは決して許されず、それらはフィードの項目からそのまま転記されます。検証に通らなかったものは修復せず、破棄します。

4

出典を添えて地図に載せる

事案はデータベースに書き込まれ、更新サイクルのうちに地図へ表示されます。元記事へのリンクと、引用できる恒久的な個別ページが付きます。

2つの原則

このプロジェクトがやらないと決めていること。

報道を捏造しないこと。

初期の試作版には、ロイター・AP・BBCの名を添えた死傷者数つきの事案サンプルが8件入っていました。紛争を速報として掲げるサイトで、それは捏造された報道です。すべて削除し、現在は初期データを一切持たない状態で公開しています。実際の事案が届くまで、地図は空のままです。

ある国から別の国へ引かれた矢印は事実の主張です。そのため弧は、出典記事が実際に攻撃側または発射地点を名指しした場合にのみ描かれます。それ以外はすべて通常のマーカーになります。

静かな1時間を水増ししないこと。

以前の地図は、事案の少ない時間帯を範囲外の古い事案で埋めて、ほぼ空の世界が壊れて見えないようにしていました。1時間あたり1〜7件という水準では、その水増しが訪問者の見るもののほとんどを占めます。「直近1時間」を見ているつもりで、実際には昨日を見ていたわけです。

時間の窓は絶対的になりました。静かな1時間は静かな1時間として表示され、より広い期間はワンタップで選べます。

設計メモ

クローラーはJavaScriptを実行しないため、サーバー側でレンダリングしています。

WarMap LiveはReactのシングルページアプリとして始まりました。空のルート要素だけを返し、事案の一覧はブラウザーで組み立てていたため、クローラーが読める内容はすべてnoscriptの代替表示の中にありました。Googleはレンダリング時にそれを捨てます。さらに大半のAIクローラーはJavaScriptを一切実行しないため、彼らにとってこのページは中身の見えないURLでしかありませんでした。

すべてのページをエッジでレンダリングし、ブラウザーを本当に必要とするのは地図だけという構成に書き直しました。同じトップページで測定した結果は次のとおりです。

クローラーが読める語数

10 404

配信するJavaScript

104 KB 53 KB

JavaScriptなしでも動作

地図以外はすべて動作

フィルターはボタンではなく通常のリンクです。そのため絞り込み後の表示もすべて実在するURLで、スクリプトなしでも機能します。JavaScriptが使える環境では、地図がその場での更新に切り替えます。

引用する前にお読みください

この地図が「そうではない」もの。

こうした限界はサイト本体にも、ドキュメントにも、AIアシスタント向けに用意したファイルにも明記しています。自らの信頼性を実際以上に見せる紛争地図は、地図がないことより有害だからです。

検証済みの情報ではありません。 公開報道をまとめたもので、処理の流れに人間による確認は入りません。

座標は推定値です。 モデルは見出しから各事案の位置を推定します。マーカーが誤った街・誤った地域、ときには誤った国に置かれることもあります。

出所は帰属にすぎません。 記事にそう書かれていたというだけで、観測された発射地点ではありません。

初期の数字は後から修正されます。 死傷者数は、その記事が公開された時点の数字です。

国営の情報源も含まれます。 主張をそのまま事実として報じることがあります。

空白の地域は沈黙ではありません。 監視対象のフィードに、該当する報道がなかったという意味です。

安全確保・渡航・作戦・報道・保険・法務の判断には、元の出典を確認せずに用いないでください。

構成技術

ワーカー1つ、データベース1つ、地図1つ。

フィードを読む定期ジョブも含め、すべてCloudflare上で動いています。維持し続けるサーバーも、別立てのバックエンドもありません。

Cloudflare Workers エッジで動くHono JSX D1 Leaflet TypeScript 5分ごとのcron 公開RSSのみ サーバーレンダリング
実物を見る

地図こそが製品です。

開けばすぐ現在の時間帯が表示されます。アカウントもクッキーの同意画面もなく、どの事案も1クリックで出典にたどり着けます。

WarMap Liveは公開報道をまとめたものです。検証済みの情報ではなく、正確性を保証するものでもありません。ここで見た内容に頼る前に、必ずリンク先の出典をご確認ください。