1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「年表メーカー」文章から年表を生成するツール【個人開発】

Last updated at Posted at 2025-09-28

テキスト・PDF・Wikipediaから自動で年表を生成するアプリを作ってみた

はじめに

調べ物をしているときに「文章ばかりで時系列が追いづらい」と感じたことはありませんか?
特に歴史や研究のまとめでは、表形式の年表があると一気に理解が進みます。

今回紹介する「年表生成アプリ」は、そんな課題を解決するために開発しました。
テキストやPDF、Wordファイル、さらにはWikipediaの記事から自動で年表を生成できます。

👉 実際に使ってみる
https://chronology.ricezero.fun/index.html

スクリーンショット 2025-09-28 221704.png


主な機能

  • テキスト入力からの生成
    最大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


RiceZero

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?