党政公文自動排版ツール(gov-doc-formatter)
概要
gov-doc-formatter は、中国の党政機関向け公文(官公文書)の格式に沿ってWord文書を自動排版するツールです。ユーザーは .doc/.docx を Web インターフェースにアップロードすると、内部で大規模言語モデル(通义千问 等)を用いて文書内の各段落を「タイトル」「一級見出し」「本文」「発文機関」「日付」などに分類します。分類結果を元に GB/T 9704-2012 のルールに従ったフォント指定や段落スタイル、括弧の全角化、英数字のフォント切替(Times New Roman)などの変換を施し、再フォーマット済みの Word ファイルをダウンロードできる仕組みです。LibreOffice を使った .doc→.docx 変換や即時ダウンロード機能を備え、簡易的ながら実用的なワークフローを提供します。
リポジトリの統計情報
- スター数: 4
- フォーク数: 0
- ウォッチャー数: 4
- コミット数: 3
- ファイル数: 9
- メインの言語: Python
主な特徴
- LLM エージェントによる文段落の自動分類(見出し/本文/日付等)
- GB/T 9704-2012 に基づく自動フォーマット適用(フォント・段落ルール)
- .doc/.docx 対応(.doc は LibreOffice 経由で自動変換)
- Web インターフェース(ドラッグ&ドロップでアップロード、即時ダウンロード)
技術的なポイント
本プロジェクトのコアは「LLM を用いた文段落分類」と「Word ファイルへの書式マッピング」の2点にあります。まず、アップロードされた Word 文書は python-docx などで段落単位に読み出され、各段落のテキストを LLM に投げてその役割(タイトル/一~四級見出し/本文/発文機関/日付 等)を判定します。LLM は自然言語の文脈や文字列パターンから階層や役割を推定できるため、従来のルールベース処理より柔軟に曖昧な表現を扱えます。判定結果を元に、リポジトリは GB/T 9704-2012 の規定をソース化したマッピングロジックで各段落のスタイル(フォント、サイズ、行間、インデント、段落前後スペース)を設定していきます。技術スタックとしては、LLM API のキーを .env で管理する設計(.env.example あり)、.doc を扱うための LibreOffice によるヘッドレス変換、変換後の docx を python-docx で編集し outputs ディレクトリへ保存するワークフローが想定されます。括弧の全角化や英数字のフォント切替など、文字レベルでの正規化処理も組み込まれており、言語混在文書に対する細かな見た目制御も可能です。一方で、LLM 依存のため判定精度はプロンプト設計やモデル品質に左右され、複雑な表組みや図、脚注などの要素は未対応・要改善の箇所が残ります。現状は初期段階のリリースでテストやロバスト性向上、エッジケース対応(多言語混在、特殊書式、段落内の複数役割など)が今後の課題となります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file
- .gitignore: file
- README.md: file
- app: dir
- outputs: dir
…他 4 ファイル
まとめ
LLM を利用した公文書自動排版のプロトタイプで、実用化に向けた基盤が整っている。
リポジトリ情報:
- 名前: gov-doc-formatter
- 説明: 基于 LLM agent 的党政机关公文自动排版工具
- スター数: 4
- 言語: Python
- URL: https://github.com/Drenches/gov-doc-formatter
- オーナー: Drenches
- アバター: https://avatars.githubusercontent.com/u/45451176?v=4
READMEの抜粋:
公文自动排版工具
基于大模型(通义千问)的党政机关公文自动排版agent工具,支持上传Word文档,自动识别文档结构并按照《党政机关公文格式》(GB/T 9704-2012) 国家标准进行排版。
(目前还处于初级阶段,正在持续优化中)
功能特点
- 自动识别公文结构(标题、一至四级标题、正文、发文机关、日期)
- 按照国标自动应用公文格式
- 混合字体处理(中文使用规定字体,英文和数字使用 Times New Roman)
- 自动标准化括号(将各种异常括号统一转换为中文全角括号)
- 支持 .doc 和 .docx 格式(.doc 需要 LibreOffice 自动转换)
- Web界面,支持拖拽上传
- 即时下载排版后的文档
工具原理
使用LLM识别并标记各个文段性质(标题、一级标题、正文等),然后采用公文规则对各个文段进行格式映射转换,最后输出排版后 Word 文稿
快速开始
1. 安装 Python 依赖
pip install -r requirements.tx...