学びキャッチアップ

(1)専門職スキルで再就職&転職 (2)投資とトレードを本から学ぶ (3)大人のいじめの対処法 (4)オーディオドラマ&日本の古典の魅力を紹介

【ChatGPT】リスト表作成と並べ替え_プロンプトのコツ_「勝手に追加削除結合されて上手くいかない?」を予防する

このブログでは、「ChatGPT Plus」を利用した仕事術をたまに紹介しています。

ChatGPTでのリスト表作成,プロンプト例,勝手に追加削除結合をする問題を解決,外国語学習と株式投資

この記事では、「ChatGPTで作ったリスト表がおかしい!?」という状態を解決するプロンプト(=指示入力する文のこと)を載せています。

 

ChatGPTにリスト表を作ってもらうときにはコツが要ります。ただ「画像から表を作って」だけを指示すると、次のエラーが起きやすいです。

  • 勝手に減らす
  • 勝手に追加する
  • 勝手にデータを結合する

 

この記事では、画像からリストを作成する時に、精度を100%に近づけるためのコツを紹介します。

 

ぜんぶ無料の解説です。コピペをして使ってみてください。

1.ChatGPTで作るリスト表の欠点

私はこれまでChatGPTでリスト表を作ってきました。

  • 英単語のリスト
  • 株式投資の銘柄リスト

などです。

 

そのたびにエラーが出ていました。

  • 数が足りない:30件あるうち、27件しか出力されていない。
  • 余計な行が追加されている:30件のはずが、33件に増えている
  • データが混じっている:10行目と11行目などの連続する行に、同じテキストが入ってしまっている。
  • 大量のデータで処理が重たくなる

この理由は、いろいろとあるので別の記事で整理します。

 

これまでは目視で確認する手間をかけていましたが、まずは正確性が高まるプロンプトの入り口にたどり着いたのでシェアをします。

 

2.OCR化の精度を高めるプロンプト

次のプロンプトをコピペして使えば、リスト表を作る時の精度を高めることができます。

2-1 画像からOCR化する処理

画像に対して、次の前提条件とプロンプトに沿って処理してください。

 

画像の特徴

・画像は、[※ここに画像の引用元を書く]したものです。

・画像に含まれている要素は、[※ここに画像の読み取り方を書く 例.チェック欄としての四角、英単語(a lot ofのように連語もある)、点線、ページ番号です。] このうち、[※ここにリスト化したい項目を書く 例.英単語のみOCRをしてください。他の情報は不要です。]

 

私からの指示は次の通りです。

・指示中のABはGPTで作業をして用意してください。

 

# --- OCR構文同一性+誤認フラグ検査(短期作業版)---

【目的】

・OCR後の整形リスト(B)が、OCR抽出リスト(A)と構文的に完全一致しているかを検査する。

・OCRで発生しやすい誤認パターンのみを検出する(修正や補完は禁止)。 ・エラー行を対話で修正した後、最終的にBリストのみを全件出力する。

 

──────────────────────────────

【作業フェーズ】

① 検出フェーズ:  A/Bの差分を照合し、異なる行だけを表示。  同時に、OCR誤認パターン(b↔h, rn↔m など)を検出し、該当行だけを列挙。 ② 修正フェーズ:  ユーザーとの対話で誤りを修正する。  修正対象行が確定したら、GPTは更新済みのBリストを保持する。  (この時点ではAは不要・破棄可) ③ 出力フェーズ:  すべての誤り修正が完了した後、  GPTはBリストを全件再出力する(Excel貼付用)。  Aは表示せず、混同を防ぐ。 ──────────────────────────────

【ルール】

1. 各行を独立した文字列として扱う。

2. 行番号ごとに「Unicode値(各文字コード合計)」を算出。

3. AとBで行番号が同じ場合にのみ比較。

4. 不一致または誤認パターン検出がある行だけを表示。

5. 意味的な推測や補完は禁止。

6. 修正後は、Aを破棄し、Bのみを出力する。 ──────────────────────────────

【OCR誤認パターン検出対象】

- b ↔ h - rn ↔ m - cl ↔ d - l ↔ i - t ↔ f - O ↔ 0 - S ↔ 5 - G ↔ 6 ──────────────────────────────

【出力形式】

①[構文同一性] - 行数:A=xx / B=xx - Unicode値合計:A=xxxxx / B=xxxxx - 不一致件数:n * 不一致一覧(存在時のみ) - No.k | A="..." | B="..."

