7.5 KiB
7.5 KiB
研究步驟規劃
(2026-07-30 討論定案;2026-08-15 依執行現況全面改寫,
舊版規劃見 git 歷史;歷次變更與理由記於 decision-log.md,
程序細節見 methodology.md)
總體框架
- 研究敘事:全文為獨立完整的正式研究(2016–2025 十年 語料共 1000 筆榜單紀錄、883 首歌,凍結程序後全量執行), 不與先導研究做比較; 全文數字一律以正式研究結果為準。先導研究僅作為假說的 內部來源,記於決策日誌,不進入論文敘事。
- 執行原則:主會話只做討論;所有分析由 deterministic script 執行。LLM 步驟以 Python script 呼叫 Anthropic Messages API(個人 Console 帳號、Batch API 五折),定義 檔逐字作為 system prompt。可逐項機械比對的判斷(步驟 3 編碼、步驟 4 選群、步驟 5-4 樣態標註)採「同一定義檔 獨立執行三次+多數決」,計票由確定性子命令完成。自由 生成(步驟 1 自由標註)兩次執行全數進池。步驟 5-1 至 5-3 為質性閱讀協定:三次獨立閱讀為分析者三角檢核、 逐首整合、樣態統整產出草稿,不適用投票與仲裁。詞彙表 不經 LLM,由詞向量嵌入+確定性分群產生。驗證結果不符 預期則修訂定義檔重跑該循環,絕不手改結果。
- 提示詞只定格式、不定語意:研究對象是通用 LLM 以其 網路語料知識背景所做的自然編碼與閱讀,其結果本身是 批判對象。定義檔只規定任務形狀(輸入、數量範圍、輸出 格式),不給任何主題的定義、判準或範例。LLM 判斷一律 要求逐項引述歌詞原句,作為檢視偏差的依據。
- 模型:步驟 1、3 用
claude-sonnet-4-6(temperature=0、 thinking 關閉);步驟 4、5 用claude-fable-5(兩參數 不適用,均不送出;取樣變異由多數決或整合吸收)——實測 發現 sonnet 將「Women Power」拆讀為 women+power 的組合 語意,fable-5 讀為詞彙化概念,語意層任務因此換用 fable-5(經過見決策日誌)。 - 信度與效度:三次獨立執行量測穩定性(intra-rater reliability,可報告兩兩一致率);封閉母體全量檢查取代 抽樣防衛。可重現性定義為「程序透明+可稽核」:公開定義 檔、記錄 model ID 與執行時間、保存全部原始輸出。
資料儲存與模型
- Commit 判準:凡能由「committed 的輸入+committed 的 程式」決定性再生者,不 commit;凡不能者——源頭資料、 外部世界的捕捉(Wikidata 快照、LLM 原始輸出)、人工 著作——一律以文字格式 commit。格式跟著層次走。
- 分層:
- 源頭:原始榜單 CSV(進 git)。
- 捕捉:Wikidata 快照 CSV、
runs/JSONL(皆進 git); 歌詞.txt快取(版權因素 gitignored,為已知的稽核 缺口)。 - 人工:
data/manual/(僅研究者親手寫入:編碼修正、 演唱者性別修正)。 - 工作儲存:SQLite 單檔(
tools/instance/,generated、 不進 git),SQLAlchemy 2.0 typed ORM 定義 schema, 設定經 pydantic-settings(.env供應SQLALCHEMY_DATABASE_URL與ANTHROPIC_API_KEY)。 歌詞全文入 DB(不進 git 故無版權疑慮)。 - 衍生:
build-db建置工作儲存的同一動作產出人讀報表 (data/derived/,進 git),與 SQLite 同交易語意。 - 報表:論文引用的定案表進
results/——codings.csv(步驟 3 定案編碼)、groups.csv(步驟 4 定案編碼群)、patterns.csv(步驟 5-3 定案 樣態表)、annotations.csv(步驟 5-4 定案歌×樣態 矩陣)。衍生與報表為「可再生仍 commit」的例外,理由: 引用穩定性、審稿人零門檻、撰稿期數字變動可 diff。
- 資料模型:
songs(含 lyrics、performer_gender—— 演唱聲音之性別,由署名藝人之 Wikidata 性別推導後套用data/manual/performer-gender-corrections.csv手工修正)、chart_entries、artists、song_artists、codings、groups(語意編碼群)、patterns(深讀樣態)、annotations(歌×樣態定案矩陣)。領域不變量(恰 1000 筆榜單、每歌至少一 primary 歌手等)檢查內建於build-db,違規即建置失敗。 - 歌手背景防火牆:歌手背景資料只進人工解讀階段, 絕不進 LLM 輸入——LLM 任務的 user message 維持 歌詞-only 或管線中間產物-only,避免光環偏誤。
- Pilot 歌詞沿用(私人匯入,不進發布管線):先導研究
捕捉檔(lyrics.json,684 首,2018–2025)以私人腳本
匯入歌詞快取;讀者的重現路徑純粹是
fetch-lyrics;沿用之事實記於data/captures/lyrics-provenance.csv(進 git)。 - 子命令(
pop-fem-audit-tools <cmd>):build-db(--codings、--groups、--gender-corrections、--patterns、--annotations)、cluster-keywords、export-llm-input、fetch-artists、fetch-lyrics、run-llm(--model於模型登錄表中擇一)、tally-codings、tally-groups、tally-annotations。
分析管線(五步驟,全部完成)
- 自由標註(步驟 1):逐首歌請模型標註 thematic keywords,附歌詞引述;提示零語意內容。獨立執行兩次, 兩次輸出全數進池。
- 詞彙表建構(步驟 2):聯集去重後以句向量模型嵌入、
階層式聚合分群 k=100,組名取 medoid;再併入研究者先驗
主題詞
women-power(據實揭露的儀器介入),共 101 碼。 - 編碼(步驟 3):以定稿詞彙表對全 883 首編碼,逐
標籤附引述,×3+多數決(
tally-codings),定案results/codings.csv。「女性力量」候選集(wp 66 首、 fe 144 首、wp∪fe 145 首)由此浮現。 - 語意編碼群(步驟 4):LLM 依編碼字面語意將 101 碼
選入研究者指定的四個主題群(women-power/misogyny/
masculine/vulnerable),×3+多數決(
tally-groups), 定案results/groups.csv;wp/fe 與各編碼、各編碼群之 關聯統計(BH-FDR 校正)入論文。 - 女性主義問題之質性深讀(步驟 5):對 wp∪fe 145 首
——5-1 逐首盲讀(僅歌詞全文)×3;5-2 逐首整合(收斂
註記、主清單限兩讀以上);5-3 樣態統整(全體基底+
男聲/女聲/混合三個發話脈絡分組);5-4 樣態標註——
以分組樣態表逐首標註「有問題」的 111 首,×3+多數決
(
tally-annotations),定案results/patterns.csv與results/annotations.csv。
定義檔命名 prompts/<步>-<次步>-<task>.md,編號的所指是
工序而非定義檔(確定性的第 2 步無定義檔仍佔編號);檔名
不帶版本號——版本即 git 歷史;每次執行的定義檔快照隨
runs/ 自我完備,token 費用逐筆記於 docs/run-costs.md。
時程與剩餘工作
- 全文截稿 2026-08-15;已向主辦致歉延後一至二日交件。
- 分析管線與定案表全部完成;剩餘為論文撰寫:「挪用與 污染」結論(步驟 5 素材已備)、信度說明、fe 與新自由 主義敘事之詮釋標註。
其他已定案事項
- 歌詞受版權保護:完整歌詞不進 git
(
data/captures/lyrics/gitignored),論文與 repo 只留 分析所引摘錄。