【ノバルティス社の事例】SNSから医薬品の有害作用を検出するAEブレイン

この記事を書いた人
北爪 聖也

株式会社pipon代表取締役。 キャリアはADK(広告代理店)でテレビ広告運用をして残業120時間するが、ネット広告では自分の業務がAIで自動化されていることに驚愕する。そこで、機械学習受託会社に転職し、技術力を身につけた後、piponを創業。現在、製薬業界、大手監査法人、EC業界、様々な業界でAI受託開発事業を運営。

はじめに

今回は、ノバルティス社で取り組んでいる、有害作用検出モデルの事例を紹介します。

具体的には、自然言語処理(NLP)を使い、TwitterやFacebookなどソーシャルメディアの入力から医薬品の有害作用を検出する機械学習モデルで、ノバルティス社では「AEブレイン」と命名しています。brain(脳)という言葉を使っているのが特徴です。

有害作用とは

まず、AEブレインで検出する「有害作用」を確認しましょう。有害作用とは、医薬品を用いたときに患者に現れる、好ましくない作用のことです。有害作用の程度はさまざまで、ごくわずかであることもあれば、人体に深刻な影響を及ぼすこともあります。

ノバルティス社内で有害作用の情報を得た従業員は、24時間以内に当局に報告することが求められています。通常、有害作用発生の情報は、医師からのeメールや電話などから入手します。

ノバルティス社ではソーシャルメディアの情報から、有害作用を検出するモデルの構築を進めています。

AEブレインの詳細

1) ソーシャルメディア上から有害作用を検出することの難しさ

AEブレインが分析の対象としているソーシャルメディアから、有害作用を検出するシステムとして活用するには3つの大きな課題があります。

①体系化されていない乱雑な情報源が分析対象であること

ソーシャルメディアは、情報量が非常に多く、複雑で誤った語彙や文法が多々使われており、オリジナリティあふれる俗語や絵文字であふれています。このような場から、有益な情報を取る出すことは、困難を極める作業です。

さらに、そもそもソーシャルメディアに上がってくる有害作用の記述が非常に少ないということもあり、有害作用の検出は非常に難しく大変な作業です。

②医薬品に関するドメイン知識が必要であること

AEブレインを、ソーシャルメディアでの有害作用の検出に活用するにあたっては、医者のように有害作用を理解し、その原因と結果を理解している必要があります。ドメイン知識がないと、有害作用を見逃したり、ささいなことを有害作用と判断したりしてしまいます。

例えば、Twitterで「モービックという薬を飲んだら、頭が痛くなったのはなぜだろう?」というツイートがあったとしましょう。

薬を飲んだら頭痛がするのはよくあることなので問題ない、とシステムは判断するかもしれません。しかし、実はこれはモービックの有害作用なのです。

逆に、専門家が見れば有害作用ではない事象でも、システムは有害作用と判断することもあり得ます。

③実使用への適応に向けた調整が必要であること

構築したシステムを実際のビジネスで使うには、低い偽陰性率を実現する必要があります。偽陰性とはこの場合、本当は有害作用なのに有害作用ではないと誤判定することです。例えば、ガンかガンでないかの診断をする場合、ガンを見逃してしまうことを意味しており、患者は手遅れになってしまう恐れがあります。したがって、医薬品の分野では偽陰性は極力避けなければならない判断結果なのです。

偽陰性率を下げるためには、トレードオフで偽陽性率が上がってしまいますが、それもやむを得ないでしょう。偽陽性は再確認プロセスで除去できますので、安全サイドの判断と言えます。

また、有害作用の定義は時間が経つと変化しますので、有害作用の定義を適宜変更可能なシステムである必要があります。

GxPの遵守も必要ですが、AEブレインはGxPコンプライアンスを達成しています。GxPとはGood x practice(適正 x 基準、優良 x 規範)を略したものであり、安全性や信頼性を確保することを目的に政府などの公的機関で制定する基準を表す言葉の略称です。GAP、GCP、GLPなど複数の基準を総称して、GxPと表しています。

以上のようにさまざまな難しさがありますが、AEブレインは、人工知能を使ってソーシャルメディアから有害作用を検出できる、先駆的なシステムの一つと言えます。

2) 有害作用検出のプロセス

ソーシャルメディアから有害作用を検出しようとすると、従来は人手で行う必要があり、とても大変な作業でした。NLPを活用して有害作用の検出にかける人手を減らそう、というのがAEブレインを使った、有害作用の検出プロセスです(図1)。

ソーシャルメディアで有害作用の潜在的な候補を検出するために、特別なモデルは使っておらず、シンプルなテキストの二値分類モデルを使用しています。

テキストデータがモデルにインプットされると、まず文に分解し、テキスト分類器により、有害作用を意味する文であるかを予測します。有害作用の可能性があると予測された文は、人間の確認者に送られ、確認者が最終的に有害作用かどうかの判断をします。また、分類器で有害作用でないと判断された文に対してはルールエンジンで判定し、有害作用と判定されればエキスパートに送られます。ルールエンジンで有害作用と判定されなければ、その他の文と判定して終わりです。

このように、すべてを機械に任せるのではなく、エキスパートによる確認をプロセスに組み込んでいるのが、AEブレインの特徴です。

図1. AEブレインの全体像

3) テキストの分類の難しさ

ソーシャルメディアのテキストデータから有害作用を検出するには、難しい問題がいくつかあります。

①不均衡なデータであること

