review-salience-xlsx について
商品レビューにおける属性への言及度を測り、スコア行列、PCA、K-means の結果を作成するスキルです。原文を保持し、言及の強さと満足度を区別します。
主な機能
- 01固定した属性一覧に沿った0~7の採点
- 02レビュー別属性行列と商品平均の作成
- 03属性行列のPCA
- 04主成分座標を使ったK-meansクラスタリング
- 05データの完全性と分析上の制約の確認
活用シーン
- 01商品レビュー間で属性への注目度を比較
- 02一緒に言及される属性パターンを整理
- 03属性の言及パターンに基づくレビュー分類
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ timlai666/ skills --skill review-salience-xlsxインストール後、Claude Code で/review-salience-xlsxを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/external-scorer.mdpca-kmeans.mdworked-example.mdxlsx-format.mdscripts/salience_analysis.pyscoring_io.pytest_salience_analysis.pytest_scoring_io.py詳細
プロジェクトの README よりReview Salience → PCA → K-means
Overview
把每篇評論對各項屬性的提及程度評為 0–7 分,依需求交付 Excel 矩陣、PCA 主成分分析或 K-means 分群。PCA 用來整理常一起被提及的屬性,分群則依這些提及模式整理評論。
三個階段可分別執行。只要評分就完成評分,只要分析既有矩陣就先檢查矩陣,不重做已完成的階段。
Input Contract
確認本次需要評分、Excel、PCA、分群中的哪些成果,並取得對應資料:
- 評分:各產品的完整評論,以及有順序的屬性目錄。
- PCA:已檢查的評論 × 屬性分數矩陣。
- 分群:PCA 產生的每篇評論座標,及可對照的評論識別資料。解讀群體時另需原始評分矩陣。
屬性目錄使用固定的 id 與 label,例如 01、耐用度。沒有目錄時先閱讀評論整理項目,評分開始後不增刪或重排。
每列保留 review_id、product、完整 review_text,評分欄依目錄排列為 s01、s02 等。沒有既有識別碼時,可按產品及原始順序建立穩定編號。每篇評論是一筆分析單位,不預設每篇都來自不同顧客。
Data Sufficiency Gate
- 保留所有非空白評論,不因字數少或語言不同而排除。空白列另計數,無法解讀的內容應標示待確認,不用 0 分代替評分失敗。
- 分數必須是 0–7 的整數,每篇的分數數量及順序都要與目錄一致。小數、布林值、缺值或缺列必須處理完才能進入統計。
- PCA 沒有足夠樣本或可變動的屬性時,保留評分成果並說明不能分析的原因。
- 無法形成符合條件的多個群體時,回報未形成有效分群。保留每篇的結果,不把強制停止寫成成功分群。
Workflow
1. 匯入完整評論
列出各產品的原始、空白及保留篇數,保留評論原文和來源順序。CSV 可使用 scoring_io.py 的 load_reviews。檔案格式或文字欄不明確時,先確認實際欄位,避免讀錯內容。
2. 固定目錄,逐篇評分
依完整語意判讀每個屬性,不以關鍵字出現次數代替閱讀。正面、負面或中立的內容都可能被明確提及。
| 分數 | 提及程度 |
|---|---|
| 0 | 完全沒有提到 |
| 1–3 | 略微或間接提到 |
| 4 | 清楚提到,但著墨有限 |
| 5–6 | 明確討論 |
| 7 | 是評論的主要關注點,或有充分強調 |
假設評論寫「拉鍊非常好拉」或「拉鍊完全拉不動」,兩者都可能高度提及拉鍊。分數衡量的是提及程度,不能據此判定滿意或不滿意。
評分器的輸入是評論原文與固定屬性目錄,輸出是依目錄順序排列的整數串列。可由目前的 agent 閱讀評分,或使用外部評分器,兩者遵守相同檢查。批次工作分段保存進度,重跑時依識別碼確認已完成哪些評論。
外部 API 或 CSV 交接時,讀外部評分器。需要校準判讀時,讀評分與分析案例,只參考有原文支持的判讀,不把案例群數當成本次答案。
3. 交付需要的矩陣
需要 .xlsx 時才載入當前可用的試算表技能,並依 Excel 格式建立「評論 × 屬性」及「產品平均提及程度」兩張工作表。
產品平均包含該產品所有已評分評論,沒有提到的 0 分也計入。平均值描述整批評論的提及程度,不是品質分數。
4. PCA(需要時)
依 PCA 與 K-means使用 salience_analysis.py。先標準化可分析的屬性,再以特徵值大於 1 作為主成分保留依據。記錄排除的固定值屬性、保留數、解釋變異及限制。
主成分依正負負荷量所對應的屬性命名。其正負號不能當成好壞評價。保存每篇評論的主成分座標,供需要的分群階段使用。
5. K-means(需要時)
以主成分座標分群,在樣本數與不同座標數允許的範圍內比較群數。依統計指標及可解釋性選擇起始群數,記錄理由。
沿用小群低於全樣本 5% 時的逐次排除與重訓流程。完成後用最終模型重新指派全部評論,檢查最終群體大小,每篇都要有對應結果。只剩一群時,明確回報無法形成多群。
以主成分位置、原始屬性平均及產品分布描述各群「談論什麼」。要談滿意度、購買動機或人物特徵,必須另有原文或資料支持。
Output Contract
只交付本次要求的階段成果:
- 評分:完整原文、識別碼、固定目錄、逐篇分數及產品篇數。
- Excel:完整矩陣與產品平均,欄位順序與評分資料一致。
- PCA:主成分數、負荷量、解釋變異、每篇座標及未能分析的原因。
- 分群:每篇歸屬、群體大小、各群提及模式、重訓紀錄及完成狀態。
使用當前環境的檔案連結或交付工具提供成果。只有檔案含公式時才需要重算與檢查公式結果。需要 Word 時再載入文件技能,不為單純評分或統計額外產生 Word。
Quality Rules
- 原文與評分分開保存,不能為了版面截斷唯一的原始資料。
- 所有語言使用相同評分定義。短評論可以有高分,長評論也可能沒提到某個屬性。
- 全部評論的順序與識別碼在評分、PCA、分群間保持一致,沒有遺失、重複或錯配。
- 統計結果只能支持提及模式的描述,不能把高分、高主成分座標或特定群體當成高滿意度。
- 確認完成狀態、實際分析篇數與最終群體大小,不以程式正常結束代替驗收。