(57)【要約】【課題】ノイズが含まれる薬剤名の文字列に基づく検索において、適切な薬剤名の出力を行う薬剤名出力装置および薬剤名出力方法並びに薬剤名出力プログラムを提供する。【解決手段】検索対象の文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行う検索部１１と、検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが検索対象文字列に一致する部分の数に応じて定められる出現頻度を求め、出現頻度に基づいた信頼度を算出する処理を、検索結果の複数の薬剤名の各々に対して施して薬剤名の各々の信頼度を算出する評価部１２と、信頼度が高い順に薬剤名を出力する出力部１６とを備える。【選択図】図１
2018181370.tif 000002
【特許請求の範囲】
【請求項１】
検索対象文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行う検索部と、
前記検索部によって検索された検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが前記検索対象文字列に一致する部分の数、及び前記部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、前記出現頻度に基づいた信頼度を算出する処理を、前記検索結果の複数の薬剤名の各々に対して施して前記薬剤名の各々の前記信頼度を算出する評価部と、
前記信頼度が高い順に薬剤名を出力する出力部とを備えた薬剤名出力装置。
【請求項２】
前記検索部は、前記検索対象文字列を分割した部分文字列の組み合わせを検索クエリとして検索を行う請求項１記載の薬剤名出力装置。
【請求項３】
前記検索対象文字列がＯＣＲによって取得された文字列であり、
前記類似した部分文字列が、前記部分文字列のうちＯＣＲによる誤認識が生じやすい文字に対して推定される他の文字を当て嵌めた新たな部分文字列である請求項１または２に記載の薬剤名出力装置。
【請求項４】
前記評価部において算出された信頼度に基づいて、追加検索が必要か否かを判定する追加検索要否判定部をさらに備え、
前記検索部が、前記追加検索要否判定部において前記追加検索が必要であると判定された場合には、前記検索対象文字列に基づく前記追加検索を行い、
最初の前記検索の検索結果と前記追加検索の結果とを合併統合する検索結果統合部をさらに備えた請求項１から３のいずれか１項に記載の薬剤名出力装置。
【請求項５】
前記評価部が、前記部分文字列の出現頻度が高い前記検索結果の薬剤名から順に並べ、前記検索結果の薬剤名の数が予め設定された閾値よりも多い場合には、予め設定された数の下位の順位の前記検索結果の薬剤名を最初の前記検索の検索結果から除外する請求項４記載の薬剤名出力装置。
【請求項６】
前記追加検索要否判定部が、前記部分文字列の出現頻度が最も高い前記検索結果の薬剤名を取得し、該取得した薬剤名の前記部分文字列が前記検索対象文字列の中に含まれる割合が予め設定された閾値より大きい場合には、前記追加検索は不要と判定し、前記割合が閾値以下である場合には、前記追加検索が必要であると判定する請求項５記載の薬剤名出力装置。
【請求項７】
最初の前記検索に用いられる前記検索対象文字列に基づく検索クエリと前記追加検索に用いられる前記検索対象文字列に基づく検索クエリとが異なる請求項４から６いずれか１項に記載の薬剤名出力装置。
【請求項８】
薬剤名出力装置が、
検索対象文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行い、
前記検索による検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが前記検索対象文字列に一致する部分の数、及び前記部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、前記出現頻度に基づいた信頼度を算出する処理を、前記検索結果の複数の薬剤名の各々に対して施して前記薬剤名の各々の前記信頼度を算出し、
前記信頼度が高い順に薬剤名を出力することを特徴とする薬剤名出力方法。
【請求項９】
コンピュータを、
検索対象文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行う検索部と、
前記検索部によって検索された検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが前記検索対象文字列に一致する部分の数、及び前記部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、前記出現頻度に基づいた信頼度を算出する処理を、前記検索結果の複数の薬剤名の各々に対して施して前記薬剤名の各々の前記信頼度を算出する評価部と、
前記信頼度が高い順に薬剤名を出力する出力部として機能させることを特徴とする薬剤名出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、薬剤名の検索対象の文字列を受け付け、その文字列を用いてデータ記憶部を参照することによって薬剤名の出力を行う薬剤名出力装置および薬剤名出力方法並びに薬剤名出力プログラムに関するものである。
【背景技術】
【０００２】
従来、文字列検索が広く一般に利用されている。多く場合、ユーザは検索クエリとして文字列を手動入力し、検索サーバからの回答を得る。その際、検索クエリの文字列は、スペルミス等といった多少のあいまいさは含むが、多量または大きな誤りは含まないことが前提とされている。
【０００３】
上記のような多少のあいまいさについては、たとえば正規化処理や編集距離などを用いた近傍探索によって解消され、適切な検索を行うことができる。なお、正規化処理は、検索クエリを予め定められた統一形式に変換する処理であり、たとえば「行った」から「行く」への変換や「apples」から「apple」への変換といった語尾の変換処理や、「ダイヤモンド」を「ダイアモンド」に変換する表記の揺れを修正する処理や、「Apple」を「apple」に変換する大文字または小文字への統一化処理や、「ａｐｐｌｅ」を「apple」に変換する半角または全角への統一化処理などがある。
【０００４】
また、編集距離などを用いた近傍探索は、編集距離などによって語の類似度を計測し、検索クエリに近い語を含む検索結果を出力する。たとえば、編集距離「1」まで許容すれば、検索クエリから1文字違いの語の集合を得ることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１３３５３９号公報
【特許文献２】特開平１０−２４０８７０号公報
【特許文献３】特開平７−１５２８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、今後は、上述したような手動入力以外の入力方法（画像または音声）が広がるものと想定されるが、画像に基づくＯＣＲ（optical character recognition）の結果や音声認識の結果では、多量でかつ人間が起こしえないような、誤りおよびノイズを含み、有意義な検索結果を得られない恐れがある。特に、広告や包装などでは、特殊な書体、意匠またはロゴを含み、ＯＣＲを適切に行うことが難しい。その結果、たとえばノイズを含んだ認識結果をAND検索すれば該当無し、ノイズを含んだ認識結果をOR検索すれば無意味な結果を大量に得ることになる。
【０００７】
上述した正規化処理は、検索クエリに多量でかつ人間が起こしえないような誤りがないことが前提であるため、ＯＣＲの結果などを検索に用いたとしても適切な検索を行うことができない。
【０００８】
また、上述した編集距離などを用いた近傍探索は、編集距離に対し、その集合の大きさ（語の数）は指数的に増大し、検索に要する時間も増える。ＯＣＲの結果など誤り箇所が限定的と仮定できない場合、単純適用は困難である。
【０００９】
特許文献１においては、ノイズを含むＯＣＲの結果を検索対象として、検索文字列をクラスタリングして特徴ベクトルを算出し、検索対象の特徴ベクトルと照合することによりあいまい検索を実現する方法が提案されている。
【００１０】
しかしながら、特許文献１の方法では、特徴ベクトル生成へのノイズの影響を抑制するために入力文字列および検索文字列以外の情報を必要とするため、ノイズの影響の抑制が難しい。
【００１１】
また、特許文献２においては、ＯＣＲの結果の文字列を単語毎に区切り、その単語の出現回数を集計し、その出現回数によって認識結果の妥当性をチェックすることによって単語の認識率を向上させることが開示されているが、大量の単語を含む文書におけるＯＣＲの精度を上げる方法であり、ＯＣＲの結果に基づく検索文字列に多くのノイズを含む場合に適切な検索を行うのは難しい。また、特許文献３には、２回の異なる文字認識結果を総合して基本ツリー辞書により判定することによりＯＣＲの結果の文字列の文字認識率を向上させることが提案されているが、ＯＣＲの結果に基づく検索文字列に多くのノイズを含む場合に適切な検索を行うのは難しい。
【００１２】
本発明は、上記の問題に鑑み、薬剤名にノイズが含まれる文字列に基づく検索において、適切な薬剤名の出力を行うことができる薬剤名出力装置および薬剤名出力方法並びに薬剤名出力プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の薬剤名出力装置は、検索対象文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行う検索部と、検索部によって検索された検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが検索対象文字列に一致する部分の数、及び部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、出現頻度に基づいた信頼度を算出する処理を、検索結果の複数の薬剤名の各々に対して施して薬剤名の各々の信頼度を算出する評価部とを備えることを特徴とする。
【００１４】
また、検索部は、検索対象文字列を分割した部分文字列の組み合わせを検索クエリとして検索を行う。
【００１５】
また、検索対象文字列がＯＣＲによって取得された文字列であり、類似した部分文字列が、部分文字列のうちＯＣＲによる誤認識が生じやすい文字に対して推定される他の文字を当て嵌めた新たな部分文字列である。
【００１６】
また、本発明の薬剤名出力装置においては、評価部において算出された信頼度に基づいて、追加検索が必要か否かを判定する追加検索要否判定部をさらに設け、検索部は、追加検索要否判定部において追加検索が必要であると判定された場合には、検索対象文字列に基づく追加検索を行い、最初の検索の検索結果と追加検索の結果とを合併統合する検索結果統合部をさらに設けることができる。
【００１７】
また、評価部は、部分文字列の出現頻度が高い検索結果の薬剤名から順に並べ、検索結果の薬剤名の数が予め設定された閾値よりも多い場合には、予め設定された数の下位の順位の検索結果の薬剤名を最初の検索の検索結果から除外することができる。
【００１８】
また、追加検索要否判定部は、部分文字列の出現頻度が最も高い検索結果の薬剤名を取得し、その取得した薬剤名の部分文字列が検索対象文字列の中に含まれる割合が予め設定された閾値より大きい場合には、追加検索は不要と判定し、上記割合が閾値以下である場合には、追加検索が必要であると判定することができる。
【００１９】
また、最初の検索に用いられる検索対象文字列に基づく検索クエリと追加検索に用いられる検索対象文字列に基づく検索クエリとは異なっていてもよい。
【００２０】
本発明の薬剤名出力方法は、薬剤名出力装置が、検索対象文字列を用いて、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行い、検索による検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが検索対象文字列に一致する部分の数、及び部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、出現頻度に基づいた信頼度を算出する処理を、検索結果の複数の薬剤名の各々に対して施して薬剤名の各々の信頼度を算出し、信頼度が高い順に薬剤名を出力することを特徴とする。
【００２１】
本発明の薬剤名出力プログラムは、コンピュータを、薬剤名が記憶されたデータ記憶部を参照して薬剤名の検索を行う検索部と、検索部によって検索された検索結果である複数の薬剤名のいずれか１つの薬剤名を表す文字列を分割して生成した部分文字列のいずれかが検索対象文字列に一致する部分の数、及び部分文字列の各々に類似する部分文字列と一致する部分の数に応じて定められる出現頻度を求め、出現頻度に基づいた信頼度を算出する処理を、検索結果の複数の薬剤名の各々に対して施して薬剤名の各々の信頼度を算出する評価部と、信頼度が高い順に薬剤名を出力する出力部として機能させることを特徴とする。
【発明の効果】
【００２２】
本発明の薬剤名出力装置および薬剤名出力方法並びに薬剤名出力プログラムによれば、薬剤名にノイズを含む短い文字列から適切な薬剤名の出力を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の文字列検索装置の一実施形態を用いた検索システムの概略構成を示す図
【図２】本発明の文字列検索装置の一実施形態を用いた検索システムの作用を説明するためのフローチャート
【図３】最初の検索結果の評価方法を説明するためのフローチャート
【図４】検索対象の文字列と検索結果の文字列との照合を説明するための図
【図５】光電的に読み取られるＰＴＰ(Press Through Package)の一例を示す図
【図６】図１に示す検索システムを薬剤検査システムに適用した場合における検索結果の表示例を示す図
【発明を実施するための形態】
【００２４】
以下、本発明の文字列検索装置および方法並びにプログラムの一実施形態を用いた検索システムについて、図面を参照しながら詳細に説明する。図１は、本実施形態の検索システムの概略構成を示す図である。
【００２５】
本実施形態の検索システムは、図１に示すように、文字列検索装置１と、ＯＣＲ（Optical Character Recognition）装置２と、データベース装置３（本発明のデータ記憶部に相当する）と、ディスプレイ４とを備えている。
【００２６】
文字列検索装置１は、コンピュータに対して本発明の文字列検索プログラムの一実施形態がインストールされたものである。
【００２７】
文字列検索装置１は、ＣＰＵ（Central Processing Unit）（中央処理装置）、半導体メモリおよびハードディスクなどを備えており、ハードディスクに本発明の文字列検索プログラムの一実施形態がインストールされている。そして、この文字列検索プログラムがＣＰＵを有する制御部１７によって実行されることによって、図１に示すような文字列受付部１０、検索部１１、評価部１２、追加検索要否判定部１３、検索結果統合部１４、記憶部１５および出力部１６が動作する。
【００２８】
文字列受付部１０は、検索対象の文字列を受け付けるものである。具体的には、本実施形態の文字列受付部１０は、ＯＣＲ装置２から出力されたＯＣＲの結果である文字列を受け付けるものである。ＯＣＲ装置２は、文字列を含む読取対象を光電的に読み取った画像データに対して文字認識処理を施し、これにより画像データに含まれる文字列を認識して出力するものである。文字認識処理としては既に公知の処理が施されるが、この文字認識処理の際、文字以外の記号、マークまたは模様などが誤認識され、実際の文字認識処理の結果にはノイズが含まれている。本実施形態では、このような誤認識による雑多なノイズを多量に含む、相当程度長い文字列が文字列受付部１０によって受け付けられることを想定している。
【００２９】
検索部１１は、文字列受付部１０によって受け付けられた文字列が入力され、その文字列を用いてデータベース装置３に記憶されているデータを参照することによって検索を行うものである。本実施形態の検索部１１は、文字列受付部１０によって受け付けられた文字列、すなわちＯＣＲの結果をそのまま用いるのではなく、この文字列から検索クエリを生成し、その検索クエリを用いてデータベース装置３に記憶されているデータの検索を行う。検索クエリの生成方法としては、たとえば文字列を分割して部分文字列とし、この部分文字列のANDを検索クエリとすることができる。文字列の分割方法としては、たとえばN-Gram分割を用いることができる。なお、検索クエリの生成方法としては、上述したような方法に限らず、その他の公知な方法を用いることができる。
【００３０】
また、検索部１１における検索アルゴリズムについては、既に公知の検索アルゴリズムを用いることができる。
【００３１】
評価部１２は、検索部１１によって最初に検索された検索結果の文字列および文字列受付部１０によって受け付けられた検索対象の文字列が入力され、その入力された検索結果の文字列と検索対象の文字列とを照合して検索結果の文字列を評価するものである。なお、検索結果の文字列の評価方法については、後述する。
【００３２】
追加検索要否判定部１３は、評価部１２における検索結果の文字列の評価結果に基づいて、検索対象の文字列の追加検索が必要か否かを判定するものである。この追加検索は、文字列受付部１０によって受け付けられた検索対象の文字列に基づく追加の検索である。したがって、最初に行った検索とは異なる検索結果が得られるような検索が行われる。
【００３３】
具体的には、たとえば最初の検索に用いた検索クエリとは異なる検索クエリを用いて検索を行うか、または最初の検索に用いた検索アルゴリズムとは異なる検索アルゴリズムを用いるなどすればよい。最初の検索に用いた検索クエリとは異なる検索クエリとしては、たとえば、最初の検索に用いた検索クエリとは、あいまい度が異なる検索クエリを用いることができる。より具体的には、たとえばＯＣＲの読取対象の文字列が「アシタ」であり、最初の検索に用いた検索クエリが、「アシ AND シタ」である場合、追加検索の検索クエリは、「アシ ORシタ」とすればよい。なお、あいまい度が異なる検索クエリの生成方法としては、これに限らず、その他の公知な手法を用いることができる。
【００３４】
また、最初に行った検索に用いた検索アルゴリズムとは異なる検索アルゴリズムとして、は、たとえば検索履歴を参照するものを用いることができる。
【００３５】
なお、追加検索の要否の判定方法については、後述する。
【００３６】
追加検索要否判定部１３における判定結果は検索部１１に出力され、検索部１１は、追加検索を行う必要があるとの判定結果である場合には上述した追加検索を行い、追加検索を行う必要がないとの判定結果である場合には、上述した追加検索を行うことなく、最初の検索の検索結果を記憶部１５に出力して記憶させる。
【００３７】
検索結果統合部１４は、検索部１１における最初の検索の検索結果と、上述した追加検索の検索結果とを合併統合するものである。上述した追加検索を行うのは、評価部１２において最初の検索の検索結果が充分でないと評価された場合であるが、追加検索の検索結果が最初の検索結果よりも良い結果であるとは限らないため、本実施形態においては、最初の検索の検索結果と追加検索の検索結果とを合併統合することによって、最初の検索結果も破棄することなく有効利用する。なお、この合併統合においては、最初の検索の検索結果と追加検索の検索結果とで重複する場合には、その重複は除外する。
【００３８】
記憶部１５は、半導体メモリおよびハードディスクなどのストレージデバイスから構成されるものであり、検索部１１における最初の検索の検索結果、検索結果統合部１４において合併統合された検索結果および評価部１２における評価結果などが記憶されるものである。
【００３９】
出力部１６は、記憶部１５に記憶された最初の検索の検索結果、合併統合された検索結果および評価結果などを読み出してディスプレイ４に出力して表示させるものである。
【００４０】
制御部１７は、上述したようにＣＰＵを有するものであり、本実施形態の文字列検索プログラムに基づいて文字列検索装置１全体を制御するものである。
【００４１】
データベース装置３は、検索対象の文字列に関連するデータが記憶されたものである。具体的には、たとえば種々の薬剤名が記憶されている。そして、薬剤名が印字された薬剤の包装を光電的に読み取ってＯＣＲ装置２により認識された文字列が検索対象の文字列として用いられ、データベース装置３に記憶された種々の薬剤名との照合および検索が行われる。なお、データベース装置３に記憶されるデータは薬剤名に限らず、用途に応じて種々のデータが記憶される。
【００４２】
次に、本実施形態の検索システムの作用について、図２に示すフローチャートを参照しながら説明する。
【００４３】
まず、文字認識処理によって認識された文字列が検索対象の文字列としてＯＣＲ装置２から出力され、文字列受付部１０によって受け付けられる（Ｓ１０）。
【００４４】
文字列受付部１０によって受け付けられた検索対象の文字列は検索部１１に出力され、検索部１１は、入力された検索対象の文字列から検索クエリを生成し、その検索クエリを用いてデータベース装置３に記憶されているデータを参照することによって最初の検索を行う（Ｓ１２）。
【００４５】
そして、検索部１１における最初の検索結果は評価部１２に出力され、評価部１２は、入力された検索結果の評価を行う。このように検索結果の評価を行うのは、ＯＣＲの結果はノイズを含むため、最初の検索で用いた検索クエリも適切でない場合があり、すなわち最初の検索結果も適切でない可能性があるからである。以下、最初の検索結果の評価方法について、図３に示すフローチャートを参照しながら詳細に説明する。また、図４は、最初の検索結果の評価における検索対象の文字列と検索結果の文字列との照合を説明するための図である。
【００４６】
まず、評価部１２は、文字列受付部１０によって受け付けられた検索対象の文字列、すなわちノイズを含んだ状態のＯＣＲの結果を取得し、かつｊ＝０に設定する（Ｓ３０）。ｊは０≦ｊ＜Ｍであり、Ｍは最初の検索結果の件数である。
【００４７】
次に、評価部１２は、最初の検索結果の１つであるＳ[ｊ]（０≦ｊ＜Ｍ）を取り出し、そのＳ[ｊ]に対し、正規化処理とN-Gramによる文字列の分割処理を施し、部分文字列を生成する（Ｓ３２）。この際に生成された部分文字列の数をＮ、各部分文字列をＰ[ｉ]（０≦ｉ＜Ｎ）とし、ｉ＝０に設定する。また、カウンタｒをｒ＝０に設定し、カウンタｆをｆ＝０に設定する。
【００４８】
なお、正規化処理は、検索対象の文字列または検索クエリを予め設定された統一形式に揃える処理であり、上述したように、語尾変化を統一された形式に変換したり、表記揺れを修正したり、大文字または小文字への統一化処理、半角または全角への統一化処理などである。
【００４９】
そして、評価部１２は、部分文字列Ｐ[ｉ]を取り出し（Ｓ３４）、Ｓ３０で取得された検索対象の文字列の中にＰ[ｉ]と一致する部分があるか否かを判定し、一致する部分がある場合には、カウンタrをｒ＝ｒ＋１とする（Ｓ３６）。なお、この判定の際、Ｐ[ｉ]に一致する部分だけなく、Ｐ[ｉ]に類似する部分文字列群と一致する部分があるか否かを判定するようにしてもよい。具体的には、たとえばＯＣＲ装置２において、「シ」と「ツ」の誤認識が生じやすい場合には、「アシ」という部分文字列だけでなく、「アシ」および「アツ」を部分文字列群とし、これらの部分文字列と一致する部分があるか否かを判定するようにすればよい。なお、以下、このような部分文字列群の生成を文字列展開という。
【００５０】
次いで、評価部１２は、検索対象の文字列の中にＰ[ｉ]と一致する部分が何箇所あるかを計測する（Ｓ３８）。そして、Ｐ[ｉ]と一致する部分の数がｃである場合には、ｆ＝ｆ＋ｃとする。なお、この際、Ｓ３６と同様に、文字列展開を行ってもよい。
【００５１】
そして、ｉ＝ｉ＋１に設定し、ｉ＜Ｎであるか否かを判定し、ｉ＜Ｎである場合には、Ｓ３４〜Ｓ４０までの処理を繰り返す（Ｓ４２，ＹＥＳ）。すなわち、全ての部分文字列Ｐ[ｉ]について、検索対象の文字列の中に含まれているか否かを判定してｒをカウントし、さらに検索対象の文字列の中にＰ[ｉ]と一致する部分が何箇所あるかを計測してｆをカウントする。
【００５２】
Ｓ４２においてｉ＜Ｎでないと判定された場合にはＳ４４に進み、評価部１２は、検索対象の文字列に含まれていた部分文字列の割合を算出する。具体的には、Ｓ[ｊ]に関する指標として、Ｒ[ｊ]＝ｒ/Ｎを算出し、これを記憶部１５に記憶する。
【００５３】
さらに、評価部１２は、検索対象の文字列に含まれていた部分文字列の出現頻度を算出する（Ｓ４６）。具体的には、Ｓ[ｊ]に関する指標として、Ｆ[ｊ]＝ｆ/Ｎを算出し、これを記憶部１５に記憶する。
【００５４】
そして、評価部１２は、ｊ＝ｊ＋１に設定し、ｊ＜Ｍであるか否かを判定し、ｊ＜Ｍである場合には、Ｓ３２〜Ｓ４８までの処理を繰り返す（Ｓ５０，ＹＥＳ）。すなわち、最初の検索結果Ｓ[ｊ]の全てについて、評価の指標であるＲ[ｊ]およびＦ[ｊ]を算出し、これらを記憶部１５に記憶する。なお、本実施形態においては、このＲ[ｊ]およびＦ[ｊ]が、本発明における信頼度に相当するものである。
【００５５】
一方、Ｓ５０においてｊ＜Ｍでない場合にはＳ５２に進み、評価部１２は、最初の検索結果であるＳ[ｋ]（０≦ｋ＜Ｍ）をＦ[ｋ]の降順に並べる。すなわち、評価部１２は、出現頻度の指標であるＦ[ｋ]の高い順にＳ[ｋ]を並べる。そして、評価部１２は、たとえば最初の検索結果の数Ｍが、予め設定された閾値よりも大きい場合には、Ｆ[ｋ]の値が相対的に小さい下位の検索結果を検索結果から除外することによって最初の検索結果の絞り込みを行う。なお、除外対象となる検索結果の数は、予めユーザによって設定される。評価部１２は、絞り込まれた検索結果を記憶部１５に記憶する。
【００５６】
以上が、評価部１２における最初の検索の検索結果の評価方法の説明である。
【００５７】
次に、図２に戻り、Ｓ１４において、上述したように評価部１２における最初の検索結果の評価が終了した後、追加検索要否判定部１３において、上述した追加検索が必要か否かが判定される（Ｓ１６）。具体的には、追加検索要否判定部１３は、図３に示すＳ５２において、Ｆ[ｋ]の高い順に並べられたＳ[ｋ]のうち、最も高い順位の検索結果の文字列であるＳ[ｍ]に関するＲ[ｍ]を記憶部１５から読み出し、そのＲ[ｍ]を予め設定された閾値と比較し、Ｒ[ｍ]が閾値よりも大きい場合には、追加検索不要と判定する（Ｓ１６，ＮＯ）。この場合、上述したように最初の検索結果を絞り込んだ検索結果を記憶部１５から読み出して出力部１６に出力する。なお、このように出現頻度の指標であるＦ[ｋ]のみによって追加検索の要否を判定するのではなく、部分文字列が存在する割合の指標であるＲ[ｍ]も考慮して追加検索の要否を判定するには、Ｆ[ｋ]のみで判定したのでは、一部の部分文字列の出現頻度だけが高い場合があり得るからである。Ｒ[ｍ]も考慮することによって、部分文字列の多くが検索対象の文字列に含まれているかを確認することができる。
【００５８】
一方、追加検索要否判定部１３は、Ｒ[ｍ]が閾値以下である場合には、追加検索が必要であると判定する（Ｓ１６，ＹＥＳ）。そして、追加検索要否判定部１３において追加検索が必要であると判定された場合には、その旨が検索部１１に出力され、検索部１１は、上述したような追加検索を行い、その検索結果は記憶部１５に記憶される（Ｓ１８）。
【００５９】
このように２段階で検索を行うことによって、最初の検索では、冗長な検索結果の発生を抑制することができ、追加検索では、より広い検索結果を得ることができる。
【００６０】
そして、追加検索の後、検索結果統合部１４は、追加検索の検索結果と絞り込まれた最初の検索結果とを記憶部１５から読み出してこれらを合併統合し、その合併統合した検索結果を記憶部１５に記憶する（Ｓ２０）。
【００６１】
次いで、合併統合された検索結果が評価部１２によって読み出され、評価部１２は、合併統合された検索結果について、上述した最初の検索結果の評価と同様にして、部分文字列を検索対象の文字列とを照合することによって評価を行う。
【００６２】
そして、合併統合された検索結果の各文字列について、たとえばＦ[ｊ]を算出し、これに基づいて各文字列のスコアリングを行う。
【００６３】
そして、各文字列とそのスコアは記憶部１５に記憶された後、出力部１６によって読み出され、たとえばスコアが高い順に並べられてディスプレイ４に表示される。この際、合併統合された検索結果の全ての文字列を並べて表示するようにしてもよいし、スコアが最も高い文字列だけを表示させるようにしてもよいし、予め設定された数の上位のスコアの文字列だけを表示させるようにしてもよい。
【００６４】
次に、上記した検索システムを薬剤検査システムに適用した例について説明する。薬剤検査システムは、患者に処方された薬剤が、医師の処方箋にしたがった正しいものであるか否かを検査するシステムである。
【００６５】
具体的には、この薬剤検査システムにおいては、患者に渡される薬剤の包装に印字された薬剤名、製薬会社名および薬剤の量などを含む文字列が光電的に読み取られ、その読み取られた画像データが検索システムのＯＣＲ装置２に入力される。薬剤の包装としては、たとえばＰＴＰ(Press Through Package)などがある。図５は、光電的に読み取られるＰＴＰの一例を示すものである。図５においては、薬剤名のみが複数個所に印字されているが、実際は、上述したように製薬会社名、薬剤の量またはマークなどが印字されている場合もある。
【００６６】
そして、ＯＣＲ装置２において、画像データに対して文字認識処理が施され、画像データ内に含まれる文字列が取得される。なお、図５に示すように画像データ内の複数箇所に薬剤名が印字されている場合には、これらの文字列を繋げて１つの文字列として検索を行ってもよいし、個別の文字列として検索を行ってもよい。
【００６７】
そして、その取得された文字列が、文字列検索装置１に入力され、文字列検索装置１は、入力された文字列を用いて上述した検索、評価および追加検索などを行う。この際、データベース装置３には多数の薬剤名のデータが記憶されており、文字列検索装置１は、入力された文字列とデータベース装置３に記憶された多数の薬剤名とを照合することによって検索および追加検索を行う。
【００６８】
そして、文字列検索装置１による検索結果について、上述したようにそれぞれスコアが算出され、たとえば図６に示すようにスコアが高い順に薬剤名が上から表示される。薬剤検査システムに対して医師の処方箋に従った薬剤名を予め設定入力しておき、薬剤検査システムにおいて、設定入力された薬剤名と検索結果の最も高いスコアの薬剤名とを比較することによって患者に渡された薬剤が正しいものか否かを判定する。そして、正しい薬剤である場合には、検査ＯＫの表示が行われ、正しい薬剤でない場合や検索された薬剤がない場合には、目視による確認を促す等の表示が行われる。なお、検索結果の薬剤名の表示と処方箋の薬剤名の表示のみを行い、判定については、ユーザが行うようにしてもよい。      
【００６９】
なお、上述したように薬剤検査システムに上記実施形態の検索システムを適用する場合、たとえば追加検索に用いるデータベース装置を、最初の検索に用いたデータベース装置とは異なるデータベース装置としてもよい。具体的には、予め記憶されている薬剤の種類数が異なるデータベース装置を用いてもよい。
【００７０】
また、上記実施形態の検索システムにおいては、文字列受付部１０がＯＣＲ装置２から出力された文字列を受け付けるようにしたが、ＯＣＲ装置に限らず、たとえば音声認識処理によって取得された文字列を取得するようにしてもよい。すなわち、ＯＣＲや音声認識によって取得された文字列のようにノイズを含むような文字列であれば如何なる文字列でもよく、このような文字列の場合に、本発明の効果が顕著に表れる。もちろん、文字列受付部１０によってノイズを含まない文字列を受け付けてもよい。
【００７１】
また、上記実施形態の検索システムの説明では、追加検索を一回行うようにしたが、合併統合した検索結果の評価結果に基づいて、追加検索を２回以上行うようにしてもよい。
【符号の説明】
【００７２】
１     文字列検索装置
２     ＯＣＲ装置
３     データベース装置
４     ディスプレイ
１０   文字列受付部
１１   検索部
１２   評価部
１３   追加検索要否判定部
１４   検索結果統合部
１５   記憶部
１６   出力部
１７   制御部
【図１】
2018181370.tif 000003
【図２】
2018181370.tif 000004
【図３】
2018181370.tif 000005
【図４】
2018181370.tif 000006
【図５】
2018181370.tif 000007
【図６】
2018181370.tif 000008