Penn Tree Bankで定義されている品詞タグ一覧

はじめに 英文を句構造文法によって自動で構文解析すると,多くのライブラリではPenn Tree Bankの仕様に従って品詞タグが付与されます. ニューラル言語処理ばかりやっていると意外とこれらの品詞タグが何を表しているかについて馴染みがないので,この機会に…

SentencePieceでの日本語分かち書きをTransformersのパイプラインに組み込む

背景 PyTorchでHugging Face Transformersを使って自然言語処理を行うとき,文章をモデルに入力するためにはまず単語単位に分かち書き (tokenize) しなければなりません. この前処理が思ったよりもやっかいなのです. 事前学習済みのモデルをTransformers公…

環境変数を間違えてPoetryがうまく動かなくなった話

はじめに PoetryはPythonの強力なパッケージ依存関係管理ツールです. ところで,PoetryはPythonの外部パッケージを扱うツールであって,Python本体そのものを扱うツールではないため,当然ながらPythonの本体そのものが複数存在する場合に,そのうちのどれ…

シェル変数と環境変数の違いを理解する

はじめに 自前で開発環境を整えようとしているうちに泥沼にはまってしまいました. 直そうとしているうちにLinuxについてまだ理解していない点が沢山あることに思い至ったので,こちら↓の本を参考にシェル変数と環境変数の違いについて整理しました. www.am…

Pymetamapで英語電子カルテからUMLS conceptを抽出する

はじめに NIHが提供しているMetamapというツールを使うと英語テキストから病名,薬剤名,解剖学的部位などを抽出することができます. metamap.nlm.nih.gov Metamapは本来Javaで書かれており,Pythonでデータ分析をする際に扱いづらかったのですが, 世の中…

spaCyで文字単位のNERアノテーションを単語単位に変換する

はじめに 固有表現抽出 (Named Entity Recognition (NER)) は,英語データに対して行う場合,基本的に単語単位の系列ラベリングタスクとなります. このため,データセットもあらかじめ単語単位でラベル付けされていると便利です. しかし,世の中には残念な…

続・Dockerことはじめ: コンテナにホスト側のディレクトリをマウントする

0. はじめに 前回の記事はこちら 前回はTensorFlow公式のDocker Imageを入手してコンテナを起動してみました. 今回は研究プロジェクトを実際にDocker コンテナを使って進めていく準備をしたいと思います. 動作環境 CentOS Linux release 7.7.1908 Docker ver…

Dockerことはじめ: 初心者がコンテナを作ったり壊したりして覚えてみる

0. はじめに 0-1. Dockerを使おうとしたきっかけ 私は普段はPyTorch使いなのですが, 研究の都合上, どうしてもTensorFlowを使わないとならない場面に遭遇しました. しかし, とある事情で, NAISTの共用GPUサーバーの環境ではTensorFlowが使えないことが発覚し…

奈良先端大に国内留学して2ヶ月経ちました 〜生活環境の備忘録〜

いま私は医学博士課程2年目で,社会人大学院生のような立場なのですが,4月から半年間仕事をストップして,NAIST荒牧研に特別研究学生として医療言語処理を学びに国内留学しています. 大まかな理由は以下のとおりです. いまの環境が相当厳しい 自然言語処理…

MetaMapの使い方: 医療文書からUMLS conceptを抽出するには

1. 目的 ここで取り上げるのは医学論文, 診療記録, 退院サマリーなどの医療文書に対して固有表現抽出を行うMetaMapという医療言語処理ツールです. このツールを使うと任意の医療文書から疾患名, 薬剤名, 治療名などを抽出することができます. 一見, ただ目的…

MIMIC-CXRから読影レポートとjpg画像だけを取得する

