はじめに:社内文書、読むのがツライ…?
毎日のように届く社内の議事録、報告書、仕様書。
「読むだけで時間が溶ける…」「結局要点がつかめない…」そんな悩み、ありませんか?
今回は、PythonとOpenAIのChatGPT APIを使って、
社内文書を自動で要約するツールを作ってみました。
しかも、コードは全て公開します!
このツールでできること
.txt
や.docx
形式の社内文書を読み込む- ChatGPT APIで要約生成
- 出力はMarkdown形式で保存可能(社内Wiki連携もラク!)
使用技術
- Python 3.11
- OpenAI API(GPT-4)
- python-docx(Wordファイルの読み込み)
- tqdm(進捗バー)
- dotenv(APIキー管理)
環境準備とインストール
まずは仮想環境の作成と必要ライブラリのインストールから。
python -m venv venv
source venv/bin/activate # Windowsなら venv\Scripts\activate
pip install openai python-docx python-dotenv tqdm
.env
ファイルを作って以下のように記述しておきます。
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Pythonコード全文公開!
import os
import openai
from docx import Document
from dotenv import load_dotenv
from tqdm import tqdm
# 環境変数の読み込み
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
# Word文書を読み込む関数
def read_docx(file_path):
doc = Document(file_path)
return "\n".join([para.text for para in doc.paragraphs if para.text.strip()])
# ChatGPT APIで要約を取得
def summarize_text(text):
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "あなたは優秀な文書要約アシスタントです。"},
{"role": "user", "content": f"以下の社内文書をわかりやすく要約してください。\n\n{text}"}
],
temperature=0.3
)
return response['choices'][0]['message']['content']
# メイン処理
def main():
file_path = "sample.docx" # 読み込み対象
print("文書を読み込み中...")
full_text = read_docx(file_path)
print("要約中...")
summary = summarize_text(full_text)
output_path = "summary_output.md"
with open(output_path, "w", encoding="utf-8") as f:
f.write(summary)
print(f"✅ 要約完了! → {output_path}")
if __name__ == "__main__":
main()
実行結果のイメージ
読み込んだ文書(5,000字以上)
...中期経営計画の要点...
...各部署のKPI概要...
...次年度予算案の調整事項...
生成された要約
- 中期経営計画は成長戦略にシフト。新規事業を2件追加
- 営業部のKPIは前年比115%、CS向上が重点施策
- 次年度予算案は3月中旬までに確定予定。予備費が例年の1.2倍
ChatGPT APIを使う上での注意点
- トークン制限:長文は分割して処理する工夫が必要
- 情報漏洩リスク:社外秘文書は使わない、もしくはAzure OpenAIなどを検討
- コスト:GPT-4は料金が高め。要約精度とコストのバランスが鍵
今後の展望
- PDFやメール文書の対応
- 要約結果のSlack自動通知連携
- 社内テンプレートに応じた「定型要約」機能の追加
おわりに
文書の要約作業は、手作業だと地味に時間を食います。
今回のようにPythonとChatGPTを使えば、数行のコードで圧倒的な時短が実現できます。
もしあなたが、
- 業務の生産性を上げたい
- プログラムスキルで周囲と差をつけたい
なら、ぜひこうした自動化にもチャレンジしてみてください。
関連リンク
- 👉 ChatGPT APIの公式ドキュメント
- 👉 PythonでPDFを読み取る方法はこちら
- 👉 【年収1,000万円も狙える!?】ハイクラス転職でキャリアを一気に加速させる方法
※自動化スキルを活かしてキャリアアップするには?
→ 詳しくはこちら