Media > AI活用ユースケース > マーケティング > 銀行・信用金庫の預金・ローン・投資信託の広告やチラシの原稿を、法令と業界の表示の規約・行内の表示ルールに照らして校正し、表示の抜けと直し案を出す

銀行・信用金庫の預金・ローン・投資信託の広告やチラシの原稿を、法令と業界の表示の規約・行内の表示ルールに照らして校正し、表示の抜けと直し案を出す

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

預金・ローン・投資信託の広告の原稿から、金利や優遇、試算などの表現を拾い、それぞれに必要な表示が添えられているかを校正します。抜けている表示と直し案を一覧にして、審査の担当に渡します。

サマリー
生成AI
Azure OpenAI Service/Claude/Gemini
連携・自動化
Google Apps Script/Make/n8n/Power Automate/Python
対象業界
金融
対象部門
マーケティング/法務
対象業務
内容確認・チェック/書類作成
主な課題
判断に時間がかかる/属人化している/確認ミスが多い
AIで行う処理
校正
主な効果
入力漏れ削減/品質標準化/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
条件付き
現在工数
90h/月
AI導入後
30h/月
想定削減
67%
年間削減
720h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 営業企画部が文案を作り、デザイン会社に原稿を頼む
  2. 戻ってきたPDFを、広告審査の申請に添えて提出する
  3. 審査の担当が原稿を印刷し、金利・優遇・試算・実績・「最高」などの言葉に印を付ける
  4. 印を付けた表現ごとに、チェックリストを見て、併せて表示すべき事項が書かれているかを探す
  5. 投資信託や外貨預金なら、損失のおそれや手数料の表示の文字が小さすぎないかを目で見る
  6. 指摘を申請の画面に書き、営業企画部に差し戻す
  7. 直した原稿が戻ってきたら、3番からやり直す
導入後(After)
  1. 人営業企画部が、原稿のPDF(文字情報の入ったもの)と、広告の種類・媒体・対象の商品を広告審査の申請に添えて提出する
  2. 自動申請をきっかけにワークフローが動き、PDFから文字と文字の大きさ・位置を取り出す
  3. 自動前回の審査の原稿があれば、文字の差分を取り出す
  4. 自動生成AIが、原稿から金利・優遇・試算・実績・強調の表現と、表示されている事項を拾い、決まった形で返す
  5. 自動ルール表に照らして、拾った表現ごとに添えるべき事項がそろっているかを判定する
  6. 自動文字の大きさと、強調と打消しの表示の距離を、取り出した数値で測る
  7. 自動抜けている事項について、生成AIが直し案の文を作る
  8. 人審査の担当が、指摘の一覧を原稿と並べて確かめ、採る指摘と採らない指摘を決める
  9. 人担当が差し戻しを書いて営業企画部に戻す。または承認する
  10. 自動原稿、拾った結果、判定、担当の判断を審査記録に残す
各工程の詳しい説明を読む
  1. 営業企画部が文案を作り、デザイン会社に原稿を頼む
  2. 戻ってきたPDFを、広告審査の申請に添えて提出する
  3. 審査の担当が原稿を印刷し、金利・優遇・試算・実績・「最高」などの言葉に印を付ける
  4. 印を付けた表現ごとに、チェックリストを見て、併せて表示すべき事項が書かれているかを探す
  5. 投資信託や外貨預金なら、損失のおそれや手数料の表示の文字が小さすぎないかを目で見る
  6. 指摘を申請の画面に書き、営業企画部に差し戻す
  7. 直した原稿が戻ってきたら、3番からやり直す

(a)組み合わせの抜けを見落とす。 「金利0.5%上乗せ」と書いたキャンペーンで、上乗せの取引条件は書いてあるのに、中途解約したときの扱いが無い。 1つの原稿に表現が10個あれば、照らす組み合わせは何十になります。4番は、担当の注意力に頼った作業です。

(b)担当によって指摘が違う。 ある担当は「キャンペーン期間が小さすぎる」と指摘し、別の担当は指摘しない。営業企画部から見ると、誰に当たるかで差し戻しの数が変わります。 デザイン会社への直しの依頼も、そのたびに増えます。

(c)文字の大きさは目で見るしかない。 投資信託の広告で、損失のおそれの文字がほかの文字と比べて小さすぎないか。印刷した紙を並べて見比べる以外に、確かめる手段がありません。

