🤩

Difyを使って、紙の表をCSV形式にして、Excelに転写できるようにする

2025/02/16に公開

課題点 & きっかけ

  • 大学の教科書等で表をExcelに転写してからでないと、作業に取り掛かれない場合がある
  • 重要なのは転写そのものではなく、転写にかかる時間が非効率であること

そこで、全自動化は難しくとも、工数の約80%を削減できれば良いと考えた。

Excel転写作業の例
こういう画像などをExcelに転写するのが意外と時間かかる

解決方法

Difyを使って実現した

Difyによる解決例

動作的なフロー

  1. 表に起こしたい画像を撮る

  2. Difyにアップロードする
    ローカルファイルでも、URLでもアップロード可能
    Difyアップロード

  3. LLMにアップロードした画像を読み込ませて、OCR処理させる
    OCR処理①
    OCR処理②

  4. CSV形式のテキストが出力される
    CSVテキスト出力
    出力されたテキストをコピーし、自分でCSVファイル(例: test.csv)に貼り付ける

  5. Excelに読み込ませる
    Excel読み込み①
    Excel読み込み②
    Excel読み込み③
    Excel読み込み④

技術的なフロー

  • 画像のOCR処理
    アップロードされた画像をOCRにかける

    • 使用モデル: Gemini 2.0 Flash Thinking Exp 1219
    • OCRの精度が肝となるため、精度の高いモデルを選ぶことで後からの手直しが少なくなる
    • 消費トークン量が少ないモデルでも実現可能
  • LLMに送るプロンプト

    あなたは高精度な日本語OCRアシスタントです。
    画像内のテキストを以下の制約に従って抽出してください:
    – 文字の配置や段落構造を維持する
    – 数字、記号、特殊文字も正確に認識する。
    – 文脈を考慮して誤認識を修正する。
    – 一文の途中の改行は削除する。
    

    OCRに正確に認識させるためのプロンプト

Difyでハマったポイント

  • Difyエラー
  • エラー内容:

    「コンテキスト機能を有効にするには、PROMPTにコンテキスト変数を記入してください。」

  • 対応方法:
    • プロンプトワードを入力する必要がある
    • 「/」を入力すると「プロンプトコンテンツブロック」の選択肢が表示されるので、コンテキストを選択する

まとめ

  • この内容をコードでやろうとすると、半日ぐらいは時間がかかってしまうが、それを数時間でPOCを作れるのは良かった

Discussion