テキスト分類器にインプットされるテキストデータのうち、有害作用と推定されるテキストはわずかで、ほとんどが有害作用とは無関係な、いわゆる不均衡データです。

不均衡データに対して何の工夫もせずにテキスト分類モデルを作ると、分類精度の低いモデルになることが分かっており、不均衡データをどう処理するかがポイントです。

②有害作用の判断基準があいまいであること

専門家の間でも、どのような文を有害作用とみなすかの判断が異なります。AEブレインでは、学習用データにラベル付けする際、複数の専門家が分類に合意した文のみにラベリングし、学習に用いるようにしています。

③不明瞭な文であること

ソーシャルメディア特有の不明瞭な文も、精度の高い分類器を作る障害です。例えば、「〇〇を飲んだら頭痛がする」と丁寧に書かれていれば、有害作用と判定できますが、単に「頭が痛い」というシンプルな文だと、これが薬を飲んだことで生じた有害作用なのか、単なる頭痛なのかが分かりません。

「頭が痛い」が有害作用である可能性はゼロではないので、偽陰性率を下げるためには、このような文を有害作用の可能性あり、と分類する必要があります。

4) AEブレインで用いられるNLPモデル

AEブレインは、ソーシャルメディア上のテキスト分類を行うにあたり、BERTとBioBERTを採用しています。

BERTとはGoogleが開発したNLPで、多くのNLPの中でも特に精度が高いモデルと言われているモデルです。

big data toolsでもこちらの記事で詳しく解説しています。

BERTはWikipediaやコーパスなどを事前に学習させた汎用のNLPですが、BioBERTは生物医学分野のテキストを事前に学習させており、生物医学分野に特化したBERTです。

BERTは、テキストデータに対して、トランスフォーマーが文脈を双方向に学習することが大きな特徴です。

例えば、英語の「bank」という単語を考えてみましょう。bankには、「土手」という意味と「銀行」という意味があり、どちらの意味でbankをとらえるかで、全体の文意が全く異なります。BERTでは、bankの単語をマスクして双方向に学習することで、語義の曖昧性を解消しています。

また、BERTは文同士の関係を理解するために、次の文を予測する学習も行います。例えば、AとBという文があるとき、BがAに続く文なのか、無関係の文なのかを学習します。これにより、高度な推論が可能となり、有害作用の検出につなげることができます。

さて、BERTやBioBERTで学習を行う際はハイパーパラメータを決める必要があります。ハイパーパラメータはいくつかありますが、AEブレインでは最大シークエンス長さに重点を置いています。それは、最大シークエンス長さが、分類性能に大きな影響を与えることが分かったからです。

Twitterを対象にするのであれば、最大シークエンス長さは140文字に設定すればよいですが、AEブレインはTwitter以外のソーシャルメディアからのインプットも想定しているため、情報損失を防ぐために最大シークエンス長さを512文字に設定しています。

4) 有害作用検出精度について

AEブレインでは、BERTとBioBERTを用いていますが、それぞれの有害作用を検出する能力は、表1の通りです。

表1 BERTとBioBERTの性能評価結果

モデル再現率(有害作用)適合率(有害作用)再現率(その他)適合率(その他)正解率
BERT0.980.990.990.990.989
BioBERT0.950.920.990.980.977

汎用性の高いBERTの再現率が98%だったのに対し、BioBERTの再現率は95%とわずかに劣っていました。この結果を見ると、性能の劣るBioBERTを使う必要はないように思えます。

しかし、新しい専門用語がソーシャルメディアに入力されたとき、それを確実に捉えるには、BERTのみでは不十分でBioBERTの専門性が必要となるのです。なぜなら、AEブレインでは、有害作用を見逃してしまうことを、何としても避けなければならないからです。

5) テキスト分類後のプロセス

さて、AEブレインは単にソーシャルメディアからの情報を、BERTまたはBioBERTで有害作用か否かを分類しているだけではありません。

BERTとBioBERTを組み合わせたアンサンブル分類器で、Twitterなどソーシャルメディアから入力されるテキストを分類します。

いずれかの分類器が有害作用の存在を予測したら、再確認のためにフラグを立てます。このプロセスにより、偽陽性(有害作用ではないのに、有害作用と分類すること)の確率は幾分高くなってしまいますが、偽陰性の確率を下げるためにはやむを得ないですし、また、極端なテキストの入力に対してロバストな(頑強な)分類を実現できます。

アンサンブル分類器で有害作用と分類された文は、人間が確認して最終的な判断をしますが、誤判定した文は、再学習させて分類精度の向上を図ります。

また、有害作用でないと分類された文についても、そこから定期的にサンプリングし、誤判定していた文は再学習して精度向上を図ります。

まとめ

・ソーシャルメディアから有害作用を検出することは、非常に困難なタスクです。

・従来は手作業で行っており、時間とコストがかかるプロセスでした。

・AEブレインはNLPを効果的に活用することで、手作業の負荷を大幅に低減できます。

・AEブレインは、GxPコンプライアンスを実現しており、他の業種への適用も期待できます。

・現在は、ソーシャルメディア以外の入力チャネルの活用、英語以外の言語への対応、ULMFiTやXLNetなど他のNLPへの拡張、などの検討が進められています。

AE Brainについてはこちらの動画で詳しく解説されています。

piponではエンジニアの皆様に業務委託や副業でAI・データサイエンスの案件をご紹介しています!

piponの案件にご興味がある方は以下のフォームにご登録ください。案件をご案内します。

https://share.hsforms.com/1qk0uPA_lSu-nUFIvih16CQegfgt