Skip to main content

Thinking Log - GPT

·2 mins·
Table of Contents

一、任務理解與規劃階段
#

  1. 理解目標

    • 目標是把 114 年(2025)營建法規與實務考試 的
      👉 80 題選擇題+答案
      👉 轉成 JSON 資料集

    • JSON 結構需 對齊 111 年既有 dataset 格式

  2. 確認資料來源

    • 題目來源:114180_1801.pdf

    • 答案來源:114180_MOD1801.pdf

    • 注意到:

      • 沒有 Markdown

      • 題目與答案分散在不同 PDF

  3. 事前特殊規則確認

    • 題號共 80 題

    • 第 27 題為「答案更正題」

      • B、D、或 BD 都給分

      • JSON 中需標記 answer_mode = "any"


二、讀取與解析「題目 PDF」
#

  1. 開啟題目 PDF

    • 使用 pdfplumber 逐頁讀取文字

    • 合併所有頁面文字為完整字串

  2. 清理非題目內容

    • 排除:

      • 頁首(頁次、代號)

      • 考試說明文字

    • 保留真正的「題目區塊」

  3. 切分 80 個題目區塊

    • 以「數字 + 空白」判斷新題目開始

    • 每一題形成一個獨立的文字 block

  4. 解析每一題的結構

    • 從 block 中拆出:

      • 題號(1~80)

      • 題目文字

      • 四個選項

  5. 處理選項符號對應

    • PDF 特殊符號 → 選項代碼

      •  → A

      •  → B

      •  → C

      •  → D

  6. 處理跨行與換行

    • 將選項可能分行的內容合併

    • 正規化空白與文字格式

  7. 驗證題目完整性

    • 確保:

      • 題數 = 80

      • 每題都有 A/B/C/D 四個選項

    • 無缺題、無漏選項


三、讀取與解析「答案 PDF」
#

  1. 開啟答案(MOD)PDF

    • 擷取全文文字

    • 排除說明段落

  2. 辨識答案表格

    • 找出:

      • 「題號 第X題 第Y題 …」

      • 下一行的「答案 A B C …」

  3. 建立題號 → 答案對照表

    • 轉成 answers_map

      1 → D
      2 → B
      ...
      27 → #
      
  4. 處理更正答案符號

    • 發現第 27 題答案為 #

    • 依說明判定:

      • 可接受答案:B、D、BD

      • 標記為多解題


四、整合題目與答案
#

  1. 逐題合併資料

    • 對每一題:

      • 題號

      • 題目文字

      • 選項

      • 正確答案

  2. 統一 JSON 欄位格式

    • 依 111 年 dataset 樣板建立欄位:

      • id

      • year

      • subject

      • question_type

      • question_text

      • options

      • answer

      • explanation

      • source

      • tags

      • answer_mode

  3. 設定題目 ID 規則

    • 格式:114-1801-Q01 ~ 114-1801-Q80

    • 年份對應:

      • 114 年 → 2025
  4. 處理特殊題(第 27 題)

    • answer = ["B", "D"]

    • answer_mode = "any"

    • 加上說明文字


五、輸出與驗證
#

  1. 輸出為 JSON 檔案

    • 檔名:law_114_dataset.json

    • UTF-8 編碼

    • ensure_ascii=False

    • indent=2

  2. 檢查 JSON 正確性

    • 可正常讀取

    • 題數 = 80

    • 特殊題設定正確

    • 欄位與 111 dataset 相容

  3. 準備提供下載

    • 因資料量大,不直接貼全文

    • 以檔案方式交付


六、一句話總結
#

這個 AI agent 先解析題目 PDF、再解析答案 PDF、處理特殊更正題,最後依既有資料集規範整合並輸出為 JSON 檔案

David Chang
Author
David Chang