(d)再審査で全部を読み直す。 直した原稿のどこが変わったかが分からないため、2回目も3回目も、最初から読み直します。

  1. 【人】 営業企画部が、原稿のPDF(文字情報の入ったもの)と、広告の種類・媒体・対象の商品を広告審査の申請に添えて提出する
  2. 【自動】 申請をきっかけにワークフローが動き、PDFから文字と文字の大きさ・位置を取り出す
  3. 【自動】 前回の審査の原稿があれば、文字の差分を取り出す
  4. 【自動】 生成AIが、原稿から金利・優遇・試算・実績・強調の表現と、表示されている事項を拾い、決まった形で返す
  5. 【自動】 ルール表に照らして、拾った表現ごとに添えるべき事項がそろっているかを判定する
  6. 【自動】 文字の大きさと、強調と打消しの表示の距離を、取り出した数値で測る
  7. 【自動】 抜けている事項について、生成AIが直し案の文を作る
  8. 【人】 審査の担当が、指摘の一覧を原稿と並べて確かめ、採る指摘と採らない指摘を決める
  9. 【人】 担当が差し戻しを書いて営業企画部に戻す。または承認する
  10. 【自動】 原稿、拾った結果、判定、担当の判断を審査記録に残す

5番目が、この設計の要です。 何を添えるべきかの判定は、生成AIではなくルール表と機械の照合で行います。 ルール表は、コンプライアンス統括部が表示規約と法令を読んで作るもので、規約が改正されたら直すのはルール表だけです。

8番目で担当が見るのは、指摘の一覧です。 原稿を最初から読むのではなく、指摘の根拠になった原稿の箇所を、一覧から1つずつ開いて確かめます。

02今回想定するシステム構成

構成図
【入力】原稿のPDF+広告の種類・媒体・商品
   ▼【トリガー】広告審査の申請
Power Automate
   ▼
文字と大きさの取り出し(Python・PyMuPDF)
   │  文字、文字の大きさ、位置、ページ
   ├──▶ 前回の原稿との差分
   ▼
Azure OpenAI(Microsoft Foundry。構造化出力)
   │  表現の拾い出し(金利/優遇/試算/実績/強調/比較)と、表示されている事項
   ▼
照合(Python)── ルール表で添えるべき事項を判定、文字の大きさと距離を測る
   ▼
Azure OpenAI ── 抜けている事項の直し案
   ▼
【人】審査の担当が一覧を確かめ、差し戻しまたは承認
   ▼
審査記録(SharePoint)
役割想定する製品代替候補
生成AIAzure OpenAI(Microsoft Foundry)Claude API、Gemini API
連携Power AutomateMake、n8n
差異計算Python(PyMuPDF による文字と大きさの取り出し、ルール表との照合)Google Apps Script
保管SharePoint(原稿、ルール表、審査記録)Box、Google ドライブ
申請行内の広告審査のワークフロー申請の画面を新しく作らず、メールで受け付ける

ルール表は、1行が「表現の種類・商品・添えるべき事項・根拠・媒体ごとの扱い」の表です。 たとえば「預貯金の金利の表示」の行には、期間・金額・リスク・利息・税金・手数料・中途解約に関する事項を、「貸出の金利の表示」の行には、期間・金額・リスク・借入条件・利息・返済条件・手数料に関する事項を並べます。この表を作るのは、コンプライアンス統括部です。

ルール表の土台は3つあります。 1つ目は、全国銀行公正取引協議会が景品表示法にもとづき消費者庁・公正取引委員会の認定を受けて運用する「銀行業における表示に関する公正競争規約」です。適用されるのは協議会の会員銀行が行う一般消費者を対象とした表示で、信用金庫は自庫が会員かどうかと、自庫に当てはまる業界の規則を先に確かめます。 2つ目は、投資信託の広告に適用される金融商品取引法第37条と、その政令・内閣府令です。3つ目は、外貨預金など元本に損失が生ずるおそれのある特定預金等の契約について金融商品取引法の規定を準用する銀行法第13条の4です。

文字の大きさは、PyMuPDF で取り出します。 PyMuPDF の文書では、page.get_text("dict") が blocks → lines → spans の階層で返り、各 span に size(文字の大きさ)、font、bbox(位置)、text などのキーを持つとされています。この数値を使うので、原稿は文字情報の入ったPDFで受け取ることをデザイン会社との約束にします。

