Rebuild the vocabulary step on embeddings and drop the screen track

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-17 22:38:28 +08:00
co-authored by Claude Opus 5
parent 4313d58471
commit 14a3cbe121
19 changed files with 236 additions and 275 deletions
+41 -45
View File
@@ -13,12 +13,12 @@
- **執行原則**:主會話只做討論;所有分析由 deterministic script
執行。LLM 步驟以 Python script 呼叫 Anthropic Messages API
(個人 Console 帳號、Batch API 五折),定義檔逐字作為 system
prompt。2+1 協定適用於語料層的逐首判斷(編碼、篩選):
prompt。2+1 協定適用於語料層的逐首判斷(編碼):
「同一定義檔獨立執行兩次+一次仲裁」,仲裁只裁程式算出
的分歧。自由生成步驟(自由標註)兩次執行全數進池、不
仲裁——自由詞彙兩次輸出不共享比對單位,無物可裁。詞彙
表建構(收斂)為單次記錄性程序,不重複執行——詞彙表是
揭露的儀器選擇,非量測;信度檢驗施於編碼層(詳見
表建構不經 LLM,改由詞向量嵌入+確定性分群產生——詞彙
表是揭露的儀器選擇,非量測;信度檢驗施於編碼層(詳見
`methodology.md`)。仲裁或驗證結果不符預期則修訂定義檔
重跑該循環。
- **提示詞只定格式、不定語意**:研究對象是通用 LLM 以其
@@ -86,55 +86,49 @@
`export-llm-input`(階段 2 前補上);之後再加報表 export
與統計。
## 自然編碼管線(2026-08-04 定案)
## 自然編碼管線(2026-08-05 定案)
主題編碼採步驟管線,歌詞只出現在第 1、4 步;第 2、3
是純概念整理(目標是產生 codebook 詞彙表,不是編碼)
主題編碼採步驟管線,歌詞只出現在第 1、3 步;第 2 步
確定性計算(詞向量分群),不接觸歌詞也不呼叫 LLM
1. **自由標註(tag**:逐首歌請模型標註 thematic
1. **自由標註(步驟 1**:逐首歌請模型標註 thematic
keywords,附歌詞引述;提示零語意內容。獨立執行兩次,
兩次輸出全數進池(記錄執行別),不仲裁。粒度鎖定
thematic keywords:前導研究三粒度比較(keywords 過碎、
themes 過早抽象)之繼承,於執行前鎖定,防止事後擇優。
2. **自然收斂(merge**:輸入為池中純去重關鍵字清單——
無歌詞、無頻次、無歌曲出處——模型按自身理解合併近似
概念,執行內自行為各組命名。單次執行,不仲裁;確定性
驗證(完整分割、組名唯一)違規即修訂重跑(詳見
`methodology.md`
3. **強制收斂(cap**:同第 2 步形態,輸入為 merge
輸出的組名清單(原始關鍵字不下傳),限制併至 50 個
以內。單次執行,不仲裁。頻次不入收斂:頻率的分析角色由第 4 步編碼承擔;
池中頻次含跨執行噪音;頻次會誘使模型以頻率剪枝(喪失
稀有主題)並把高頻大主題切細。代價(特異主題佔名額)
已知並接受,換取主題多樣性與純語意歸併的可辯護性。
4. **編碼(code**:以定稿詞彙表對全部歌曲 2+1 編碼——
模型讀歌詞、逐標籤附引述;逐首計一致率,分歧逐首仲裁
(仲裁者看歌詞與兩邊引述)。此為主儀器,「女性力量」
候選集由此浮現;亦是對前導研究「映回後未對照歌詞」
限制的明文改良。沿收斂軌跡的機械對映(純程式)保留為
零成本診斷副產品,量測收斂軌跡的扭曲,不作主結果。
2. **詞彙表建構(步驟 2**:兩次執行的關鍵字取聯集去重
(步驟 2-1 進池),以句向量模型嵌入後階層式聚合分群
(步驟 2-2),k=50,組名取 medoid。完整分割由演算法
結構保證。頻次不入收斂:頻率的分析角色由步驟 3 編碼
承擔;池中頻次含跨執行噪音
3. **編碼(步驟 3**:以定稿詞彙表對全部歌曲 2+1 編碼
——模型讀歌詞、逐標籤附引述;逐首計一致率,分歧逐首
仲裁(仲裁者看歌詞與該標籤引述)。此為主儀器,
「女性力量」候選集由此浮現;亦是對前導研究「映回後
未對照歌詞」限制的明文改良。沿收斂軌跡的機械對映
(純程式)保留為零成本診斷副產品,量測收斂軌跡的
扭曲,不作主結果。
另設**「女性力量」單目標篩選(screen)**:單目標提示、
附引述、全量執行,僅作為黃金標準取樣的補漏網——把「模型
被明示提醒後認得出」的歌撈進人工審視範圍,以量測模型漏標
方向的偏差;不進偏差統計的分子分母定義。逐首 2+1(有/無
+引述,逐首仲裁);同樣不給定義,提示僅含標籤詞與任務
形狀。標籤詞用 `women-power`——研究者任意決定的先驗
主題,即本研究的論文主題本身,不由資料產生。其結果僅作
召回之用,永不進任何統計的分子分母。標籤詞是 screen
提示中唯一的語意種子,屬研究者的儀器選擇,據實揭露。
**先驗主題詞 `women-power` 併入詞彙表**:定案詞彙表為
50 個分群組名再加上 `women-power`,共 51 個碼。該詞是
研究者任意決定的先驗主題,即本研究的論文主題本身,不由
資料產生,屬據實揭露的儀器介入。不另設單目標篩選軌,理由是
讓研究者的主題詞與模型自己收斂出的類別在同一份提示詞、
同一個判斷體制下受檢——單目標提問會把該主題的顯著性
人為抬高,「被放大檢視」的結果不足以與其他主題並比。
候選集的定義見 `methodology.md`
定義檔命名 `prompts/<軌>-<步>-<次步>-<task>.md`——
01=由下而上自然編碼、02=預先決定的 women-power 篩選;
步為軌內步驟序,次步為步內執行順序,讀者依編號先後依循:
01-01-01-tag.md、01-02-01-merge.md、01-03-01-cap.md、
01-04-01-code.md、01-04-02-code-arb.md、
02-01-01-screen.md、02-01-02-screen-arb.md;仲裁定義檔
同 prefix 加 `-arb`。檔名不帶版本號——版本即 git 歷史,
失敗的版本不保留,需要回看的舊版都在 git history;每次
執行的定義檔快照隨 `runs/` 自我完備。收斂執行的輸出本身
即分組記錄(具名分組 JSON),與全部中間交接檔同隨
`runs/` 歸檔(交接契約見 `methodology.md`)。
定義檔命名 `prompts/<步>-<次步>-<task>.md`——步為研究
程序的工序序,次步為步內執行順序(僅一個執行時省略),
讀者依編號先後依循:01-tag.md、03-01-code.md、
03-02-code-arb.md;仲裁定義檔同 prefix 加 `-arb`。檔名
與目錄名補零只為排序,正文一律寫「步驟 1」「步驟 3-2」。
編號的所指是工序而非定義檔,因此確定性的第 2 步雖無
定義檔仍佔一個編號,其歸檔為 `runs/02-01-pool/`
`runs/02-02-cluster/`。檔名不帶版本號——版本即 git
歷史,失敗的版本不保留,需要回看的舊版都在 git history
每次執行的定義檔快照隨 `runs/` 自我完備。全部中間交接檔
同隨 `runs/` 歸檔(交接契約見 `methodology.md`)。
## 階段與時程(全文截稿 2026-08-15
@@ -142,7 +136,7 @@
|---|---|---|---|
| 0 | 基礎建設:git init、目錄結構、.gitignore、決策日誌、runner script(含 Batch API)、codebook v0 骨架 | script + 討論 | 7/307/31 |
| 1 | 資料準備:`run_llm` 改走統一設定 → `build-db`(解析榜單成 songs/chart_entries/artists/song_artists)→ `import-lyrics`pilot 20182025)→ `fetch-lyrics`201617 與缺漏,Lyrics.ovh / LRCLIB)→ `fetch-artists`Wikidata 快照)→ `export-llm-input` | 子命令 | 7/318/3 |
| 2 | 自然編碼管線:tag ×2 進池 → merge ×1 → cap ×1 → 詞彙表定稿 → code 2+1(全 883 首,附引述);另跑 screen 補漏網 | API + script | 8/48/7 |
| 2 | 自然編碼管線:tag ×2 進池 → 詞向量分群 k=50 → 併入 women-power → 詞彙表定稿 → code 2+1(全 883 首,附引述) | API + script | 8/48/7 |
| 3 | 黃金標準:依 codebook 人工逐首判定 genuine/peripheral/fake,附引用歌詞證據表(LLM 只做摘錄,不給判定建議);先以 10–15 首校準樣本試編並修訂 codebook 後凍結;同批校準樣本實測 Sonnet 4.6 vs Opus 5 一致率 | 人工 + script 輔助 | 8/58/9 |
| 4 | 受控比較(盲點實驗):條件 A(詞彙層提示)vs 條件 B(框架感知提示),各 2+1,對照黃金標準計算假陽/假陰率 | API | 8/88/11 |
| 4' | 映射分析:自然編碼結果(第 4 步)與黃金標準交叉表;軌跡對映 vs 直接編碼的扭曲診斷(分析方法先寫入 methodology.md 再看結果) | script | 與 4 並行 |
@@ -172,3 +166,5 @@
論文與 repo 只留分類所引摘錄。
- Fable 5 不用於 pipeline:成本高、thinking 無法關閉且不可稽核、
無 temperature 控制,且會混淆「盲點是提示問題」的核心主張。
2026-08-05 實測確認:Claude 5 系模型拒收 temperature
與 thinking 關閉這兩個參數。)