形態素解析を行わない自然言語処理の医療応用
Medical Applications of Natural Language Processing without Morphological
Analysis
山本 康仁
1Yasuhito Yamamoto
1 1東京都立広尾病院
1
Tokyo metropolitan hiroo hospital
Abstract: A large amount of medical records are digitized, but the abbreviations are not unified and do not follow any grammar, so it is difficult to analyze them with normal natural language processing. The newly developed HiPER NLP does not perform morphological analysis but focuses on the correct interpretation of abbreviations. In case of processing errors, the translation results are stored with the source phrase, and a user interface is provided to point out errors.
医療 DWH がもつ問題点
DWH を定義した Inmon は、2007 年に医療 DWH が他の職種と異なりその価値を享受していないと指 摘している。医療と比較すると一般業務は、顧客と 数量が変化するだけで業務パターンがある程度一定 で、正規化がすすみ、情報活用期間が短い。対して 医療では状況が多彩でパターン化しにくく、取り扱 われる情報も冗長な文章ばかりで、そのままの利用 が難しく、何十年にもわたり情報を収集しなければ ならない。Inmon は(1)医療情報 DWH で成功をおさ めるのなら、専門用語や略語の統一が必要で、専門 領域と語彙の関連情報の活用や自然言語処理を備え る必要があると述べている。クリニカルパスなどで 医療プロセスを可視化し、業種をまたがって問題を 共有するという仕組みはあるが、病態は各個人多彩 であり、異常状態に対応する医療という特性からパ ターン化は難しい。専門用語や略語の統一の必要性 は認識されているが、実際には遅々として進んでい ない。 本邦でも大学病院規模では1ヶ月に20万以上の 電子カルテ文章が発生するが、記述内容の具体につ いては医療従事者に一任され、二次利用するために は非文法的かつ断片化した文章から医療情報を抽出 する必要がある。(2)HiPER NLP について
診療録に含まれる情報は患者の症状や医師の判断 など重要な内容を含み、構造化して利活用が求めら れる反面、意思決定支援などへの応用は、自然言語 処理等の精度不足が懸念される。そこで当院では、 DPC コーディングや各種業務支援への利用に止めた。 ここでは、2010 年に実施した先行研究と、そこから 発展し 2014 年から利用 7 年目となる自然言語処理 (HiPER NLP)の利活用と仕組みを簡単に説明する。先行研究としての症候群サーベイ
ランス
都立広尾病院で2007 年から 2009 年まで約3年間で 収集した医師プログレスノート200 万件を抽出し, 2008 年 2 月までの 135 万件と以降の 65 万件に分割 した。前半の135 万件から、「喘鳴,発熱,発疹,咳 嗽,嘔吐,下痢、痙攣」の7項目に関連する文章の 断片20 万個を収集した。20 万個の文章断片の前後 の文節を含めて、採用すべき語彙,採用すべきでな い語彙を分類した。前段階で同義語を判別し,複雑 な記載を簡単な単語に要約したのちに、ルールベー スに従い除外する言い回しを検討している。こうし て作成された処理装置を検証した。誤差2%、信頼 人工知能学会第二種研究会資料 SIG-AIMED-010-02度95%、母比率 10%と仮定して,サンプル数を 865 とした。サンプルは、後半の65 万件から前述した7 項目を含む記載83654 件を検索し、無作為に 865 件 を抽出した。この文章について、自然言語処理装置 が正しく文章を解析したのかを、医師が目視で確認 した。無作為に抽出した865 件のプログレスノート の記載の中から症候7項目についてその有無を正し く解析できたのは824 件で、正確度は 95.3%であっ た。例えば,「発熱があるときは再来すること」のよ うな仮定文や、主語が本人を示さない場合,あるい は「昔からよく発熱する子だった」というような現 状を示さない文章は除外することができた。(3)
検知器の精度
新型インフルエンザが流行した 2009-2010 シーズン インフルエンザを対象に2009 年 4 月 28 日から検討 を開始した。翌年3 月 8 日までの 316 日間で 24 万 4500 記載が収集された。この期間において 4582 回 のインフルエンザ迅速診断が施行され、1177 回の陽 性が確定している。その間の発熱患者はのべ 12159 名であった。流行開始を検知する意味で,24 時間で インフルエンザA 型迅速診断陽性が2名を超える状 況を検知するよう、決定木を設定して計測した。こ れは過去の流行から、7症候の患者数,その割合が インフルエンザ2名を超えるパターンを示した場合 に警告を出すものである。結果は東京エリアで夏に 流行した新型インフルエンザを描出し、特異度 97.5%、陽性反応的中度は 93.5%であった。診療録のリアルタイム自然言語処理
記載からその時点で存在する病態、病名、所見をコ ード化して取得することを目的とした。またこれら の情報を強化する意味で、構造化済みのデータも合 わせて収集し、時系列ログとしてグループで収集で きるようにしている。病名・病態出現時に同時に存 在した病名・病態集合体も合わせて収集、記録した。 構造化データの詳細については、ここでは触れない が、例えば手術オーダーに含まれる病名やDPC 病名 などの集積、有害事象共通用語基準CTCAE v4 を用 い検査結果の異常値を病態としてマッピングしてコ ード化している。 このリアルタイム自然言語処理のアルゴリズムは古 典的なルールベースのエンジンの派生に過ぎないが、 大量の診療録を高速に処理することに主眼を置き、 Inmon が指摘した略語の問題を逆に捉え、略語こそ 考え、正しく解釈することに主眼をおいて設計し、 過剰に細分化される傾向のある形態素解析を行なわ なかった。 先行研究で得られた知見から陽性所見を優先、一部 の陰性所見を除き否定、仮定、主語がことなるもの、 時制として過去のものなどは除外するという前提で 自然言語処理を設計した。また、実際の診療録は論 文やサマリーと異なり断片的で、箇条書きや省略が 多いことから、形態素解析を用いず、文字コードか ら大きな単位で切断を行なった。このことで過剰な 単語の切断を行わず、最長一致による認識を優先し た。箇条書きへの対応
文頭の記号やナンバリングなど、箇条書きなど文章 中のマクロ構造を大まかに認識し、文章をグループ 化するルールベース処理を実装した。文字種を利用した分かち書き
句読点、句点、改行を用いて文章を切り出しつつ、 アルファベット、数値、ひらがな、カタカタ、漢字 の文字種類で文章を細分化して処理を行なった。こ の時に、TMN 分類などアルファベットと数値の組み あわせによる記号などは例外的に連結させる処理を 追加している。同様に「疑、症、障害、低下、上昇、 異常、継続、陽性、陰性、後」などの後部接続、「左、 右、慢性、急性、陳旧性、術後、両側」など前部接 続、単位の一部などを考慮して切り出している。 これら簡略化された文章切断は精度をもとめること なく実施され、その後の切断誤りを含め、ルールベ ースの修正処理を実施している。辞書の規模
病名はICD10 対応標準病名マスターのサブセットを 用い約26000 病名とその索引 51000 を利用し独自に 整備した略語辞書6300 を加えている。これらの病名 に付随するICD コードの最初の1文字を参考にしつ つ、文脈類推のためのカテゴライズを付加した。(表 1) (表1)カテゴライズの一覧 ベクトル種別 1 ペースメーカー関連 2 心臓カテーテル関連 3 手術関連 4 乳がん関連 5 妊娠関連6 病理所見関連 7 放射線検査関連 8 化学療法 9 エコー検査関連 10 歯科関連 11 免疫関係 12 抗菌剤、培養関係 13 内視鏡 14 感染症および寄生虫症 15 新生物 16 血液および造血器、免疫疾患 17 精神疾患 18 神経系 19 眼科疾患、耳鼻科疾患 20 循環器 21 呼吸器系 22 消化器系 23 皮膚疾患 24 骨格筋疾患、結合組織 25 尿路疾患 26 妊娠、分娩 27 周産期 28 先天奇形、染色体異常 29 症状、兆候、検査異常 30 損傷、中毒、外因 31 内分泌、代謝
略語処理
略語の多くは3 文字から 2 文字のアルファベットを 中心とする文字列だが、同じ文字列で複数の全く異 なった意味を持つ場合があり、書いた本人も時間経 過とともに読めなくなる場合もある。自然言語処理 の目標は他科の医師程度に略語を解釈することであ る。また略語から直接コード化せず、いったん漢字 仮名交じり文である日本語に変換することで、2 バ イト文字の羅列を一種の中間処理コードとして用い た。 略語は、記載した医師の所属する診療科を考慮しつ つ、先のカテゴライズを意味ベクトルとしてより文 脈的に通る変換をおこなえるよう、一旦文章の終わ りまでスキャンする2 パス方式で略語解釈を行った。 運用4 年目での見直しで、さらに略語の後ろの文字 種類によって重み付けを加える改良と、特定の文字 列が続く場合の優先処理辞書の拡張を行っている。 こうして、文脈を考慮しつつ略語を変換し、その結 果を後続の文脈処理にも続けて適応する隠れマルコ フモデルを活用した略語処理を行い、中間処理言語 として冗長な日本語を軸に、最終的にICD10 コード 付加を行った。時制処理
「10 日前」や「25 歳のとき」などの表記に対して、 患者基本情報などから時期を補完した。また、月日 などの年号省略や、元号などの処理も同時に処理し て、陽性所見判定に利用している。電子カルテ記載の特殊性への対応
業務利用を目的としたため、利用中の富士通製 EG-MAIN GX に関連する処理も追加した。当該システム は検査結果をカルテにコピーアンドペーストした場 合、単純な文字列としての保存ではなく、内部的に は正常値範囲と検査コードを含むメタ情報も埋め込 まれる。このタグを直接解釈すれば、精度が向上す ることはわかっていたが、応用性を考えメタ情報を 完全に削除した文字列を対象として処理している。 検査結果の羅列はアルファベットと数値の混在した セクションであり、時に略語処理に影響を及ぼすた め、電子カルテで使われる検査マスターから検査名 の文字列と数値や単位記載をキーにしてメタ情報を 復活させる全処理を追加した。このことで、削除し たメタ情報がなくとも文章中の検査結果記載エリア が特定され、文脈処理への影響を低減した。中間処理結果および、訂正可能な UI の実装
について
陽性所見を利用するときに、その出所を合わせて保 存しUI 等に利用するために、中間処理時に文章切り 出しマーカーを埋設した。処理例のなかで<@x>で示 されるタグで、これらは否定文や仮定文、将来の計 画や本人以外の記載など、ルールベースにて中間処 理結果が添削されても、オリジナル文章の位置がわ かるようになっている。陽性所見はコードとともに、 オリジナルの文章(あるいは文節)が保存され、利 用時にマウスオーバーで表示する、あるいは説明根 拠の文字列で利用するなどしている。(図1)図1 病態タグと印象箇所表示
処理例
原文:
【既往歴】
# PAF 治 療 後 CHADS2vasc (HTN, age2, stroke2, vas1)6p
2022/1/21 PVI(HBA) no touch up, 1m rec+ 2022/09/24 SVC isolation CTI ablation #.SSS(ⅡⅢ)
AF 停止時 pause
2022/1/6 ECG Sinus arrest > 無症状であり reject 中 # anteroseptal OMI
013/05/05 PCI
#7 Nobori 2.75x24mm, 2.5x14mm 2023/06/13 PCI
#6 Nobori 3.0x28mm
※Nippon study clopidgrel 2013/11/05 中止 2023/2/11 CAG patant # HTN # mildAR/MR
HiPER NLP の中間結果:
【|既往歴|】<@33>| # | 発 作 性 心 房 細 動 <icd=I480>Paroxysmal atrial fibrillation,発作性心房細動</icd>| |治療後| |心房細動 患者における脳卒中発症リスクの評価指標|2vasc| (|高血圧<icd=I10>Essential (primary) hypertension,高血 圧症</icd>|, |age|2|, |stroke|2|, |vas|1|)|6p|<@34>| |2022/01/21 既往| |肺静脈隔離術|(|高周波ホットバル ー ン ア ブ レ ー シ ョ ン |) |no| |touch| |up|, |1m| |rec|+<@35>|
|2022/09/24 既往| |上大静脈| |隔離| |下大静脈三尖弁 輪間峡部ライン| |アブレーション治療|<@36>| #|洞結節不全症候群<icd=I495>Sick sinus syndrome,洞 不全症候群</icd>|(|ⅡⅢ|)<@37>|
|心房細動<icd=I489>Atrial fibrillation and atrial flutter, unspecified,心房細動</icd>|停止時|pause|<@38>| |2022/01/06 既往| |心電図| |Sinus| |arrest| > |無症状|で あり|reject|中|<@39>| # |anteroseptal| | 陳 旧 性 心 筋 梗 塞 <icd=I252>Old myocardial infarction,陳旧性心筋梗塞</icd>|<@40>| |013|/|05|/|05| | 経 皮 的 冠 動 脈 イ ン タ ー ベ ン シ ョ ン |<@41>| #|7| | 薬 剤 溶 出 型 冠 動 脈 ス テ ン ト Nobori| |2.75x|24mm|, |2.5x|14mm|<@42>| |2023/06/13 既往| |経皮的冠動脈インターベンション |<@43>| #|6| | 薬 剤 溶 出 型 冠 動 脈 ス テ ン ト Nobori| |3.0x|28mm|<@44>|
|※|Nippon| |study| |clopidgrel| |2013/11/05 既往中止 |<@45>|
|2023/02/11 既往| |冠動脈造影| |patant|<@46>| # |高血圧<icd=I10>Essential (primary) hypertension,高 血圧症</icd>|<@47>|
# | 軽 度 | 大 動 脈 弁 逆 流 症 <icd=I351>Aortic (valve) insufficiency,大動脈弁逆流症</icd>|(|大動脈弁閉鎖不 全症<icd=I351>Aortic (valve) insufficiency,大動脈弁逆 流症</icd>|)|/|僧帽弁逆流症<icd=I340>Mitral (valve) insufficiency,僧帽弁逆流症</icd>|<@48>|
利用例
(1) DPC コーディングにおける副傷病名の記述 漏れに関して、カルテ本文から候補を列挙 する。 (2) 救急車で来院した身体疾患患者に、精神疾 患が合併している場合、カルテ記載から抽 出し自動的に精神神経科へのコンサルテー ションリストにアップする。 (3) 介護保険法施行令第 2 条各号に規定する特 定疾病を有する場合、 65 歳未満でも入院 時総合評価加算対象に編入する。 (4) 陽性所見のカルテ全文検索機能の提供など考察
時間軸を考慮しつつテキストから病名・症状を抽出 し、国際疾病分類(ICD)に準拠する病名コードを付与 し病名・症状を正規化する試みは、国立情報研究所 の研究プロジェクトの一つ「MedNLP-2」(4)(5)に相 当する。このプロジェクトは2014 年に始まり、2018 年には文章の合体から病名、病態をあらたに類推す る機能を期待する「MEDNLP-3」(6)へと発展して いく。一方、本HiPER NLP も時を同じく 2014 年に 開始されたが、当初から単純な正規化にとどまらず 否定文や仮定文などを除外し、現実に意味のある症状、病態、病名の抽出に特化している。これは、2010 年に行った先行研究により、陽性所見を患者横断的 に集計し、外来全体から新興感染を検知する症候群 サーベイランスの成果が強く影響している。 これまで多忙な日常臨床で作成されるカルテテキス トは、誤変換と略語にあふれ低品質であるという指 摘は繰り返されてきた。(7)逆に HiPER NLP は略語 こそ高頻度かつ重要な内容が集積しているととらえ、 略語を正確に翻訳することに注力した。そのために は、略語以外の文脈類推だけでなく、時制表現と検 査名、TMN 分類表現に関して解釈するアルゴリズム が必要だった。またリアルワールドでの活用を強み と捉え、網羅的な収集しリアルタイムで処理すると ともに、なぜその病態を抽出したのか根拠となる記 載や事象を利用時に示す仕組みと、誤りを指摘でき るUI を実装することで、効率の良いメンテナンスを 実現した。
参考文献
[1] Inmon W H:Data Warehousing in the Healthcare Environment ,[http://inmoncif.com/registration/whitepape rs/DATA WAREHOUSING IN THE HEALTHCARE ENVIRONMENTR1.pdf], 2007 [2] 荒牧英治, 岡久太郎,矢野憲,若宮翔子,伊藤薫 大規模 医療コーパス開発に向けて、言語処理学会 第 23 回 年次大会 発表論文集 1200-1203,2017 [3] 山本康仁,平成 22 年度厚生労働科学研究費補助金(健 康安全・危機管理対策総合研究事業)「健康危機事象 の早期探知システムの実用化に関する研究」 分担 研究報告書
[4] Eiji Aramaki, Mizuki Morita, Yoshinobu Kano and Tomoko Ohkuma:Overview of the NTCIR-11 MedNLP-2 Task,
[http://research.nii.ac.jp/ntcir/workshop/OnlineProceedin gs11/pdf/NTCIR/OVERVIEW/01-NTCIR11-OV-MEDNLP-AramakiE.pdf]
[5] NTCIR11 MedNLP 2 , [http://mednlp.jp/ntcir11/index-ja.html] [6] NTCIR MEDNLPDOC(MEDNLP-3) , [https://sites.google.com/site/mednlpdoc/] [7] 荒牧 英治:【医療情報が紡ぐ『いのち・ヒト・夢』】 (夢)自然言語処理技術の最前線と医療応用の可能性 自然言語処理の医療応用のこれまでとこれから 3 つ の開発事例をもとに、医療情報学、医療情報学38(1), 41−46,2018