テキスト分類

診療録の質的監査は、とどのつまり診療録という文書を質が高いか低いかというクラスに分類するタスクであると言える(暗黙知の問題がなければ)。したがって、診療録とそれにラベル(質が高いか低いか)を付したデータセットを大量に準備し、教師あり機械学習にかければよい。

ここではテキスト分類の原理を理解するために手作業で簡単な文書分類タスクを行ってみる。

コーパス作成

診療録は手軽に入手できるものではないので、代わりに論文の抄録を分類することにする。ラベルとして論文検索システムに入力する検索キーワードを利用する。たとえば、キーワードに「一過性脳虚血発作」を入力して論文を検索し、得られた抄録を分類対象の文書とする場合、ラベルとして「一過性脳虚血発作」を使う。このようにして、ラベルを検索キーワードとして論文抄録を収集すれば、いくらでもデータセットを集めることができる。このような方針のもとにコーパスを作成する手順をここに示す。

収集した抄録はExcelのシートにラベルをシート名にして整理する。その際、個々の抄録を区別するためにIDを連番で付番する(下図)。

図1.収集したコーパス

 データセット作成

収集したコーパスからデータセットを作成する手順をここに示す。 ここで、「データセット」とは単語空間におけるドキュメントベクトルを指す。一般にテキストマイニングで利用する特徴量(feature)は単語である。その単語の頻度を数えて特徴量ベクトルとしてドキュメントの類似性をコサイン類似度等を使って求める。

そこで、図1のAbstractを形態素解析ソフトMeCabを使って形態素に分解し、名詞など特定の品詞を抽出して頻度ベクトルを求める。ここでは手作業で行うため、Excelのピボットテーブルを使って頻度ベクトルを求める。

ドキュメントの類似性

抄録のドキュメントベクトルが得られたらコサイン類似度を用いてドキュメント間の類似度を計算する。コサイン類似度とは2つの文書ベクトルのなす角度のコサイン(余弦)のことで、ベクトルの内積を個々のベクトルのノルム(長さ)で割ったものである。

図2.コサイン類似度

ベクトルの内積は、Excel関数SUMPRODUCTで計算できる(図3)。ベクトルのノルムは配列要素の二乗和を計算する関数SUMSQの平方根をSQRT関数を使って求めればよい(図4)。

図3.ベクトルの内積を計算するSUMPRODUCT関数

 
図4.ベクトルのノルムを計算する

コサイン類似度はベクトルのなす角度が0の場合に最も大きくなる(その値は1である)。一方、最も似ていない場合は角度が90度になり、コサイン類似度は0になる。こうしてコサイン類似度が計算できたら、それらを比較して、どの文書が最も類似しているかを求める。

0 件のコメント:

コメントを投稿

退院サマリーの標準化

 頼んでおいた「退院サマリー標準化の試み」 1) が届いたので読んでみた。この中に「 病院での診療録の質を向上させるために最も有効な方法の1つは、退院サマリーを監査することである 」という記述がある。その理由として「 日常的な診療記録(経過記録;progress note)は、入...