Media > AI活用ユースケース > マーケティング > エステサロンがチラシと Web の告知の原稿を Azure OpenAI で校正し、景品表示法・特定商取引法と医行為に当たる表現の決まりに沿って直しの案を出す

エステサロンがチラシと Web の告知の原稿を Azure OpenAI で校正し、景品表示法・特定商取引法と医行為に当たる表現の決まりに沿って直しの案を出す

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

エステサロンの本部と店長が書いたチラシ・Web の告知・配信の原稿を、出す前に Azure OpenAI で校正します。効果の言い回し、医行為と読める施術の説明、料金と回数の食い違いに印を付け、直しの案を添えて本部の責任者に回します。

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

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

導入前(Before)
  1. 店長または販促担当が原稿を Word で書き、Teams で販促責任者に送る
  2. 販促責任者が原稿を開き、社内の表現の決まりを思い出しながら1文ずつ読む
  3. 「−5kg」「たった1回で」のような数字と効果の言い方に印を付け、根拠の資料があるかを思い出す
  4. 施術の説明に、光で毛根を壊す、皮膚をはがす、といった言い方が無いかを見る
  5. 料金・回数・期間を本部の料金表のブックと見比べる
  6. 直しの案を原稿に書き込み、書いた人に戻す
  7. 直った原稿をもう一度読み、よければ制作(チラシの組版、Web の更新、配信の予約)に回す
導入後(After)
  1. 人店長または販促担当が原稿を Word で書き、SharePoint の「原稿の確認待ち」フォルダに置く
  2. 自動ファイルの作成をきっかけに Power Automate が動き、ファイルの中身と店舗のコードを取る
  3. 自動Azure Functions が原稿を文ごとに番号を付けて分け、料金・回数・期間の表記を抜き出す
  4. 自動抜き出した料金・回数・期間を、本部の料金表のその月の版と突き合わせる
  5. 自動社内の表現の決まりの語の一覧と、文を機械的に照らす
  6. 自動Azure OpenAI が文ごとに、表現の決まりのどの項目に当たりそうか、直しの案、根拠の資料が要るかを返す
  7. 自動指摘の一覧を原稿の横に置き、書いた人と販促責任者に Teams で知らせる
  8. 人書いた人が、料金の食い違いと語の一覧に当たった指摘を先に直す
  9. 人販促責任者が、効果の言い回しと施術の説明の指摘だけを読み、出すか直すかを決める
  10. 人根拠の資料が要ると出た文は、資料の台帳と照らし、無ければ言い方を変える
各工程の詳しい説明を読む
  1. 店長または販促担当が原稿を Word で書き、Teams で販促責任者に送る
  2. 販促責任者が原稿を開き、社内の表現の決まりを思い出しながら1文ずつ読む
  3. 「−5kg」「たった1回で」のような数字と効果の言い方に印を付け、根拠の資料があるかを思い出す
  4. 施術の説明に、光で毛根を壊す、皮膚をはがす、といった言い方が無いかを見る
  5. 料金・回数・期間を本部の料金表のブックと見比べる
  6. 直しの案を原稿に書き込み、書いた人に戻す
  7. 直った原稿をもう一度読み、よければ制作(チラシの組版、Web の更新、配信の予約)に回す

(a)判断が1人に集まる。 2番から4番は、販促責任者にしかできません。責任者が研修や出張で2日いないと、80本のうち十数本が止まります。 店長からは「早く出したい」と催促が来て、責任者は急いで読むことになります。

(b)言い回しの癖は人ごとに違う。 店長Aは「効果」を強く言い、店長Bは料金を大きく見せる。同じ指摘を毎月、同じ人に書いています。 指摘が積み上がらないので、書く側の癖も直りません。

(c)料金の食い違いは出した後に見つかる。 5番は、料金表のブックのどのシートの何行目かを探すところから始まります。急いでいる日ほど省かれ、お客様に「チラシの値段と違う」と言われて初めて分かります。

