(57)【要約】【課題】複数の入力フィールドに対して文字入力する場合であっても、効率的な文字入力を行うことができる。【解決手段】入力端末装置が、文字入力領域の入力内容を検出し、文字入力領域を識別する識別部と、識別部によって識別された文字入力領域を表すノードセパレータと、検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部とを備え、検索サーバが、互いに係り受け関係にある単語を、文字入力領域と対応付けられたノードとして木構造に構成した辞書データを利用して、入力端末装置から受信する検索キーのノードセパレータに基づき、検索キーに含まれる入力内容の文字入力領域に対応する辞書データのノードを検出し、ノードとしての単語を変換候補を、入力端末装置に表示させる【選択図】図１
2010266969.tif 000002
【特許請求の範囲】
【請求項１】
複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、
前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、
前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、
前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、
前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、
前記ノードセパレータ付与部によって生成された前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信する検索部と、を備える
ことを特徴とする文字検索装置。
【請求項２】
文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムであって、
前記入力端末装置は、
複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、
前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、
前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、
前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信する端末通信部と、を備え、
前記検索サーバは、
前記端末通信部とデータ通信を行うサーバ通信部と、
前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、
前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、
前記サーバ通信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信する検索部と、を備える
ことを特徴とする文字検索システム。
【請求項３】
前記入力端末装置の前記識別部は、
前記文字入力領域に文字が入力されていない状態において、識別される前記文字入力領域の入力内容として、文字が入力されていないことを表す入力内容を検出し、
前記入力端末装置の前記ノードセパレータ付与部は、
前記識別部によって、前記文字が入力されていないことを表す入力内容が検出された場合、前記文字が入力されていないことを表す空欄情報と前記ノードセパレータとを関連付けた前記検索キーを生成することを特徴とする請求項２に記載の文字検索システム。
【請求項４】
前記入力端末装置の前記識別部は、
前記入力部を介して前記文字入力領域が指定された場合、当該文字入力領域よりも上位となる他の前記入力領域がある場合、当該上位となる他の前記入力領域の入力内容を、変換処理が完了した確定内容として検出し、
前記入力端末装置の前記ノードセパレータ付与部は、
前記検索キーに含まれる前記入力内容が、前記確定内容であること、あるいは変換処理が完了する以前の未確定内容であることを表す情報に基づき、前記検索キーを生成する
ことを特徴とする請求項３に記載の文字検索システム。
【請求項５】
文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける文字検索方法であって、
前記入力端末装置の入力部が、
複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付け、
前記入力端末装置の識別部が、
前記文字入力領域の入力内容を検出し、前記文字入力領域を識別し、
前記入力端末装置のノードセパレータ付与部が、
前記識別部によって識別される文字入力領域を区分するノードセパレータと、前記検出された入力内容とを関連付けた検索キーを生成し、
前記入力端末装置の端末通信部が、
前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信し、
前記検索サーバのサーバ通信部が、
前記入力端末装置から送信された前記検索キーを受信し、
前記検索サーバの検索部が、
前記サーバ通信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した前記読み補完辞書データを記憶する読み補完辞書記憶部から読み出される読み補完辞書データ、あるいは、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部から読み出される表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信する
ことを特徴とする文字検索方法。
【請求項６】
文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記入力端末装置であって、
複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、
前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、
前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、
前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信する端末通信部と、を備えることを特徴とする入力端末装置。
【請求項７】
文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記検索サーバであって、
前記入力端末装置において前記文字の入力又は前記文字領域の指定入力が入力される複数の文字入力領域を区分するノードセパレータと前記入力フィールドの入力内容とを関連付けた検索キーを、前記入力端末装置から受信する受信部と、
前記入力端末装置に情報を送信する送信部と、
前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、
前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、
前記受信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記送信部を介して前記入力端末装置に送信する検索部と、を備える
ことを特徴とする検索サーバ。
【請求項８】
文字が入力されるコンピュータと、ネットワークを介して接続される前記コンピュータから受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記コンピュータを、
複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付けさせる入力手段、
前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別手段と、
前記識別手段によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与手段、
前記ノードセパレータ付与手段によって生成された前記検索キーを前記検索サーバに送信する端末通信手段、
として機能させるためのプログラム。
【請求項９】
文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索するコンピュータを備える文字検索システムにおける前記コンピュータを、
前記入力端末装置において前記文字の入力又は前記文字領域の指定入力が入力される複数の文字入力領域を区分するノードセパレータと前記入力フィールドの入力内容とを関連付けた検索キーを、前記入力端末装置から受信する受信手段、
前記検索キーの前記ノードセパレータに基づき、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した前記読み補完辞書データを記憶する読み補完辞書記憶手段から読み出される前記読み補完辞書データ、あるいは、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶手段から読み出される前記表記補完辞書データのうち、少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記入力端末装置に送信する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字検索システム、文字検索方法、入力端末装置、検索サーバおよびプログラムに関し、特に、コールセンタなどにおける入力作業に好適な文字検索装置、文字検索システム、文字検索方法、入力端末装置、検索サーバおよびプログラムに関する。
【背景技術】
【０００２】
コンピュータなどの装置に自然言語としての文字を入力する場合、言語の種類に応じた入力変換を行うことで、キーボードなどから入力された文字を自然言語に変換することが一般的に行われている。
このような入力変換としては、キーボードなどから入力された未確定文字を検索キーとして辞書データを検索して変換候補を検出し、変換候補の中からユーザによって選択された文字を確定文字として入力する方法が一般的である。
例えば、先行して入力された文字の係り受け関係を考慮して、次に続く文字を検索し、関連性のある文字を入力する方法などがある（例えば、特許文献１参照）。
この特許文献１に記載されているものは、連続して入力される文字の関係性をバッファメモリに一時的に記憶させ、一時的に記憶されている文字の次に続く文字を予測手段が予測し、予測した文字を変換候補としてユーザに表示するものである。これによりユーザは、変換するための文字の全てを入力しなくても、予測された変換候補の中から入力したい変換候補を選択することによって、連続した文字を入力することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３３６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような入力変換において、複数の入力フィールドごとに各入力フィールドに適した文字を入力しなければならない場合、複数の文字が関連付けられている辞書データを利用して、複数の入力フィールドにわたって関連性のある文字の変換候補をユーザに提供する際に、以下のような不都合があった。
例えば、住所を入力する場合において、県名を入力する入力フィールド、市名を入力する入力フィールド、区名を入力する入力フィールド等のように、入力フィールドごとに予め指定された属性の文字列を入力する場合がある。このとき、「神奈川県横浜市港北区日吉」という住所情報を入力する際に、県名の入力フィールドに「神奈川県」を、市名の入力フィールドに「横浜市」を、区名の入力フィールドに「港北区」を、その他の入力フィールドに「日吉」を、それぞれ入力する必要がある。
【０００５】
ここで、各ノードの単語として「神奈川県」、「横浜市」、「港北区」、「日吉」が関連付けられているノード列と、「神奈川県立」「第一高等学校」が関連付けられているノード列を記憶する所在を表す情報を含む辞書データを利用して、県名の入力フィールドに「神奈川県」が入力された場合、「神奈川県」に続く文字列として、ノード間で連結されている「横浜市」と「立（神奈川県立の“立”と対応する部分）」の変換候補が検索される。これは、「神奈川県」と「神奈川県立」の単語が、例えば、木構造で構成されているデータ構造において同じ階層のノードに対応する単語であって、単語の前半部分に同一の文字列である“神奈川県”を含んでいるためである。
これにより、市名の入力フィールドに対して、神奈川県立の「立」という変換候補と、「横浜市」という変換候補が出力されてしまい、各入力フィールドに適した変換候補を出力できない問題がある。
また、県名の入力フィールドに「神奈川県」と入力された後に「横浜市」という変換候補が検索され、県名の入力フィールドの変換候補として出力された場合、ユーザによって「横浜市」が選択されると、県名の入力フィールドに「神奈川県横浜市」と入力されてしまい、各入力フィールドに適した変換候補を出力できない問題がある。
【０００６】
本発明は、このような事情を考慮してなされたものであり、その目的は、複数の入力フィールドに対して文字入力する場合であっても、より効率的な文字の検索を行うことができる文字検索装置、文字検索システム、文字検索方法、入力端末装置、検索サーバおよびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明は、複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、  前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、前記ノードセパレータ付与部によって生成された前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信する検索部と、を備えることを特徴とする。
【０００８】
上述した課題を解決するために、本発明は、文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムであって、前記入力端末装置は、複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信する端末通信部と、を備え、前記検索サーバは、前記端末通信部とデータ通信を行うサーバ通信部と、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、前記サーバ通信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信する検索部と、を備えることを特徴とする。
【０００９】
また、前記入力端末装置の前記識別部は、前記文字入力領域に文字が入力されていない状態において、識別される前記文字入力領域の入力内容として、文字が入力されていないことを表す入力内容を検出し、前記入力端末装置の前記ノードセパレータ付与部は、前記識別部によって、前記文字が入力されていないことを表す入力内容が検出された場合、前記文字が入力されていないことを表す空欄情報と前記ノードセパレータとを関連付けた前記検索キーを生成することを特徴とする。
【００１０】
また、上述した課題を解決するために、本発明は、前記入力端末装置の前記識別部は、前記入力部を介して前記文字入力領域が指定された場合、当該文字入力領域よりも上位となる他の前記入力領域がある場合、当該上位となる他の前記入力領域の入力内容を、変換処理が完了した確定内容として検出し、前記入力端末装置の前記ノードセパレータ付与部は、前記検索キーに含まれる前記入力内容が、前記確定内容であること、あるいは変換処理が完了する以前の未確定内容であることを表す情報に基づき、前記検索キーを生成することを特徴とする。
【００１１】
また、上述した課題を解決するために、本発明は、文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける文字検索方法であって、前記入力端末装置の入力部が、複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付け、前記入力端末装置の識別部が、  前記文字入力領域の入力内容を検出し、前記文字入力領域を識別し、前記入力端末装置のノードセパレータ付与部が、前記識別部によって識別される文字入力領域を区分するノードセパレータと、前記検出された入力内容とを関連付けた検索キーを生成し、前記入力端末装置の端末通信部が、前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信し、前記検索サーバのサーバ通信部が、前記入力端末装置から送信された前記検索キーを受信し、前記検索サーバの検索部が、前記サーバ通信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した前記読み補完辞書データを記憶する読み補完辞書記憶部から読み出される読み補完辞書データ、あるいは、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部から読み出される表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記サーバ通信部を介して前記入力端末装置に送信することを特徴とする。
【００１２】
また、上述した課題を解決するために、本発明は、文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記入力端末装置であって、複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付ける入力部と、前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別部と、前記識別部によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与部と、前記ノードセパレータ付与部によって生成された前記検索キーを前記検索サーバに送信する端末通信部と、を備えることを特徴とする。
【００１３】
また、上述した課題を解決するために、本発明は、文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記検索サーバであって、前記入力端末装置において前記文字の入力又は前記文字領域の指定入力が入力される複数の文字入力領域を区分するノードセパレータと前記入力フィールドの入力内容とを関連付けた検索キーを、前記入力端末装置から受信する受信部と、前記入力端末装置に情報を送信する送信部と、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する読み補完辞書記憶部と、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶部と、前記受信部を介して前記入力端末装置から受信する前記検索キーの前記ノードセパレータに基づき、前記読み補完辞書データあるいは前記表記補完辞書データのうち少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記送信部を介して前記入力端末装置に送信する検索部と、を備えることを特徴とする。
【００１４】
また、上述した課題を解決するために、本発明は、文字が入力されるコンピュータと、ネットワークを介して接続される前記コンピュータから受信する前記文字に応じた変換候補を検索する検索サーバを備える文字検索システムにおける前記コンピュータを、複数の文字入力領域のうち少なくともいずれか１つに対して、前記文字の入力又は前記文字領域の指定入力を受け付けさせる入力手段、前記文字入力領域の入力内容を検出し、前記文字入力領域を識別する識別手段と、前記識別手段によって識別される文字入力領域を区分するノードセパレータと前記検出された入力内容とを関連付けた検索キーを生成するノードセパレータ付与手段、前記ノードセパレータ付与手段によって生成された前記検索キーを前記検索サーバに送信する端末通信手段、として機能させるためのプログラムである。
【００１５】
また、上述した課題を解決するために、本発明は、文字が入力される入力端末装置と、ネットワークを介して接続される前記入力端末装置から受信する前記文字に応じた変換候補を検索するコンピュータを備える文字検索システムにおける前記コンピュータを、前記入力端末装置において前記文字の入力又は前記文字領域の指定入力が入力される複数の文字入力領域を区分するノードセパレータと前記入力フィールドの入力内容とを関連付けた検索キーを、前記入力端末装置から受信する受信手段、前記検索キーの前記ノードセパレータに基づき、前記文字が変換処理される以前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した前記読み補完辞書データを記憶する読み補完辞書記憶手段から読み出される前記読み補完辞書データ、あるいは、前記読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書であって、互いに係り受け関係にある単語を、前記読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する表記補完辞書記憶手段から読み出される前記表記補完辞書データのうち、少なくともいずれか一方のデータを用いて、前記検索キーに対応する単語を検索結果として得て、前記入力端末装置に送信する手段、として機能させるためのプログラムである。
【発明の効果】
【００１６】
この発明によれば、複数の入力フィールドにわたって入力される文字を、各入力フィールドに入力された文字として組み合わせた検索キーを利用して、辞書データを検索することで、各入力フィールドに適した文字を検索して、変換候補として表示することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係る文字検索システムの一例を示すブロック図である。
【図２】本実施形態に係る出力部に表示される入力画面の一例を示す概略図である。
【図３】本実施形態に係る読み補完辞書記憶領域に記憶されている読み補完辞書データの一例を示す概念図である。
【図４】本実施形態に係る表記補完辞書記憶領域に記憶されている表記補完辞書データの一例を示す概念図である。
【図５】本実施形態に係る文字検索方法の一例を示すフローチャートである。
【図６】本実施形態に係る文字検索方法の一例を示すフローチャートである。
【図７】図５、６に示す文字検索方法による検索結果の表示例示す概略図である。
【図８】図５、６に示す文字検索方法による検索結果の表示例示す概略図である。
【図９】本実施形態に係る読み補完辞書記憶領域に記憶されている読み補完辞書データの一例を示す概念図である。
【図１０】本実施形態に係る表記補完辞書記憶領域に記憶されている表記補完辞書データの一例を示す概念図である。
【図１１】本実施形態に係る文字検索方法の他の例を示すフローチャートである。
【図１２】図１１に示す文字検索方法において出力部に表示される入力画面の一例を示す概略図である。
【図１３】図１１に示す文字検索方法の説明を助ける参考図である。
【図１４】本実施形態に係る読み補完辞書記憶領域に記憶されている読み補完辞書データの他の例を示す概念図である。
【図１５】本実施形態に係る表記補完辞書記憶領域に記憶されている表記補完辞書データの他の例を示す概念図である。
【図１６】本実施形態による、候補抽出処理（検索処理）の動作を説明するためのフローチャートである。
【図１７】本実施形態による、先頭未確定処理の動作を説明するためのフローチャートである。
【図１８】先頭未確定処理での各種例を示す概念図である。
【図１９】実施形態による、先頭確定処理の動作を説明するためのフローチャートである。
【図２０】先頭確定処理での各種例を示す概念図である。
【図２１】実施形態による、余剰一致処理の動作を説明するためのフローチャートである。
【図２２】余剰一致処理での各種例を示す概念図である。
【図２３】実施形態による、出力処理の動作を説明するためのフローチャートである。
【図２４】出力処理での各種例を示す概念図である。
【図２５】実施形態による、出力例を説明するための模式図である。
【図２６】従来例を説明する概略図である。
【図２７】従来例を説明する概略図である。
【発明を実施するための形態】
【００１８】
［第１の実施形態］
以下、本発明の一実施形態を、図面を参照して説明する。図１は、本実施の形態に係る文字検索システムの一例を示すブロック図である。
図１に示す通り、文字検索システム１は、文字が入力される入力端末装置１００と、ネットワーク２００を介して入力端末装置１００と接続され、入力端末装置１００から受信する文字に応じた変換候補を検索する検索サーバ３００を備える。
【００１９】
入力端末装置１００は、入力部１０１と、制御部１０２と、出力部１０３と、端末通信部１０４と、端末記憶部１０５とを備える。制御部１０２は、識別部１０６と、ノードセパレータ付与部１０７を備える。
【００２０】
入力部１０１は、ユーザの操作指示が入力される部分であって、入力される操作指示に応じた信号を制御部１０２に出力する。入力部１０１は、例えば、文字が入力されるキーボードと、入力フィールド（文字入力領域）の指定や変換候補の選択がユーザによって行われるポインティングデバイス等を含む。本実施の形態において、入力部１０１は、ポインティングデバイス等を介してユーザによって指定された任意の入力フィールドの指定入力を受け付ける。また、入力部１０１は、キーボードを介してユーザによって入力される文字の入力を受け付ける。入力部１０１は、いわゆるＦＥＰ（Front End Processor）の動作により、キーボードからの入力に応じた入力変換を行う。なお、入力部１０１によって入力された文字入力と指定入力を含めて、以下入力内容という。例えば、入力フィールドに文字が入力されている場合は、入力されている文字が入力内容であって、入力フィールドが指定されている場合、指定されている入力フィールドであることを表す情報と共に、入力されている文字がある場合は当該入力されている文字が入力内容である。
また、入力部１０１は、ユーザの操作指示の入力を受け付け、当該操作指示に応じたイベントを検出する。ここで、イベントとは、ユーザの操作指示を表すものである。例えば、ポインティングデバイスを介してユーザがポインタを特定の入力フィールドに合わせた場合、入力部１０１は、当該入力フィールドが特定されたことを表すイベントを検出する。また、キーボードを介してユーザにより特定の入力フィールドに文字が入力された場合、文字が入力されたことを表すイベントを検出する。
【００２１】
制御部１０２は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）や、ワークエリアとなるメモリなどから構成され、端末記憶部１０５に格納されているプログラムを読み出して実行することで、入力端末装置１００の各部を制御する。
【００２２】
出力部１０３は、例えば、図２に示すような、予め用意された入力画面を表示するディスプレイであって、入力部１０１を介してユーザによって入力される操作指示に従い、入力フィールドに入力される文字を表示する。ここで、図２は、出力部１０３に表示される入力画面の一例を説明する概略図である。図２に示す通り、出力部１０３は、複数の入力フィールド５０１〜５０４を表示し、入力部１０１を介して指定された各入力フィールド５０１〜５０４に対して入力された文字と、本実施の形態に係る文字検索システム１によって検索された検索結果である変換候補を表示する。本実施の形態において、複数の入力フィールド５０１〜５０４は、第１区分入力フィールド５０１、第２区分入力フィールド５０２、第３区分入力フィールド５０３、第４区分入力フィールド５０４を含んでおり、それぞれ、予め決められた属性の文字が入力されるようになっている。入力フィールド５０１〜５０４には、各入力フィールドを識別するための識別子が付与されており、第１区分入力フィールド５０１には識別子「Ｆ１」、第２区分入力フィールド５０２には識別子「Ｆ２」、第３区分入力フィールド５０３には識別子「Ｆ３」、第４区分入力フィールド５０４には識別子「Ｆ４」が付与されている。
【００２３】
端末通信部１０４は、ネットワーク２００を介して検索サーバ３００と通信可能に接続され、入力端末装置１００によって生成される検索キーを検索サーバ３００に送信する。また、端末通信部１０４は、検索サーバ３００から送信された検索結果を受信し、出力部１０３に出力する。
【００２４】
端末記憶部１０５は、例えば、ハードディスク装置などの記憶装置から構成され、例えば、各入力フィールドに入力された文字を一時的に記憶する。
【００２５】
識別部１０６は、入力部１０１から入力フィールド５０１〜５０４に対して入力された入力内容を検出し、入力フィールド５０１〜５０４を識別する。
例えば、識別部１０６は、入力部１０１によってイベントが検出されると、検出されたイベントに基づき、文字を入力するための入力フィールドとしてユーザによって指定された入力フィールドを検出する。識別部１０６は、入力部１０１を介して入力フィールド５０１〜５０４のうち、いずれか１つが指定されると、この指定された入力エリアに対応づけされている識別子を検出する。例えば、識別部１０６は、第１区分入力フィールド５０１が指定された場合、識別子「Ｆ１」を検出し、第２区分入力フィールド５０２が指定された場合、識別子「Ｆ２」を検出する。
また、識別部１０６は、入力部１０１によってイベントが検出されると、検出されたイベントに基づき、文字を入力するための入力フィールドとして指定された入力フィールドに対して、入力部１０１から文字が入力されたか否かを判断する。識別部１０６は、指定された入力フィールドに文字が入力されていない状態である場合、その入力フィールドに文字が入力されていないことを表す入力内容（以下、Ｎｕｌｌ文字という）を検出する。またここで、文字が入力されていないことを表すＮｕｌｌ文字は、空欄情報という。
【００２６】
また、識別部１０６は、指定された入力フィールドに文字が入力された場合、入力された文字の入力内容が確定文字であること、未確定文字であること、あるいは確定文字と未確定文字の両方を含む内容であることを検出する。ここで、確定文字とは、入力内容としての文字が変換処理が完了した確定内容であることを表す文字であって、未確定文字とは、変換処理が完了する以前の未確定内容であることを表す文字である。識別部１０６は、例えば、特定の入力フィールドが指定された場合、指定された入力フィールドよりも上位の入力フィールドの入力内容は、確定文字と認識する。また、識別部１０６は、指定された入力フィールドに文字が入力された場合、この文字を未確定文字と識別し、入力された文字の変換処理を完了する指示（確定指示）が入力された場合、確定された文字を確定文字と識別する。
【００２７】
さらに、識別部１０６は、複数の入力フィールド５０１〜５０４を、例えば、第１区分入力フィールド５０１、第２区分入力フィールド５０２、第３区分入力フィールド５０３、第４区分入力フィールド５０４の入力内容を、それぞれの識別子と関連付けて識別し、入力部１０１によって指定された入力フィールドより前の順番（上位）として関連付けられている入力フィールドの入力内容を検出する。
また、識別部１０６は、指定された入力フィールドの識別子に基づき、当該入力フィールドよりも上位の入力フィールドがあるか否かを判断し、上位の入力フィールドがある場合は、この上位にある入力フィールドの入力内容と、入力フィールドの識別子とを関連付けて、上位の入力フィールドの入力内容を確定文字として検出する。例えば、第３区分入力フィールド５０３が指定されている場合、識別部１０６は、第３区分入力フィールド５０３の識別子「Ｆ３」とその入力内容とを関連付けて検出する。さらに、その上位の入力フィールドである第１区分入力フィールド５０１の識別子「Ｆ１」とその入力内容とを関連付けて検出し、第２区分入力フィールド５０２の識別子「Ｆ２」とその入力内容とを関連付けて検出する。
【００２８】
また、識別部１０６は、入力フィールド５０１〜５０４に入力されている未確定文字を確定するための確定指示が入力部１０１によって入力された場合、変換処理を完了し、変換処理が完了した際の入力フィールドの入力内容を確定内容として検出する。さらに、識別部１０６は、指定されている入力フィールドよりも前の順番として関連付けられている入力フィールドの入力内容は、確定内容として検出する。例えば、入力部１０１を介して文字を入力するための入力フィールドとして第２区分入力フィールド５０２が指定されている場合、第２区分入力フィールド５０２よりも前の順番（上位）として関連付けられている第１区分入力フィールド５０１に、文字が入力されている場合、当該文字を確定文字として検出し、文字が入力されていない場合、入力内容としてＮｕｌｌ文字を確定文字として検出する。
さらに、識別部１０６は、入力フィールド５０１〜５０４の入力内容を検出した場合、この入力内容を、入力フィールドの識別子と関連付けて、端末記憶部１０５に一時的に記憶させる。
【００２９】
ノードセパレータ付与部１０７は、識別部１０６によって識別された入力フィールドと、識別された入力フィールドの入力内容に基づき、識別された入力フィールドを区分するノードセパレータと、各入力フィールドの入力内容とを関連付けた検索キーを生成する。ノードセパレータ付与部１０７は、入力内容が検出された入力フィールド５０１〜５０４ごとに、検出された入力内容の先頭にノードセパレータを付与し、ノードセパレータが付与された入力内容を入力フィールド５０１〜５０４の順番に従って関連付けられた検索キーを生成する。
例えば、ノードセパレータ付与部１０７は、識別部１０６によって検出され、端末記憶部１０５に一時的に記憶されている入力フィールドの入力内容を、読み出す。ここで、端末記憶部１０５に一時的に記憶されている入力フィールドの入力内容は、入力フィールドの入力内容と、入力フィールドの識別子とが関連付けられている情報である。
ノードセパレータ付与部１０７は、確定文字と未確定文字とを分離した上で、確定文字がある場合は、入力内容と関連付けられている各入力フィールド５０１〜５０４の識別子を参照して、入力フィールドの入力内容の先頭にノードセパレータを付与し、上位の入力フィールドの入力内容から順番に連結させて、確定部の検索キーを生成する。ここで、ノードセパレータは、「／（例えば、“スラッシュ”を表す文字であり、ここでは「ひらがな」の文字とみなして取り扱う）」であって、確定文字に付与されるノードセパレータは、確定文字である。
一方、未確定文字がある場合、ノードセパレータ付与部１０７は、入力内容と関連付けられている各入力フィールド５０１〜５０４の識別子を参照して、当該未確定文字の前に、同じ入力フィールドの確定文字があるか否かを判断する。確定文字がない場合、ノードセパレータ付与部１０７は、当該未確定文字が入力フィールドの先頭であることを判断し、当該未確定文字の先頭にノードセパレータを付与して、未確定部の検索キーとして生成する。なお、未確定文字に付与されるノードセパレータは、未確定文字である。
一方、確定文字がある場合、当該未確定文字には、ノードセパレータを付与せず、未確定部の検索キーとして生成する。なお、これは、１つの入力フィールドに確定文字と未確定文字とを含む状態であって、入力フィールドの先頭である確定文字の先頭にノードセパレータが付与される。
ここで、ノードセパレータ付与部１０７は、未確定文字の後ろ（下位）に確定文字がある場合、この未確定文字の後ろの確定文字を削除する。
【００３０】
また、ノードセパレータ付与部１０７は、各入力フィールド５０１〜５０４の入力内容に応じて、確定文字からなる確定部と、未確定文字からなる未確定部とを含む検索キーを生成する。
さらに、ノードセパレータ付与部１０７は、入力内容の中にノードセパレータ「／」と同じ文字が入力されていることを検出した場合、後述するエスケープ処理を行い、検索キーを生成する。
【００３１】
また、ノードセパレータ付与部１０７は、検索部３０７によって検索された検索結果を受け取った際、検索結果に含まれるノードセパレータを削除して出力部１０３に出力させる。ここで、ノードセパレータ付与部１０７が、入力内容の中にノードセパレータ「／」と同じ文字を検出した場合、後述するアンエスケープ処理を行う。
【００３２】
ここで、ノードセパレータは、入力される内容（文字あるいは空欄情報）を、入力フィールドごとに区分する情報である。また、ノードセパレータは、検索キーの確定部に確定文字が含まれている場合、それぞれ関連付けられている入力フィールドの順番に従って、当該確定文字の先頭から順番に入力フィールドを特定する。一方、検索キーの未確定部に未確定文字が含まれている場合、確定部に含まれているノードセパレータが先に入力フィールドの順番に従って対応付けられ、未確定部分に含まれるノードセパレータが、確定文字と対応付けられている入力フィールドの後に続く入力フィールドを特定する。
例えば、検索キーの確定部のみに２つのノードセパレータが含まれている場合、確定文字の最初のノードセパレータは、以下に続く文字が第１区分入力フィールド５０１の確定文字であることを表し、２番目のノードセパレータは、以下に続く文字が第２区分入力フィールド５０２の確定文字であることを表している。
【００３３】
検索サーバ３００は、サーバ通信部３０１と、サーバ記憶部３０２と、検索部３０７を備える。
サーバ通信部３０１は、ネットワーク２００を介して入力端末装置１００の端末通信部１０４と接続され、端末通信部１０４から送信される検索キーを受信し、検索部３０７に出力する。また、サーバ通信部３０１は、検索部３０７によって検索キーに基づき検索された検索結果を端末通信部１０４に送信する。
【００３４】
サーバ記憶部３０２は、読み補完辞書記憶領域３０３と、表記補完辞書記憶領域３０４と、プログラム格納領域３０５とを備える。
読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４には、入力端末装置１００から受信した検索キーに基づき、変換候補を検索する際に用いられる辞書データが格納されている。本実施形態では、入力端末装置１００の入力部１０１から入力される文字として、自然言語としての日本語が入力されるものとし、読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４には、このような、日本語入力変換の際に参照される辞書データが格納される。
【００３５】
読み補完辞書記憶領域３０３は、文字が変換処理される前の読みが単語として記録された辞書であって、互いに係り受け関係にある単語を、前記文字入力領域と対応付けられたノードとして木構造に構成した読み補完辞書データを記憶する。ここで、図３を用いて読み補完辞書データの一例について説明する。図３は、読み補完辞書データの構成の一例を示す概念図である。
【００３６】
図３に示すように、読み補完辞書データは、例えば、辞書の要素である単語の「読み」を結節点（ノード）とした、樹状の階層構造（木構造）のバイナリデータによって構成されている。本実施の形態において、「第１区分」となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する「第２区分」を示す単語（ノード）とが連結された構成（ノード列）となっている。また、「第２区分」となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する「第３区分」を示す単語（ノード）とが連結された構成（ノード列）となっている。
【００３７】
ここで、第１区分、第２区分、第３区分としてのノードは、それぞれ、第１区分入力フィールド５０１、第２区分入力フィールド５０２、第３区分入力フィールド５０３と対応付けられており、各入力フィールドに入力される単語として適した単語によって構成されている。また、読み補完辞書データは、入力される単語の「読み」に基づく辞書であって、各ノードには、読みを表すひらがなが単語として示されており、各単語の前にノードセパレータを示す「／」が付与された見出し語が各ノードの単語を構成している。
【００３８】
ここで、読み補完辞書データの“入力フィールドに入力される単語として適した単語”とは、各入力フィールドに入力される文字の変換候補として好ましい単語であって、例えば、各入力フィールドに入力される必要がある単語や、単語の意味あるいは属性が各入力フィールドに入力される単語として対応している単語である。県名が入力される必要がある入力フィールドに対しては、県名の読みに対応する単語が対応づけられており、対処事項を入力するための入力フィールドに対しては、「でんわにてたいおうした」「しゅっちょうにてたいおうした」等の対処事項の一例の読みに対応する単語が対応付けられている。
例えば、読み補完辞書データは、図３に示す通り、第１区分として、見出し語が「／とうきょうと」であるノードと、見出し語が「／とうきょうとちょう」であるノードとを含み、これらのノードは、入力端末装置１００の出力部１０３の第１区分入力フィールド５０１に入力される単語の「読み」を表すノードとして対応付けられている。
【００３９】
表記補完辞書記憶領域３０４は、読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書データであって、互いに係り受け関係にある単語を、読み補完辞書データと対応付けられたノードとして木構造に構成した表記補完辞書データを記憶する。ここで、図４を用いて表記補完辞書データの一例について説明する。図４は、表記補完辞書データの構成の一例を示す概念図である。
【００４０】
図４に示す通り、表記補完辞書データは、読み補完辞書データと同一の階層構造（木構造）によって構成されており、読み補完辞書データの各ノードに示された読みに対応する表記を示す単語を、表記補完辞書データの各ノードの見出し語として、読み補完辞書データのノードと対応する位置に構成している。
表記補完辞書データは、辞書の要素である単語の「表記」をノードとした、木構造のバイナリデータによって構成されており、「第１区分」となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する「第２区分」を示す単語（ノード）とが連結された構成（ノード列）となっている。また、「第２区分」となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する「第３区分」を示す単語（ノード）とが連結された構成（ノード列）となっている。
表記補完辞書データは、読み補完辞書データの各ノードを構成する単語が変換処理された後の「表記」に基づく辞書であって、各ノードには、「読み」に対応する漢字が単語として示されており、各単語の前にノードセパレータを示す「／」が付与された見出し語が各ノードの単語を構成している。
例えば、表記補完辞書データは、第１区分として、見出し語が「／東京都」であるノードと、見出し語が「／東京都庁」であるノードとを含み、これらのノードは、入力端末装置１００の出力部１０３の第１区分入力フィールド５０１に入力される単語の変換候補として対応付けられている。
【００４１】
つまり、表記補完辞書データは、読み補完辞書データに含まれている係り側の単語と、それに連結される受け側の単語群を構成しているノードが、各ノードの表記に基づいて構成されている辞書データである。例えば、読み補完辞書データにおいて、読みが「／とうきょうと」であるノードにリンクする表記補完辞書データでのノードでは、“とうきょうと”の変換後の表記である「／東京都」が対応付けられている。
【００４２】
ここで、読み補完辞書データおよび表記補完辞書データの各ノードに付されている丸記号（○の中にアルファベット）は、読み補完辞書データと表記補完辞書データとのノード間のリンクを表すリンクポインタである。つまり、読み補完辞書データと表記補完辞書データとの間において、同じ丸記号（同じアルファベット）のリンクポインタが設定されているノード同士は、相互に参照可能であることを示している。このように、一対の読み補完辞書データと表記補完辞書データとは、ノード単位でリンクされている。
プログラム格納領域３０５には、検索部３０７が検索を実行するためのプログラムが格納される。
【００４３】
検索部３０７は、サーバ通信部３０１を介して入力端末装置１００から検索キーを受信し、読み補完辞書記憶領域３０３または表記補完辞書記憶領域３０４を参照して検索キーに応じた検索を行う。
例えば、検索部３０７は、検索キーに確定部が含まれている場合、この確定部の内容に沿って、表記補完辞書記憶領域３０４の表記補完辞書データの「ｒｏｏｔ」から下位に向かって検索する。ここで、検索キーに確定部と未確定部の両方が含まれている場合、表記補完辞書データのリンクポインタを参照して、同じリンクポインタが付されている読み補完辞書記憶領域３０３の読み補完辞書データから、未確定部の未確定文字の照合を行い、該当するリンクポインタを介して表記補完辞書データから検索結果を得る。
一方、検索部３０７は、検索キーに未確定部のみが含まれている場合、未確定部の内容に沿って、読み補完辞書記憶領域３０３の読み補完辞書データの「ｒｏｏｔ」から下位に向かって検索する。なお、詳細については後述する。なお、ここでは、「ｒｏｏｔ」が最上位であり、「ｒｏｏｔ」の配下に属するノードの階層が増えるごとに下位である。
【００４４】
また、検索部３０７は、読み補完辞書記憶領域３０３から、入力フィールド５０１〜５０４のうち検索対象の入力フィールドとして特定された入力フィールドに対応する読み補完辞書データのノードを検出する。
例えば、確定部の入力内容が「／東京都庁」、未確定部の入力内容が「／だ」からなる検索キーが入力された場合、検索部３０７は、確定部と未確定部のそれぞれから１つのノードセパレータを検出し、第１区分入力フィールド５０１の確定文字として「東京都庁」と関連づけられた第２区分入力フィールド５０２を、検索対象の入力フィールドとする。つまり、検索部３０７は、検索対象の入力フィールド５０２に対応する読み補完辞書データのノードとして、リンクポインタ（ｅ）の見出し語「／だいいちほんちょうしゃ」と、リンクポインタ（ｆ）の見出し語「／だいにほんちょうしゃ」と、リンクポインタ（ｇ）の見出し語「／だいさんほんちょうしゃ」を検出する。
【００４５】
さらに、検索部３０７は、表記補完辞書記憶領域３０４から、検出された読み補完辞書データのノードの単語と対応関係にある表記補完辞書データのノードの単語を検出する。
例えば、検索部３０７は、読み補完辞書データのノードとして、リンクポインタ（ｅ）の見出し語「／だいいちほんちょうしゃ」と、リンクポインタ（ｆ）の見出し語「／だいにほんちょうしゃ」と、リンクポインタ（ｇ）の見出し語「／だいさんほんちょうしゃ」を検出した場合、検出されたノードと対応関係にあるノードを、リンクポインタに基づき表記補完辞書データから検出する。つまり、検索部３０７は、リンクポインタ（ｅ）の見出し語「／第一本庁舎」と、リンクポインタ（ｆ）の見出し語「／第二本庁舎」と、リンクポインタ（ｇ）の見出し語「／第三本庁舎」とを検出する。
【００４６】
検索部３０７は、検出した表記補完辞書データのノードの単語、および検出された単語のノード区分（例えば、第１区分、第２区分、第３区分、第４区分）を表す情報（例えば、識別子Ｆ１〜Ｆ４）を、検索結果としてサーバ通信部３０１に出力する。つまり、検索部３０７は、検索対象の入力フィールドの変換候補として、表記補完辞書データから検出された全ての単語を検索結果として出力する。なお、詳細については後述する。
【００４７】
次に、図５、６を用いて、本実施形態に係る文字検索システム１による文字検索方法の一例について説明する。図５は、本実施形態に係る入力端末装置１００によって検索キーが生成される方法の一例について説明するためのフローチャートである。
【００４８】
図５に示す通り、入力部１０１を介してユーザによって、文字を入力するために、ポインタが特定の入力フィールドに合わせられると、入力部１０１によってこのイベントが検出される。識別部１０６は、入力部１０１から検出されたイベントに基づき、指定された入力フィールドを識別する（ステップＳＴ１）。例えば、識別部１０６は、指定されている入力フィールドの識別子を検出する。
そして、識別部１０６は、文字を入力するために指定されている入力フィールドに、入力部１０１を介して文字が入力されたか否かを検出し、文字入力が検出された場合、入力された文字が確定文字であるか否かを検出する。
例えば、入力部１０１から確定指示が入力され、入力された文字が確定された場合、識別部１０６は、識別子と関連付けた確定文字として検出し、記憶部１０５に一時的に記憶させる。
ここで、確定指示が入力されていない文字がある場合、識別部１０６は、その文字を未確定文字として検出する。入力部１０１を介して文字が入力されていない場合、識別部１０６は、文字が入力されていないことを表すＮｕｌｌ文字を検出する。そして、識別部１０６は、検出された未確定文字あるいはＮｕｌｌ文字と、当該入力フィールドの識別子と関連づけて、記憶部１０５に一時的に記憶させる。なお、Ｎｕｌｌ文字も、確定文字あるいは未確定文字のいずれかであって、識別部１０６によって識別される。
このようにして、識別部１０６は、指定された入力フィールドの入力内容を取得し（ステップＳＴ２）、取得した入力内容を入力フィールドの識別子と関連付けておく。
【００４９】
次いで、識別部１０６は、指定されている入力フィールドの上位の入力フィールドの入力内容を検出し、ステップＳＴ２と同様にして、検出された入力内容（確定文字、あるいは確定文字として扱われるＮｕｌｌ文字）と、当該入力内容が検出された入力フィールドの識別子と関連づけて、記憶部１０５に一時的に記憶させる（ステップＳＴ３）。
そして、ノードセパレータ付与部１０７は、一時記憶されている確定文字に関する情報を端末記憶部１０５から読み出し、入力内容と入力フィールドの識別子を確認する。ノードセパレータ付与部１０７は、識別部１０６によって、ステップＳＴ１において識別された入力フィールドと、ステップＳＴ２〜３において検出された入力内容に基づき、検出された入力内容に対して、対応する入力フィールドを区分するノードセパレータを付与する（ステップＳＴ４）。なお、確定文字の前に付与されるノードセパレータは、確定文字として用いられ、未確定文字の前に付与されたノードセパレータは、未確定文字として用いられる。
さらに、ノードセパレータ付与部１０７は、検出された入力内容に応じて、確定部および未確定部からなる検索キーを生成し（ステップＳＴ５）、端末通信部１０４に出力する。端末通信部１０４は、ネットワーク２００を介して検索キーを検索サーバ３００のサーバ通信部３０１に送信する（ステップＳＴ６）。
【００５０】
次に、図６を用いて、図５に続く文字検索方法の一例について説明する。図６は、図５に続く文字検索方法の一例について説明するためのフローチャートである。
図６に示す通り、サーバ通信部３０１が、検索キーを受信すると（ステップＳＴ２１）、検索部３０７は、受信した検索キーに基づき、検索キーの確定部に確定文字が含まれているか否かを検出する（ステップＳＴ２２）。検索キーの確定部に確定文字が含まれている場合（ステップＳＴ２２−ＹＥＳ）、検索部３０７は、検索キーの確定部に含まれているノードセパレータを検出する（ステップＳＴ２３）。
また、検索部３０７は、受信した検索キーに基づき、検索キーの未確定部に未確定文字が含まれているか否かを検出する（ステップＳＴ２４）。検索キーの未確定部に未確定文字が含まれている場合（ステップＳＴ２４−ＹＥＳ）、検索部３０７は、検索キーの未確定部に含まれているノードセパレータを検出する（ステップＳＴ２５）。
【００５１】
次いで、検索部３０７は、検索キーに基づき、検索処理（詳細については後述する）を行う（ステップＳＴ２６）。そして、検索部３０７は、検索処理によって得られた検索結果を出力する出力処理（詳細については後述する）を行い、出力処理がなされた検索結果を、サーバ通信部３０１を介して入力端末装置１００に送信する（ステップＳＴ２７）。
入力端末装置１００は、端末通信部１０４を介して検索結果を受信して制御部１０２へ出力する。ノードセパレータ付与部１０７は、検索結果からノードセパレータを削除する。そして、ノードセパレータ付与部１０７は、検索結果のノード区分に対応する入力フィールドを特定し、当該入力フィールドの変換候補として、ノードセパレータが削除された単語を変換候補として力部１０３に出力させる（ステップＳＴ３０）。
【００５２】
ここで、図５、６に示した文字検索方法によって検索される変換候補の表示例を図７を用いて説明する。図７は、本実施形態に係る文字検索方法によって検索される変換候補を表示する入力画面の一例を示す概略図である。
【００５３】
図７に示す通り、入力部１０１を介してユーザによって、例えば、ポインタが第１区分の入力フィールド上に移動されてクリックされることにより、入力部１０１は、このイベントを検出する。ここで、識別部１０６は、指定された第１区分入力フィールド５０１に文字が入力されていない状態であるので、指定された入力フィールドの識別子と関連付けた未確定Ｎｕｌｌ文字を検出する。これにより、ノードセパレータ付与部１０７は、文字が入力されていないことを表す空欄情報と、ノードセパレータとを関連付けて未確定文字「／  」（ここでは、本実施形態の説明のため、“／”の後ろに未確定Ｎｕｌｌ文字を表すスペースを示している）を生成し、未確定部に未確定文字「／  」を含む検索キーを作成する。
【００５４】
この検索キーを受信した検索部３０７は、未確定部から１つのノードセパレータを検出し、検出されたノードセパレータが表す入力フィールドを検索対象の入力フィールドとして特定する。ここで、検索キーからは１つのノードセパレータのみが検出されているため、検索部３０７は、順番付けられた入力フィールド５０１〜５０３のうち、順番付けにおいて最も先頭（文頭）に位置する第１区分入力フィールド５０１を、検索対象の入力フィールドとして特定する。
これにより、検索部３０７は、第１区分入力フィールド５０１と対応する読み補完辞書データのノードとして、リンクポインタ（ａ）、（ｂ）のノードを検出し、リンクポインタによって対応付けられている表記補完辞書データのリンクポインタ（ａ）のノードの見出し語「／東京都」と、リンクポインタ（ｂ）のノードの見出し語「／東京都庁」とを検出する。そして、検索部３０７は、検出された「／東京都」および「／東京都庁」と、これら検出された単語のノード区分（第１区分）を表す情報を付与した検索結果をサーバ通信部３０１に出力する。
そして、出力部１０３は、検出された検索結果からノードセパレータ「／」が削除された「東京都」および「東京都庁」を、図７に示す通り、第１区分入力フィールド５０１の変換候補として表示する。
【００５５】
次に、図５、６に示した文字検索方法によって検索される変換候補の他の表示例を図８を用いて説明する。図８は、本実施形態に係る文字検索方法によって検索される変換候補を表示する入力画面の他の例を示す概略図である。なお、図８は、図７に示す文字検索方法によって検索された変換候補のうち「東京都」がユーザによって確定された場合に引き続く文字検索方法の一例である。
【００５６】
例えば、図８に示すように変換候補のうち「東京都」が確定された場合、識別部１０６は、第１区分入力フィールド５０１の確定内容が「東京都」であることを検出し、当該内容に識別子「Ｆ１」を関連付けて、端末記憶部１０５に一時的に記憶させる。
そして、図８に示すように、入力部１０１を介して、ユーザにより文字を入力するための入力フィールドとして第２区分入力フィールド５０２が指定されると、入力部１０１は、このイベントを検出する。当該第２区分入力フィールド５０２に文字が入力されていない状態において、識別部１０６は、識別子「Ｆ２」と関連付けられた未確定Ｎｕｌｌ文字を検出する。
次いで、ノードセパレータ付与部１０７は、端末記憶部１０５に記憶されている確定文字「東京都」を読み出し、関連付けられている識別子を参照して、読み出した確定文字と、検出された未確定Ｎｕｌｌ文字が異なる入力フィールドの入力内容であるか否かを検出する。ここで両者は異なる入力フィールドであるため、ノードセパレータ付与部１０７は、「東京都」にノードセパレータを付与して「／東京都」を生成し、空欄情報にノードセパレータを付与して「／  」を生成する。
このようにして、ノードセパレータ付与部１０７は、確定部に確定文字「／東京都」を含み、未確定部に未確定文字「／  」を含む検索キーを作成する。
【００５７】
この検索キーを受信した検索部３０７は、検索キーの確定部から１つのノードセパレータ、未確定部から１つのノードセパレータをそれぞれ検出し、検索対象の入力フィールドを特定する。ここで、検索キーから検出されたノードセパレータは２つであって、確定部において検出された１つのノードセパレータが、順番付けられた入力フィールド５０１〜５０３のうち、順番付けにおいて最も先頭に位置する第１区分入力フィールド５０１であることを表している。このため、検索部３０７は、未確定部において検出された１つのノードセパレータが、確定部において検出されたノードセパレータが表す入力フィールドの次の順番となる第２区分入力フィールド５０２を表していることを検出する。これにより、検索部３０７は、未確定部において検出されたノードセパレータが表す第２区分入力フィールド５０２を、検索対象の入力フィールドとして特定する。
【００５８】
これにより、検索部３０７は、第１区分入力フィールド５０１の確定内容「／東京都」が関連付けられた第２区分入力フィールド５０２と対応する読み補完辞書データのノードとして、図３に示す通り、リンクポインタ（ｃ）、（ｄ）のノードを検出する。そして、検索部３０７は、図４に示す通り、リンクポインタ（ｃ）、（ｄ）によって対応付けられている表記補完辞書データのリンクポインタ（ｃ）のノードの見出し語「／江東区」と、リンクポインタ（ｄ）のノードの見出し語「／中央区」を検出する。そして、検索部３０７は、検出された「／江東区」および「／中央区」と、これら検出された単語のノード区分（第２区分）を表す情報を付与した検索結果をサーバ通信部３０１に出力する。
そして、出力部１０３は、検出された検索結果からノードセパレータ「／」を削除された「江東区」および「中央区」を、図８に示す通り、第２区分入力フィールド５０２の変換候補として表示する。
次いで、第２区分入力フィールド５０２に「こ」が入力された場合、確定部が「／東京都」、未確定部が「／こ」からなる検索キーが生成され、検索部３０７によって、第２区分入力フィールドの出力候補語として「／江東区」が得られ、サーバ通信部３０１に出力される。そして、検索結果から、ノードセパレータ「／」が削除され、第２区分入力フィールド５０２には、「江東区」のみが表示される。
【００５９】
上述の通り、本実施形態に係る文字検索システム１は、複数の入力フィールド５０１〜５０３を識別し、入力フィールド５０１〜５０３ごとに検出された入力内容に応じて検索キーを作成することができる。また、入力フィールド５０１〜５０３のうち任意の入力フィールドが指定された状態で、文字が入力されていない状態であっても、文字が入力されていないことを表す入力内容であるＮｕｌｌ文字にノードセパレータを付与して検索キーを生成することができる。
これにより、例えば、図７に示す通り、入力フィールドを指定することによって、読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４において、複数の入力フィールド５０１〜５０３と対応付けられたノードから、指定された入力フィールドに対応する単語を検索し、変換候補として入力画面に表示することができる。よって、ユーザは、入力フィールドに何らかの文字を入力せずとも、変換候補を得ることでき、入力作業を効率的に行うことができる。
【００６０】
一方、本実施形態に係る文字検索システム１によらない場合では、図２６に示す通り、入力フィールドが指定され、文字が入力されていない状態においては、何れの変換候補も表示されないため、ユーザは何らかの文字を入力しなければならない。また、読みがわからない文字を入力する場合や、誤った読みを入力した場合は、ユーザの所望する変換候補が表示されない問題が考えられる。しかし、本実施形態に係る文字検索システム１は、文字が入力されていない状態であっても、入力フィールドが指定されることで、変換候補を表示するようにしたため、このような問題を解決することができる。
【００６１】
また、本実施の形態に係る文字検索システム１では、複数の入力フィールド５０１〜５０１を表すノードセパレータが、それぞれの入力フィールド５０１〜５０３に入力されている入力内容と関連づけられた検索キーが、ノードセパレータ付与部１０７によって作成される。これにより、検索部３０７は、読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４において、各入力フィールド５０１〜５０３と対応付けられているノード区分に従って、変換候補を検索することができる。よって、読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４のように、木構造において各ノードが関連付けられた辞書データを用いて変換候補を検索し、入力画面に表示する場合であっても、入力フィールドに適した変換候補を検索することができる。
【００６２】
一方、本実施形態に係る文字検索システム１を用いない場合では、図２７に示す通り、先の第１区分入力フィールドにおいて確定文字「東京都」が入力されている状態で、第２区分入力フィールドが指定された場合であっても、確定文字「東京都」を含む「東京都庁」が変換候補として検索されてしまい、「東京都」と関連付けられた「江東区」「中央区」より上部に「庁」が表示される問題が考えられる。ここで、「庁」がユーザによって選択された場合、入力が必要とされていない文字が入力フィールドに入力されてしまい、入力のやり直しが必要となる不都合が生じる場合が考えられる。しかし、本実施形態に係る文字検索システム１は、入力フィールドごとに関連付けられた変換候補を検索するようにしたので、誤った入力フィールドに、変換候補が表示される問題を解決することができる。
【００６３】
［第２の実施形態］
次に、本実施形態に係る文字検索システム１の他の例について説明する。なお、上記実施の形態と同様の構成や機能についての詳細な説明は省略する。
図９は、本実施形態に係る読み補完辞書記憶領域３０３に記憶されている読み補完辞書データの他の例を示す概略図である。
図９に示す読み補完辞書データは、上述の通り、辞書の要素である単語の「読み」をノードとした木構造のバイナリデータによって構成され、「ｒｏｏｔ」以下に「第１区分」、「第２区分」、「第３区分」のノードが、それぞれ係り受けの関係に従って連結されている。
【００６４】
ここで、「第１区分」のリンクポインタ（ｂ）のノードの見出し語は、「／ぱそこん￥／ぴーしーそふと」であって、文頭にノードセパレータ「／」を、文中にエスケープ文字「￥」と、ノードセパレータ「／」とを含んでいる。また、「第２区分」のリンクポインタ（ｅ）のノードの見出し語は、「／  」であって、文頭にノードセパレータ「／」を、文中には空を表すＮｕｌｌ文字とを含んでいる。さらに、「第３区分」のリンクポインタ（ｊ）のノードの見出し語は、「／げーむ￥／しゅうへんきき」であって、文頭にノードセパレータ「／」を、文中にエスケープ文字「￥」と、ノードセパレータ「／」とを含んでいる。
またここでは、「ｒｏｏｔ」を最上流として、「ｒｏｏｔ」配下に属するノードが、その「ｒｏｏｔ」からの階層が増えるにつれて下流となっており、このノードの階層と入力フィールドの区分（第１区分、第２区分、第３区分）とが対応している。
【００６５】
図１０は、本実施形態に係る表記補完辞書記憶領域３０４に記憶されている表記補完辞書データの他の例を示す概略図である。
図１０に示す表記補完辞書データは、上述の通り、読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書データであって、互いに係り受け関係にある単語を、読み補完辞書データと対応付けられたノードとして木構造に構成されており、「第１区分」、「第２区分」、「第３区分」のノードが、それぞれ係り受けの関係によって連結されている。
ここで、「第１区分」のリンクポインタ（ｂ）のノードの見出し語は、「／パソコン￥／ＰＣソフト」であって、文頭にノードセパレータ「／」を、文中にエスケープ文字「￥」と、ノードセパレータ「／」とを含んでいる。また、「第２区分」のリンクポインタ（ｅ）のノードの見出し語は、「／  」であって、文頭にノードセパレータ「／」を、文中には空欄情報を表すＮｕｌｌ文字とを含んでいる。さらに、「第３区分」のリンクポインタ（ｊ）のノードの見出し語は、「／ゲーム￥／周辺機器」であって、文頭にノードセパレータ「／」を、文中にエスケープ文字「￥」と、ノードセパレータ「／」とを含んでいる。
【００６６】
次に、図１１を用いて、本実施形態に係る文字検索システム１による文字検索方法の他の例について説明する。なお、図５、６に示した本実施形態に係る文字検索方法と同様の構成や機能についての詳細な説明は省略する。
図１１は、本実施形態に係る文字検索システム１による文字検索方法の他の例について説明するためのフローチャートである。図１２は、図１１を説明する際に、出力部１０３によって表示される入力画面の一例を示す概略図である。図１３は、図１１に係る文字検索方法の一例を説明するための図である。
【００６７】
まず図１１に示す通り、ステップＳＴ２、３（図５参照）において識別部１０６によって入力フィールド５０１〜５０４の入力内容が検出されると（ステップＳＴ４１）、ノードセパレータ付与部１０７は、検出された入力内容に、エスケープ文字「￥」あるいはノードセパレータ「／」があるか否かを検出する（ステップＳＴ４２）。エスケープ文字「￥」あるいはノードセパレータ「／」が検出された場合（ステップＳＴ４２−ＹＥＳ）、ノードセパレータ付与部１０７は、エスケープ処理を行う（ステップＳＴ４３）。
ここで、エスケープ処理とは、入力内容にエスケープ文字「￥」あるいはノードセパレータ「／」が含まれていた場合、検出されたエスケープ文字「￥」あるいはノードセパレータ「／」の直前あるいは直後にエスケープ文字「￥」を付与して、入力内容に含まれているエスケープ文字「￥」あるいはノードセパレータ「／」を、エスケープ対象文字（例えば、「￥￥」「￥／」あるいは「／￥」）に置き換える処理である。この処理により、「／」を、入力フィールド間を区分するノードセパレータとすべきか、あるいはユーザによって入力された文字として認識するべきかを把握することができる。
【００６８】
例えば、図１２に示す通り、出力部１０３は、入力画面において、第１区分入力フィールド５０１に確定文字「パソコン／ＰＣソフト」を表示する。ここで、第２区分入力フィールド５０２には何も入力されていない状態であるため何も表示されていない。また、第３区分入力フィールド５０３は、文字を入力するためにユーザによって指定されている入力フィールドであり、未確定文字「げ」が表示される。
図１２に示すような状態において、識別部１０６は、図１３（ａ）に示すような入力内容を検出する。つまり、識別部１０６は、第１区分入力フィールド５０１の入力内容として、確定文字「パソコン／ＰＣソフト」を検出し、第２区分入力フィールド５０２の入力内容として確定文字「確定Ｎｕｌｌ文字」を検出し、第３区分入力フィールド５０３の入力内容として未確定文字「げ」を検出する。
これにより、ノードセパレータ付与部１０７は、第１区分入力フィールド５０１の入力内容である確定文字「パソコン／ＰＣソフト」にノードセパレータと同じ文字「／」があることを検出する。そして、ノードセパレータ付与部１０７は、「パソコン／ＰＣソフト」をエスケープ処理して、「パソコン￥／ＰＣソフト」とする。
【００６９】
次いで、図１１に戻って、ノードセパレータ付与部１０７は、エスケープ処理された第１区分入力フィールド５０１の確定文字「パソコン￥／ＰＣソフト」に対してノードセパレータ「／」を付与して、確定文字「／パソコン￥／ＰＣソフト」を生成する。また、ノードセパレータ１０７は、第２区分入力フィールド５０１の確定文字「確定Ｎｕｌｌ文字」（空欄情報を意味する）に対してノードセパレータ「／」を付与して確定文字「／  」を生成し、第３区分入力フィールド５０３の未確定文字「げ」に対してノードセパレータ「／」を付与して未確定文字「／げ」を生成する（ステップＳＴ４４）。
そして、ノードセパレータ付与部１０７は、図１３（ｂ）に示すように、確定文字「／パソコン￥／ＰＣソフト」と確定文字「／  」を、入力フィールド５０１〜５０３の順に従って並べて、確定部の確定文字「／パソコン￥／ＰＣソフト／  」を生成する。次いで、ノードセパレータ付与部１０７は、確定部の確定文字「／パソコン￥／ＰＣソフト／  」と、未確定部の未確定文字「／げ」からなる検索キーを生成する。
【００７０】
検索部３０７は、当該検索キーに基づき、検索処理（詳細については後述する）を行い、図１３（ｃ）に示す検索結果を得る（ステップＳＴ４５）。
すなわち、検索部３０７は、確定文字「／パソコン￥／ＰＣソフト／  」にエスケープ対象文字「￥／」が含まれるか否かを検出する。検索部３０７は、「／パソコン￥／ＰＣソフト／  」から、ノードセパレータを含むエスケープ対象文字を検出すると、検索キーの確定部の確定文字「／パソコン￥／ＰＣソフト／  」からエスケープ対象文字を除いてノードセパレータを検出する。ここで、検索部３０７は、パソコンの直前に付されたノードセパレータと、「ソフト」の直後であって、Ｎｕｌｌ文字（空欄情報）の直前に付されたノードセパレータを検出する。
一方、検索部３０７は、検索キーの未確定部の未確定文字に対しても同様にして、エスケープ対象文字が含まれるか否かを判断し、含まれている場合は、エスケープ対象を除いてノードセパレータを検出する。ここで、検索部３０７は、「げ」の直前に付されているノードセパレータを検出する。
【００７１】
次いで、検索部３０７は、検索キーから検出されたノードセパレータが３つであることを検出する。ここで、確定部において検出された２つのノードセパレータが、最も先頭に位置する第１区分入力フィールド５０１と次に位置する第２区分入力フィールド５０２であることを表している。このため、検索部３０７は、未確定部において検出された１つのノードセパレータが、確定部において検出されたノードセパレータによって表される入力フィールドの次の順番となる第３区分入力フィールド５０３を表していることを検出する。これにより、検索部３０７は、未確定部において検出されたノードセパレータが表す第３区分入力フィールド５０３を、検索対象の入力フィールドとして特定する。
【００７２】
これにより、検索部３０７は、例えば、読み補完辞書データにおいて、第１区分の「／ぱそこん￥／ぴーしーそふと」のノードと、第２区分の「／  」のノードと関連付けられた第３区分のノードとして、図９に示す通り、リンクポインタ（ｈ）、（ｉ）、（ｊ）のノードを検出する。そして、検索部３０７は、図１０に示す通り、リンクポインタ（ｈ）、（ｉ）、（ｊ）によって対応付けられている表記補完辞書データのリンクポインタ（ｈ）のノードの見出し語「／ゲームソフト」と、リンクポインタ（ｉ）のノードの見出し語「／ゲーム本体」と、リンクポインタ（ｊ）のノードの見出し語「／ゲーム￥／周辺機器」を検出する。そして、検索部３０７は、検出された「／ゲームソフト」「／ゲーム本体」および「／ゲーム￥／周辺機器」と、これら検出された単語のノード区分（第３区分）を表す情報を付与した検索結果をサーバ通信部３０１に出力する。
【００７３】
そして、検索部３０７は、検索処理によって得られた検索結果に対して出力処理（詳細については後述する）を行い、出力処理がなされた検索結果を、サーバ通信部３０１を介して入力端末装置１００に送信する（ステップＳＴ４６）。
検索結果を受信した入力端末装置１００において、ノードセパレータ付与部１０７が、検索結果「／ゲームソフト」「／ゲーム本体」および「／ゲーム￥／周辺機器」からノードセパレータを削除し（ステップＳＴ４７）、さらに、検索結果「／ゲームソフト」「／ゲーム本体」および「／ゲーム￥／周辺機器」にエスケープ文字が含まれているか否かを検出する（ステップＳＴ４８）。エスケープ文字が含まれていた場合、検索部３０７は、アンエスケープ処理を行う（ステップＳＴ４９）。出力部１０３は、検出された検索結果からノードセパレータ「／」が削除され、アンエスケープ処理がなされた「ゲームソフト」「ゲーム本体」および「ゲーム／周辺機器」を、図１２に示す通り、第３区分入力フィールド５０３の変換候補として表示する。
ここで、アンエスケープ処理とは、ノードセパレータを削除する際に、エスケープ対象文字が検出された場合、エスケープ対象文字をノードセパレータとする処理である。よって、「／ゲーム￥／周辺機器」は、ノードセパレータを削除する際、エスケープ対象文字「￥／」をノードセパレータ「／」に置き換えられ、文頭のノードセパレータが削除される。
【００７４】
上述の通り、本実施形態に係る文字検索システム１は、複数の入力フィールド５０１〜５０３を識別し、入力フィールド５０１〜５０３ごとに検出された入力内容に応じて検索キーを作成することができる。また、入力フィールド５０１〜５０３のうち任意の入力フィールドが指定された状態で、指定された入力フィールドよりも前の順番である入力フィールドの入力内容を確定内容として検出することができる。さらに、確定内容として検出された入力内容が、空欄情報であっても、空欄情報とノードセパレータとを関連付けて検索キーを生成することができる。
これにより、例えば、図１２に示すように、第１区分入力フィールド５０１に文字が入力され、第２区分入力フィールド５０２に文字が入力されていない状態において、第３区分入力フィールド５０３にポインタが位置している状態であっても、識別部１０６が、指定された第３区分よりも前の順である第１区分入力フィールド５０１と第２区分入力フィールド５０２の入力内容として、それぞれ入力されている文字（パソコン／ＰＣソフト）と、空欄情報とを検出する。よって、第２区分入力フィールド５０２のように、文字が入力されていない場合であっても、空欄情報に入力フィールドを表すノードセパレータが関連付けられた検索キーが生成されるため、途中の入力フィールドにおいて、文字が入力されていない状態であっても、検索することができる。
【００７５】
一方、一般的な辞書データは、木構造からなるノードによって関連付けられている単語を、ノードに対応する単語同士を関連付けて記憶しているものが多く、“NULL文字”を含む関連付けがなされていない場合が多い。この場合、入力された文字において“NULL文字”が含まれている場合、これを検索キーとして、辞書データから変換候補を検索することができない問題が考えられる。
これに対して、本実施形態に係る文字検索システムは、上記問題を解決することができる。
【００７６】
なお、本実施形態に係る入力端末装置１００は、例えば、コールセンタなどでの入力業務に用いる入力端末装置であって、ワークステーションやパーソナルコンピュータなどの情報処理装置から構成されるものが好ましい。また、本実施形態に係る入力端末装置１００にあっては、携帯電話のユーザサポート業務を行うコールセンタにおいて、ユーザに対する電話応答時に頻出する語彙を基に、読み補完辞書記憶領域３０３の読み補完辞書データと、表記補完辞書記憶領域３０４の表記補完辞書データが構成されているものであってもよい。
これにより、電話による応対の内容をリアルタイムに入力する必要のあるコールセンタの作業などにおいて、より効率的な文字入力を実現することができる。
【００７７】
［第３の実施形態］
次に、本実施形態に係る文字検索システム１の他の例について説明する。なお、上記実施の形態と同様の構成や機能についての詳細な説明は省略する。
図１４は、本実施形態に係る読み補完辞書記憶領域３０３に記憶されている読み補完辞書データの他の例を示す概略図である。
図１４に示す読み補完辞書データは、上述の通り、辞書の要素である単語の「読み」をノードとした木構造のバイナリデータによって構成され、「ｒｏｏｔ」以下に「第１区分」、「第２区分」、「第３区分」「第４区分」のノードが、それぞれ係り受けの関係に従って連結されている。
【００７８】
ここで、「第１区分」〜「第３区分」のノードは、それぞれ１つのノードが、各区分のノードとして対応付けられている。なお、「第１区分」〜「第３区分」は、それぞれ、電気製品のカテゴリ、カテゴリに応じた家電製品の種類、家電製品の品番を入力するための入力フィールドとして対応づけられており、詳細について、上記実施形態と同様である。
一方、「第４区分」のノードは、少なくとも２以上の階層からなる複数のノードを部分木とした木構造に構成されている。例えば、主語となる係り側の単語（ノード）のそれぞれに、係り受けの関係の受け側となる文節を構成する助詞と述語を示す単語（ノード）とが連結された構成（ノード列）となっている。この構成により、文法的に互いに係り受け関係にある単語が、相関的な位置で連結されている状態を示すデータによって辞書が構築される。
ここで、「第４区分」の複数のノードにおいて、先頭のリンクポインタ（ｇ）のノードの見出し語は、「／がめん」であって、文頭にノードセパレータ「／」を含んでいる。一方、このリンクポインタ（ｇ）のノードより下位の階層であるリンクポインタ（ｈ）〜（ｌ）のノードは、文頭にノードセパレータ「／」を含んでいない。
【００７９】
図１５は、本実施形態に係る表記補完辞書記憶領域３０４に記憶されている表記補完辞書データの他の例を示す概略図である。
図１５に示す表記補完辞書データは、上述の通り、読み補完辞書データに含まれる単語の変換処理後の表記が単語として記録された辞書データであって、互いに係り受け関係にある単語を、読み補完辞書データと対応付けられたノードとして木構造に構成されており、「第１区分」、「第２区分」、「第３区分」「第４区分」のノードが、それぞれ係り受けの関係によって連結されている。
【００８０】
表記補完辞書データも、読み補完辞書データと同様、「第１区分」〜「第３区分」のノードは、それぞれ１つのノードが、各区分のノードとして対応付けられている。一方、「第４区分」のノードは、少なくとも２以上の階層からなる複数のノードを部分木とした木構造に構成されている。
ここで、「第４区分」の複数のノードにおいて、先頭のリンクポインタ（ｇ）のノードの見出し語は、「／画面」であって、文頭にノードセパレータ「／」を含んでいる。一方、このリンクポインタ（ｇ）のノードより下位の階層であるリンクポインタ（ｈ）〜（ｌ）のノードは、文頭にノードセパレータ「／」を含んでいない。
【００８１】
次に、図１６〜２５を用いて、図１４、１５に示した読み補完辞書データおよび表記補完辞書データを用いた検索処理の一例について説明する（第１、第２の実施形態において「後述する」とした検索処理に相当）。
図１６において、検索部３０７は、検索キーのノードセパレータ「／」の下位に続く文字列の先頭が「ひらがなのみ」からなる「未確定部」であるか否かを判断する（Ｓ３０１）。そして、検索キーのノードセパレータ「／」の下位の文字列の先頭が「ひらがなのみ」で、かつ「未確定部」である場合には（Ｓ３０１：Ｙｅｓ）、「先頭未確定処理」（Ｓ５００）に進み、「ひらがなのみ」からなる「未確定部」でない場合（Ｓ３０１：Ｎｏ）には、「先頭確定処理」（Ｓ６００）に進む。なお、ノードセパレータ「／」をひらがなの文字として認識するため、検索部３０７は、ステップＳ３０１において、ノードセパレータ「／」を含めて、「ひらがなのみ」からなる「未確定部」であるか否かを判断するものであってもよい。
【００８２】
次に、上記ステップＳ５００の「先頭未確定処理」について図１７を参照して説明する。検索部３０７は、まず、「読み補完辞書」から係り側ノードを一つ取得する（Ｓ５０１）。これをノードｘとする。なお、以降、アルファベット小文字を用いて「ノードｘ」と記載した場合には、読み補完辞書のノードを表し、アルファベット大文字を用いて「ノードＸ」と記載した場合には、ノードｘと対応する、表記補完辞書のノードを表すものとする。
【００８３】
ノードｘと検索キーとの間に何らかの「前方一致」がある場合、検索キーとノードｘとの長短に応じて、包含関係を次のように定義する。
検索キー  ⊂  ノードｘ  部分一致
検索キー  ＝  ノードｘ  完全一致
検索キー  ⊃  ノードｘ  余剰一致
【００８４】
また、読み補完辞書および表記補完辞書は、各々、図１４および図１５に示すように構成されているものとする。ノードｘが「がめん」の場合を例に、検索キーとの部分一致、完全一致、余剰一致の例は、図１８（ａ）に示す通りである。
なお、前方一致とは検索キーとノードｘとの一致判断にあたり、常に先頭部分（文字列左端）の一致を条件とすることをいう。部分一致だが前方一致ではない例と、余剰一致だが前方一致ではない例とを、図１８（ｂ）に示す。
【００８５】
検索キーとノードｘに何らの一致（前方一致）もない場合（Ｓ５０２：Ｎｏ）検索部３０７は、読み補完辞書に比較すべきノードが残っていないか確認する（Ｓ５０６）。比較すべきノードが残っていれば（Ｓ５０６：Ｎｏ）、ステップＳ５０１へ戻る。
一方、比較すべきノードが残っていない場合（Ｓ５０６：Ｙｅｓ）は、当該先頭未確定処理を終了する。
【００８６】
また、検索キーとノードｘとがいずれかの形で前方一致すれば（Ｓ５０２：Ｙｅｓ）、検索部３０７は、ノードｘと対応する表記補完辞書のノードＸ（大文字Ｘ）を取得する（Ｓ５０３）。
そして、部分一致の場合（Ｓ５０４：Ｙｅｓ）、検索部３０７は、ノードＸを結果テーブル（サーバ記憶部３０２）に追加する（Ｓ５０５）。その例を図１８（ｃ）に示す。
その後、比較すべき候補がまだ残っていれば（Ｓ５０６：Ｎｏ）、Ｓ５０１へ戻る。全てのノードｘについて比較が終了していれば（Ｓ５０６：Ｙｅｓ）、当該先頭未確定処理を終了する。
【００８７】
一方、完全一致の場合（Ｓ５０４：Ｎｏ、Ｓ５０７：Ｙｅｓ）、検索部３０７は、受け側ノード列を含めて、ノードＸを結果テーブル４５０に追加する（Ｓ５０８）。その例を図１８（ｄ）に示す。
その後、比較すべき候補がまだ残っていれば（Ｓ５０６：Ｎｏ）、Ｓ５０１へ戻る。全てのノードｘについて比較が終了していれば（Ｓ５０６：Ｙｅｓ）、先頭未確定処理を終了する。
【００８８】
また、部分一致でも完全一致でもない場合には、余剰一致となる（Ｓ５０７：Ｎｏ）。検索部３０７は、ノードｘの受け側ノード列ｙを取得する（Ｓ５０９）。次いで、検索部３０７は、検索キーからノードｘを削除した余りがノード列ｙに、前方一致を条件として含まれるか（部分一致ないし完全一致するか）判断する（Ｓ５１０）。そして、含まれれば（Ｓ５１０：Ｙｅｓ）、ノード列ｙと対応する表記補完辞書のノード列Ｙを取得し（Ｓ５１１）、ノードＸ＋ノードＹを結果テーブル（サーバ記憶部３０２）に追加する（Ｓ５１２）。
【００８９】
その後、比較すべき受け側ノード列候補がまだ残っていれば（Ｓ５１３：Ｎｏ）、Ｓ５０９へ戻る。一方、全てのノード列ｙについて比較が終了していれば（Ｓ５１３：Ｙｅｓ）、Ｓ５０６へ進む。余りが部分一致の例を図１８（ｅ）に示し、余りが完全一致の例を図１８（ｆ）に示す。
【００９０】
一方、検索キーからノードｘを削除した余りがノード列ｙに含まれなければ（Ｓ５１０：Ｎｏ）、直接、Ｓ５１３へ進む。この例を図１８（ｇ）に示す。
その後、比較すべき受け側ノード列候補がまだ残っていれば（Ｓ５１３：Ｎｏ）、Ｓ５０９へ戻る。全てのノード列ｙについて比較が終了していれば（Ｓ５１３：Ｙｅｓ）、Ｓ５０６へ進む。
【００９１】
次に、上記ステップＳ６００の「先頭確定処理」について図１９を参照して説明する。
このフローで処理される検索キーには、「確定部のみ」の場合と「確定部＋未確定部」の場合とがある。検索部３０７は、表記補完辞書から係り側ノードＸを１つ取得する（Ｓ６０１）。係り側ノードＸと検索キーとの間の包含関係の定義は、「先頭未確定処理」の場合と同様である。
検索キー  ⊂  ノードＸ    部分一致
検索キー  ＝  ノードＸ    完全一致
検索キー  ⊃  ノードＸ    余剰一致
【００９２】
また、先頭確定処理においても、一致判断は「前方一致」を条件とする。図２０（ａ）にその例を示す。
【００９３】
検索キーとノードＸとの間に何らの一致もない場合（Ｓ６０２：Ｎｏ）、検索部３０７は、表記補完辞書に、検索キーと比較すべきノードＸが残っていないか確認する（Ｓ６０６）。そして、比較すべきノードＸが残っていれば（Ｓ６０６：Ｎｏ）、Ｓ６０１へ戻る。
【００９４】
一方、比較すべきノードが残っていない場合には（Ｓ６０６：Ｙｅｓ）、当該先頭確定処理を終了する。
一方、部分一致の場合には（Ｓ６０４：Ｙｅｓ）、検索部３０７は、ノードＸを結果テーブル（サーバ記憶部３０２）に追加する。その例を図２０（ｂ）に示す。すなわち、検索キー「画」に対して、「画面」が結果テーブルに追加される。
そして、比較すべき候補がまだ残っていれば（Ｓ６０６：Ｎｏ）、Ｓ６０１へ戻る。全てのノードＸについて比較が終了していれば（Ｓ６０６：Ｙｅｓ）、当該先頭確定処理を終了する。
【００９５】
一方、完全一致の場合（Ｓ６０４：Ｎｏ、Ｓ６０７：Ｙｅｓ）、検索部３０７は、受け側ノード列を含めて、ノードＸを結果テーブルに追加する（Ｓ６０８）。その例を図２０（ｃ）に示す。
次いで、検索部３０７は表記補完辞書に比較すべきノードが残っていないか確認する（Ｓ６０６）。比較すべきノードが残っていれば（Ｓ６０６：Ｎｏ）、Ｓ６０１へ戻る。一方、比較すべきノードが残っていない場合には（Ｓ６０６：Ｙｅｓ）、当該先頭確定処理を終了する。
【００９６】
また、部分一致でも完全一致でもない場合は余剰一致となる（Ｓ６０７：Ｎｏ）。
ここで、図２１を参照して余剰一致処理について説明する。なお、ここでは、Ｙが２である場合について説明したが、ＹがＮ（例えば、Ｎは３以上）の場合は、図２１に示す処理を再帰的に実行することにより、余剰一致処理を行う。
検索部３０７は、まず、ノードＸの受け側ノード列Ｙ（Ｙ１＋Ｙ２）を一組取得する（Ｓ７０１）。その例を図２０（ａ）に示す。
次いで、検索部３０７は、検索キーに含まれるノードセパレータ「／」の下位の文字列から係り側ノードＸを削除した余りキーαが「ひらがなのみ」からなる「未確定部」であるか否か判断する（Ｓ７０２）。ここで、図２２（ｂ）にＳ７０２がＹｅｓの例を示し、図２２（ｃ）にＳ７０２がＮｏの例を示す。
【００９７】
余りαが「ひらがなのみ」からなる「未確定部」である場合には（Ｓ７０２：Ｙｅｓ）、検索部３０７は、読み補完辞書から、ノード列Ｙと対応するノード列ｙを検索して取得する（Ｓ７０３）。そして、検索部３０７は、余りキーαがノード列ｙと部分一致ないし完全一致するか判定する（Ｓ７０４）。
【００９８】
そして、余りキーαがノード列ｙと部分一致ないし完全一致する場合（Ｓ７０４：Ｙｅｓ）、検索部３０７は、受け側ノード列を含めて、ノードＸ＋Ｙを結果テーブル４５０に追加する（Ｓ７０５）。この例を図２２（ｄ）に示す。その後、Ｓ７０６へ進む。
【００９９】
一方、余りキーαとノード列ｙとが部分一致も完全一致もしない場合（Ｓ７０４：Ｎｏ）、すなわち、図２２（ｅ）に示すような場合には、直接、Ｓ７０６へ進む。
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：Ｎｏ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：Ｙｅｓ）、当該余剰一致処理を終了する。
【０１００】
また、余りキーαの中に確定文字列があるか、未確定部のみであっても、ひらがなだけではない場合（Ｓ７０２：Ｎｏ）、検索部３０７は、余りキーαがノード列Ｙのうち、前方のノードＹ１と部分一致または完全一致するか判定する（Ｓ７０７）。そして、余りキーαがノードＹ１と部分一致または完全一致する場合（Ｓ７０７：Ｙｅｓ）、検索部３０７は、受け側ノード列を含めて、ノードＸ＋ノードＹを結果テーブル４５０に追加する（Ｓ７０８）。この例を図２２（ｆ）に示す。その後、Ｓ７０６へ進む。
【０１０１】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：Ｎｏ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：Ｙｅｓ）、当該余剰一致処理を終了する。
【０１０２】
一方、余りキーαがノードＹ１と部分一致も完全一致もしない場合（Ｓ７０７：Ｎｏ）、検索部３０７は、余りキーαがノードＹ１を包含するか否か判定する（Ｓ７０９）。そして、余りキーαがノードＹ１を包含しない場合（Ｓ７０９：Ｎｏ）、すなわち、図２２（ｇ）に示すような場合には、Ｓ７０６へ進む。
【０１０３】
一方、余りキーαがノードＹ１を包含する場合（Ｓ７０９：Ｙｅｓ）、検索部３０７は、余りキーαから更にノードＹ１を除いた余りキーβを作成し、余りキーβが「ひらがなのみ」からなる「未確定部」であるか否か判定する（Ｓ７１０）。
余りキーβがひらがなのみからなる未確定部である場合（Ｓ７１０：Ｙｅｓ）、検索部３０７は、Ｙ２と対応するノードｙ２を読み補完辞書から取得し（Ｓ７１１）、余りキーβがノードｙ２と部分一致または完全一致するか判定する（Ｓ７１２）。そして、余りキーβがノードｙ２と部分一致または完全一致する場合（Ｓ７１２：Ｙｅｓ）、検索部３０７は、ノードＸ＋ノードＹを結果テーブル（サーバ記憶部３０２）に追加する（Ｓ７１３）。その例を図２２（ｈ）に示す。その後、Ｓ７０６へ進む。
【０１０４】
一方、余りキーβがノードｙ２と部分一致も完全一致もしない場合（Ｓ７１２：Ｎｏ）、すなわち、図２２（ｉ）に示すような場合には、Ｓ７０６へ進む。
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：Ｎｏ）、Ｓ７０１へ戻る。一方、全てのノード列Ｙについて比較が終了していれば（Ｓ７０６：Ｙｅｓ）、当該余剰一致処理を終了する。
【０１０５】
一方、余りキーβが「ひらがなのみ」からなる「未確定部」でない場合（Ｓ７１０：Ｎｏ）、検索部３０７は、余りキーβがＹ２と部分一致または完全一致するか判定する（Ｓ７１４）。そして、余りキーβとＹ２とが部分一致でも完全一致でもない場合（Ｓ７１４：Ｎｏ）、Ｓ７０６へ進む。図２２（ｊ）に部分一致でも完全一致でもない場合の例を示す。
【０１０６】
一方、余りキーβとＹ２が部分一致または完全一致の場合（Ｓ７１４：Ｙｅｓ）、検索部３０７は、ノードＸ＋ノードＹを結果テーブル４５０に追加し（Ｓ７１３）、Ｓ７０６へ進む。ノードＸ＋ノードＹの結果テーブル（サーバ記憶部３０２）への追加例を図２２（ｋ）に示す。
【０１０７】
その後、比較すべき受け側ノード列Ｙがまだ残っていれば（Ｓ７０６：Ｎｏ）、Ｓ７０１へ戻る。一方、全てのノード列Yについて比較が終了していれば（Ｓ７０６：Ｙｅｓ）、当該余剰一致処理を終了する。
そして、当該余剰一致処理を終了した検索部３０７は、図１９のＳ６０６に戻り、全てのノードＸについて比較が終了していれば（Ｓ６０６：Ｙｅｓ）、当該先頭確定処理を終了する。
【０１０８】
ここで、検索の一例について、図１４、図１５を用いてさらに説明をする。
第１区分入力フィールド５０１に、「か」が未確定文字として入力されている場合、検索部３０７は、「／か」を基に、読み補完辞書記憶領域３０３の辞書データを参照し、「か」に続く「かでん」を得る。次いで、検索部３０７は、読み補完辞書記憶領域３０３の「かでん」のノードに対する表記補完辞書記憶領域３０４のノードを参照して「家電」を得て、候補語として得る。そして、この候補語「家電」が第1区分入力フィールド５０１に表示される。
次に、ユーザが第２区分入力フィールド５０２にポインタを合わせると、入力部１０１は、第２区分入力フィールド５０２が指定されたことを表すイベントを検出する。これにより、識別部１０６は、上位の第１区分入力フィールド５０１から「家電」を確定文字として検出し、第２区分入力フィールド５０２から、未確定文字を示すＮｕｌｌ文字を検出する。これにより、検索部３０７は、確定部が「／家電」未確定部が「／」である検索キーに基づき、検索処理を行い、「家電」に続くノードが「テレビ」と「冷蔵庫」であることを得る。そして、検索部３０７は、候補語として「テレビ」と「冷蔵庫」を候補語として表示する。
【０１０９】
次いで、ポインタが候補語として表示されている「テレビ」を指定した状態で、Ｅｎｔｅｒキー（確定指示）が押されると、第２区分入力フィールド５０２の確定文字として、「テレビ」が入力される。そして、ユーザによって第３区分入力フィールド５０３にポインタが合わせられると、入力部１０１は、第３区分入力フィールド５０３が指定されたことを表すイベントを検出する。これにより、上位の第１区分入力フィールド５０１の入力内容である「家電」と、第２区分入力フィールド５０２の入力内容である「テレビ」が確定文字となる。検索部３０７は、確定部が「／家電／テレビ」未確定部が「／」である検索キーに基づき、検索処理を行い、「テレビ」の後ろに続く文字として、「ＸＹ２０６−Ａ」、「ＸＹ２１０−Ｂ」を得て、候補語として表示する。
【０１１０】
なお、上述した例において、第１区分入力フィールド５０１に「家電」が確定文字として入力された後、第２区分入力フィールド５０２に、例えば、「て」が未確定文字として入力された場合には、「／家電（確定部）／て（未確定部）」を検索キーとし、検索処理を行う。つまり、検索部３０７は、表記補完辞書記憶領域３０４の辞書データを参照して「家電」を検索した後、後ろに続く文字が未確定文字であるので、「かでん」の後ろに続くノードの「て」を読み補完辞書記憶領域３０３を参照し、「てれび」を検出する。次いで、検索部３０７は、この「てれび」に対応するノードの表記補完辞書記憶領域３０４を参照し、「テレビ」を得て、第２区分入力フィールド５０２に「テレビ」を表示する。
【０１１１】
なお、第１区分入力フィールド５０１に何も文字が入力されていない状態でポインタが位置する場合には、「／」を検索キーとし（ここでは、「／」は未確定文字と見なす）、読み補完辞書記憶領域３０３の第１区分のノード「かでん」に応じた表記補完辞書記憶領域３０４の第１区分のノード「家電」を得て、第１区分入力フィールド５０１に候補語として表示する。
【０１１２】
このように、ポインタが現在位置している入力フィールドよりも上位の入力フィールドまでの入力内容を検索キーとし、読み補完辞書記憶領域３０３および表記補完辞書記憶領域３０４を参照して検索する。
【０１１３】
次に、入力端末装置１００の出力部１０３が、検索部３０７によって得られた検索結果を候補表示するための出力処理（整形処理）について図２３を用いて説明する。以下、説明を容易にするため、検索キーが「確定部のみ」、「確定部＋未確定部」、「未確定部のみ」の場合に分けて説明する（第１、第２の実施形態において「後述する」とした出力処理に相当）。
【０１１４】
＜検索キーが確定部のみの場合＞
出力部１０３は、まず、検索サーバ３００から受信した検索結果の文字列から、検索キーの「確定部」を削除する（Ｓ４０１）。次に、削除した結果、検索キーの「未確定部」と完全一致することになった出力候補語があるか判定する（Ｓ４０２）。この例では、検索キーに「未確定部」を含まないので、Ｓ４０２は自動的にＮｏとなる。この結果、図２４（ａ）に示すような出力が得られる（Ｓ４０４）。また、このように整形された候補語の画面表示例を図２５（ａ）に示す。
【０１１５】
＜検索キーが「確定部＋未確定部」の場合＞
出力部１０３は、まず、結果テーブル４５０の文字列から検索キーの「確定部」を削除する（Ｓ４０１）。さらに、確定部削除の結果、出力候補語の中に検索キーの未確定部と完全一致する出力候補語がある場合（Ｓ４０２：Ｙｅｓ）、当該完全一致する出力候補語を候補語から削除する（Ｓ４０３）。
【０１１６】
図２４（ｂ）に示す例１では、検索キーの未確定部「が」が、確定部削除後の候補語のノード列「が−映らない」「が−割れた」のうち「が」と一致する。しかし、完全一致ではないので（Ｓ４０３：Ｎｏ）、「が−映らない」「が−割れた」がそのまま候補語が出力される（Ｓ４０４）。このように整形された候補語の画面表示例を図２５（ｂ）に示す。そして、オペレータが例えば「が映らない」を選択すると、未確定状態の「が」を削除して「が映らない」を確定状態で入力フィールドに挿入する。
【０１１７】
また、図２４（ｃ）に示す例２では、検索キーの未確定部「ふるい」が、確定部削除後の候補語の出力候補語「ふるい」と完全一致するので、Ｓ４０３において「ふるい」全体が削除され、Ｓ４０４で、候補語は出力されない。入力フィールドに既に表示された未確定文字列と候補語表示エリアに表示される文字列が一致した場合、オペレータは、候補語表示エリアから候補語を選択するよりも入力エリアの文字列を、例えばＥｎｔｅｒキーなどで確定させる方が自然だからである。
【０１１８】
検索キーが「未確定部のみ」の場合、Ｓ４０１で削除される部分はなく、原則、検索結果がそのまま出力される（Ｓ４０４）。図２４（ｄ）に例１の場合、図２４（ｅ）に例２の場合を示す。また、このような場合の候補語の画面表示例を図２５（ｄ）、（ｅ）に示す。
例外的に、表記補完辞書に、ひらがなのみからなるノードがあり、当該ノードが候補語となった場合には、Ｓ４０２でＹｅｓとなり、一致した出力候補語が結果テーブルから削除される（Ｓ４０３）。この例を図２４（ｆ）に示す。
【０１１９】
上述した実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
例えば、上記実施の形態では、一対の読み補完辞書データと表記補完辞書データとを入力エリアと対応づけることで、入力内容別の辞書データを構築したが、入力内容に応じて選択可能であれば、対応づけるものは入力エリアに限られない。例えば、文字列入力をおこなう入力画面や使用するアプリケーションと辞書データとを対応づけてもよい。
【０１２０】
上記実施形態では、受け側ノードとして、「助詞」と「述語」の２つのノードが含まれるものとしたが、係り側ノードと係り受け関係にあれば、受け側ノードの数はこれに限られず任意である。
【０１２１】
上記実施形態では、入力内容別辞書データとして、応対入力辞書データの例を主に示したが、互いに係り受け関係にある単語の階層構成とすることができるのであれば、種々の内容について入力内容別辞書データを構築することができる。例えば、都道府県名とそれに続く下位の地域名とを階層構造とすることで、住所入力に用いる辞書データを構築することができる他、姓とこれに続く名の組み合わせで階層構造とすることで、人名入力に用いる辞書データを構築することができる。つまり、対象とする複数の単語が相関的な位置をもって連結させることが可能であれば、種々の内容に応じた入力内容別辞書データを構築することができる。
【０１２２】
また、上記実施形態では、キーボード（入力部１０１）によって文字列が入力される場合を例示したが、文字列が入力できるのであれば、その入力方法はこれに限られず任意である。例えば、音声認識によって文字列入力を行う場合にも、本発明を適用することで、より効率的な文字列入力を実現することができる。
【０１２３】
なお、上記実施形態にかかる文字検索システム１は、入力端末装置１００と検索サーバ３００とが、異なる装置であって、ネットワーク２００を介して接続されるものを例に説明したが、本発明はこれに限られず、入力端末装置１００と検索サーバ３００の両方を含む文字検索装置であってもよい。
【０１２４】
また、上述の文字検索システム１における動作の過程は、コンピュータに実行させるためのプログラムや、このプログラムとしてコンピュータ読み取り可能な記録媒体として利用可能であり、コンピュータシステムが読み出して実行することによって、上記処理が行われる。なお、ここでいう「コンピュータシステム」とは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１２５】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に記憶したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
また、このようなプログラムの提供方法は任意であり、例えば、ＣＤ−ＲＯＭなどの記憶媒体に格納して配布可能であることはもとより、プログラムデータを搬送波に重畳することで、所定の通信媒体（例えば、インターネットなど）を介して配布することもできる。
【符号の説明】
【０１２６】
１  文字検索システム
１００  入力端末装置
１０１  入力部
１０２  制御部
１０３  出力部
１０４  端末通信部
１０５  端末記憶部
１０６  識別部
１０７  ノードセパレータ付与部
２００  ネットワーク
３００  検索サーバ
３０２  サーバ通信部
３０２  サーバ記憶部
３０３  読み補完辞書記憶領域
３０４  表記補完辞書記憶領域
３０５  プログラム格納領域
３０７  検索部
５０１  第１区分入力フィールド
５０２  第２区分入力フィールド
５０３  第３区分入力フィールド
５０４  第４区分入力フィールド
【図１】
2010266969.tif 000003
【図２】
2010266969.tif 000004
【図３】
2010266969.tif 000005
【図４】
2010266969.tif 000006
【図５】
2010266969.tif 000007
【図６】
2010266969.tif 000008
【図７】
2010266969.tif 000009
【図８】
2010266969.tif 000010
【図９】
2010266969.tif 000011
【図１０】
2010266969.tif 000012
【図１１】
2010266969.tif 000013
【図１２】
2010266969.tif 000014
【図１３】
2010266969.tif 000015
【図１４】
2010266969.tif 000016
【図１５】
2010266969.tif 000017
【図１６】
2010266969.tif 000018
【図１７】
2010266969.tif 000019
【図１８】
2010266969.tif 000020
【図１９】
2010266969.tif 000021
【図２０】
2010266969.tif 000022
【図２１】
2010266969.tif 000023
【図２２】
2010266969.tif 000024
【図２３】
2010266969.tif 000025
【図２４】
2010266969.tif 000026
【図２５】
2010266969.tif 000027
【図２６】
2010266969.tif 000028
【図２７】
2010266969.tif 000029