はじめに 胸部単純X線の画像と読影レポートの公開データセットMIMIC-CXRを利用するための準備をしてみます。 MIMIC-CXRは次の2つの形式で公開されています: (1) MIMIC-CXR. DICOM形式の画像と, 読影レポートのtxtファイルが提供されている. physionet.org (2…

MIMIC-IIIを使えるようになるまで

0. MIMIC-IIIとは MIMIC-IIIとは米国ボストンにある Beth Israel Deaconess Medical Center (BIDMC) が収集した大規模単施設医療データセットです. ICUのあらゆる診療データが12年間にわたって収集されており, その規模は ICU stay 約6.2万回, 成人患者 約3.…

今週の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線のレポートと画像が対になった公開データセット. 匿名化は以下のようにして実現: 読影レ…

日本語BERTモデルをPyTorch用に変換してfine-tuningする with torchtext & pytorch-lightning

TL;DR ①TensorFlow版訓練済みモデルをPyTorch用に変換した (→方法だけ読みたい方はこちら) ②①をスムーズに使うための torchtext.data.Dataset を設計した ③PyTorch-Lightningを使ってコードを短くした はじめに 日本語Wikipediaで事前学習されたBERTモデルと…

Juman++, SentencePiece, BERT tokenizerの分かち書きを同じコードで書くための抽象クラス

0. 動機 自然言語処理のためには, 入力文を分かち書きし, 各トークンを数値に変換しなくてはなりません。 分かち書きのためのモジュールは Janome(MeCab), Juman++, SentencePiece, BERT tokenizer など色々提供されています。 しかし, 厄介なことに, これら…

Notebook環境でGPUメモリ使用量をリアルタイム監視する

TL;DR GPUメモリの使用量をすぐ取得できるようなPython関数をつくってみた はじめに GPUメモリの利用状況を確認するためには nvidia-smi や nvidia-smi -q -d MEMORY などの各種コマンドを利用できます。 $ nvidia-smi -q -d MEMORY >>> ==============NVSMI…

Livedoorニュースコーパスを文書分類にすぐ使えるように整形する

はじめに 日本語文書分類タスクのための代表的なコーパスの1つ,Livedoorニュースコーパス。 Livedoorニュースのニュース記事を収集して生成されており,9種類のニュース記事が計7367本収載されています。 登録なしで無償利用でき,便利なのですが,そのまま…

自然言語処理タスクを概観する(6) Multi-modal task

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

自然言語処理タスクを概観する(5) 言語モデル, 情報抽出, 意味, 知識など

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

自然言語処理タスクを概観する(4) 系列変換, 生成, 対話

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

自然言語処理タスクを概観する(3) 系列ラベリングとその変形

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

自然言語処理タスクを概観する(2) トークン単位の分類問題とその変形

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

自然言語処理タスクを概観する(1) 文書分類とその変形

NLP Progress という素晴らしいリポジトリを見つけました。整理の意味を込めてまとめます。 NLPの種々のタスクとそのSOTAが掲載されています。 NLPのベンチマークとなる有名なデータセットも一緒に紹介されており,NLP論文を読むうえで大きな助けとなってく…

論文紹介: SentencePieceの原著論文+α

はじめに 2018年に登場したニューラル言語処理のための教師なしサブワード分割モジュール,SentencePiece。 開発意図や仕様を確認するために原著論文を読みました。 github.com 論文は2018年8月にarXivに投稿されています。 arxiv.org 著者・開発者はMeCab開…

論文紹介: Holistic and Comprehensive Annotation of Clinically Significant Findings on Diverse CT Images: Learning from Radiology Reports and Label Ontology

「読影レポートさえあれば,もうhand-madeの教師ラベルはいらない!?」 そんな印象をかき立てるようなタイトルの論文がCVPR 2019に出ていました。実際どうなんでしょうか?読んでみましょう。 論文へのリンクはこちらです。 arxiv.org ちなみに,cvpaper.chal…

2019年に医療言語処理のビッグウェーブが来たかもしれない

医学博士過程で自然言語処理の読影レポートへの応用をテーマにしようとしています。 サーベイの副産物です。 医療言語処理の国際会議論文を探す この機械学習の一大ブームのなかでも,特に医療への応用が遅れがちな自然言語処理。 現状はどうなっているでし…