比賽簡介
- 比賽名稱:CHIP2021評測一: 醫(yī)學(xué)對話臨床發(fā)現(xiàn)陰陽性判別任務(wù)
- 測評任務(wù):針對互聯(lián)網(wǎng)在線問診記錄中的臨床發(fā)現(xiàn)進(jìn)行陰陽性的分類判別
- 測評鏈接:http://www.cips-chip.org.cn/2021/eval1
本次比賽可以視為針對實(shí)體的細(xì)顆粒情感分析任務(wù),一共有陰性、陽性、其他、不標(biāo)注四種標(biāo)簽。
- 陽性:已有癥狀疾/病等相關(guān);醫(yī)生診斷(包含多個(gè)診斷結(jié)論);假設(shè)未來可能發(fā)生的疾病等
- 陰性:未患有的疾病癥狀相關(guān)
- 其他:用戶沒有回答、不知道;回答不明確/模棱兩可不好推斷
- 不標(biāo)注:無實(shí)際意義的不標(biāo)注

任務(wù)難點(diǎn)與挑戰(zhàn)
- 對話上下文信息的利用

- 標(biāo)準(zhǔn)詞信息的引入

噪聲和難判斷樣本
數(shù)據(jù)不平衡
方案總結(jié)
一、整體結(jié)構(gòu)

我們借鑒了R-BERT的思路在BERT的基礎(chǔ)上,在需要判別陰陽性的臨床發(fā)現(xiàn)實(shí)體兩端分別加入[UNUSED1]和[UNUSED2]。針對標(biāo)準(zhǔn)化信息,我們通過構(gòu)建標(biāo)準(zhǔn)詞模版引入該部分的信息,具體構(gòu)建方法如下:
- 臨床發(fā)現(xiàn)詞+“|標(biāo)準(zhǔn)化為”+標(biāo)準(zhǔn)名
- 臨床發(fā)現(xiàn)詞+“|沒有標(biāo)準(zhǔn)化”
此外,我們使用輸入者嵌入矩陣生成輸入者,拼接在bert輸出的向量中。
二、數(shù)據(jù)處理
-
上下文拼接
- 若文本的輸入者為患者,則在文本前拼接“患者:”
- 若文本的輸入者為醫(yī)生,則在文本前拼接“醫(yī)生:”
- 若當(dāng)前臨床發(fā)現(xiàn)詞所在的文本是醫(yī)生輸入,則拼接三輪下文患者輸入的文本;
- 若是患者輸入,則不區(qū)分下文輸入者信息,直接拼接三輪下文輸入文本
- 拼接文本的長度為小于40個(gè)字符的一輪上文文本
-
截?cái)噙x擇
- 以臨床發(fā)現(xiàn)詞為核心進(jìn)行上下文截?cái)?/li>
三、數(shù)據(jù)清洗
- 過濾與預(yù)測標(biāo)簽不一致的原始標(biāo)簽

- 任務(wù)預(yù)訓(xùn)練

四、模型集成
本次任務(wù)中,我們一共采用了MC-BERT、Med-BERT、MAC-BERT-Large和任務(wù)預(yù)訓(xùn)練后的MAC-BERT-Large四種預(yù)訓(xùn)練模型。針對每一種預(yù)訓(xùn)練模型我們使用10折交叉驗(yàn)證生成10個(gè)模型,并使用投票法集成輸出結(jié)果。

除了正常的投票法外,針對其他和不標(biāo)注兩類標(biāo)簽召回少的問題,采用弱者投票機(jī)制,即十組投票結(jié)果中,若有2組以上的預(yù)測結(jié)果為“不標(biāo)注”或“其他”,則忽略其他高票預(yù)測結(jié)果。
多模型融合則采用規(guī)則集成修正的方式進(jìn)行融合。
五、其他Trick
- EMA
- FGM
六、B榜結(jié)果

比賽總結(jié)
比賽已經(jīng)結(jié)束,最終僥幸獲得了第一名的成績。很榮幸地受邀在CHIP2021線上會(huì)議上進(jìn)行分享,也看到了其他選手精彩的方案??傮w來說,Top方案之間的差距很小,我們更多還是靠一些小的細(xì)節(jié)trick取勝。本次比賽我們的代碼是在自己的ark-nlp上進(jìn)行開發(fā)和實(shí)驗(yàn),后續(xù)我們也會(huì)繼續(xù)對ark-nlp進(jìn)行改進(jìn),收錄更多的SOTA方式。此外,我們也將積極推動(dòng)醫(yī)療知識圖譜和醫(yī)療預(yù)訓(xùn)練模型的開發(fā),也希望有興趣的朋友可以加入我們。
- ark-nlp地址:https://github.com/xiangking/ark-nlp
- 方案開源地址:https://github.com/DataArk/CHIP2021-Task1-Top1
- MC-BERT torch版權(quán)重:醫(yī)療BERT | 中文生物醫(yī)學(xué)文本挖掘的概念化表征學(xué)習(xí)