②[OCR誤認フラグ] - フラグ件数:m * 該当一覧(存在時のみ) - No.k | "..." | パターン: (例) rn↔m

③[最終出力(修正完了後に使用)] - 完全修正版Bリスト(Aは非表示) ──────────────────────────────

【入力A(OCR結果)】

<<<ここにOCR抽出結果を貼る>>>

【入力B(整形後の結果)】 <<<ここに整形リストを貼る>>>

 

簡単な解説をすると、

  • 画像をOCRしやすいように、画像に書かれている情報とその読み取り方を指定する
  • OCR化で誤認されやすいパターンを指定して精度を上げる
  • 誤検出の可能性がある場合は、1回対話が入る
  • 修正完了後、リストが生成される。

 

3.外国語学習:並べ替えでのエラーを予防するプロンプト

次は、英語などの外国語学習をするときに、単語を品詞ごとに並び替えることができるプロンプトです。

 

ChatGPTではリストを並び替える時も安心はできません。勝手に行を削除・追加・統合するからです。

 

そこで、Unicode値という仕組みを使います。

 

例えば、「a lot of」のUnicode値は次のような数字として表されます。

1行ごとにテキストの合計Unicode値を出し、全単語のUnicode値を総合計します。この数値が並び替えの前後で一致しているかどうかを確かめることで、結果に抜け漏れ・追加・結合が無いことをチェックします。

 

次のプロンプトを使うことで、今のところ上手くいっています。

[※ここに単語のリストをコピペ]

 

ここからプロンプトです。

# --- 英単語リスト 品詞別並べ替えテンプレート(内部Unicode保持+前置詞優先+⚠️確認表仕様/軽量版)---

【目的】

・英単語リストを品詞ごとに並び替える。

・各行には内部的に「英単語+Unicode値」が格納されているが、Unicode値は非表示とする。

・Unicode値は全処理フェーズ(分類・確認・再出力)を通じて保持し、変更・削除・再生成は禁止。 整列処理は行全体を1ブロックとして扱い、合計Unicode値の整合性を自動で維持する。 ──────────────────────────────

【品詞分類ルール】

使用する品詞分類は次の10分類: 名詞 / 動詞 / 形容詞 / 副詞 / 前置詞 / 接続詞 / 代名詞 / 助動詞 / 冠詞 / その他 ──────────────────────────────

【複数品詞の扱いルール】

1. 「副詞のみ」または「副詞+前置詞/接続詞」を持つ語は、副詞を優先。

2. 名詞と動詞の両用語(例:book, play, work, change)は自動分類をせず、あなたに確認を求める。

3. 3品詞以上を持つ語(例:light, fast, well)は「要確認」として一覧化。

4. 「前置詞の意味が含まれる語(または句)」は、前置詞として分類する。  (例:before, since, according to, after, along, about など)

5. 上記4の語・句は前置詞として分類しつつ、**目視確認のため⚠️フラグを最終確認表にのみ付与**する。  本文リストには⚠️を表示しない。 ──────────────────────────────

【出力手順】

① GPTが全単語を暫定分類。明確なものはそのまま、曖昧語は⚠️付きで要確認リストにまとめる。

② あなたが回答した品詞に基づき再整列。

③ 最終出力では:  

・各品詞ブロックに見出し(<名詞>など)を付ける  

・ブロック内では元の順序を保持  

・Unicode値は内部保持(非表示)  

・⚠️は末尾の「要確認フラグ付き語(目視対象)」でのみ表示 ──────────────────────────────

【出力形式例】

<名詞> apple student book

<動詞> run study

<前置詞> about after according to

<その他> a lot of

【要確認フラグ付き語(目視対象)】

⚠️ about(副詞的にも使用) ⚠️ after(副詞的にも使用) ⚠️ according to(準前置詞句)

 

前置詞優先ルールは、中学校範囲の英単語では、整理が上手くいく感触です。

 

4.行数の目安

ChatGPTは、処理をするデータ数によって速度と精度が変わります。

 

私が試した数値と結果は、次の通りです。

  • 300語:サクサク動く
  • 450語:(試し中)
  • 600語:重たい。結果も1スレッドでは出てこず、複数のスレッドに分かれるので散らかりやすい。

お試しの意味でも300行のリストから始めると良いと思います。

 

以上の2つのプロンプトを使って、正確なリスト表の作成と並べ方を実践してみてください!!

 

 

5.おすすめ本

図書館でプログラミング関係の本を借りる時のポイントを整理しています。

生成AIに奪われないスキルは「ファシリテーション」のスキルと考えています。