LPガスの販売会社が保安点検・調査の手書きの記録票を読み取り、不良の項目と再調査の要否を保安の台帳に転記する
点検員が一般消費者等の家で手書きとチェックで書く保安点検・調査の記録票を読み取り、項目ごとの適・否と測定値を保安の台帳の項目にそろえます。否の項目があった家は、再調査の時期の候補とあわせて担当者に回します。
- 生成AI
- Azure OpenAI Service/Claude
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 対象業界
- その他/不動産
- 対象部門
- 品質管理
- 対象業務
- データ入力・転記/台帳・マスタ管理
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 読み取り(OCR)
- 主な効果
- 入力漏れ削減/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 点検員が一般消費者等の家で点検・調査を行い、記録票の項目ごとに適・否をチェックし、測定値と所見を手で書く
- 一般消費者等に結果を説明し、確認の署名をもらう。否の項目があれば、その場で通知の書面を渡す
- 点検員が営業所に戻り、その日の記録票を保安課の箱に入れる
- 翌日、担当者が1枚ずつ顧客番号で保安管理のシステムの画面を開き、項目ごとの適・否と測定値を入力する
- 否の項目があれば、不良の区分を選び、所見を要約して入力する
- 否の項目があった家について、再調査の予定を手で入れ、通知した日を記録する
- 記録票の紙をファイルに綴じて保管する
- 人点検員がこれまでどおり記録票に記入し、営業所に戻ったら複合機でスキャンする
- 自動スキャンしたPDFの保存をきっかけに処理が動き、ページの向き・解像度・枚数を確かめる
- 自動Azure AI Document Intelligence のカスタム テンプレート モデルが、顧客番号のQRコード、項目ごとのチェック、測定値、所見の手書きを、信頼度つきで返す
- 自動顧客番号で保安管理のシステムを引き、その家の設備の区分と、今回の点検・調査の予定と照らす
- 自動項目ごとに `適` / `否` / `判読不能` / `二重記入` を付け、測定値が数値として読めたかを確かめる
- 自動生成AIが所見の手書きを、自社の不良区分の候補と要約にそろえる。区分の決定はしない
- 自動否の項目がある票について、通知した日から再調査の期間の始まりと終わりをプログラムで数える
- 自動票ごとに `転記可` / `否あり要確認` / `読み取り要確認` を決め、確認の一覧に並べる
- 人担当者が `否あり要確認` と `読み取り要確認` の票だけを開き、記録票の画像と並べて確かめる
- 人確かめた内容を保安管理のシステムに登録し、再調査の予定を確定する
- 【人/自動】 `転記可` の票は一覧で流し見て、まとめて登録する
各工程の詳しい説明を読む
- 点検員が一般消費者等の家で点検・調査を行い、記録票の項目ごとに適・否をチェックし、測定値と所見を手で書く
- 一般消費者等に結果を説明し、確認の署名をもらう。否の項目があれば、その場で通知の書面を渡す
- 点検員が営業所に戻り、その日の記録票を保安課の箱に入れる
- 翌日、担当者が1枚ずつ顧客番号で保安管理のシステムの画面を開き、項目ごとの適・否と測定値を入力する
- 否の項目があれば、不良の区分を選び、所見を要約して入力する
- 否の項目があった家について、再調査の予定を手で入れ、通知した日を記録する
- 記録票の紙をファイルに綴じて保管する
(a)否の項目の転記が漏れる。 記録票の多くは全項目が適で、否が付くのは一部です。全部が適の票を何十枚も入力したあとに来る1か所の否は、目が慣れて飛ばしやすくなります。 漏れると、台帳の上ではその家に不良が無いことになり、再調査の予定が立ちません。
(b)チェックの書き方がそろわない。 チェック欄に「レ」を書く人、丸で囲む人、適と否の両方に書いてから二重線で消す人がいます。消したのか書いたのかを、担当者が紙を見て判断しています。 判断に迷った票は点検員に電話で聞きますが、点検員は外に出ていてすぐにはつかまりません。
(c)再調査の時期を手で数えている。 通知した日から一月を経過した日以後五月以内という期間を、担当者がカレンダーで数えて予定に入れています。数え方が人によって違い、月末の日付で1日ずれることがあります。 期間を過ぎてから気づくと、法令の回数を満たさないことになります。
(d)所見の手書きが台帳に残らない。 「ゴム管に亀裂」「排気筒の先端に鳥の巣」といった所見は、担当者が区分を選ぶだけで、手書きの文は台帳に入らないことが多いです。 次に行く点検員は、前回なにがあったのかを紙のファイルを開かないと分かりません。
- 【人】 点検員がこれまでどおり記録票に記入し、営業所に戻ったら複合機でスキャンする
- 【自動】 スキャンしたPDFの保存をきっかけに処理が動き、ページの向き・解像度・枚数を確かめる
- 【自動】 Azure AI Document Intelligence のカスタム テンプレート モデルが、顧客番号のQRコード、項目ごとのチェック、測定値、所見の手書きを、信頼度つきで返す
- 【自動】 顧客番号で保安管理のシステムを引き、その家の設備の区分と、今回の点検・調査の予定と照らす
- 【自動】 項目ごとに
適/否/判読不能/二重記入を付け、測定値が数値として読めたかを確かめる - 【自動】 生成AIが所見の手書きを、自社の不良区分の候補と要約にそろえる。区分の決定はしない
- 【自動】 否の項目がある票について、通知した日から再調査の期間の始まりと終わりをプログラムで数える
- 【自動】 票ごとに
転記可/否あり要確認/読み取り要確認を決め、確認の一覧に並べる - 【人】 担当者が
否あり要確認と読み取り要確認の票だけを開き、記録票の画像と並べて確かめる - 【人】 確かめた内容を保安管理のシステムに登録し、再調査の予定を確定する
- 【人/自動】
転記可の票は一覧で流し見て、まとめて登録する
9番目が、この設計の分かれ目です。 全項目が適で、どのチェックも信頼度が高い票は流し見で終わり、否のある票と読めなかった票にだけ時間を使います。 全件を1枚ずつ開く設計にすると、60.0時間はあまり減りません。
7番目をプログラムに置いているのは、意図してのことです。 期間の数え方は施行規則で決まっていて、月末の扱いも自社で一度決めれば変わりません。生成AIに日付を数えさせると、もっともらしい日付を返します。 数えるのは規則の側、AIは書かれていたことを写す側です。
02今回想定するシステム構成
記録票(手書き・チェック・署名。顧客番号のQRコードを印字済み) │ 営業所の複合機でスキャン(300dpi、PDF) ▼【トリガー】スキャンの保存先フォルダへの保存 Azure Functions ├──▶ ページの向き・解像度・枚数の確認、1件ずつに分割 ▼ Azure AI Document Intelligence(カスタム テンプレート モデル。点検票と調査票を合成) │ QRコード、チェック欄の selected/unselected、測定値、所見、各信頼度 ▼ Azure Functions ── 保安管理のシステムから設備の区分と予定を引く │ 項目ごとの 適/否/判読不能/二重記入、測定値の確認 ▼ Azure OpenAI ── 所見の手書きを不良区分の候補と要約にそろえる(構造化出力) ▼ Azure Functions ── 再調査の期間を日付から数える(規則) ▼ 判定(転記可 / 否あり要確認 / 読み取り要確認) ▼ 【人が要確認の票だけ画像と並べて確認】 └──▶ 保安管理のシステムへ登録、再調査の予定を確定
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Azure AI Document Intelligence(カスタム テンプレート モデル。チェック欄とQRコードの読み取り) | Google Document AI(Form Parser)、AWS Textract(英文の書類に限る。日本語の記録票には使えない) |
| 生成AI | Azure OpenAI(Microsoft Foundry)(所見の手書きを不良区分の候補と要約にそろえる。構造化出力) | Claude API |
| 連携 | Azure Functions(保存を起点に読み取りを呼び、照合と期間の計算をして確認の一覧に書き出す) | Azure Logic Apps |
| 保管 | Azure Blob Storage(スキャンの原本と読み取り結果) | SharePoint のドキュメント ライブラリ |
保安管理のシステムは新しく足すものではありません。 この構成は確認の一覧までを作り、登録は担当者が確かめてから行います。
土台は、Document Intelligence のカスタム テンプレート モデルです。 公式ページでは、ラベル付けしたキーと値のペア、選択マーク(チェック欄)、テーブル、領域、署名を抽出でき、決まった見た目の様式を持つ書類に向くとされています。自社の様式の記録票は、まさにこの型です。
様式が2種類あることにも対応できます。 テンプレート モデルは様式が変わると精度が下がるため、様式ごとに最低5枚のサンプルで別々のモデルを学習し、1つのエンドポイントに合成するよう案内されています。供給設備点検票と消費設備調査票を別のモデルにして合成し、呼び出し側はどちらの票かを意識しません。
日本語の手書きにも対応しています。 カスタム モデルの言語の一覧では、テンプレート モデルの手書きの文字の抽出に日本語(ja)が載っています。所見の欄を読めるかどうかは、ここで決まります。
03どうやって実装するのか
処理の起点を決める
スキャンした記録票がフォルダに保存されたことを起点にします。 点検員が営業所に戻ってスキャンすると、その日の夕方のうちに読み取りが終わり、翌朝には担当者の確認の一覧ができています。 1日1回の夜間の一括処理にしないのは、否のある票を早く見たいからです。通知した日から期間が数えられるので、登録が数日遅れると、再調査の予定を立てるのが遅れます。
保存先は営業所ごとに分け、ファイル名にスキャンした日時と営業所を入れます。 複合機でまとめて数十枚を1つのPDFにする運用でも、後段で1件ずつに分けます。
処理が終わったファイルは処理済みのフォルダへ移し、移すのは成功したときだけにします。 元のフォルダに残っているファイルが、そのまま未処理の数になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 記録票のPDF | スキャンした画像。営業所、スキャンした日時 | スキャンの保存先 |
| 読み取り結果 | QRコードの値、チェック欄の選択の状態、測定値、所見、署名の有無、それぞれの信頼度 | Azure AI Document Intelligence |
| 顧客と設備の情報 | 顧客番号、住所、設備の区分(どの点検・調査の事項が対象か)、今回の予定 | 保安管理のシステム |
| 不良区分の一覧 | 自社で使う不良の区分と、その区分に当たる所見の例 | 自社で用意する一覧 |
| 期間の決まり | 再調査の期間(通知の日から一月を経過した日以後五月以内)と、月末の数え方 | 自社で決めて設定に持つ |
質を決めるのは、下の3つです。 設備の区分が無いと、記録票のどの項目が今回の対象なのかが分からず、空欄が「対象外」なのか「書き忘れ」なのかを区別できません。 不良区分の一覧が無いと、所見を区分にそろえる先がありません。
期間の決まりは、顧問や保安業務の責任者と一度決めて設定に持ちます。 「一月を経過した日」をどう数えるかを担当者ごとに決めていたことが、第3章の(c)の原因です。
データの取得方法を決める
読み取りは、Azure Functions からカスタム モデルを呼ぶだけです。このとき、追加機能のバーコードの抽出を有効にします。 公式ページでは、バーコードの抽出は無料の追加機能で、QRコードに対応し、値と種類と位置が返るとされています。顧客番号を手書きから読むのではなく、印字したQRコードから読むので、顧客の取り違えが起きません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| QRコードの値 | barcodes(追加機能) | 顧客番号。保安管理のシステムを引く鍵 |
| チェック欄 | ラベルを付けた選択マークのフィールドと、selectionMarks の state・confidence | 項目ごとの適・否 |
| 測定値 | ラベルを付けたフィールドの値と信頼度 | 漏えい試験・圧力などの数値 |
| 所見の手書き | ラベルを付けた領域の文字と、行ごとの手書きの判定 | 生成AIに渡す所見 |
| 署名欄 | 署名のフィールド | 確認の署名があるか |
チェック欄の信頼度は、2つを合わせて見ます。 公式ページでは、選択マークを持つフィールドは、フィールドの選択と選択マークそのものの信頼度を組み合わせたものが全体の信頼度をよく表すとされています。どちらかが低ければ、判読不能 にします。
保安管理のシステムからは、顧客番号で設備の区分と今回の予定だけを引きます。氏名や電話番号は、この処理では使いません。
AIへ渡す前に整形する
- 1件ずつに分ける … まとめてスキャンしたPDFを、QRコードが出てくるページで区切ります
- 向きを確かめる … 読み取り結果のページの角度を見て、逆さのものは回して読み直します
- 画像の寸法を確かめる … 50×50ピクセルから10,000×10,000ピクセルの間である必要があります
- 文字の大きさを確かめる … 抽出できる文字の最小の高さは、1024×768の画像で12ピクセルで、150dpiで約8ポイントの文字に当たります。チェック欄と所見の小さい字のために、300dpiでスキャンします
- ファイルの大きさを確かめる … 有料(S0)レベルで500MBまでです。1日分を1つにまとめても届きませんが、上限を設定に持ちます
- 二重のスキャンを見つける … 同じ顧客番号と点検日の票が直近にあれば、二重に読まずに印を付けます
- 様式の版を確かめる … QRコードに様式の版を入れておき、学習に使っていない古い版は
読み取り要確認に回します
4番目を軽く見ないでください。 複合機の既定の設定は200dpi前後のことが多く、鉛筆の細いチェックが選択マークとして拾われないことがあります。 読めなかったチェックと、書かれていないチェックは、画像を見ないと区別がつきません。
7番目は、様式を変えるときに効きます。 テンプレート モデルは見た目の様式に頼るので、欄の位置を変えた新しい版は、学習し直すまで正しく読めません。 版をQRコードに入れておけば、混在している時期でも取り違えません。
AIに処理させる
OCRにさせるのは、記録票に書かれていることをそのまま値にすることです。 生成AIにさせるのは、所見の手書きを不良区分の候補にそろえ、短い要約を作ることだけです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| 項目ごとのチェック | 適の欄と否の欄のどちらが selected か | 両方 selected なら 二重記入、信頼度が低ければ 判読不能 |
| 測定値 | 数値として読めるか、単位の欄と合っているか | 数字が読めなければ 判読不能。基準との比較はしない |
| 対象外の項目 | 設備の区分で対象でない項目は空欄でよい | 対象の項目が空欄なら 記入なし |
| 所見の手書き | 生成AIが不良区分の候補と要約にする | 候補が決められなければ 区分不明 |
| 署名 | 署名欄に署名があるか | 無ければ 署名なし として確認へ |
3行目がこの構成でいちばん大事な区別です。 対象外の項目の空欄は正常で、対象の項目の空欄は点検員の書き忘れです。 設備の区分を引かずに空欄をすべて同じに扱うと、書き忘れが「対象外」に紛れます。
| させないこと | 理由 |
|---|---|
| 技術上の基準に適合するかの判断 | 点検員がその場で判断したことを写すのが仕事。記録票と違う結論を出さない |
| 再調査の時期の計算 | 施行規則の期間をプログラムで数える |
| 測定値と基準の比較 | 比較の結果はチェック欄に書かれている。値を読み替えない |
| 二重記入の解釈 | 消したのか書いたのかは画像を見て人が決める |
| 不良区分の確定 | 候補を出すだけで、決めるのは担当者 |
1行目を外さないでください。 生成AIに所見を渡すと、「ゴム管に亀裂」から「否とすべき」と結論を書きたがります。チェックが適で所見に亀裂と書いてあれば、それは食い違いとして人に回すもので、AIが否に直すものではありません。
指示内容を固定する
あなたはLPガスの保安機関で、点検・調査の記録票の所見を
保安の台帳の不良区分にそろえる事務の担当です。
点検員が手で書いた所見の文と、その票の項目ごとのチェック結果だけを見てください。
推測で埋めないでください。
【やること】
1. 所見の文を、不良区分の一覧の中から最も近い区分の候補にそろえる(最大2つ)
2. 所見を、台帳の備考欄に入れる40字以内の要約にする
3. 所見の文が、どの項目のことを書いているかを、項目コードで示す
4. 所見とチェック結果が食い違っているように見える場合は、mismatch に書く
【厳守事項】
- 所見に書かれていないことを足さないでください。
「交換を勧めた」「次回確認」などの文が無ければ、要約にも入れないでください。
- 技術上の基準に適合するかどうか、否にすべきかどうかを書かないでください。
- 不良区分の一覧に無い区分を作らないでください。
近いものが無ければ category_candidates を空にし、category_unknown を true にしてください。
- 読めない字は「〓」のまま残してください。
前後の文脈から字を補わないでください。
- 日付、期限、再調査の時期を書かないでください。
- 測定値を書き換えたり、基準と比べたりしないでください。
- 所見の欄が空なら、全項目を空にして returned_empty を true にしてください。
【不良区分の一覧】{defect_categories}
【この票の項目ごとのチェック結果】{check_results}
【所見の文(OCRの結果のまま)】{remarks_text}
「否にすべきかを書かない」を明記しないと、要約に結論が入ります。 所見に亀裂と書かれていれば、何も言わなければ「否」と添えます。禁じるのは、点検員の判断を上書きすること自体です。
「〓」を残させるのは、読めなかった字を補わせないためです。 「ゴム管に亀〓」を「亀裂」と直すのは正しいことが多いのですが、直してよいかは画像を見た担当者が決めます。 補った字が台帳に入ると、元の記録票と違う記録が残ります。
出力形式を固定する
読み取りと判定の結果を、1票ごとに次の形のJSONにまとめます。 生成AIが返すのは remarks の部分だけで、構造化出力でスキーマを固定します。公式ページでは、構造化出力はJSONスキーマへの準拠を保証し、Chat Completions では response_format、Responses では text.format にスキーマを置き、strict を true にするとされています。
{
"sheet_id": "",
"form_type": "supply_inspection | consumer_survey",
"form_version": "",
"customer_no": "",
"inspected_on": "",
"items": [
{ "code": "C-07", "in_scope": true,
"status": "適 | 否 | 判読不能 | 二重記入 | 記入なし",
"measured_value": "", "confidence": 0 }
],
"signature": "あり | なし",
"remarks": {
"category_candidates": [],
"category_unknown": false,
"summary": "",
"related_items": [],
"mismatch": "",
"returned_empty": false
},
"revisit": { "required": false, "window_start": "", "window_end": "" },
"verdict": "転記可 | 否あり要確認 | 読み取り要確認"
}
1つ目の理由は、items と verdict と revisit を別の層に置けることです。 items はOCRの結果から機械的に埋め、revisit はプログラムが日付から数え、verdict は規則で決めます。期間の数え方を見直しても、直すのは revisit の計算だけです。
| 条件 | verdict |
|---|---|
対象の項目がすべて 適、署名あり、所見なし | 転記可 |
対象の項目に 否 が1つでもある | 否あり要確認 |
判読不能・二重記入・記入なし が1つでもある、または署名なし | 読み取り要確認 |
所見の mismatch が空でない | 読み取り要確認 |
2つ目は、in_scope で空欄の意味を分けられることです。 設備の区分から対象でない項目は in_scope を false にし、空欄でも 記入なし にしません。
3つ目は、confidence が一覧で読めることです。 担当者は画像を開く前に、どの項目の何が低かったのかを見られます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| スキャンの保存先 | Azure Functions の Blob トリガー | 保存を検知して処理を始める |
| Azure AI Document Intelligence | API の呼び出し(合成したカスタム モデル、追加機能のバーコード) | チェック・測定値・所見・QRコードを返す |
| 保安管理のシステム | 読み取りの API か、毎晩の書き出しファイル | 顧客番号から設備の区分と今回の予定を引く |
| Azure OpenAI | API の呼び出し(構造化出力) | 所見を不良区分の候補と要約にする |
| 確認の一覧 | 社内の画面か、共有の表 | 票ごとの結果と画像へのリンクを並べる |
保安管理のシステムへは、この構成から書き込みません。 担当者が確かめたあとに登録します。システムに取り込み用の機能があれば、確定した行だけを書き出して取り込みます。読み取り結果をそのまま流し込む経路は作りません。
保安管理のシステムが API を持たない場合は、毎晩、顧客番号と設備の区分と予定を書き出してもらい、それを引く形でも足ります。
人が確認する
担当者が開くのは 否あり要確認 と 読み取り要確認 の票だけです。 転記可 の票は一覧で件数と顧客番号を流し見て、まとめて登録します。
否あり要確認を先に見る … 否の項目、所見の要約、再調査の期間の候補を、記録票の画像と並べて確かめます- 通知した日を確かめる … 点検員が否の通知を渡した日が、点検日と同じかを確かめます。期間はこの日から数えます
読み取り要確認を見る … 二重記入、読めなかったチェック、対象の項目の空欄を画像で確かめ、分からないものは点検員に聞きます- 不良区分を決める … 候補から選ぶか、別の区分にします
- 判定を直したら記録する … どの項目を、何から何へ直したかを残します
2番目を省かないでください。 否の通知を後日に郵送した家では、通知の日が点検日と違います。 点検日から数えると、再調査に行く時期が早すぎて期間の外になります。
目標は、600件をならして1件2分です。 開くのは否のある票と読めなかった票で、それより多い月は、スキャンの設定か、点検員のチェックの書き方を見直す合図です。
例外に対処する
| 起きること | 対応 |
|---|---|
| QRコードが読めない | 顧客番号を手書きの欄から読み、読み取り要確認 に。手書きの番号だけで台帳を引かない |
| 顧客番号がシステムに無い | 解約・番号の変更を疑い、担当者に回す |
| 学習していない様式の版 | 読まずに 読み取り要確認。新しい版は5枚以上で学習し直して合成に足す |
| 適と否の両方にチェック | 二重記入。画像を見て人が決める |
| チェックの信頼度が低い | 判読不能。適として流さない |
| 対象の項目が空欄 | 記入なし。点検員に確かめる |
| 所見の欄に読めない字 | 「〓」のまま確認へ。字を補わない |
| 同じ家の票が二度届く | 顧客番号と点検日で照らし、二重に登録しない |
| Document Intelligence が応答しない | 保存先に残し、時間を置いて再実行。処理済みへ移すのは成功時だけ |
上の5行が大半を占めます。 どれもAIの精度より、記録票の作り方とスキャンのしかたの問題です。 QRコードの印字を大きくする、チェック欄を広くする、といった様式の直しのほうが早く効きます。
記録を残す
- スキャンの原本と、営業所・スキャンした日時
- Document Intelligence が返した結果の全文(チェック、測定値、所見、QRコード、信頼度)
- 判定の結果(
items、verdict、revisit)と、そのとき引いた設備の区分 - 生成AIに渡した所見の文と、返ってきた
remarks - 人が判定や区分を直した記録 … どの項目を、何から何へ
- 登録した日時と、登録した担当者
- 点検員ごとの
判読不能と二重記入の件数
3つ目で設備の区分を残すのは、区分が後から変わるためです。 燃焼器を入れ替えた家では対象の項目が変わり、当時の区分が残っていないと、過去の判定がなぜそうなったかを説明できません。
最後の行は、点検員にチェックの書き方を伝える材料になります。
04実装レベルの3段階
最小構成では件数がさばけません。 確かめるための段階です。 半自動化で、1件6分が4分程度になります。 適・否の読み取りは自動になりますが、設備の区分との照合と、再調査の期間を数える作業が手で残ります。 本格構成で2分になり、この段階が本記事の想定です。
05工数削減シミュレーション
導入後 600件 × 2分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 数千〜数万戸の一般消費者等にLPガスを供給し、自社または委託先の点検員が紙の記録票で供給設備点検と消費設備調査を行っているLPガスの販売会社・保安機関。記録票の様式が自社で決まっていて、顧客番号を印字してから点検員に渡せる場合。保安の台帳(保安管理のシステム)への転記と、否の項目があった家の再調査の管理を事務の担当者が手で行っている場合。
- 点検員がタブレットの入力アプリで記録しており、紙の記録票が無い場合。供給戸数が数百戸で、月の点検・調査が数十件にとどまる場合。記録票の様式が委託先ごとにばらばらで、自社で統一できない場合。なお、設備が技術上の基準に適合しているかの判断は点検員と保安業務の責任者が行うもので、この構成では代替できません。
07最小構成で試す方法
- 先月の記録票から30枚を選ぶ(否のある票と、担当者が判断に迷った票を必ず入れる)
- その30枚を300dpiでスキャンし、Document Intelligence のスタジオでレイアウト モデルにかける
- チェック欄が選択マークとして拾われているか、
selectedとunselectedが紙と合っているかを1枚ずつ見る - 所見の欄の手書きの文字が、どの程度読めているかを見る
- 読めた所見を手元の生成AIの画面に貼り、「不良区分の一覧から候補を選び、40字以内で要約してください。否にすべきかは書かないでください」と指示する
30枚は必ずやってください。 カスタム モデルを学習する前に、チェック欄と手書きが読めるのかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| チェックの状態が紙と合っている | カスタム テンプレート モデルの学習に進む |
| 鉛筆の細いチェックが拾われない | スキャンの解像度を上げるか、ボールペンにそろえる |
| 所見の手書きの多くが読めない | 所見は画像のまま人が読み、チェック欄の読み取りだけで先に進む |
3行目が出ても、構成は成り立ちます。 時間の多くは、全部が適の票の入力にかかっているからです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 読めなかったチェックが適になる | 信頼度が低いものは 判読不能。 適として流さない |
| 二重記入を片方だけ拾う | 適と否の両方が selected なら 二重記入 にする規則を置く |
| 対象外の空欄と書き忘れが混ざる | 設備の区分を引いて in_scope を付ける |
| 生成AIが所見から否と結論を書く | 指示で禁じ、チェックとの食い違いは mismatch に書かせる |
| 読めない字を生成AIが補う | 「〓」を残させる |
| 再調査の期間が月末で1日ずれる | 数え方を決めてプログラムに持つ。 AIに数えさせない |
| 点検日から期間を数えてしまう | 通知の日から数える。 後日郵送の家に注意 |
| 様式を改訂したら読めなくなった | 版をQRコードに入れ、新しい版で学習し直して合成する |
| 鉛筆の細いチェックが拾われない | 300dpiでスキャンし、ボールペンにそろえる |
| QRコードがかすれて読めない | 印字を大きくし、手書きの番号だけで台帳を引かない |
| 全件を開いて確認してしまう | 転記可 は一覧で流し見る運用を最初に決める |
上の3行が、この構成の失敗のほとんどです。 どれも「適に見える」「空欄に見える」という同じ見た目から出発しています。判定の根拠を信頼度と設備の区分に置いているかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 一般消費者等の顧客番号と住所、設備の状態、点検・調査の結果、所見、確認の署名です。
- 生成AIに渡すのは所見の文とチェック結果だけにする … 住所、氏名、署名の画像は渡しません。所見の要約に顧客を特定する情報は要りません
- この構成は技術上の基準への適合の判断を代替しません … 適・否を判断するのは点検員で、記録を確かめて責任を持つのは保安業務の責任者です。 この構成が出すのは、記録票に何が書かれていたかという事実と、期間の候補だけです
- 再調査の期間は人が確定する … 候補はプログラムが数えますが、予定として登録するのは担当者です。 通知の日が違えば期間も変わります
- 処理する場所を確かめる … Azure OpenAI の公式ページでは、プロンプトと応答は顧客が指定した地域で処理されるが、Global や DataZone の展開ではその地域の外で処理されうるとされています。所見だけを渡す設計でも、展開の種類を選ぶときに確かめてください
- 原本の紙をどう残すかを先に決める … スキャンした画像、読み取り結果、紙の記録票のどれを記録として保存するかを、保安業務の規程とあわせて決めておきます
誤りが起きた場合のリスクは、否の項目を見落として再調査を立てないことと、期間を誤って再調査が期間の外になることの2つです。 前者は判読不能を適に混ぜると起き、後者はAIに日付を数えさせると起きます。どちらも設計で防げるので、そこだけは守ります。
10まず何から始めるか
1週目:30枚で読めるかを試す
先月の記録票から30枚を選び、300dpiでスキャンしてスタジオのレイアウト モデルにかけます。チェック欄の selected と unselected が紙と合っているかを最優先で見ます。
2週目:期間の数え方と不良区分を決める
再調査の期間をどの日から、どう数えるかを、保安業務の責任者と決めます。 あわせて、所見をそろえる先の不良区分の一覧を作ります。区分は今の保安管理のシステムにあるものをそのまま使います。
3週目:カスタム テンプレート モデルを学習する
供給設備点検票と消費設備調査票のそれぞれで、5枚以上にラベルを付けて学習し、合成します。 記録票にQRコードがまだ無ければ、顧客番号と様式の版をQRコードで印字する準備を始めます。
4週目:1営業所で一覧まで作る
1つの営業所のスキャンの保存先を起点に、読み取りから確認の一覧までをつなぎます。この時点では revisit を出さず、items と verdict だけを見ます。
2か月目: 保安管理のシステムの書き出しを引いて設備の区分を照らし、再調査の期間の候補を足します。3か月目以降: 所見の区分の候補を足し、4営業所に広げ、1件6分が何分になったかを実測します。点検員ごとの二重記入と判読不能の件数を見て、記録票の様式と書き方をそろえた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 供給設備の点検と消費設備の調査の回数が、事項ごとに「供給開始時及び四年に一回以上」「一年に一回以上」などと表で定められていること。調査の結果、基準に適合しないとして通知した消費設備について、通知の日から一月を経過した日以後五月以内に再び調査を行うこと。基準日前四月以内に行った調査を基準日に行ったものとみなすこと | e-Gov 法令API: 液化石油ガスの保安の確保及び取引の適正化に関する法律施行規則 | 2026-10-15 |
| カスタム テンプレート モデルがキーと値のペア、選択マーク、テーブル、領域、署名を抽出し、決まった様式の書類に向くこと。様式ごとに最低5枚で別のモデルを学習し、1つのエンドポイントに合成できること | Microsoft Learn: Custom template model | 2026-10-15 |
| カスタム テンプレート モデルの手書きの文字の抽出に日本語(ja)が含まれること | Microsoft Learn: Language support — custom models | 2026-10-15 |
| 選択マークが選択の状態(selected/unselected)と信頼度つきで返ること。行ごとに手書きかどうかが返ること。入力の寸法が50×50〜10,000×10,000ピクセル、文字の最小の高さが1024×768の画像で12ピクセル(150dpiで約8ポイント)、ファイルの大きさがS0で500MB、無料レベルはPDFの最初の2ページのみであること | Microsoft Learn: Layout model | 2026-10-15 |
| 信頼度が0〜1の推定の確率で、重要な場面では人の確認に回す判断に使えること。選択マークを持つフィールドは、フィールドの選択と選択マークの信頼度を組み合わせて見ること | Microsoft Learn: Accuracy and confidence scores | 2026-10-15 |
| 追加機能のバーコードの抽出が無料で、QRコードに対応し、種類と値と位置が返ること。追加機能は名刺のモデルを除くすべてのモデルで使えること | Microsoft Learn: Add-on capabilities | 2026-10-15 |
構造化出力がJSONスキーマへの準拠を保証し、Chat Completions では response_format、Responses では text.format にスキーマを置き、strict を true にすること | Microsoft Learn: Structured outputs | 2026-10-15 |
| プロンプトと応答が顧客の指定した地域で処理され、Global や DataZone の展開ではその地域の外で処理されうること。プロンプトと応答が基盤モデルの学習に使われないこと | Microsoft Learn: Data, privacy, and security for Azure OpenAI | 2026-10-15 |
設備が技術上の基準に適合するか、再調査の期間をどう数えるかは、保安業務の責任者と自社の規程で決めてください。 本記事は施行規則と公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1622)についてのご相談はこちらから。
