ネイルサロンが来店時の手書きのカウンセリングシートを読み取り、顧客カルテを更新して施術前の注意をネイリストに出す
来店時にお客様が手書きで記入するカウンセリングシートを、受付のタブレットで撮影して読み取ります。爪の状態のチェック欄、かぶれの経験、前回の不具合、今日の希望を顧客カルテの更新の案にし、施術の前にネイリストが見る注意のカードを作ります。
- 生成AI
- Azure OpenAI Service/ChatGPT/Claude
- AIサービス
- Azure AI/Google Document AI
- 対象業界
- その他
- 対象部門
- 営業
- 対象業務
- データ入力・転記/台帳・マスタ管理
- 主な課題
- 入力作業が多い/引き継ぎができていない/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 受付でお客様にシートを渡し、書いてもらう
- 担当のネイリストがシートを受け取り、チェック欄と自由記述を目で読む
- 施術の前に、カルテを開いて前回の記録(使った材料、不具合、かぶれの記録)を読む
- 気になる点をお客様に口頭で聞き直してから施術する
- 閉店後、シートの内容をカルテに入力する
- シートはファイルにとじてバックヤードに保管する
- 人受付でお客様にシートを渡し、書いてもらう
- 人受付が、記入済みのシートを店舗のタブレットで撮影する。予約の番号を画面で選ぶ
- 自動撮影した画像の保存をきっかけに、Azure AI Document Intelligence の自社シート用のモデルが、欄ごとの文字・チェック欄の状態・信頼度を返す
- 自動プログラムが、予約の番号から顧客カルテを引き、前回の記録と今日の記入を並べる
- 自動自由記述の欄を、Azure OpenAI がカルテの項目(希望の長さ・色・雰囲気、前回の不具合)に整える
- 自動プログラムが、チェック欄と前回の記録から、施術前の注意のカードを決まった文で作る
- 人受付が、信頼度が低かった欄だけをシートと見比べて直す
- 人担当のネイリストが、施術台のタブレットで注意のカードを読み、気になる点をお客様に確かめてから施術する
- 人施術のあと、担当がカルテの更新の案を確かめて「登録」を押す
各工程の詳しい説明を読む
- 受付でお客様にシートを渡し、書いてもらう
- 担当のネイリストがシートを受け取り、チェック欄と自由記述を目で読む
- 施術の前に、カルテを開いて前回の記録(使った材料、不具合、かぶれの記録)を読む
- 気になる点をお客様に口頭で聞き直してから施術する
- 閉店後、シートの内容をカルテに入力する
- シートはファイルにとじてバックヤードに保管する
(a)写す作業が閉店後に残る。 1枚あたりの入力は数分でも、1日に十数枚あると、閉店後の片付けのあとにまとまった時間がかかります。 写していないシートは翌日以降に回ります。
(b)チェック欄を見落とす。 チェック欄が多いシートでは、かぶれの経験の欄に印があっても、施術の直前の慌ただしさで見落とすことがあります。お客様も書いたことで伝わったと思っています。
(c)前回の不具合が引き継がれない。 前回の施術後に「2週間で浮いた」「かゆみが出た」と書かれたシートがカルテに写されないまま、次の来店で別の担当が同じ材料と同じやり方で施術することが起きます。
(d)手書きの文字の読み違い。 自由記述の欄は字の癖があり、写す人によって読み方が違います。 使っている材料の名前やお客様の希望の色が、カルテの上で別の言葉になることがあります。
- 【人】 受付でお客様にシートを渡し、書いてもらう
- 【人】 受付が、記入済みのシートを店舗のタブレットで撮影する。予約の番号を画面で選ぶ
- 【自動】 撮影した画像の保存をきっかけに、Azure AI Document Intelligence の自社シート用のモデルが、欄ごとの文字・チェック欄の状態・信頼度を返す
- 【自動】 プログラムが、予約の番号から顧客カルテを引き、前回の記録と今日の記入を並べる
- 【自動】 自由記述の欄を、Azure OpenAI がカルテの項目(希望の長さ・色・雰囲気、前回の不具合)に整える
- 【自動】 プログラムが、チェック欄と前回の記録から、施術前の注意のカードを決まった文で作る
- 【人】 受付が、信頼度が低かった欄だけをシートと見比べて直す
- 【人】 担当のネイリストが、施術台のタブレットで注意のカードを読み、気になる点をお客様に確かめてから施術する
- 【人】 施術のあと、担当がカルテの更新の案を確かめて「登録」を押す
3番目で、汎用の読み取りではなく自社シート用のモデルを使うのが、この設計の分かれ目です。 チェック欄と手書きの欄の位置が決まっている自社の様式なので、欄の位置を覚えさせたモデルなら、どの印がどの項目のものかを取り違えません。
6番目の注意のカードを、生成AIではなく決まった文で作るのも、意図してのことです。 かぶれの経験に印があれば、毎回同じ言葉で同じ位置に出ます。AIが言い回しを変えると、ネイリストが読み流すようになります。
02今回想定するシステム構成
紙のカウンセリングシート(初回用/2回目以降用) │ 受付が店舗のタブレットで撮影し、予約の番号を選ぶ ▼【トリガー】Azure Blob Storage への画像の保存 Azure Functions ├──▶ Azure AI Document Intelligence(自社シート用のカスタム テンプレート モデル) │ 欄ごとの文字・チェック欄の状態・信頼度 ├──▶ 顧客カルテ(SharePoint のリスト)を予約の番号から引く ├──▶ Azure OpenAI:自由記述をカルテの項目に整える └──▶ 注意のカードを決まった文で作る(チェック欄と前回の記録から) ▼ 受付の確認の画面(信頼度の低い欄だけ) ▼ 施術台のタブレット(注意のカードとカルテの更新の案)→ 担当が登録
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Azure AI Document Intelligence(カスタム テンプレート モデル。初回用と2回目以降用の2つ) | Google Document AI |
| 生成AI | Azure OpenAI(Microsoft Foundry)(自由記述をカルテの項目に整える) | Claude API、OpenAI API |
| 連携 | Azure Functions(画像の保存を起点に読み取り・照合・カードの作成を動かす) | Azure Logic Apps |
| 保管 | Azure Blob Storage(撮影したシートの画像、読み取り結果) | ― |
| カルテ | 顧客カルテ(SharePoint のリスト) | 予約の仕組みのカルテの機能 |
土台は、Document Intelligence のカスタム テンプレート モデルです。 公式のページでは、ラベルを付けたキーと値の組、選択マーク(チェック欄)、表、署名などを取り出せるモデルで、決まった見た目の様式の文書に向くとされています。自社のシートはまさにそれです。
日本語の手書きに対応しています。 公式の言語の一覧では、カスタム テンプレート モデルとカスタム ニューラル モデルの手書きの対応言語に日本語(ja)が含まれています。汎用のレイアウトのモデルも、手書きの日本語に対応する言語に挙げられています。
シートが2種類あるので、モデルも2つ作ります。 公式のページでは、様式が変わると精度が下がるため、様式ごとに少なくとも5枚の見本を用意してそれぞれ学習させることが勧められています。
カルテには、担当が「登録」を押したときだけ書き込みます。 読み取ったままの値でカルテが書き換わることはありません。
03どうやって実装するのか
処理の起点を決める
受付がタブレットで撮影し、予約の番号を選んで送ったときに始めます。 撮影の画面で予約の番号を選ばせるのは、シートの氏名の手書きからお客様を探すと、同じ名字や読み違いで別の方のカルテを開くことがあるからです。予約の番号なら、その日の来店の一覧から選ぶだけで済みます。
画像は店舗ごとの場所(Blob Storage のコンテナー)に store/<店舗>/<日付>/<予約の番号>.jpg の名前で保存します。保存のイベントで Azure Functions を動かし、名前から店舗と予約を決めます。
撮影から注意のカードが出るまでを、お客様がシートを書き終えてから席に着くまでの間に収めます。 読み取りは1ページの画像で、カルテを引いて整える処理も1回ずつなので、施術の前に間に合う前提で組みます。間に合わなかったときは、カードを待たずにシートとカルテで従来どおり確かめることを、手順として決めておきます。
予約の無い飛び込みのお客様は、受付がその場で予約の仕組みに来店を登録してから撮影します。 予約の番号が無いまま撮影を許すと、カルテと結べない画像がたまり、結局閉店後に人が探して結ぶことになります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| シートの画像 | 初回用か2回目以降用か、チェック欄、手書きの自由記述、記入日、お客様の署名 | 受付のタブレットで撮影 |
| 読み取り結果 | 欄ごとの値、チェック欄の状態(選択・未選択)、信頼度 | Azure AI Document Intelligence |
| 予約の情報 | 予約の番号、お客様の番号、担当のネイリスト、メニュー | 予約の仕組み(書き出し) |
| 顧客カルテ | 過去の施術の記録(日付・担当・メニュー・使った材料)、かぶれや違和感の記録、前回の不具合、好み | 顧客カルテ(SharePoint のリスト) |
| 注意の文の一覧 | チェック欄・記録ごとに出す決まった文と、カードの上での並び | 店長が決める一覧 |
シートのチェック欄は、たとえば次のように持ちます。
| 欄の名前(モデルのフィールド) | 種類 | 注意の文の一覧での扱い |
|---|---|---|
| nail_thin(爪が薄い・割れやすい) | チェック欄 | 「爪が薄い・割れやすいに印あり」 |
| skin_reaction_past(施術でかゆみ・赤みが出たことがある) | チェック欄 | カードの最上段に出す |
| lift_since_last(前回の施術後に浮き・欠けがあった) | チェック欄 | 「前回の施術後の浮き・欠けに印あり」 |
| reaction_since_last(前回の施術後にかゆみ・赤みがあった) | チェック欄 | カードの最上段に出し、店長にも知らせる |
| request_free(今日の希望) | 手書き | 生成AIで整えてカルテの項目へ |
| trouble_free(気になること) | 手書き | 原文のままカードに載せる |
質を決めるのは、注意の文の一覧です。 どの印があればどの文を、どの順に出すかを店長が決めます。一覧に無い組み合わせはカードに出ません。 シートの様式を変えたら、一覧も同じ日に直します。
データの取得方法を決める
読み取りは、Functions からモデルを1回呼ぶだけです。どちらのモデルを呼ぶかは、予約の情報(初回の来店か、2回目以降か)で決めます。 画像から様式を推し量るより確かです。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 様式の種類 | 予約の情報(初回か2回目以降か) | 呼ぶモデルと注意の文の一覧を切り替える |
| チェック欄の状態 | フィールドの値(選択・未選択)と信頼度 | 注意のカード |
| 手書きの自由記述 | フィールドの値と信頼度 | カルテの項目、カードの原文 |
| 手書きかどうか | 行ごとの手書きの判定(styles の isHandwritten) | 印刷の文字と記入を見分ける確認 |
| 前回の記録 | 顧客カルテのリストから、お客様の番号で直近3回分 | カードの「前回」の段 |
チェック欄は、状態と信頼度の両方を受け取ります。 公式のページでは、選択マークは位置・信頼度・状態(選択・未選択)を持つとされています。状態が「未選択」でも信頼度が低ければ、「印が無い」とは扱いません。
カルテは、お客様の番号で直近3回分だけを引きます。 全部の履歴を渡すと、何年も前のかぶれの記録と今日の記入の区別がつきにくくなります。ただし、かぶれ・違和感の記録だけは、日付にかかわらず全部引きます。 一度でもあった記録は、カードに出し続けます。
AIへ渡す前に整形する
- 撮影の確認 … 画像が暗すぎる・傾きすぎる・シートの四隅が写っていないものは、その場で撮り直しを促します
- 形式と大きさの確認 … 公式のページでは、画像の寸法は50×50ピクセルから10,000×10,000ピクセルの間で、1024×768の画像で12ピクセルの文字の高さが下限とされています。タブレットの既定の画質なら足ります
- 予約との照らし … 撮影の画面で選んだ予約の番号が、その店舗のその日の予約にあることを確かめます
- 署名の確認 … 同意の欄の署名が無いシートは、読み取りは進めつつ受付に「署名なし」と出します
- 氏名の照らし … シートの氏名の読み取り結果と、予約のお客様の氏名を比べます。合わなければ、別の方のシートを撮った疑いとして止めます
5番目を省かないでください。 受付が続けて何枚も撮るとき、予約の番号の選び間違いは必ず起きます。 別の方のかぶれの記録が別の方のカルテに入るのは、写し忘れより重い誤りです。
AIに処理させる
読み取りは Document Intelligence、注意のカードはプログラムの決まった文で作ります。生成AIに任せるのは、自由記述をカルテの項目に整えることだけです。
| させること | 中身 | できないときの扱い |
|---|---|---|
| 今日の希望の整理 | 自由記述から、長さ・形・色・雰囲気・デザインの希望を取り出し、根拠の文字列を写す | 書かれていない項目は空 |
| 前回の不具合の整理 | 「2週間で浮いた」「右手の中指が欠けた」などを、どの指・何が・いつ頃に分ける | 分けられなければ原文のまま |
| 気になることの写し | 「気になること」の欄は、整えずに原文のまま返す | ― |
「気になること」の欄を整えないのは、ここに大事な一言が書かれやすいからです。 「最近手荒れがひどい」「薬を飲み始めた」のような記述を、AIが「手荒れ」と短くすると、ネイリストが聞き直すきっかけが失われます。 原文のままカードに載せます。
| させないこと | 理由 |
|---|---|
| 爪や皮膚の状態の判断 | 施術してよいかは、ネイリストと店長が見て決める |
| チェック欄の補い | 印の無い欄を、自由記述から推し量って「あり」にしない |
| 病名や原因の推し量り | かゆみの原因を書かない。医療の判断に読める書き方をしない |
| 読み取った文字の言い換え | 材料や色の名前を、似た名前に直さない |
| 注意のカードの文の作成 | 決まった文で出す。言い回しを毎回変えない |
3行目がいちばん大事です。 「かゆみが出た」という記述から、AIが原因を推し量って書けば、サロンが医療の判断をしたように読めます。 書かれたことを書かれたまま渡すところで止めます。
指示内容を固定する
あなたはネイルサロンの受付で、お客様が手書きしたカウンセリングシートの
自由記述を、顧客カルテの項目に整える担当者を手伝います。
渡された「読み取った自由記述」だけを見てください。
【やること】
- 「今日の希望」の欄から、length(長さ)、shape(形)、color(色)、
mood(雰囲気)、design(デザイン)を取り出してください。
- 「前回の施術後のこと」の欄から、どの指(finger)、何が起きたか(event)、
いつ頃か(timing)を取り出してください。
- それぞれ、判断に使った部分を evidence にそのまま写してください。
【厳守事項】
- 書かれていない項目は空にしてください。他の欄やチェック欄から補わないでください。
- 色や材料の名前は、書かれた文字のまま写してください。似た名前に直さないでください。
- かゆみ・赤み・痛みなどの記述について、原因や病名を書かないでください。
施術してよいかどうかも書かないでください。
- 「気になること」の欄は、整えたり短くしたりせず、原文のまま other_notes に入れてください。
- 読み取りの信頼度が低いと印の付いた文字は、推測で直さず、そのまま写して
low_confidence を true にしてください。
【読み取った自由記述】{free_text_fields}
「原因や病名を書かない」を明記するのは、AIが親切に補いがちだからです。 何も言わなければ「乾燥によるものと思われます」のような一文を足します。その一文がカードに載ると、ネイリストが確かめる前に結論が置かれてしまいます。
出力形式を固定する
自由記述の整理は、Azure OpenAI の構造化出力で受けます。 公式のページでは、response_format に json_schema を指定し strict: true にすると、渡した JSON スキーマに従った出力が返るとされています。すべての項目を必須にし、additionalProperties を false にする必要があり、文字列の pattern・format、配列の minItems などは使えません。値の形の確かめはプログラムで行います。
照合とカードの結果は、プログラムが次の形で出します。
{
"reservation_no": "R-1027-0412",
"customer_no": "C-08815",
"sheet_type": "returning",
"checks": [
{ "field": "reaction_since_last", "state": "selected", "confidence": 0.96 },
{ "field": "lift_since_last", "state": "unselected", "confidence": 0.58 }
],
"free_text": {
"request": { "length": "短め", "color": "", "mood": "オフィス向け", "evidence": "短めでオフィス向け" },
"since_last": [ { "finger": "右手の中指", "event": "かゆみ", "timing": "3日後", "evidence": "" } ],
"other_notes": "最近手荒れがひどい"
},
"history_flags": [ "skin_reaction_recorded_2026-03" ],
"card": [
"【最上段】前回の施術後のかゆみ・赤みに印あり(店長に連絡済み)",
"【最上段】過去にかぶれの記録あり(2026年3月)",
"【確認】前回の施術後の浮き・欠けの欄が読み取れませんでした。シートで確かめてください",
"【気になること】最近手荒れがひどい"
],
"needs_reception_check": [ "lift_since_last" ],
"name_check": "matched"
}
1つ目の理由は、チェック欄ごとに状態と信頼度を残せることです。 上の例の lift_since_last は「未選択」と返っていますが、信頼度が低いので「印なし」ではなく「読み取れませんでした」としてカードに出ます。
2つ目は、history_flags で前回の記録を今日の記入と分けて持てることです。 今日のシートにかぶれの印が無くても、カルテに記録があれば最上段に出ます。
| カードの段 | 決め方(プログラム) |
|---|---|
| 最上段 | かぶれ・違和感に関わるチェック欄が選択、またはカルテに記録がある |
| 確認 | チェック欄の信頼度が基準を下回る、または氏名が予約と合わない |
| 通常 | 爪の状態・前回の浮き欠けなどのチェック欄が選択 |
| 気になること | 「気になること」の欄の原文 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Azure Blob Storage | 保存のイベントで Functions を動かす | 店舗と予約を名前で決める |
| Azure AI Document Intelligence | 様式に合うカスタム モデルの呼び出し | 欄ごとの値・チェック欄の状態・信頼度 |
| 予約の仕組み | その日の予約を書き出して読む | 読み取りだけ |
| 顧客カルテ(SharePoint のリスト) | Microsoft Graph でリストの項目を読む・担当の登録時だけ書く | 前回の記録を引く、更新の案を登録する |
| Azure OpenAI | API呼び出し(構造化出力) | 自由記述をカルテの項目に整える |
| 施術台のタブレット | カードとカルテの更新の案を表示する画面 | 担当が読み、登録を押す |
| 店長 | チャットで知らせる | 最上段の「前回の施術後のかゆみ・赤み」 |
カルテへの書き込みは、担当が「登録」を押したときだけです。 読み取りの誤りが、確認を経ずに次の来店のカードに出ることを防ぎます。
人が確認する
確認は2か所に置きます。 受付は読み取りを、担当は内容を見ます。
- 受付:「確認」の段の欄を見る … 信頼度の低いチェック欄と文字を、シートと見比べて直します。ここで直すのは読み取りの誤りだけです
- 受付:氏名が合わないものを止める … 撮った予約の番号を確かめ直します
- 担当:カードを上から読む … 最上段の項目は、必ずお客様に口頭で確かめてから施術します
- 担当:施術のあとにカルテの更新の案を確かめる … 今日使った材料と、お客様から聞いたことを足して登録します
- 店長:最上段の知らせを受ける … 前回の施術後にかゆみ・赤みがあったお客様は、施術の前に店長が様子を確かめます。施術を控えるか、医療機関の受診を勧めるかは、店の決まりに沿って店長が決めます
受付が直してよいのは、シートに書かれていることと読み取り結果が違う欄だけです。 前回のカルテを見て「たぶん今回も印があるはず」と補うことはしません。お客様が今日書かなかったことは、担当が口頭で確かめる項目としてカードに残します。
3番目のために、カードを短くします。 最上段が2行、確認が数行、残りは折りたたんで出します。長いカードは、施術の直前には読まれません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 画像が暗い・四隅が写っていない | その場で撮り直しを促す |
| 様式の判断が付かない(古い版のシートなど) | 読み取りを止め、受付が従来どおりカルテに写す |
| 氏名が予約と合わない | 止めて、受付が予約の番号を確かめ直す |
| 新規のお客様でカルテが無い | カルテの新規作成の案を出し、担当が登録する |
| 読み取りが応答しない・遅れる | カードを待たず、シートとカルテで従来どおり確かめる |
| 生成AIが整えた項目が空ばかり | 自由記述の原文をそのままカルテの更新の案に載せる |
| 署名が無い | 読み取りは進め、受付がお客様に署名をお願いする |
| 1枚のシートの裏にも記入がある | 裏面も撮影させ、2枚目として同じ予約に結ぶ |
| 予約の無い飛び込みの来店 | 受付が予約の仕組みに来店を登録してから撮影する |
2行目は、シートの様式を変えたときに必ず起きます。 新しい版のシートを使い始める日の前に、新しい版の見本を5枚以上で学習したモデルを足しておきます。
記録を残す
- 撮影したシートの画像と、店舗・予約の番号・撮影の日時
- Document Intelligence が返した結果の全文
- 生成AIが整えた項目と根拠の文字列
- 注意のカードの中身と、表示した日時・担当
- 受付が直した欄と、担当が登録の前に直した項目
- 店長への知らせと、店長の対応の記録
- モデルの学習に使ったシートの見本と、学習した日・版
学習に使った見本を残すのは、シートの版を変えたときに、どの見本で学習したモデルが動いているかをたどるためです。 見本の氏名の欄は、学習の前に塗りつぶしておきます。
画像と読み取り結果は、カルテより短い期間で消します。 カルテに登録したあとは、画像を見返す場面は限られます。保存の期間を店の規程で決め、期間を過ぎた画像は自動で消します。
04実装レベルの3段階
半自動化で、1件5分が2分になり、この段階が本記事の想定です。 閉店後の転記が無くなり、残るのは受付の確認と、担当がカードを読んで更新の案を登録する時間です。 本格構成は、予約の仕組みに連携の口がある場合に検討します。 予約の番号を受付が選ぶ手間が無くなりますが、選び間違いを防ぐ氏名の照らしは残します。 段階を飛ばさないでください。 半自動化で数か月回すと、確認の段に回りやすいチェック欄と、店長への知らせの件数が分かります。シートの書き方と注意の文の一覧を先に直してから本格構成に進むほうが、カードが読まれ続けます。
05工数削減シミュレーション
導入後 900件 × 2分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 2〜5店舗ほどのネイルサロンで、来店のたびに紙のカウンセリングシートを書いてもらい、閉店後にネイリストや受付が顧客カルテへ手で写している場合。担当のネイリストが替わったときに、かぶれの経験や前回の不具合が引き継がれず、施術の直前に口頭で聞き直している場合。シートの様式を自社で決めていて、店舗間で同じ紙を使っている場合。
- 1人で営業していて、お客様の顔と前回の施術を覚えていられる規模の場合。カウンセリングをすでにWeb予約の問診やタブレットの入力に切り替えていて、紙が残っていない場合(読み取りは要らず、入力された値を整えるだけで足ります)。シートの様式が店舗ごと・時期ごとにばらばらで、そろえる予定も無い場合。なお、爪や皮膚の状態が施術してよいものかの判断と、医療機関の受診を勧めるかの判断はこの構成では行いません。
07最小構成で試す方法
- 先月のシートから、店舗と担当の違う30枚を選ぶ(うち数枚は、かぶれの欄に印があるものと、字の癖が強いものを入れる)
- Document Intelligence Studio で汎用のレイアウトのモデルを開き、30枚を読み取る
- チェック欄の状態と手書きの文字を、当時カルテに写した内容と並べる
- 次に、同じ Studio で自社のシートの欄にラベルを付け、初回用・2回目以降用それぞれ5枚以上でカスタム テンプレート モデルを学習させる
- 学習に使っていない残りのシートで、チェック欄の読み取りがどこまで合うかを見る
最も見たいのは、チェック欄の読み取りの正しさと、信頼度が低く出る欄の傾向です。
| 出てきた内容 | 判断 |
|---|---|
| チェック欄も手書きもほぼ合った | カルテとの照らしとカードの作成に進む |
| 薄い印・はみ出した印の信頼度が低い | 確認の段に回せば運用に乗る。構成は有効 |
| 字の癖で自由記述の読み違いが多い | 原文の画像をカードに添える。チェック欄の構成は有効 |
チェック欄の印の付け方は、シートの書き方の案内で変わります。 「□に✓を入れてください」と書くだけで、丸で囲む人・塗りつぶす人が減ります。読み取りを工夫するより、シートを直すほうが早いことがあります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 印が薄くて「未選択」と読まれる | 状態と信頼度を両方見て、信頼度の低い欄は「読み取れませんでした」と出す |
| 別の方のシートを撮った | 予約の番号で結び、シートの氏名と照らして合わなければ止める |
| AIが原因や病名を書き足す | 指示で禁じ、注意のカードは決まった文で作る |
| 「気になること」が短く整えられる | 原文のまま載せる |
| 前回のかぶれの記録がカードに出ない | かぶれ・違和感の記録は日付にかかわらず全部引く |
| シートの版を変えたら読めなくなった | 新しい版の見本5枚以上でモデルを足してから使い始める |
| カードが長くて読まれない | 最上段2行と確認の段だけを出し、残りは折りたたむ |
| 閉店後にまとめて撮る運用に戻る | 撮影は受付の時点で行う。カードは施術の前に要る |
| 飛び込みの来店でカルテと結べない | 撮影の前に予約の仕組みへ来店を登録する |
上の3行が、この構成の失敗のほとんどです。 1行目は大事な印を消し、2行目は別の方の記録を混ぜ、3行目はサロンが医療の判断をしたように見せます。どれも「お客様が書いたことを、そのまま、その方の担当に渡す」という線を守れば防げます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客様の氏名・連絡先・来店の記録、爪の状態、施術でかゆみや赤みが出た経験、そして自由記述に書かれうる体調や服薬のことです。
- シートで聞く範囲を決める … 個人情報保護委員会のガイドラインでは、特定の病気にかかった経歴(病歴)は要配慮個人情報に当たり、取得には原則として本人の同意が要るとされています。施術に要らない病名を書かせる欄は作らず、「施術で気をつけてほしいこと」の形で聞きます。それでも書かれうるので、シートに利用の目的を書き、同意の署名をもらいます
- 生成AIに渡す範囲を絞る … 渡すのは自由記述の欄だけで、氏名・連絡先・カルテの履歴は渡しません
- カードを見られる人を絞る … 施術台のタブレットでは、その日の担当のお客様のカードだけを出します
- カルテを自動で書き換えない … 登録は担当が確かめてから行います
- 施術の可否・受診の勧めをこの構成で決めない … カードは確かめる点を出すまでで、決めるのは店長とネイリストです
- 画像の保存の期間を決める … カルテに登録したあとの画像は、店の規程の期間で消します
- 漏えいしたときの重さを知っておく … 同じガイドラインでは、要配慮個人情報を含む個人データの漏えいのおそれが生じたときは、個人情報保護委員会への報告が要るとされています。タブレットの紛失に備え、端末に画像を残さない作りにします
誤りが起きた場合のリスクは、かぶれの経験の印を見落として施術することと、別の方の記録を混ぜることの2つです。 前者は信頼度で「読み取れなかった」を分けることと前回の記録を並べることで、後者は予約の番号と氏名の照らしで防ぎます。
10まず何から始めるか
1週目:シートを1つの版にそろえる
3店舗のシートを見比べ、1つの版にそろえます。チェック欄の書き方の案内(「□に✓」)と、利用の目的と同意の欄をこのとき入れます。
2週目:30枚で読み取りを試す
先月のシートから30枚を Studio で読み取り、当時のカルテと並べます。チェック欄の状態と信頼度の傾向を最優先で見ます。
3週目:自社シート用のモデルを作る
初回用・2回目以降用それぞれ5枚以上にラベルを付けて学習させます。学習に使わなかったシートで読み取りを確かめます。
4週目:注意の文の一覧を決める
店長が、どの印でどの文を、どの段に出すかを決めます。最上段に何を置くかを、ここで3店舗そろえます。
2か月目: 1店舗で撮影からカードの表示までをつなぎ、受付の確認の件数と、担当が直した項目を毎週数えます。3か月目以降: 3店舗に広げ、1件5分が何分になったかを実測します。担当が替わっても、かぶれや前回の不具合の記録が施術の前に届くようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Read と Layout のモデルの手書きの対応言語に日本語(ja)が含まれること。言語の指定は任意であること | Microsoft Learn: Language support for Read and Layout | 2026-10-27 |
カスタム テンプレート モデルとカスタム ニューラル モデルの手書きの対応言語に日本語(ja)が含まれること | Microsoft Learn: Language support for custom models | 2026-10-27 |
| カスタム テンプレート モデルが、ラベルを付けたキーと値の組・選択マーク・表・署名などを取り出し、決まった見た目の様式に向くこと。様式ごとに5枚以上の見本で学習させることが勧められること。画像の寸法が50×50から10,000×10,000ピクセル、文字の高さの下限が1024×768の画像で12ピクセルであること。無料のレベルではPDFとTIFFの最初の2ページだけを処理すること | Microsoft Learn: Custom template document model | 2026-10-27 |
選択マークが位置・信頼度・状態(selected/unselected)を持つこと。行ごとに手書きかどうか(isHandwritten)が信頼度とともに返ること | Microsoft Learn: Document layout analysis | 2026-10-27 |
response_format に json_schema と strict: true を指定するとスキーマに従った出力が返ること。全項目を必須にし additionalProperties を false にすること。文字列の pattern・format、配列の minItems などに対応しないこと | Microsoft Learn: Structured outputs(Azure OpenAI) | 2026-10-27 |
| 病歴が要配慮個人情報に当たり、特定の病歴を示した部分が該当すること。要配慮個人情報の取得には原則として本人の同意が必要なこと。要配慮個人情報を含む個人データの漏えい等のおそれが生じたときは個人情報保護委員会への報告が要ること | 個人情報保護委員会: 個人情報の保護に関する法律についてのガイドライン(通則編) | 2026-10-27 |
施術してよいか、医療機関の受診を勧めるかは、店長とネイリストが店の決まりに沿って決めてください。 本記事は公開されている製品の仕様と資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1915)についてのご相談はこちらから。
