(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023013559
(43)【公開日】2023-01-26
(54)【発明の名称】テキストデータ解析システム、テキストデータ解析方法およびコンピュータプログラム
(51)【国際特許分類】
G06F 16/33 20190101AFI20230119BHJP
G06F 40/205 20200101ALI20230119BHJP
【FI】
G06F16/33
G06F40/205
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021117846
(22)【出願日】2021-07-16
(71)【出願人】
【識別番号】514084923
【氏名又は名称】株式会社Ubicomホールディングス
(74)【代理人】
【識別番号】100116034
【弁理士】
【氏名又は名称】小川 啓輔
(74)【代理人】
【識別番号】100144624
【弁理士】
【氏名又は名称】稲垣 達也
(74)【代理人】
【識別番号】100195224
【弁理士】
【氏名又は名称】松井 宏憲
(72)【発明者】
【氏名】上野 直
(72)【発明者】
【氏名】北岡 明哲
(72)【発明者】
【氏名】安念 香奈子
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AA15
5B091CA01
5B091CC01
5B175DA01
5B175GB03
(57)【要約】
【課題】マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為等を表す文字列を抽出することができるテキストデータ解析システム等を提供する。
【解決手段】テキストデータ解析システム1は、テキストデータから抽出した文字列を第1キーワードとして一致する文字列があるか検索する第1検索手段13と、一致しない場合、第1キーワードから接頭語を取り除いた文字列を生成する第1文字列生成手段14と、生成文字列を第2キーワードとして一致する文字列があるか検索する第2検索手段15と、一致しない場合、第2キーワードから少なくとも括弧および括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成手段16と、生成文字列を第3キーワードとして第3キーワードを含む文字列を抽出する類似文字列抽出手段17と、抽出文字列に対応する少なくとも1つの医療行為等の情報を出力する出力手段19とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
テキストデータを取得するデータ取得手段と、
データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索手段と、
前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成手段と、
前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索手段と、
前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成手段と、
前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出手段と、
前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力手段と、を備えることを特徴とするテキストデータ解析システム。
【請求項2】
前記類似文字列抽出手段が抽出した文字列が複数ある場合、前記類似文字列抽出手段が抽出した文字列と、前記第2キーワードとの類似度をそれぞれ算出する第1類似度算出手段をさらに備え、
前記出力手段は、前記類似文字列抽出手段が抽出した文字列のうち、前記第1類似度算出手段が算出した類似度が所定以上である文字列に対応する医療行為または医薬品の情報を出力することを特徴とする請求項1に記載のテキストデータ解析システム。
【請求項3】
前記医療行為・医薬品マスタは、一または複数の医療行為または医薬品を表す文字列と、当該一または複数の医療行為または医薬品を表す文字列に含まれる文字列である索引文字列とを対応させて記憶しており、
テキストデータ解析システムは、前記類似文字列抽出手段が、前記医療行為・医薬品マスタから前記第3キーワードを含む文字列を抽出できなかった場合、前記第3キーワードと、前記索引文字列との類似度を算出する第2類似度算出手段をさらに備え、
前記類似文字列抽出手段は、前記第2類似度算出手段が算出した類似度が所定以上である索引文字列がある場合、前記医療行為・医薬品マスタから、当該索引文字列に対応する文字列を抽出することを特徴とする請求項1または請求項2に記載のテキストデータ解析システム。
【請求項4】
前記第2類似度算出手段が算出した類似度が所定以上である索引文字列がない場合、医療行為または医薬品を表す文字列に含まれる特定の文字列である要素文字列を記憶する要素文字列マスタを参照して、前記第2キーワードから、少なくとも1つの要素文字列を抽出する要素文字列抽出手段をさらに備え、
前記類似文字列抽出手段は、前記要素文字列抽出手段が抽出した要素文字列を第4キーワードとして、前記医療行為・医薬品マスタから、前記第4キーワードを含む文字列を抽出することを特徴とする請求項3に記載のテキストデータ解析システム。
【請求項5】
前記要素文字列抽出手段が抽出した要素文字列が複数ある場合、前記第2キーワードの中央に近い位置にある要素文字列を第4キーワードとして前記類似文字列抽出手段が抽出した文字列について、他の要素文字列よりも先に前記第2キーワードとの類似度を算出する第3類似度算出手段をさらに備え、
前記出力手段は、前記第3類似度算出手段が先に類似度を算出した文字列の中に類似度が所定以上である文字列がある場合、当該文字列に対応する医療行為または医薬品の情報を出力することを特徴とする請求項4に記載のテキストデータ解析システム。
【請求項6】
前記第2文字列生成手段は、前記第2キーワードから、以下の文字列(1)~(5)の少なくとも1つをさらに取り除いた文字列を生成することを特徴とする請求項1から請求項5のいずれか1項に記載のテキストデータ解析システム。
(1)先頭または後尾にある空白
(2)途中にある空白および当該空白以降の文字列
(3)中黒
(4)読点
(5)数字および当該数字の直後にある単位を表す文字列
【請求項7】
テキストデータを取得するデータ取得手段と、
データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索手段と、
前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成手段と、
前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索手段と、
前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成手段と、
前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索手段であって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索手段と、を備えることを特徴とするテキストデータ解析システム。
【請求項8】
前記第3検索手段による検索の結果、前記第3キーワードと一致する文字列がヒットしない場合、傷病名に含まれる特定の文字列である要素文字列を記憶する要素文字列マスタを参照して、前記第3キーワードから、少なくとも1つの要素文字列を抽出する要素文字列抽出手段と、
前記要素文字列抽出手段が抽出した要素文字列を第4キーワードとして、前記傷病名マスタから、前記第4キーワードを含む文字列を抽出する類似文字列抽出手段と、
前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの傷病名の情報を出力する出力手段と、をさらに備えることを特徴とする請求項7に記載のテキストデータ解析システム。
【請求項9】
前記類似文字列抽出手段が抽出した文字列と、前記第3キーワードとの類似度を算出する類似度算出手段をさらに備え、
前記出力手段は、前記類似文字列抽出手段が抽出した文字列のうち、前記類似度算出手段が算出した類似度が所定以上である文字列に対応する傷病名の情報を出力することを特徴とする請求項8に記載のテキストデータ解析システム。
【請求項10】
前記類似度算出手段は、前記要素文字列抽出手段が抽出した要素文字列が複数ある場合、前記第3キーワードの中央に近い位置にある要素文字列を第4キーワードとして前記類似文字列抽出手段が抽出した文字列について、他の要素文字列よりも先に前記第3キーワードとの類似度を算出し、
前記出力手段は、先に類似度を算出した文字列の中に類似度が所定以上である文字列がある場合、当該文字列に対応する傷病名の情報を出力することを特徴とする請求項9に記載のテキストデータ解析システム。
【請求項11】
コンピュータが備える手段が、
テキストデータを取得するデータ取得ステップと、
データ取得ステップで取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出ステップと、
前記文字列抽出ステップで抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索ステップであって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索ステップと、
前記第1検索ステップにおける検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成ステップと、
前記第1文字列生成ステップで生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索ステップであって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索ステップと、
前記第2検索ステップにおける検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成ステップと、
前記第2文字列生成ステップで生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出ステップと、
前記類似文字列抽出ステップで抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力ステップと、を実行することを特徴とするテキストデータ解析方法。
【請求項12】
コンピュータが備える手段が、
テキストデータを取得するデータ取得ステップと、
データ取得ステップで取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出ステップと、
前記文字列抽出ステップで抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索ステップであって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索ステップと、
前記第1検索ステップにおける検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成ステップと、
前記第1文字列生成ステップで生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索ステップであって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索ステップと、
前記第2検索ステップにおける検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成ステップと、
前記第2文字列生成ステップで生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索ステップであって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索ステップと、を実行することを特徴とするテキストデータ解析方法。
【請求項13】
コンピュータを、
テキストデータを取得するデータ取得手段と、
データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索手段と、
前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成手段と、
前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索手段と、
前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成手段と、
前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出手段と、
前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力手段として機能させることを特徴とするコンピュータプログラム。
【請求項14】
コンピュータを、
テキストデータを取得するデータ取得手段と、
データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、
前記文字列抽出手段が抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索手段と、
前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成手段と、
前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索手段と、
前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成手段と、
前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索手段であって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキストデータ解析システム、テキストデータ解析方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
従来、光学文字読取装置で文書を読み取る文書読取装置が知られている(特許文献1)。この技術では、誤認識した文字を含む誤認識文字列と、誤認識した文字を修正する修正文字列とを対応して記憶する誤認識データベースを有し、光学文字読取装置で文書を読み取った読取データの文字列を誤認識データベースで検索し、誤認識文字列の場合は対応した修正文字列に変換した修正データを作成する。また、正しく修正されなかったものについては、誤認識データベースに追加していくことで誤認識の成功率を高くする。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、所定の文字列をキーワードとして、医療行為や医薬品、傷病名を表す文字列を記憶するマスタから、キーワードと一致する文字列がヒットするかを検索する場合において、診療明細書等に記載されていた文字列がマスタに記憶されている文字列と同一でなかったり、診療明細書等に記載されている文字列を正確にテキストデータ化できなかったりした場合、そのままでは医療行為等を表す文字列を抽出することはできない。
【0005】
これに対して、従来、マスタに、キーワードと一致する文字列が記憶されていない場合、当該キーワードをマスタに追加していくことで、検索の成功率を高くする技術もあるが、マスタに新たなキーワードを追加する前は文字列を抽出することができないし、マスタに新たなキーワードを追加していくことでマスタのデータ容量が大きくなっていくという問題がある。
【0006】
本発明は、以上の背景に鑑みてなされたものであり、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為や医薬品、傷病名を表す文字列を抽出することができるテキストデータ解析システム、テキストデータ解析方法およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
前記した目的を達成するためのテキストデータ解析システムは、テキストデータを取得するデータ取得手段と、データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、前記文字列抽出手段が抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索手段と、前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成手段と、前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索手段と、前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成手段と、前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出手段と、前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力手段と、を備えることを特徴とする。
【0008】
このようなシステムによれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為または医薬品を表す文字列を抽出することができる。
【0009】
また、テキストデータ解析システムは、前記類似文字列抽出手段が抽出した文字列が複数ある場合、前記類似文字列抽出手段が抽出した文字列と、前記第2キーワードとの類似度をそれぞれ算出する第1類似度算出手段をさらに備え、前記出力手段は、前記類似文字列抽出手段が抽出した文字列のうち、前記第1類似度算出手段が算出した類似度が所定以上である文字列に対応する医療行為または医薬品の情報を出力する構成とすることができる。
【0010】
これによれば、医療行為、医薬品の情報を絞り込んで出力することができる。
【0011】
また、前記医療行為・医薬品マスタは、一または複数の医療行為または医薬品を表す文字列と、当該一または複数の医療行為または医薬品を表す文字列に含まれる文字列である索引文字列とを対応させて記憶しており、テキストデータ解析システムは、前記類似文字列抽出手段が、前記医療行為・医薬品マスタから前記第3キーワードを含む文字列を抽出できなかった場合、前記第3キーワードと、前記索引文字列との類似度を算出する第2類似度算出手段をさらに備え、前記類似文字列抽出手段は、前記第2類似度算出手段が算出した類似度が所定以上である索引文字列がある場合、前記医療行為・医薬品マスタから、当該索引文字列に対応する文字列を抽出する構成とすることができる。
【0012】
これによれば、テキストデータから医療行為または医薬品を表す文字列をより確実に抽出することができる。
【0013】
また、テキストデータ解析システムは、前記第2類似度算出手段が算出した類似度が所定以上である索引文字列がない場合、医療行為または医薬品を表す文字列に含まれる特定の文字列である要素文字列を記憶する要素文字列マスタを参照して、前記第2キーワードから、少なくとも1つの要素文字列を抽出する要素文字列抽出手段をさらに備え、前記類似文字列抽出手段は、前記要素文字列抽出手段が抽出した要素文字列を第4キーワードとして、前記医療行為・医薬品マスタから、前記第4キーワードを含む文字列を抽出する構成とすることができる。
【0014】
これによれば、テキストデータから医療行為または医薬品を表す文字列をさらに確実に抽出することができる。
【0015】
また、テキストデータ解析システムは、前記要素文字列抽出手段が抽出した要素文字列が複数ある場合、前記第2キーワードの中央に近い位置にある要素文字列を第4キーワードとして前記類似文字列抽出手段が抽出した文字列について、他の要素文字列よりも先に前記第2キーワードとの類似度を算出する第3類似度算出手段をさらに備え、前記出力手段は、前記第3類似度算出手段が先に類似度を算出した文字列の中に類似度が所定以上である文字列がある場合、当該文字列に対応する医療行為または医薬品の情報を出力する構成とすることができる。
【0016】
これによれば、医療行為または医薬品の情報を出力するまでの処理量を少なくして処理速度を速くすることができる。
【0017】
また、前記第2文字列生成手段は、前記第2キーワードから、以下の文字列(1)~(5)の少なくとも1つをさらに取り除いた文字列を生成する構成とすることができる。
(1)先頭または後尾にある空白
(2)途中にある空白および当該空白以降の文字列
(3)中黒
(4)読点
(5)数字および当該数字の直後にある単位を表す文字列
【0018】
これによれば、医療行為、医薬品の情報を絞り込みやすくすることができる。
【0019】
また、前記した目的を達成するためのテキストデータ解析システムは、テキストデータを取得するデータ取得手段と、データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、前記文字列抽出手段が抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索手段と、前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成手段と、前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索手段と、前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成手段と、前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索手段であって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索手段と、を備えることを特徴とする。
【0020】
このようなシステムによれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから傷病名を表す文字列を抽出することができる。
【0021】
また、テキストデータ解析システムは、前記第3検索手段による検索の結果、前記第3キーワードと一致する文字列がヒットしない場合、傷病名に含まれる特定の文字列である要素文字列を記憶する要素文字列マスタを参照して、前記第3キーワードから、少なくとも1つの要素文字列を抽出する要素文字列抽出手段と、前記要素文字列抽出手段が抽出した要素文字列を第4キーワードとして、前記傷病名マスタから、前記第4キーワードを含む文字列を抽出する類似文字列抽出手段と、前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの傷病名の情報を出力する出力手段と、をさらに備える構成とすることができる。
【0022】
これによれば、テキストデータから傷病名を表す文字列をより確実に抽出することができる。
【0023】
また、テキストデータ解析システムは、前記類似文字列抽出手段が抽出した文字列と、前記第3キーワードとの類似度を算出する類似度算出手段をさらに備え、前記出力手段は、前記類似文字列抽出手段が抽出した文字列のうち、前記類似度算出手段が算出した類似度が所定以上である文字列に対応する傷病名の情報を出力する構成とすることができる。
【0024】
これによれば、傷病名の情報を絞り込んで出力することができる。
【0025】
また、前記類似度算出手段は、前記要素文字列抽出手段が抽出した要素文字列が複数ある場合、前記第3キーワードの中央に近い位置にある要素文字列を第4キーワードとして前記類似文字列抽出手段が抽出した文字列について、他の要素文字列よりも先に前記第3キーワードとの類似度を算出し、前記出力手段は、先に類似度を算出した文字列の中に類似度が所定以上である文字列がある場合、当該文字列に対応する傷病名の情報を出力する構成とすることができる。
【0026】
これによれば、傷病名の情報を出力するまでの処理量を少なくして処理速度を速くすることができる。
【0027】
また、前記した目的を達成するためのテキストデータ解析方法は、コンピュータが備える手段が、テキストデータを取得するデータ取得ステップと、データ取得ステップで取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出ステップと、前記文字列抽出ステップで抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索ステップであって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索ステップと、前記第1検索ステップにおける検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成ステップと、前記第1文字列生成ステップで生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索ステップであって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索ステップと、前記第2検索ステップにおける検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成ステップと、前記第2文字列生成ステップで生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出ステップと、前記類似文字列抽出ステップで抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力ステップと、を実行することを特徴とする。
【0028】
このような方法によれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為または医薬品を表す文字列を抽出することができる。
【0029】
また、前記した目的を達成するためのテキストデータ解析方法は、コンピュータが備える手段が、テキストデータを取得するデータ取得ステップと、データ取得ステップで取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出ステップと、前記文字列抽出ステップで抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索ステップであって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索ステップと、前記第1検索ステップにおける検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成ステップと、前記第1文字列生成ステップで生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索ステップであって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索ステップと、前記第2検索ステップにおける検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成ステップと、前記第2文字列生成ステップで生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索ステップであって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索ステップと、を実行することを特徴とする。
【0030】
このような方法によれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから傷病名を表す文字列を抽出することができる。
【0031】
また、前記した目的を達成するためのコンピュータプログラムは、コンピュータを、テキストデータを取得するデータ取得手段と、データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、前記文字列抽出手段が抽出した文字列を第1キーワードとして、医療行為または医薬品を表す文字列を記憶する医療行為・医薬品マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第1検索手段と、前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第1キーワードから、接頭語を取り除いた文字列を生成する第1文字列生成手段と、前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記医療行為・医薬品マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する第2検索手段と、前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、前記第2キーワードから、少なくとも、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する第2文字列生成手段と、前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記医療行為・医薬品マスタから、前記第3キーワードを含む文字列を抽出する類似文字列抽出手段と、前記類似文字列抽出手段が抽出した文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する出力手段として機能させることを特徴とする。
【0032】
このようなプログラムによれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為または医薬品を表す文字列を抽出することができる。
【0033】
また、前記した目的を達成するためのコンピュータプログラムは、コンピュータを、テキストデータを取得するデータ取得手段と、データ取得手段が取得したテキストデータから、一の項目を表す一群の文字列を抽出する文字列抽出手段と、前記文字列抽出手段が抽出した文字列を第1キーワードとして、傷病名を表す文字列を記憶する傷病名マスタから、前記第1キーワードと一致する文字列がヒットするかを検索する第1検索手段であって、検索の結果、前記第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第1検索手段と、前記第1検索手段による検索の結果、前記第1キーワードと一致する文字列がヒットしない場合、文字列の後尾に付く特定の文字列である接尾語を記憶する接尾語マスタを参照して、前記第1キーワードから、接尾語を取り除いた文字列を生成する第1文字列生成手段と、前記第1文字列生成手段が生成した文字列を第2キーワードとして、前記傷病名マスタから、前記第2キーワードと一致する文字列がヒットするかを検索する第2検索手段であって、検索の結果、前記第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第2検索手段と、前記第2検索手段による検索の結果、前記第2キーワードと一致する文字列がヒットしない場合、文字列の先頭に付く特定の文字列である接頭語を記憶する接頭語マスタを参照して、前記第2キーワードから、接頭語を取り除いた文字列を生成する第2文字列生成手段と、前記第2文字列生成手段が生成した文字列を第3キーワードとして、前記傷病名マスタから、前記第3キーワードと一致する文字列がヒットするかを検索する第3検索手段であって、検索の結果、前記第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する第3検索手段として機能させることを特徴とする。
【0034】
このようなプログラムによれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから傷病名を表す文字列を抽出することができる。
【発明の効果】
【0035】
本発明によれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為や医薬品、傷病名を表す文字列を抽出することができる。
【図面の簡単な説明】
【0036】
【
図1】第1実施形態に係るテキストデータ解析システムのブロック図である。
【
図2】第1医療行為・医薬品マスタを説明する図である。
【
図3】第2医療行為・医薬品マスタを説明する図である。
【
図4】接頭語マスタを説明する図(a)と、要素文字列マスタを説明する図(b)である。
【
図5】第1実施形態のテキストデータ解析システムにおける処理の第1の例を説明する図である。
【
図6】第1実施形態のテキストデータ解析システムにおける処理の第2の例を説明する図である。
【
図7】第1実施形態のテキストデータ解析システムにおける処理の第3の例を説明する図である。
【
図8】第1実施形態のテキストデータ解析システムにおける処理の第3の例を説明する、
図7に続く図である。
【
図9】第1実施形態のテキストデータ解析システムの動作を説明するフローチャートである。
【
図10】第1実施形態のテキストデータ解析システムの動作を説明する、
図9に続くフローチャートである。
【
図11】第2実施形態に係るテキストデータ解析システムのブロック図である。
【
図13】接尾語マスタを説明する図(a)と、接頭語マスタを説明する図(b)と、要素文字列マスタを説明する図(c)である。
【
図14】第2実施形態のテキストデータ解析システムにおける処理の第1の例を説明する図である。
【
図15】第2実施形態のテキストデータ解析システムにおける処理の第2の例を説明する図である。
【
図16】第2実施形態のテキストデータ解析システムにおける処理の第2の例を説明する、
図15に続く図である。
【
図17】第2実施形態のテキストデータ解析システムの動作を説明するフローチャートである。
【発明を実施するための形態】
【0037】
次に、第1実施形態について説明する。
図1に示すように、第1実施形態に係るテキストデータ解析システム1は、例えば、診断書、診療明細書、調剤明細書等に記載された項目に基づいて作成されたテキストデータから、医療行為に関する項目や医薬品に関する項目を厚生労働省が定めた基本マスタに収載された形式に変換して抽出するシステムである。テキストデータ解析システム1は、データ取得手段11と、文字列抽出手段12と、第1検索手段13と、第1文字列生成手段14と、第2検索手段15と、第2文字列生成手段16と、類似文字列抽出手段17と、第1類似度算出手段18と、出力手段19と、第2類似度算出手段20と、要素文字列抽出手段21と、第3類似度算出手段22とを備える。
【0038】
テキストデータ解析システム1は、図示しないCPU、RAM、ROM等と、記憶装置90とを備えるコンピュータからなる。テキストデータ解析システム1は、ROMや記憶装置90に記憶させておいたコンピュータプログラムをRAMに読み込んで実行することで各手段を実現する。言い換えると、コンピュータプログラムは、テキストデータ解析システム1を構成するコンピュータを、データ取得手段11と、文字列抽出手段12と、第1検索手段13と、第1文字列生成手段14と、第2検索手段15と、第2文字列生成手段16と、類似文字列抽出手段17と、第1類似度算出手段18と、出力手段19と、第2類似度算出手段20と、要素文字列抽出手段21と、第3類似度算出手段22として機能させる。
【0039】
記憶装置90には、医療行為・医薬品マスタと、接頭語マスタと、要素文字列マスタとが記憶されている。
医療行為・医薬品マスタは、医療行為または医薬品を表す文字列を記憶する。ここで、医療行為は、医科診療行為マスタに収載された診療行為、歯科診療行為マスタに収載された診療行為、および、調剤行為マスタに収載された調剤行為の少なくとも1つを含む。また、医薬品は、医薬品マスタに収載された医薬品、および、特定器材マスタに収載された特定器材の少なくとも1つを含む。医科診療行為マスタ、歯科診療行為マスタ、調剤行為マスタ、医薬品マスタおよび特定器材マスタとは、厚生労働省が定めた基本マスタである。
【0040】
第1実施形態では、医療行為として、医科診療行為マスタに収載された診療行為を例示し、医薬品として、医薬品マスタに収載された医薬品を例示する。
【0041】
医療行為・医薬品マスタは、第1医療行為・医薬品マスタと、第2医療行為・医薬品マスタとを含む。
【0042】
図2に示すように、第1医療行為・医薬品マスタは、医科診療行為マスタまたは診療報酬点数表に収載された診療行為(省略漢字名称および基本漢字名称)を表す文字列と点数表区分番号とを対応させて記憶するとともに、医薬品マスタに収載された医薬品(漢字名称および基本漢字名称)を表す文字列と薬価基準コードとを対応させて記憶するテーブルとして構成されている。
【0043】
図3に示すように、第2医療行為・医薬品マスタは、類似文字列抽出手段17が後述する第3キーワードを含む文字列を抽出しやすくするために用意されたデータであり、一または複数の医療行為または医薬品を表す文字列と、当該一または複数の医療行為または医薬品を表す文字列に含まれる文字列である索引文字列とを対応させて記憶している。詳しくは、第2医療行為・医薬品マスタは、第3キーワードを含む文字列を抽出しやすくするために用意された索引文字列、例えば、「食道切除再建術」、「内視鏡的大腸ポリープ粘膜切除術」、「水晶体再建術」等の索引文字列と、索引文字列を含む医療行為または医薬品を表す文字列に対応する少なくとも1つの点数表区分番号または薬価基準コードとを対応させて記憶するテーブルとして構成されている。
【0044】
図4(a)に示すように、接頭語マスタは、文字列の先頭に付く特定の文字列である接頭語を記憶するテーブルとして構成されている。接頭語は、診療明細書等に記載される医療行為や医薬品の先頭に付けられることがある、例えば、部位名や、「下」、「上」、「左」、「左側」、「右」、「右側」等の位置を表す文字列である。なお、本発明において、文字列は、1文字の場合を含む。接頭語は、例えば、厚生労働省が定めた基本マスタの修飾語マスタに収載された接頭語に使用する修飾語を参考に決めることができる。
【0045】
図4(b)に示すように、要素文字列マスタは、要素文字列を記憶するテーブルとして構成されている。要素文字列は、医療行為または医薬品を表す文字列に含まれる特定の文字列であり、例えば、「レンズ」、「挿入」等の文字列である。要素文字列としては、医療行為または医薬品を表す文字列を絞り込む際にヒットする候補が多くなりすぎないような文字列、例えば、候補を500件以下程度に絞り込めるような文字列を採用している。
【0046】
図1に戻り、データ取得手段11は、テキストデータを取得する。データ取得手段11は、例えば、予め作成されたテキストデータであって記憶装置90や記憶媒体等に記憶されたテキストデータを読み込んで取得する構成であってもよいし、テキストデータ解析システム1に接続されたキーボード等の入力装置によって入力されたテキストデータを取得する構成であってもよい。予め作成されるテキストデータは、例えば、診療明細書等をスキャナで読み取って光学文字認識(OCR)により生成したデータであってもよい。また、データ取得手段11は、診療明細書等を、テキストデータ解析システム1に接続されたスキャナで読み取ってOCRにより生成したテキストデータを取得する構成であってもよい。
【0047】
文字列抽出手段12は、データ取得手段11が取得したテキストデータから、一の項目を表す一群の文字列を抽出する。文字列抽出手段12は、
図5(a)に示すように、一の項目を表す一群の文字列が複数行にまたがって存在する場合、
図5(b)に示すように、当該文字列を1行の文字列にして抽出する。
【0048】
第1検索手段13は、文字列抽出手段12が抽出した文字列を第1キーワードとして、医療行為・医薬品マスタから、第1キーワードと一致する文字列がヒットするかを検索する。詳しくは、第1検索手段13は、第1医療行為・医薬品マスタを参照して、第1キーワードと一致する文字列がヒットするかを検索する。第1検索手段13は、検索の結果、第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する。
【0049】
ここで、第1実施形態において、第1検索手段13、第2検索手段15および出力手段19は、医療行為または医薬品の情報として、診療行為名と点数表区分番号の情報、および、医薬品名と薬価基準コードの情報の少なくとも一方を出力する。なお、診療行為名は、医科診療行為マスタに収載された省略漢字名称および基本漢字名称の少なくとも一方であり、医薬品名は、医薬品マスタに収載された漢字名称および基本漢字名称の少なくとも一方である。
【0050】
また、出力の方法は、任意である。例えば、テキストデータ解析システム1に接続されたディスプレイに表示する方法で出力してもよいし、テキストデータ解析システム1に接続されたプリンタによって印刷する方法で出力してもよいし、テキストデータ解析システム1にインターネット等のネットワークを通じて接続されたユーザの端末に情報を送信する方法で出力してもよい。
【0051】
第1文字列生成手段14は、第1検索手段13による検索の結果、第1キーワードと一致する文字列がヒットしない場合、接頭語マスタを参照して、第1キーワードから、接頭語を取り除いた文字列を生成する。また、第1文字列生成手段14は、第1キーワードに、接頭語マスタに記憶された接頭語がない場合、生成する文字列を第1キーワードとする。
【0052】
第2検索手段15は、第1文字列生成手段14が生成した文字列を第2キーワードとして、医療行為・医薬品マスタから、第2キーワードと一致する文字列がヒットするかを検索する。詳しくは、第2検索手段15は、第1医療行為・医薬品マスタを参照して、第2キーワードと一致する文字列がヒットするかを検索する。第2検索手段15は、検索の結果、第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する医療行為または医薬品の情報を出力する。
【0053】
第2文字列生成手段16は、第2検索手段15による検索の結果、第2キーワードと一致する文字列がヒットしない場合、第2キーワードから、括弧および当該括弧によって囲われた文字列を取り除いた文字列を生成する。また、第2文字列生成手段16は、第2キーワードから、以下の文字列(1)~(5)をさらに取り除いた文字列を生成する。
(1)先頭または後尾にある空白
(2)途中にある空白および当該空白以降の文字列
(3)中黒
(4)読点
(5)数字および当該数字の直後にある単位を表す文字列
【0054】
一例として、第2文字列生成手段16は、第2キーワードから、まず、先頭または後尾にある空白を取り除く処理を実行し、次に、途中にある空白および当該空白以降の文字列を取り除く処理を実行する。次に、第2文字列生成手段16は、丸括弧“(”、“)”や鉤括弧“「”、“」”等の括弧および当該括弧によって囲われた文字列を取り除く処理を実行し、次に、中黒“・”や読点“、”を取り除く処理を実行する。さらに、第2文字列生成手段16は、数字および当該数字の直後にある単位を表す文字列、例えば、“10mg”、“2%”等を取り除く処理を実行する。
【0055】
なお、第1キーワードと第2キーワードが同じ文字列である場合、第2検索手段15は、第2キーワードと一致する文字列がヒットするかを検索することなく、第2文字列生成手段16が、第2キーワードから、括弧および当該括弧によって囲われた文字列等を取り除いた文字列を生成してもよい。
【0056】
また、第2文字列生成手段16は、第2キーワードに、括弧および当該括弧によって囲われた文字列、並びに、上記の文字列(1)~(5)がない場合、生成する文字列を第2キーワードとする。
【0057】
類似文字列抽出手段17は、第2文字列生成手段16が生成した文字列を第3キーワードとして、医療行為・医薬品マスタから、第3キーワードを含む文字列を抽出する。詳しくは、類似文字列抽出手段17は、第2医療行為・医薬品マスタおよび第1医療行為・医薬品マスタを参照して、第3キーワードを含む文字列(以下、「第1類似文字列」ともいう。)を抽出する。より詳しくは、類似文字列抽出手段17は、第3キーワードと第2医療行為・医薬品マスタから、第1類似文字列に対応づけられた点数表区分番号または薬価基準コードを抽出し、第1医療行為・医薬品マスタから、抽出した点数表区分番号または薬価基準コードに対応づけられた第1類似文字列を抽出する。
【0058】
第1類似度算出手段18は、類似文字列抽出手段17が抽出した第1類似文字列が複数ある場合、類似文字列抽出手段17が抽出した第1類似文字列と、第2キーワードとの類似度をそれぞれ算出する。
【0059】
ここで、第1実施形態において、第1類似度算出手段18、第2類似度算出手段20および第3類似度算出手段22は、一例として、レーベンシュタイン距離およびジャロ・ウィンクラー距離の少なくとも一方に基づいて、2つの文字列の類似度を算出する。
【0060】
出力手段19は、類似文字列抽出手段17が抽出した第1類似文字列に対応する少なくとも1つの医療行為または医薬品の情報を出力する。詳しくは、出力手段19は、類似文字列抽出手段17が抽出した第1類似文字列が1つである場合、当該第1類似文字列に対応する一の医療行為または医薬品の情報を出力する。また、出力手段19は、類似文字列抽出手段17が抽出した第1類似文字列が複数ある場合、複数の第1類似文字列のうち、第1類似度算出手段18が算出した類似度が所定以上である第1類似文字列に対応する医療行為または医薬品の情報を出力する。
【0061】
第1実施形態において、類似度は、0から1の数値として算出され、数値が大きいほど2つの文字列の類似度が高いことを表し、1の場合、2つの文字列が一致していることを表す。類似度の所定値は、例えば、0.8である。なお、テキストデータ解析システム1は、類似度の所定値をユーザが任意に設定可能な構成であってもよい。
【0062】
第2類似度算出手段20は、類似文字列抽出手段17が、医療行為・医薬品マスタから第3キーワードを含む文字列(第1類似文字列)を抽出できなかった場合、第2文字列生成手段16が生成した第3キーワードと、第2医療行為・医薬品マスタに記憶されている索引文字列との類似度を算出する。
【0063】
類似文字列抽出手段17は、第2類似度算出手段20が算出した類似度が所定以上である索引文字列がある場合、医療行為・医薬品マスタから、当該索引文字列に対応する文字列を抽出する。詳しくは、類似文字列抽出手段17は、第3キーワードとの類似度が所定以上である索引文字列がある場合、第2医療行為・医薬品マスタから、当該類似文字列に対応づけられた点数表区分番号または薬価基準コードを抽出し、第1医療行為・医薬品マスタから、抽出した点数表区分番号または薬価基準コードに対応づけられた文字列(以下、「対応文字列」ともいう。)を抽出する。
【0064】
類似文字列抽出手段17が抽出した対応文字列が複数ある場合、第1類似度算出手段18は、類似文字列抽出手段17が抽出した対応文字列と、第2キーワードとの類似度をそれぞれ算出し、出力手段19は、第1類似度算出手段18が算出した類似度が所定以上である対応文字列に対応する医療行為または医薬品の情報を出力する。
【0065】
要素文字列抽出手段21は、第2類似度算出手段20が算出した類似度が所定以上である索引文字列がない場合、要素文字列マスタを参照して、第2キーワードから、少なくとも1つの要素文字列を抽出する。
【0066】
類似文字列抽出手段17は、要素文字列抽出手段21が抽出した要素文字列を第4キーワードとして、医療行為・医薬品マスタから、第4キーワードを含む文字列を抽出する。詳しくは、類似文字列抽出手段17は、第1医療行為・医薬品マスタから、第4キーワードを含む文字列(以下、「第2類似文字列」ともいう。)を抽出する。第1実施形態では、類似文字列抽出手段17は、要素文字列抽出手段21が抽出した要素文字列が複数ある場合、第2キーワードの中央に近い位置にある要素文字列(以下、第1実施形態において「優先要素文字列」ともいう。)を、まず、第4キーワードとして、医療行為・医薬品マスタから、第2類似文字列を抽出する。
【0067】
第3類似度算出手段22は、類似文字列抽出手段17が抽出した第2類似文字列と、第2キーワードとの類似度を算出する。詳しくは、第3類似度算出手段22は、優先要素文字列を第4キーワードとして類似文字列抽出手段17が抽出した第2類似文字列について、他の要素文字列よりも先に第2キーワードとの類似度を算出する。
【0068】
出力手段19は、第3類似度算出手段22が先に類似度を算出した第2類似文字列の中に類似度が所定以上である文字列がある場合、当該第2類似文字列に対応する医療行為または医薬品の情報を出力する。出力手段19が、先に類似度を算出した第2類似文字列に対応する医療行為または医薬品の情報を出力した場合、それ以降、類似文字列抽出手段17は、他の要素文字列について第2類似文字列を抽出せず、第3類似度算出手段22は、類似度を算出しない。
【0069】
類似文字列抽出手段17は、先に類似度を算出した第2類似文字列の中に類似度が所定以上である文字列がない場合、次に第2キーワードの中央に近い位置にある要素文字列を第4キーワードとして、第1医療行為・医薬品マスタから、第2類似文字列を抽出し、第3類似度算出手段22は、抽出した第2類似文字列について第2キーワードとの類似度を算出する。そして、出力手段19は、類似度を算出した第2類似文字列の中に類似度が所定以上である文字列がある場合、当該第2類似文字列に対応する医療行為または医薬品の情報を出力する。
【0070】
要素文字列抽出手段21が抽出した要素文字列が複数ある場合において、2つの要素文字列の第2キーワードの中央からの位置が同じである場合、類似文字列抽出手段17は、各要素文字列を第4キーワードとして、医療行為・医薬品マスタから、第2類似文字列をそれぞれ抽出し、抽出した第2類似文字列について第2キーワードとの類似度をそれぞれ算出する。そして、出力手段19は、類似度を算出した第2類似文字列の中に類似度が所定以上である文字列がある場合、当該第2類似文字列に対応する医療行為または医薬品の情報を出力する。なお、この場合、抽出した第2類似文字列の数が少ない方について、多い方よりも先に類似度を算出し、先に類似度を算出した第2類似文字列の中に類似度が所定以上である文字列がある場合、当該第2類似文字列に対応する医療行為または医薬品の情報を出力して、処理を終了してもよい。
【0071】
ここで、具体的な例を示しながら、第1実施形態のテキストデータ解析システム1における処理について説明する。
第1の例として、
図5(c)に示すように、第1検索手段13は、データ取得手段11が取得し、文字列抽出手段12が抽出した文字列“左水晶体再建術(眼内レンズを挿入する場合・その他のもの)”を第1キーワードとして、第1医療行為・医薬品マスタから、第1キーワードと一致する文字列がヒットするかを検索する。
【0072】
第1文字列生成手段14は、第1検索手段13による検索の結果、第1キーワードと一致する文字列がヒットしない場合、
図5(d)に示すように、第1キーワードから、接頭語マスタを参照して、接頭語“左”を取り除いた文字列“水晶体再建術(眼内レンズを挿入する場合・その他のもの)”を生成する。
【0073】
第2検索手段15は、第1文字列生成手段14が生成した文字列“水晶体再建術(眼内レンズを挿入する場合・その他のもの)”を第2キーワードとして、第1医療行為・医薬品マスタから、第2キーワードと一致する文字列がヒットするかを検索する。
【0074】
第2文字列生成手段16は、第2検索手段15による検索の結果、第2キーワードと一致する文字列がヒットしない場合、
図5(e)に示すように、第2キーワードから、括弧および当該括弧によって囲われた文字列“(眼内レンズを挿入する場合・その他のもの)”を取り除いた文字列“水晶体再建術”を生成する。
【0075】
類似文字列抽出手段17は、第2文字列生成手段16が生成した文字列“水晶体再建術”を第3キーワードとして、第2医療行為・医薬品マスタから、第3キーワードを含む文字列(第1類似文字列)に対応づけられた点数表区分番号「K2821イ」、「K2821ロ」、「K2822」および「K2823」を抽出する。その後、類似文字列抽出手段17は、第1医療行為・医薬品マスタから、抽出した点数表区分番号に対応づけられた、
図5(f)に示す4つの第1類似文字列を抽出する。
【0076】
第1類似度算出手段18は、類似文字列抽出手段17が抽出した第1類似文字列が複数ある場合、
図5(g)に示すように、各第1類似文字列と、第2キーワード“水晶体再建術(眼内レンズを挿入する場合・その他のもの)”との類似度をそれぞれ算出する。
【0077】
出力手段19は、類似文字列抽出手段17が抽出した第1類似文字列のうち、第1類似度算出手段18が算出した類似度が所定値0.8以上である第1類似文字列に対応する医療行為・医薬品の情報を出力する。具体的には、出力手段19は、診療行為名「水晶体再建術(眼内レンズを挿入する場合)(その他のもの)」と点数表区分番号「K2821ロ」、および、診療行為名「水晶体再建術(眼内レンズを挿入しない場合)」と点数表区分番号「K2822」の情報を出力する。なお、出力手段19は、第1類似度算出手段18が算出した類似度の情報をさらに出力する構成であってもよい。
【0078】
次に、第2の例について説明する。第2の例は、第1の例と同じ文字列“左水晶体再建術(眼内レンズを挿入する場合・その他のもの)”について、“水晶体再建術”の部分が、OCRにより“水昌体再律術”と誤って読み取られた場合である。
【0079】
第2の例の場合、
図6(a)に示すように、第1検索手段13は、文字列“左水昌体再律術(眼内レンズを挿入する場合・その他のもの)”を第1キーワードとして、第1医療行為・医薬品マスタから、第1キーワードと一致する文字列がヒットするかを検索し、ヒットしないので、
図6(b)に示すように、第1文字列生成手段14は、第1キーワードから、接頭語マスタを参照して、接頭語“左”を取り除いた文字列“水昌体再律術(眼内レンズを挿入する場合・その他のもの)”を生成する。
【0080】
第2検索手段15は、文字列“水昌体再律術(眼内レンズを挿入する場合・その他のもの)”を第2キーワードとして、第1医療行為・医薬品マスタから、第2キーワードと一致する文字列がヒットするかを検索し、ヒットしないので、
図6(c)に示すように、第2文字列生成手段16は、第2キーワードから、括弧および当該括弧によって囲われた文字列“(眼内レンズを挿入する場合・その他のもの)”を取り除いた文字列“左水昌体再律術”を生成する。
【0081】
類似文字列抽出手段17は、文字列“水昌体再律術”を第3キーワードとして、第2医療行為・医薬品マスタから、第3キーワードを含む文字列を抽出しようとするが、第2の例では、第3キーワードを含む文字列を抽出することができない。そこで、
図6(d)に示すように、第2類似度算出手段20は、第3キーワード“水昌体再律術”と、第2医療行為・医薬品マスタに記憶されている各索引文字列との類似度をそれぞれ算出する。
【0082】
類似文字列抽出手段17は、第2類似度算出手段20が算出した類似度が所定値0.8以上である索引文字列がある場合、第1医療行為・医薬品マスタから、当該索引文字列に対応する文字列(対応文字列)を抽出する。具体的には、類似文字列抽出手段17は、類似度が所定値0.8以上である索引文字列“水晶体再建術”があるので、第1医療行為・医薬品マスタから、
図5(e)に示す4つの対応文字列を抽出する。
【0083】
第1類似度算出手段18は、類似文字列抽出手段17が抽出した対応文字列が複数ある場合、
図6(f)に示すように、各対応文字列と、第2キーワード“水昌体再律術(眼内レンズを挿入する場合・その他のもの)”との類似度をそれぞれ算出する。
出力手段19は、類似文字列抽出手段17が抽出した対応文字列のうち、第1類似度算出手段18が算出した類似度が所定値0.8以上である対応文字列に対応する医療行為・医薬品の情報を出力する。
【0084】
次に、第3の例について説明する。第3の例は、診療明細書等に記載された項目“短手3(水晶体再建術・眼内レンズ挿入・その他のもの(片側))”が、OCRにより“垣手3(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”と誤って読み取られた場合である。
【0085】
第3の例の場合、
図7(a)に示すように、第1検索手段13は、文字列“垣手3(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”を第1キーワードとして、第1医療行為・医薬品マスタから、第1キーワードと一致する文字列がヒットするかを検索し、ヒットしないので、第1文字列生成手段14は、第1キーワードから、接頭語マスタを参照して、接頭語を取り除いた文字列を生成しようとする。第3の例では、第1キーワードに、接頭語マスタに記憶された接頭語がないため、
図7(b)に示すように、第1文字列生成手段14は、第1キーワードと同じ文字列“垣手3(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”を生成する。
【0086】
第2検索手段15は、文字列“垣手3(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”を第2キーワードとして、第1医療行為・医薬品マスタから、第2キーワードと一致する文字列がヒットするかを検索し、ヒットしないので、
図7(c)に示すように、第2文字列生成手段16は、第2キーワードから、括弧および当該括弧によって囲われた文字列“(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”を取り除いた文字列“垣手3”を生成する。
【0087】
類似文字列抽出手段17は、文字列“垣手3”を第3キーワードとして、第2医療行為・医薬品マスタから、第3キーワードを含む文字列を抽出しようとするが、第3の例では、第3キーワードを含む文字列を抽出することができない。そこで、第2類似度算出手段20は、第3キーワード“垣手3”と、第2医療行為・医薬品マスタに記憶されている各索引文字列との類似度をそれぞれ算出する。
【0088】
第3の例では、第2類似度算出手段20が算出した類似度は、すべて所定値0.8未満となり、
図7(d)に示すように、要素文字列抽出手段21は、要素文字列マスタを参照して、第2キーワード(
図7(b)参照)から、要素文字列“レンズ”および“挿入”を抽出する。
【0089】
類似文字列抽出手段17は、要素文字列抽出手段21が抽出した要素文字列が複数あるので、第2キーワードの中央に近い位置にある要素文字列“レンズ”を、まず、第4キーワードとして、第1医療行為・医薬品マスタから、
図8(a)に示すような、第4キーワード“レンズ”を含む文字列(第2類似文字列)を抽出する。
【0090】
図8(b)に示すように、第3類似度算出手段22は、抽出した第2類似文字列について、第2キーワード“垣手3(水晶体再建指・硯内レンズ挿入・その他のもの(片例))”との類似度をそれぞれ算出する。
【0091】
出力手段19は、類似文字列抽出手段17が抽出した第2類似文字列のうち、第3類似度算出手段22が算出した類似度が所定値0.8以上である類似文字列に対応する医療行為または医薬品の情報を出力する。具体的には、出力手段19は、診療行為名「短手3(水晶体再建術・眼内レンズ挿入・その他・片側)」と点数表区分番号「A4003ホ」、診療行為名「短手3(水晶体再建術・眼内レンズ挿入・その他・両側)」と点数表区分番号「A4003ヘ」、および、診療行為名「短手3(水晶体再建術・眼内レンズ挿入・その他・片側)(生活療養)」と点数表区分番号「A4003ホ」の情報を出力する。なお、出力手段19は、第3類似度算出手段22が算出した類似度の情報をさらに出力する構成であってもよい。
【0092】
次に、第1実施形態のテキストデータ解析システム1の動作(テキストデータ解析システム1を構成するコンピュータが備える手段が実行するテキストデータ解析方法)の一例について、フローチャートを参照しながら説明する。
【0093】
図9に示すように、テキストデータ解析システム1は、まず、テキストデータを取得する(S110)(データ取得ステップ)。次に、テキストデータ解析システム1は、データ取得ステップで取得したテキストデータから、一の項目を表す一群の文字列を抽出する(S120)(文字列抽出ステップ)。
【0094】
次に、テキストデータ解析システム1は、文字列抽出ステップで抽出した文字列を第1キーワードとして、第1医療行為・医薬品マスタから、第1キーワードと一致する文字列がヒットするかを検索する(S131)(第1検索ステップ)。そして、検索の結果、第1キーワードと一致する文字列がヒットした場合(S132,Yes)、ステップS183に進む。
【0095】
一方、第1検索ステップにおける検索の結果、第1キーワードと一致する文字列がヒットしない場合(S132,No)、テキストデータ解析システム1は、接頭語マスタを参照して、第1キーワードから、接頭語を取り除いた文字列を生成する(S140)(第1文字列生成ステップ)。
【0096】
次に、テキストデータ解析システム1は、第1文字列生成ステップで生成した文字列を第2キーワードとして、第1医療行為・医薬品マスタから、第2キーワードと一致する文字列がヒットするかを検索する(S151)(第2検索ステップ)。そして、検索の結果、第2キーワードと一致する文字列がヒットした場合(S152,Yes)、ステップS183に進む。
【0097】
一方、第2検索ステップにおける検索の結果、第2キーワードと一致する文字列がヒットしない場合(S152,No)、テキストデータ解析システム1は、第2キーワードから、括弧および当該括弧によって囲われた文字列等を取り除いた文字列を生成する(S160)(第2文字列生成ステップ)。
【0098】
次に、テキストデータ解析システム1は、第2文字列生成ステップで生成した文字列を第3キーワードとして、第2医療行為・医薬品マスタおよび第1医療行為・医薬品マスタから、第3キーワードを含む文字列(第1類似文字列)を抽出する(S171)(類似文字列抽出ステップ)。そして、テキストデータ解析システム1は、第1類似文字列を抽出できたかを判定する(S172)。
【0099】
第1類似文字列を抽出できた場合(S172,Yes)、テキストデータ解析システム1は、抽出した第1類似文字列が複数あるかを判定する(S173)。そして、抽出した第1類似文字列が1つである場合(S173,No)、ステップS183に進む。
【0100】
一方、類似文字列抽出ステップで抽出した文字列が複数ある場合(S173,Yes)、テキストデータ解析システム1は、類似文字列抽出ステップで抽出した第1類似文字列と、第2キーワードとの類似度をそれぞれ算出する(S181)(第1類似度算出ステップ)。そして、テキストデータ解析システム1は、類似文字列抽出ステップで抽出した第1類似文字列のうち、第1類似度算出ステップで算出した類似度が所定以上である第1類似文字列を抽出し(S182)、ステップS183に進む。
【0101】
ここで、例えば、診療明細書や調剤明細書等には、手術名等の診療行為に関する項目や医薬品に関する項目が複数記載されていたり、当該項目以外のほかの項目が記載されていたりすることがあるため、テキストデータには、一の項目を表す一群の文字列が複数存在する場合がある。そこで、テキストデータ解析システム1は、ステップS183において、次の、一の項目を表す一群の文字列があるかを判定する。テキストデータ解析システム1は、次の文字列がある場合(S183,Yes)、ステップS120に戻って以降の処理を実行し、次の文字列がない場合(S183,No)、ステップS191に進む。
【0102】
ステップS191において、テキストデータ解析システム1は、第1検索ステップまたは第2検索ステップでヒットした文字列に対応する医療行為・医薬品の情報を抽出し、抽出した医療行為・医薬品の情報を出力する(S192)。または、テキストデータ解析システム1は、類似文字列抽出ステップで抽出した第1類似文字列に対応する少なくとも1つの医療行為・医薬品の情報を抽出し(S191)、抽出した医療行為・医薬品の情報を出力する(S192)(出力ステップ)。
【0103】
ステップS172において、第2医療行為・医薬品マスタおよび第1医療行為・医薬品マスタから、第3キーワードを含む文字列(第1類似文字列)を抽出できなかった場合(No)、
図10に示すように、テキストデータ解析システム1は、第3キーワードと、第2医療行為・医薬品マスタに記憶された各索引文字列との類似度をそれぞれ算出する(S201)(第2類似度算出ステップ)。
【0104】
そして、テキストデータ解析システム1は、第2類似度算出ステップで算出した類似度が所定以上である索引文字列があるかを判定する(S202)。類似度が所定以上である索引文字列がある場合(S202,Yes)、テキストデータ解析システム1は、第2医療行為・医薬品マスタおよび第1医療行為・医薬品マスタから、当該索引文字列に対応する文字列(対応文字列)を抽出する(S203)。
【0105】
その後、テキストデータ解析システム1は、
図9のステップS173に進み、抽出した対応文字列が複数あるかを判定し、1つである場合(S173,No)は、ステップS183に進み、複数である場合(S173,Yes)は、抽出した対応文字列と、第2キーワードとの類似度をそれぞれ算出し(S181)、以降の処理を実行する。
【0106】
図10に戻り、ステップS202において、第2類似度算出ステップ(S201)で算出した類似度が所定以上である索引文字列がない場合(S202,No)、テキストデータ解析システム1は、要素文字列マスタを参照して、第2キーワードから、要素文字列を抽出する(S211)(要素文字列抽出ステップ)。
【0107】
次に、テキストデータ解析システム1は、抽出した要素文字列が複数あるかを判定する(S212)。抽出した要素文字列が複数ある場合(S212,Yes)、テキストデータ解析システム1は、先に第2類似文字列を抽出する要素文字列、具体的には、第2キーワードの中央に近い位置にある要素文字列を決定し(S213)、決定した要素文字列を第4キーワードとして、第1医療行為・医薬品マスタから、第4キーワードを含む文字列(第2類似文字列)を抽出する(S214)。また、抽出した要素文字列が1つである場合(S212,No)、テキストデータ解析システム1は、当該要素文字列を第4キーワードとして、第1医療行為・医薬品マスタから、第2類似文字列を抽出する(S214)。
【0108】
次に、テキストデータ解析システム1は、抽出した第2類似文字列と、第2キーワードとの類似度を算出する(S221)(第3類似度算出ステップ)。次に、テキストデータ解析システム1は、算出した類似度が所定以上である第2類似文字列があるかを判定する(S222)。類似度が所定以上である第2類似文字列がない場合(S222,No)、ステップS213に戻って、次の、先に第2類似文字列を抽出する要素文字列を決定し、以降の処理を実行する。一方、ステップS222において、類似度が所定以上である第2類似文字列がある場合(Yes)、テキストデータ解析システム1は、
図9のステップ182に進み、類似度が所定以上である第2類似文字列を抽出し(S182)、以降の処理を実行する。
【0109】
以上の第1実施形態によれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから医療行為または医薬品を表す文字列を抽出することができる。また、テキストデータから医療行為または医薬品を表す文字列を、厚生労働省が定めた基本マスタに収載された形式に変換して抽出することができる。
【0110】
また、第1類似度算出手段18をさらに備えることで、医療行為、医薬品の情報を絞り込んで出力することができる。
【0111】
また、第2類似度算出手段20をさらに備えることで、テキストデータから医療行為または医薬品を表す文字列をより確実に抽出することができる。
【0112】
また、要素文字列抽出手段21をさらに備えることで、テキストデータから医療行為または医薬品を表す文字列をさらに確実に抽出することができる。
【0113】
また、第3類似度算出手段22をさらに備え、先に類似度を算出した第2類似文字列の中に類似度が所定以上である第2類似文字列がある場合に、当該第2類似文字列に対応する傷病名の情報を出力して処理を終了するので、医療行為または医薬品の情報を出力するまでの処理量を少なくして処理速度を速くすることができる。
【0114】
また、第2文字列生成手段16が、第2キーワードから、括弧および当該括弧によって囲われた文字列を取り除くだけでなく、上記の文字列(1)~(5)をさらに取り除くので、医療行為、医薬品の情報を絞り込みやすくすることができる。
【0115】
なお、第1実施形態では、第2文字列生成手段16は、第2文字列生成ステップで第2キーワードから、上述の文字列(1)~(5)を取り除いたが、第2キーワードから、上述の文字列(1)~(5)の少なくとも1つを取り除く構成であればよい。また、例えば、第2文字列生成手段16は、第2文字列生成ステップで第2キーワードから、括弧および当該括弧によって囲われた文字列のみを取り除く構成であってもよい。
【0116】
また、第1実施形態では、類似文字列抽出手段17は、第2医療行為・医薬品マスタおよび第1医療行為・医薬品マスタを参照して、第1類似文字列を抽出したが、例えば、第1医療行為・医薬品マスタのみを参照して、第1類似文字列を抽出する構成であってもよい。すなわち、テキストデータ解析システムは、第2医療行為・医薬品マスタを備えない構成であってもよい。また、第1医療行為・医薬品マスタに、索引文字列を、医療行為・医薬品を表す文字列等と対応させて記憶させておいてもよい。
【0117】
また、第1実施形態では、医療行為・医薬品マスタは、点数表区分番号や薬価基準コードを記憶していたが、その他のコード、例えば、医科診療行為マスタの診療行為コードや、医薬品マスタの医薬品コードなどを記憶するものであってもよい。
【0118】
次に、第2実施形態について説明する。なお、以下では、第1実施形態と異なる点について詳細に説明し、同じ点については同一の要素に同一の符号を付す等して適宜説明を省略する。
【0119】
図11に示すように、第2実施形態に係るテキストデータ解析システム1は、例えば、診断書等に記載された項目に基づいて作成されたテキストデータから、傷病名に関する項目をICD10対応標準病名マスタに収載された形式に変換して抽出するシステムである。テキストデータ解析システム1は、データ取得手段11と、文字列抽出手段12と、第1検索手段23と、第1文字列生成手段24と、第2検索手段25と、第2文字列生成手段26と、第3検索手段27と、要素文字列抽出手段28と、類似文字列抽出手段29と、類似度算出手段30と、出力手段31と、記憶装置90とを備える。
【0120】
第2実施形態において、ROMや記憶装置90に記憶させておいたコンピュータプログラムは、テキストデータ解析システム1を構成するコンピュータを、データ取得手段11と、文字列抽出手段12と、第1検索手段23と、第1文字列生成手段24と、第2検索手段25と、第2文字列生成手段26と、第3検索手段27と、要素文字列抽出手段28と、類似文字列抽出手段29と、類似度算出手段30と、出力手段31として機能させる。
【0121】
記憶装置90には、傷病名マスタと、接尾語マスタと、接頭語マスタと、要素文字列マスタとが記憶されている。
図12に示すように、傷病名マスタは、傷病名を表す文字列を記憶するテーブルとして構成されている。傷病名マスタは、ICD10対応標準病名マスタに収載された傷病名を表す文字列と、ICDコードとを対応させて記憶している。
【0122】
図13(a)に示すように、接尾語マスタは、文字列の後尾に付く特定の文字列である接尾語を記憶するテーブルとして構成されている。接尾語は、診断書等に記載される傷病名の後尾に付けられることがある、例えば、「の疑い」、「の術後」、「の術前」、「の増悪」、「の治療後」、「の二次感染」等の文字列である。接尾語は、例えば、修飾語マスタに収載された接尾語に使用する修飾語を参考に決めることができる。
【0123】
図13(b)に示すように、接頭語マスタは、文字列の先頭に付く特定の文字列である接頭語を記憶するテーブルとして構成されている。接頭語は、診断書等に記載される傷病名の先頭に付けられることがある、例えば、「下」、「急性」、「上」、「左」、「左側」、「右」、「右側」等の文字列である。接頭語は、例えば、修飾語マスタに収載された接頭語に使用する修飾語を参考に決めることができる。
【0124】
図13(c)に示すように、要素文字列マスタは、要素文字列を記憶するテーブルとして構成されている。要素文字列は、傷病名に含まれる特定の文字列であり、例えば、「真珠」、「腱」、「室」、「耳」、「縮」、「潰」、「中耳」等の文字列である。要素文字列としては、傷病名を絞り込む際にヒットする候補が多くなりすぎないような文字列、例えば、候補を500件以下程度に絞り込めるような文字列を採用している。
【0125】
図11に戻り、第1検索手段23は、文字列抽出手段12が抽出した文字列を第1キーワードとして、傷病名マスタから、第1キーワードと一致する文字列がヒットするかを検索する。第1検索手段23は、検索の結果、第1キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する。
【0126】
ここで、第2実施形態において、第1検索手段23、第2検索手段25、第3検索手段27および出力手段31は、傷病名の情報として、傷病名とICDコードの情報を出力する。
【0127】
第1文字列生成手段24は、第1検索手段23による検索の結果、第1キーワードと一致する文字列がヒットしない場合、接尾語マスタを参照して、第1キーワードから、接尾語を取り除いた文字列を生成する。また、第1文字列生成手段24は、第1キーワードに、接尾語マスタに記憶された接尾語がない場合、生成する文字列を第1キーワードとする。
【0128】
第2検索手段25は、第1文字列生成手段24が生成した文字列を第2キーワードとして、傷病名マスタから、第2キーワードと一致する文字列がヒットするかを検索する。第2検索手段25は、検索の結果、第2キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する。
【0129】
第2文字列生成手段26は、第2検索手段25による検索の結果、第2キーワードと一致する文字列がヒットしない場合、接頭語マスタを参照して、第2キーワードから、接頭語を取り除いた文字列を生成する。
【0130】
なお、第1キーワードと第2キーワードが同じ文字列である場合、第2検索手段25は、第2キーワードと一致する文字列がヒットするかを検索することなく、第2文字列生成手段26が、第2キーワードから、接尾語を取り除いた文字列を生成してもよい。
【0131】
また、第2文字列生成手段26は、第2キーワードに、接頭語マスタに記憶された接頭語がない場合、生成する文字列を第2キーワードとする。
【0132】
第3検索手段27は、第2文字列生成手段26が生成した文字列を第3キーワードとして、傷病名マスタから、第3キーワードと一致する文字列がヒットするかを検索する。第3検索手段27は、検索の結果、第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する。
【0133】
要素文字列抽出手段28は、第3検索手段27による検索の結果、第3キーワードと一致する文字列がヒットしない場合、要素文字列マスタを参照して、第3キーワードから、少なくとも1つの要素文字列を抽出する。
【0134】
なお、第2キーワードと第3キーワードが同じ文字列である場合、第3検索手段27は、第3キーワードと一致する文字列がヒットするかを検索することなく、要素文字列抽出手段28が、第3キーワードから、要素文字列を抽出してもよい。
【0135】
類似文字列抽出手段29は、要素文字列抽出手段28が抽出した要素文字列を第4キーワードとして、傷病名マスタから、第4キーワードを含む文字列(以下、「類似文字列」ともいう。)を抽出する。
【0136】
類似度算出手段30は、類似文字列抽出手段29が抽出した類似文字列と、第3キーワードとの類似度を算出する。一例として、類似度算出手段30は、レーベンシュタイン距離およびジャロ・ウィンクラー距離の少なくとも一方に基づいて、類似文字列と、第3キーワードとの類似度を算出する。第2実施形態においても、類似度は、0から1の数値として算出される。
【0137】
出力手段31は、類似文字列抽出手段29が抽出した類似文字列に対応する少なくとも1つの傷病名の情報を出力する。詳しくは、出力手段31は、類似文字列抽出手段29が抽出した類似文字列のうち、類似度算出手段30が算出した類似度が所定以上である文字列に対応する傷病名の情報を出力する。
【0138】
第2実施形態では、類似文字列抽出手段29は、要素文字列抽出手段28が抽出した要素文字列が複数ある場合、第3キーワードの中央に近い位置にある要素文字列(以下、第2実施形態において「優先要素文字列」ともいう。)を、まず、第4キーワードとして、傷病名マスタから、類似文字列を抽出する。
【0139】
類似度算出手段30は、優先要素文字列を第4キーワードとして類似文字列抽出手段29が抽出した類似文字列について、他の要素文字列よりも先に第3キーワードとの類似度を算出する。
【0140】
出力手段31は、先に類似度を算出した類似文字列の中に類似度が所定以上である文字列がある場合、当該類似文字列に対応する傷病名の情報を出力する。出力手段31が、先に類似度を算出した類似文字列に対応する傷病名の情報を出力した場合、それ以降、類似文字列抽出手段29は、他の要素文字列について類似文字列を抽出せず、類似度算出手段30は、類似度を算出しない。
【0141】
類似文字列抽出手段29は、先に類似度を算出した類似文字列の中に類似度が所定以上である文字列がない場合、次に第3キーワードの中央に近い位置にある要素文字列を第4キーワードとして、傷病名マスタから、類似文字列を抽出し、類似度算出手段30は、抽出した類似文字列について第3キーワードとの類似度を算出する。そして、出力手段31は、類似度を算出した類似文字列の中に類似度が所定以上である文字列がある場合、当該類似文字列に対応する傷病名の情報を出力する。
【0142】
要素文字列抽出手段28が抽出した要素文字列が複数ある場合において、2つの要素文字列の第3キーワードの中央からの位置が同じである場合、類似文字列抽出手段29は、各要素文字列を第4キーワードとして、傷病名マスタから、類似文字列をそれぞれ抽出し、抽出した類似文字列について第3キーワードとの類似度をそれぞれ算出する。そして、出力手段31は、類似度を算出した類似文字列の中に類似度が所定以上である文字列がある場合、当該類似文字列に対応する傷病名の情報を出力する。なお、この場合、抽出した類似文字列の数が少ない方について、多い方よりも先に類似度を算出し、先に類似度を算出した類似文字列の中に類似度が所定以上である文字列がある場合、当該類似文字列に対応する傷病名の情報を出力して、処理を終了してもよい。
【0143】
ここで、具体的な例を示しながら、第2実施形態のテキストデータ解析システム1における処理について説明する。
第1の例として、
図14(a)に示すように、第1検索手段23は、データ取得手段11が取得し、文字列抽出手段12が抽出した文字列“急性インフルエンザ肺炎の疑い”を第1キーワードとして、傷病名マスタから、第1キーワードと一致する文字列がヒットするかを検索する。
【0144】
第1文字列生成手段24は、第1検索手段23による検索の結果、第1キーワードと一致する文字列がヒットしない場合、
図14(b)に示すように、接尾語マスタを参照して、第1キーワードから、接尾語“の疑い”を取り除いた文字列“急性インフルエンザ肺炎”を生成する。
【0145】
第2検索手段25は、第1文字列生成手段24が生成した文字列“急性インフルエンザ肺炎”を第2キーワードとして、傷病名マスタから、第2キーワードと一致する文字列がヒットするかを検索する。
【0146】
第2文字列生成手段26は、第2検索手段25による検索の結果、第2キーワードと一致する文字列がヒットしない場合、
図14(c)に示すように、接頭語マスタを参照して、第2キーワードから、接頭語“急性”を取り除いた文字列“インフルエンザ肺炎”を生成する。
【0147】
第3検索手段27は、第2文字列生成手段26が生成した文字列“インフルエンザ肺炎”を第3キーワードとして、傷病名マスタから、第3キーワードと一致する文字列がヒットするかを検索する。第3検索手段27は、検索の結果、第3キーワードと一致する文字列がヒットした場合、ヒットした文字列に対応する傷病名の情報を出力する。具体的には、第3検索手段27は、
図14(d)に示すように、傷病名「インフルエンザ肺炎」とICDコード「J110」の情報を出力する。
【0148】
また、第2の例として、
図15(a)に示すように、第1検索手段23は、データ取得手段11が取得し、文字列抽出手段12が抽出した文字列“右真珠性中耳炎の術後”を第1キーワードとして、傷病名マスタから、第1キーワードと一致する文字列がヒットするかを検索する。
【0149】
第1文字列生成手段24は、第1検索手段23による検索の結果、第1キーワードと一致する文字列がヒットしない場合、
図15(b)に示すように、接尾語マスタを参照して、第1キーワードから、接尾語“の術後”を取り除いた文字列“右真珠性中耳炎”を生成する。
【0150】
第2検索手段25は、第1文字列生成手段24が生成した文字列“右真珠性中耳炎”を第2キーワードとして、傷病名マスタから、第2キーワードと一致する文字列がヒットするかを検索する。
【0151】
第2文字列生成手段26は、第2検索手段25による検索の結果、第2キーワードと一致する文字列がヒットしない場合、
図15(c)に示すように、接頭語マスタを参照して、第2キーワードから、接頭語“右”を取り除いた文字列“真珠性中耳炎”を生成する。
【0152】
第3検索手段27は、第2文字列生成手段26が生成した文字列“真珠性中耳炎”を第3キーワードとして、傷病名マスタから、第3キーワードと一致する文字列がヒットするかを検索する。
【0153】
要素文字列抽出手段28は、第3検索手段27による検索の結果、第3キーワードと一致する文字列がヒットしない場合、
図15(d)に示すように、要素文字列マスタを参照して、第3キーワードから、要素文字列“真珠”および“中耳”を抽出する。
【0154】
類似文字列抽出手段29は、要素文字列抽出手段28が抽出した要素文字列が複数あるので、第3キーワードの中央に近い位置にある要素文字列“中耳”を、まず、第4キーワードとして、傷病名マスタから、
図16(a)に示すような、第4キーワード“中耳”を含む文字列(類似文字列)を抽出する。
【0155】
図16(b)に示すように、類似度算出手段30は、抽出した類似文字列について、第3キーワード“真珠性中耳炎”との類似度をそれぞれ算出する。
【0156】
出力手段31は、類似文字列抽出手段29が抽出した類似文字列のうち、類似度算出手段30が算出した類似度が所定値、例えば、0.8以上である類似文字列に対応する傷病名の情報を出力する。具体的には、出力手段31は、傷病名「真珠腫性中耳炎」とICDコード「H71」、傷病名「急性中耳炎」とICDコード「H669」、および、傷病名「慢性中耳炎」とICDコード「H669」の情報を出力する。なお、出力手段31は、類似度算出手段30が算出した類似度の情報をさらに出力する構成であってもよい。
【0157】
次に、第2実施形態のテキストデータ解析システム1の動作の一例について、フローチャートを参照しながら説明する。
【0158】
図17に示すように、テキストデータ解析システム1は、文字列抽出ステップ(S120)で抽出した文字列を第1キーワードとして、傷病名マスタから、第1キーワードと一致する文字列がヒットするかを検索する(S231)(第1検索ステップ)。そして、検索の結果、第1キーワードと一致する文字列がヒットした場合(S232,Yes)、ステップS304に進む。
【0159】
一方、第1検索ステップにおける検索の結果、第1キーワードと一致する文字列がヒットしない場合(S232,No)、テキストデータ解析システム1は、接尾語マスタを参照して、第1キーワードから、接尾語を取り除いた文字列を生成する(S240)(第1文字列生成ステップ)。
【0160】
次に、テキストデータ解析システム1は、第1文字列生成ステップで生成した文字列を第2キーワードとして、傷病名マスタから、第2キーワードと一致する文字列がヒットするかを検索する(S251)(第2検索ステップ)。そして、検索の結果、第2キーワードと一致する文字列がヒットした場合(S252,Yes)、ステップS304に進む。
【0161】
一方、第2検索ステップにおける検索の結果、第2キーワードと一致する文字列がヒットしない場合(S252,No)、テキストデータ解析システム1は、接頭語マスタを参照して、第2キーワードから、接頭語を取り除いた文字列を生成する(S260)(第2文字列生成ステップ)。
【0162】
次に、テキストデータ解析システム1は、第2文字列生成ステップで生成した文字列を第3キーワードとして、傷病名マスタから、第3キーワードと一致する文字列がヒットするかを検索する(S271)(第3検索ステップ)。そして、検索の結果、第3キーワードと一致する文字列がヒットした場合(S272,Yes)、ステップS304に進む。
【0163】
一方、第3検索ステップにおける検索の結果、第3キーワードと一致する文字列がヒットしない場合(S272,No)、テキストデータ解析システム1は、要素文字列マスタを参照して、第3キーワードから、要素文字列を抽出する(S280)(要素文字列抽出ステップ)。
【0164】
次に、テキストデータ解析システム1は、抽出した要素文字列が複数あるかを判定する(S291)。抽出した要素文字列が複数ある場合(S291,Yes)、テキストデータ解析システム1は、先に類似文字列を抽出する要素文字列、具体的には、第3キーワードの中央に近い位置にある要素文字列を決定し(S292)、決定した要素文字列を第4キーワードとして、傷病名マスタから、第4キーワードを含む文字列(類似文字列)を抽出する(S293)。また、抽出した要素文字列が1つである場合(S291,No)、テキストデータ解析システム1は、当該要素文字列を第4キーワードとして、傷病名マスタから、類似文字列を抽出する(S293)(類似文字列抽出ステップ)。
【0165】
次に、テキストデータ解析システム1は、抽出した類似文字列と、第3キーワードとの類似度を算出する(S301)(類似度算出ステップ)。次に、テキストデータ解析システム1は、算出した類似度が所定以上である類似文字列があるかを判定する(S302)。類似度が所定以上である類似文字列がない場合(S302,No)、ステップS292に戻って、次の、先に類似文字列を抽出する要素文字列を決定し、以降の処理を実行する。一方、ステップS302において、類似度が所定以上である類似文字列がある場合(Yes)、テキストデータ解析システム1は、類似度が所定以上である類似文字列を抽出し(S303)、ステップS304に進む。
【0166】
ステップS304において、テキストデータ解析システム1は、次の、一の項目を表す一群の文字列があるかを判定する。そして、次の文字列がある場合(S304,Yes)、ステップS120に戻って以降の処理を実行し、次の文字列がない場合(S304,No)、ステップS311に進む。
【0167】
ステップS311において、テキストデータ解析システム1は、第1検索ステップ、第2検索システムまたは第3検索ステップでヒットした文字列に対応する傷病名の情報を抽出し、抽出した傷病名の情報を出力する(S312)。または、テキストデータ解析システム1は、類似文字列抽出ステップで抽出した類似文字列に対応する少なくとも1つの傷病名の情報を抽出し(S311)、抽出した傷病名の情報を出力する(S312)(出力ステップ)。
【0168】
以上の第2実施形態によれば、マスタにキーワードを必要以上に追加していくことなく、テキストデータから傷病名を表す文字列を抽出することができる。また、テキストデータから傷病名を表す文字列を、ICD10対応標準病名マスタに収載された形式に変換して抽出することができる。
【0169】
また、要素文字列抽出手段28、類似文字列抽出手段29および出力手段31をさらに備えることで、テキストデータから傷病名を表す文字列をより確実に抽出することができる。
【0170】
また、類似度算出手段30をさらに備えることで、傷病名の情報を絞り込んで出力することができる。
【0171】
また、先に類似度を算出した類似文字列の中に類似度が所定以上である類似文字列がある場合に、当該類似文字列に対応する傷病名の情報を出力して処理を終了するので、傷病名の情報を出力するまでの処理量を少なくして処理速度を速くすることができる。
【0172】
なお、第2実施形態では、傷病名マスタは、ICDコードを記憶していたが、その他のコード、例えば、ICD10対応標準病名マスタの病名管理番号などを記憶するものであってもよい。また、第2実施形態では、傷病名マスタは、ICD10対応標準病名マスタに基づいて作成されていたが、例えば、基本マスタの傷病名マスタなどに基づいて作成してもよい。
【0173】
以上、実施形態について説明したが、本発明は前記実施形態に限定されることなく、以下に例示するように適宜変形して実施することができる。
【0174】
例えば、前記実施形態では、抽出された要素文字列が複数ある場合、所定のキーワードの中央に近い位置にある要素文字列について、他の要素文字列よりも先に類似度を算出したが、これに限定されない。例えば、抽出された要素文字列が複数ある場合、抽出された各要素文字列について、それぞれ類似文字列を抽出し、抽出した類似文字列の数が他よりも少ないものについて、先に類似度を算出し、先に類似度を算出した類似文字列の中に類似度が所定以上である文字列がある場合、当該類似文字列に対応する医療行為等の情報を出力して、処理を終了してもよい。また、要素文字列マスタに、要素文字列と、類似度を算出する際の優先順位を表す数字等とを対応させて記憶させておいてもよい。
【0175】
また、前記実施形態では、類似度算出手段が、類似文字列抽出手段が抽出した類似文字列と、所定のキーワードとの類似度を算出し、出力手段が、類似度算出手段が算出した類似度が所定以上である類似文字列に対応する情報を出力したが、これに限定されない。例えば、出力手段は、類似文字列抽出手段が抽出した類似文字列の数が所定以下であれば、類似度を算出することなく、類似文字列抽出手段が抽出した類似文字列に対応する情報を出力する構成であってもよい。
【0176】
また、前記した実施形態および変形例で説明した各要素は、任意に組み合わせて実施してもよい。また、例えば、第1実施形態と第2実施形態を組み合わせて実施する場合、第1実施形態の接頭語マスタと第2実施形態の接頭語マスタは共通のマスタとしてもよいし、第1実施形態の要素文字列マスタと第2実施形態の要素文字列マスタは共通のマスタとしてもよい。
【符号の説明】
【0177】
1 テキストデータ解析システム
11 データ取得手段
12 文字列抽出手段
13 第1検索手段
14 第1文字列生成手段
15 第2検索手段
16 第2文字列生成手段
17 類似文字列抽出手段
18 第1類似度算出手段
19 出力手段
20 第2類似度算出手段
21 要素文字列算出手段
22 第3類似度算出手段
23 第1検索手段
24 第1文字列生成手段
25 第2検索手段
26 第2文字列生成手段
27 第3検索手段
28 要素文字列抽出手段
29 類似文字列抽出手段
30 類似度算出手段
31 出力手段