2025科大訊飛AI大賽<大模型技術方向>(Datawhale AI 夏令營)

賽事報名鏈接:2025 iFLYTEK AI開發者大賽-訊飛開放平臺

本賽事聚焦電商直播帶貨場景,要求基于帶貨視頻及評論文本數據,完成三階段任務

任務一:商品識別

數據方面的信息

數據來源:origin_videos_data.csv (帶貨視頻數據)

隨機展示10條記錄,我們不難發現這些評論有的來自不同國家且存在NAN(數據缺失)的情況。

對應策略:可引入不同語言的識別統一翻譯可以在一定程度上優化商品的識別。

商品識別方面的要求

運行生成 submit_videos.csv 文件,形如

video_id? ??product_name
......

其中,product_name 一列需要我們通過?origin_videos_data.csv?中 video_desc(視頻描述)和video_tags(視頻標簽)的信息推斷處理獲得的(【Xfaiyx Smart Translator, Xfaiyx Smart Recorder】這其中之一)

對此,我們可以理解為其本質上是個二分類任務

任務設計思路方面

針對商品識別這二分類任務(判斷為 Xfaiyx Smart Translator 或 Xfaiyx Smart Recorder),設計思路可分為四大類:

(1)規則匹配法基于人工設定邏輯,包括關鍵詞權重累加、固定模板匹配、詞向量相似度對比,通過文本中關鍵詞、模板或語義關聯直接判斷類別;

(2)傳統機器學習法將文本轉化為特征向量(如 TF-IDF),利用邏輯回歸、決策樹、隨機森林等模型學習特征與類別的關系,輸出分類結果;

(3)深度學習法借助神經網絡處理文本,如 BERT 捕捉深層語義、TextCNN 提取關鍵短語、雙向 LSTM 捕捉上下文依賴等,通過語義理解實現分類;

(4)混合模型法則融合規則與機器學習優勢(先規則過濾再模型處理),或融合多類特征(關鍵詞、統計、語義特征),綜合提升分類效率與準確性。


這里就先以(4)混合模型法為例子,進行任務的處理。

  1. 規則匹配層:通過PRODUCT_KEYWORDS手動定義商品特征詞,直接關聯到目標類別
  2. 機器學習層:使用樸素貝葉斯模型處理文本統計特征
  3. 混合策略:先由模型預測,再用規則修正明顯錯誤,結合兩者優勢

核心代碼如下:

*構建混合模型*:傳統機器學習 + 規則修正

