在日常生活中新聞具備有多的信息,在AINWIN互聯網輿情企業風險事件的識別和預警 比賽中參賽選手需要根據新聞識別主體和新聞類型。今天一起來看看Kaggle學術活動知識點:使用BERT完成NLP任務!
比賽官網(報名即可下載數據集):http://ailab.aiwin.org.cn/competitions/48
比賽給定了的1w條左右的訓練數據,以及部分企業主體名稱的匯總。接下來我們看如何一步一步完成本場比賽的。比賽思路對比賽要求進行分析后,
可以將賽題任務具體劃分為:
任務1:企業主體抽?。撼槿〕鲂侣勚兄饕钠髽I名稱,并與完整的企業名稱進行對應;(NER任務)
任務2:新聞類型分類:根據新聞的內容將新聞的類型進行具體分類;
(文本分類任務)完成思路:
將任務1和任務2,分開完成;將任務1和任務2,一起用Bert建模;
任務1:使用TFIFD完成對文本進行分詞:
import?jieba
def?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?TfidfVectorizer
tfidf?=?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)
讀取模型并定義優化器:
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:使用正則匹配通過公司主體與數據集中字符串匹配:
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):控股股東一致行動人宜昌東陽光藥業質押2500萬股
主體標簽:?宜昌東陽光藥業股份有限公司
主體識別結果:?宜昌東陽光藥業股份有限公司
標題:?千億市值蒸發超九成,康美藥業財務造假坑了誰?
主體標簽:?康美藥業股份有限公司
主體識別結果:?康美藥業股份有限公司
任務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)
識別結果:
標題:山東省政府辦公廳就平邑縣玉榮商貿有限公司石膏礦坍塌事故發出通報
機構:?山東省政府辦公廳
機構:?平邑縣玉榮商貿有限公司
標題:[新聞直播間]黑龍江:龍煤集團一煤礦發生火災事故
位置:?黑龍江
機構:?龍煤集團
代碼&數據比賽報名地址:http://ailab.aiwin.org.cn/competitions/48
文章完整代碼:https://github.com/datawhalechina/competition-baseline
掃碼獲取備賽計劃,考前查缺補漏、重點沖刺
【免費領取】相關真題及解析,還有一對一學術活動規劃!

以上就是關于【Kaggle競賽知識點講解!】的解答,如需了解學校/賽事/課程動態,可至翰林教育官網獲取更多信息。
往期文章閱讀推薦:
從競賽到華爾街!量化巨頭最愛院校曝光:MIT斷層第一,滑鐵盧成黑馬!
競賽獲獎≠名校offer,但拿下哈佛、MIT、牛劍Offer的學霸履歷里,都有一個共同點……

? 2026. All Rights Reserved. 滬ICP備2023009024號-1