Repair the coding output with a reviewed correction table
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -554,3 +554,25 @@
|
||||
代價,換得人工判定時證據在手。版權一項先前寫得不準:
|
||||
這些引述早已隨三份執行歸檔 commit,寫入定案表不增加
|
||||
任何新的歌詞重製。
|
||||
|
||||
## 2026-08-07
|
||||
|
||||
- **計票前套用人工校定的更正表,並驗證標籤在詞彙表內**:
|
||||
模型對定義檔的每一條明確要求都有非零的違規率,且
|
||||
temperature=0 未消除之(量測見 `output-validation.md`)。
|
||||
違規本身不是本研究的量測對象——模型的機率性屬方法層,
|
||||
研究問題是編碼;而引述存在的目的是讓人看見編碼的文本
|
||||
依據,一句在歌詞裏找不到的引述無法履行該目的。故凡
|
||||
可辨識其正確文本者一律還原。
|
||||
判準:**可據紀錄證明者才還原,僅依研究者判斷推知者
|
||||
不還原。** 更正一律不自行組字——替代必為該首歌詞的
|
||||
逐字子字串;標籤的改名須有同一筆紀錄的內證(模型於
|
||||
同一份輸出並列了正確與錯誤的拼寫),否則刪去。依此,
|
||||
跨行拼接與平行句混合共 13 筆指派無唯一來源,不予更正,
|
||||
於定案表中呈現為 6 列引述無法逐字對回歌詞,據實保留。
|
||||
更正表 936 列中,僅 13 筆 `keyword` 能改變票數,其餘
|
||||
923 筆只改變呈現的證據。效果:詞彙表外的碼 13 筆歸零,
|
||||
定案編碼 14,665 降為 14,664(`song-750` 的三票因拼寫
|
||||
更正而合流),逐字可對回的引述由 43,098 升至 44,122。
|
||||
更正表為外部參數而非寫死於程式——研究者的介入因此
|
||||
出現在重現命令上,且逐列可審、可 diff。
|
||||
|
||||
+30
-13
@@ -45,7 +45,8 @@
|
||||
組內一致性 0.41,成員橫跨籃球、海灘、外星人綁架);
|
||||
k 太大則人工難以通覽。定於 100,理由是實測顯示雜物櫃
|
||||
組於此始裂解為有主題的組,且編碼實測未見碼數過多的
|
||||
副作用(詞彙表外的碼歸零、僅一個碼零使用)。
|
||||
副作用——全量三次執行下 101 個碼全數用到;模型另行
|
||||
造出的碼共 13 筆,佔 44,149 筆標籤指派的 0.03%。
|
||||
- **組名**:取 medoid——與該組中心(成員向量均值後
|
||||
正規化)餘弦相似度最高的成員詞。組名因此必為模型
|
||||
自己產出過的關鍵字,非任何人事後撰寫。已知限制:
|
||||
@@ -148,18 +149,34 @@
|
||||
依歌曲 ID 升序。碼表以參數傳入而非填進定義檔——定義
|
||||
檔只規定任務形狀,換詞彙表、換演算法都不必改它。
|
||||
- **步驟 3 定案**:`tally-codings <執行歸檔 1> <執行歸檔
|
||||
2> <執行歸檔 3> <輸出 CSV>` 讀三份執行歸檔的
|
||||
`output.jsonl`,逐首取標籤鍵集合(引述不參與計票)。
|
||||
某首歌的某個標籤於三份中出現至少兩次即寫出一列,產出
|
||||
`results/codings.csv`,欄位 `Song`、`Artist Credit`、
|
||||
`Keyword`、`Quote`,一列一個標籤。歌名與演出者名銜
|
||||
逐首查工作儲存取得,故本子命令須在 `build-db` 之後
|
||||
執行。`Quote` 收該標籤在計票中的各份執行所給的歌詞
|
||||
引述:各份的引述串接後逐字去重,按 Unicode 碼位排序,
|
||||
以單一 `|` 相接(三份執行彼此無先後主從之別,引述之序
|
||||
取決於引述本身)。列序依印出的前三欄依序排:歌名、
|
||||
演出者名銜、標籤,一律以 Unicode 碼位比較,換行為
|
||||
CRLF(同專案其他 CSV)。
|
||||
2> <執行歸檔 3> <輸出 CSV> --corrections <更正表>
|
||||
--valid-keywords <合法碼清單>` 讀三份執行歸檔的
|
||||
`output.jsonl`,依序套用更正表、驗證所有標籤皆在合法碼
|
||||
清單之內、計票。
|
||||
- **更正表**:`data/manual/coding-corrections.csv`,研究者
|
||||
逐列校定的人工著作,欄位 `Song ID`、`Run`、`Type`、
|
||||
`To Be Replaced`、`Correct Term`。`Type` 為 `keyword`
|
||||
或 `evidence`,分別更正標籤與引述;`Correct Term` 為
|
||||
替代字串,或 `**REMOVE**` 表示刪去該筆標籤指派(`keyword`)
|
||||
或該句引述(`evidence`)。一筆 `evidence` 更正套用於該
|
||||
首歌該次執行的所有出現處。兩個文字欄以兩字元 `\n` 表示
|
||||
換行,故一列一行,純文字工具可逐列處理。表中任一列若
|
||||
在資料中找不到對應者,即中止;校定的判準記於
|
||||
`decision-log.md`。
|
||||
- **合法碼清單**:純文字、一行一個碼,自詞彙表產出:
|
||||
`{ cat runs/02-cluster/result-keywords.txt; echo
|
||||
women-power; } | sort`。
|
||||
- **定案表**:`results/codings.csv`,欄位 `Song`、
|
||||
`Artist Credit`、`Keyword`、`Quote`,一列一個標籤。歌名
|
||||
與演出者名銜逐首查工作儲存取得,故本子命令須在
|
||||
`build-db` 之後執行。`Quote` 為該標籤在計票中各份執行
|
||||
所引的歌詞行:各份的引述串接後逐字去重,按 Unicode
|
||||
碼位排序,以單一 `|` 相接(三份執行彼此無先後主從之
|
||||
別,引述之序取決於引述本身);`Quote` 欄以兩字元 `\n`
|
||||
表示換行,故一列一行,還原 `\n` 後即為該首歌歌詞的逐字
|
||||
片段。列序依印出的前三欄依序排:歌名、演出者名銜、
|
||||
標籤,一律以 Unicode 碼位比較,換行為 CRLF(同專案
|
||||
其他 CSV)。
|
||||
- **序列化通則**:所有中間檔為 UTF-8,欄序、鍵序與元素
|
||||
序皆依上列規則明定,無時間戳、無隨機成分;JSON 解析
|
||||
一律偵測重複鍵,違規即失敗。人讀為主的產物採純文字或
|
||||
|
||||
Reference in New Issue
Block a user