(57)【要約】【課題】  検索語に応じて適切な検索方式を自動的に選択することにより、性能の高い医療テキスト検索を実現する。【解決手段】  検索語入力部１により検索語が取得されると、検索方式決定部２は、判定用文字リスト保持部４を照会して検索語に判定用文字が含まれているか否かを判定する。検索語に判定用文字が含まれていると判定された場合には、テキスト検索の方式をＮ−ｇｒａｍ方式（ただし、Ｎ＝１）に決定する。一方、検索語に判定用文字が含まれていないと判定された場合には、形態素解析辞書保持部５を照会して形態素解析辞書に検索語のエントリーが存在するか否かを判定し、検索語のエントリーが存在すると判定された場合は形態素解析方式に決定し、検索語のエントリーが存在しないと判定された場合はＮ−ｇｒａｍ方式（ただし、Ｎ＝検索語の文字数）に決定する。【選択図】  図１
2009223852.tif 000002
【特許請求の範囲】
【請求項１】
文字列を１以上の文字数の文字単位に区切って検索を行う第１の検索手段と、
文字列を単語単位に区切って検索を行う第２の検索手段と、
１文字からなる判定用文字を記憶する第１の記憶手段と、
医療に関する電子文書の検索に用いられる検索語を取得する取得手段と、
前記取得手段により取得された検索語に前記第１の記憶手段により記憶されている判定用文字が含まれるか否かを判定する第１の判定手段と、
前記第１の判定手段により検索語に判定用文字が含まれると判定された場合には、前記第１の検索手段により文字列を１文字の文字単位に区切って行う検索を実行させ、前記第１の判定手段により検索語に判定用文字が含まれないと判定された場合には、前記第２の検索手段により文字列を単語単位に区切って行う検索を実行させるように制御する制御手段と、
を備えたことを特徴とする検索装置。
【請求項２】
前記検索装置は、
前記第２の検索手段により文字列を単語単位に区切るときに用いられる単語辞書を記憶する第２の記憶手段と、
前記取得手段により取得された検索語が前記第２の記憶手段により記憶されている単語辞書に含まれるか否かを判定する第２の判定手段と、を備え、
前記制御手段は、前記第１の判定手段により検索語に判定用文字が含まれると判定された場合であっても、前記第２の判定手段により検索語が単語辞書に含まれないと判定された場合には、前記第１の検索手段により文字列を当該検索語の文字数の文字単位に区切って行う検索を実行させるように制御することを特徴とする請求項１に記載の検索装置。
【請求項３】
前記判定用文字は、その語義の数が所定数より少ない文字であることを特徴とする請求項１又は請求項２に記載の検索装置。
【請求項４】
コンピュータに、
文字列を１以上の文字数の文字単位に区切って検索を行う第１の検索機能と、
文字列を単語単位に区切って検索を行う第２の検索機能と、
１文字からなる判定用文字を記憶する第１の記憶機能と、
医療に関する電子文書の検索に用いられる検索語を取得する取得機能と、
前記取得機能により取得された検索語に前記第１の記憶機能により記憶されている判定用文字が含まれるか否かを判定する第１の判定機能と、
前記第１の判定機能により検索語に判定用文字が含まれると判定された場合には、前記第１の検索機能により文字列を１文字の文字単位に区切って行う検索を実行させ、前記第１の判定機能により検索語に判定用文字が含まれないと判定された場合には、前記第２の検索機能により文字列を単語単位に区切って行う検索を実行させるように制御する制御機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト検索に用いる検索方式を制御する検索装置およびプログラムに関する。
【背景技術】
【０００２】
データベース等に蓄積された多数のテキスト（電子文書）から利用者に指定された検索語を含むテキストを検索するにあたり、一般的に用いられる主な全文検索アルゴリズムとして、形態素解析を利用する方式（以下、形態素解析方式）と、統計情報（Ｎ−ｇｒａｍ）を利用する方式（以下、Ｎ−ｇｒａｍ方式）の２種類がある。
形態素解析方式は、単語区切りがない日本語のテキストについてのインデックスを作成するために、形態素解析技術を用いてテキストを単語単位に区切り、これをもとに作成されたインデックスを利用する方式である。Ｎ−ｇｒａｍ方式は、テキストを単語単位ではなく一定のＮ文字単位に区切り、これをもとに作成されたインデックスを利用する方式である。
【０００３】
また、上記２つのアルゴリズムの決定を相補的にカバーするために、両者を併用する以下の手法も提案されている。
例えば、特許文献１には、登録対象文書に対し形態素解析等の単語識別処理を行ない、単語の先頭位置と末尾位置を識別し、識別結果を基に単語境界情報を取得し、登録対象文書から抽出した所定長の部分文字列（ｎ−ｇｒａｍ）に対し文書識別情報と該ｎ−ｇｒａｍの文書における出現位置情報と前記単語境界情報を有する検索用インデクスを作成するようにし、そして検索時には、検索タームに対応する検索用インデクスを抽出し、該検索用インデクスに基づき、これらの単語境界情報を用いて単語の境界を意識した単語識別検索（前方一致、後方一致、完全一致検索）と、単語境界情報を用いない単語境界を意識しない任意語検索を高速に実現する手法が提案されている。
【０００４】
例えば、特許文献２には、検索対象テキストを記憶する検索対象データ記憶手段と、検索対象テキストを単語単位に分割するテキスト分割手段と、単語単位に分割されたテキストを保持する単語分割テキスト記憶手段と、単語単位に分割されたテキストから、単語の区切りを示す単語情報を持ち文字数がＮである単語情報付文字列インデックスを作成するインデックス作成手段と、作成された単語情報付文字列インデックスを記憶するインデックス記憶手段と、単語情報付文字列インデックスを用いて検索語の文字列検索や単語検索を行う検索手段とを設けることによって、単語検索と文字列検索とを一つの装置できるようにして、検索漏れを防ぎ、検索ノイズを低減させる手法が提案されている。
【０００５】
【特許文献１】特開２０００−２３１５６３号公報
【特許文献２】特開２００１−３４６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
部位名や病名など医療用語が多く含まれる医療テキストを対象に検索を行う場合、上述した２つの一般的な検索アルゴリズムをそのまま用いると、それぞれ以下のような問題が生じる。
形態素解析方式を採用すると、形態素解析辞書に登録されていない語は検索できないという問題点がある。これは、病名や症状名は、「肝細胞癌」（肝臓における湿潤した炎症）など必要に応じて複数の要素から構成される複合的な表現が多く、また、「肝臓癌」、「肝癌」、「肝臓細胞癌」のように同じ対象に対して組み合わせ的に様々な表記が発生するので、これら全ての語を形態素解析辞書に予め登録しておくことは難しいためである。従って、医療テキストを対象にした検索においては、カバー率の低下が予想される。
【０００７】
Ｎ−ｇｒａｍ方式を採用すると、辞書に登録していない単語でも検索できるため、上記の問題を解決することができる。しかしながら、形態素解析によるわかち書きに比べると、意図したものとは異なる検索結果が生じることが多い。例えば、「頭部」という検索語を入力した場合、「乳頭部」がヒットしてしまうなど、精度の低下が起こる。
また、これら２つのアルゴリズムを併用する従来発明を用いても、両方式を併用するやり方ではそれぞれの弊害が起こるため、上記の問題は解決されない。
【０００８】
本発明は、上記従来の事情に鑑みなされたものであり、検索語に応じて適切な検索方式を自動的に選択することにより、性能の高い医療テキスト検索を実現することを目的としている。
【課題を解決するための手段】
【０００９】
第１の本発明は、文字列を１以上の文字数の文字単位に区切って検索を行う第１の検索手段と、文字列を単語単位に区切って検索を行う第２の検索手段と、１文字からなる判定用文字を記憶する第１の記憶手段と、医療に関する電子文書の検索に用いられる検索語を取得する取得手段と、前記取得手段により取得された検索語に前記第１の記憶手段により記憶されている判定用文字が含まれるか否かを判定する第１の判定手段と、前記第１の判定手段により検索語に判定用文字が含まれると判定された場合には、前記第１の検索手段により文字列を１文字の文字単位に区切って行う検索を実行させ、前記第１の判定手段により検索語に判定用文字が含まれないと判定された場合には、前記第２の検索手段により文字列を単語単位に区切って行う検索を実行させるように制御する制御手段と、を備えたことを特徴とする検索装置である。
【００１０】
第２の本発明は、第１の本発明において、前記検索装置は、前記第２の検索手段により文字列を単語単位に区切るときに用いられる単語辞書を記憶する第２の記憶手段と、前記取得手段により取得された検索語が前記第２の記憶手段により記憶されている単語辞書に含まれるか否かを判定する第２の判定手段と、を備え、前記制御手段は、前記第１の判定手段により検索語に判定用文字が含まれると判定された場合であっても、前記第２の判定手段により検索語が単語辞書に含まれないと判定された場合には、前記第１の検索手段により文字列を当該検索語の文字数の文字単位に区切って行う検索を実行させるように制御することを特徴とする。
【００１１】
第３の本発明は、第１又は第２の本発明において、前記判定用文字は、その語義の数が所定数より少ない文字であることを特徴とする。
【００１２】
第４の本発明は、コンピュータに、文字列を１以上の文字数の文字単位に区切って検索を行う第１の検索機能と、文字列を単語単位に区切って検索を行う第２の検索機能と、１文字からなる判定用文字を記憶する第１の記憶機能と、医療に関する電子文書の検索に用いられる検索語を取得する取得機能と、前記取得機能により取得された検索語に前記第１の記憶機能により記憶されている判定用文字が含まれるか否かを判定する第１の判定機能と、前記第１の判定機能により検索語に判定用文字が含まれると判定された場合には、前記第１の検索機能により文字列を１文字の文字単位に区切って行う検索を実行させ、前記第１の判定機能により検索語に判定用文字が含まれないと判定された場合には、前記第２の検索機能により文字列を単語単位に区切って行う検索を実行させるように制御する制御機能と、を実現させるためのプログラムである。
【発明の効果】
【００１３】
第１の本発明に係る検索装置によると、１文字の文字単位に区切って行う検索を行うことが適切であると想定される医療分野特有の語（判定用文字）を設定しておくことで、指定された検索語に当該判定用文字が含まれるか否かによって検索方式を自動的に選択することが可能となり、性能の高い医療テキスト検索を実現することができる。
【００１４】
第２の本発明に係る検索装置によると、指定された検索語に当該判定用文字が含まれない場合であっても、単語区切り用の単語辞書に当該検索語が含まれない場合には、単語単位に区切って行う検索を実行しても所望の検索結果が得られないと想定されるため、この場合には当該検索語の文字数の文字単位に区切って行う検索を選択することで、性能の高い医療テキスト検索を実現することができる。
【００１５】
第３の本発明に係る検索装置によると、判定用文字として語義が少ない語を設定しておくことで、性能の高い医療テキスト検索を実現することができる。これは、語義が少ない語は、指定された検索語での意味と異なる意味でテキスト中に出現することは稀であるため、文字単位に区切って行う検索を実行することで検索漏れが少なく、また不要なテキストが検索されることも少ないのに対し、語義が多い語は、指定された検索語での意味と異なる意味でテキスト中に出現することも珍しくないため、文字単位に区切って行う検索を実行すると不要なテキストが検索される可能性が高まって好ましくないからである。
【００１６】
第４の本発明に係るプログラムによると、上記の検索装置をコンピュータにより実現することができる。
【発明を実施するための最良の形態】
【００１７】
本発明を、一実施形態に基づいて具体的に説明する。
図１は、本発明の一例である、医療に関するテキスト（電子カルテ、医療レポート、医療分野の論文や特許文献などの各種電子文書）を蓄積したデータベース等から検索条件に該当する医療テキストを検索する医療テキスト検索装置の機能ブロック図を示している。
【００１８】
本例の医療テキスト検索装置は、利用者により入力された検索語を取得する検索語入力部１、検索語に基づいて検索方式を決定する検索方式決定部２、検索方式を決定する際に用いる判定用文字のリストを作成する判定用文字リスト作成部３、判定用文字リストを保持する判定用文字リスト保持部４、形態素解析用の単語辞書である形態素解析辞書（複数の単語を格納）を保持する形態素解析辞書保持部５、検索方式決定部２で決定された検索方式を用いて検索を実行する検索部６、検索結果を出力（画面表示や印刷出力など）する検索結果出力部７、を備えている。
【００１９】
本例の検索部６は、Ｎ−ｇｒａｍ方式のテキスト検索と形態素解析方式のテキスト検索とを有しており、検索方式決定部２の決定に従った方式によりテキスト検索を行う。Ｎ−ｇｒａｍ方式のテキスト検索は、テキスト中の文字列を文字数Ｎ（１以上の整数）の文字単位に区切ってテキスト検索を行う方式であり、形態素解析方式のテキスト検索は、テキスト中の文字列を形態素解析により単語単位に区切ってテキスト検索を行う方式である。
【００２０】
判定用文字リスト作成部３にリストとして保持されている判定用文字は、１文字の文字単位に区切って行う検索（つまり、Ｎ＝１のＮ−ｇｒａｍ方式による検索）を行うことが適切であると想定される医療分野特有の語である。本例では、「肺」、「脾」、「肝」、「腎」、「腰」、「舌」などの１文字の語が保持されている。
【００２１】
検索語入力部１は、医療テキスト検索装置に設けられたキーボード等の入力手段により利用者から入力された検索語を取得する。なお、例えば、他の利用者端末等により利用者から入力された検索語をネットワーク経由で取得する、といった他の態様により実現してもよい。
【００２２】
検索方式決定部２は、検索語入力部１で取得された検索語に基づいて、図２の処理フローに示す手順によりテキスト検索の方式を決定する。
まず、判定用文字リスト保持部４により保持されている判定用文字リストを照会して（ステップＳ１１）、検索語ｑに判定用文字Ｃが含まれているか否かを判定する（ステップＳ１２）。
検索語ｑに判定用文字Ｃが含まれていると判定された場合には、テキスト検索の方式をＮ＝１のＮ−ｇｒａｍ方式に決定する（ステップＳ１３）。
検索語ｑに判定用文字Ｃが含まれていないと判定された場合には、形態素解析辞書保持部５に保持されている形態素解析辞書を照会して（ステップＳ１４）、形態素解析辞書に検索語ｑのエントリーが存在するか否かを判定する（ステップＳ１５）。そして、検索語ｑのエントリーが存在すると判定された場合には、テキスト検索の方式を形態素解析方式に決定し（ステップＳ１６）、検索語ｑのエントリーが存在しないと判定された場合には、テキスト検索の方式をＮ＝ｌｅｎｇｔｈ（ｑ）のＮ−ｇｒａｍ方式に決定する（ｌｅｎｇｔｈ（ｑ）は、検索語ｑの文字数を表す）。
【００２３】
具体的には、例えば、検索語入力部１により検索語「肝細胞癌」が取得された場合は、判定用文字リスト（「肺」、「脾」、「肝」、「腎」、「腰」、「舌」などの判定用文字を保持）を照会すると、検索語「肝細胞癌」には判定用文字「肝」が含まれていることがわかり、Ｎ＝１のＮ−ｇｒａｍ方式に決定される。
また、例えば、検索語入力部１により検索語「後頭部」が取得された場合は、検索語「肝細胞癌」には判定用文字が含まれていないため、形態素解析辞書を照会する。そして、検索語「肝細胞癌」が形態素解析辞書に含まれている場合には形態素解析方式に決定され、形態素解析辞書に含まれていない場合にはＮ＝３のＮ−ｇｒａｍ方式に決定される。
【００２４】
次に、判定用文字リストの作成について説明する。
本例の医療テキスト検索装置では、判定用文字リスト作成部３が、図３に示す処理フローに従って自動的に作成している。
判定用文字リスト作成部３は、形態素解析辞書保持部５に保持されている形態素解析辞書の中から１文字だけの語（例えば、「心」、「頭」、「肝」など）を読み込み（ステップＳ２１）、当該読み込んだ各語を対象に、以下の処理を行う（ステップＳ２２）。
まず、漢字の持つ語義の多様性を計量するために、対象の語について漢和辞典（図示せず）を照会し（ステップＳ２３）、辞典に記載されている語義の項目数Ｋを計数する（ステップＳ２４）。そして、当該計数された項目数Ｋ（つまり語義数）が所定値（本例では３）より小さいか否かを判定し（ステップＳ２５）、この判定条件を満たす場合には対象の語を判定用文字リストに追加する（ステップＳ２６）。
【００２５】
具体的には、例えば、対象の語が「心」である場合は、漢和辞典の一例である『漢字源』（学研）に記載されている語義は５項目であるので項目数Ｋ＝５となり、項目数Ｋ＜３の条件を満たさないため、判定用文字リストに追加されない。
また、例えば、対象の語が「頭」である場合は、語義は６項目であるので項目数Ｋ＝６となり、項目数Ｋ＜３の条件を満たさないため、判定用文字リストに追加されない。
一方、例えば、対象の語が「肝」である場合は、語義は２項目であるので項目数Ｋ＝２となり、項目数Ｋ＜３の条件を満たすため、判定用文字リストに追加される。
【００２６】
本例では、医療テキスト検索装置又は他の装置に保持されている漢和辞典の電子データに基づいて、判定用文字リスト作成部３が判定用文字リストを自動的に作成しているが、人手により漢和辞典を参照して判定用文字リストを作成してもよい。
なお、判定用文字リストは、使用に応じて適宜修正されることが望ましい。
【００２７】
次に、判定用文字リストの作成手法の他の一例として、コーパスから判定用文字リストを作成する処理について、図４の処理フローを参照して説明する。
判定用文字リスト作成部３は、検索対象（医療テキスト）のコーパスが入力されると（ステップＳ２１）、日本語の規則に従って文字列を文節単位に区切ると共にその係り受け関係を解析する構文解析システム（図示せず）により当該コーパスを構文解析させ、その結果を取得する（ステップＳ２２）。例えば「Ｔ１強調像で肺を中心に病変が見られます。」というコーパスを構文解析すると、図５に示すように、文節１「Ｔ１強調像で」、文節２「肺を」、文節３「中心に」、文節４「病変が見られます。」の４つの文節に区切られる。そして、構文解析の結果から、文節に含まれる名詞が１文字のみの文節を抽出し、（ステップＳ２３）、文字毎の出現頻度を計数する（ステップＳ２４）。例えば図５に示す構文解析結果の場合、文節２「肺を」が抽出されて、文字毎の出現頻度が計数される。その後、抽出した全ての文字Ｃｉ（ｉ＝１〜抽出された文字の種類数）について（ステップＳ２５）、文字Ｃｉの出現頻度が係数ｍ以上か否かを判定し（ステップＳ２６）、出現頻度が係数ｍ以上の文字Ｃｉを判定用文字リストに追加する（ステップＳ２７）。
このように、本例では、漢和辞典等の知識源を使用せずに、コーパスから判定用文字リストを自動学習するようにしている。
なお、本例では、入力されたコーパスを文節単位に区切る手段として構文解析システムを用いているが、これに代えて他の手段を用いてもよく、例えば、文字列を日本語の規則に従って文節区切りするチャンカーを用いることができる。
【００２８】
図６は、本例に係る医療テキスト検索装置の主要なハードウェア構成を示している。
すなわち、本例の医療テキスト検索装置は、各種演算処理を行うＣＰＵ１１、ＣＰＵ１１の作業領域となるＲＡＭ１２、基本的な制御プログラムを記憶するＲＯＭ１３、本発明に係る機能を実現するためのプログラムや各種データを記憶するＨＤＤ１４、利用者に対する情報を表示出力する液晶ディスプレイや利用者からの情報の入力を受け付けるマウス・キーボード等の機器とのインターフェースである入出力Ｉ／Ｆ１５、他の装置との間で通信を行うインターフェースである通信Ｉ／Ｆ１６、等のハードウェア資源を有するコンピュータで構成されている。
【００２９】
そして、本発明に係るプログラムをＨＤＤ１４から読み出してＲＡＭ１２に展開し、これをＣＰＵ１１により実行させることで、本発明に係る検索装置の各機能手段をコンピュータにより実現している。本例では、判定用文字候補リスト保持部４により第１の記憶手段が構成され、形態素解析辞書保持部５により第２の記憶手段が構成され、検索語入力部１により取得手段が構成され、検索方式決定部２により第１及び第２の判定手段並びに制御手段が構成され、検索部６により第１及び第２の検索手段が構成されている。
【００３０】
本発明に係るプログラムは、例えば当該プログラムを記憶したＣＤ−ＲＯＭ等の外部記憶媒体を配布する形式やネットワークを介して配信する形式により、本発明の実施者に提供される。
また、本発明に係る各機能手段は、本例のようなソフトウェア構成により実現する態様に限られず、それぞれ専用のハードウエアモジュールで構成してもよい。
また、本発明に係る各機能手段は、本例のように１台のコンピュータに設ける態様に限られず、複数台のコンピュータに分散して設けてもよい。
また、本発明は、医療分野のテキスト検索に限定して使用されるものではなく、本発明に係る検索方式の決定手法を効果的に利用可能な他の分野のテキスト検索に使用するようにしてもよい。
【図面の簡単な説明】
【００３１】
【図１】本発明の一実施形態に係る医療テキスト検索装置の機能ブロック図である。
【図２】本発明の一実施形態に係る検索方式決定の処理フロー図である。
【図３】本発明の一実施形態に係る判定用文字リスト作成の処理フロー図である。
【図４】本発明の一実施形態に係る判定用文字リスト作成の処理フロー図である。
【図５】本発明の一実施形態に係る構文解析結果を示す図である。
【図６】本発明の一実施形態に係る医療テキスト検索装置のハードウェア構成図である。
【符号の説明】
【００３２】
１：検索語入力部、  ２：検索方式決定部、  ３：判定用文字候補リスト作成部、  ４：判定用文字候補リスト保持部、  ５：形態素解析辞書保持部、  ６：検索部、  ７：検索結果出力部
【図１】
2009223852.tif 000003
【図２】
2009223852.tif 000004
【図３】
2009223852.tif 000005
【図４】
2009223852.tif 000006
【図５】
2009223852.tif 000007
【図６】
2009223852.tif 000008