海外の部品メーカーの英文の技術データシートを読み取り、定格・寸法・使用温度範囲・認証を部品マスタに転記して、設計条件に合わない項目を拾う
海外の部品メーカーの英文の技術データシートを読み取り、定格・寸法・使用温度範囲・認証を部品マスタの仕様項目に転記します。あわせて、設計部門が決めた条件に合わない項目を拾い、設計者へ返します。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- AWS Textract/Azure AI/Google Document AI
- 連携・自動化
- Python
- 対象業界
- 商社/製造
- 対象部門
- 研究開発/購買
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/属人化している/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 設計者から部品の型番と用途を受け、メーカーのサイトか商社からデータシートのPDFを手に入れる
- PDFを開き、目次やページをめくって、定格・推奨動作条件・電気的特性・パッケージ寸法・認証の載っているページを探す
- 部品マスタの仕様項目に、値と単位を手で写す。単位がマスタと違うものは換算する
- 部品の種類ごとの選定条件のシートを開き、写した値と見比べる
- 条件に合わないもの、読み取りに迷うものは、設計者かメーカーへの質問としてメモする
- 改版のお知らせが来た部品は、旧版と新版を並べて違いを探し、マスタを直す
- 人設計者が型番と部品の種類を登録し、手に入れたデータシートのPDFを受付フォルダ(Amazon S3)に入れる
- 自動保存をきっかけに処理が動き、形式・ページ数・パスワードの有無・文字の層の有無を確かめる
- 自動OCRが全文、レイアウト(見出し・表・本文)、表とセル、質問への答え、信頼度を返す
- 自動生成AIが、マスタの仕様項目ごとに値・単位・条件・載っている表の見出しとページを取り出す
- 自動プログラムが単位をそろえ、文字の層と照らして記号を確かめ、選定条件と照合する
- 自動改版のときは、旧版の値と新版の値を項目ごとに並べる
- 人部品管理の担当者が、印の付いた項目だけをデータシートの該当ページと見比べ、マスタへの登録を確定する
- 人設計者が、条件に合わない項目の一覧を見て、採用するか、別の部品を探すか、メーカーに問い合わせるかを決める
各工程の詳しい説明を読む
- 設計者から部品の型番と用途を受け、メーカーのサイトか商社からデータシートのPDFを手に入れる
- PDFを開き、目次やページをめくって、定格・推奨動作条件・電気的特性・パッケージ寸法・認証の載っているページを探す
- 部品マスタの仕様項目に、値と単位を手で写す。単位がマスタと違うものは換算する
- 部品の種類ごとの選定条件のシートを開き、写した値と見比べる
- 条件に合わないもの、読み取りに迷うものは、設計者かメーカーへの質問としてメモする
- 改版のお知らせが来た部品は、旧版と新版を並べて違いを探し、マスタを直す
(a)同じ数字が何か所にもある。 使用温度範囲を探すと、絶対最大定格の表に Storage Temperature、推奨動作条件の表に Operating Ambient Temperature、注記にジャンクション温度が出てきます。どれを写すかは担当者が決めていて、人によって違います。
(b)条件が表の外にある。 電気的特性の値は「Ta=25℃のとき」のように条件付きで、条件は表の上や注記にあります。値だけを写すと、条件の違う値がマスタの同じ列に並びます。
(c)単位と表記の揺れ。 mA と A、mm と inch、±0.1 と 0.1 max。換算と読み替えのたびに写し間違いが入ります。
(d)照合のしかたを知っているのが1人だけ。 どの値と比べるかを一番よく知っているのは部品管理のベテラン1名で、不在の日は照合が後回しになります。
- 【人】 設計者が型番と部品の種類を登録し、手に入れたデータシートのPDFを受付フォルダ(Amazon S3)に入れる
- 【自動】 保存をきっかけに処理が動き、形式・ページ数・パスワードの有無・文字の層の有無を確かめる
- 【自動】 OCRが全文、レイアウト(見出し・表・本文)、表とセル、質問への答え、信頼度を返す
- 【自動】 生成AIが、マスタの仕様項目ごとに値・単位・条件・載っている表の見出しとページを取り出す
- 【自動】 プログラムが単位をそろえ、文字の層と照らして記号を確かめ、選定条件と照合する
- 【自動】 改版のときは、旧版の値と新版の値を項目ごとに並べる
- 【人】 部品管理の担当者が、印の付いた項目だけをデータシートの該当ページと見比べ、マスタへの登録を確定する
- 【人】 設計者が、条件に合わない項目の一覧を見て、採用するか、別の部品を探すか、メーカーに問い合わせるかを決める
7番目が、この設計の分かれ目です。 担当者は表の種類・単位・条件に印の付いた値だけを開き、残りは一覧で流し見ます。
5番目と6番目をAIにさせないのも意図してのことです。 換算・比較・差分は規則で決まる処理です。
02今回想定するシステム構成
英文の技術データシート(PDF。メーカーのサイト・商社のメール) ▼【トリガー】受付フォルダ(Amazon S3)への保存 AWS Lambda ── 形式・ページ数・パスワード・文字の層の確認 ▼ AWS Textract(StartDocumentAnalysis:LAYOUT/TABLES/QUERIES) │ 全文、見出し、表とセル、質問への答え、信頼度 ▼ Claude API ── 仕様項目ごとに値・単位・条件・表の種類・ページを取り出す │ ① 絶対最大定格 ② 推奨動作条件 ③ 電気的特性 │ ④ パッケージ寸法 ⑤ 使用温度範囲 ⑥ 認証と適合の記載 ▼ Python ── 単位の統一、文字の層との照合、選定条件との照合、旧版との差分 ▼ 照合の一覧(ok / out_of_condition / table_unclear / unit_unclear / not_found / needs_human) ▼ 【部品管理の担当者が印の付いた項目を確認】 ├──▶ 部品マスタへの登録(担当者が確定) └──▶ 設計者へ条件に合わない項目の一覧
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | AWS Textract(StartDocumentAnalysis/GetDocumentAnalysis) | Azure AI Document Intelligence、Google Document AI |
| 生成AI | Claude API(仕様項目の取り出しと、表の種類の判別) | OpenAI API、Gemini API |
| 差異計算 | Python(単位の統一、選定条件との照合、旧版との差分) | 部品管理の仕組みの比較の機能 |
| 連携 | AWS Lambda(保存と完了の通知を起点に処理を動かす) | Amazon EventBridge |
| 保管 | Amazon S3(データシート、読み取り結果、照合の結果) | 開発部のファイルサーバー |
部品マスタと選定条件のシートは既存のものです。 最初の準備は、選定条件を「項目・比べ方・しきい値・単位」の表に書き直すことと、マスタの仕様項目ごとに「どの表の値を入れるか」を決めることです。
OCRに AWS Textract を選ぶのは、データシートが英文だからです。 公式の上限の表で、対応言語は英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語とされ、日本語や中国語は読めません。
この題材で効くのは、レイアウト(LAYOUT)と表(TABLES)です。 レイアウトはタイトル、セクションの見出し、表、本文、図などの要素を返し、読む順に並べて返すとされています。表のほうは、表のタイトル(TABLE_TITLE)、表の脚注(TABLE_FOOTER)、列の見出し(COLUMN_HEADER)、複数の行や列にまたがるセル(MERGED_CELL)を返します。「この値は Absolute Maximum Ratings という見出しの表の、Min の列にある」という出どころを、ここから組み立てます。
03どうやって実装するのか
処理の起点を決める
起点は2つあります。データシートが受付フォルダに入ったときと、改版のお知らせが届いたときです。
1つ目は、受付フォルダ(Amazon S3)にPDFが保存されたことです。設計者が型番と部品の種類を登録してPDFを上げると、保存の通知で AWS Lambda が動きます。部品の種類が無いものは動かしません。 照らす選定条件が決まらないためです。
2つ目は、改版のお知らせが届いたときです。新版を同じ型番で上げると、旧版と項目ごとに並べる処理が追加で動きます。
月に1回、版の日付が古い登録済みの部品の一覧を出し、購買の担当者が新版の有無を確かめます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 技術データシート | PDF。型番、版と発行日、定格、推奨動作条件、電気的特性、寸法図、使用温度範囲、認証と適合の記載 | 受付フォルダ(Amazon S3) |
| 読み取り結果 | 全文、レイアウトの要素、表とセル、質問への答え、それぞれの信頼度と、手書きか印字かの区別 | AWS Textract |
| PDFの文字の層 | PDFに埋め込まれた文字(電子的に作られたPDFだけ) | PDFから Python で取り出す |
| 部品マスタの仕様項目 | 部品の種類ごとの項目名、入れる単位、どの表の値を入れるかの決まり | 部品マスタ(PLM) |
| 選定条件 | 部品の種類ごとの、項目・比べ方・しきい値・単位・必須かどうか | 設計部門が書く選定条件の表 |
| 旧版の読み取り結果 | 同じ型番の前の版の値 | 照合の結果の保管先 |
質を決めるのは、下の3つです。 項目ごとに「どの表の値を入れるか」が決まっていないと、正しく取り出しても入れる場所が決まりません。
PDFの文字の層は、記号を確かめるために持ちます。 メーカーのサイトのデータシートはほとんどが電子的に作られたPDFで、OCRが µ を読めなかった値でも、文字の層には µA と残っています。
データの取得方法を決める
読み取りは StartDocumentAnalysis にS3の場所と FeatureTypes を渡して始めます。完了は NotificationChannel に指定した Amazon SNS のトピックに通知され、状態が SUCCEEDED なら GetDocumentAnalysis で結果を取ります。
| 指定するもの | 値 | 理由 |
|---|---|---|
FeatureTypes | LAYOUT、TABLES、QUERIES | 見出しで表の種類を決め、表から値を取り、表の外の記載を質問で拾う |
QueriesConfig | 質問の文と Alias、Pages の組 | 型番・版・温度範囲・認証を項目名で受け取る |
ClientRequestToken | ファイルのハッシュ | 同じPDFで二重に読み取りを始めない |
JobTag | 部品の種類 | 完了の通知から、照らす選定条件を引く |
OutputConfig | 結果を置くS3の場所 | 読み取り結果を残し、旧版との比較に使う |
Alias | 質問の文 |
|---|---|
PART_NUMBER | What is the part number or ordering code? |
REVISION | What is the document revision and date? |
OPERATING_TEMP | What is the operating temperature range? |
STORAGE_TEMP | What is the storage temperature range? |
CERTIFICATION | What safety certifications or approvals are listed? |
ROHS | Is the product stated to be RoHS compliant? |
質問の答えが見つからなければ空のまま返ります。 質問は英語の文書だけで使え、非同期で1ページ30個までです。データシートは1ページ目と最後のほうに型番・版・認証がまとまっていることが多いので、Pages でそのページに絞って聞きます。
結果は1回最大1,000ブロックで区切られ、NextToken が返る限り呼び直します。同期の処理はPDF1ページまでなので非同期で読み、JobId は7日間しか有効でないため結果はその場でS3に保存します。
表は、表のタイトルと列の見出しから種類を決めます。 TABLE_TITLE か直前の LAYOUT_SECTION_HEADER が Absolute Maximum Ratings なら絶対最大定格、Recommended Operating Conditions なら推奨動作条件です。列の見出し(COLUMN_HEADER)の Min・Typ・Max・Unit・Conditions を、セルの ColumnIndex と結び付けます。
AIへ渡す前に整形する
- 形式の確認 … JPEG、PNG、PDF、TIFF であることを確かめます。XFA形式のPDFは対応していないとされているので、別の形式で出し直してもらいます
- パスワードの確認 … PDFはパスワードで保護されていてはいけないとされています。保護されたものはメーカーか商社に解除したものを頼みます
- サイズとページ数の確認 … 非同期の処理で、PDFとTIFFは500MB・3,000ページまでです。1冊にシリーズの全型番がまとまった大きな資料は、該当の型番のページだけを切り出します
- 文字の層の取り出し … 電子的に作られたPDFなら、ページごとの文字を Python で取り出して保存します。記号の確認に使います
- 型番の確認 … 登録された型番が1ページ目の文字に含まれるかを確かめます。違う型番のデータシートが上がる取り違えを、ここで止めます
- 言語の確認 … 6言語に入らないデータシートは読み取りに回さず、担当者が目で見る一覧に入れます
AIに処理させる
させるのは、マスタの仕様項目ごとに、値・単位・条件・表の種類・ページを取り出し、原文の文字列と一緒に書き出すことです。 単位の換算と条件との照合はさせません。
| 見るもの | 取り出し方 | 判断できないときの扱い |
|---|---|---|
| 絶対最大定格 | 電圧・電流・電力・温度を、Min/Max の列ごとに | 表の種類が決まらなければ table_unclear |
| 推奨動作条件 | 電源電圧・使用温度の範囲を、Min/Typ/Max の列ごとに | 同上 |
| 電気的特性 | マスタの項目にある値だけを、測定の条件と一緒に | 条件が注記の番号だけなら、注記の文も写す |
| パッケージ寸法 | 寸法の表か寸法図の文字から、外形と端子ピッチ | 図の中で数字の対応が決まらなければ ambiguous |
| 使用温度範囲 | 推奨動作条件の表の値を優先し、保存温度とは分ける | 見出しが無く区別できなければ ambiguous |
| 認証と適合の記載 | 安全規格の認証の名称と番号、RoHS などの適合の記載を原文のまま | 書かれていなければ空 |
| させないこと | 理由 |
|---|---|
| 採用してよいかの判断 | 設計者が回路と使い方を見て決める |
| 単位の換算 | Python が換算表で行う。桁の誤りを生成AIに任せない |
| 選定条件との照合 | 大小の比較は規則で決まる。Python が行う |
| 書かれていない値の推測 | 似た型番や一般的な値で埋めない |
| 環境規制に適合しているかの判断 | データシートの記載は記載として写すだけ。適合の証拠はメーカーの宣言書で確かめる |
4行目がいちばん起きやすい失敗です。 シリーズのデータシートでは、型番ごとの値が表の一部の行にしか無いことがあり、空いた欄を同じシリーズの別の型番の値で埋めると、その瞬間に違う部品の仕様がマスタに入ります。
指示内容を固定する
あなたは産業機器メーカーの部品管理の担当で、海外の部品メーカーの
英文の技術データシートから、部品マスタに入れる仕様を取り出します。
OCRの読み取り結果だけを使ってください。推測で埋めないでください。
【取り出す項目】
{master_fields}(部品の種類ごとの項目名の一覧)
各項目について、value_raw、value_min、value_typ、value_max、unit_raw、
conditions_raw、table_kind、table_title_raw、page、status
【table_kind の選び方】
- absolute_max ...... 表の見出しが Absolute Maximum Ratings にあたる
- recommended ....... 表の見出しが Recommended Operating Conditions にあたる
- electrical ........ 表の見出しが Electrical Characteristics にあたる
- mechanical ........ 寸法の表または寸法図
- other ............. 上のどれでもない
- unclear ........... 見出しが無い、または判別できない
【status の選び方】
- ok ........... 値が読み取れており、その項目として解釈できる
- missing ...... 書かれていない
- unreadable ... 文字は検出されているが値として確定できない
- ambiguous .... 候補が複数あり、1つに決められない
【厳守事項】
- 絶対最大定格の値を、推奨動作条件や使用温度範囲の値として
使わないでください。表の見出しで決まらなければ table_kind を
unclear にしてください。
- 保存温度(Storage Temperature)を使用温度範囲に入れないでください。
- 単位は書かれた文字のまま unit_raw に入れてください。換算しないでください。
記号が読めない場合は、読めた文字のまま入れ、status を unreadable に
してください。
- 測定の条件(温度、電源電圧、負荷など)が表の上や注記に書かれていれば、
conditions_raw にそのまま写してください。注記の番号だけのときは、
注記の本文も写してください。
- 型番 {part_number} 以外の行の値を使わないでください。
シリーズの別の型番の値で空欄を埋めないでください。
- 認証や RoHS の記載は、書かれた文をそのまま写してください。
適合しているかどうかを判断して書かないでください。
- 採用できるか、条件を満たすかを書かないでください。
【読み取り結果】{textract_layout_tables_queries}
【部品の種類】{part_category}
「保存温度を使用温度範囲に入れない」を明記しないと、入れます。 温度範囲を聞かれると、データシートの中でいちばん広い範囲を答えにしがちで、それはたいてい保存温度か絶対最大定格の値です。 禁じるのは、範囲の広さで選ぶ判断そのものです。
出力形式を固定する
Claude API の構造化出力(output_config.format に json_schema を指定)で、次の形のJSONを受け取ります。
{
"file": "",
"document_type": "datasheet",
"part_number": "XQ-2215-T",
"revision_raw": "Rev. D, 2026-06",
"fields": [
{
"field": "operating_temp",
"value_raw": "-40 to +105",
"value_min": -40,
"value_typ": null,
"value_max": 105,
"unit_raw": "°C",
"conditions_raw": "",
"table_kind": "recommended",
"table_title_raw": "Recommended Operating Conditions",
"page": 3,
"status": "ok",
"confidence": 0
}
],
"certifications_raw": ["UL Recognized, File No. ..."],
"compliance_raw": ["RoHS compliant"]
}
1つ目の理由は、照合をプログラムの側に置けることです。 構造化出力のスキーマでは数値の最小・最大の制約(minimum、maximum)が使えないとされており、範囲の確かめはどのみちプログラムの仕事になります。 Python が単位をそろえ、選定条件と比べて印を付けます。
| 印 | 付ける条件 |
|---|---|
ok | 値・単位・表の種類がそろい、選定条件を満たす |
out_of_condition | 選定条件を満たさない(例:使用温度の下限が条件の −40℃に届かない) |
table_unclear | table_kind が unclear、または項目の決まりと違う表から取れている |
unit_unclear | 単位が換算表に無い、または文字の層と食い違う |
not_found | 必須の項目が missing |
needs_human | unreadable か ambiguous がある、または型番がPDFに見つからない |
2つ目は、改版の差分を項目ごとに出せることです。 同じ field の値を旧版と新版で並べ、変わった項目だけを担当者に見せます。 版の文字列(revision_raw)は原文のまま残し、版の新旧は発行日で決めます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 受付フォルダ(Amazon S3) | 保存の通知 | PDFの保存を検知して AWS Lambda を動かす |
| AWS Textract | API呼び出し(非同期) | 読み取りを始め、完了の通知で結果を取る |
| Claude API | API呼び出し | 仕様項目の取り出し |
| 部品マスタ | 項目の決まりの読み取り | 部品の種類ごとの項目と、入れる表の種類を引く |
| 選定条件の表 | 読み取り | 項目・比べ方・しきい値・単位を引く |
| 照合の一覧 | 書き込み | 項目ごとの値・出どころ・印を書く |
部品マスタへの書き込みは、この構成からは行いません。 照合の一覧を担当者が確かめ、確定した値だけをマスタに登録します。マスタの値は図面と部品表に引き継がれ、誤った値が入ると設計の判断そのものを誤らせるためです。
設計者への通知は、out_of_condition の部品だけに、条件に合わない項目とページ番号を並べて送ります。
人が確認する
部品管理の担当者が開くのは、ok 以外の印が付いた項目です。 ok の項目は、値と出どころの一覧で流し見ます。
needs_humanを先に見る … 型番がPDFに見つからないものは、取り違えの可能性があります。違う型番なら、それ以上の確認をせずに設計者に戻しますtable_unclearの出どころを確かめる … 該当ページを開き、その値が絶対最大定格か推奨動作条件かを目で決めますunit_unclearの単位を確かめる … µ、Ω、± を含む値は、PDFの該当箇所と見比べますout_of_conditionを設計者に送る … 値が正しく取れていることを確かめてから送ります。読み取りの誤りで条件外になったものを送らないためです- マスタへの登録を確定する … 確定した値と、確かめた担当者の名前を残します
4番目の順序を崩さないでください。 読み取りの誤りによる「条件外」を送ると、設計者は正しい部品を外して別の部品を探し始めます。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワードで保護されたPDF | 読めない。メーカーか商社に解除したものを頼む |
| 6言語に入らないデータシート | 読み取りに回さず、担当者が目で見る |
| 型番がPDFに見つからない | needs_human。取り違えを疑い、設計者に戻す |
| シリーズの資料に複数の型番が並ぶ | 型番の行だけを使う。行が決まらなければ ambiguous |
| 寸法が図の中にしか無い | mechanical の候補として人へ。寸法は図面と照らして確かめる |
| 単位の記号が読めない | 文字の層で確かめる。文字の層が無ければ unit_unclear |
ジョブが FAILED または PARTIAL_SUCCESS | StatusMessage と Warnings のページ番号を記録し、そのページを人へ |
上から3行目が、取り返しのつかない失敗を生みます。 違う型番で照合が通ると、誤った仕様が「確認済み」としてマスタに入るので、型番は前処理と人の確認の2か所で見ます。
記録を残す
- 元のデータシートと、受け取った日時、入手先(メーカーのサイト/商社)、版
- AWS Textract が返したJSONの全文と、使った質問の一覧
- PDFの文字の層(取り出せたもの)
- Claude API が返したJSON(原文と、数値に分けた値の両方)
- 照合の結果と、そのとき参照した選定条件とマスタの項目の決まりの版
- 担当者が値や表の種類を直した記録 … どの項目を、どう変えたか、誰が確かめたか
選定条件の版を残すのは、条件が後から変わるためです。 条件が広がると過去に ok だった部品が条件外になり、当時の条件が残っていれば照らし直す範囲がすぐに決まります。
04実装レベルの3段階
本記事の想定は半自動化です。 読み取りと照合が自動になり、担当者は印の付いた項目を確かめてマスタに登録します。1件24分が8分になるのはこの段階です。 本格構成で足すのは、登録と照らし直しです。 ただし、確定のボタンを押すのは引き続き人です。段階を飛ばさず、半自動化の間に table_unclear を繰り返すメーカーを洗い出しておきます。
05工数削減シミュレーション
導入後 150件 × 8分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 電子機器・産業機器・車載部品などを設計する製造業で、海外メーカーの電子部品・コネクタ・センサーを毎月百点以上新しく検討・採用しており、英文の技術データシートのPDFから部品マスタの仕様項目を手で転記している場合。設計部門が部品ごとに「使用温度範囲」「定格電圧の余裕」「必要な認証」などの条件を決めており、条件との照合が担当者の目視に頼っている場合。同じ型番の改版に気づかず、古い版の値がマスタに残っている場合。
- データシートが日本語や中国語で書かれている部品が中心の場合(この構成のOCRは英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語しか読めず、質問(Queries)は英語の文書だけが対象です)。新しく検討する部品が月に十数点で、目視の転記で足りる場合。部品のメーカーが仕様をCSVや部品データベースの形で提供しており、PDFを読む工程が無い場合。なお、部品を採用してよいかの判断、データシートの値で設計の余裕が足りるかの評価、環境規制への適合の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月登録した部品から20件のデータシートを選ぶ(絶対最大定格と推奨動作条件が別の表のもの、1つの表にまとまっているもの、シリーズで複数の型番が並ぶものを必ず入れる)
- 手元の生成AIの画面に1件ずつ渡し、「型番 ○○ の使用温度範囲、電源電圧の範囲、外形寸法、認証の記載を、値・単位・条件・載っている表の見出し・ページとともに表にしてください。保存温度と絶対最大定格の値は使用温度範囲に入れないでください。単位は換算せず、書かれたとおりに書いてください」と指示する
- 出てきた表を、当時マスタに登録した値と見比べる
- 当時の登録に、絶対最大定格の値や保存温度が入っていた件数を数える
20件は必ずやってください。 表の種類を取り違えないか、単位を勝手に換算しないかを先に確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 値と表の見出しを原文どおりに取り出した | OCRのAPIと照合の処理に進む |
| 保存温度を使用温度範囲として返した | 指示で禁じる。直るまで先に進まない |
| µ や Ω が別の文字に化けた | 文字の層との照合を足す。構成は有効 |
4番目の数が多くても失敗ではありません。 今のマスタのどこを見直すべきかが分かったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 絶対最大定格の値が使用範囲としてマスタに入る | 表の種類を値と一緒に取り出し、項目ごとに入れてよい表を決める |
| 保存温度を使用温度範囲として返す | 指示で禁じ、table_kind で後段でも確かめる |
| µ・Ω・± が別の文字に化ける | 公式の検出できる文字の一覧に無い。 文字の層で確かめ、無ければ人へ |
| 単位を換算して桁がずれる | 換算は Python。生成AIには原文の単位を写させる |
| シリーズの別の型番の値で空欄を埋める | 型番の行だけを使わせ、空欄は missing のまま |
| 測定の条件が抜けて値だけが入る | 条件を conditions_raw に写させ、注記の本文も残す |
| 違う型番のデータシートが上がる | 前処理で型番を確かめ、人の確認でもう一度見る |
| 選定条件が文章のまま | 比べ方としきい値の表に書き直してから照合する |
JobId の期限切れで結果が取れない | 7日間しか有効でない。結果はその場でS3に保存する |
上の2行が、この構成の失敗のほとんどです。 どちらも「範囲を示す数字が複数ある」ことから出ており、値を表の種類と一緒に記録する設計で守ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 部品メーカーが公開する技術データシート、自社が検討している部品の型番と用途、設計部門の選定条件です。個人情報は基本的に含みませんが、どの部品をどの製品に使おうとしているかは、開発中の製品の情報そのものです。
- 外部へ渡す範囲を、取り出しに必要なものに限る … 生成AIに渡すのはデータシートの読み取り結果と、マスタの項目名の一覧だけです。選定条件と、どの製品に使うかの情報は渡しません。 照合は社内の Python で行います
- 秘密保持契約の下で受け取ったデータシートを区別する … 公開前の部品や特注品のものは、外部のサービスに渡してよいかを契約で確かめてから上げます
- 採用の判断をさせない … この構成が出すのは値と照合の印までで、採用するかは設計者が決めます
- 環境規制への適合を、データシートの記載で決めない … 欧州委員会のページでは、RoHS 指令は電気・電子機器について10の物質の使用を制限するとされています。データシートの「RoHS compliant」は記載として写すだけで、適合の確認はメーカーからの宣言書や調査の回答で行います
誤りが起きた場合のリスクは、使える範囲を広く見積もった部品の採用と、使える部品を条件外として外すことの2つです。 表の種類の取り違えと単位の化けから起きるので、値を出どころと原文の単位と一緒に残します。
10まず何から始めるか
1週目:マスタの項目ごとに「どの表の値を入れるか」を決める
件数の多い上位5種類の部品について、マスタの項目ごとにどの表の値を入れるかを、部品管理のベテランと設計者で決めます。1人の頭の中にあった決まりが表になります。
2週目:20件で試す
先月登録した部品から20件を選び、手元の生成AIの画面で項目を表にさせます。保存温度や絶対最大定格を使用温度範囲に入れないか、単位を換算しないかを最優先で見ます。
3週目:選定条件を表に書き直す
上位5種類の選定条件を、「項目・比べ方・しきい値・単位・必須かどうか」の表に書き直します。比べ方が決まらない条件は、設計部門に決めてもらいます。
4週目:受付フォルダから照合の一覧までをつなぐ
S3、Lambda、Textract、Claude API、Python をつなぎ、照合の一覧を書くところまで作ります。対象は上位5種類だけにします。
2か月目: 対象をすべての部品の種類に広げ、table_unclear と unit_unclear の件数を毎週数えて、表の見出しの言い方と換算表を直します。3か月目以降: 改版の差分の処理を足し、1件24分が何分になったかを実測します。マスタの使用温度範囲の列に、出どころの分からない値が残っていない状態になった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 対応する形式がJPEG、PNG、PDF、TIFFで、XFA形式のPDFは対応しないこと。同期はPDF1ページ・10MB、非同期はPDFとTIFFで500MB・3,000ページであること。PDFはパスワードで保護できないこと。縦書きに対応しないこと。対応言語が英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語で、質問の検出は英語の文書だけであること。質問は同期で1ページ15個、非同期で30個までであること。検出できる文字の一覧(µ・Ω・± は含まれない) | AWS: Set Quotas in Amazon Textract | 2026-10-08 |
StartDocumentAnalysis の FeatureTypes(TABLES/FORMS/QUERIES/SIGNATURES/LAYOUT)、QueriesConfig(Alias、Pages、Text)、ClientRequestToken、JobTag、OutputConfig、NotificationChannel で Amazon SNS に完了を通知すること。JobId が7日間だけ有効なこと | AWS: StartDocumentAnalysis | 2026-10-08 |
GetDocumentAnalysis の JobStatus(SUCCEEDED/FAILED/PARTIAL_SUCCESS ほか)、MaxResults(最大1,000)と NextToken、StatusMessage、Warnings | AWS: GetDocumentAnalysis | 2026-10-08 |
ブロックの種類に TABLE_TITLE、TABLE_FOOTER、MERGED_CELL があり、表の解析で COLUMN_HEADER などの種別が返ること。セルに RowIndex・ColumnIndex があること。信頼度が0〜100で返ること | AWS: Block | 2026-10-08 |
| レイアウトがタイトル、セクションの見出し、表、本文、図などの要素を返し、読む順に並べて返すこと | AWS: Layout Response Objects | 2026-10-08 |
| 質問の応答が QUERY と QUERY_RESULT のブロックで返り、別名(Alias)と信頼度を持つこと。答えが見つからなければ空のまま返ること | AWS: Queries | 2026-10-08 |
| RoHS 指令が電気・電子機器について10の物質の使用を制限していること | European Commission: RoHS Directive | 2026-10-08 |
構造化出力を output_config.format に json_schema を指定して受け取れること。数値の最小・最大などの制約はスキーマで使えないこと | Claude Docs: Structured outputs | 2026-10-08 |
データシートの値で設計の余裕が足りるか、部品を採用してよいかは、設計者が判断してください。 本記事は公開仕様で確認できた範囲だけを扱っています。環境規制への適合は、データシートの記載ではなくメーカーの宣言書で確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0866)についてのご相談はこちらから。
