Ahogrammer

Deep Dive Into NLP, ML and Cloud

Tweetから薬の副作用に関する分類と抽出を行う手法

ACL 2019より以下の論文を紹介。

この論文は、Tweet中に出現する薬の副作用に関するメンションの分類と抽出を行う手法を提案している。背景として、投薬治療後の主な死亡原因に薬の副作用が関係しており、その監視が重要な点を挙げている。最近ではSNSに薬の効果が投稿されるので、それを監視に役立てるという話になる。関連するシェアドタスクとして「ヘルスアプリケーションのためのソーシャルメディアマイニング(SMM4H)」があり、この論文ではその内の2つのタスク(副作用の分類と抽出)に取り組んでいる。結果として、分類では最高性能(F1で0.6457)、抽出では今後に期待できる性能が得られた。

タスク1では与えられたTweetに薬の副作用が含まれる(1)か否か(0)を分類するタスクに取り組むことになる。統計情報は以下の通り。学習用データセットは25,678件、テスト用データセットは4,575件存在する。ラベルの統計情報は以下の表で示される。これを見ると、ラベルが不均衡なデータセットであることが確認できる。

f:id:Hironsan:20190926075438p:plain
タスク1のラベル統計情報

タスク2では与えられたTweetから薬の副作用のメンションを抽出するタスクに取り組むことになる。統計情報は以下の通り。学習用データセットは3,225件でメンション数は1830件、テスト用データセットは1,537件存在する。ラベルの統計情報は以下の表で示される。これを見ると、メンションが含まれないTweetも存在することがわかる。

f:id:Hironsan:20190926075807p:plain
タスク2のラベル統計情報

提案手法ではタスク1はBERTと知識ベースを組み合わせて解いている。アーキテクチャは以下の図で示される。TweetはBERTから得られたベクトルと知識ベースから得られた特徴ベクトルを結合したベクトルを使って分類される。知識ベースをどう使うのかと言うと、知識ベースから薬とその副作用のペア<薬, 副作用>を抽出し、それがTweetに含まれているか否かという2値の特徴を作成している。

f:id:Hironsan:20190926080201p:plain
タスク1を解くモデルのアーキテクチャ

タスク2はBERTとCRFを組み合わせて解いている。これはよくある系列ラベリングのモデルなので説明は割愛する。

f:id:Hironsan:20190926080236p:plain
タスク2を解くモデルのアーキテクチャ

タスク1の結果は以下の通り。結果を見ると、BERTをTweetで再学習させたBERT_Retrainedが最も良いF1の値を出している。提案した知識ベースを組み合わせた手法は、F1ではBERT_Retrainedに及ばないものの、適合率では大きく上回る結果となっている。

f:id:Hironsan:20190926081050p:plain
タスク1の結果

タスク2の結果は以下の通り。結果を見るとBERTにCRFを組み合わせたモデルが最も良いF1の値となっている。

f:id:Hironsan:20190926081117p:plain
タスク2の結果

感想

こちらの論文も以下の記事で紹介した論文と同様に興味深い分野であった。

hironsan.hatenablog.com

タスク1で知識ベースから薬とその副作用のペアを抽出して特徴として使っているが、今後このペアを使ってDistant Supervisionで大量の学習データセットを作って性能を上げる論文が出てくる可能性が高い。また、タスク2は以下の記事で紹介したスペル修正の方法と組み合わせることで、どのくらい性能が向上するかは検証する価値があるかもしれない。

hironsan.hatenablog.com