(d)施術の説明は言い換えると見えなくなる。 厚生労働省の通知は、医行為を名前ではなく中身で示しています。原稿で名前が変わっていると、読む人の目からも外れます。

  1. 【人】 店長または販促担当が原稿を Word で書き、SharePoint の「原稿の確認待ち」フォルダに置く
  2. 【自動】 ファイルの作成をきっかけに Power Automate が動き、ファイルの中身と店舗のコードを取る
  3. 【自動】 Azure Functions が原稿を文ごとに番号を付けて分け、料金・回数・期間の表記を抜き出す
  4. 【自動】 抜き出した料金・回数・期間を、本部の料金表のその月の版と突き合わせる
  5. 【自動】 社内の表現の決まりの語の一覧と、文を機械的に照らす
  6. 【自動】 Azure OpenAI が文ごとに、表現の決まりのどの項目に当たりそうか、直しの案、根拠の資料が要るかを返す
  7. 【自動】 指摘の一覧を原稿の横に置き、書いた人と販促責任者に Teams で知らせる
  8. 【人】 書いた人が、料金の食い違いと語の一覧に当たった指摘を先に直す
  9. 【人】 販促責任者が、効果の言い回しと施術の説明の指摘だけを読み、出すか直すかを決める
  10. 【人】 根拠の資料が要ると出た文は、資料の台帳と照らし、無ければ言い方を変える

8番と9番を分けているのが、この設計の要です。 料金の食い違いと決まった語は、書いた人が自分で直せます。責任者の手元に残るのは、判断が要る指摘だけになります。 全部を責任者に回すと、40.0時間はほとんど減りません。

6番の出力は「決まりの第何項に当たりそう」までです。 決まりは本部が持ち、AIは当てはめる手伝いだけをします。

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

構成図
SharePoint「原稿の確認待ち」(Word の原稿)
   ▼【トリガー】ファイルの作成
Power Automate ── ファイルの中身と店舗のコードを取り、処理を呼ぶ
   ▼
Azure Functions
   ├──▶ 原稿を文ごとに番号を付けて分ける
   ├──▶ 料金・回数・期間を抜き出し、料金表のその月の版と突き合わせる
   └──▶ 表現の決まりの語の一覧と照らす
   ▼
Azure OpenAI(Microsoft Foundry)── 文ごとに決まりの項目・直しの案・根拠の要否を返す
   ▼
指摘の一覧(原稿の横)+ Teams で通知
   ▼
【書いた人が料金と語を直し、販促責任者が判断の要る指摘を決める】
役割想定する製品代替候補
生成AIAzure OpenAI(Microsoft Foundry)Claude API
連携Power Automate(文書ライブラリのトリガーとファイルの中身の取得、Teams への通知)Azure Logic Apps
連携Azure Functions(文の分割、料金の抜き出しと突き合わせ、語の照合)AWS Lambda
台帳SharePoint のリスト(表現の決まりの項目、根拠の資料の台帳、店舗のコード)Azure SQL Database
文書の保管SharePoint の文書ライブラリ(原稿、指摘の一覧、表現の決まりの原本)社内のファイルサーバー

表現の決まりと料金表は、いまあるものです。 足すのは、Word の決まりを SharePoint のリストに移す作業と、料金表を月の版ごとに保存する決まりです。最初の準備は、約60項目に番号と「物差し」(景品表示法・特定商取引法/医行為/料金)の列を付けることです。

1つ目の物差しは景品表示法です。 消費者庁のページは、優良誤認表示は誤って表示した場合でも規制されるとし、有利誤認の例に、基本の価格を書かずに「今なら半額!」と表示した例を挙げています。不実証広告の規制では、根拠の資料を期間内に出さないと、措置命令との関係で不当表示とみなされます。数字の言い方に「根拠の資料が要る」の印を付けるのは、このためです。

エステのコース契約は、特定商取引法の特定継続的役務提供にも当たります。 期間1か月超・金額5万円超のエステティックが対象で、誇大広告等の禁止(法第43条)は、役務の内容などについて著しく事実に相違する表示や、著しく優良または有利と誤認させる表示を禁じています。

2つ目の物差しは、医行為に当たる行為です。 平成13年の厚生労働省の通知は、機器が医療用かを問わず光線を毛根部分に照射し毛乳頭等を破壊する行為、針で色素を入れる行為、化学薬品で表皮剥離を行う行為を、医師免許の無い者が業として行えば医師法第17条違反としています。令和7年8月の通知は HIFU も挙げ、12月の通知はエステサロン等でのアートメイクについて、名称を問わず周知を求めています。

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

