# 方法細節

（全文方法節底稿。演算法在執行前寫定；任何修訂記入
`decision-log.md`。）

## 自然編碼管線總覽

五個步驟：步驟 1 自由標註（`claude-sonnet-4-6`，
temperature=0、thinking 關閉，兩次執行進池）→ 步驟 2 詞彙表
建構（詞向量分群，確定性）→ 步驟 3 全量編碼（三次執行＋
多數決）→ 步驟 4 語意編碼群（三次執行＋多數決）→ 步驟 5
女性主義問題之質性深讀（三次閱讀＋逐首整合＋樣態統整）。
歌詞出現在步驟 1、步驟 3 與步驟 5；步驟 2 與步驟 4 完全
不接觸歌詞，步驟 2 亦不呼叫 LLM。設計原則見
`research-plan.md`；本檔記載可重現的演算法細節。

## 步驟 2 詞彙表建構——詞向量分群

詞彙表由確定性程序產生，不經 LLM。完整分割（每個關鍵字
恰屬一組、不遺漏、不新增）由演算法結構保證，無須事後
驗證。

### 進池

兩次標註執行的全部關鍵字取聯集、逐字串精確去重、字典序
排列。失敗與拒答的記錄跳過（其歌曲不貢獻關鍵字）。

### 分群

- **嵌入**：`sentence-transformers/all-mpnet-base-v2`
  （釘定 revision），關鍵字的連字號先還原為空格再編碼，
  輸出 768 維向量並 L2 正規化。
- **分群**：階層式聚合分群（Ward linkage），k=100。
  向量既已正規化，歐氏距離與餘弦相似度單調對應。
- **組數的取捨**：k 太小則壓縮比過高，樹上層被迫併入
  不相干的詞，組雖大而無主題；k 太大則人工難以通覽。
  定於 100，理由是實測顯示雜物櫃
  組於此始裂解為有主題的組，且編碼實測未見碼數過多的
  副作用——全量三次執行下 101 個碼全數用到；模型另行
  造出的碼共 13 筆，佔 44,149 筆標籤指派的 0.03%。
- **組名**：取 medoid——與該組中心（成員向量均值後
  正規化）餘弦相似度最高的成員詞。組名因此必為模型
  自己產出過的關鍵字，非任何人事後撰寫。已知限制：
  組越大越異質時，medoid 只是折衷詞，可能代表不了組內
  內容（實測 `mutual-individuality` 組內一致 0.70 而
  編碼從未使用）；此類碼於結果中呈現為零使用。
- **取捨紀錄**：詞彙表分群曾比較的替代法與棄用理由，見
  `decision-log.md` 2026-08-05 條。
- **產物**：分群輸出中，只有實際交給模型的碼表——組名
  加上先驗主題詞——含研究者的介入；其餘皆為分群過程本身
  的機械紀錄。
- **可重現性**：同一輸入、同一釘定模型、同一參數逐次
  重現。不同 CPU／BLAS 實作的浮點尾數差異可能使邊界
  詞的歸屬翻動，屬已揭露的限制。

### women-power 的注入

定案詞彙表為 100 個分群組名再加上 `women-power` 一詞，
共 101 個碼。`women-power` 是研究者任意決定的先驗主題（即本
論文的主題本身），不由資料產生，屬揭露的儀器介入。該詞
的加入於每次執行皆為明示、可稽核的介入，而非無聲內建於
判斷邏輯；分群結果本身不含它，只有交給模型的碼表含它。

注入而非另設篩選軌的理由：讓研究者的主題詞與模型自己
收斂出的類別（分群已自行長出 `female-empowerment` 等組）
在同一份提示詞、同一個判斷體制下受檢，避免單目標提問
把該主題的顯著性人為抬高。兩者的落點差異本身即可報告
的結果。

## 步驟 3 編碼的三次執行與多數決

- **模型**：`claude-sonnet-4-6`，temperature=0、thinking 關閉。
- **三次執行**：同一份定義檔、同一份輸入檔，獨立執行
  三次，三份歸檔並列，彼此無先後主從之別。