生成AIは、Azure OpenAI の構造化出力で呼びます。 Microsoft Learn では、構造化出力を使うとモデルは指定した JSON スキーマの定義に従うとされ、Chat Completions API では response_format に、Responses API では text.format にスキーマを書きます。拾った表現の種類と位置を、決まった形で受け取るために使います。

03どうやって実装するのか

Step1

処理の起点を決める

広告審査の申請が提出されたときに動きます。 申請の画面で、広告の種類(預金/ローン/投資信託/外貨預金/複合)、媒体(チラシ/ポスター/ウェブ/DM/新聞)、対象の商品を選んでもらい、原稿のPDFを添えます。媒体を選ばせるのは、媒体によって添えるべき事項の扱いが変わるためです。

再審査のときも同じ申請から動きます。 前回の審査の番号を入れてもらい、前回の原稿との差分を先に取り出してから、全体を見直します。

夜間にまとめて動かす設計にはしません。 キャンペーンの開始日が決まっていて、差し戻しの往復の1回分が、出稿の遅れに直結するからです。

Step2

入力データを集める

データ中身取得元
原稿のPDF文字情報の入ったPDF。表と裏、ウェブはページ全体を印刷したPDF広告審査の申請
広告の属性種類、媒体、商品、掲載期間広告審査の申請
ルール表表現の種類ごとの、添えるべき事項と根拠、媒体ごとの扱いSharePoint
商品の条件表金利、期間、最低預入額、手数料、中途解約の利率、キャンペーンの条件営業企画部が商品ごとに持つ表
行内の表示ルール自行の名称の書き方、登録番号の書き方、問い合わせ先、禁止している言い回しコンプライアンス統括部
前回の原稿と審査記録再審査のときだけSharePoint

質を決めるのは、ルール表と商品の条件表です。 ルール表が無ければ、何が抜けているかを判定できません。商品の条件表が無ければ、原稿に書かれた金利や期間が正しいかを照らす先がありません。 この構成では、条件表の値と原稿の値が違うときも指摘として出します。

行内の表示ルールは、規約や法令より細かいことが多くあります。 「最大」を使わない、問い合わせ先は代表番号を書く、のような取り決めです。ルール表の中で「行内」の印を付けて、規約・法令の行と分けて持ちます。 審査の担当が指摘を採るか決めるとき、根拠の重さが違うからです。

Step3

データの取得方法を決める

取るものどこから何に使うか
文字・大きさ・位置PyMuPDF の get_text("dict") の span表現の位置、文字の大きさの比較、強調と打消しの距離
前回との差分前回の原稿から同じ方法で取り出した文字との比較再審査で変わった箇所の表示
ルール表の該当行広告の種類と媒体で絞る照合の基準と、生成AIに渡す表現の種類
商品の条件申請で選んだ商品で引く原稿の値との照合

生成AIに渡すのは、文字を位置の順に並べたものです。 span ごとに番号を振り、[p1-s034] 年0.30% のように、どの箇所の文字かが分かる形にします。 生成AIが拾った表現には、この番号を付けて返させます。指摘から原稿の該当箇所へ戻れるのはこの番号のおかげです。

チラシの裏面やウェブのリンク先も、同じ申請に入れてもらいます。 表示規約の運用基準では、ウェブで金利の隣接箇所に必要表示事項のページへのリンクを設けている場合や、チラシの裏面に必要表示事項を表示している場合などは、同一箇所でなくても表示しているものとみなすとされています。裏面やリンク先が無いまま照合すると、抜けの指摘が実際より多く出ます。

Step4

AIへ渡す前に整形する

  1. 文字情報の確認 … PDFから文字が取り出せない(画像だけの)ページがあれば、照合をせずに差し戻します
  2. 位置の順への並べ替え … 段組みのあるチラシでは、取り出した順と読む順が違うことがあります。位置の座標で並べ直します
  3. span への番号付け … ページと順番で番号を振ります
  4. 大きさの集計 … 原稿の中で最も大きな文字の大きさを、ページごとに求めます
  5. 差分の取り出し … 再審査のときは、前回の原稿の文字と比べて変わった span に印を付けます
  6. ルール表の絞り込み … 広告の種類と媒体で、照合に使う行だけを選びます