Step1

処理の起点を決める

SharePoint の「原稿の確認待ち」フォルダにファイルが作られたことを起点にします。 Power Automate の SharePoint コネクタの「ファイルが作成されたとき(プロパティのみ)」を使い、フォルダを指定します。このトリガーが返すのは列の値だけなので、続けて「ファイル コンテンツの取得」で中身を取ります。

旧来の「フォルダーにファイルが作成されたとき」は非推奨で、サブフォルダにファイルが足されても動かないとされています。店舗ごとにサブフォルダを切りたくなりますが、フォルダは1つにして、店舗のコードはファイルの列で持ちます。

1日1回の定時処理にはしません。店長が原稿を置いてすぐに指摘が返ると、書いた本人がその場で直せます。 まとめて翌朝に返すと、店長は営業に戻っていて、直すのが夜になります。

処理が終わった原稿は「確認済み」に移さず、その場に置いたままにします。 指摘の一覧を同じ名前の横に置き、ファイルの列「状態」を「指摘あり」「指摘なし」に変えます。「確認待ち」のままの列が残っていれば、処理が止まっているということです。

Step2

入力データを集める

データ中身取得元
原稿Word の文書。媒体(チラシ/Web/SNS/LINE)、店舗のコード、掲載の開始日「原稿の確認待ち」フォルダとファイルの列
料金表コースごとの通常料金、キャンペーンの料金、回数、有効期間、適用の条件料金表のブック(月の版)
表現の決まり項目番号、物差し、使わない言い方、言い換えの例、根拠の資料が要るかSharePoint のリスト
根拠の資料の台帳数字の言い方ごとの資料の名前、取った時期、対象の人数、使ってよい媒体SharePoint のリスト

質を決めるのは、下の2つです。 表現の決まりに言い換えの例が無いと、AIの直しの案は毎回ばらばらになります。根拠の資料の台帳が無いと、「根拠の資料が要る」という指摘が出ても、誰も確かめられません。

掲載の開始日をファイルの列で持たせるのは、料金表の版を選ぶためです。 10月末に書いた11月のチラシの原稿は、11月の料金表と比べなければなりません。

Step3

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

取るものどこからどう取るか
原稿の中身「原稿の確認待ち」フォルダトリガーの後に「ファイル コンテンツの取得」
媒体・店舗・掲載の開始日ファイルの列トリガーが返す列の値
料金表料金表のフォルダ掲載の開始日の月の版を、Functions がファイル名で選んで読む
表現の決まり・根拠の台帳SharePoint のリストFunctions が Microsoft Graph で読む

料金表は Excel のブックのまま読みます。 月の版を「料金表_2026-11.xlsx」のような名前で保存する決まりにし、Functions がファイル名で選びます。ブックの中身を Azure OpenAI に渡すことはしません。 突き合わせは Functions の側で行い、AIには「食い違いがあった」という結果だけを渡します。

表現の決まりは、全項目をそのままプロンプトに入れます。 約60項目なので量は多くありません。検索で絞り込む仕組みは要らず、絞り込むと、当てはまる項目を取りこぼします。

Step4

AIへ渡す前に整形する

  1. 文の分割 … 原稿を文ごとに分け、s01、s02 のように番号を付けます。見出し、本文、注記(※の文)を区別して持ちます
  2. 料金の抜き出し … 「円」「回」「か月」「日まで」を手がかりに、金額・回数・期間を正規表現で抜き出します
  3. 料金表との突き合わせ … 抜き出したコース名と金額を料金表のその月の版と比べ、合わないものに印を付けます
  4. 語の照合 … 表現の決まりの「使わない言い方」の語を、文に機械的に当てます。表記ゆれ(ひらがな・カタカナ・全角半角)は先にそろえます
  5. 注記の対応付け … 「※個人の感想です」のような注記が、どの文に付いているかを結び付けます
  6. 長さの確認 … チラシの原稿でも数百文になることはまずありませんが、200文を超えたら分けて送ります

2番と3番をAIに任せないのが、この前処理の肝です。 金額の読み違いはAIでも起きますが、正規表現と表の突き合わせなら起きません。数字は機械で比べ、言い方だけをAIに見せます。

