<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          北航學長的NLP賽事教程!

          共 2986字,需瀏覽 6分鐘

           ·

          2022-07-17 18:36

           Datawhale干貨 
          作者:阿水,北京航空航天大學,Datawhale成員

          賽事背景

          在人工智能領域的學習中,研讀有關文獻是非常重要的學習途徑,而如何在汗牛充棟的論文庫中,高效快速的檢索到相關重要文獻,就成為知識學習首先要解決的難點。

          完整代碼實踐

          https://xj15uxcopw.feishu.cn/docx/doxcnUDk1pzzvBWi5AIfBGBpyne

          賽題任務

          機器通過對論文摘要等信息的理解,劃分論文類別。具體輸入輸出示例如下:

          • 輸入:論文信息,格式如下圖
          • 輸出:電氣

          實踐思路

          本賽題是一個典型的文本分類任務。由于文本數(shù)據是典型的非結構化數(shù)據,此類實踐的處理通常涉及到 特征提取分類模型 兩部分。常見的思路有兩種:基于機器學習的思路和基于深度學習的思路。

          可以先嘗試基于機器學習的思路:TF-IDF + 機器學習分類器,其中分類器選擇SGD線性分類器。SGD是線性分類器的一種,可以理解為邏輯回歸+隨機梯度下降,適合處理文本TF-IDF編碼后的稀疏場景。

          實踐代碼

          具體代碼如下:

          #安裝相關依賴庫 如果是windows系統(tǒng),cmd命令框中輸入pip安裝,參考上述環(huán)境配置
          #!pip install sklearn
          #!pip install pandas
          #---------------------------------------------------
          #導入庫
          import pandas as pd
          from sklearn.feature_extraction.text import TfidfVectorizer
          from sklearn.linear_model import SGDClassifier
          from sklearn.model_selection import cross_val_score

          #----------------數(shù)據探索----------------
          #數(shù)據預處理
          #加載訓練集
          train_df = pd.read_csv('./基于論文摘要的文本分類與查詢性問答公開數(shù)據/train.csv', sep=',')
          #加載測試集
          test_df = pd.read_csv('./基于論文摘要的文本分類與查詢性問答公開數(shù)據/test.csv', sep=',')

          #EDA數(shù)據探索性分析
          train_df.head()

          test_df.head()

          #----------------特征工程----------------
          #將Topic(Label)編碼
          train_df['Topic(Label)'], lbl = pd.factorize(train_df['Topic(Label)'])

          #將論文的標題與摘要組合為 text 特征
          train_df['Title'] = train_df['Title'].apply(lambda x: x.strip())
          train_df['Abstract'] = train_df['Abstract'].fillna('').apply(lambda x: x.strip())
          train_df['text'] = train_df['Title'] + ' ' + train_df['Abstract']
          train_df['text'] = train_df['text'].str.lower()

          test_df['Title'] = test_df['Title'].apply(lambda x: x.strip())
          test_df['Abstract'] = test_df['Abstract'].fillna('').apply(lambda x: x.strip())
          test_df['text'] = test_df['Title'] + ' ' + test_df['Abstract']
          test_df['text'] = test_df['text'].str.lower()

          #使用tfidf算法做文本特征提取
          tfidf = TfidfVectorizer(max_features=2500)

          #----------------模型訓練----------------

          train_tfidf = tfidf.fit_transform(train_df['text'])
          clf = SGDClassifier()
          cross_val_score(clf, train_tfidf, train_df['Topic(Label)'], cv=5)

          test_tfidf = tfidf.transform(test_df['text'])
          clf = SGDClassifier()
          clf.fit(train_tfidf, train_df['Topic(Label)'])
          test_df['Topic(Label)'] = clf.predict(test_tfidf)

          #----------------結果輸出----------------
          test_df['Topic(Label)'] = test_df['Topic(Label)'].apply(lambda x: lbl[x])
          test_df[['Topic(Label)']].to_csv('submit.csv', index=None)

          上分思路

          上述代碼詳細講解了基于機器學習的思路,若想進階實踐,可考慮嘗試基于深度學習來進行實踐,提供以下幾種常見解題思路供大家參考:

          • 思路1:FastText:FastText是入門款的詞向量,利用Facebook提供的FastText工具,可以快速構建出分類器。
          • 思路2:WordVec + 深度學習分類器:WordVec是進階款的詞向量,并通過構建深度學習分類完成分類。深度學習分類的網絡結構可以選擇TextCNN、TextRNN或者BiLSTM。
          • 思路3:Bert詞向量:Bert是高配款的詞向量,具有強大的建模學習能力。

          新手村

          本文為Datawhale項目實踐1.0的教程,如果你是在校生,或者剛入門階段,可以進內測群,我們在學習反饋中一起優(yōu)化教程。

          整理不易,三連

          瀏覽 87
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼视频免费无码 | 奇米久久 | 国产激情视频区 | 国产婷婷操逼动态图视频网站 | w超清无码在线观看 |