(57)【要約】【課題】表記ゆれを含むデータに対する検索処理の網羅性を向上可能とする。【解決手段】各事象のマスタ情報が含む各表記を構成する文字列を単語に分割し、各事象における各表記の部分文字列を特定し、部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて部分表記ゆれ辞書１０２を生成し、表記の文字列を構成する各部分文字列を部分表記ゆれ辞書１０２に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を表記が示す該当事象に対応付けて表記ゆれ辞書１０３を生成する処理と、検索ワードを表記ゆれ辞書１０３に照合して対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で所定データベース１０５を検索し出力する演算装置１４を備える構成とする。【選択図】図２
2015106361.tif 000002
【特許請求の範囲】
【請求項１】
同一事象を示す複数の表記を対応付けたマスタ情報を、事象毎に記憶した記憶装置と、
各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列を単語に分割して、各事象における各表記の部分文字列を特定する処理と、
前記特定した部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて記憶装置に格納し部分表記ゆれ辞書を生成する処理と、
前記表記の文字列を構成する各部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を前記表記が示す該当事象に対応付けて記憶装置に格納し、表記ゆれ辞書を生成する処理と、
入力装置ないし所定端末より検索要求を受け付けて、当該検索要求が示す検索ワードを前記表記ゆれ辞書に照合して、前記検索ワードに対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理を実行する演算装置と、
を備えることを特徴とするデータ検索システム。
【請求項２】
前記演算装置は、
前記部分文字列を特定する処理に際し、
各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列に所定の変換規則を適用し、該当文字列を成す文字を以降の処理に適した規定文字種に変換する正規化処理を実行し、当該正規化処理後の文字列を単語に分割して、各事象における各表記の部分文字列を特定するものである、
ことを特徴とする請求項１に記載のデータ検索システム。
【請求項３】
前記演算装置は、
表記ゆれ辞書を生成する処理に際し、
前記生成したパターンが示す、部分文字列と他部分文字列、部分文字列と部分文字列、他部分文字列と他部分文字列、のいずれかの組について、前記マスタ情報での登録状況ないしパターン間での共通性に応じて、該当パターンの信頼性指標となる確度レベルを判定し、当該確度レベルの値を該当パターンに対応付けて前記表記ゆれ辞書に登録する処理を更に実行するものである、
ことを特徴とする請求項２に記載のデータ検索システム
【請求項４】
前記演算装置は、
前記検索要求に応じて前記所定データベースを検索して情報を出力する処理において、
前記検索要求が示す検索ワードを単語に分割して、部分文字列を特定し、前記特定した部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記検索ワードの各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、当該各パターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理を実行するものである、
ことを特徴とする請求項３に記載のデータ検索システム。
【請求項５】
同一事象を示す複数の表記を対応付けたマスタ情報を、事象毎に記憶した記憶装置を備えた情報処理装置が、
各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列を単語に分割して、各事象における各表記の部分文字列を特定する処理と、
前記特定した部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて記憶装置に格納し部分表記ゆれ辞書を生成する処理と、
前記表記の文字列を構成する各部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を前記表記が示す該当事象に対応付けて記憶装置に格納し、表記ゆれ辞書を生成する処理と、
入力装置ないし所定端末より検索要求を受け付けて、当該検索要求が示す検索ワードを前記表記ゆれ辞書に照合して、前記検索ワードに対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理と、
を実行することを特徴とするデータ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ検索システムおよびデータ検索方法に関するものであり、具体的には、表記ゆれを含むデータに対する検索処理の網羅性を向上可能とする技術に関する。
【背景技術】
【０００２】
医療情報の電子化が進む中で、蓄積した医療情報を活用し、医療の質の向上や経営改善に役立てる動きが増加している。一方、こうした医療情報を所定の管理システムに登録する際、担当者個人の認識や思考、スキルなど様々な要因により、同じ事象についても異なる表記での登録処理、いわゆる表記ゆれが頻繁に発生している。こうした表記ゆれは、該当医療情報を検索する際の障害となり、医療情報の効率的な二次利用を困難にしている。
【０００３】
上述した表記ゆれに対応して医療情報の利用を行う際の対処方法としては、表記ゆれが生じている各事象について類義語たる各語彙間の対応関係を定義した同義語辞書を利用する方法がある。そうした類義語辞書に関する従来技術としては、例えば以下のような技術が提案されている。すなわち、既存の複数の同義語に共通する文字列パターンを同義語ルールとして抽出し、そのルールとデータベース内の文字列情報を用いて同義語を自動生成する技術（特許文献１参照）である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２８９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術においては、同義語辞書に既存の同義語間に存在する共通パターンを同義語ルールとして抽出しており、確度の高い同義語を生成している。しかしながら、抽出したルールに基づいて同義語生成を行う手法のため、同義語辞書に１度しか現れない文字列など、共通パターン自体がそもそも存在し得ない文字列については同義語ルールの抽出対象とさえならない。つまり、そうした文字列が、或る事象の語彙に関する同義語として適切であったとしても、該当文字列に紐尽く医療情報は検索対象から排除されることになる。
【０００６】
一方、医薬品の有効性評価や副作用調査など、医学分野のデータ分析を実行する場合、該当する医療情報をデータベースから漏れなく網羅的に抽出することは、分析結果の精度を良好に保つ面で特に重要となる。他方、上述したように表記ゆれの医療情報を抽出できずに評価対象に含めることが出来ない状況となれば、分析結果の精度は自ずと低下せざるをえない。
【０００７】
そこで本発明は上記課題に鑑みて発明されたものであって、表記ゆれを含むデータに対する検索処理の網羅性を向上可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明のデータ検索システムは、同一事象を示す複数の表記を対応付けたマスタ情報を、事象毎に記憶した記憶装置と、各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列を単語に分割して、各事象における各表記の部分文字列を特定する処理と、前記特定した部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて記憶装置に格納し部分表記ゆれ辞書を生成する処理と、前記表記の文字列を構成する各部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を前記表記が示す該当事象に対応付けて記憶装置に格納し、表記ゆれ辞書を生成する処理と、入力装置ないし所定端末より検索要求を受け付けて、当該検索要求が示す検索ワードを前記表記ゆれ辞書に照合して、前記検索ワードに対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理を実行する演算装置とを備えることを特徴とする。
【０００９】
また、本発明のデータ検索方法は、同一事象を示す複数の表記を対応付けたマスタ情報を、事象毎に記憶した記憶装置を備えた情報処理装置が、各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列を単語に分割して、各事象における各表記の部分文字列を特定する処理と、前記特定した部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて記憶装置に格納し部分表記ゆれ辞書を生成する処理と、前記表記の文字列を構成する各部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を前記表記が示す該当事象に対応付けて記憶装置に格納し、表記ゆれ辞書を生成する処理と、入力装置ないし所定端末より検索要求を受け付けて、当該検索要求が示す検索ワードを前記表記ゆれ辞書に照合して、前記検索ワードに対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理と、を実行することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、表記ゆれを含むデータに対する検索処理の網羅性が向上する。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のデータ検索システムを含むネットワーク構成図である。
【図２】本実施形態におけるデータ検索システムのハードウェア構成例を示す図である。
【図３】本実施形態のマスタ情報テーブルのデータ構成例を示す図である。
【図４】本実施形態におけるユーザ端末のハードウェア構成例を示す図である。
【図５】本実施形態におけるデータ検索方法の処理手順例１を示すフロー図である。
【図６】本実施形態の部分表記ゆれ辞書のデータ構成例を示す図である。
【図７】本実施形態の表記ゆれ辞書のデータ構成例を示す図である。
【図８】本実施形態における表記ゆれ辞書のパターン生成例１を示す図である。
【図９】本実施形態における表記ゆれ辞書のパターン生成例２を示す図である。
【図１０】本実施形態における表記ゆれ辞書のパターン生成例３を示す図である。
【図１１】本実施形態におけるデータ検索方法の処理手順例２を示すフロー図である。
【発明を実施するための形態】
【００１２】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のデータ検索システム１００を含むネットワーク構成図である。図１に示すデータ検索システム１００は、表記ゆれを含むデータに対する検索処理の網羅性を向上可能とするコンピュータシステムである。このデータ検索システム１００は、ネットワーク２０を介してユーザ端末２００らと結ばれており、ユーザ端末２００から送信されてくる検索ワード１０７を含む検索要求を受信し、これに応じて臨床データ１０５から抽出したデータを検索結果１０６として返信する情報処理装置となっている。
【００１３】
本実施形態のデータ検索システム１００が検索対象とするのは、一例として医療機関において蓄積された臨床データ１０５をあげる。ただし、こうした臨床データの他、医療情報全般（例：医療に関する各種検査データ、医療研究機関での実験データ、公的機関等が集計した統計データなど）など、データ数が膨大で、なおかつ同一事象（例：疾病名や検査名、薬名など）について表記ゆれ（例：がん、ガン、癌）が生じやすい様々なデータ群も本実施形態の検索システム１００における検索対象となる。
【００１４】
ところで医療機関では、検査や疾病といった各事象を示す用語の標準マスタが存在し、電子カルテへの記録やその後の情報活用時などに参照されているが、そのほかにも各医療機関で独自に使用する用語、すなわち表記ゆれと上述の標準マスタとの対応関係をテーブル等で規定している場合が多い。そこで本実施形態においては、医療機関等で用いられる標準マスタや医療機関が独自に作成した上述の対応テーブルにおいて、互いに同義語関係にあると規定された各用語の表記ゆれの情報を活用することで、表記ゆれのパターンを効率的に拡充し、対応する臨床データ１０５の検索処理における網羅性を向上させるものとする。
【００１５】
こうしたデータ検索システム１００の構成について説明する。図２は本実施形態におけるデータ検索システム１００のハードウェア構成例を示す図である。まず、データ検索システム１００におけるハードウェア構成は以下の如くとなる。データ検索システム１００は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶装置１１、ＲＡＭなど揮発性記憶装置で構成されるメモリ１３、記憶装置１１に保持されるプログラム１２をメモリ１３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置１４、ネットワーク２０と接続し他装置との通信処理を担う通信装置１７、を備える。
【００１６】
なお、記憶装置１１内には、本実施形態のデータ検索システム１００として必要な機能を実装する為のプログラム１２と、同一事象を示す複数の表記を対応付けたマスタ情報を事象毎に記憶したマスタ情報テーブル１０１、文字列を成す文字を規定文字種に変換するための変換規則たる正規化ルール１０４、が少なくとも記憶されている。但し、後述する部分表記ゆれ辞書１０２および表記ゆれ辞書１０３が、当該データ検索システム１００により生成された以降は、記憶装置１１内に部分表記ゆれ辞書１０２および表記ゆれ辞書１０３が格納された状態となる。
【００１７】
また、検索対象となる臨床データ１０５は、データ検索システム１００が記憶装置１１にて保持するとしてもよいし（必須ではない意味で図２中では破線で示している）、図１に例示するようにネットワーク２０を介して接続される他装置においてデータ検索可能に保持されているとしてもよい。また、本実施形態におけるマスタ情報テーブル１０１としては、医療検査コードに対応する検査名称を規定したマスタ情報を想定するが、これに限定されるものではなく、傷病マスタや薬品マスタなど任意のマスタ情報を想定出来る。
【００１８】
図３に、こうしたマスタ情報テーブル１０１の一例を示す。マスタ情報テーブル１０１は、複数のレコードからなり、１レコードは１つの検査事象に関する情報を格納している。各レコードは、１つの検査コードと、当該検査コードの検査を示す少なくとも１つの検査名称を格納する。検査名称が複数存在する場合すなわち１つの検査コードに関して複数の同義語が存在する場合、該当検査コードに対応した１レコードにおいては、複数の検査名称が格納される。例えば、図３におけるマスタ情報テーブル１０１のうちレコード２０１は、検査コード「１０００」に該当する検査名称として「β‐ＴＧ」と「ｂ−トロンボグロブリン」の２つの表記が格納されている。なお、マスタ情報テーブル１０１における各レコードは、上述の項目（検査コード、検査名称）のみ含む場合のみならず、その他の任意の属性に応じた項目（表記ゆれが生じるもの）を含むとしてもよい。
【００１９】
なお、データ検索システム１００は、当該データ検索システム１００に対する検索要求を、ネットワーク２０および通信装置１７を介してユーザ端末２００から受けるのではなく、当該データ検索システム１００がユーザからの検索要求を直接受け付けるとしてもよい。その場合、データ検索システム１００は、ユーザからのキー入力や音声入力を受け付ける入力装置１５、処理データの表示を行うディスプレイ等の出力装置１６を備える（必須ではない意味で図２中では破線で示している）。
【００２０】
一方、ユーザ端末２００は、図４にて例示するように、データ検索システム１００と同様、一般的な情報処理装置としてのハードウェア構成を備えており、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶装置２１、ＲＡＭなど揮発性記憶装置で構成されるメモリ２３、記憶装置２１に保持されるプログラム２２をメモリ２３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算装置２４、ユーザからのキー入力や音声入力を受け付ける入力装置２５、処理データの表示を行うディスプレイ等の出力装置２６を備える。このユーザ端末２００は、臨床データ１０５から所望のデータを検索して利用することを望むユーザが操作する端末となる。
【００２１】
続いて、本実施形態のデータ検索システム１００が備える機能について説明する。上述したように、以下に説明する機能は、例えばデータ検索システム１００が備えるプログラム１２を実行することで実装される機能と言える。図２の例では、演算装置１４によるプログラム１２の実行により、マスタ情報読み込み部１１１、文字列正規化部１１２、文字列分割部１１３、部分表記ゆれ辞書生成部１１４、表記ゆれ辞書生成部１１５、表記ゆれパターン生成部１１６、データ抽出部１１７が実装された状態となっている。
【００２２】
データ検索システム１００は、各事象のマスタ情報を記憶装置１１のマスタ情報テーブル１０１より読み出し（マスタ情報読み込み部１１１の機能）、マスタ情報が含む各表記を構成する文字列を単語に分割して、各事象における各表記の部分文字列を特定する機能（文字列分割部１１３の機能）を備えている。
【００２３】
また、データ検索システム１００は、上述で特定した部分文字列の各間について、同一事象に関する各表記での位置に応じて同義関係を判定し、当該判定により同義関係があるとした部分文字列同士を対応付けて記憶装置１１に格納し部分表記ゆれ辞書１０２を生成する機能（部分表記ゆれ辞書生成部１１４の機能）を備えている。
【００２４】
また、データ検索システム１００は、上述の表記の文字列を構成する各部分文字列を部分表記ゆれ辞書１０２に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、上述の表記の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を上述の表記が示す該当事象に対応付けて記憶装置１１に格納し、表記ゆれ辞書１０３を生成する機能（表記ゆれ辞書生成部１１５の機能）を備えている。
【００２５】
また、データ検索システム１００は、入力装置１５ないしユーザ端末２００（所定端末）より検索要求を受け付けて、当該検索要求が示す検索ワードを表記ゆれ辞書１０３に照合して、検索ワードに対応した事象について登録されたパターンを特定し、当該特定したパターンが示す文字列で臨床データ（所定データベース）１０５を検索して、当該検索で抽出した情報を出力装置１６ないしユーザ端末２００に出力する機能（データ抽出部１１７の機能）を備えている。
【００２６】
また、データ検索システム１００は、上述の部分文字列を特定する処理に際し、各事象のマスタ情報を記憶装置１１のマスタ情報テーブル１０１より読み出し、マスタ情報が含む各表記を構成する文字列に所定の変換規則たる正規化ルール１０４を適用し、該当文字列を成す文字を以降の処理に適した規定文字種に変換する正規化処理を実行し（文字列正規化部１１２の機能）、当該正規化処理後の文字列を単語に分割して、各事象における各表記の部分文字列を特定する機能を備えている。
【００２７】
また、データ検索システム１００は、表記ゆれ辞書１０３を生成する処理に際し、上述で生成したパターンが示す、部分文字列と他部分文字列、部分文字列と部分文字列、他部分文字列と他部分文字列、のいずれかの組について、マスタ情報テーブル１０１での該当文字列の登録状況ないしパターン間での共通性に応じて、該当パターンの信頼性指標となる確度レベルを判定し、当該確度レベルの値を該当パターンに対応付けて表記ゆれ辞書１０３に登録する機能（表記ゆれ辞書生成部１１５の機能）を備えている。
【００２８】
また、データ検索システム１００は、上述の検索要求に応じて臨床データ１０５を検索して情報を出力する処理において、上述の検索要求が示す検索ワードを単語に分割して、部分文字列を特定し、ここで特定した部分文字列を部分表記ゆれ辞書１０２に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、上述の検索ワードの各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し（表記ゆれパターン生成部１１６の機能）、当該各パターンが示す文字列で臨床データ１０５を検索して、当該検索で抽出した情報を出力装置１５ないしユーザ端末２００に出力する機能を備えている。
【００２９】
−−−処理手順例１−−−
以下、本実施形態におけるデータ検索方法の実際手順について図に基づき説明する。以下で説明するデータ検索方法に対応する各種動作は、データ検索システム１００がメモリ等に読み出して実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３０】
図５は、本実施形態におけるデータ検索方法の処理手順例１を示すフロー図である。ここではまず、データ検索システム１００が部分表記ゆれ辞書１０２および表記ゆれ辞書１０３を生成する処理について説明する。この場合、データ検索システム１００におけるマスタ情報読み込み部１１１は、記憶装置１１におけるマスタ情報テーブル１０１の各レコードをメモリ１３に読み込み（ｓ１００）、各レコードが含む検査コードと検査名称の各値を抽出する（ｓ１０１）。図２の例であれば、例えば検査コード「１０００」について、検査名称１「β−ＴＧ」、および検査名称２「ｂ−トロンボグロブリン」の各値を抽出し、検査コード「１００１」について、検査名称１「ＣＫアイソ」、および検査名称２「ＣＫアイソザイム」の各値を抽出する、といった抽出処理をレコード毎に順次実行することになる。
【００３１】
続いてデータ検索システム１００における文字列正規化部１１２は、上述のステップ１００で各レコードから抽出した検査名称の値すなわち文字列に対して、正規化ルール１０４に基づく文字の変換を実行する（ｓ１０２）。正規化ルール１０４の例としては、小文字を大文字に変換、半角文字を全角文字に変換、「」を（）に変換、といった文字種の統一化を図るルールを想定する。
【００３２】
次にデータ検索システム１００における文字列分割部１１３は、上述のステップｓ１０２で正規化ルール１０４に沿って文字変換を行った文字列、すなわち検査コードに対応した検査名称を示す各文字列を部分文字列たる要素（以下、要素）に分割する（ｓ１０３）。本実施形態においては、文字種の違いや所定辞書を利用した既存の形態素解析技術を利用し、文字列を要素ごとに分割することとする。
【００３３】
続いてデータ検索システム１００における部分表記ゆれ辞書生成部１３３は、上述までのステップでの処理対象となっているレコードにおいて、１つの検査事象に対応付けされていた複数の検査名称らを同義語として特定し、該当各検査名称を選出する（ｓ１０４）。また、部分表記ゆれ辞書生成部１１３は、上述のステップｓ１０４で選出した複数の検査名称間で、該当検査名称に関してステップｓ１０３で得ている要素を比較し、一致する要素の有無を判定する（ｓ１０５）。
【００３４】
例えば、検査名称１「β‐ＴＧ」と検査名称２「ｂ‐トロンボグロブリン」がステップｓ１０４で選出された場合、部分表記ゆれ辞書生成部１１３は、各検査名称が含む要素「β」、「‐」、「ＴＧ」、「ｂ」、「‐」、「トロンボグロブリン」（これらはステップｓ１０３で得ている）のうち一致するものとして「‐」の存在を特定する。
【００３５】
こうした判定の結果、複数の検査名称間で一致する要素が存在すると判明した場合（ｓ１０５：Ｙ）、部分表記ゆれ辞書生成部１１３は、該当検査名称の文字列のうち、検査名称間で一致する要素の前方の要素集合、および、一致する要素の後方の要素集合をそれぞれ特定する（ｓ１０６）。上述の例であれば、部分表記ゆれ辞書生成部１１３は、検査名称１「β‐ＴＧ」と検査名称２「ｂ‐トロンボグロブリン」の２つの検査名称に共通する要素「‐」より、検査名称１「β‐ＴＧ」については前方の要素たる文字列「β」を、検査名称２「ｂ‐トロンボグロブリン」については前方の要素たる文字列「ｂ」を特定する。また同様に、検査名称１「β‐ＴＧ」については後方の文字列「ＴＧ」を、検査名称２「ｂ‐トロンボグロブリン」については後方の文字列「トロンボグロブリン」をそれぞれ特定することとなる。なお、少なくとも一方の検査名称における（共通の要素から前方ないし後方の）要素数が０の場合は、該当検査名称に関して以降の処理対象から除外する。
【００３６】
続いて部分表記ゆれ辞書生成部１１３は、上述のステップｓ１０６で要素集合を特定した各検査名称に関して、その要素数を比較し、検査名称間で要素数が等しくない場合（ｓ１０７：Ｎ）、要素（部分文字列）の統合処理を行って、要素数が多い要素集合（上述の共通の要素より前方ないし後方の要素集合）の要素数を低減することで、上述の検査名称間で要素数を統一する（ｓ１０８）。部分表記ゆれ辞書生成部１１３は、どの要素を統合するかを、各要素や、各要素を組み合わせた文字列が部分表記ゆれ辞書１０２に存在するか否か等により判定する。例えば、「Ａ、Ｂ、Ｃ」の３つの要素を統合処理によって２つの要素とする場合、各要素「Ａ」、「Ｂ」、「Ｃ」が部分表記ゆれ辞書１０２に存在するか、また、要素同士を連結させ、文字列としての連続性を損なわない形とした文字列、例えば、「ＡＢ」、「ＢＣ」が部分表記ゆれ辞書１０２に存在するか否か判定する。
【００３７】
要素（部分文字列）、あるいは、要素を統合した文字列が部分表記ゆれ辞書１０２に存在する場合、部分表記ゆれ辞書生成部１１３は、部分表記ゆれ辞書１０２に存在する表記を優先する形で要素の統合処理を行う。例えば、文字列「ＡＢ」なる表記が部分表記ゆれ辞書１０２に存在する場合、要素「Ａ」、「Ｂ」、「Ｃ」のうち要素「Ａ」と要素「Ｂ」を統合して「ＡＢ」を生成し、この要素「ＡＢ」と残りの要素「Ｃ」の２つの要素とする。他方、要素や、要素を結合した文字列が部分表記ゆれ辞書１０２に存在しない場合、部分表記ゆれ辞書生成部１１３は、要素を連結させた場合に文字列としての連続性を損なわないように、複数の統合パターンを生成する。例えば、「Ａ」、「Ｂ」、「Ｃ」、「ＡＢ」、「ＢＣ」、「ＡＢＣ」がどれも部分表記ゆれ辞書１０２に存在しない場合、部分表記ゆれ辞書生成部１１３は、「ＡＢ、Ｃ」、「Ａ、ＢＣ」の２つのパターンを生成し、以降の処理を行う。
【００３８】
次に部分表記ゆれ辞書生成部１１３は、上述のステップｓ１０８まで得ている各検査名称における要素の位置関係、すなわち、同義語として選出し要素数を統一した各検査名称の間における要素の位置関係を利用して部分表記ゆれを判定し、当該判定により同義関係があるとした要素（共通する要素の前方ないし後方の部分文字列）同士を対応付けて記憶装置１１に格納し部分表記ゆれ辞書１０２を生成する（ｓ１０９）。当該ステップｓ１０９の具体的な説明を行う前に、部分表記ゆれ辞書１０２について説明する。
【００３９】
図６に部分表記ゆれ辞書１０２の一例を示す。部分表記ゆれ辞書１０２は、上述の要素に対応する部分文字列と、当該部分文字列のＩＤと、部分文字列の同義語と判定された他部分文字列（同義部分文字列）の部分文字列ＩＤとを格納している。同義部分文字列の部分文字列ＩＤは、１レコードに少なくとも１つ格納される。例えば、レコード３０１は、部分文字列「β」に対して、「ｂ」（部分文字列ＩＤ「０００２」と、「ベータ」（部分文字列ＩＤ「００１５」）が同義語として判定されたことを意味する。なお、部分表記ゆれ辞書１０２には、他のマスタ情報を用いて本実施形態のデータ検索方法を実行した結果得られた部分表記ゆれ情報を含んでもよい。
【００４０】
ステップｓ１０９における処理をステップｓ１０８で２つの要素集合「ＡＢ、Ｃ」と「Ｄ、Ｅ」が得られた場合を例として説明する。この場合、部分表記ゆれ辞書生成部１１３は、要素集合における各要素の位置関係（例：要素集合中すなわち文字列中における先頭要素同士、あるいは後端要素同士）から「ＡＢ」と「Ｄ」、「Ｃ」と「Ｅ」をそれぞれ同義語であると判定し、該当要素に応じた文字列を部分表記ゆれ辞書１０２に追加する。
【００４１】
この時、部分表記ゆれ辞書生成部１１３は、要素たる部分文字列「ＡＢ」ならびに「Ｄ」が部分表記ゆれ辞書１０２に登録されているか判定する。部分表記ゆれ辞書１０２に当該部分文字列が登録されていない場合、部分表記ゆれ辞書生成部１１３は、部分表記ゆれ辞書１０２に当該文字列を登録する。他方、部分表記ゆれ辞書１０２に当該部分文字列が登録されている場合、部分表記ゆれ辞書生成部１１３は、同義語関係があると判定した要素たる部分文字列が同義語として登録されているかを判定して、登録処理を行う。例えば、部分表記ゆれ辞書１０２において、文字列「Ｄ」の部分文字列ＩＤが、文字列「ＡＢ」の同義語ＩＤとして登録されているかを判定し、登録されていない場合、部分表記ゆれ辞書生成部１１３は、部分文字列「ＡＢ」の同義語ＩＤに文字列「Ｄ」の部分文字列ＩＤを追加する。同時に、文字列「ＡＢ」の部分文字列ＩＤが文字列「Ｄ」の同義語ＩＤとして部分表記ゆれ辞書１０２にて登録されているかを判定し、登録されていない場合、部分表記ゆれ辞書生成部１１３は、文字列「Ｄ」の同義語ＩＤに文字列「ＡＢ」の部分文字列ＩＤを追加する。部分表記ゆれ辞書生成部１１３は、以上の処理を、同義であると判定された文字列「Ｃ」と「Ｅ」に対しても行う。
【００４２】
部分表記ゆれ辞書生成部１１３は、以上のｓ１０４〜ｓ１０９の処理を全ての同義語の組み合わせに対して行う。例えば、同じ検査コードを持つ検査名称が３つ以上の場合は、当該検査名称の集合から２つ選択することで成り立つすべての組み合わせに対して、上述のｓ１０４〜ｓ１０９の処理を実行する。例えば、１レコード中から「ＴＧ」、「トリグリセリド」、「中性脂肪」の同じ意味を持つ３つの検査名称が得られる場合、部分表記ゆれ辞書生成部１１３は、「ＴＧ」と「トリグリセリド」、「トリグリセリド」と「中性脂肪」、「ＴＧ」と「中性脂肪」の３通りの組み合わせに対してｓ１０４〜ｓ１０９の処理を行う。
【００４３】
続いて、データ検索システム１００の表記ゆれ辞書生成部１１５による表記ゆれ辞書１０３の生成処理について説明する。表記ゆれ辞書生成部１１５は、部分表記ゆれ辞書１０２に登録した各要素、すなわち検査名称の文字列を構成する各部分文字列（要素）を、部分表記ゆれ辞書１０２に照合し、該当部分文字列に対応付けされた他部分文字列、すなわち同義部分文字列ＩＤに対応する要素を特定し、検査名称の各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、各パターンが示す文字列を、該当検査名称に対応する検査コードに対応付けて格納し、表記ゆれ辞書１０３を生成する。
【００４４】
ここでは、一例としてマスタ情報テーブル１０１において同義語とされている「β−ＴＧ」と「ｂ−トロンボグロブリン」（以降、これらを対象用語とする）の表記ゆれについてパターン生成を行う例について説明するものとする。表記ゆれ辞書生成部１１５は、上述の対象用語を構成する部分文字列のＩＤを部分表記ゆれ辞書１０２に照合し、対象用語を構成する部分文字列のＩＤに対応付けられている、同義部分文字列ＩＤを取得する（ｓ１１０）。例えば、対象用語「β−ＴＧ」の部分文字列「β」に着目すると、部分表記ゆれ辞書１０２にて取得するＩＤは、「β」の部分文字列ＩＤである「０００１」と、この「β」に対応付けされている同義部分文字列ＩＤである「０００２」、「００１５」、の計３つとなる。同様に、部分文字列「ＴＧ」に着目して部分表記ゆれ辞書１０２にて得られるＩＤは、「０００３」、「０００４」、「００３９」となる。
【００４５】
次に、表記ゆれ辞書生成部１１５は、表記ゆれ辞書１０３に登録する表記ゆれパターンを生成する（ｓ１１１）。具体的には、上述の対象用語に関してステップｓ１１０で得た、部分文字列ＩＤおよび同義部分文字列ＩＤを可能なだけ組み合わせることで、すべての表記ゆれパターンを作成する。この表記ゆれパターンは、組み合わせた部分文字列ＩＤおよび同義部分文字列ＩＤにそれぞれ対応した各文字列が連結された検査名称となる。すなわち、マスタ情報テーブル１０１に登録されている既存の検査名称から派生する可能性のある検査名称、をデータ検索システム１００において生成することになる。
【００４６】
従って、上述の表記ゆれパターンは、対象用語の各部分文字列に基づいて部分表記ゆれ辞書１０２から取得した部分文字列ＩＤおよび同義部分文字列ＩＤの数の積だけ作成される。例えば、対象用語を成す部分文字列「β」と部分文字列「ＴＧ」に基づいて部分表記ゆれ辞書１０２にて取得されるＩＤが、それぞれ３つであった場合、作成される表記ゆれパターンは図８における表６０１のように「３×３」で９つとなる。対象用語「β−ＴＧ」と同義語とされている「ｂ‐トロンボグロブリン」にも同様の処理を行うと、図９の表６０２のように６つの表記ゆれパターンが作成される。
【００４７】
続いて表記ゆれ辞書生成部１１５は、上述のステップ１１１で得られた表記ゆれパターンの確度レベルを判定し、表記ゆれ辞書１０３に登録する（ｓ１１２）。この場合、表記ゆれ辞書生成部１１５は、上述のステップｓ１１１で得た各表記ゆれパターンが示す、対象用語を成す部分文字列とこれの同義部分文字列、対象用語を成す部分文字列同士、対象用語を成す部分文字列に関する同義部分文字列同士、の各組について、マスタ情報テーブル１０１における登録状況ないし表記ゆれパターン間での共通性に応じて、該当パターンの信頼性指標となる確度レベルを判定し、当該確度レベルの値を該当パターンに対応付けて表記ゆれ辞書１０３に登録する。
【００４８】
例えば、表記ゆれパターンのうち表６０１における「０００１、０００３」に該当する「β‐ＴＧ」、同様に、表６０２における「０００２、０００４」に該当する「ｂ‐トロンボグロブリン」について、表記ゆれ辞書生成部１１５は、いずれもマスタ情報テーブル１０１のレコード中に含まれる名称であることを認識し、表記ゆれ辞書１０３における該当表記ゆれパターンのレコードにて確度レベル「１」の値を設定する。図１０にて、この確度レベル「１」の表記ゆれパターンについて集約した表６０３を例示している。
【００４９】
また表記ゆれ辞書生成部１１５は、上述の対象用語に基づいて作成した各表記ゆれパターンのいずれにも存在する表記ゆれパターンについては、表記ゆれ辞書１０３における該当表記ゆれパターンのレコードにて確度レベル「２」の値を設定する。例えば、「β‐ＴＧ」から作成した表記ゆれパターンと、「ｂ‐トロンボグロブリン」から作成した表記ゆれパターンのどちらにも存在する文字列、すなわち「β‐トロンボグロブリン」、「ｂ‐ＴＧ」については、確度レベル「２」の値が表記ゆれ辞書１０３に登録される。図１０にて、この確度レベル「２」の表記ゆれパターンについて集約した表６０４を例示している。
【００５０】
また、表記ゆれ辞書生成部１１５は、上述の対象用語に基づいて作成した各表記ゆれパターンのいずれか１つのみに存在する表記ゆれパターンについては、表記ゆれ辞書１０３における該当表記ゆれパターンのレコードにて確度レベル「３」の値を設定する。例えば、対象用語「β‐ＴＧ」と「ｂ‐トロンボグロブリン」から作成した表記ゆれパターンのうち、表６０１、６０２にて示すように、「β‐トリグリセリド」や「ｂ‐トリグリセリド」「ベータ‐ＴＧ」等、７つの表記ゆれパターンは、対象用語の一方のみについての表記ゆれパターン中にしか存在しないものであるため、それらは、確度レベル「３」となる。図１０にて、この確度レベル「３」の表記ゆれパターンについて集約した表６０５を例示している。
【００５１】
こうして生成される表記ゆれ辞書１０３の具体例について図７に示す。図７で例示する本実施形態の表記ゆれ辞書１０３は、検査コード、検査名称、および確度レベルの３つの属性値を含むレコードの集合体となっている。各レコードは、検査コードと検査名称と確度レベルを１つずつ格納する。上述した確度レベルは、上述のごとく作成した表記ゆれパターンのもっともらしさを示す指標である。本実施形態では、確度として、該当検査名称がマスタ情報テーブル１０１のレコード中に含まれている（確度レベル１）、マスタ情報テーブル１０１にて同義語とされている各対象用語から作成した表記ゆれパターンのいずれにも存在する表記ゆれパターン（確度レベル２）、同義語となる対象用語から作成した表記ゆれパターンのいずれか一つにのみ存在する表記ゆれパターン（確度レベル３）の３つの確度レベルを設定している。なお、表記ゆれ辞書１０３には、他のマスタ情報を用いて本実施形態のデータ検索方法を実行した結果得られた表記ゆれ情報を含んでもよい。また、本実施形態のデータ検索方法以外の手段、例えば、特許文献１の手段を用いて取得した同義語情報を含んでもよい。
【００５２】
−−−処理手順例２−−−
上記では、部分表記ゆれ辞書１０２と表記ゆれ辞書１０３の生成を行う処理までについて説明した。以降では、これら部分表記ゆれ辞書１０２や表記ゆれ辞書１０３を適宜利用し、ユーザからの検索要求に応じて網羅的な検索を実行する検索処理、すなわち、臨床データ１０５から検索ワードに合致するデータだけでなく、検索ワードと同義の用語すなわち表記ゆれに合致するデータをも出力する処理について説明する。図１１は、本実施形態におけるデータ検索方法の処理手順例２を示すフロー図である。ここでは、臨床データ１０５から、「β‐ＴＧ」の検査を行った患者の情報を抽出するという検索課題を例として説明する。
【００５３】
この場合、データ検索システム１００における文字列正規化部１１２は、例えばユーザ端末２００から受信した検索要求から検索ワード１０７を取得し、当該検索ワード１０７に対して正規化ルール１０４を適用して、上述のステップｓ１０２と同様の文字変換処理を行う（ｓ２００）。上述の処理手順例１と同様の処理については説明の重複を避けるため詳細は省略する（以下同様）。また、データ検索システム１００における文字列分割部１１３は、上述のステップｓ２００にて文字列正規化部１１２が正規化した検索ワードに対して、上述のステップｓ１０３と同様の文字列分割の処理を行う（ｓ２０１）。
【００５４】
また、データ検索システム１００における表記ゆれパターン生成部１１６は、検索ワード１０７を分割し特定した部分文字列を部分表記ゆれ辞書１０２に照合し、該当部分文字列に対応付けされた同義部分文字列を特定し、検索ワード１０７の各部分文字列と該当部分文字列に関して得た同義部分文字列とに関する組み合わせパターンを生成する（ｓ２０２）。なお、この処理フローにおいて、文字列分割部１１３と表記ゆれパターン生成部１１６の各処理は、文字列正規化部１１２で正規化された検索ワードが表記ゆれ辞書１０３に含まれる用語であった場合は省略可能である。
【００５５】
続いてデータ検索システム１００におけるデータ抽出部１１７は、上述のステップｓ２００で正規化された検索ワード、ならびに、ステップｓ２０２で表記ゆれパターン生成部１１６で生成された表記ゆれパターンが示す同義語（検索ワード１０７の同義語）、のそれぞれに基づき、臨床データ１０５で検索を実行してデータを抽出し、該当データを検索結果としてユーザ端末２００に出力する（ｓ２０３）。例えば、検索ワード１０７が「β‐ＴＧ」であった場合、「β‐ＴＧ」そのものと、表記ゆれ辞書１０３で「β‐ＴＧ」をキーに検索して当該「β‐ＴＧ」と同じ検査コード「１０００」を持つ他の検査名称と、上述のステップｓ２０２で得た表記ゆれパターンが示す用語とをそれぞれ検索キーとして臨床データ１０５にて検索を行い、この検索結果を出力する。
【００５６】
なお、上述のデータ抽出部１１７は、ステップｓ２０３の実行に際し、検索ワード１０７とその同義語の一覧（表記ゆれ辞書１０３から得たものと、検索ワード１０７から得たもの）を確度レベルの高い順に検索候補としてユーザ端末２００に返し、これを閲覧した検索者に実際に抽出する用語を選択させるとしてもよい。この場合、検索ワード１０７とその同義語の表示順序や表示範囲は、データ検索システム１００側で事前設定するとしてもよいし、検索者がユーザ端末２００を介してデータ検索システム１００にアクセスして設定するとしてもよい。例えば、マスタ情報テーブル１０１に登録された用語のみ、マスタ情報テーブル１０１に登録された用語と高確度の表記ゆれのみ、というように検索候補の表示範囲を設定することで、検索者の希望に合致した効率的な検索を行うことが可能になる。
【００５７】
また、データ検索システム１００は、検索ワード１０７として、スペース記号をはさんで複数の検索ワードの組みを受け付けた場合、複数の検索ワードに対してＡＮＤ検索を行うものとする。例えば、「トリグリセリド  ＬＤＬコレステロール」なる検索ワード１０７をユーザ端末２００から受信した場合、「トリグリセリド」と「ＬＤＬコレステロール」の各ワードについて上述の各ステップｓ２００〜ｓ２０３を実行し、各ワードのどちらも含むデータを検索結果としてユーザ端末２００に返す。
【００５８】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００５９】
こうした本実施形態によれば、表記ゆれを含む医療情報から分析対象の情報を精度良く抽出する際に効果的な、網羅的な同義語辞書を効率よく構築出来る。また、同義語辞書に登録した同義語の確度（同義語としての確からしさ、妥当性）をユーザに提示することも可能である。こうした同義語辞書を検索処理時に活用できることで、ユーザが指定した検索ワードに基づく同義語を踏まえた検索を実行し、検索結果の網羅性が向上することとなる。なお、同義語辞書に登録した語句であるが実際には存在しない同義語で上述の検索を実行しても、そもそも検索対象となるデータベースには含まれない語句のため、抽出されることがなく、検索結果の正しさに影響を与えない。
【００６０】
したがって本実施形態によれば、表記ゆれを含むデータに対する検索処理の網羅性が向上する。
【００６１】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記演算装置は、前記部分文字列を特定する処理に際し、各事象の前記マスタ情報を記憶装置より読み出し、マスタ情報が含む各表記を構成する文字列に所定の変換規則を適用し、該当文字列を成す文字を以降の処理に適した規定文字種に変換する正規化処理を実行し、当該正規化処理後の文字列を単語に分割して、各事象における各表記の部分文字列を特定するものである、としてもよい。
【００６２】
これによれば、マスタ情報が含む文字列において、大文字と小文字、半角と全角などといった文字種のゆれについて事前に統一すなわち正規化し、以降の部分文字列の特定や、部分表記ゆれ辞書および表記ゆれ辞書の生成等の各処理の精度や効率を向上させることが可能となる。
【００６３】
また、本実施形態のデータ検索システムにおいて、前記演算装置は、前記ゆれ辞書を生成する処理に際し、前記生成したパターンが示す、部分文字列と他部分文字列、部分文字列と部分文字列、他部分文字列と他部分文字列、のいずれかの組について、前記マスタ情報での登録状況ないしパターン間での共通性に応じて、該当パターンの信頼性指標となる確度レベルを判定し、当該確度レベルの値を該当パターンに対応付けて前記表記ゆれ辞書に登録する処理を更に実行するものである、としてもよい。
【００６４】
これによれば、表記ゆれの中でもその信頼性に差異がある点をユーザに明示し、各検索時の検索結果について確からしさを提示することが出来る。
【００６５】
また、本実施形態のデータ検索システムにおいて、前記演算装置は、前記検索要求に応じて前記所定データベースを検索して情報を出力する処理において、前記検索要求が示す検索ワードを単語に分割して、部分文字列を特定し、前記特定した部分文字列を前記部分表記ゆれ辞書に照合し、該当部分文字列に対応付けされた他部分文字列を特定し、前記検索ワードの各部分文字列と該当部分文字列に関して得た各他部分文字列とに関する組み合わせパターンを生成し、当該各パターンが示す文字列で所定データベースを検索して、当該検索で抽出した情報を出力装置ないし前記所定端末に出力する処理を実行するものである、としてもよい。
【００６６】
これによれば、検索ワードに関しても表記のゆれを考慮して同義語を生成し、検索ワードのみならずその同義語に関しても検索を実行することが可能となり、検索精度が更に高まることとなる。なお、検索ワードから得た同義語が、検索対象のデータベース中に存在しないものであっても、そうした同義語でデータベースの検索を行った場合、そもそもデータベースには含まれない語句のため、データ抽出がされず、検索結果の正しさに影響が生じることがない。
【符号の説明】
【００６７】
１１  記憶装置
１２  プログラム
１３  メモリ
１４  演算装置
１７  通信装置
２０  ネットワーク
１００  データ検索システム
１０１  マスタ情報テーブル
１０２  部分表記ゆれ辞書
１０３  表記ゆれ辞書
１０４  正規化ルール
１０５  臨床データ
１１１  マスタ情報読み込み部
１１２  文字列正規化部
１１３  文字列分割部
１１４  部分表記ゆれ辞書生成部
１１５  表記ゆれ辞書生成部
１１６  表記ゆれパターン生成部
１１７  データ抽出部
２００  ユーザ端末
２１  記憶装置
２２  プログラム
２３  メモリ
２４  演算装置
２５  入力装置
２６  出力装置
２７  通信装置
【図１】
2015106361.tif 000003
【図２】
2015106361.tif 000004
【図３】
2015106361.tif 000005
【図４】
2015106361.tif 000006
【図５】
2015106361.tif 000007
【図６】
2015106361.tif 000008
【図７】
2015106361.tif 000009
【図８】
2015106361.tif 000010
【図９】
2015106361.tif 000011
【図１０】
2015106361.tif 000012
【図１１】
2015106361.tif 000013