<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(四十二)人物關(guān)系分類的再次嘗試

          共 5975字,需瀏覽 12分鐘

           ·

          2021-03-25 22:43


          ??兩周前的周末,筆者決定對人物關(guān)系分類進行再次嘗試。
          ??為什么說是再次嘗試呢?因為筆者之前已經(jīng)寫過一篇文章NLP(二十一)人物關(guān)系抽取的一次實戰(zhàn),當(dāng)時的標注數(shù)據(jù)大約2900條,使用的模型也比較簡單,為BERT+Bi-GRU+Attention+FC結(jié)構(gòu),其中BERT用作特征提取,該模型在原有數(shù)據(jù)集上的F1為79%。
          ??經(jīng)過筆者一年斷斷續(xù)續(xù)的努力,現(xiàn)在的標注樣本已經(jīng)達到3900多條。鑒于筆者已做過BERT微調(diào)相關(guān)工作,當(dāng)然希望在此數(shù)據(jù)集上進行再次嘗試。
          ??現(xiàn)有的人物關(guān)系數(shù)據(jù)集大約3900多條,分布如下圖:

          人物關(guān)系分布圖

          ??首先,我們只使用BERT分類模型,對輸入數(shù)據(jù)進行格式改造,進行簡單地嘗試。
          ??我們以樣本親戚 1837年6月20日,威廉四世辭世,他的侄女維多利亞即位。為例,其中親戚為人物關(guān)系,威廉四世為實體1,維多利亞為實體2,來演示輸入的文本格式。下面的部分我們統(tǒng)一使用chinese-RoBERTa-wwm-ext作為預(yù)訓(xùn)練模型,數(shù)據(jù)集分為訓(xùn)練集和測試集,比例為8:2。
          ??第一種方法,我們與文章NLP(二十一)人物關(guān)系抽取的一次實戰(zhàn)一樣,在文本中將實體1替換為同樣數(shù)量的#,實體2替換為同樣數(shù)量的#,再將實體1、實體2、文本用$連接,輸入格式為:威廉四世$維多利亞$1837年6月20日,####辭世,他的侄女####即位。。使用BERT+Bi-GRU+Attention+FC模型,在測試集上的評估結(jié)果如下:

          模型名稱訓(xùn)練1訓(xùn)練2訓(xùn)練3訓(xùn)練4訓(xùn)練5Avg
          BiGRU+Attention0.77260.79740.79350.79080.79410.7897

          ??第二種方法,輸入格式與第一種方法一致。使用文章NLP(三十五)使用keras-bert實現(xiàn)文本多分類任務(wù)中的多分類模型進行訓(xùn)練,在測試集上的評估結(jié)果如下:

          模型名稱訓(xùn)練1訓(xùn)練2訓(xùn)練3訓(xùn)練4訓(xùn)練5Avg
          Bert_cls0.82460.81100.82820.84480.82180.8260

          可以看到,有了預(yù)訓(xùn)練模型的幫助,模型效果有了顯著提升,F(xiàn)1值平均高了3.6%。
          ??第三種方法,在文本中將實體用#包圍,輸入格式為:1837年6月20日,#威廉四世#辭世,他的侄女#維多利亞#即位。使用BERT_cls模型,在測試集上的評估結(jié)果如下:

          模型名稱訓(xùn)練1訓(xùn)練2訓(xùn)練3訓(xùn)練4訓(xùn)練5Avg
          Bert_cls2(實體用#圍繞)0.81750.82590.82750.83350.82990.8269

          可以看到,該輸入格式與第二種方法相比,在模型效果上并沒有太大的提升。
          ??也許,是時候嘗試新的模型了。
          ??上周一晚上,筆者無意中看到一篇論文,名稱為Enriching Pre-trained Language Model with Entity Information for Relation Classification,顧名思義為使用實體信息將預(yù)訓(xùn)練模型用于關(guān)系分類(RC)。其模型結(jié)構(gòu)如下圖:

          R-BERT模型結(jié)構(gòu)

          該模型被稱為R-BERT,模型結(jié)構(gòu)在此不多介紹,后面有機會再介紹。在Github上有R-BERT模型的Torch框架實現(xiàn)方式,在Semeval 2010 Task 8 Dataset取得了不錯的效果。
          ??筆者將R-BERT用于人物關(guān)系分類數(shù)據(jù)集中,在測試集上的評估結(jié)果如下:
          Model: chinese-roberta-wwm-ext, weighted avgage F1 = 85.35%

          該項目筆者已上傳至Github,網(wǎng)址為:https://github.com/percent4/R-BERT_for_people_relation_extraction。
          ??本周,筆者下定決心使用Keras實現(xiàn)R-BERT。第一天,無果。第二天,實現(xiàn)關(guān)鍵Keras層的突破,進行簡單模型訓(xùn)練,發(fā)現(xiàn)離Torch版本的結(jié)果尚有一定差距。第三天,對照Torch版本,不斷調(diào)整模型,加入Warmup機制,發(fā)現(xiàn)終于取得了與Torch版本一樣的效果。在測試集上的評估結(jié)果如下:

          # Model: chinese-RoBERTa-wwm-ext, weighted avgage F1 = 85.27%
                        precision    recall  f1-score   support

               unknown     0.7930    0.8612    0.8257       209
                   上下級     0.7188    0.7419    0.7302        31
                    親戚     0.8824    0.6250    0.7317        24
                  兄弟姐妹     0.8378    0.9118    0.8732        34
                    合作     0.8600    0.7288    0.7890        59
                    同人     1.0000    0.9487    0.9737        39
                    同學(xué)     0.8800    0.9167    0.8980        24
                    同門     0.9615    0.9615    0.9615        26
                    夫妻     0.8333    0.8861    0.8589        79
                    好友     0.8065    0.8333    0.8197        30
                    師生     0.8857    0.8378    0.8611        37
                    情侶     0.9231    0.7742    0.8421        31
                    父母     0.9062    0.9062    0.9062       128
                    祖孫     0.9524    0.8000    0.8696        25

              accuracy                         0.8531       776
             macro avg     0.8743    0.8381    0.8529       776
          weighted avg     0.8566    0.8531    0.8527       776

          該項目已上傳至Github,網(wǎng)址為:https://github.com/percent4/Keras_R_BERT。后面有機會筆者再詳細介紹。
          ??至此,筆者不僅用Keras實現(xiàn)了R-BERT,并且比最初的BERT+Bi-GRU+Attention+FC模型,在測試集上的F1值提升了6.3%。
          ??實現(xiàn)模型的過程是痛苦的,筆者一度想放棄,但當(dāng)模型成功復(fù)現(xiàn)后,那種快樂,是簡單枯燥的工作中的一抹絢麗的陽光!這也是筆者第一次復(fù)現(xiàn)模型,雖然只是深度學(xué)習(xí)框架不同,但對我來說是極其重要的一步!
          ??最近又發(fā)現(xiàn)一個很不錯的關(guān)系分類的模型:Mul-BERT,但由于該模型的論文并未公布,Github也沒有公開源碼,筆者只好按自己的理解,簡單地實現(xiàn)了近似Mul-BERT模型,已上傳至Github,網(wǎng)址為:https://github.com/percent4/Keras_quasi_Mul_BERT。等論文出來后,再用Keras去復(fù)現(xiàn)Mul-BERT模型。
          ??本文到此結(jié)束,感謝閱讀~
          ??2021年3月25日于上海浦東,此日陽光明媚~

          瀏覽 104
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  中文在线成人а√天堂官网 | 超碰人妻无码 | 日本久色 | 学生妹做爱在线播放 | 精品国产乱码 |