def build_hybrid_model():# 機器學習模型:樸素貝葉斯 + TF-IDFmodel = make_pipeline(TfidfVectorizer(tokenizer=jieba.lcut, max_features=200, ngram_range=(1, 1), min_df=1),MultinomialNB(alpha=0.1))return model

    最終商品的識別效果大致能達到92+

    補充:當然也可以嘗試接入大模型獲取更高的分數


    任務二:情感分析

    數據和要求方面的信息

    數據來源:origin_comments_data.csv (評論文本數據)

    需要我們通過comment_text(評論文本)中的信息完成以下4個判斷:
    ????????(a)sentiment_category int 關于商品的情感傾向分類

    分類值12345
    含義正面負面正負都有中性不相關

    ????????(b)user_scenario int 是否與用戶場景有關,0表示否,1表示是

    ????????(c)user_question int 是否與用戶疑問有關,0表示否,1表示是 ? ? ? ?

    ????????(d)user_suggestion int 是否與用戶建議有關,0表示否,1表示是

    對此,我們可以進一步將其拆分為 1個多分類 和 3個二分類任務。

    任務設計思路方面

    基于情感分析任務的語義復雜性、數據規模、多維度標簽關聯等特性,與神經網絡的深層語義建模、自動特征學習、多任務協同能力高度匹配的考慮,這里任務二選擇使用(3)深度學習法 ,?即融合多個深度學習模型的輸出

    1. 雙向 LSTM + 注意力機制:通過 LSTM 捕捉文本序列的上下文依賴關系,注意力機制聚焦關鍵語義片段,適合處理長文本的語義關聯。
    2. 多尺度 CNN:通過不同卷積核(3/5/7gram)提取文本中的局部關鍵特征(如短語、情感詞),擅長捕捉短文本的關鍵模式。
    3. 多模型策略:通過神經網絡(LSTM + 注意力、多尺度 CNN)實現文本分類任務??????

    核心代碼如下:

    LSTM模型:雙向 LSTM 層通過前向和后向傳遞捕獲文本序列的長距離依賴關系,并且引入注意力機制,通過計算文本各部分的權重分布,自動聚焦于對分類最關鍵的詞和短語,提升模型對重要語義片段的敏感度

    class LSTMModel(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_dim, num_labels):super().__init__()self.embedding = nn.Embedding(vocab_size, embedding_dim, padding_idx=1)self.lstm = nn.LSTM(embedding_dim, hidden_dim, batch_first=True,bidirectional=True, num_layers=2, dropout=0.2)self.attention = nn.Linear(hidden_dim * 2, 1)  # 注意力機制self.classifier = nn.Sequential(nn.Linear(hidden_dim * 2, hidden_dim),nn.ReLU(),nn.Dropout(0.3),nn.Linear(hidden_dim, num_labels))def forward(self, input_ids):embedded = self.embedding(input_ids)lstm_out, _ = self.lstm(embedded)  # 雙向LSTM輸出attn_weights = torch.softmax(self.attention(lstm_out).squeeze(-1), dim=1)pooled = (lstm_out * attn_weights.unsqueeze(-1)).sum(dim=1)  # 注意力加權池化return self.classifier(pooled)

    多模型融合預測:通過雙向 LSTM(捕捉上下文依賴)和多尺度 CNN(提取局部特征)的互補優勢。同時,根據模型性能動態分配權重,自動適應不同任務特性,提升預測穩定性

    def ensemble_predict(task_idx, models, texts, vocab):lstm_model, lstm_f1 = models[0]cnn_model, cnn_f1 = models[1]weights = np.array([lstm_f1, cnn_f1]) / (lstm_f1 + cnn_f1 + 1e-8)  # 按性能加權# LSTM與CNN分別預測lstm_preds = [torch.argmax(lstm_model(batch["input_ids"].to(device)), dim=1).cpu().numpy()for batch in DataLoader(CommentDataset(texts, [0]*len(texts), vocab, MAX_LEN), batch_size=16)]cnn_preds = [torch.argmax(cnn_model(batch["input_ids"].to(device)), dim=1).cpu().numpy()for batch in DataLoader(CommentDataset(texts, [0]*len(texts), vocab, MAX_LEN), batch_size=16)]# 加權融合結果final_preds = []for i in range(len(texts)):pred_counts = np.zeros(NUM_LABELS[task_idx])pred_counts[lstm_preds[i]] += weights[0]pred_counts[cnn_preds[i]] += weights[1]final_preds.append(np.argmax(pred_counts))return final_preds

    最終情感分析效果大致能達到90+

    補充:當然也可以嘗試接入大模型獲取更高的分數


    任務三:評論聚類

    在任務二的基礎上,對對5類特定評論進行聚類分析,并生成5-8個具有代表性的主題詞。

    任務設計思路方面

    聚類分析其核心是將數據集中具有相似特征的樣本劃分為不同的群體(簇),使得同一簇內的樣本相似度高,不同簇間的樣本相似度低。而根據算法的核心思想和原理,聚類方法可分為多種類型。

    這就簡單地羅列比較常見的幾種情況,就不過多闡述,有興趣的小伙伴可自行查閱相關資料。

    對于這些方法而言,不同聚類方法各有優缺點和適用場景,選擇時需考慮數據的規模、維度、分布形狀、是否有噪聲、是否需要預設簇數等因素。

    以及,實際應用中,也可結合多種方法(如先用降維算法處理高維數據,再用聚類算法)以獲得更好的效果。


    這里同樣以多種方法結合為例子,進行任務的處理(得分大致在40-50區間)。

    對此,還是建議使用星火大模型進行預測。

    畢竟,初步的評分是根據模型的embedding來的。

    1. 針對不同主題(情感 / 場景 / 問題等)定制聚類策略,動態適配數據特性。
    2. 采用多算法融合策略(K-Means+DBSCAN+OPTICS),兼顧結構化聚類與噪聲檢測。
    3. 通過關鍵詞提取和標簽優化提升結果可讀性,最終生成標準化輸出文件

    核心代碼如下:

    多算法融合聚類:KMeans+DBSCAN+OPTICS優勢互補

    def cluster_with_ensemble(df, filter_col, filter_vals, output_col, config):# 1. 數據篩選subset = df[df[filter_col].isin(filter_vals)].copy()if len(subset) < 10:  # 小樣本特殊處理all_texts = " ".join(subset["comment_text"].tolist())top_words = [w for w, _ in Counter(preprocess_text(all_texts)).most_common(5)]subset[output_col] = " ".join(top_words)return df# 2. 文本向量化X, vectorizer, feature_names = vectorize_text(subset["comment_text"])# 3. 最優聚類數選擇best_n, _ = get_best_n_clusters(X, config["n_range"])# 4. 多算法并行聚類kmeans_labels = KMeans(n_clusters=best_n, random_state=42).fit_predict(X)  # 結構化聚類dbscan_labels = DBSCAN(eps=config["eps"], min_samples=config["min_samples"], metric="cosine").fit_predict(X)  # 密度聚類optics_labels = OPTICS(min_samples=config["min_samples"], metric="cosine").fit_predict(X)  # 優化噪聲# 5. 結果融合:KMeans為主,密度聚類修正噪聲final_labels = kmeans_labels.copy()noise_mask = (dbscan_labels == -1)  # 識別噪聲點if noise_mask.sum() > 0:final_labels[noise_mask] = optics_labels[noise_mask]  # 用OPTICS修正噪聲# 6. 聚類主題生成cluster_keywords = {}for c in np.unique(final_labels):if c == -1: continue# 計算類中心關鍵詞cluster_mean = np.mean(X[final_labels == c], axis=0)top_indices = cluster_mean.argsort()[::-1][:5]cluster_keywords[c] = " ".join([feature_names[idx] for idx in top_indices])# 7. 關鍵詞融合(類中心分析 + Textrank)text_rank_keywords = [" ".join(textrank(text, topK=5, allowPOS=('n', 'v', 'adj'))) for text in subset["comment_text"]]subset[output_col] = [f"{cluster_keywords[label]} | {text_rank_keywords[i]}" for i, label in enumerate(final_labels)]# 8. 優化可讀標簽subset = refine_cluster_labels(subset, final_labels, "comment_text", output_col)return df

    到此,三個任務的實現就結束了,感興趣的小伙伴們也可以去嘗試一下 (●'?'●)


    最后提交

    鏈接:2025 iFLYTEK AI開發者大賽-訊飛開放平臺

    點擊【提交結果】,上傳submit.zip即可,祝大家都能取得滿意的成績!

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/diannao/90739.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/diannao/90739.shtml
    英文地址,請注明出處:http://en.pswp.cn/diannao/90739.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    M|電鋸驚魂

    rating: 7.5 豆瓣: 8.7 M&#xff5c;電鋸驚魂 懸疑片&#xff0c;不恐怖。 前期中規中矩&#xff0c;中后期bug很多&#xff08;降智、劇情殺等&#xff09;&#xff0c;但是反轉優秀。 總之&#xff0c;醫生夫妻、兩位警察在此片中各有不同程度的降智。也許是這種恐怖、懸疑電…

    【Lucene/Elasticsearch】 數據類型(ES 字段類型) | 底層索引結構

    在 Lucene/Elasticsearch 中&#xff0c;**BKD 樹只負責“多維數值”字段**。其余類型仍走傳統的 **倒排索引** 或專用格式&#xff1a;| 數據類型&#xff08;ES 字段類型&#xff09; | 底層索引結構 | 說明 | |---|---|---| | text、keyword&#xff08;字符串&#xff09; …

    原型、原型對象

    通俗理解&#xff1a;“類的原型對象就是一塊區域里有這個類的實例對象通用的屬性和方法”?這就是 JavaScript 中原型&#xff08;prototype&#xff09;的核心作用和設計理念。????“一塊區域” 原型對象本身&#xff08;如 String.prototype, Array.prototype, MyClass…

    STM32 IIC通信(寄存器與hal庫實現)

    一、IIC基礎知識 1. 串口通信與IIC通信串口通信通常需要至少三條線&#xff08;TX、RX和GND&#xff09;&#xff0c;而 I2C 總線僅需要兩條信號線&#xff08;SDA和SCL&#xff09;&#xff1b;串口通信僅支持一對一通信&#xff0c;而 I2C 總線支持多機通信&#xff0c;允許單…

    寶塔 php支持sqlserver

    PDOException: SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server.錯誤原因這是 PHP 試圖連接 SQL Server 數據庫&#xff0c;但缺少必要的 ODBC 驅動支持 導致的。具體來說&#xff1a;你使用的是 PDO_SQLS…

    day02-數組part02

    一、長度最小的子數組&#xff08;滑動窗口&#xff09; leetcode 209 長度最小子數組 這道題的核心思想就是使用滑動窗口&#xff0c;滑動窗口三板斧&#xff1a; 初始位置i滑動窗口長度j-i1結束位置j 我們在寫代碼時是通過for循環來控制結束位置j&#xff0c;而初始位置i…

    天愛驗證碼深度解析:從原理到實戰,構建 Web 安全新防線

    在網絡安全日益嚴峻的當下&#xff0c;驗證碼作為抵御自動化攻擊的重要屏障&#xff0c;其性能與可靠性直接關系到系統的安全穩定。天愛驗證碼&#xff08;TIANAI CAPTCHA&#xff09;作為國內優秀的開源行為驗證碼解決方案&#xff0c;憑借獨特的技術優勢&#xff0c;在電商、…

    軟考(軟件設計師)軟件工程-軟件質量,軟件測試,McCabe圈復雜度

    軟件質量 ISO/IEC 9126 是軟件工程領域的經典質量模型&#xff0c;于1991年首次發布&#xff0c;2001年更新后成為軟件產品質量評估的國際標準。其核心貢獻是將抽象的“質量”概念分解為可度量、可管理的特性體系。以下是深度解析&#xff08;2023年行業實踐視角&#xff09;&a…

    CentOS7環境安裝包部署并配置MySQL5.7

    卸載MySQL卸載MySQL5.71、關閉MySQL5.7服務service mysqld stop2、查看MySQL安裝rpm -qa|grep -i mysqlmysql-community-libs-5.7.35-1.el7.x86_64mysql-community-libs-compat-5.7.35-1.el7.x86_64mysql-community-common-5.7.35-1.el7.x86_64mysql57-community-release-el7-1…

    1-Git安裝配置與遠程倉庫使用

    Git安裝配置與遠程倉庫使用 1. Git 下載與安裝 ① 進入Git 官網 https://git-scm.com/ ② 選擇合適系統版本下載&#xff0c;本文以windows為例進行下載 當前最新版本為 2.50.1 &#xff0c;瀏覽器默認下載很慢&#xff0c;用迅雷比較快 ③ 安裝Git 我安裝在D盤 等待完…

    開源“具身大腦” 實現不同機器人群體協作-RoboBrain

    開源“具身大腦” 實現不同機器人群體協作-RoboBrain 具身大小腦協作框架RoboOS與開源具身大腦RoboBrain&#xff0c;實現跨場景多任務輕量化快速部署與跨本體協作&#xff0c;推動單機智能邁向群體智能&#xff0c;為構建具身智能開源統一生態加速場景應用提供底層技術支持。支…

    【筆記】訓練步驟代碼解析

    目錄 config參數配置 setup_dirs創建訓練文件夾 load_data加載數據 build_model創建模型 train訓練 記錄一下訓練代碼中不理解的地方 config參數配置 config {data_root: r"D:\project\megnetometer\datasets\WISDM_ar_latest\organized_dataset",train_dir: t…

    Java填充Word模板

    文章目錄前言一、設置word模板普通字段列表字段復選框二、代碼1. 引入POM2. 模板放入項目3.代碼實體類工具類三、測試四、運行結果五、注意事項前言 最近有個Java填充Word模板的需求&#xff0c;包括文本&#xff0c;列表和復選框勾選&#xff0c;寫一個工具類&#xff0c;以此…

    【MYSQL8】springboot項目,開啟ssl證書安全連接

    文章目錄一、開啟ssl證書1、msysql部署時默認開啟ssl證書2、配置文件3、創建用戶并指定ssl二、添加Java信任庫1、使用 keytool 導入證書2、驗證證書是否已導入三、修改連接配置一、開啟ssl證書 1、msysql部署時默認開啟ssl證書 可通過命令查看&#xff1a; SHOW VARIABLES L…

    Telegraf vs. Logstash:實時數據處理架構中的關鍵組件對比

    在現代數據基礎設施中&#xff0c;Telegraf 和 Logstash 是兩種廣泛使用的開源數據收集與處理工具&#xff0c;但它們在設計目標、應用場景和架構角色上存在顯著差異。本文將從實時數據處理架構、時序數據庫集成、消息代理支持等方面對比兩者的核心功能&#xff0c;并結合實際應…

    Vue Vue-route (4)

    Vue 漸進式JavaScript 框架 基于Vue2的學習筆記 - Vue-route 編程式導航和幾種路由 目錄 編程式導航 詳情組件 創建組件 設置路由 電影列表 傳參 另一種方式 動態路由 命名路由 別名 總結 編程式導航 點擊電影列表 跳轉電影詳情 詳情組件 創建組件 在views中創…

    存在兩個cuda環境,在conda中切換到另一個

    進入 openmmlab 環境 conda activate openmmlab 設置環境變量為 CUDA 12.4&#xff08;只影響當前 shell 會話&#xff09; export PATH/usr/local/cuda-12.4/bin:PATHexportLDLIBRARYPATH/usr/local/cuda?12.4/lib64:PATH export LD_LIBRARY_PATH/usr/local/cuda-12.4/lib64:…

    Django 視圖(View)

    1. 視圖簡介 視圖負責接收 web 請求并返回 web 響應。視圖就是一個 python 函數,被定義在 views.py 中。響應可以是一張網頁的 HTML 內容、一個重定向、一個 404 錯誤等等。響應處理過程如下圖: 用戶在瀏覽器中輸入網址:www.demo.com/1/100Django 獲取網址信息,去除域名和端…

    HarmonyOS基礎概念

    一、OpenHarmony、HarmonyOS和Harmony NEXT區別OpenHarmony是由開放原子開源基金會&#xff08;OpenAtom Foundation&#xff09;孵化及運營的開源項目&#xff0c;開放原子開源基金會由華為、阿里、騰訊、百度、浪潮、招商銀行、360等十家互聯網企業共同發起組建。目標是面向全…

    spark3 streaming 讀kafka寫es

    1. 代碼 package data_import import org.apache.spark.sql.{DataFrame, Row, SparkSession, SaveMode} import org.apache.spark.sql.types.{ArrayType, DoubleType, LongType, StringType, StructField, StructType, TimestampType} import org.apache.spark.sql.functions._…