1番目を省かないでください。 画像だけの原稿を通すと、何も書かれていないという判定になり、すべての事項が抜けとして出ます。 審査の担当が一覧を見て混乱するだけで、役に立ちません。

4番目の最大の文字は、投資信託の広告の照合に使います。 たとえばページの見出しが48ポイントで、損失のおそれの文が7ポイントなら、その比を一覧に出します。どの比から「著しく異なる」とするかは条文に数値が無いため、コンプライアンス統括部が行内の目安を決めてルール表に書きます。 機械が出すのは比の値までです。

2番目は、強調と打消しの距離を測るときに効きます。 表示規約の運用基準には、打消し表示について、文字の大きさ、強調表示の文字とのバランス、配置の箇所、ウェブ(PC)では強調表示と打消し表示が1スクロール以上離れていないか、といった留意事項が挙げられています。位置が正しく取れていないと、距離が測れません。

Step5

AIに処理させる

生成AIにさせるのは2つです。拾うことと、直し案の文を作ることです。 照らす仕事はさせません。

させること中身
表現を拾う金利、金利の上乗せ・優遇、キャッシュバック、返済額などの試算、過去の運用実績、「最高」「No.1」「業界初」などの強調、他行との比較
種類を付ける拾った表現ごとに、ルール表の表現の種類のどれに当たるかを付ける
表示されている事項を拾う期間、金額、税金、手数料、中途解約、借入条件、返済条件、損失のおそれ、指標、商号、登録番号など
直し案を作る抜けていると判定された事項について、商品の条件表の値を使った文案を作る
させないこと理由
規約や法令に合っているかの結論判断はルール表と審査の担当が行う
文字の大きさの判断PDFから数値で測れる
条件表に無い値を直し案に入れる金利や手数料を推測で書くと、誤った表示を作ることになる
強調の表現を言い換えて残す実証できない「最高」を「トップクラス」に言い換えても、根拠の要否は変わらない
表現の種類を作るルール表に無い種類は「その他」として返し、人が見る

3行目がいちばん起きやすい失敗です。 直し案を頼むと、生成AIは「中途解約の場合は所定の中途解約利率を適用します」のようなそれらしい文を作ります。 「所定の」で済むのか、利率を書くべきかは行内の決まりです。直し案に入れる値は、商品の条件表にあるものだけにします。

4行目も大事です。 強調の言葉を指摘すると、生成AIは別の強調の言葉に言い換えた案を出しがちです。直し案では、根拠のデータを添えるか、表現を外すかの2択にします。

Step6

指示内容を固定する

あなたは銀行の広告審査で、原稿から表現を拾い出す係です。
判断はしません。原稿に書かれていることを、決まった形で書き出してください。

【拾う表現の種類】
rate_deposit(預貯金等の金利)/rate_loan(貸出の金利)/preferential(金利の上乗せ・
優遇・手数料の減免・キャッシュバック)/premium(景品)/simulation(将来の試算)/
past_performance(過去の実績)/superlative(最上級・唯一性の言葉)/
comparison(他者との比較)/risk_product(元本の損失のおそれがある商品の表示)/other

【守ること】
- 原稿の文字は [p1-s034] のような番号付きで渡します。
  拾った表現には、必ず元の番号を付けてください。番号の無い表現を作らないでください。
- 原稿に書かれていない事項を、書かれているものとして扱わないでください。
  「詳しくは店頭で」とだけある場合、その事項は書かれていません。
- 期間・金額・税金・手数料・中途解約などの事項を拾うときは、
  どの表現についての事項かが原稿から分かる場合だけ、その表現に結び付けてください。
  分からない場合は linked_to を空にしてください。
- 規約や法令に合っているか、問題があるかを書かないでください。
- 数値は原稿の文字のまま写してください。四捨五入や単位の変換をしないでください。

【広告の種類】{ad_type} 【媒体】{media}
【原稿(番号付き、位置の順)】{spans}

「判断はしません」を最初に置くのは、生成AIが自分から結論を出したがるからです。 広告審査という言葉を渡すと、「この表現は表示規約に抵触するおそれがあります」と書き始めます。その結論は、ルール表の照合の結果と食い違うことがあり、担当を迷わせます。

「詳しくは店頭で」を書かれていないものとして扱うよう明記するのも、同じ理由です。 書かないと、生成AIはこの一文を根拠に「中途解約の事項:店頭で案内」と拾います。それを表示として認めるかどうかは、ルール表と担当が決めることです。