5番を省くと、注記の指摘が外れます。 「※効果には個人差があります」が原稿の末尾に1回だけあり、どの数字に付いているのか分からない、という原稿は多くあります。どの文に注記が付いていないかを、前処理で先に分かるようにします。

Step5

AIに処理させる

させるのは、文ごとに「表現の決まりのどの項目に当たりそうか」を返し、直しの案を書き、根拠の資料が要るかを付けることです。

見るもの例返すもの
効果の言い方(景品表示法・特定商取引法)「1回で−5kg」「必ず細くなる」「二度と生えない」決まりの項目番号、根拠の資料の要否、言い換えの案
料金・特典の言い方(同)「今だけ980円」「通常価格の半額」項目番号、条件の書き漏れの指摘、言い換えの案
施術の説明(医行為の通知)「毛根を破壊」「皮膚の表面をはがす」「針で色を入れる」項目番号、言い換えの案。施術そのものの確認が要る印
体験談と注記「お客様の声」に数字があるのに注記が無い項目番号、注記を付ける位置
どれにも当たらない文店の場所、予約の方法none

3行目は、言い換えだけでは済まないことがあります。 原稿に「毛根を破壊」と書かれているとき、問題は言い方ではなく、その店が実際に何をしているかかもしれません。そこでこの指摘には needs_service_check の印を付け、言い換えの案を出したうえで、施術の内容を店舗統括のマネージャーが確かめる流れに回します。

させないこと理由
違法かどうかの結論判断は本部の責任者と、必要に応じて専門家が行う
料金の正誤の判断前処理で機械が料金表と比べる。AIに金額を読ませない
根拠の資料の有無の判断台帳と照らすのは人。AIは「要る」と印を付けるまで
新しい効果の言い方の提案直しの案は弱める方向だけ。言っていない効果を足さない
表現の決まりに無い項目での指摘決まりに無いものは rule_gap として別に返させ、決まりの側を直す

4行目がいちばん起きやすい失敗です。 「1回で−5kg」を直させると、「1回で体が軽く感じられ、引き締まった印象に」のように、別の効果を足した案を返すことがあります。 直しの案は、削る・弱める・条件を足す、のどれかに限らせます。

Step6

指示内容を固定する

あなたはエステサロンの本部で、広告の原稿を出す前に校正する担当です。
社内の「表現の決まり」に照らして、文ごとに当たる項目を返してください。

【物差し】
- A:景品表示法・特定商取引法(効果の言い方、料金・特典の言い方)
- B:医行為と読める施術の説明
- C:体験談と注記
料金の正誤は見ません。料金表との突き合わせは別の処理で済んでいます。

【判定のしかた】
- 文ごとに、表現の決まりのどの項目に当たりそうかを rule_ids に入れる
- どの項目にも当たらなければ status を none にする
- 当たりそうだが決まりの言葉と完全には一致しないときは likely にする
- 決まりに無いが気になる言い方は rule_gap にし、rule_ids は空にする
迷ったときに none を選ばないでください。

【直しの案の決まり】
- 直しの案は、削る・弱める・条件を書き足す、のいずれかにしてください
- 原稿に書かれていない効果や特典を、直しの案に足さないでください
- 数字を言い換えるときは、数字を消すか、表現の決まりの言い換えの例に合わせてください
- 施術の説明(物差しB)に当たる文は、needs_service_check を true にしてください

【厳守事項】
- 違法、違反、問題ない、といった結論を書かないでください
- 根拠の資料があるかどうかを推測しないでください。要るかどうかだけを付けてください
- evidence には、当たったと考えた原稿の語句をそのまま写してください
- 注記(※の文)は、どの文に付いているかの対応表に従って読んでください

【原稿(番号付きの文)】{sentences}
【注記の対応表】{note_links}
【表現の決まり】{rules}
【媒体】{media}

「迷ったときに none を選ばない」を書かないと、指摘が減ります。 AIは「当たる」と言い切れない文を none に寄せがちで、そこに責任者が見たかった文が混ざります。 likely という中間を用意して、迷ったものは人の目に回します。

「違法と書かない」を厳守事項に置くのは、責任者の判断を先回りさせないためです。 一覧に「違法」と書かれていると、店長はその一言で原稿を書き直し、責任者が「この場合は使ってよい」と判断する余地がなくなります。

