(57)【要約】      （修正有）【課題】所望の情報に対応する第１種文字列を特定できない場合でも、所望の情報の検索を容易に行う。【解決手段】１つ又は複数の第１文字種の文字からなる第１種文字列の入力に基づいて、データベース１０５に対する検索を行う検索装置１００において、第１種文字列毎に、第１種文字列に対応付けられた、１つ又は複数の第２文字種の文字からなる第２種文字列を格納するデータ格納部１０４と、第１種文字列の入力を受け付ける入力部１０１と、入力部１０１により入力された第１種文字列である入力第１種文字列を要素毎に区切り、区切った要素毎に、区切った要素に対応する１つ又は複数の第２種文字列をデータ格納部１０４から取得し、取得した第２種文字列を用いてデータベース１０５を検索し、検索結果を取得する変換・検索処理部１０３と、検索結果を出力する表示部１０２と、を備える。【選択図】図１
2018101224.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数の第１文字種の文字からなる第１種文字列の入力に基づいて、データベースに対する検索を行う検索装置であって、
第１種文字列毎に、当該第１種文字列に対応付けられた、１つ又は複数の第２文字種の文字からなる第２種文字列を格納する格納部と、
第１種文字列の入力を受け付ける入力部と、
前記入力部により入力された第１種文字列である入力第１種文字列を要素毎に区切り、区切った要素毎に、当該区切った要素に対応する１つ又は複数の第２種文字列を前記格納部から取得し、取得した第２種文字列を用いて前記データベースを検索し、検索結果を取得する処理部と、
前記検索結果を出力する出力部と
を備えることを特徴とする検索装置。
【請求項２】
前記格納部は、入力される第１種文字列の終端の文字列となり得る所定の文字列と、当該所定の文字列に対応付けられた複数の第２種文字列とを格納し、
前記処理部は、前記区切った要素の１つとしての前記入力第１種文字列の終端の文字列が、前記所定の文字列に該当する場合に、前記複数の第２種文字列を前記格納部から取得し、前記検索に利用する
ことを特徴とする請求項１に記載の検索装置。
【請求項３】
前記第１文字種の文字はローマ字であり、前記所定の文字列は子音である
ことを特徴とする請求項２に記載の検索装置。
【請求項４】
前記第２文字種の文字はかな文字であり、前記複数の第２種文字列は、ローマ字表記で子音を有するかな文字である
ことを特徴とする請求項２又は３に記載の検索装置。
【請求項５】
前記出力部は、前記処理部により得られた全ての検索結果を表示し、前記入力部から特定の検索結果を確定することを示す情報が入力された場合に、当該特定の検索結果のみを表示する
ことを特徴とする請求項１ないし４のうちいずれか１項に記載の検索装置。
【請求項６】
前記データベースは、所定の組織における人名のデータベースであり、前記入力部により、当該データベースに含まれる特定の人名の一部のみに該当する第１種文字列が入力された場合でも、前記処理部は、当該特定の人名を含む検索結果を取得する
ことを特徴とする請求項１ないし５のうちいずれか１項に記載の検索装置。
【請求項７】
１つ又は複数の第１文字種の文字からなる第１種文字列の入力に基づいて、データベースに対する検索を行う検索装置が実行する検索方法であって、
前記検索装置は、第１種文字列毎に、当該第１種文字列に対応付けられた、１つ又は複数の第２文字種の文字からなる第２種文字列を格納する格納部を備え、
第１種文字列の入力を受け付ける入力ステップと、
前記入力ステップにより入力された第１種文字列である入力第１種文字列を要素毎に区切り、区切った要素毎に、当該区切った要素に対応する１つ又は複数の第２種文字列を前記格納部から取得し、取得した第２種文字列を用いて前記データベースを検索し、検索結果を取得する処理ステップと、
前記検索結果を出力する出力ステップと
を備えることを特徴とする検索方法。
【請求項８】
コンピュータを、請求項１ないし６のうちのいずれか１項に記載の検索装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された文字列に基づいて情報を検索する技術に関連するものである。
【背景技術】
【０００２】
アルファベット文字（ローマ字と称してもよい）の文字列を入力することにより、かな文字の情報で構成されるデータベースを検索する場合、アルファベット文字の文字列をかな文字の文字列に変換し、当該かな文字の文字列を用いてデータベースを検索する。
【０００３】
アルファベット文字の文字列をかな文字の文字列に変換する場合、従来技術では、かな文字とアルファベット文字の文字列との１対１の対応関係を用いて、アルファベット文字の文字列をかな文字の文字列に変換する。このような変換技術に関連する先行技術文献として、例えば、特許文献１がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４００１８７２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、かな文字の文字列には複数のアルファベット文字表記がある。例えば、「おおにし」は、onishi、oonishi、ohnisi、等と表記することができ、これらは全て「おおにし」を示す正しいアルファベット文字（ローマ字）の文字列である。
【０００６】
しかし、上述した従来技術における変換方法では、「o」は「お」と変換され、「on」では「おお」に変換されない。従って、例えば、onishiを入力して、かな文字の情報で構成されるデータベースを検索しても、期待する検索結果「おおにし」は得られない。よって、従来技術では、アルファベット文字の文字列を入力することにより、かな文字の情報で構成されるデータベースを検索する場合において、ユーザは、システム側で登録された形式のとおりにアルファベット文字の文字列を入力する必要があり、曖昧な文字列での検索ができず、利便性が低かった。特に、人名の場合、表記がばらつきやすく、同性の場合でも異なるアルファベット文字の文字列が登録される場合が多く、検索が容易ではなかった。
【０００７】
なお、上記のような課題は、アルファベット文字からかな文字への変換に限らず、様々な文字種に係る変換において生じ得る課題である。
【０００８】
本発明は上記の点に鑑みてなされたものであり、第１文字種の文字で表記された文字列である第１種文字列を、第２文字種の文字で表記された文字列である第２種文字列に変換し、当該第２種文字列を用いて所望の情報の検索を行う技術において、所望の情報に対応する第１種文字列を特定できない場合でも、所望の情報の検索を容易に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
開示の技術によれば、１つ又は複数の第１文字種の文字からなる第１種文字列の入力に基づいて、データベースに対する検索を行う検索装置であって、
第１種文字列毎に、当該第１種文字列に対応付けられた、１つ又は複数の第２文字種の文字からなる第２種文字列を格納する格納部と、
第１種文字列の入力を受け付ける入力部と、
前記入力部により入力された第１種文字列である入力第１種文字列を要素毎に区切り、区切った要素毎に、当該区切った要素に対応する１つ又は複数の第２種文字列を前記格納部から取得し、取得した第２種文字列を用いて前記データベースを検索し、検索結果を取得する処理部と、
前記検索結果を出力する出力部と
を備えることを特徴とする検索装置が提供される。
【発明の効果】
【００１０】
開示の技術によれば、第１文字種の文字で表記された文字列である第１種文字列を、第２文字種の文字で表記された文字列である第２種文字列に変換し、当該第２種文字列を用いて所望の情報の検索を行う技術において、所望の情報に対応する第１種文字列を特定できない場合でも、所望の情報の検索を容易に行うことを可能とする技術が提供される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態における検索装置１００の機能構成図である。
【図２】検索装置１００のハードウェア構成図である。
【図３】検索装置１００の処理の全体の流れを示すフローチャートである。
【図４】アルファベット文字列に対する処理例を示す図である。
【図５】表示例を示す図である。
【図６】ステップＳ１の詳細処理例を示すフローチャートである。
【図７】ステップＳ１で参照されるテーブルの例を示す図である。
【図８】ステップＳ２の詳細処理例を示すフローチャートである。
【図９】ステップＳ２で参照されるテーブルの例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施の形態（本実施の形態）を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【００１３】
以下では、アルファベット文字で表記される文字列を、かな文字で表記される文字列に変換し、当該変換された文字列を用いてデータベースを検索する例を説明するが、これは一例に過ぎない。変換元の文字種はアルファベット文字以外の文字種でもよく、変換先の文字種もかな文字以外の文字種でもよい。なお、かな文字は、ひらがなでもよいしカタカナでもよい。以下では、例として、ひらがなを用いる場合を示している。
【００１４】
以下、アルファベット文字で表記される文字列をアルファベット文字列と呼び、かな文字で表記される文字列をかな文字列と呼ぶ。アルファベット文字列は、１つ又は複数のアルファベット文字からなる文字列であり、かな文字列は、１つ又は複数のかな文字からなる文字列である。なお、本実施の形態でのアルファベット文字、アルファベット文字列はそれぞれ、ローマ字、ローマ字列と言い換えてもよい。
【００１５】
また、以下の実施の形態における検索の適用分野は特定の分野に限られないが、一例として、座席表等に利用される所定の組織における人名のデータベースに対する検索に適用することができる。
【００１６】
（装置構成）
図１に、本実施の形態における検索装置１００の機能構成図を示す。図１に示すように、本実施の形態における検索装置１００は、入力部１０１、表示部１０２、変換・検索処理部１０３、データ格納部１０４を含む。また、図１に示すように、検索の対象となる情報を格納したデータベース１０５が検索装置１００にネットワークを介して接続されている。なお、データベース１０５は、検索装置１００の内部に備えられていてもよい。また、データ格納部１０４が検索装置１００の外部に備えられ、検索装置１００とネットワーク接続される構成であってもよい。なお、データ格納部１０４が検索装置１００とネットワーク接続される構成であっても、当該検索装置１００とデータ格納部１０４とを含む構成を「検索装置」と称してよい。
【００１７】
入力部１０１は、ユーザからのアルファベット文字列の入力を受け付ける。表示部１０２は、入力部１０１により入力されるアルファベット文字列を表示するとともに、変換・検索処理部１０３による検索結果を表示する。表示部１０２は、検索結果を出力する出力部の例である。表示部１０２に代えて、表示を行わない出力部を備えても良い。その場合、例えば、出力部から出力された検索結果は、他の装置に送信され、当該他の装置で検索結果の表示がなされる。例えば、検索装置１００がウェブサーバやアプリケーションサーバとして動作し、これにネットワーク接続されるユーザ端末（クライアント）から入力された文字列が入力部１０１から検索装置１００に入力され、検索結果が上記の出力部からユーザ端末に返される構成であってもよい。
【００１８】
変換・検索処理部１０３は、入力部１０１から入力されたアルファベット文字列をかな文字列に変換し、当該かな文字列を用いてデータベース１０５に対する検索を実施する。データ格納部１０４には、アルファベット文字列をかな文字列に変換する際に参照される各種のテーブルが格納されている。
【００１９】
データベース１０５は、かな文字列からなる検索対象情報を格納するデータベースである。本実施の形態では、検索処理をかな文字列で行うが、データベース１０５には、かな文字例以外の情報も格納されており、検索装置１００は、検索結果として、かな文字列以外の情報も表示することが可能である。例えば、人名を漢字やアルファベットで表示したり、メールアドレス、電話番号等を表示することができる。データベース１０５は、かな文字の情報のみを有する（アルファベット文字を有しない）データベースであってもよい。
【００２０】
なお、入力部１０１あるいは変換・検索処理部１０３が、既存のかな漢字変換機能を備え、入力されたアルファベット文字列をかな文字列あるいは漢字に変換し、変換後のかな文字列あるいは漢字が表示部１０２に表示されてもよい。また、既存のかな漢字変換機能が備えられる場合において、「うt」、「石t」のように、かな漢字変換機能で変換できた文字と、変換されないアルファベット文字が混在して表示されることとしてもよい。
【００２１】
既存のかな漢字変換機能により、かな文字列あるいは漢字が未変換のアルファベット文字とともに表示される場合でも、以下で説明する検索処理はそのまま実行することが可能である。
【００２２】
＜検索装置１００のハードウェア構成例＞
本実施の形態に係る検索装置１００は、例えば、１つ又は複数のコンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。すなわち、検索装置１００が有する機能は、当該コンピュータに内蔵されるＣＰＵやメモリ、ハードディスクなどのハードウェア資源を用いて、検索装置１００で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体（可搬メモリ等）に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【００２３】
図２は、検索装置１００をコンピュータで実現する場合における当該装置のハードウェア構成例を示す図である。図２に示す検索装置１００は、それぞれバスＢで相互に接続されているドライブ装置１５０、補助記憶装置１５２、メモリ装置１５３、ＣＰＵ１５４、インタフェース装置１５５、表示装置１５６、及び入力装置１５７等を有する。
【００２４】
当該検索装置１００での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ又はメモリカード等の記録媒体１５１によって提供される。プログラムを記憶した記録媒体１５１がドライブ装置１５０にセットされると、プログラムが記録媒体１５１からドライブ装置１５０を介して補助記憶装置１５２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１５１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１５２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２５】
メモリ装置１５３は、プログラムの起動指示があった場合に、補助記憶装置１５２からプログラムを読み出して格納する。ＣＰＵ１５４（プロセッサ）は、メモリ装置１５３に格納されたプログラムに従って当該装置に係る機能を実現する。インタフェース装置１５５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１５６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１５７はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。
【００２６】
（検索装置１００が実行する処理の流れ）
次に、図１に示した構成を備える検索装置１００が実行する処理の流れを図３のフローチャートの手順に沿って説明する。なお、以下のステップＳ１とステップＳ２については概要であり、詳細処理は後述する。
【００２７】
ステップＳ１において、入力部１０１から入力されたアルファベット文字列が変換・検索処理部１０３に渡され、変換・検索処理部１０３が、当該アルファベット文字列を、ローマ字表記において確実にかな文字がまたがない単位のアルファベット文字列に分割する。一例として、図４（ａ）に示す「onis」が入力された場合、「o」、「ni」、「s」の３つのアルファベット文字列に分割される。仮に「on」と「is」に分割する場合、かな文字「に」がこれら２つの要素をまたがるので、「on」、「is」の分割はなされない。
【００２８】
ステップＳ２において、変換・検索処理部１０３は、ステップＳ１で分割されたアルファベット文字列毎に分析を行って、データ格納部１０４に格納されている変換テーブルを参照することで、アルファベット文字列を、１つ又は複数のかな文字列に置き換える。図４の例では、（ｂ）に示すように、「o」は、「お」、「おお」、及び「おう」に置き換えられ、「ni」は「に」に置き換えら、「s」は「さ」、「し」、「す」、「せ」、「そ」に置き換えられる。また、「ni」を構成する「n」と「i」について、「n」は「ん」に置き換えられ、「i」は「い」に置き換えられる。これら置き換えられた文字列は、候補配列（メモリ領域）に格納される。
【００２９】
ステップＳ３において、変換・検索処理部１０３は、ステップＳ２で得られたかな文字列の集合を、かな文字列の全ての可能な組み合わせで検索がなされるように、正規表現に変換する。図４の例では（ｃ）に示すように変換がなされる。（ｃ）に示す正規表現における"^" は行の先頭を示し、"｜"は、「又は」を示す。
【００３０】
ステップＳ４において、変換・検索処理部１０３は、ステップＳ３で作成した正規表現を用いてデータベース１０５に対して検索をかける。
【００３１】
ステップＳ５において、変換・検索処理部１０３は、データベース１０５から得られた検索結果を表示部１０２に渡し、表示部１０２が検索結果を表示する。図４（ｃ）に示した正規表現の場合、例えば、「おおにし」、「おにし」、「おうんいさ」等が検索によりマッチして、表示部１０２に表示される。変換・検索処理部１０３は、マッチしたかな文字列のみをデータベース１０５から取得して、表示部１０２に表示させてもよいし、マッチしたかな文字列に紐付られた情報（例：漢字名、ローマ字名等）も取得して、表示部１０２に表示させてもよい。
【００３２】
図５に表示画面の一例を示す。図５に示す例は、「ot」を入力した場合の例である。この場合、変換・検索処理部１０３による変換・検索処理により、「おおた」、「おおつき」、「おち」がマッチし、これらに対応する情報が表示されている。
【００３３】
なお、上記の例では、「onis」、「ot」等を入力した場合を説明しているが、検索装置１００は、１文字のアルファベットの入力毎に、当該１アルファベット文字と、それまでに入力したアルファベット文字とからなる文字列に対して上述した処理を実行し、１文字のアルファベットの入力毎に順次検索結果を表示する。つまり、所望の情報にマッチするかどうか定かでないアルファベット文字列を順次入力して検索結果を絞り込むという、曖昧検索＋インクリメンタルサーチが実現される。
【００３４】
例えば、「o」を入力した時点で、おおにし、おがた、おぐり、おうえ、の４名の情報が検索結果として表示され、次にhを入力した時点で、「oh」の検索結果として、おおにし、おうえ、の２名の情報が検索結果として表示され、次にnを入力した時点で、「ohn」の検索結果として、おおにし、の１名の情報が検索結果として表示される。また、例えば、「o」を入力した時点で、おおにし、おがた、おぐり、おうえ、の４名の情報が検索結果として表示され、次にuを入力した時点で、「ou」の検索結果として、おうえ、の１名の情報が検索結果として表示される。また、例えば、「o」を入力した時点で、おおにし、おがた、おぐり、おうえ、の４名の情報が検索結果として表示され、次にgを入力した時点で、「og」の検索結果として、おがた、おぐり、の２名の情報が検索結果として表示される。
【００３５】
また、例えば、「o」を入力した時点で、おおにし、おがた、おぐり、おうえ、の４名の情報が検索結果として表示された場合において、入力部１０１から、特定の人に確定することを示す情報が入力された場合に、変換・検索処理部１０３が、当該特定の人の情報を選定して表示部１０２に渡し、表示部１０２が当該情報を表示してもよい。特定の人に確定することを示す情報は、例えば、既存のかな漢字変換機能で表示されている複数の変換候補から１つの変換候補（例：大西）を選択することであってよい。
【００３６】
すなわち、本実施の形態に係る技術により、ユーザがアルファベットの１文字を入れるだけで探したい情報（例として人名とする）の複数候補を表示し、更に１文字追加する度に人名の候補が絞られて表示することを実現できる。これにより、探したい人名を迅速に検索することが可能となり、曖昧な文字の入力でも検索が可能となる。また、既存のかな漢字検索と組み合わせる場合、完全一致検索と異なり、入力中の未変換のローマ字が文字列に混ざっている場合でも検索結果を表示できる。
【００３７】
（ステップＳ１の詳細処理例）
以下、前述したステップＳ１における、変換・検索処理部１０３により実行されるアルファベット文字列の分割処理を、図６のフローチャートを参照してより詳細に説明する。
【００３８】
ステップＳ１０１において、開始インデックス（start index）と終了インデックス（end index）を０に初期化する。ステップＳ１０２において、終了インデックスを１増加させる。図４（ａ）の「onis」の例では、この時点で、終了インデックスは「o」を指している。以下、適宜、図４（ａ）の「onis」についての例を用いて説明する。
【００３９】
ステップＳ１０３において、終了インデックスが指す文字（「o」）を分析する。ステップＳ１０４において、終了インデックスが指す文字（「o」）が文字列（「onis」）の最後の文字であるかどうかを判定し、ＹｅｓであればステップＳ１０５に進み、ＮｏであればステップＳ１０６に進む。
【００４０】
ステップＳ１０５では、サブストリングを文字セットに加えて処理を終了する。サブストリングとは、開始インデックスの次の文字から終了インデックスの文字までの文字列である。例えば、図４（ａ）の例において、開始インデックスが０で、終了インデックスが１の場合、サブストリングは「o」であり、開始インデックスが１で、終了インデックスが３の場合、サブストリングは「ni」である。また、文字セットとは、ステップＳ２での処理対象となる文字列の呼び名である。このステップＳ１０５に進む場合、図４（ａ）の例では、サブストリング「s」が、文字セットに追加される。なお、図６において、Ｓ１０１、Ｓ１０９のsetは設定の意味であり、Ｓ１０５、Ｓ１０６、Ｓ１０７、Ｓ１０８におけるsetは文字セットの意味である。
【００４１】
ステップＳ１０６において、サブストリングが文字セット終了条件（set end condition）を満たすかどうかを判定する。図７に、文字セット終了条件の一例を示す。当該文字セット終了条件のテーブルは、データ格納部１０４に格納されており、変換・検索処理部１０３から参照される。なお、図７の１行目の「char」は「character」の略である。
【００４２】
図７に示すセット終了条件の１行目のエントリの場合、終了インデックスにおける文字がaiueoの５文字のうちのいずれかに該当し、次の文字がhではない場合に、ステップＳ１０６の判定はＹｅｓとなる。他のエントリについてもエントリの記載に従って判定される。increment startIndexは、ステップＳ１０９で使用される値である。
【００４３】
Ｓ１０６の判定がＹｅｓとなる場合のステップＳ１０７では、サブストリングをセットに追加することを決定し、ステップＳ１０８において、開始インデックスから終了インデックスまでのサブストリング（開始インデックスの次のインデックスが指す文字から、終了インデックスが指す文字までの文字列）をセットに追加する。ステップＳ１０９において、開始インデックスを、「終了インデックス＋increment startIndex」にする。例えば、開始インデックスが０のときに、終了インデックスが１、increment startIndexが０であれば、開始インデックスは１になる。ステップＳ１０９の次にステップＳ１０２に進む。
【００４４】
例えば、図４（ａ）の例で、ステップＳ１０９の時点で、開始インデックスが１、終了インデックスが１になり、ステップＳ１０２に進んだものとする。この場合、終了インデックス２が指す文字nは、ステップＳ１０６の判定でＮｏとなり、再びステップＳ１０２に戻り、このステップＳ１０２の時点で、開始インデックスが１、終了インデックスが３になる。この場合、ステップＳ１０６の判定がＹｅｓとなり、「ni」が得られる。
【００４５】
（ステップＳ２の詳細処理例）
次に、前述したステップＳ２における、変換・検索処理部１０３により実行されるアルファベット文字列のかな文字列への置き換え処理を、図８のフローチャートを参照してより詳細に説明する。本実施の形態において、図８に示す処理は、ステップＳ１で分割したアルファベット文字列毎（文字セット毎）に行われる。以下の説明でも適宜、図４の例を使用する。また、以下の例において、図９（ａ）〜（ｃ）に示すテーブルが適宜参照される。これらのテーブルはデータ格納部１０４に格納されているテーブルである。
【００４６】
ステップＳ２０１において、文字セットが空かどうか判定する。ステップＳ２０１での判定がＹｅｓであればステップＳ２１６に進み、置き換えられたかな文字列（候補文字列）を返す。ステップＳ２０１での判定がＮｏであればステップＳ２０２に進む。なお、本例では、ある文字セットを構成するアルファベット文字列において、サブセット（例：「ni」における「n」と「i」）毎に、処理が再帰的に実行される。文字セットの中に、未処理のサブセットがない場合に、Ｓ２０１はＹｅｓになる。
【００４７】
ここでは、まず、文字セット「o」の処理を行うものとする。ステップＳ２０２において、サブセットの長さを１にして、ステップＳ２０３でサブセットを取得する。ここでは、文字セットが１文字「o」だけなので、これがサブセットとして取得される。
【００４８】
ステップＳ２０４において、当該サブセットが特殊ケーステーブル（special cases table）における条件を満たすか否かを判断する。図９（ｃ）に、特殊ケーステーブルの例を示す。ここで示す特殊ケーステーブルの例は、対象のサブセットが、連続する子音（例：pp）で開始する場合、「っ」を追加するというルールを示す。
【００４９】
この条件に該当する場合、ステップＳ２１３に進んでルールに従った処理を行うが、ここでのサブセットの例である「o」については条件に該当せずにステップＳ２０５に進む。
【００５０】
ステップＳ２０５では、該当のサブセットが最後の文字セットの最後のサブセット（図４（ｂ）の例では「s」）であるかどうかを判断する。「o」については、Ｎｏとなり、ステップＳ２０８に進む。
【００５１】
ステップＳ２０８において、サブセットが変換テーブルに存在するかどうかを判定する。「o」については、図９（ａ）に示すように存在し、ＹｅｓとなるのでステップＳ２０７に進み、変換テーブルの値「お、おお、おう」を候補配列に加える。
【００５２】
次に、ステップＳ２０９〜Ｓ２１２において、対象の文字セットに対して、再帰的に上述した処理を行って、候補を取得する処理を行う。
【００５３】
ただし、ここでの文字セット「o」については、１文字なので、ステップＳ２１４に進む。ステップＳ２１４においてサブセット長をインクリメント（つまり２にする）して、ステップＳ２１５に進む。ステップＳ２１５において、サブセット長（２）が文字セット長（１）より長いので（つまり、最大サブセット長より長いので）、ステップＳ２１６に進み、候補を返す。つまり、「お、おお、おう」が返される。配列の形式では、［お，おお，おう］が返される。
【００５４】
次に、文字セット「ni」についての処理が行われる。ここでは、ステップＳ２０３において、サブセット「n」を取得し、ステップＳ２０４〜Ｓ２０５を経てＳ２０８まで進み、変換テーブルに該当するので、ステップＳ２０７において、候補配列に「ん」が追加される。続いて、再帰的処理（ステップＳ２０９〜Ｓ２１２）により、サブセット「i」に対して、「い」が取得され、候補配列に「い」が追加される。これにより、候補配列［ん，い］が得られる。
【００５５】
次に、ステップＳ２１４においてサブセット長を２とし、ステップＳ２１５を経て、ステップＳ２０３で、サブセット「ni」を取得する。ステップＳ２０４〜Ｓ２０５を経てステップＳ２０８まで進み、変換テーブルに該当するので、ステップＳ２０７において、候補配列に「に」が追加される。その後、ステップＳ２１４、Ｓ２１５を経て、ステップＳ２１６で、候補配列［「に」，［ん，い］］が返される。
【００５６】
次に、文字セット「s」（＝サブセット）に対する処理を行う。この場合、ステップＳ２０５において、Ｙｅｓとなり、ステップＳ２０６において、サブセット「s」が、「terminus table」にあるかどうかを判断する。当該テーブルは図９（ｂ）に示されるものであり、このテーブルには図９（ａ）の「conversion table」の情報も含む。ただし、「terminus table」に「conversion table」の情報を含めないこととしてもよい。その場合、ステップＳ２０６において、サブセットが、「conversion table」と「terminus table」のどちらかでマッチすればＹｅｓとなる。
【００５７】
ここでは、sが「terminus table」に存在するので、ステップＳ２０６はＹｅｓとなり、ステップＳ２０７において、テーブルの値から候補配列に値が追加されて候補配列［さ，し，す，せ，そ］が得られる。その後、ステップＳ２１６において［さ，し，す，せ，そ］が返される。その結果、図４（ｂ）に示したように文字セット毎のかな文字列が得られる。
【００５８】
上記のように、入力されたアルファベット文字列の最後の子音が図９（ｂ）のテーブルに登録されている場合、ローマ字表記をした場合に当該子音を頭に持つかな文字が全て取得される。
【００５９】
なお、ステップＳ１の分割を行わずに、ステップＳ２の上記処理を行うこととしてもよい。計算量が増加するが、ステップＳ１の分割を行う場合と同様の結果が得られる。ステップＳ１の分割を行わない場合でも、ステップＳ２の処理により、分割に相当する処理は実行されている。
【００６０】
（実施の形態のまとめ）
以上、説明したとおり、本実施の形態により、１つ又は複数の第１文字種の文字からなる第１種文字列の入力に基づいて、データベースに対する検索を行う検索装置であって、第１種文字列毎に、当該第１種文字列に対応付けられた、１つ又は複数の第２文字種の文字からなる第２種文字列を格納する格納部と、第１種文字列の入力を受け付ける入力部と、前記入力部により入力された第１種文字列である入力第１種文字列を要素毎に区切り、区切った要素毎に、当該区切った要素に対応する１つ又は複数の第２種文字列を前記格納部から取得し、取得した第２種文字列を用いて前記データベースを検索し、検索結果を取得する処理部と、前記検索結果を出力する出力部とを備えることを特徴とする検索装置が提供される。
【００６１】
前記格納部は、入力される第１種文字列の終端の文字列となり得る所定の文字列と、当該所定の文字列に対応付けられた複数の第２種文字列とを格納し、前記処理部は、前記区切った要素の１つとしての前記入力第１種文字列の終端の文字列が、前記所定の文字列に該当する場合に、前記複数の第２種文字列を前記格納部から取得し、前記検索に利用することとしてもよい。例えば、前記第１文字種の文字はローマ字であり、前記所定の文字列は子音である。また、例えば、前記第２文字種の文字はかな文字であり、前記複数の第２種文字列は、ローマ字表記で子音を有するかな文字である。また、例えば、前記第１文字種の文字はローマ字であり、前記第２文字種の文字はかな文字であり、前記所定の文字列は子音であり、前記複数の第２種文字列は、ローマ字表記で当該子音を有するかな文字である。
【００６２】
前記出力部は、前記処理部により得られた全ての検索結果を表示し、前記入力部から特定の検索結果を確定することを示す情報が入力された場合に、当該特定の検索結果のみを表示することとしてもよい。特定の検索結果を確定することを示す情報とは、例えば、入力第１種文字列に基づき、かな漢字変換機能により表示された変換後の漢字文字列候補の中から、特定の漢字文字列候補を選択したことを示す情報である。
【００６３】
例えば、前記データベースは、所定の組織における人名のデータベースであり、前記入力部により、当該データベースに含まれる特定の人名の一部のみに該当する第１種文字列が入力された場合でも、前記処理部は、当該特定の人名を含む検索結果を取得することとしてもよい。すなわち、ユーザは、人名をうろ覚えであっても、当該人名の情報を検索することができる。
【００６４】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６５】
１００  検索装置
１０１  入力部
１０２  表示部
１０３  変換・検索処理部
１０４  データ格納部
１０５  データベース
１５０  ドライブ装置
１５１  記録媒体
１５２  補助記憶装置
１５３  メモリ装置
１５４  ＣＰＵ
１５５  インタフェース装置
１５６  表示装置
１５７  入力装置
【図１】
2018101224.tif 000003
【図２】
2018101224.tif 000004
【図３】
2018101224.tif 000005
【図４】
2018101224.tif 000006
【図５】
2018101224.tif 000007
【図６】
2018101224.tif 000008
【図７】
2018101224.tif 000009
【図８】
2018101224.tif 000010
【図９】
2018101224.tif 000011