🎯 1. 目的
過去発行した出札補充兼の 画像をOCRで読み取り → データ化 → 承認作業を自動化する。
承認者の作業負荷を減らし、誤記・転記ミスを防止する。
発行履歴管理と監査対応を強化する。
🧩 2. 対象範囲(Scope)
補充券画像のアップロード
OCRによる券面情報抽出
抽出データの整形・正規化
自動照合・承認ワークフロー
既存システムへの登録API連携
発行履歴検索・監査出力
🏗️ 3. 機能要件(Functional Requirements)
3.1 画像アップロード
JPEG / PNG / PDF 対応
複数枚一括アップロード
傾き補正・コントラスト補正
アップロード後に即時OCR実行
画像アップロード仕様
3.2 OCR抽出
抽出項目:
コード
- 発行日
- 発駅
- 着駅
- 経由
- 運賃
- 発行者(社員番号)
- 補充券番号
- 備考欄
要件:
認識精度 95%以上
認識信頼度(score 0〜1.0)付与
誤認識箇所のハイライト
OCR抽出項目の詳細
3.3 データ整形・正規化
駅名ゆらぎ補正(例:新宿/しんじゅく/新宿駅)
経由の正規化(例:常磐→東北→新幹線)
運賃の自動再計算(既存ロジック利用)
JSON形式で保持
json { "issue_date": "2026-07-01", "from": "北上", "to": "川崎", "via": ["仙台", "新幹線", "東京"], "fare": 15440, "issuer": "12345", "ticket_no": "A-20260701-001" }
項目マッピング仕様
3.4 自動照合ロジック
発行履歴との一致判定
運賃計算ロジックとの整合性チェック
不一致項目の抽出
自動承認条件
区間一致
運賃一致
発行者一致
OCR信頼度が高い
照合ロジック詳細
3.5 承認ワークフロー
自動承認
手動承認
差戻し(コメント付き)
承認ログ保存
承認フロー詳細
3.6 UI要件
承認画面構成(Markdownで表現)
コード
+-----------------------------------------------------------+
| [左] 補充券画像 |
| |
| |
+-----------------------------------------------------------+
| [右] OCR抽出データ(編集可能) |
| - 発行日:2026/07/01 |
| - 発駅:北上 |
| - 着駅:川崎 |
| - 経由:仙台→新幹線→東京 |
| - 運賃:15440 |
| |
| 差異箇所:赤枠表示 |
| 承認 / 差戻しボタン |
+-----------------------------------------------------------+
UIワイヤーフレーム
3.7 API連携
REST API(JSON)
API メソッド 内容
/upload POST 画像アップロード
/ocr POST OCR実行
/verify POST 自動照合
/approve POST 承認登録
/history GET 発行履歴取得
API仕様詳細
🔐 4. 非機能要件(Non-functional Requirements)
4.1 性能
OCR処理:1枚 2秒以内
承認画面表示:1秒以内
同時アクセス:50ユーザー
4.2 セキュリティ
Azure AD / SSO
画像データ暗号化(AES-256)
操作ログ 1年保存
4.3 保守性
OCR辞書更新機能
券面レイアウト変更への対応
APIバージョニング
🏭 5. 業務フロー(Markdown図)
コード
[画像アップロード]
↓
[OCR抽出]
↓
[データ整形]
↓
[自動照合]
├─ 一致 → [自動承認]
└─ 差異 → [承認者確認]
↓
[承認 / 差戻し]
↓
[既存システムへ登録]
業務フロー詳細化
📦 6. 運用要件
駅務室でスキャン or スマホ撮影
月次でOCR精度レポート
承認者の権限管理
障害時の画像復旧手順
📈 7. 拡張案
AIによる区間推定
発行者の筆跡認識
経路推定(営業係数分析と連携)