Step7

出力形式を固定する

Azure OpenAI の構造化出力で、次の形の JSON を返させます。 Chat Completions API の response_format に json_schema を渡し、strict を有効にします。

{
  "document_id": "",
  "media": "flyer | web | sns | line",
  "sentences": [
    {
      "sentence_id": "s07",
      "status": "hit | likely | rule_gap | none",
      "axis": "A | B | C | none",
      "rule_ids": ["A-12"],
      "evidence": "1回で−5kg",
      "needs_evidence_doc": true,
      "needs_service_check": false,
      "suggestion": "",
      "note": ""
    }
  ]
}

1つ目の理由は、status と axis で指摘を振り分けられることです。 axis が B のものはマネージャーへ、A で needs_evidence_doc が true のものは根拠の台帳の確認へ、と一覧を開く前に行き先が決まります。

2つ目は、rule_gap を別に集められることです。 決まりに無い言い方が毎月同じように出てくるなら、足すべきなのは決まりの側です。 月末に rule_gap だけを集め、販促責任者が決まりに足すかを決めます。

スキーマの書き方には制約があります。 Azure OpenAI の構造化出力は、すべてのフィールドを required にし、additionalProperties を false にする必要があります。省略したい項目は null との共用体型で表します。文字列の minLength・maxLength・pattern、配列の minItems・maxItems などは使えません。 直しの案の長さや sentence_id の形は、受け取った後に Functions で確かめます。オブジェクトのプロパティは合計100個まで、入れ子は5段までです。

項目一覧での見せ方
原稿の文sentence_id の順に、原稿の文と並べる
物差しと項目axis と rule_ids を、決まりの項目名に引き直して表示
直しの案書いた人が採るかどうかを選べる列にする
根拠と施術の確認needs_evidence_doc と needs_service_check を印で示す
Step8

システムへ連携する

つなぎ先方式内容
SharePoint の文書ライブラリPower Automate のトリガーと「ファイル コンテンツの取得」原稿の作成を検知し、中身と列の値を取る
料金表・表現の決まり・根拠の台帳Azure Functions から読み取り料金の突き合わせと語の照合、プロンプトの組み立て
Azure OpenAIChat Completions API(構造化出力)文ごとの判定と直しの案
SharePoint の文書ライブラリPower Automate の「ファイルの作成」指摘の一覧を原稿の横に置き、列「状態」を更新
TeamsPower Automate書いた人と販促責任者へ件数を知らせる

原稿そのものには書き込みません。 直しの案は一覧に並べるだけで、原稿を直すのは書いた人です。自動で原稿を書き換えると、店長は自分の原稿のどこが変わったか分からないまま出すことになります。

Responses API ではなく Chat Completions API を使います。 Responses API は会話の履歴を持つためにメッセージの履歴などを保存するとされています。この構成は1回ごとに完結するので、履歴を残す仕組みは要りません。

Step9

人が確認する

  1. 書いた人が料金の食い違いを直す … 前処理で料金表と合わなかったもの。AIの判定を待たずに直せます
  2. 書いた人が語の一覧に当たったものを直す … 決まりの言い換えの例をそのまま使えるもの
  3. 販促責任者が axis A の hit と likely を読む … 出すか、直すか、根拠の資料を確かめるかを決めます
  4. マネージャーが needs_service_check を確かめる … 原稿の言い方ではなく、その店舗で実際に行っている施術の中身を確かめます
  5. 判定を覆したら記録する … 「この項目はこの媒体なら使ってよい」と決めたものは、決まりの側に書き足します

3番で責任者が読むのは、1本あたり数文です。 80本の全文を読んでいたところから、指摘の付いた文だけを読む形に変わります。ただし likely は必ず読みます。 AIが言い切れなかった文こそ、責任者の判断が要る文です。

4番は、広告の校正の範囲を超える確認です。 原稿に光で毛根を壊すと読める言い方があったとき、それが言い方の問題なのか、施術の問題なのかは、原稿だけでは分かりません。 ここは校正の流れから外し、店舗統括の確認事項として扱います。

Step10

例外に対処する

