今週のinput (2020/2/1〜2/7)

論文: データセット関連

1. Preparing a collection of radiology examinations for distribution and retrieval. (JAMIA 2015)

www.ncbi.nlm.nih.gov

内容
  • 胸部単純X線のレポートと画像が対になった公開データセット.
  • 匿名化は以下のようにして実現:
    • 読影レポートの匿名化は既存のシステム (Regenstrief Scrubber) を用いた. precision 100%.
    • DICOMヘッダーと画像の匿名化はRSNA's Clinical Trials Processor & DICOM supplement 142 Clinical Trials De-identification methodologyを用いた. しかし0.5%ほどの症例で個人情報が削除されずに残ってしまった.
  • さらにレポートへのタグ付与を次の2つの手法で行った.
    • manual encoding: MeSHとRadLexのコードを人手で付与
    • automatic encoding: MTIを用いた付与
  • ベースライン手法による症例検索性能を検討した.
    • 実験用の症例検索クエリはImageCLEFのクエリを使用.
    • 症例検索の性能は人手で評価した.
ひとこと
  • 英語での読影レポート匿名化は実用に耐えうるレベルで実現しているようですね.

2. A Corpus with Multi-Level Annotations of Patients, Interventions and Outcomes to Support Language Processing for Medical Literature. (ACL 2018)

www.aclweb.org

内容
  • RCT論文からPICOを抽出するためのデータセット, EBM-NLPを作成.
  • コーパスPubMed上のRCT論文5,000通.
    • 分野はcardiovascular, cancer and autism
  • アノテーション手順は以下のとおり
    • 簡便性のためPICOのIとCは区別せずP,I,Oの3種類でtagging
    • ツールにはBRATを使用
    • stage 1 annotation:
      • P,I,Oのいずれかに該当する区間をすべてアノテート
    • stage 2 annotation:
      • P,I,Oそれぞれについて以下をアノテート
      • アノテーターの認知的負荷を減らすためP, I, Oはそれぞれ別個に行った
        • 階層構造をもったタグ
        • repetition (情報の重複を検出するため)
        • MeSHタグの付与
      • アノテーターはクラウドソーシングで募集
  • ベースライン
    • PIO tagging
      • biLSTM-CRF: F1 score 0.63-0.71
    • token level tagging
      • CRF: F1 score 0.21-0.55
ひとこと
  • 臨床試験論文の検索支援サービスはすでに存在するようですが, これだけデータセットの粒度が細かければさもありなんという気がします.

論文: 医療言語処理タスク関連

3. Introducing Information Extraction to Radiology Information Systems to Improve the Efficacy on Reading Reports. (Methods Inf Med 2019)

https://www.thieme-connect.com/products/ejournals/abstract/10.1055/s-0039-1694992www.thieme-connect.com

内容
  • 中国語読影レポートに対して固有表現抽出を行い, さらに検証実験で情報抽出の効率化ができることを実証した.
  • 対象は肺CT 3000件.
  • 定義した固有表現ラベルは5種類
    • current_stage, tumor_size, tumor_description, tumor_site, disease
    • さらに同一の病変に対する固有表現どうしには同一のグループタグを割り当てた
    • アノテーション医学生1名, チェック役は医師2名
    • 使ったアノテーションツールはBRAT
  • Embeddingは部首, 文字, 単語それぞれのレベルの情報を統合した hierarchial embedding
    • 漢字 -> radical -> (CNN) -> characted -> (BIES encoder) -> word
    • 行列は word2vec (CBOW) で作成
  • NERの手法
    • 分かち書きはJieba setmentation tool
    • multi-embedding-BGRU-CRF
    • これとrule-based entity grouping & rankingを組み合わせた
  • 検証実験
    • 固有表現抽出のF1 score 95.88%, Entity groupingのscore acc 99.23%.
    • さらに放射線科医にレポート100件から結節の性状を拾い上げさせる実験を行った
      • 所要時間は4〜5割短縮され, accuracyも0.3〜3.8ポイント上昇
  • 課題
    • Entity groupingをルールベース→ニューラルなrelation extractionに変えると性能向上する可能性あり
ひとこと
  • きちんと固有表現抽出による時間短縮効果の検証までしているのはさすが.
  • 漢字の部首の embedding を作った」とさらっと書いていますが結構すごい技術なのではないでしょうか. 中国語のNLPでは一般的なんでしょうか?

論文: その他

4. What does BERT look at? An Analysis of BERT's Attention. (ACL 2019)

www.aclweb.org

内容
  • BERTのattentionの機能の分析を試みた論文.
  • 類似テーマの論文は多数あるが, 比較的早期に出たものの1つ.
    • Next Sentence Prediction を解いているときのattention
      • 同一トークン or 隣接トークンに対して
        • 50%以上のattentionを1つ前のトークンに当てる attention head が144個中4個存在
        • 50%以上のattentionを1つ前のトークンに当てる attention head が144個中5個存在
      • special token に対して
        • Layer 1-3 ではattentionの多くが [CLS] に当たる
        • Layer 4-10 ではattentionの多くが [SEP] に当たる
          • しかしIntegrated Gradで計算した予測への寄与度は小さい
        • Layer 11-12 ではattentionの多くが .や,に当たる
          • しかしIntegrated Gradで計算した予測への寄与度は小さい
      • Attentionのエントロピー
        • 入力側に近いレイヤーのattention headほど多トークンに広く浅くattentionを当てている
        • 最終層の[CLS]トークンからのattentionも同様に広範囲に当たっている
ひとこと
  • この論文以外にもBERTのattentionについては議論が多いので, きちんと予測根拠を示すのであれば勾配ベースで分析すべきかもしれません.

その他

手動botのこと
  • 読んだ論文を淡々と流すだけのTwitterアカウントを開設しました.
  • 基本的に毎日昼の更新を目指しています. ここ約2週間は1日を除いて毎日更新できています. データセットの論文が多めになってしまっていますが.

twitter.com

英語論文執筆のこと
  • 3週間ほど前に言語処理学会への演題登録が終わったので, 英語論文を書いています.
  • 1月末には投稿する気でいましたが, ちょっと見通しが甘かったですね. 予想外の進まなさに慄いています.
  • 関連文献の読み込みのレベルを上げる作業に時間がかかったり, self-containedであることを目指すために記述量が増えたりしています. いくら遅くても2月末には投稿にこぎつけたいです.

  • 気になっていたアカデミックライティングの日本語訳が出たので買いました. 第1章からとても中身が濃く, 英文の書き方がまるで変わります. これまで書きかけていた論文も丸ごとリライトしました. www.amazon.co.jp

研究コードのパッケージ化
  • ずっとまともに動くsetup.pyが書けずにいましたが, ようやく自分のコードをパッケージ化できるようになりました(嬉しい!!)
  • 参考にしたリポジトリは↓です. ディレクトリ構造を丸ごとコピーして, サンプルのsetup.pyを少し書き換えるときちんと動くようになります. 時間が余ったときに記事でもまとめようかと思います. github.com