テキスト・PDF・Wikipediaから自動で年表を生成するアプリを作ってみた
はじめに
調べ物をしているときに「文章ばかりで時系列が追いづらい」と感じたことはありませんか?
特に歴史や研究のまとめでは、表形式の年表があると一気に理解が進みます。
今回紹介する「年表生成アプリ」は、そんな課題を解決するために開発しました。
テキストやPDF、Wordファイル、さらにはWikipediaの記事から自動で年表を生成できます。
👉 実際に使ってみる
https://chronology.ricezero.fun/index.html
主な機能
-
テキスト入力からの生成
最大50,000文字のテキストを貼り付けて、APIを呼び出し年表を自動生成。進行状況メッセージとエラーハンドリングを備えています。 -
ファイルアップロードによる取り込み
Word / PDF / TXT(約5MBまで)をアップロードし、抽出した本文をタイムライン生成に利用。読み込み完了時にステータス表示。 -
Wikipediaインポート
記事URLまたはタイトル+言語コードを指定して取得。取得した本文プレビューと生成済みイベントを即座にセットします。 -
フィルタ&ソート
カテゴリ、開始/終了年、最低重要度で絞り込み。ソートは年代順と重要度順をトグル切り替え。 -
スタイルカスタマイズ
テーブルテーマ、フォントサイズ、行間密度、ストライプ表示をUIから選択可能。設定内容はHTMLエクスポートにも反映されます。 -
CSV/HTMLエクスポート
フィルタ後の結果をCSVまたはスタンドアロンHTMLとしてダウンロード可能。CSVはExcel数式対策のサニタイズを実装。 -
ステータスとエラーメッセージ
各種処理の進行状況やエラーをユーザーに分かりやすく表示。
技術スタック
フロントエンド
直感的に操作できるUIを重視し、軽量かつ高速に動作するよう設計しました。
- フレームワーク:React + Vite
- 言語:TypeScript
- 日付処理:dayjs
- ホスティング:Cloudflare Pages
バックエンド(FastAPI)
日付の曖昧表現や日本語特有の表記ゆれに対応しつつ、学習や研究に役立つよう設計しています。
- 言語:Python3系
- フレームワーク:FastAPI (ASGI)
- 使用ライブラリ:
httpx
,python-docx
- ホスティング:Render(無料プラン)
主な特徴
-
日本語向け日付解析
漢数字・和暦・相対表現(「十年前」など)を正規化し ISO 形式へ変換。曖昧表現(「上旬」「頃」など)も考慮したソートキーを生成。 -
人物・場所の自動抽出
接尾辞辞書と形態的ヒューリスティクスで人物・場所を判別し、イベントごとに整理。 -
信頼度スコア
抽出したメタ情報(ISO日付化の可否、人物・場所の数、文脈量)から 0〜1 の信頼度を算出。 -
Wikipedia互換の前処理
脚注・テンプレート・箇条書きなどのノイズを除去し、文章単位で解析。 -
大容量テキストとファイル対応
50,000文字までのテキスト、5MBまでのPDF/Wordファイルを扱い、抽出結果を年表化。 -
高度な検索フィルタ
キーワード、カテゴリ、日付範囲を組み合わせた年表検索APIを提供。 -
運用性に配慮したAPI設計
リクエストID自動付与、ライブ/レディネスヘルスチェック、環境変数による設定をサポート。
GitHubリポジトリ
バックエンドのソースコードは公開しています。興味のある方はぜひ覗いてみてください。
👉 https://github.com/sho11decade/chronology
まとめ
- テキストやファイル、Wikipediaから簡単に年表を生成可能
- フィルタやソート、スタイル変更で見やすくカスタマイズ
- 学習・研究・レポート作成に役立つアプリケーション
👉 実際に触ってみる
https://chronology.ricezero.fun/index.html