起きること対応
Azure OpenAI が content_filter で止める既定の安全方針は入力と出力の両方で、重大度「中」以上をブロックする。体の部位や痩身の記述が当たることがある。止まった原稿は「人が確認」として責任者へ回す
原稿が Word でない(画像・PDF)処理せずに「形式が違う」と書いた人へ返す。チラシの組版の後の PDF は、この流れでは見ない
掲載の開始日の列が空料金表の版を選べないので、料金の突き合わせを止めて書いた人に入力を頼む
その月の料金表が無い突き合わせを止め、販促担当に料金表の保存を頼む。前の月の版で代わりに比べない
料金表に無いコース名が出てくる新しいコースか書き間違いかを書いた人に確かめる
sentence_id が原稿に無い番号で返るその応答を捨て、1回だけやり直す。2回目も合わなければ人へ
1本の原稿が200文を超える分けて送り、一覧で結合する
同じ原稿が二度置かれるファイル名と更新日時で照らし、前の一覧に版を付けて残す

1行目は前もって試しておきます。 安全方針の分類器は日本語でも学習・評価されていますが、誤検知はありうるとされています。痩身や脱毛の原稿を数十本流して、止まるものがあるかを導入前に見てください。 止まったものは、プロンプトを変えるより人に回すほうが安全です。

Step11

記録を残す

  • 元の原稿と、媒体・店舗・掲載の開始日の列の値
  • 料金の突き合わせに使った料金表の版の名前と、食い違いの一覧
  • Azure OpenAI に送った文と、返ってきた JSON の全文
  • そのとき使った表現の決まりの版
  • 書いた人が採った直しの案、採らなかった直しの案
  • 販促責任者とマネージャーが判定を覆した記録と、その理由
  • rule_gap の月ごとの一覧

4つ目で決まりの版を残すのは、決まりが毎月少しずつ変わるためです。 先月は指摘されなかった言い方が今月は指摘される、ということが起きます。どの版で見たかが残っていないと、店長に理由を説明できません。

判定を覆した記録は、決まりを育てる材料です。 半年分を見ると、責任者が毎回通している指摘と、毎回止めている言い方が分かります。

04実装レベルの3段階

最小構成:決まりと原稿を AI のチャットに貼り、項目番号と直しの案を出させる / 1本ごとの言い方の指摘
半自動化:上記+フォルダに置いた原稿で Power Automate が Azure OpenAI を呼び、一覧を返す / 言い方の指摘の一覧化と通知
本格構成:上記+料金表との突き合わせ、語の照合、根拠の台帳との対応付け、`rule_gap` の集計 / 校正の全体と、決まりの見直しの材料づくり

最小構成では、料金の食い違いが拾えません。 半自動化で、1本30分が15分程度になります。 言い方の指摘は自動で出ますが、料金表との見比べと、根拠の資料があるかの確認が手で残ります。本格構成で9分になり、この段階が本記事の想定です。 差が大きいのは、料金表の該当の行を探す時間が、前処理でほぼ無くなるからです。 段階を飛ばさないでください。 半自動化で rule_gap の出方を見て、決まりの穴を埋めてから料金の突き合わせを足します。

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

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

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

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

AI活用について相談する

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

向いている
  1. 直営やフランチャイズで複数の店舗を持ち、本部のほかに店長も店舗ごとのチラシや SNS の投稿の原稿を書いているエステサロン・脱毛サロン・痩身サロン。キャンペーンの料金や回数が月ごとに変わり、原稿の料金と本部の料金表が食い違ったことがある場合。「この言い方は使ってよいか」の判断が本部の1人に集まり、その人の手が空くまで出稿が止まっている場合。サロンの広告をまとめて引き受けている広告制作会社にも当てはまります。
向いていない
  1. 1店舗だけで、出す原稿が月に数本の場合。原稿をすべて広告制作会社に任せ、制作会社の側で法務の確認まで済ませて納品される場合。表示が法令に違反するかどうかの判断そのものを機械に任せたい場合(この構成が出すのは社内の決まりに照らした指摘と直しの案までで、迷うものは本部の責任者が決め、必要に応じて弁護士や所管の窓口に相談します)。