Step7

出力形式を固定する

拾い出しの結果は、次の形のJSONで受け取ります。

{
  "expressions": [
    { "id": "e1", "type": "rate_deposit", "span_ids": ["p1-s034"],
      "text": "年0.30%", "note": "" }
  ],
  "disclosures": [
    { "item": "tax", "span_ids": ["p2-s101"], "text": "", "linked_to": ["e1"] }
  ],
  "unparsed_span_ids": []
}

item は、期間(term)、金額(amount)、リスク(risk)、利息(interest)、税金(tax)、手数料(fee)、中途解約(early_termination)、借入条件(loan_condition)、返済条件(repayment)、指標(index)、損失のおそれ(loss_risk)、商号(company_name)、登録番号(registration_no)などから選ばせます。

照合の結果は、ワークフローの側で次の形にまとめます。

列中身
指摘の番号f1、f2 …
表現拾った表現と原稿の箇所(p1-s034)
ルールルール表の行と根拠(規約・法令・行内の別)
判定missing(抜け)/size(文字の大きさ)/distance(打消しの距離)/value(条件表と違う)/review(人が見る)
直し案生成AIの文案(条件表の値だけを使う)

審査の担当に返す一覧は、たとえば次のようになります。

【指摘の一覧】定期預金キャンペーン チラシ(表・裏) ルール表 v3
f1 value    p1-s034 年0.30% ── 条件表は年0.25%(キャンペーン金利)
f2 missing  p1-s034 年0.30% ── 中途解約に関する事項が見つからない(規約)
f3 missing  p1-s041 +0.05%上乗せ ── 上乗せの提供時期が見つからない(規約)
f4 review   p1-s012 地域No.1の金利 ── 最上級の言葉。根拠のデータの有無を確認
f5 distance p1-s050 「※条件あり」 ── 強調の箇所から離れて裏面にある(行内)
直し案 f2:中途解約の場合は、{条件表の中途解約利率}を適用します。

f1 を一番上に出すのは、後の「人間の確認」で見る順と合わせるためです。 金利そのものが違う広告は、抜けを直しても出せません。f4 のように最上級の言葉は、規約が客観的に実証されている場合にのみ使えるとしているため、根拠のデータがあるかを担当が確かめる review にします。

1つ目の理由は、拾う層と判定する層を分けられることです。 生成AIが返すのは expressions と disclosures だけで、missing を決めるのはルール表です。ルール表を直せば、同じ拾い出しの結果から判定をやり直せます。

2つ目は、span_ids で原稿へ戻れることです。 担当は指摘の一覧から原稿の該当箇所を開いて確かめます。番号が付いていない指摘は、原稿のどこを見ればよいかを探すことになります。

3つ目は、linked_to で組み合わせを照らせることです。 金利が2種類ある原稿では、どちらの金利についての税金の表示かが分からないと、片方の抜けを見落とします。結び付けが分からないものは空にさせ、照合の側で review にします。

構造化出力のスキーマでは、すべてのフィールドを必須にし、additionalProperties: false を付けます。type と item は列挙型(enum)で決めた値だけを返させます。

Step8

システムへ連携する

つなぎ先方式内容
広告審査のワークフローPower Automate のトリガー申請の提出を検知し、原稿と属性を受け取る
Python の処理Power Automate からの呼び出し文字と大きさの取り出し、差分、照合
Azure OpenAIAPI呼び出し(構造化出力)表現の拾い出しと、直し案の文
SharePoint読み取りと追記ルール表・条件表の読み取り、審査記録の保存
広告審査のワークフロー申請へのコメント指摘の一覧を審査の担当に返す

承認と差し戻しは、従来どおり審査の担当が申請の画面で行います。 この構成は、指摘の一覧を申請に添えるところまでで、承認のボタンには触りません。

Step9

人が確認する

審査の担当が、すべての指摘を確かめてから差し戻しを書きます。

  1. value を先に見る … 原稿の金利や期間が商品の条件表と違う指摘です。誤った金利の広告は、ほかのどの抜けより重い誤りです
  2. missing を根拠ごとに見る … 規約・法令の行の抜けは原則として指摘し、行内の行は媒体と目的に応じて担当が決めます
  3. size と distance を原稿で確かめる … 数値は機械が測っていますが、デザインの意図(裏面に事項をまとめた等)を見て判断します
  4. review を読む … 拾った表現の種類や結び付けが付かなかったものです
  5. 直し案を採るか決める … 採らない場合は、担当が自分で差し戻しの文を書きます

