はじめに

これまで多くの日本語形態素解析器が開発されてきましたが, 医学文章の解析においては,十分な精度が出ていませんでした. この理由の1つは,従来の形態素解析は,新聞などの汎用的な文章を想定し, 特に医療に特化していないことにあります. また,形態素という単位が,もっぱら抽出したい対象である薬品名や病名よりも小さく, いわゆる,細切れになってしまった医学用語の扱いが問題となっていました. そもそも,多くの専門用語は複合名詞であり,形態素解析のみで用語を抽出することは,無理な処理です.
このような問題を解決するために,MedEX/Jは,形態素ではなく,病名用語抽出に特化しました. また,後処理として,ICD10への標準化,事実性判定など,臨床的に重要な処理も組み込んであります. 従来,系列ラベリングによる用語抽出は,形態素解析の後処理として,実装されることが多かったですが, MedEX/Jでは,これを融合させ,単体で動作するように開発しました.

本システムの概要

本システムは,日本語の医療文章を解析し病名を抽出します.

入力例(sample.txt):

% cat sample.txt(Windows環境の場合:type sample.txt)
初診時は間質性肺炎は認められなかった.
再検査にて間質性肺炎が認められた.

解析結果例(辞書ファイルとして万病辞書を使用した場合):

% MednlpParser < sample.txt  
初診時は<N value="間質性肺炎;icd=J849/lv=S/freq=13800;間質性肺炎">間質性肺炎</N>は認められなかった.
再検査にて<P value="間質性肺炎;icd=J849/lv=S/freq=13800;間質性肺炎">間質性肺炎</P>が認められた.
  • <P>は,患者に認められる症状/疾患(陽性所見)を示します.
  • <N>は,患者に認められない症状/疾患(陰性所見)を示します.
  • value属性は,標準病名を示します.

標準病名は,辞書ファイル(デフォルトは万病辞書を元に作成したDIC.txt;標準病名と対応する表現がタブ区切りになったファイル)から検索されます.
検索アルゴリズムは,辞書ファイルから,もっとも類似した表現を見つけ,それに対応する代表病名を返します. 辞書ファイルを入れ替えることで,ICDへのコーディングや,MedDRA/J PTへの言い換えが実現できます. デフォルトの辞書は,MedDRA/J PTへの言い換えを行います.

MedEX/Jの実行ファイル

MedEX/J (version 1.00)

動作環境:Windows, Unix系システム,もしくはMacOSX

基本的な使用方法

例として,Windows環境での使用方法について下記に説明します.

1. 実行ファイルをダウンロードする
環境に合わせてMedEX/Jの実行ファイルをダウンロードし,インストールしてください.
展開したフォルダに作成されている,「MednlpParser.exe」がMedEX/Jの本体です.

2. 病名抽出対象のファイルを準備する
病名抽出対象のファイルを準備してください.(ここでは,当該ファイルがsample.txtであるとして説明します)
次に,MednlpParser.exeが存在するフォルダにsample.txtを置いてください.

3. 辞書ファイルを準備する
辞書ファイルをダウンロードし,上記と同じくMednlpParser.exeが存在するフォルダに置いてください.

4. MednlpParserを実行する
はじめに,コマンドプロンプトでMednlpParser.exeが存在するフォルダに移動してください.
その状態で,下記のコマンドを実行してください.
例として,userフォルダのMy Documentに置いた場合は下記のようになります.
下記の例では,病名抽出結果がoutput.txtに出力されます. 例では,-dオプションで辞書ファイル「MANBYO_v5dic.txt」を使用することを指定しています.

C:\Users\USERNAME\Documents\mednlp-win10\mednlp>MednlpParser -d MANBYO_v5dic.txt < sample.txt > output.txt


なお,MedEX/Jは,内部的な文字コードはUTF-8で処理しています.そのため,Shift-JISがデフォルト設定であるWindows環境では表示の際に文字化けが 発生する可能性があります.上記で説明した例のように,実行結果をファイルに保存することで,これを防ぐことができます.

詳細コマンドオプション

`-h` でコマンドラインオプションとデフォルト値が確認できます.

$ $DIR_TO_MEDNLP/MednlpParser -h
Usage:
MednlpParser [ -o | --option ] [ -p VALUE | --parameter VALUE ] [ operands ]

-d --dictionary [STRING]
The dictionary file. Default is './DIC.txt' (included in the program).

-h --help
Displays Help information about arguments when set

-i --input [STRING]
Read source text from specified file. Default is from standard input.

-m --model [STRING]
The model file. Default is './MODEL' (included in the program).

-n --negative-tag [STRING]
Set negative tag name. Default is 'N'.

-o --output [STRING]
Write the result to specified file. Default is to standard output.

-p --positive-tag [STRING]
Set positive tag name. Default is 'P'.

参考文献

MedEX/J の詳細については,下記の論文を参照ください.

  • Eiji Aramaki, Ken Yano, Shoko Wakamiya: MedEx/J: A One-scan Simple and Fast NLP Tool for Japanese Clinical Texts, Studies in Health Technology and Informatics, MEDINFO 2017: eHealth-enabled Health, Volume 245, 285-288, 2017. [OPEN ACCESS]
  • 矢野憲,伊藤薫,若宮翔子,荒牧英治:深層学習による医療テキストからの固有表現抽出器の開発とその性能評価,人工知能学会全国大会 (JSAI), 2017 [PDF]
  • 矢野憲,若宮翔子,荒牧英治:医療テキスト解析のための事実性判定と融合した病名表現認識器,言語処理学会 第23回年次大会, 2017 [PDF]

本研究にて構築した医療コーパスの詳細については,下記の技術資料を参照ください.

  • 荒牧英治,若宮翔子,矢野憲,永井宥之,岡久太郎,伊藤薫:病名アノテーションが付与された医療テキスト・コーパスの構築,自然言語処理「言語処理の応用システム」特集号(技術資料),25(1), 2018 [PDF]

謝辞

本研究は,部分的に以下のサポートを受けています.

厚生労働科学研究費補助金(臨床研究等ICT基盤構築研究事業), 2016年〜2017年, 「カルテ情報の自動構造化システムと疾患数理モデルの逐次的構築,及び,自動構造化機能を有した入力機構の開発」(荒牧班)

更新履歴

2018/06/26:MedEX/J ならびに医療コーパスの詳細に関する参考文献を追加.
2016/03/30:Windows 版公開.
2016/11/16:研究班内部にて公開.

プライバシーポリシー

奈良先端科学技術大学院大学ソーシャル・コンピューティング研究室(以下,本研究室)が提供する成果物のプライバシーポリシーを定めます. 使用される方は,本規約を熟読し,内容をご理解いただいた後に,使用を開始していただくようお願いいたします.

免責事項

成果物は,可能な限り細心の注意を払って開発しました. しかし,完全な信頼性や堅牢性を保証しているわけではありません. 結果的に本アプリ及びデータを使用して何らかの問題が発生した場合, 提供元である本研究室は一切の責任を負いかねます. ご使用になる場合には自己責任でご活用いただくようお願いいたします.