07最小構成で試す方法

  1. 先月出した原稿から20本を選ぶ(うち数本は、責任者が直しを入れたものを含める)
  2. 社内の表現の決まりの Word を、項目番号の付いた箇条書きに直す
  3. Microsoft 365 Copilot Chat など社内で使える AI のチャットに、決まりと原稿を1本ずつ貼る
  4. 「この原稿の文ごとに、表現の決まりのどの項目に当たりそうかを番号で答え、直しの案を書いてください。違法かどうかは書かないでください。原稿に無い効果を足さないでください」と指示する
  5. 出てきた指摘を、責任者が当時入れた直しと突き合わせる

料金の突き合わせは、この段階では人が行います。 確かめたいのは、「決まりを渡せば、責任者と同じところに印が付くか」です。

出てきた内容判断
責任者の直しと同じ文に印が付いたワークフローの連携に進む
直しの案に新しい効果が足されている指示の書き方で直る。構成は有効
責任者が直した文に印が付かない決まりに項目が無い。 決まりを足すのが先

3行目は、決まりが責任者の頭の中にしか無かったということです。 「なぜ直したか」を聞いて決まりに足してください。

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

問題対策
直しの案に新しい効果が足される削る・弱める・条件を足す、に限らせる。 一覧で原文と並べて見せる
迷う文が none に寄るlikely を用意し、迷ったら none を選ばないと明記する
料金を AI に読ませて読み違える料金は前処理で正規表現と表の突き合わせ。AIに金額を判断させない
前の月の料金表で比べてしまう掲載の開始日で版を選び、無ければ止める
注記がどの数字に付いているか分からない前処理で注記と文を結び付けてから渡す
名前を変えた施術が拾えない決まりの項目は施術の中身(光で毛根を壊す、皮膚をはがす、色を入れる)で書く
体の記述で content_filter が出る導入前に原稿を流して試し、止まったら人へ
サブフォルダに置いた原稿で動かないフォルダは1つにし、店舗は列で持つ
スキーマに maxLength を入れて失敗する構造化出力では使えない。長さは受け取った後に Functions で見る
決まりが育たないrule_gap と判定を覆した記録を毎月見て、決まりに足す

上の2行が、この構成の失敗のほとんどです。 どちらも、AIが「役に立とうとして」起きます。指示で抑え、一覧で原文と並べて人が見る、の二重で止めます。

6行目は、厚生労働省の通知の書き方に合わせる、ということです。 通知は名称を問わないとしているので、決まりの項目も施術の中身で書いておくと、言い換えた原稿にも当たります。

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

この構成で扱うデータ: 原稿の文(キャンペーンの料金や新しいコースなど、公開前の販促の情報)、お客様の声として載せる体験談、店舗のコード、料金表です。

  1. 体験談のお客様を特定できる形で渡さない … 校正に要るのは文だけなので、イニシャルや年代は前処理で外します。 掲載の同意は別の台帳で管理します
  2. デプロイの種類で処理の場所が変わる … Global や DataZone のデプロイでは、指定した地域の外で処理されうるとされています。公開前の料金を外に出したくなければ、地域を指定したデプロイを選びます
  3. 入力と出力は OpenAI に渡らず、学習にも使われない … 一方で、不正利用の監視で人が確認することがあるとされています。渡してよい情報の範囲を先に決めておきます
  4. AIの指摘を法的な判断として扱わない … この構成が出すのは、社内の決まりに照らした指摘です。迷うものは本部の責任者が決め、必要なら弁護士や所管の窓口に相談します
  5. 施術の中身の確認を校正の流れに混ぜない … needs_service_check は、原稿の言い方の問題ではなく、店舗で行っている施術が医行為に当たらないかの確認につながることがあります。店舗統括の責任で確かめ、記録を残します
  6. 自動で出稿しない … 指摘が無かった原稿も、出すのは人です。配信の予約や Web の更新まで自動にしないでください

誤りが起きた場合のリスクは、指摘を見落として出すことと、直しの案で別の効果を足して出すことの2つです。 どちらも、likely を必ず読むことと、直しの案を原文と並べて見せることで防ぎます。

10まず何から始めるか

1週目:表現の決まりに番号と物差しを付ける

Word の約60項目に、A-01 のような番号と、物差し(A:景品表示法・特定商取引法、B:医行為、C:体験談と注記)の列を付けます。物差しBの項目は、施術名ではなく施術の中身で書き直します。