採らなかった指摘には、理由を一言残します。 「裏面に記載あり」「行内ルールの例外として承認済み」のような理由がたまると、ルール表のどの行が誤検知を出しているかが分かります。

Step10

例外に対処する

起きること対応
原稿が画像だけのPDF照合せずに差し戻し、文字情報の入ったPDFを頼む
裏面やリンク先が添付されていない抜けの指摘に「裏面・リンク先の未確認」を付けて返す
商品が条件表に無いvalue の照合を飛ばし、担当に知らせる
拾った表現の種類が otherreview に回す
動画や音声の広告この構成の対象外として、従来の審査に回す
複数の商品を1枚に載せた原稿商品ごとに linked_to を見る。結び付かないものは review
生成AIが応答しない申請は止めず、「自動の点検なし」として従来どおり目視で審査
規約やルール表が改正されたルール表の版を上げ、改正前の審査記録には旧版の印を残す

7行目で申請を止めないことが大事です。 自動の点検は審査を助けるもので、審査そのものの条件にはしません。 点検が止まって広告が出せない、という形にすると、点検を外す圧力が生まれます。

Step11

記録を残す

  • 原稿のPDFと、取り出した文字・大きさ・位置
  • 生成AIの拾い出しの結果(JSON)と、照合の結果の一覧
  • 照合に使ったルール表の版と、商品の条件表の版
  • 審査の担当が採った指摘、採らなかった指摘とその理由
  • 差し戻しと承認の日時、再審査の回数

3つ目の版を残すのは、規約や行内のルールが後から変わるためです。 改正後に過去の広告を見返すと、当時は問題の無かった表示が、今の基準では抜けに見えます。 どの版で照らしたかが残っていれば、説明ができます。

採らなかった指摘の理由は、ルール表を直す材料です。 同じ行の指摘が毎回採られないなら、その行の書き方か媒体ごとの扱いが現場に合っていません。

04実装レベルの3段階

最小構成:原稿の文字をAIの画面に貼り、表現と事項を拾わせる / 表現と事項の拾い出し
半自動化:上記+PDFから文字と大きさを取り出し、ルール表と照らして抜けの一覧を作る / 拾い出し、抜けと文字の大きさの判定
本格構成:上記+申請を起点に自動で動かし、商品の条件表との照合、再審査の差分、直し案まで出す / 点検の全体と、差し戻しの文案

最小構成では、文字の大きさが見られません。 貼り付けた時点で大きさの情報が消えるためです。拾い出しの確かさを見るための段階です。 半自動化で、1件60分が35分程度になります。 拾い出しと抜けの判定は自動になりますが、条件表との照合と、差し戻しの文を書く作業が残ります。本格構成で20分になり、この段階が本記事の想定です。 再審査で差分だけを見られるようになることも、ここで効きます。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、ルール表のどの行が誤検知を出しているかが先に分かります。そこを直してから本格構成に進むほうが、担当が一覧を信用するまでの時間が短くなります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
5 名
月間件数
90 件
1件あたり現在時間
60 分
1件あたり導入後時間
20 分
現在  90件 × 60分 ÷ 60 = 90 時間/月
導入後 90件 × 20分 ÷ 60 = 30 時間/月
月間削減時間
60h
削減率
67%
年間削減時間
720h
年間金額換算(時間単価4,000円)
288万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 定期預金のキャンペーン、住宅ローン・カードローン、投資信託、外貨預金のチラシ・ポスター・ウェブの広告を毎月何十本も出している地域銀行・信用金庫。広告の審査をコンプライアンスの担当が目視で行っていて、担当によって指摘の細かさが違う場合。デザイン会社から原稿を文字情報の入ったPDFで受け取れる場合。行内で Microsoft Azure の利用が認められている場合。
向いていない
  1. 広告が月に数本で、審査の担当が全件を丁寧に見られている場合。原稿が画像だけで届き、文字と文字の大きさを取り出せない場合。テレビ・ラジオのCMの台本と映像が中心の場合(本記事は紙とウェブの原稿に限る)。なお、表示が規約や法令に合っているかの最終の判断と、出稿の可否は、この構成では代替できません。

