賽題
2025 iFLYTEK AI開發者大賽https://challenge.xfyun.cn/topic/info?type=video-comment-insight
一、賽事背景
在電商直播爆發式增長的數字化浪潮下,短視頻平臺積累了海量帶貨視頻及用戶互動數據。這些數據不僅是消費者對商品體驗的直接反饋,更蘊含著驅動商業決策的深層價值。在此背景下,基于帶貨視頻評論的用戶洞察分析,已成為品牌優化選品策略、評估網紅帶貨效能的關鍵突破口。
帶貨視頻評論用戶洞察的核心邏輯,在于對視頻內容與評論數據的聯合深度挖掘。通過智能識別視頻中推廣的核心商品,結合評論區用戶的情感表達與觀點聚合,企業能夠精準捕捉消費者對商品的真實態度與需求痛點。這種分析方式不僅能揭示用戶對商品功能、價格、服務的多維評價,還可通過情感傾向聚類,構建消費者偏好畫像,為選品策略優化和網紅合作評估提供數據支撐。
本挑戰賽聚焦"商品識別-情感分析-聚類洞察"的完整鏈條:參賽者需先基于視頻內容建立商品關聯關系,進而從非結構化評論中提取情感傾向,最終通過聚類總結形成結構化洞察。這一研究路徑將碎片化的用戶評論轉化為可量化分析的商業智能,既可幫助品牌穿透數據迷霧把握消費心理,又能科學評估網紅的內容種草效果與帶貨轉化潛力,實現從內容營銷到消費決策的全鏈路價值提升。在直播電商競爭白熱化的當下,此類分析能力正成為企業構建差異化競爭優勢的核心武器。
二、賽事任務
參賽者需基于提供的帶貨視頻文本及評論文本數據,完成以下三階段分析任務:
1)【商品識別】精準識別推廣商品;
2)【情感分析】對評論文本進行多維度情感分析,涵蓋維度見數據說明;
3)【評論聚類】按商品對歸屬指定維度的評論進行聚類,并提煉類簇總結詞。
三、評審規則
1.平臺說明
參賽選手可基于星火大模型Spark 4.0 Ultra、星火文本向量化模型、其他開源大模型,或采用傳統機器學習與深度學習方法完成任務,亦可通過微調開源模型進行洞察分析。
關于星火大模型Spark 4.0 Ultra和文本向量化模型的資源,組委會將為報名參賽選手統一發放API資源福利,選手用參賽賬號登錄訊飛開放平臺個人控制臺:控制臺-訊飛開放平臺?,點擊應用,查詢API能力和接口文檔。
微調資源不統一發放,參賽期間選手如希望使用訊飛星辰MaaS平臺進行微調,可前往訊飛星辰MaaS平臺-官網?,完成實名認證后領取微調代金券資源并開啟答題。請注意統一用參賽賬號登錄星辰MaaS平臺;如在比賽前已參與活動則無法重復領取。星辰代金券消耗完畢后,如需繼續使用,選手自行選擇按需付費。
2.數據說明
本次挑戰賽為參賽選手提供包含85條脫敏后的帶貨視頻數據及6477條評論文本數據,數據包括少量有人工標注結果的訓練集(僅包含商品識別和情感分析的標注結果)以及未標注的測試集。所有數據均經過脫敏處理,確保信息安全,其格式說明如下:
1)帶貨視頻內容文本信息的數據格式
序號 | 變量名稱 | 變量格式 | 解釋 |
---|---|---|---|
1 | video_id | string | 視頻id |
2 | video_desc | string | 視頻描述 |
3 | video_tags | string | 視頻標簽 |
4 | product_name | string | 推廣商品名稱 |
注:product_name需根據提供的視頻信息進行提取,并從匹配到商品列表[Xfaiyx Smart Translator, Xfaiyx Smart Recorder]中的一項。
2)評論區文本信息的數據格式
序號 | 變量名稱 | 變量格式 | 解釋 |
---|---|---|---|
1 | video_id | string | 視頻id |
2 | comment_id | string | 評論id |
3 | comment_text | string | 評論文本 |
4 | sentiment_category | int | 關于商品的情感傾向分類 |
5 | user_scenario | int | 是否與用戶場景有關,0表示否,1表示是 |
6 | user_question | int | 是否與用戶疑問有關,0表示否,1表示是 |
7 | user_suggestion | int | 是否與用戶建議有關,0表示否,1表示是 |
8 | positive_cluster_theme | string | 按正面傾向聚類的類簇主題詞 |
9 | negative_cluster_theme | string | 按負面傾向聚類的類簇主題詞 |
10 | scenario_cluster_theme | string | 按用戶場景聚類的類簇主題詞 |
11 | question_cluster_theme | string | 按用戶疑問聚類的類簇主題詞 |
12 | suggestion_cluster_theme | string | 按用戶建議聚類的類簇主題詞 |
注:
a.需進行情感分析的字段包括sentiment_category、user_scenario、user_question和user_suggestion。訓練集中部分數據已提供標注,測試集需自行預測。其中字段sentiment_category情感傾向分類的數值含義見下表:
分類值 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
含義 | 正面 | 負面 | 正負都包含 | 中性 | 不相關 |
b.需進行聚類的字段包括:
- positive_cluster_theme:基于訓練集和測試集中正面傾向(sentiment_category=1 或 sentiment_category=3)的評論進行聚類并提煉主題詞,聚類數范圍為 5~8。
- negative_cluster_theme:基于訓練集和測試集中負面傾向(sentiment_category=2 或 sentiment_category=3)的評論進行聚類并提煉主題詞,聚類數范圍為 5~8。
- scenario_cluster_theme:基于訓練集和測試集中用戶場景相關評論(user_scenario=1)進行聚類并提煉主題詞,聚類數范圍為 5~8。
- question_cluster_theme:基于訓練集和測試集中用戶疑問相關評論(user_question=1)進行聚類并提煉主題詞,聚類數范圍為 5~8。
- suggestion_cluster_theme:基于訓練集和測試集中用戶建議相關評論(user_suggestion=1)進行聚類并提煉主題詞,聚類數范圍為 5~8。
注意,聚類樣本包含訓練集和測試集的全部滿足上述條件的評論樣本。
3.評估指標
本挑戰賽依據參賽者提交的結果文件,采用不同評估方法對各階段任務進行評分。最終得分由三部分相加,總分300分。具體評估標準如下:
1)商品識別(100分)
結果采用精確匹配評估,每個正確識別的商品得1分,錯誤識別的商品得0分。該階段總評分計算公式如下:
2)情感分析(100分)
結果評估采用加權平均F1-score,衡量分類模型的整體性能。該階段總評分計算公式如下:
其中F1?為維度i的分析結果的加權F1-score,N為情感類別總數。
3)評論聚類(100分)
結果評估采用輪廓系數(僅計算商品識別和情感分析均正確的評論聚類結果),衡量聚類結果的緊密性和分離度。該階段總評分計算公式如下:
其中Silhouette coefficient?為維度i的聚類結果的輪廓系數,M為需聚類的維度總數。
4.評測及排行
1)本賽題均提供下載數據,選手在本地進行算法調試,在比賽頁面提交結果。
請注意:測試集僅可用于輸出最終的推理結果,不可以任何形式參與訓練過程。
2)排行按照得分從高到低排序,排行榜將選擇團隊的歷史最優成績進行排名。
四、作品提交要求
1.文件格式:提交submit.zip壓縮包文件,內含submit文件夾,文件內為submit_videos.csv(內含字段video_id, product_name)和submit_comments.csv(內含字段video_id, comment_id, sentiment_category, user_scenario, user_question, user_suggestion, positive_cluster_theme, negative_cluster_theme, scenario_cluster_theme, question_cluster_theme, suggestion_cluster_theme)文件
2.文件大小:無要求
3.提交次數限制:每支隊伍每天最多3次
4.文件詳細說明:編碼為UTF-8,第一行為表頭
5.關于大模型的使用說明&限制
1)為了排除人工校驗、修正等作弊方式,本次比賽除了提交答案之外,排行榜前3名選手需提供完整的源代碼,要求洞察分析結果必須可以準確復現。
2)允許使用微調開源模型的方式進行洞察分析,微調的開源模型不做限制。
baseline
import pandas as pd
video_data = pd.read_csv("origin_videos_data.csv")
comments_data = pd.read_csv("origin_comments_data.csv")
目標:讀取視頻數據(video_data)和評論數據(comments_data),其中視頻數據包含視頻描述、標簽等信息,評論數據包含評論文本及部分標注結果。
問題:部分視頻的product_name為空,需通過模型預測填補。
video_data["text"] = video_data["video_desc"].fillna("") + " " + video_data["video_tags"].fillna("")
目標:將視頻描述(video_desc)和標簽(video_tags)合并為統一文本特征,用于商品識別模型訓練。
優化建議:
可添加停用詞過濾或同義詞擴展(如“翻譯器”與“Translator”映射),提升模型泛化能力。
考慮使用TF-IDF加權而非簡單拼接,以捕捉關鍵詞重要性。
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import SGDClassifier
from sklearn.pipeline import make_pipelineproduct_name_predictor = make_pipeline(TfidfVectorizer(tokenizer=jieba.lcut, max_features=50), SGDClassifier()
)
product_name_predictor.fit(video_data[~video_data["product_name"].isnull()]["text"],video_data[~video_data["product_name"].isnull()]["product_name"],
)
video_data["product_name"] = product_name_predictor.predict(video_data["text"])
目標:基于視頻文本信息(描述+標簽)預測推廣商品名稱(Xfaiyx Smart Translator或Xfaiyx Smart Recorder)。
關鍵點:
文本向量化:使用jieba分詞和TF-IDF提取文本特征(最大特征數50)。
分類模型:采用線性SVM(SGDClassifier)進行二分類。
問題與優化:
數據不足:標注樣本較少(僅85條視頻數據),可能導致模型過擬合。
優化建議:
增加數據增強(如替換近義詞、調整語序)。
集成星火大模型(Spark 4.0 Ultra)進行文本特征提取或直接調用商品識別API。
for col in ['sentiment_category', 'user_scenario', 'user_question', 'user_suggestion']:predictor = make_pipeline(TfidfVectorizer(tokenizer=jieba.lcut), SGDClassifier())predictor.fit(comments_data[~comments_data[col].isnull()]["comment_text"],comments_data[~comments_data[col].isnull()][col],)comments_data[col] = predictor.predict(comments_data["comment_text"])
目標:對評論進行多維度分類,包括:
情感傾向(sentiment_category):1(負面)、2(中性)、3(正面)、5.0(強烈正面)。
用戶場景相關性(user_scenario):0(否)、1(是)。
用戶疑問(user_question):0(否)、1(是)。
用戶建議(user_suggestion):0(否)、1(是)。
關鍵點:
使用TF-IDF向量化評論文本,訓練獨立的SGD分類器。
問題與優化:
類別不平衡:部分標注可能偏向某些類別(如正面評論較多),需調整類別權重(class_weight='balanced')。
模型選擇:可嘗試更復雜的模型(如隨機森林、神經網絡)或集成星火大模型的文本分類能力。
kmeans_predictor = make_pipeline(TfidfVectorizer(tokenizer=jieba.lcut), KMeans(n_clusters=2)
)
kmeans_predictor.fit(comments_data[comments_data["sentiment_category"].isin([1, 3])]["comment_text"])
目標:對情感傾向為1(負面)或3(正面)的評論進行聚類,提取主題詞。
主題詞提取邏輯:
計算聚類中心的TF-IDF權重,選取前10個高頻詞作為主題詞。
問題與優化:
簇數選擇:固定n_clusters=2可能不適用于所有視頻,建議動態調整簇數(如基于輪廓系數)。
主題相關性:部分主題詞可能與商品無關(如“謝謝”),需過濾停用詞或結合領域知識優化。
video_data[["video_id", "product_name"]].to_csv("submit/submit_videos.csv", index=None)
comments_data[['video_id', 'comment_id', 'sentiment_category', 'user_scenario', 'user_question', 'user_suggestion', 'positive_cluster_theme', 'negative_cluster_theme', 'scenario_cluster_theme', 'question_cluster_theme', 'suggestion_cluster_theme'
]].to_csv("submit/submit_comments.csv", index=None)
目標:輸出視頻商品預測結果和評論分析結果。
驗證建議:
檢查輸出文件是否包含所有必填字段(如positive_cluster_theme)。
確保未標注數據(測試集)的預測結果已正確填充。
!mkdir submit
!zip -r submit.zip submit/
壓縮submit/目錄中的兩個CSV文件(submit_videos.csv和submit_comments.csv)。
后續修改思路
一、商品識別優化:規則+模型混合策略
-
規則匹配(
rule_based_product
)- 技術細節:
- 構建商品關鍵詞詞典(如
"翻譯"
對應"translator"
),通過統計關鍵詞出現次數進行匹配。 - 采用大小寫不敏感的
count
方法,確保多語言兼容性(如德語übersetzer
、意大利語traduttore
)。
- 構建商品關鍵詞詞典(如
- 修改原因:
- 解決數據不足問題:原始模型僅依賴85條標注數據,容易過擬合。規則匹配利用商品名稱與關鍵詞的強關聯性,直接覆蓋明確樣本。
- 提升泛化能力:通過多語言關鍵詞覆蓋不同地區的視頻描述(如含德語、意大利語的視頻)。
- 技術細節:
-
混合策略(規則優先,模型兜底)
- 技術細節:
- 規則無法判斷的模糊樣本(如關鍵詞計數相等)交由模型處理。
- 模型訓練僅使用標注數據(
train_mask
),避免污染測試集。
- 修改原因:
- 降低模型復雜度:規則過濾后,模型僅需處理少量模糊樣本,減少訓練難度。
- 提升準確性:規則覆蓋明確場景,模型補充復雜場景,形成互補。
- 技術細節:
二、情感分析優化:模型定制與異常處理
-
模型選擇優化
- 技術細節:
- 多分類任務(
sentiment_category
):- 使用
RandomForestClassifier
(100棵樹),結合ngram_range=(1,2)
捕捉上下文關聯(如“語音翻譯”)。 class_weight="balanced"
解決類別不平衡問題。
- 使用
- 二分類任務(用戶場景/疑問/建議):
- 使用
SGDClassifier(loss="log_loss")
,等效于邏輯回歸,適合輕量級任務。 - 添加
stop_words="english"
過濾無意義英文停用詞(如"I"
,?"the"
)。
- 使用
- 多分類任務(
- 修改原因:
- 提升模型性能:隨機森林適合多分類任務的復雜模式,而邏輯回歸適合二分類任務的高效訓練。
- 避免過擬合:通過
ngram
和stop_words
控制特征維度,平衡模型復雜度。
- 技術細節:
-
標簽類型與異常處理
- 技術細節:
- 將標簽轉換為
int
類型(astype(int)
),避免浮點數誤差。 - 對
sentiment_category
的預測結果進行范圍校驗(apply(lambda x: x if 1<=x<=5 else 5)
)。
- 將標簽轉換為
- 修改原因:
- 確保輸出格式合規:提交文件要求整數類型,避免因類型錯誤導致評分失敗。
- 修正異常預測:模型可能因噪聲數據輸出非法值(如
0
或6
),通過校驗確保結果在[1,5]范圍內。
- 技術細節:
三、評論聚類優化:動態聚類數與關鍵詞提取
-
動態選擇聚類數(
find_optimal_k
)- 技術細節:
- 基于**輪廓系數(Silhouette Score)**評估聚類質量,自動選擇[5,8]區間內的最佳
k
值。 - 使用TF-IDF向量化文本,結合
KMeans
計算聚類標簽。
- 基于**輪廓系數(Silhouette Score)**評估聚類質量,自動選擇[5,8]區間內的最佳
- 修改原因:
- 適應不同數據分布:固定
n_clusters=2
可能導致過度簡化(如用戶疑問評論需更多簇)。 - 提升聚類有效性:輪廓系數量化聚類緊密度,避免人工選擇不合理的簇數。
- 適應不同數據分布:固定
- 技術細節:
-
關鍵詞提取優化(
get_cluster_keywords
)- 技術細節:
- 計算每個詞的平均TF-IDF值,而非簡單取前N個高頻詞。
- 通過
X.mean(axis=0)
獲取全局重要性,過濾低權重詞匯(如停用詞)。
- 修改原因:
- 增強主題相關性:平均TF-IDF反映詞對聚類的整體貢獻,而非局部高頻(如標點符號)。
- 減少噪聲干擾:避免因個別文檔中高頻但無意義的詞(如
"it"
)主導主題。
- 技術細節:
-
數據類型兼容性處理
- 技術細節:
- 在賦值前將目標列(如
positive_cluster_theme
)轉換為str
類型。
- 在賦值前將目標列(如
- 修改原因:
- 避免
KeyError
和FutureWarning
:原始列可能包含NaN
或float
類型,導致字符串列表賦值失敗。
- 避免
- 技術細節:
四、其他優化:文本清洗與噪聲處理
-
強化文本清洗(
clean_text
/clean_comment
)- 技術細節:
- 去除HTML標簽(如
<br>
)、特殊符號(非字母數字和中文)。 - 移除單字符(如
"I"
)和多余空格,保留有效詞匯。
- 去除HTML標簽(如
- 修改原因:
- 提升特征質量:噪聲字符(如
"ü."
)會干擾TF-IDF和模型訓練。 - 增強跨語言兼容性:保留中文字符,支持多語言評論分析。
- 提升特征質量:噪聲字符(如
- 技術細節:
-
代碼執行順序調整
- 技術細節:
- 在商品識別前顯式創建
video_data["text"]
列,并應用清洗函數。
- 在商品識別前顯式創建
- 修改原因:
- 避免
KeyError
:原始代碼可能因執行順序錯誤導致"text"
列未定義。
- 避免
- 技術細節:
分數
上漲了約40分,暫時排名前5%
參考文章
2025 iFLYTEK AI開發者大賽https://challenge.xfyun.cn/topic/info?type=video-comment-insight&option=ssgy&ch=dwsfsp25-1Datawhale-AI活動
https://www.datawhale.cn/activity/324/learn/191/4330ModelScope 魔搭社區ModelScope——匯聚各領域先進的機器學習模型,提供模型探索體驗、推理、訓練、部署和應用的一站式服務。在這里,共建模型開源社區,發現、學習、定制和分享心儀的模型。
https://www.modelscope.cn/my/mynotebook/preset