- **多數決**：一首歌的一個標籤，三次執行中至少兩次標出
  即收入定案編碼。三票不平手，裁決規則因此無例外條款，
  計票由確定性程序完成（見交接契約）。
- **第三票取全量**：第三次執行同為全量——全部歌曲、
  全部關鍵字——使三票在同一條件下取得。
- **對邊緣標籤的作用**：兩次執行只分得出「兩次皆標」與
  「僅一次標」；三次執行還分得出 3-0 與 2-1，故「定案
  編碼中有多少比例僅以一票之差成立」成為可報告的量。

## 步驟 4 語意編碼群

- **對象**：將 101 個編碼依語意劃入研究者命名的四個編碼
  群——女性力量（women-power group）、反女性力量／厭女
  （misogyny group）、陽剛男性氣質（masculine group）、
  脆弱（vulnerable group）。群只有名字，沒有定義；歸屬
  由 LLM 依編碼名的字面語意判斷。
- **任務**：每筆輸入為一個群名加 101 個編碼的字母序
  清單，輸出為入選編碼的單層 JSON 陣列；定義檔
  只定格式，不含任何群的語意定義。
- **模型**：`claude-fable-5`；取樣變異由多數決吸收；
  模型裁定的理由與對照實驗見決策日誌。
- **三次執行**：同一份定義檔、同一份輸入檔，獨立執行
  三次，歸檔並列。
- **多數決**：一個（群，編碼）配對，三次執行中至少兩次
  入選即屬該群；不在 101 碼詞彙表內的輸出項無效，逐筆
  記錄後丟棄。計票由確定性計票程序完成，合法碼
  清單之產法同步驟 3，結果為定案分群表。

## 步驟 5 女性主義問題之質性深讀

本步驟之 5a 至 5c 為**質性閱讀，非編碼**：輸出為自由
文字的問題閱讀報告，無可逐項機械比對的單位，故不適用
三票多數決與仲裁；
三次獨立閱讀為分析者三角檢核，逐首整合為整合而非裁決，
跨首統整之產出為草稿，終審與詮釋由研究者為之。論文引用
本步驟時不作次數宣稱。

- **對象**：定案編碼含 `women-power` 或
  `female-empowerment` 的 145 首歌。
- **5a 逐首閱讀**：每筆輸入為一首歌的完整歌詞逐字全文，
  不含歌名與演唱者（盲讀）。同一份定義檔、同一份輸入檔，
  獨立執行三次，歸檔並列。
- **5b 逐首整合**：每筆輸入為該首歌的三份閱讀報告
  （不含歌詞）；以問題機制為單位保守合併，標收斂註記
  （（3/3）、（2/3）），主清單僅列兩讀以上提出者，單讀發現
  以一行存目；定義檔，執行一次。
- **5c 樣態統整**：單筆輸入為一批整合報告；歸納問題
  **樣態**——問題呈現與運作的重複形態，非問題分類，
  代表引句僅取自主清單。四種輸入範圍各執行
  一次：全 145 首之基底統整，及依演唱聲音之性別切分
  之三個發話脈絡統整——男聲（male）、女聲（female）、
  混合（mixed）；基底看橫貫各
  脈絡之樣態，分組看各權力脈絡下之樣態。genderfluid
  與 non-binary 共 3 首不設群——樣本數不支持歸納——
  僅入基底統整。同一輸入不重複
  執行：自由歸納之產出無機械合併可言，其變異由 5a
  三讀、5b 整合與草稿地位承接，四份草稿互為對照，由
  研究者終審裁決。