07最小構成で試す方法

  1. 過去の広告審査から20本を選ぶ(うち数本は、審査で抜けが見つかって差し戻したものを入れる)
  2. 定期預金のキャンペーンと住宅ローンの2種類について、表示規約の必要表示事項を表にする
  3. 原稿の文字をコピーして手元のAIサービスに貼り、「金利、上乗せ、試算、過去の実績、最上級の言葉を拾い、それぞれについて書かれている期間・金額・税金・手数料・中途解約などの事項を一覧にしてください。合っているかの判断はしないでください」と指示する
  4. 一覧を2番の表と見比べ、抜けを人が拾う
  5. 当時の審査の指摘と見比べる

この段階では、ルール表との照合は人が行います。 試すのは、生成AIが表現と事項を取りこぼさずに拾えるかどうかです。

出てきた内容判断
当時の指摘と同じ抜けが見つかった文字の取り出しと照合の自動化に進む
生成AIが「抵触のおそれ」と結論を書く指示の書き方で直る。構成は有効
事項がどの金利のものか結び付かない原稿の文字の並び順の問題が多い。 位置で並べ直す前処理を先に作る

3行目は段組みのチラシでよく出ます。 コピーした文字の順番が読む順と違うためで、生成AIではなく取り出し方の問題です。

08実装時につまずきやすいポイント

問題対策
生成AIが「抵触のおそれ」と結論を書く「判断はしない」を指示の最初に書く。 判定はルール表で行う
直し案に推測の金利や手数料が入る条件表にある値だけを使わせる
「詳しくは店頭で」が表示として拾われる書かれていないものとして扱うと明記する
段組みで事項が別の金利に結び付く位置で並べ直す。結び付かないものは review
画像だけの原稿で全部が抜けになる文字が取れない原稿は照合しない
裏面やリンク先が無く抜けが多すぎる裏面・リンク先も同じ申請に入れてもらう
強調の言葉を別の強調に言い換える直し案は「根拠を添える」か「外す」の2択にする
行内ルールと規約の指摘が同じ重さで並ぶルール表に根拠の別を持たせ、一覧で分けて出す
再審査で全部を読み直す前回の原稿との差分を先に出す
信用金庫で表示規約をそのまま使う会員かどうかと、自庫に当てはまる規則を先に確かめる
投資信託の文字の大きさを目で見るPDFの size で、最も大きな文字と比べる
点検が止まると広告が出せない点検は審査の条件にしない

上の3行が、この構成の失敗のほとんどです。 どれも、生成AIに拾う以上のことをさせたときに起きます。拾うことと照らすことを分けたままにしておけば、指摘の根拠はいつもルール表の行に戻れます。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 公開前の広告の原稿、キャンペーンの条件と開始日、商品の条件表(金利・手数料・優遇の条件)、審査の記録です。

  1. 公開前の原稿と条件は、行内の情報として扱う … キャンペーンの金利と開始日は、公開までは他行に知られたくない情報です。生成AIは、行内で利用が認められた環境の Azure OpenAI に限ります
  2. 表示が合っているかの判断は人が行う … この構成が出すのは、ルール表に照らした抜けの一覧と直し案までです。出稿してよいかを決めるのは審査の担当で、承認の操作もこの構成からは行いません
  3. ルール表の根拠を原文で確かめる … 金融商品取引法第37条は、金融商品取引業者等が広告をするときに商号、金融商品取引業者等である旨と登録番号、顧客の判断に影響を及ぼす重要なものとして政令で定める事項を表示しなければならないとし、政令では手数料等や、指標の変動を直接の原因として損失が生ずるおそれがある場合のその指標とおそれがある旨・理由などが定められています。ルール表に書くときは、条文の原文に当たり、行内の読み方を法務と決めてください
  4. 特定預金等の扱いを分ける … 銀行法第13条の4は、特定預金等契約の締結について金融商品取引法の規定を準用していますが、準用から除かれている規定があります(第37条第1項第2号など)。外貨預金の広告のルール表を、投資信託の行の写しで作らないでください
  5. 規約の改正を追う … 全国銀行公正取引協議会は表示規約を一部改正しています。改正のたびにルール表の版を上げ、いつからどの版で照らしたかを残します
  6. 直し案をそのまま使わない … 直し案は条件表の値を使った文案です。表示のしかたとして適切かは、担当が原稿の中で確かめます

