Python大數(shù)據(jù)分析與挖掘實戰(zhàn)課件 14-2 應用案例1:基于BERT模型的上市公司新聞標題情感分類_第1頁
Python大數(shù)據(jù)分析與挖掘實戰(zhàn)課件 14-2 應用案例1:基于BERT模型的上市公司新聞標題情感分類_第2頁
Python大數(shù)據(jù)分析與挖掘實戰(zhàn)課件 14-2 應用案例1:基于BERT模型的上市公司新聞標題情感分類_第3頁
Python大數(shù)據(jù)分析與挖掘實戰(zhàn)課件 14-2 應用案例1:基于BERT模型的上市公司新聞標題情感分類_第4頁
Python大數(shù)據(jù)分析與挖掘實戰(zhàn)課件 14-2 應用案例1:基于BERT模型的上市公司新聞標題情感分類_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第14章

大模型技術及應用案例案例介紹BERT模型輸入參數(shù)及案例數(shù)據(jù)集構造基于BERT模型的上市公司新聞標題情感分類案例介紹第14章

基于爬取的上市公司新聞標題數(shù)據(jù),使用BERT模型進行微調,實現(xiàn)對新聞標題的情感調性作出分類識別。情感調性標題來源積極日照港物流區(qū)塊鏈平臺上線大眾日報積極【申萬宏源中小盤周觀點】調整繼續(xù),持續(xù)看好調整企穩(wěn)后的優(yōu)質個股新浪積極依米康未來3~5年“成長無休”獲200億IDC機房總包服務新浪財經中性云圖控股監(jiān)事曾桂菊辭職仍在公司擔任其他職務華北強電腦網消極雙林股份總經理顧笑映因個人原因辭職華北強電腦網………………上市公司新聞標題訓練數(shù)據(jù)集(35287條記錄)標題來源長安汽車獲重慶市財政補貼7225萬元|長安汽車_新浪新聞新浪新聞

天津市河北區(qū)抽檢142批次食用農產品樣品全部合格中國質量新聞網

重慶市市場監(jiān)督管理局:27批次食用農產品不合格中國質量新聞網

天齊鋰業(yè)啟動配股發(fā)行降低財務負債

產能、業(yè)績提升有潛力

東方財富網

深度|奧馬電器資本賬單:沒有輸家的敗局平點經濟

…………上市公司新聞標題測試數(shù)據(jù)集1322條記錄BERT模型輸入參數(shù)及分類標簽構造第14章

對訓練數(shù)據(jù)集的每一條上市公司新聞標題文本,經過tokenize分詞,獲得其input_ids、token_type_ids、attention_mask這三個BERT輸入參數(shù)的表示,并分別用列表保存起來,同時把情感調性轉換為數(shù)值表示,即:“積極→0”,“中性→1”,“消極→2”importpandasaspdfromtransformersimportAutoTokenizer#定義BERT模型輸入參數(shù)及分類標簽存儲的列表input_ids_list=[]token_type_ids_list=[]attention_mask_list=[]label_list=[]data=pd.read_excel('./新聞標題訓練數(shù)據(jù).xlsx')……BERT微調模型的訓練集、驗證集和測試集構造第14章

這里取原始數(shù)據(jù)集的前25000條記錄作為微調模型的訓練集、25000~30000條記錄作為驗證集,剩下的作為測試集。設置模型訓練的批量大小batch_size=20,同時對訓練數(shù)據(jù)集作一定數(shù)量的緩存(取10000條記錄),以提高訓練速度。#定義一個Dataset數(shù)據(jù)類型的字典映射函數(shù)

defmap_example_to_dict(input_ids,attention_masks,token_type_ids,label):return{"input_ids":input_ids,"token_type_ids":token_type_ids,"attention_mask":attention_masks,'labels':label}#構建微調模型的訓練集、驗證集和測試集importtensorflowastftr_dataset=tf.data.Dataset.from_tensor_slices((input_ids_list[:25000],attention_mask_list[:25000],token_type_ids_list[:25000],label_list[:25000])).map(map_example_to_dict)……batch_size=20train_encoded=tr_dataset.shuffle(10000).batch(batch_size)val_encoded=val_dataset.batch(batch_size)test_encoded=test_dataset.batch(batch_size)BERT微調模型編譯、訓練與保存第14章

fromtransformersimportTFBertForSequenceClassificationimporttensorflowastfmodel=TFBertForSequenceClassification.from_pretrained('./bert-base-chinese',num_labels=3)#三分類問題#編譯與預訓練learning_rate=2e-5#學習速率number_of_epochs=2#迭代次數(shù)optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate,epsilon=1e-08,clipnorm=1)#優(yōu)化器loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)#損失函數(shù)metric=tf.keras.metrics.SparseCategoricalAccuracy('accuracy')#評估函數(shù)pile(optimizer=optimizer,loss=loss,metrics=[metric])bert_history=model.fit(train_encoded,epochs=number_of_epochs,validation_data=val_encoded)#訓練模型model.evaluate(test_encoded)#對測試集進行評估save_path='./save_model'#保持模型的文件夾,可自動創(chuàng)建tokenizer.save_pretrained(save_path)#編碼器也需要一起保持model.save_pretrained(save_path)#保存模型BERT微調模型加載及應用第14章

fromtransformersimportAutoTokenizer,TFBertForSequenceClassificationimporttensorflowastfimportpandasaspdimportnumpyasnptokenizer=AutoTokenizer.from_pretrained('./save_model')#加載微調后的tokenizermodel=TFBertForSequenceClassification.from_pretrained('./save_model')#加載微調后的modeldata=pd.read_excel('./新聞標題預測數(shù)據(jù).xlsx')#讀取預測集res=[]#預定義列表,用于存放預測結果foriinrange(len(data)):

#獲得每個預測集樣本的BERT模型輸入參數(shù)inputs=tokenizer.encode_plus(data.iloc[i,0],add_special_tokens=True,return_tensors="tf")

#調用加載的微調模型,并對預

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論