日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP】使用BERT完成NLP任务

發(fā)布時間:2025/3/12 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP】使用BERT完成NLP任务 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在日常生活中新聞具備有多的信息,在AINWIN互聯(lián)網輿情企業(yè)風險事件的識別和預警 比賽中參賽選手需要根據(jù)新聞識別主體和新聞類型。

比賽官網(報名即可下載數(shù)據(jù)集):http://ailab.aiwin.org.cn/competitions/48

比賽給定了的1w條左右的訓練數(shù)據(jù),以及部分企業(yè)主體名稱的匯總。接下來我們看如何一步一步完成本場比賽的。

比賽思路

對比賽要求進行分析后,可以將賽題任務具體劃分為:

  • 任務1:企業(yè)主體抽取:抽取出新聞中主要的企業(yè)名稱,并與完整的企業(yè)名稱進行對應;(NER任務)

  • 任務2:新聞類型分類:根據(jù)新聞的內容將新聞的類型進行具體分類;(文本分類任務)

完成思路:

  • 將任務1和任務2,分開完成;

  • 將任務1和任務2,一起用Bert建模;

任務1:使用TFIFD完成

對文本進行分詞:

import?jiebadef?strcut(s):seg_list?=?jieba.cut(s)return?'?'.join(list(seg_list))train_title?=?train_data['NEWS_TITLE'].apply(strcut)

TFIDF + 線性模型:

from?sklearn.feature_extraction.text?import?TfidfVectorizertfidf?=?TfidfVectorizer(ngram_range=(1,1)) train_title_ttidf?=?tfidf.fit_transform(train_title)

驗證集分類精度約89%。

任務1:使用BERT分類

進行token處理:

from?transformers?import?BertTokenizer tokenizer?=?BertTokenizer.from_pretrained('bert-base-chinese') train_encoding?=?tokenizer(list(tr_x),?truncation=True,?padding=True,?max_length=128) val_encoding?=?tokenizer(list(val_x),?truncation=True,?padding=True,?max_length=128)

讀取模型并定義優(yōu)化器:

import?torch from?transformers?import?AutoModelForSequenceClassification,?AdamW,?get_linear_schedule_with_warmup device?=?torch.device("cuda:0"?if?torch.cuda.is_available()?else?"cpu") model.to(device)optim?=?AdamW(model.parameters(),?lr=5e-5) total_steps?=?len(train_loader)?*?1

任務2:使用正則匹配

通過公司主體與數(shù)據(jù)集中字符串匹配:

for?row?in?train_data.iloc[:100].iterrows():match1?=?company_name[company_name['name'].apply(lambda?x:?x?in?row[1].NEWS_TITLE)]if?match1.shape[0]?>?0:match1.loc[:,?'name_len']?=?match1['name'].apply(len)match1?=?match1.sort_values(by='name_len')match1?=?match1.iloc[-1]['name']else:match1?=?''match2?=?company_name[company_name['name_short'].apply(lambda?x:?x?in?row[1].NEWS_TITLE)]if?match2.shape[0]?>?0?and?match1?==?'':match2.loc[:,?'name_len']?=?match2['name_short'].apply(len)match2?=?match2.sort_values(by='name_len')match2?=?match2.iloc[-1]['name']else:match2?=?''

識別結果:

標題:?東陽光(600673.SH):控股股東一致行動人宜昌東陽光藥業(yè)質押2500萬股 主體標簽:?宜昌東陽光藥業(yè)股份有限公司 主體識別結果:?宜昌東陽光藥業(yè)股份有限公司標題:?千億市值蒸發(fā)超九成,康美藥業(yè)財務造假坑了誰? 主體標簽:?康美藥業(yè)股份有限公司 主體識別結果:?康美藥業(yè)股份有限公司

任務2:BERT 序列標注

加載BERT序列標注模型:

import?torch from?transformers?import?BertForTokenClassification,?AdamW,?get_linear_schedule_with_warmup model?=?BertForTokenClassification.from_pretrained('bert-base-chinese',?num_labels=7)device?=?torch.device("cuda:1"?if?torch.cuda.is_available()?else?"cpu") model.to(device)

識別結果:

標題:山東省政府辦公廳就平邑縣玉榮商貿有限公司石膏礦坍塌事故發(fā)出通報 機構:?山東省政府辦公廳 機構:?平邑縣玉榮商貿有限公司標題:[新聞直播間]黑龍江:龍煤集團一煤礦發(fā)生火災事故 位置:?黑龍江 機構:?龍煤集團

代碼&數(shù)據(jù)

比賽報名地址:http://ailab.aiwin.org.cn/competitions/48

文章完整代碼:https://github.com/datawhalechina/competition-baseline

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統(tǒng)計學習方法》的代碼復現(xiàn)專輯 AI基礎下載機器學習的數(shù)學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【NLP】使用BERT完成NLP任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。