誤りが起きた場合のリスクは、必要な表示の抜けを見落として出稿することと、誤った金利や条件の直し案を採ってしまうことの2つです。 前者は組み合わせをルール表で照らすことで、後者は条件表にある値だけを使わせることで防ぎます。どちらも、生成AIに判断させない設計で守ります。

10まず何から始めるか

1週目:ルール表の最初の版を作る

コンプライアンス統括部が、定期預金のキャンペーンと住宅ローンの2種類について、表示規約の必要表示事項と金利の表示基準を行に書き出します。行内のチェックリストにある項目も、根拠を「行内」として同じ表に入れます。

2週目:20本で試す

過去の審査から20本を選び、手元のAIサービスで表現と事項を拾わせます。当時の差し戻しの指摘と見比べ、拾い漏れが無いかを最優先で見ます。

3週目:デザイン会社と原稿の受け取り方を決める

文字情報の入ったPDFで、裏面とリンク先のページも含めて納品してもらうことを約束します。あわせて、営業企画部が商品ごとの条件表をそろえます。

4週目:取り出しと照合を作る

Python で文字と大きさを取り出し、ルール表と照らして抜けの一覧を出すところまで作ります。この時点では申請とつながず、審査の担当が手元で一覧を見比べます。

2か月目: 投資信託と外貨預金の行をルール表に足し、文字の大きさの測定を加えます。申請からの自動の起動をつなぎ、採らなかった指摘の理由を集め始めます。3か月目以降: 商品の条件表との照合と、再審査の差分、直し案を足し、1件60分が何分になったかを実測します。採らなかった指摘の理由をもとにルール表を直し、誤検知が落ち着いた時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-07/最終更新:2026-10-07
確認した内容情報源確認日
構造化出力で、モデルが指定した JSON スキーマの定義に従うこと。Chat Completions API では response_format、Responses API では text.format にスキーマを書くこと。すべてのフィールドを必須にし、additionalProperties: false が必要なこと。列挙型がサポートされることMicrosoft Learn: Azure OpenAI で構造化出力を使用する方法2026-10-07
全国銀行公正取引協議会が、景品表示法にもとづき消費者庁・公正取引委員会の認定を受けて、景品と表示に関する2つの公正競争規約を制定・運用していること。表示規約を一部改正していること全国銀行協会: 全国銀行公正取引協議会2026-10-07
表示規約が会員銀行の一般消費者を対象とした表示に適用されること。預貯金等の金利(期間・金額・リスク・利息・税金・手数料・中途解約)、貸出の金利(期間・金額・リスク・借入条件・利息・返済条件・手数料、最も高い金利又は金利の範囲)、金利優遇等の必要表示事項。将来の試算・過去の実績の表示基準。最上級・唯一性の用語の使用基準。比較広告。打消し表示の留意事項。裏面やリンクによる表示のみなし全国銀行公正取引協議会: 銀行業における表示に関する公正競争規約2026-10-07
金融商品取引法第37条第1項(商号、金融商品取引業者等である旨と登録番号、政令で定める重要事項の表示)と第2項(著しく事実に相違する表示等の禁止)e-Gov 法令API: 金融商品取引法2026-10-07
金融商品取引法施行令第16条第1項(手数料等、指標の変動により損失が生ずるおそれがある場合の指標とおそれがある旨・理由など)e-Gov 法令API: 金融商品取引法施行令2026-10-07
金融商品取引業等に関する内閣府令第73条(明瞭かつ正確な表示、損失のおそれ等の事項の文字を最も大きな文字と著しく異ならない大きさで表示)、第76条e-Gov 法令API: 金融商品取引業等に関する内閣府令2026-10-07
銀行法第13条の4(特定預金等契約の締結について金融商品取引法の規定を準用し、第37条第1項第2号などを除くこと)e-Gov 法令API: 銀行法2026-10-07
page.get_text("dict") が blocks・lines・spans の階層で返り、span が size・font・bbox・text などを持つことPyMuPDF: Appendix 1(テキスト抽出の詳細)2026-10-07

表示が規約や法令に合っているかの判断と、出稿の可否は、自行の法務・コンプライアンスの担当が決めてください。 本記事は公開されている規約・法令・仕様で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-0735)についてのご相談はこちらから。

AI活用について相談する
目次