一、任務理解與規劃階段#
理解目標
目標是把 114 年(2025)營建法規與實務考試 的
👉 80 題選擇題+答案
👉 轉成 JSON 資料集JSON 結構需 對齊 111 年既有 dataset 格式
確認資料來源
題目來源:
114180_1801.pdf答案來源:
114180_MOD1801.pdf注意到:
沒有 Markdown
題目與答案分散在不同 PDF
事前特殊規則確認
題號共 80 題
第 27 題為「答案更正題」
B、D、或 BD 都給分
JSON 中需標記
answer_mode = "any"
二、讀取與解析「題目 PDF」#
開啟題目 PDF
使用
pdfplumber逐頁讀取文字合併所有頁面文字為完整字串
清理非題目內容
排除:
頁首(頁次、代號)
考試說明文字
保留真正的「題目區塊」
切分 80 個題目區塊
以「
數字 + 空白」判斷新題目開始每一題形成一個獨立的文字 block
解析每一題的結構
從 block 中拆出:
題號(1~80)
題目文字
四個選項
處理選項符號對應
PDF 特殊符號 → 選項代碼
→ A→ B→ C→ D
處理跨行與換行
將選項可能分行的內容合併
正規化空白與文字格式
驗證題目完整性
確保:
題數 = 80
每題都有 A/B/C/D 四個選項
無缺題、無漏選項
三、讀取與解析「答案 PDF」#
開啟答案(MOD)PDF
擷取全文文字
排除說明段落
辨識答案表格
找出:
「題號 第X題 第Y題 …」
下一行的「答案 A B C …」
建立題號 → 答案對照表
轉成
answers_map1 → D 2 → B ... 27 → #
處理更正答案符號
發現第 27 題答案為
#依說明判定:
可接受答案:B、D、BD
標記為多解題
四、整合題目與答案#
逐題合併資料
對每一題:
題號
題目文字
選項
正確答案
統一 JSON 欄位格式
依 111 年 dataset 樣板建立欄位:
idyearsubjectquestion_typequestion_textoptionsanswerexplanationsourcetagsanswer_mode
設定題目 ID 規則
格式:
114-1801-Q01~114-1801-Q80年份對應:
- 114 年 → 2025
處理特殊題(第 27 題)
answer = ["B", "D"]answer_mode = "any"加上說明文字
五、輸出與驗證#
輸出為 JSON 檔案
檔名:
law_114_dataset.jsonUTF-8 編碼
ensure_ascii=Falseindent=2
檢查 JSON 正確性
可正常讀取
題數 = 80
特殊題設定正確
欄位與 111 dataset 相容
準備提供下載
因資料量大,不直接貼全文
以檔案方式交付
六、一句話總結#
這個 AI agent 先解析題目 PDF、再解析答案 PDF、處理特殊更正題,最後依既有資料集規範整合並輸出為 JSON 檔案。
