孫惠 藍雯飛



摘? 要:針對菜譜工藝標簽標注的需求隨著網絡平臺上中文菜譜數量增多而不斷增加,使用機器學習搭建了文本分類模型,實現了工藝標簽的自動標注。該模型使用TF-IDF、TextRank兩種方法進行特征降維,與常見的三種機器學習分類器樸素貝葉斯(NB)、邏輯回歸(LR)、支持向量機(SVM)進行組合,組成了6種模型。獲取網絡上的中文菜譜整理成實驗數據集,通過實驗驗證了所提模型的有效性,為菜譜工藝標簽的自動生成提供了可行的解決途徑。
關鍵詞:中文菜譜; 機器學習;文本分類; 特征降維;分類器
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)21-0079-03
開放科學(資源服務)標識碼(OSID):
隨著大數據和計算機性能的不斷提升,機器學習已經廣泛應用于數據挖掘、搜索引擎、電子商務、自動駕駛、量化投資、自然語言處理、計算機視覺等。若要人工處理互聯網海量的信息文本,將會費時費力,且分類結果穩定性差。應用機器學習的方法,實現文本內容的自動化標記分類,是大數據信息時代的必然選擇。
如今文本分類已經應用于多個領域,涉及新聞、醫療、司法、林業等各個領域。在新聞文本的分類中,由于數據集的充分,如今的分類效果已經高達0.93的精確率[1];在醫療文本分類中,分類效果達到0.86的精確率[2];在司法文書文本分類中,各項分類預測任務也高達0.77的精確率[3];在林業文本分類中,也實現了0.92準確率[4]。
菜譜文本發源于歷史上不同時期各種方式的“菜品”記錄,早在《詩經》《尚書》《左傳》等先秦元典中已有零散資訊,是中華飲食文化重要的承載者[5]。目前,在食譜菜譜文本領域的文本分類研究尚不如其他領域充分。近年來,隨著中國在線食譜網站及應用的不斷發展,越來越多來自不同地區的用戶將他們制作的食譜分享到線上,為我們研究中文菜譜提供了豐富的數據資源。有的研究者將數據集進行食譜成分多樣性分析、食譜特色成分分析、食譜復雜性分析、食譜相似系分析、食譜慣用輔料分析等多種數據分析研究[6]。還有研究者以中國菜品圖片作為研究對象,提出了基于雙線性模型的菜品識別方法[7]。
隨著時代的進步,人們的不同特殊需求也開始顯露,人們不再局限于以前傳統思想的束縛,越來越多的新型需求開始顯現出來,同時,這些新型需求也對當前的文本分類技術提出了挑戰[8]。因此,本文針對菜譜工藝的分類需求,以中文菜譜文本為研究對象,使用機器學習的方法構建文本分類模型,以替代人工標注、提高標注效率。
1? 相關理論
1.1 文本分類的過程
文本分類是用計算機對文本數據集按照一定的分類器模型進行自動化分類標記。文本分類的總體過程包括預處理、特征提取、分類器、測評等。文本分類實驗的總流程如圖1所示。
(1)預處理:將原始語料格式化為統一格式,便于后續的統一處理。
(2)特征提?。簭奈臋n中抽取出反映文檔主題的特征。
(3)分類器:將實驗數據放入分類器中進行訓練。
(4)測評:分類器的測試結果分析。
1.2評測指標
文本分類采用分類任務常用的F1(F1-score)作為評測指標,對每一個類別的分類結果,正確分入該類的樣本數量記作TP,錯誤分入該類的樣本記作FP,本該分入該類卻錯誤地分入其他類的樣本數量記為FN。則精確率P(Precision)、召回率R(Recall)和F1(F1-score)值的定義分別如式(1)、式(2)、式(3)所示。
[P=TPTP+FP]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
[R=TPTP+FN] ,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
[F1=21P+1R=2×P×RP+R] ,? ? ? ? ? ? ? ? ? ? ? ? (3)
2 實驗環境與數據集
實驗軟件環境為 Window10(64位)操作系統,編程語言Python 3.6,機器學習框架 scikit-learn 0.21.2; 硬件環境為 Inter Core i7—7500U—2.7 GHz,8.0 GB 內存。
本文基于數據挖掘技術,采集網站上中文菜譜文本數據,通過去重和去噪處理,篩選出 818條中文菜譜文本數據。根據烹飪工藝為分類標簽進行人工標注,其中炒339、燉煮213、蒸141、拌67,烤 61,如下圖2所示。統計文本中字符的個數,如圖3所示,可以看出家常菜制作的文本有短文本(低于50個字符),也有長文本(高于400個字符),大于3/5的文本的字符數在50~200之間。經過文本的預處理后,將文本統一存儲在csv文件中。圖4為數據的存儲格式,圖5為某個中文菜譜文本的文本內容的樣本。
使用Jieba分詞在主要食材字段數據集中分析出各種食材詞匯的出現頻率,使用WorldCloud庫繪制詞云如圖6所示。在圖6中,食材詞匯越大,代表頻率越高,不難看出雞蛋、胡蘿卜、土豆、豆腐等頻率很高,是家常菜中的普遍使用的食材,與現實生活中人們生活需要相符。
3 分類模型
本研究使用兩種特征提取方法和三種分類器進行6種模型的分類實驗,實驗結構框架如圖7所示。主要包含4個步驟:文本數據的爬取采集、特征提取、分類器、測評。
(1)首先是文本數據采集及篩選,使用爬蟲技術采集網頁中的文本數據,經過文本的預處理后,將文本統一存儲在CSV文件中。
(2)在特征提取中,用到中文分詞技術、去停用詞及關鍵詞抽取的方法,最后將詞語轉化成數值矩陣。在分詞方法不同,與關鍵詞數不同時,特征提取的結果也會不同。圖8展示的文本樣本分別用Jieba庫經行分詞處理以及去停用詞的效果圖。在文本關鍵詞提取中,本實驗采取了TF-IDF 和TextRank的兩種方法進行實驗,以降低數據的緯度,以圖5所示樣本為例,圖9、圖10分別為兩種算法以關鍵詞為20,提取名詞和動詞的效果圖。
(3)將詞語轉化為特征向量。以關鍵詞為20個名詞和動詞為例,每一個文本轉換為一個空間向量。如圖11所示,將文本詞語轉化為空間向量。
(4)通過兩種不同的特征提取方法產生的數據都放入NA、LB、SVM三種中常見的機器學習分類算法中進行訓練,統計每個模型的Precision、Recall、F1-score對比觀察實驗結果。
3 實驗結果
為了驗證不同算法在文本分類方面的性能,將中文菜譜文本數據集劃分為 10 份,任意 9 份作為訓練集,剩余任意的 1 份作為測試集。對不同算法進行10 次訓練與測試,以實驗結果的均值作為參考評估的依據。TF-IDF關鍵詞處理后的各算法性能如表1所示,TextRank關鍵詞抽取后的算法性能如表2所示。
實驗結果表明:6種模型都基本實現了中文菜譜文本的工藝分類的任務,TextRank+NA模型的分類效果在對比試驗中表現最佳。TextRank算法在關鍵詞抽取上更優于TF-IDF算法,在3種分類器中,樸素貝葉斯分類器(NA)的分類效果最好。
4 結束語
基于機器學習的中文菜譜工藝文本分類模型,讓菜譜工藝標簽實現自動化分類標注,提高了分類標注的效率,適應時代需求。在機器學習框架下,針對菜譜工藝的文本分類任務,TextRank+NA組合的模型的效果相對最理想。隨著網絡的菜譜文本不斷增加,中國菜譜文本的價值不容忽視,以文本分類模型代替人工標注,有效推動了飲食領域的現代化發展。
本文僅使用了3種典型的分類器,存在一定的局限性,后續可以用其他機器學習分類器或者深度學習網絡分類器進行實驗,更好的分類方法有待在未來提出。文本數據中的字符數量不同、關鍵詞之間的位置以及上下文間的語義對實驗也有可能產生影響,后續可以繼續深入研究。
參考文獻:
[1] 張昱,劉開峰,張全新,等.基于組合-卷積神經網絡的中文新聞文本分類[J].電子學報,2021,49(6):1059-1067.
[2] 趙旸,張智雄,劉歡,等.基于BERT模型的中文醫學文獻分類研究[J].數據分析與知識發現,2020,4(8):41-49.
[3] 王文廣,陳運文,蔡華,等.基于混合深度神經網絡模型的司法文書智能化處理[J].清華大學學報(自然科學版),2019,59(7):505-511.
[4] 崔曉暉,師棟瑜,陳志泊,等.基于Spark框架XGBoost的林業文本并行分類方法研究[J].農業機械學報,2019,50(6):280-287.
[5] 趙榮光.“中華菜譜學”視閾下的“中國菜”——2018鄭州·向世界發布中國菜活動主題演講[J].楚雄師范學院學報,2020,35(1):1-5.
[6] 劉兆沛.基于中國在線食譜的探索式數據分析[D].天津:天津工業大學,2019.
[7] 段雪梅,朱明,鮑天龍.雙線性模型在中國菜分類中的應用[J].小型微型計算機系統,2019,40(5):1050-1053.
[8] 徐萍.基于機器學習的文本分類技術研究進展[J].電腦知識與技術,2021,17(30):109-110.
【通聯編輯:唐一東】