- **5d 樣態標註**：以（歌，樣態）對為可逐項機械比對之
  單位，回歸「三次執行＋多數決」協定。對象為「有問題」
  的歌——三讀中至多一個「無」（多數決精神；恰兩「無」
  者其整合報告主清單必為空，與 5b 主清單規則自洽），
  計 111 首（男聲 12、女聲 69、混合 29、genderfluid 1）。
  樣態表為三份分組統整草稿原文：男聲 13 條（M1–M13）、
  女聲 14 條（F1–F14）、混合 16 條（X1–X16）；基底 15 條
  不入矩陣——全體歸納之一條樣態可能疊合不同方向的
  權力關係（男對女、女對男），實為多個樣態共用一名。
  檢驗範圍：男聲樣態不檢驗純女聲歌、女聲樣態不檢驗
  純男聲歌（發話位置範疇錯置，檢查無意義）；混合樣態
  檢驗全部（其男女聲部無系統化切分方式，無意義之標註
  容忍之）；genderfluid 歌三套全查（無自身透鏡，發話
  位置無法先驗決定），其歸屬引用維持個案地位。每筆
  輸入為一首歌之整合報告（「僅單獨提及」行於組裝時
  剝除，標註僅依主清單）與該首適用之樣態表；定義檔
  獨立執行三次，（歌，樣態）對
  得兩票以上者定案。
- **模型**：`claude-fable-5`。
- **輸入組裝**：各步輸入檔由確定性程序自上游產物組裝。
  5d 之樣態條目自分組統整草稿機械切出，代表引句不
  隨附——引句出自特定歌曲，判該曲時形同預答。

## 女性力量候選集

候選集為定案編碼含 `women-power` 或 `female-empowerment`
（步驟 4 女性力量群的兩個編碼）之歌曲聯集：wp 66 首、
fe 144 首，聯集 145 首。

## 軌跡對映（診斷用）

沿收斂軌跡的機械對映：原始關鍵字 →（兩份標註執行歸檔的
原始輸出）歌曲、原始關鍵字 →（分群）組，純機械查表，
決定性。以其結果與步驟 3 直接編碼的差異率作為「收斂軌跡
扭曲」的診斷量，不作主結果。

## 全管線的交接契約

每一步的輸出如何變成下一步的輸入，皆為確定性程序，規則
明定如下：

- **歌詞輸入檔（步驟 1）**：由確定性的匯出程序自工作
  儲存產出，一筆一首歌，依歌曲 ID 升序。步驟 3 的輸入
  由同一匯出程序、同一工作儲存產出（見下），兩步的語料
  同一性由此成立。
- **步驟 1 → 2**：確定性的分群程序讀兩份執行歸檔的
  執行紀錄，進池後直接分群，產出詞彙表與交給
  模型的碼表。
- **步驟 2 → 3 輸入檔**：同一匯出程序自工作儲存產出
  步驟 3 的輸入，一筆一首歌，兼含歌詞與定案碼表，依
  歌曲 ID 升序。碼表以參數傳入而非填進定義檔——定義
  檔只規定任務形狀，換詞彙表、換演算法都不必改它。
- **步驟 3 定案**：確定性的計票程序讀三份執行歸檔的
  執行紀錄，依序套用更正表、驗證所有標籤皆在合法碼
  清單之內、計票。
- **更正表**：研究者逐列校定的人工著作，逐筆更正標籤
  或引述——以替代字串取代，或刪去該筆標籤指派或該句
  引述。一筆引述更正套用於該首歌該次執行的所有出現處。
  表中任一列若在資料中找不到對應者，即中止；校定的
  判準記於 `decision-log.md`。
- **合法碼清單**：自詞彙表產出：分群組名加上
  `women-power`。
- **定案編碼表**：歌名與演出者名銜逐首查工作儲存取得。
  每個定案標籤隨附其在計票中各份執行所引的
  歌詞行，供逐碼查核（三份執行彼此無先後主從之別）。

## 執行與稽核

- LLM 步驟以批次執行程序執行，一份定義檔配一份
  輸入檔；一步的 N 次執行為 N 次各自獨立的呼叫，各自
  歸檔自我完備。
- Batch API 的每筆請求自含全部脈絡且互不可見（平台
  契約），歌與歌之間的獨立性由此成立；各次執行的獨立
  性由「一次呼叫、一個批次、一份歸檔」的執行結構自明。