2週目:20本で試す

先月の原稿から20本を選び、社内で使える AI のチャットに決まりと一緒に貼って、項目番号と直しの案を出させます。責任者が当時入れた直しと同じ文に印が付くかを、最優先で見ます。

3週目:料金表の保存の決まりを作る

料金表を月の版ごとに「料金表_YYYY-MM」の名前で保存する決まりにし、原稿のファイルに掲載の開始日の列を足します。ここが決まらないうちに突き合わせを組むと、先月の料金で比べることになります。

4週目:フォルダから一覧までをつなぐ

Power Automate で「原稿の確認待ち」を見張り、Azure OpenAI を呼んで一覧を原稿の横に置くところまで作ります。この時点では料金の突き合わせを入れず、言い方の指摘だけを見ます。 痩身や脱毛の原稿を数十本流して、content_filter で止まるものがあるかも確かめます。

2か月目: 料金表との突き合わせと語の照合を足し、書いた人が直す分と責任者が見る分を分けます。3か月目以降: rule_gap と判定を覆した記録を月末に決まりに足します。責任者の手元に残る文が月ごとに減っていけば、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-29/最終更新:2026-10-29
確認した内容情報源確認日
優良誤認表示は故意でなく誤って表示した場合でも規制されること。不実証広告規制で、期間を定めて合理的な根拠を示す資料の提出を求めることができ、出さないか根拠と認められない場合は措置命令との関係で不当表示とみなされ、課徴金納付命令との関係では推定されること消費者庁: 優良誤認とは2026-10-29
有利誤認表示の定義(法第5条第2号)と、基本価格を記載せずに「今なら半額!」と表示した例消費者庁: 有利誤認とは2026-10-29
エステティックが期間1か月超・金額5万円超の特定継続的役務であり、その役務の内容。誇大広告等の禁止(法第43条)の内容消費者庁: 特定商取引法ガイド 特定継続的役務提供2026-10-29
光線を毛根部分に照射し毛乳頭等を破壊する行為、針で色素を入れる行為、化学薬品で表皮剥離を行う行為を、医師免許を有しない者が業として行えば医師法第17条に違反するとしたこと厚生労働省: 医師免許を有しない者による脱毛行為等の取扱いについて(平成13年11月8日医政医発第105号)2026-10-29
脱毛行為等・アートメイク・HIFU 施術を医行為として挙げ、「○○メイク」「○○タトゥー」など名称を問わず該当するとしたこと厚生労働省: 美容医療に関する取扱いについて(令和7年8月15日医政発0815第21号)2026-10-29
美容所・エステサロン等でのアートメイクの施術について、名称を問わず医師法に違反する行為を行わないよう周知を求めたこと(令和7年12月26日)厚生労働省: 美容所等におけるアートメイク施術について2026-10-29
構造化出力が Chat Completions(response_format)と Responses(text.format)で使えること。全フィールドの required、additionalProperties: false、null との共用体、プロパティ100個・入れ子5段の上限、minLength・maxLength・pattern・minItems・maxItems などが非対応であることMicrosoft Learn: Azure OpenAI で構造化出力を使用する方法2026-10-29
既定の安全方針(DefaultV2)が入力と出力の両方で重大度「中」以上をブロックすること。入力で止まるとエラー、出力で止まると content_filter になること。分類器が日本語を含む8言語で学習・評価され、誤検知がありうることMicrosoft Learn: Default safety policies2026-10-29
入力と出力が OpenAI に渡らず、モデルの学習に使われないこと。Global・DataZone のデプロイでは指定の地域の外で処理されうること。Responses API がメッセージの履歴を保存すること。不正利用の監視で人が確認することがあることMicrosoft Learn: Data, privacy, and security for Foundry Models sold by Azure2026-10-29
「ファイルが作成されたとき(プロパティのみ)」が列の値だけを返し、「ファイル コンテンツの取得」で中身を取ること。旧来のフォルダのトリガーが非推奨でサブフォルダで動かないことMicrosoft Learn: SharePoint コネクタ2026-10-29

どの言い方を使ってよいかは、本部の責任者が決め、迷うものは弁護士や所管の窓口に相談してください。 本記事は上の公開情報で確認できた範囲だけを扱っています。

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

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

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

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