(57)【要約】【課題】類似した文字列が入力される傾向のある入力フォームでの文字列入力の履歴をも参照して、入力候補を提示することができる入力候補推薦方法を、提供する。【解決手段】サーバ1のWebページDB13には、複数の入力フォームが格納されている。各入力フォーム毎の文字列の入力履歴が、入力履歴DB15に格納されている。Webサーバ10は、クライアント端末2からの要求メッセージに応じて、何れかの入力フォームを応答する。類似候補推薦機能11は、他の入力フォームについての入力履歴に含まれる文字列のうち当該入力フォームについての入力履歴に含まれる文字列との一致度が高いものを所定個数選択し、当該入力フォームについての入力履歴に含まれる文字列ともに、入力候補としてクライアント端末２に応答する。【選択図】図１
2010102656.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末とネットワークで接続されたコンピュータにより実行される入力フォームに対する入力候補を推薦するための入力候補推薦方法であって、
所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴をデータベースに保存しておき、
前記クライアント端末の操作者によって入力対象として選択された入力フォームである入力対象フォームについての入力履歴，及び、当該入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴を、夫々、前記データベースから取得し、
前記非入力対象フォームについての入力履歴に含まれる文字列のうち前記入力対象フォームについての入力履歴に含まれないものについて、夫々、前記入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出し、
前記非入力対象フォームについての入力履歴に含まれる文字列のうちの前記類似度の総和が高い所定個数の文字列を、前記入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力する
ことを前記コンピュータが実行することを特徴とする入力候補推薦方法。
【請求項２】
各入力フォーム単位で、入力履歴に含まれる各文字列同士の入力回数の比率に応じた重みを予め計算しておき、
前記入力対象フォームについての入力履歴に含まれる文字列と前記非入力対象フォームについての入力履歴に含まれる文字列との前記類似度を算出する際には、各文字列について算出した重みを夫々前記類似度の値に反映させる
ことを前記コンピュータが実行することを特徴とする請求項１記載の入力候補推薦方法。
【請求項３】
前記非入力対象フォームが複数存在する場合には、各非入力対象フォーム毎に、前記入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度の総和であるフォーム間類似度を予め計算しておき、各文字列につき、それを含む非入力対象フォームについて算出されていたフォーム間類似度に比例した値の総和を、前記類似度の値に反映させる
ことを前記コンピュータが実行することを特徴とする請求項１又は２記載の入力候補推薦方法。
【請求項４】
各入力フォーム単位で、入力履歴に含まれる各文字列同士の入力回数の比率に応じた重みを予め計算しておき、
前記フォーム間類似度を計算する際には、前記入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度に、夫々の文字列について算出されていた重みを反映させ、重みを反映させた類似度の総和を前記フォーム間類似度とする
ことを前記コンピュータが実行することを特徴とする請求項３記載の入力候補推薦方法。
【請求項５】
クライアント端末とネットワークで接続されたコンピュータが入力フォームに対する入力候補を推薦するために読み込んで実行する入力候補推薦プログラムであって、前記コンピュータを、
所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴を保存するデータベース手段，
操作者によって入力対象として選択された入力フォームである入力対象フォームについての入力履歴，及び、当該入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴を、夫々、前記データベース手段から取得する取得手段，
前記非入力対象フォームについての入力履歴に含まれる文字列のうち前記入力対象フォームについての入力履歴に含まれないものについて、夫々、前記入力対象フォームについ
ての入力履歴に含まれる全文字列に対する類似度の総和を算出する類似度総和算出手段，及び、
前記非入力対象フォームについての入力履歴に含まれる文字列のうちの前記類似度の総和が高い所定個数の文字列を、前記入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力する入力候補出力手段
として機能させることを特徴とする入力候補推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末のディスプレイ上に表示された入力フォームの各入力欄に対する入力候補のリストを、過去の入力履歴に基づいて当該ユーザ端末のディスプレイ上に表示するための入力候補推薦方法，及び、かかる入力候補推薦方法を実現するための入力候補推薦プログラムに、関する。
【背景技術】
【０００２】
例えばインターネットのようなコンピュータネットワーク上では、従来の紙の書面で授受された申請書，申込書等の各種書面が電子化されて、授受されている。例えば、インターネットにおいては、かかる電子化書面を要求するウェブサイトには、予め、一又は複数の入力欄（以下、「入力フォーム」という）を夫々含む電子化書面の雛形がアップロードされており、当該ウェブサイトに対してかかる電子化書面の交付・提出を希望するユーザは、自己の端末上で実行されているウェブブラウザプログラムを操作することによって、かかる電子化書面の雛形を当該ウェブサイト（ウェブサーバ）からダウンロードし、各入力フォームに必要な情報を入力（補充）することによって電子化書面を完成させた後に、当該電子化書面を同ウェブサイトへ送信するように、システム構成されている。
【０００３】
ところで、入力フォームへの情報の入力（補充）を容易にするために、現在普及している主要なウェブブラウザプログラムには、一般に、当該ウェブブラウザプログラムがインストールされたユーザ端末における各入力フォームへの入力履歴を夫々記憶しておき、各入力フォーム毎に過去の入力履歴を提示し、ユーザが各入力履歴に含まれる文字列を任意に選択すると、選択された文字列を各入力フォームへ入力（補充）できる機能が、備えられている。
【０００４】
また、ある種の業務システムにおいては、各入力フォームに対する各端末での入力履歴をサーバ側に蓄積しておき、何れかの雛形を端末のディスプレイ上に表示させる際に、当該雛形の各入力フォームに対する入力履歴に基づいて入力候補を提示し、そこから夫々に対応する入力フォームに入力（補充）させるべき文字列を選択させる機能が、サーバ装置に備えられている。
【０００５】
更に、例えばウィンドウズ（日本マイクロソフト社の登録商標）のようなＯＳ（オペレーティングシステム）には、辞書や過去の入力履歴から入力候補を提示して、ユーザに入力候補を選択させて簡単に文字列入力させる機能（上記ＯＳにおいては、ＩＭＥと称される機能）が組み込まれており、これによると、入力フォーム如何とは無関係に入力履歴が蓄積されているので、どの入力フォームに対しても同様に入力候補が提示されることとなる。
【特許文献１】特開2000-276487号公報
【特許文献２】特開平8-255174号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前二者の機能によると、各入力フォームに割り当てられたＮＡＭＥ属性の値毎に入力履歴が作成されるので、異なるＮＡＭＥ属性が夫々割り当てられた入力欄同士の間では入力履歴は共有されない。また、入力履歴は、入力フォーム毎に管理され、別の入力フォームにおける入力履歴は参照されないので、以前に別の入力フォームで望む値を入力したことがあったとしても、その入力履歴を流用することはできなかった。
【０００７】
また、後者の機能によると、各入力フォームの別とは無関係に蓄積された一つの膨大な入力履歴が参照されるので、いきおい入力候補の数が多くなりすぎ、また、関連性のない入力候補が提示されてしまい、ユーザが望む入力候補が提示される可能性が低くなり、かつ、選択が困難となるという問題が生じていた。
【０００８】
そこで、本案の課題は、同じ入力フォームに対して過去に入力した文字列の履歴だけではなく、類似した文字列が入力される傾向のある入力フォームでの文字列入力の履歴をも参照して、入力候補を提示することができる入力候補推薦方法，及び、コンピュータをしてかかる入力候補推薦方法のサービスを行わしめるための入力候補推薦プログラムの提案である。
【課題を解決するための手段】
【０００９】
本案では、所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴がデータベースに保存され、前記コンピュータの操作者によって入力対象として選択された入力フォームである入力対象フォームについての入力履歴，及び、当該入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴が、夫々、前記データベースから取得される。前記非入力対象フォームについての入力履歴に含まれる文字列のうち前記入力対象フォームについての入力履歴に含まれないものについて、夫々、前記入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出され、前記非入力対象フォームについての入力履歴に含まれる文字列のうちの前記類似度の総和が高い所定個数の文字列を、前記入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力される。
【００１０】
このように、本案によると、操作者が選択した入力対象フォームの入力履歴に含まれる文字列が、入力候補として出力される他、各非入力対象フォームの夫々の入力履歴に含まれる文字列のうち、入力対象フォームの入力履歴に含まれる各文字列との類似度の総和が高いものから順に所定個数の文字列も、入力候補として出力される。従って、操作者に提示される入力候補が、入力対象フォームの入力履歴に含まれる文字列に限定されない一方で、関連性の低い大量の文字列が入力候補として出力されてしまう弊害も防止される。
【００１１】
本案は、操作者が操作するコンピュータとしてのクライアント端末とサーバ装置とをネットワーク経由で接続してなるネットワークシステムに適用することも可能であるが、データベースは、端末にあってもサーバ装置にあっても良い。前者の場合、データベースからの入力履歴の取得，類似度の総和の算出，入力候補の選択といった処理もクライアント端末でなされることになる。この場合、入力フォームは予めクライアント端末に用意されていても良いし、サーバ装置からダウンロードされても良い。サーバ装置からダウンロードする場合には、新規の種類の入力フォームがダウンロードされる毎に、その入力フォームについての入力履歴も、データベースに追加されるようになっていることが望ましい。データベースがサーバ装置側に存在する場合には、各入力フォーム毎の入力履歴として、ユーザ毎の入力履歴を蓄積することも可能であるし、入力したユーザの区別をせずに入力履歴を蓄積することも可能である。
【００１２】
類似度の算出の仕方としては、公知の様々な手法を採りうるが、その一つとして内積相関法を採用することが可能である。この場合、単に文字列同士の形態的な一致率を計測するだけでなく、各入力フォームに各文字列が入力される頻度，割合といった重みを、類似度に反映させても良い。また、各入力フォーム間で類似した文字列同士が入力される傾向がある場合には、これをフォーム間類似度と評価して、フォーム間類似度が高い入力フォームに入力された文字列の類似度をより高く評価しても良い。
【発明の効果】
【００１３】
以上のように構成された本案によると、同じ入力フォームに対して過去に入力した文字列の履歴だけではなく、類似した文字列が入力される傾向のある入力フォームでの文字列入力の履歴をも参照して、入力候補を提示することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づいて、本案の実施の形態であるネットワークシステムの例を、説明する。
＜システム構成＞
先ず、当該ネットワークシステムのシステム構成を、図１及び図２のブロック図に基づいて説明する。
【００１５】
図１に示すように、このネットワークシステムは、上記入力支援方法を利用した電子化書面（例えば、各種会員サービスに対する入会申込書，ネットショッピングにおける商品購入申込書，各種行政機関に対する電子申請書，等）の受け付けサービスを行っているサーバ装置１，及び、当該サーバ装置１に対して電子化書面の送信を行うクライアント装置２から構成される。なお、以下の説明では、サーバ装置１とクライアント端末２とを中継するネットワークはインターネットＮであるとする。また、インターネットＮ上には、かかるサーバ装置１及びクライアント端末２は夫々多数存在し得るが、図１では、夫々１台づつ図示した。
【００１６】
クライアント装置２は、インターネット接続機能を有するパーソナルコンピュータ，ＰＤＡ（Personal Digital Assistant），携帯電話等であり、一般的に市販されているものである。即ち、クライアント装置２の図示せぬメモリ又はディスク装置に、通信プログラムを含むＯＳ及びブラウザプログラム２１がインストールされ、図示せぬＣＰＵがこれらプログラムを読み込んで実行することより、図示せぬネットワークアダプタ又は無線装置（SIMカード等）を通じてインターネットＮに接続可能となっていれば良い。それにより
、ブラウザプログラム２１に従って、ＣＰＵがインターネット上のウェブサーバ（サーバ装置１等）から各種構造化文書データ（HTMLデータ，XMLデータ等，以下、HTMLデータを
もってその代表とする，後述する電子書面のHTMLデータＳ，入力候補提示画面のHTMLデータ０等）をダウンロードし、ダウンロードしたHTMLデータを解析することによって夫々のHTMLデータに対応した画面を図示せぬディスプレイ上に表示する。
【００１７】
一方サーバ装置１は、インターネットＮ上のウェブサーバとして通常必要となるＣＰＵ，ネットワークアダプタ，メインメモリ，ハードディスク等のハードウェア構成，並びに、ハードディスクに格納されてＣＰＵによって読み込まれて実行されるＯＳやWWW（World
Wide Web）サーバプログラムを有している。
【００１８】
また、サーバ装置１の図示せぬハードディスクには、WWWサーバプログラムと連携する
ことにより、クライアント端末２からの要求に応じて、ディスク装置（後述するＷｅｂページＤＢ１３）から読み出した入力フォームのテンプレートに基づいて電子書面雛形のHTMLデータを生成した上で要求元クライアント端末２へ送信し、この電子化書面雛型のHTMLデータの各入力フォームに適宜文字列を補充してなる電子化書面のHTMLデータＳを受信して、その内容（各入力フォームに補充される文字列が意味する内容）に応じた処理や、ディスク装置（後述するＷｅｂページＤＢ１３）から読み出した入力候補提示画面のテンプレートに、後述するように類似候補推薦機能１１から通知された入力候補群を埋め込むことによって、これら入力候補群から一つを選択して入力フォームに補充する機能を有する入力候補提示画面のHTMLデータ０を生成して、要求元クライアント装置２へ応答させる処理を、図示せぬＣＰＵに実行させるための各種アプリケーションプログラム（ＣＧＩプログラム，サーブレット等）も、インストールされている。図１においては、これらＣＰＵ，ＯＳ，WWWサーバプログラム及び上記各種アプリケーションプログラムによって実現さ
れる機能が、「Ｗｅｂサーバ１０」として図示されている。
【００１９】
さらに、サーバ装置１の図示せぬハードディスクには、WWWサーバ１０からの要求に応
じて、要求された入力フォームに対する入力候補群を決定してWWWサーバ１０に応答する
処理を、図示せぬＣＰＵに実行させるための各種アプリケーションプログラム（ＣＧＩプログラム，サーブレット等）も、インストールされている。図１おいては、これらＣＰＵ及び上記各種アプリケーションプログラムによって実現される機能が、「類似候補推薦機能１１」として図示されている。この類似候補推薦機能１１の機能については、後において、図２を参照して詳細に説明する。
【００２０】
さらに、サーバ装置１の図示せぬハードディスクには、WWWサーバ１０と連携すること
により、クライアント装置２から受信した電子化書面のHTMLデータS中の各入力フォーム
毎に、そこに補充されている文字列を入力履歴として、ディスク装置（後述する入力履歴データベース１５ａ）に蓄積させる処理を、図示せぬＣＰＵに実行させるための各種アプリケーションプログラム（ＣＧＩプログラム，サーブレット等）も、インストールされている。図１おいては、これらＣＰＵ及び上記各種アプリケーションプログラムによって実現される機能が、「履歴更新機能１２」として図示されている。
【００２１】
Ｗｅｂページデータベース１３は、予め、WWWサーバプログラムが単体で応答可能な各
種ウェブデータや、上述した入力フォームのテンプレートや、上述した有力候補提示画面のテンプレートを格納してあるデータベースであり、ディスク装置の一部を構成する要素である。図３は、Ｗｅｂページデータベース１３のデータ構造及び一つの入力フォームのテンプレートと上記入力候補提示画面のテンプレートを格納した部分を例示する表である。
【００２２】
また、入力履歴データベース１５は、Ｗｅｂページデータベース１３に格納されている各種電子化書面のHTMLデータに含まれる各入力フォーム毎に作成され、夫々、対応する入力フォームに対して過去に入力（補充）された文字列の履歴（入力履歴）を蓄積するデータベースである（所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴を保存するデータベース手段に相当）。図１においては、入力対象フォーム入力履歴データベース１５ａと他の入力履歴データベース１５ｂとに分けて図示されているが、両者の差は相対的に過ぎず、ある一つの入力フォームについての処理をする際に、同入力フォームに対応した入力履歴データベース１５が、特に「入力対象フォーム入力履歴データベース１５ａ」と称されるに過ぎない。また、これらの入力履歴データベース１５は、各入力フォーム毎に入力履歴が蓄積され且つ検索可能となっている限り、一つのデータベースとして統合されていても良い。図４及び図５は、入力履歴データベース１５のデータ構造及びその内容を例示する表である。図４及び図５に示されるように、入力履歴データベース１５は、対応する入力フォームのＩＤを記録するための「フォームＩＤ」フィールド，同入力ホームに対して過去に入力（補充）された各文字列を夫々記録するための「入力履歴」フィールド，各文字列毎の入力回数を記録するための「入力回数」フィールド，入力回数の総和に対する各文字列毎の入力回数の比率を記録するための「重み」フィールドから、構成されている。
【００２３】
図２は、上述した類似候補推薦機能１１の詳細構成を示すブロック図である。この図２に示すように、類似候補推薦機能１１（即ち、類似候補推薦機能１１を実現するためのアプリケーションプログラム群）は、入力対象フォーム履歴取得機能１１１，全体履歴取得機能１１２，類似度算出機能１１３及び順位付け機能１１４の各モジュール（即ち、各モジュールの機能を夫々実現するための各アプリケーションプログラム）から、構成されている。
【００２４】
入力対象フォーム履歴取得機能１１１は、Ｗｅｂサーバ１０から指定された入力フォーム（入力対象フォーム）に対応した入力履歴データベース（入力対象フォーム入力履歴データベース１５ａ）から入力履歴の内容（以下、「入力対象フォームの履歴」という）を取得するモジュールである（入力対象フォームについての入力履歴をデータベース手段から取得する取得手段に相当）。
【００２５】
全体履歴取得機能１１２は、入力対象フォーム入力履歴データベース１５ａ以外の全入力履歴データベース１５ｂから夫々の入力履歴の内容（以下、「非入力対象フォームの履歴」という）を取得するモジュールである（入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴をデータベース手段から取得する取得手段に相当）。
【００２６】
類似度算出機能１１３は、入力対象フォームの入力履歴をなす各文字列と各非入力対象フォームの入力履歴をなす各文字列との類似度を夫々算出するモジュールである。なお、この類似度の算出方法としては各種手法が適用可能であるが、ここでは、その一例として、内積相関法を用いている（非入力対象フォームについての入力履歴に含まれる文字列のうち入力対象フォームについての入力履歴に含まれないものについて、夫々、入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出する類似度総和算出手段に相当）。
【００２７】
順位付け機能１１４は、類似度算出機能１１３によって算出された類似度の大きい幾つかの文字列を推薦入力候補として選択し、入力対象フォーム履歴取得手段１１１によって読み出された入力対象フォームの入力履歴に含まれる入力候補としてのもじれるとともに、Ｗｅｂサーバ１０に応答するモジュールである（非入力対象フォームについての入力履歴に含まれる文字列のうちの類似度の総和が高い所定個数の文字列を、入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力する入力候補出力手段に相当）。
【００２８】
フォーム間類似度データべース１４は、各入力フォーム相互間における類似度算出機能１１３によって算出された類似度の総合評価であるフォーム間類似度を記録しておくためのデータベースであり、ディスク装置の一部を構成する要素である。図６は、フォーム間類似度データベース１４のデータ構造及びその内容を例示する表である。
＜処理内容＞
以下、フローチャートを参照して、サーバ装置１におけるＷｅｂサーバ１０，類似候補推薦機能１１及び履歴更新機能１２の動作（即ち、WWWサーバプログラム及び各アプリケ
ーションプログラムに従って図示せぬＣＰＵが実行する処理）の内容を、図７乃至図１５のフローチャート，並びに、図１６及び図１７のタイミングチャートを参照して、説明する。なお、上記フローチャート及びタイミングチャートには、同じ処理については同じステップ番号を付してある。また、以下の説明においては、理解を容易にするために、図３乃至図６に例示した各種データが各データベース１３〜１５に格納されていた場合における処理の具体例を、合わせて記述する。
【００２９】
先ず、図７は、Ｗｅｂサーバ１０が実行する処理であり、各クライアント端末２とのセッション毎に起動する。そして、最初のＳ００１において、Ｗｅｂサーバ１０は、クライアント端末１からのHTTPリクエストメッセージを待機する。そして、何らかのHTTPリクエストメッセージを受信すると、Ｗｅｂサーバ１０は、処理をＳ００１からＳ００２へ進める。
【００３０】
Ｓ００２では、Ｗｅｂサーバ１０は、クライアント端末１から受信したHTTPリクエストメッセージが電子化書面の雛型のHTML取得要求（図１８）であるかどうかをチェックする
。そして、電子化書面の雛型のHTML取得要求を受信したのであれば処理をＳ００３へ進め、それ以外のHTTPリクエストメッセージを受信したのであれば処理をＳ００７へ進める。
【００３１】
Ｓ００３では、Ｗｅｂサーバ１０は、受信したHTTPリクエストメッセージによって要求された電子化書面の雛型を構成すべき入力フォームのHTMLテンプレートを、Ｗｅｂベースデータベース１３から取得する。例えば、要求された電子化書面の雛型が、図３に示す内容を有するＷｅｂページデータベース１３に格納された一つの入力フォームのみから構成される場合には、本ステップにて抽出される入力フォームのHTMLテンプレートは、図１９に示す通りとなる。
【００３２】
次のＳ００４では、Ｗｅｂサーバ１０は、Ｓ００３にて取得したHTMLテンプレート上の入力値を空にする。例えば、図１９に示す内容のHTMLテンプレートが取得された場合には、図２０に示す通りとなる。
【００３３】
次のＳ００５では、Ｗｅｂサーバ１０は、Ｓ００４での処理がなされたHTMLテンプレートを合成することにより、要求された電子化書面雛型のHTMLデータを生成する。但し、要求された電子化書面の雛型が一つの入力フォームのみから構成される場合には、Ｓ００４での処理がなされたHTMLテンプレートが、そのまま、電子化書面雛型のHTMLデータとされる。
【００３４】
次のＳ００６では、Ｗｅｂサーバ１０は、Ｓ００５の処理を経た電子化書面雛型のHTMLデータを、要求元クライアント端末２へ返送する。すると、クライアント端末２では、図示せぬＣＰＵによって実行されているブラウザプログラム２１が、受信したHTMLデータに基づいて、電子化書面の雛型を図示せぬディスプレイ上に表示する。例えば、電子化書面雛型のHTMLデータが図２０に示すHTMLテンプレートのみから構成されている場合には、表示される電子化書面の雛型は、図２１に示す通りとなる。図２０及び図２１から明らかなように、この電子化書面の雛型には、住所を示す文字列が入力（補充）されるべき入力フォーム３１，図示せぬ入力装置によって操作されることによって入力候補推薦要求メッセージをサーバ装置１へ送信するための「履歴検索」ボタン３２，及び、図示せぬ入力装置によって操作されることによって入力フォーム３１に入力（補充）された文字列を「送信要求メッセージ」として送信するための「送信」ボタン３３が含まれている。なお、図２２に示すように、上記入力候補推薦要求メッセージには、「履歴検索機能」のＵＲＬ，及び、操作された「履歴検索」ボタン３２に対応した入力フォーム３１のＩＤが、含まれている。
【００３５】
Ｓ００６を完了すると、Ｗｅｂサーバ１０は、処理をＳ００１に戻し、次のHTMLメッセージを待つ。そして、HTMLメッセージをクライアント端末２から受信すると、Ｗｅｂサーバ１０は、処理をＳ００１からＳ００２へ進め、受信したHTMLメッセージが電子化書面の雛型のHTML取得要求以外のHTMLメッセージであれば、処理をＳ００２からＳ００７へ進め、更に、受信したHTMLメッセージが入力候補推薦要求メッセージであるか否かをチェックする。そして、Ｗｅｂサーバ１０は、入力候補推薦要求メッセージを受信したのであれば処理をＳ００８へ進め、それ以外のHTTPリクエストメッセージを受信したのであれば処理をＳ０１１へ進める。
【００３６】
Ｓ００８では、Ｗｅｂサーバ１０は、類似候補推薦機能１１を呼び出しす。すると、呼び出された類似候補推薦機能１１は、図８のサブルーチンを実行し、その最初のＳ１０１において、入力対象フォーム履歴取得機能を１１１を呼び出す。すると、呼び出された類似候補推薦機能１１、図９のサブルーチンを実行し、Ｓ２０１において、Ｗｅｂサーバ１０が受信した入力候補推薦要求メッセージに含まれる入力フォームのＩＤに対応した入力履歴データベース１５，即ち、入力対象フォーム入力履歴データベース１５ａから、入力
履歴たる全ての文字列（及びその「重み」フィールドの値［以下、単に「重み」と称する］）を読み出す。例えば、図４に示す内容を有するフォームＩＤ＝０についての入力履歴データベース１５が入力対象フォーム入力履歴データベース１５ａとされた場合には、読み出される入力履歴は、図２３に示す通りとなる。このＳ２０１の処理が、入力対象フォームについての入力履歴をデータベースから取得する処理に、相当する。
【００３７】
図８のサブルーチンにおける次のＳ１０２では、類似候補推薦機能１１は、全体履歴取得機能１１２を呼び出す。すると、呼び出された全体履歴取得機能１１２は、図１０のサブルーチンを実行し、Ｓ３０１において、入力対象フォーム入力履歴データベース１５ａ以外の全入力履歴データベース１５，即ち、全ての非入力対象フォーム入力履歴データベース１５ｂから、夫々、全入力履歴（文字列）及びその重みを読み出す。例えば、図５に示す内容を有するフォームＩＤ＝１及びフォームＩＤ＝２についての二つの入力履歴データベース１５が入力対象フォーム入力履歴データベース１５ａとは別に存在していた場合には、読み出される入力履歴及び重みは、図２４に示す通りとなる。このＳ３０１の処理が、入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴をデータベースから取得する処理に、相当する。
【００３８】
図８のサブルーチンにおける次のＳ１０３では、類似候補推薦機能１１は、類似度算出機能１１３を呼び出す。すると、呼び出された類似度算出機能１１３は、図１１のサブルーチンを実行する。
【００３９】
図１１のサブルーチンに入って最初のＳ４０１では、類似度算出機能１１３は、Ｓ３０１にて各非入力対象フォーム入力履歴データベース１５ｂから読み出した入力履歴（文字列）を、一つのデータ列として連結する。例えば、図２４に示す内容の入力履歴（文字列）が各非入力対象フォーム入力履歴データベース１５ｂから読み出された場合には、データ列は、図２５に示すようになる。図２５に示すように、この時点では、データ列には同じ文字列が重複して含まれていることがありうる。
【００４０】
次のＳ４０２では、類似度算出機能１１３は、Ｓ４０１にて連結したデータ列から、重複した文字列を削除する。例えば、図２５に示す内容のデータ列では「東京都東京都ＥＥ区」なる文字列が重複しているので、図２６に示すように、当該文字列（二度目以降に登場したもの）が削除される。
【００４１】
次のＳ４０３では、類似度算出機能１１３は、Ｓ４０２の処理を経たデータ列から、Ｓ２０１にて取得した入力履歴に含まれる文字列を削除する。例えば、Ｓ２０１にて取得された入力履歴が図２３に示す通りであるとすると、図２６に示すデータ列から、「東京都ＡＡ区」なる文字列，及び、「東京都ＢB区」なる文字列が削除され、削除後のデータ列
は、図２７に示す通りとなる。
【００４２】
次のＳ４０４では、類似度算出機能１１３は、各非入力対象フォーム入力履歴データベース１５ｂ毎に、Ｓ４０３の処理を経たデータ列に含まれる各文字列について夫々に格納されていた「重み」を記載したフィールド（列）を付加することにより、マージ表を生成する。このとき、各非入力対象フォーム入力履歴データベース１５ｂに値が格納されていない文字列に相当するレコード（行）には、値がないことを無効値Ｎ／Ａが設定される。このような無効値Ｎ／Ａが設定されるが故に、当該マージ表における各フィールド（列）の値は、「拡張重み」と称される。例えば、データ列が図２７に示す内容であり、各非入力対象フォーム入力履歴データベース１５ｂから読み出した入力履歴が図２４に示す通りであるとすると、作成されるマージ表は図２８に示す通りとなる。即ち、文字列「千葉県ＧＧ市」，「神奈川県ＨＨ市」及び「埼玉県ＦＦ市」はフォーム１に対応した入力履歴データベース１５には格納されていないので、マージ表における「フォーム１での拡張重み
」のフィールドでは、それらを見出しとするレコードに無効値Ｎ／Ａが設定されている。また、文字列「東京都ＣＣ区」及び「東京都ＤＤ区」はフォーム２に対応した入力履歴データベース１５には格納されていないので、マージ表における「フォーム２での拡張重み」のフィールドでは、それらを見出しとするレコードに無効値Ｎ／Ａが設定されている。
【００４３】
次のＳ４０５では、類似度算出機能１１３は、フォーム間類似度データベース１４から、入力対象フォームとそれ以外の各入力フォーム（非入力対象フォーム）とのフォーム間類似度を、夫々読み出す。例えば、図６に示す内容を有するフォーム間類似度データベース１４から、入力対象フォームに対応した全ての非入力対象フォームについてのフォーム間類似度を夫々読み出す。なお、フォーム間類似度データベース１４に登録されるフォーム間類似度の意義（算出方法）については、後述するＳ５０１についての記述において説明する。
【００４４】
次のＳ４０６では、類似度算出機能１１３は、図１２に示す「文字列類似度の重み値計算処理」サブルーチンを実行する。このサブルーチンに入って最初のＳ５０１では、類似度算出機能１１３は、Ｓ４０４にて生成したマージ表から、未処理の見出し（文字列）を一つ取り出す。
【００４５】
続いて類似度算出機能１１３は、Ｓ５０２乃至Ｓ５０５のループ処理を実行する。このループ処理に入って最初のＳ５０２では、類似度算出機能１１３は、Ｓ２０１にて取得した入力対象フォームの入力履歴から、未処理の文字列を一つ取り出す。
【００４６】
次のＳ５０３では、類似度算出機能１１３は、Ｓ５０２にて取り出した文字列を比較元文字列とするとともに、Ｓ５０１にて取り出した見出しを比較先文字列として、文字列類似度を計算する。具体的には、比較先文字列と比較元文字列との先頭からの一致文字数の比較元文字列の文字数に対する比率を、「文字列類似度」として算出するのである。
【００４７】
次のＳ５０４では、類似度算出機能１１３は、Ｓ５０３にて算出した文字列類似度に、Ｓ５０２にて取り出した文字列に対応してＳ２０１にて取得した「重み」を乗じて、その積を算出する。このＳ５０４の処理が、各文字列について算出した重みを夫々前記類似度の値に反映させる処理に、相当する。
【００４８】
次のＳ５０５では、類似度算出機能１１３は、Ｓ２０１にて取得した入力対象フォームの入力履歴に含まれる全ての文字列について処理を完了したかどうかをチェックする。そして、未処理の文字列が残っている場合には処理をＳ５０２に戻し、次の文字列に対する処理を行う。これに対して、Ｓ５０２乃至Ｓ５０５のループ処理を繰り返した結果、未処理の文字列が残っていない場合には、類似度算出機能１１３は、処理をＳ５０６へ進める。
【００４９】
Ｓ５０６では、類似度算出機能１１３は、Ｓ２０１にて取得した入力対象フォームの入力履歴に含まれる全ての文字列に対してＳ５０４にて夫々算出された積の総和を算出し、算出された総和を、Ｓ５０１にてマージ表から取り出した見出し（文字列）の「文字列類似度の重み値」とする。例えば、入力対象フォームの入力履歴が図２３に示す通りであり、マージ表の内容が図２８に示す通りであるとすると、各見出し（文字列）について算出される「文字列類似度の重み値」は、図２９に示す通りとなる。即ち、マージ表の見出し「東京都ＣＣ区」についての「総和」については、入力対象フォームの各入力履歴「東京都ＡＡ区」，「東京都ＢＢ区」との「文字列類似度」が夫々“0.5”と算出されるので（
Ｓ５０３）、夫々に対応した入力対象フォームの重み値“0.67”，“0.33”を乗じて（Ｓ５０４）、その総和を算出すると（Ｓ５０６）、“0.50×0.67＋0.50×0.33＝0.50”となるのである。同様に、他の見出し「東京都ＤＤ区」，「東京都ＥＥ区」，「東京都ＧＧ区
」，「東京都ＨＨ区」，「東京都ＦＦ区」については、「文字列類似度の重み値」が夫々“0.50”，“0.50”，“0.00”，“0.00”，“0.00”と算出される。このＳ５０６の処理が、非入力対象フォームについての入力履歴に含まれる文字列のうち入力対象フォームについての入力履歴に含まれないものについて、夫々、入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出する処理に、相当する。
【００５０】
次のＳ５０７では、類似度算出機能１１３は、マージ表に含まれる全ての見出し（文字列）について処理を完了したかどうかをチェックする。そして、未処理の見出し（文字列）が残っている場合には処理をＳ５０１に戻し、次の見出し（文字列）に対する処理を行う。これに対して、Ｓ５０１乃至Ｓ５０７のループ処理を繰り返した結果、未処理の文字列が残っていない場合には、類似度算出機能１１３は、このサブルーチンを終了して、図１１におけるＳ４０７へ進む。
【００５１】
Ｓ４０７では、類似度算出機能１１３は、図１３に示す「フォーム間類似度の重み値計算処理」サブルーチンを実行する。このサブルーチンに入って最初のＳ６０１では、類似度算出機能１１３は、Ｓ４０４にて生成したマージ表から未処理の見出し（文字列）を一つ取り出す。
【００５２】
続いて、類似度算出機能１１３は、Ｓ６０２乃至Ｓ６０７のループ処理を実行する。このループ処理に入って最初のＳ６０２では、類似度算出機能１１３は、マージ表から、Ｓ６０１にて取り出した見出し（文字列）に対応した各非入力対象フォームでの拡張重みのうち、未取り出しのものを一つ取り出す。
【００５３】
次のＳ６０３では、類似度算出機能１１３はＳ６０２にて取り出した拡張重みは無効値Ｎ／Ａであるかどうかをチェックする。そして、無効値Ｎ／Ａであるならば、類似度算出機能１１３は、Ｓ６０４において「計算結果」を“０”として、処理をＳ６０７へ進める。
【００５４】
これに対して、拡張重みが無効値Ｎ／ＡでないとＳ６０３にて判断した場合には、類似度算出機能１１３は、Ｓ６０５において、フォーム間類似度データベース１４から、入力対象フォームに対応した全ての非入力対象フォームについてのフォーム間類似度を、読み出す。
【００５５】
次のＳ６０６では、Ｓ６０５に取り出した全てのフォーム間類似度の総和を算出する。そして、入力対象フォームとＳ６０２にて取り出した拡張重みに対応した非入力対象フォームとのフォーム間類似度を、Ｓ６０２にて取り出した拡張重みに乗じ、算出された積を、更に、上記フォーム間類似度の総和によって割り、最終的に算出された商を「計算結果」とする。Ｓ６０６を完了すると、類似度算出機能１１３は、処理をＳ６０７へ進める。
【００５６】
Ｓ６０７では、類似度算出機能１１３は、Ｓ６０１にて取り出した見出し（文字列）に対応した全ての非入力対象フォームの拡張重みについて、Ｓ６０３以下の処理を終了したかどうかをチェックする。そして、未だ全ての非入力対象フォームの拡張重みについてＳ６０３以下の処理を終了していなければ、類似度算出機能１１３は、処理をＳ６０２へ戻す。これに対して、Ｓ６０２乃至Ｓ６０７のループ処理を繰り返した結果として全ての非入力対象フォームの拡張重みについてＳ６０３以下の処理を終了していた場合には、類似度算出機能１１３は、処理をＳ６０７からＳ６０８へ進める。
【００５７】
Ｓ６０８では、Ｓ６０１にて取り出された見出し（文字列）に関して全ての非入力対象フォームの拡張重みについてＳ６０４又はＳ６０６にて得られた「計算結果」の総和を算出し、算出された総和を、Ｓ６０１にて取り出した見出し（文字列）についての「フォー
ム間類似度の重み値」とする。例えば、フォーム間類似度データベース１４の内容が図６に示す通りであり、マージ表の内容が図２８に示す通りであるとすると、各見出し（文字列）について算出される「フォーム間類似度の重み値」は、図３０に示す通りとなる。即ち、フォーム間類似度データベース１４における入力対象フォームと各非入力対象フォームとのフォーム間類似度の総和は“0.65＋0.25＝0.90”となる。そして、マージ表における見出し「東京都ＣＣ区」についての「フォーム１での拡張重み」は“0.40”であり、フォーム間類似度データベース１４に記載された入力対象フォームとフォーム１とのフォーム間類似度は“0.65”であるので、「計算結果」は“（0.65×0.40）／0.90＝0.289”と
なる（Ｓ６０６）。他方、マージ表における見出し「東京都ＣＣ区」についての「フォーム２での拡張重み」は無効値Ｎ／Ａであるので、「計算結果」は“0”となる（Ｓ６０４
）。よって、「フォーム間類似度の重み値」は、“0.289”と算出されるのである。同様
に、他の見出し「東京都ＤＤ区」，「東京都ＥＥ区」，「東京都ＧＧ区」，「東京都ＨＨ区」，「東京都ＦＦ区」については、「フォーム間類似度の重み値」が夫々“0.144”，
“0.128”，“0.097”，“0.056”，“0.028”と算出される。これらＳ６０４乃至Ｓ６０８の処理が、各文字列につき、それを含む非入力対象フォームについて算出されていたフォーム間類似度に比例した値の総和を前記類似度の値に反映させる処理に、相当する。
【００５８】
次のＳ６０９では、類似度算出機能１１３は、マージ表中の全ての見出し（文字列）について、Ｓ６０１以下の処理を終了したかどうかをチェックする。そして、未だ全ての見出し（文字列）についての処理を終了していなければ、類似度算出機能１１３は、処理をＳ６０１へ戻す。これに対して、Ｓ６０１乃至Ｓ６０９のループ処理を繰り返した結果として全ての見出し（文字列）についてＳ６０２以下の処理を終了していた場合には、類似度算出機能１１３は、このサブルーチンを終了して、処理を図１１のＳ４０８へ進める。
【００５９】
Ｓ４０８では、類似度算出機能１１３は、マージ表の各見出し（文字列）について、Ｓ４０６について算出した「文字列類似度の重み値」とＳ４０７にて算出した「フォーム間類似度の重み値」との積を、「入力候補適正評価値」として算出する。例えば、各見出し（文字列）について算出した「文字列類似度の重み値」及び「フォーム間類似度の重み値」が夫々図２９，図３０に示す通りであるとすると、各見出し（文字列）について算出した「入力候補適正評価値」は、図３１に示す通りとなる。即ち、見出し「東京都ＣＣ区」について算出された「文字列類似度の重み値」は“0.50”，「フォーム間類似度の重み値」は“0.289”であるので、「入力候補適正評価値」は“0.144”と算出される。同様に、他の見出し「東京都ＤＤ区」，「東京都ＥＥ区」，「東京都ＧＧ区」，「東京都ＨＨ区」，「東京都ＦＦ区」については、「入力候補適正評価値」が夫々“0.072”，“0.064”，“0.000”，“0.000”，“0.000”と算出される。
【００６０】
次のＳ４０９では、Ｓ４０８において各見出し（文字列）に対して算出した「入力候補適正評価値」を図３１に示すリスト形式にて図示せぬディスク装置に保存するとともに、マージ表を類似候補推薦機能１１に渡す。Ｓ４０９を完了すると、類似度算出機能１１３は、図１１のサブルーチンを終了して、類似候補推薦機能１１に処理を戻す。
【００６１】
図８のサブルーチンにおける次のＳ１０４では、類似候補推薦機能１１は、順位付け機能１１４を呼び出す。すると、呼び出された順位付け機能１１４は、図１４のサブルーチンを実行する。
【００６２】
図１４のサブルーチンに入って最初のＳ７０１では、順位付け機能１１４は、Ｓ４０９にて類似度算出機能１１３が図示せぬディスク３０１にて保存された「入力候補適正評価値」が大きい順に、類似度算出機能１１３から渡されれたマージ表の各レコードをソートする。例えば、「入力候補適正評価値」の内容が図３１に示す通りであり、マージ表の内容が図２８に示す通りであるとすると、ソート後のマージ表のレコードは、図３２に示す
通りとなる。
【００６３】
次のＳ７０２では、順位付け機能１１４は、Ｓ７０１でのソート後のマージ表から、上位所定個数のレコードを抽出して、図示せぬディスク装置に保存する。例えば、ソート後のマージ表が図３２に示す通りであるとし、上位３個のレコードを抽出するした場合、抽出されるレコードは、図３３に示す通りとなる。
【００６４】
次のＳ７０３では、順位付け機能１１４は、Ｓ２０１にて取得した入力対象フォームの入力履歴（即ち、入力候補），及び、Ｓ７０２にて抽出したレコード中の見出し（文字列）からなる推薦入力候補の集合を、Ｗｅｂサーバ１０に対して応答する。例えば、入力対象フォームの入力履歴の内容が図２３に示す通りであり、抽出されたレコードが図３３に示す通りであるとすると、Ｗｅｂサーバ１０に対して応答される入力候補及び推薦入力候補は、図３４（ａ）及び（ｂ）に夫々示す通りとなる。以上の、Ｓ７０１乃至Ｓ７０３の処理が、非入力対象フォームについての入力履歴に含まれる文字列のうちの類似度の総和が高い所定個数の文字列を、入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力することに相当する。
【００６５】
Ｓ７０３を完了すると、順位付け機能１１４は、図１４のサブルーチンを終了して、類似候補推薦機能１１に処理を戻す。すると、図８のサブルーチンも終了するので、類似候補推薦機能１１は、処理をＷｅｂサーバ１０に戻す。
【００６６】
図７のメインルーチンにおける次のＳ００９では、Ｗｅｂサーバ１０は、Ｗｅｂページデータベース１３から、入力候補提示画面のHTMLテンプレートを読み出す。例えば、Ｗｅｂページデータベース１３の内容が図３に示す通りであるとすると、読み出される入力候補提示画面のHTMLテンプレートの内容は、図３５に示す通りとなる。
【００６７】
次のＳ０１０では、Ｗｅｂサーバ１０は、Ｓ００９にて取得した入力候補提示画面のHTMLテンプレート中のリストに、Ｓ００８にて類似候補推薦機能１１から受け取った各入力候補及び各推薦入力候補の文字列を挿入することにより、入力候補提示画面のHTMLデータを生成する。例えば、図３４に示す内容の入力候補及び推薦入力候補が類似候補推薦機能１１から応答された場合には、図３６に示すように、入力候補及び推薦入力候補の数分、入力対象フォームのＵＲＬを含むアンカータグの記述が複製されて、各入力候補及び推薦入力候補が夫々挿入される。
【００６８】
次のＳ００６では、Ｗｅｂサーバ１０は、Ｓ０１０の処理を経た入力候補提示画面のHTMLデータＯを、要求元クライアント端末２へ返送する。すると、クライアント端末２では、図示せぬＣＰＵによって実行されているブラウザプログラム２１が、受信したHTMLデータＯに基づいて、入力候補提示画面を図示せぬディスプレイ上に表示する。例えば、入力候補提示画面のHTMLデータＯが図３６に示すものであると、表示される入力候補提示画面は、図３７に示す通りとなる。図３６及び図３７から明らかなように、この入力候補提示画面上には、各入力候補及び推薦入力候補が一覧表示され、各入力候補及び推薦入力候補の選択（例えば、図示せぬポインティングデバイスによるクリック）がなされると、図３８に示すように、入力対象フォームのＵＲＬ及び選択された入力候補又は推薦入力候補をパラメータとして含む入力候補選択要求メッセージが、Ｗｅｂサーバ１０へ送出される。
【００６９】
Ｓ００６を完了すると、Ｗｅｂサーバ１０は、処理をＳ００１に戻し、次のHTMLメッセージを待つ。そして、HTMLメッセージをクライアント端末２から受信すると、Ｗｅｂサーバ１０は、処理をＳ００１からＳ００２へ進め、受信したHTMLメッセージが電子化書面の雛型の要求メッセージ及び入力候補推薦要求メッセージ以外であれば、処理をＳ００７，Ｓ０１１へと進め、更に、受信したHTMLメッセージが入力候補選択要求メッセージである
か否かをチェックする。そして、Ｗｅｂサーバ１０は、入力候補選択要求メッセージを受信したのであれば処理をＳ０１２へ進め、それ以外のHTTPリクエストメッセージを受信したのであれば処理をＳ０１４へ進める。
【００７０】
Ｓ０１２では、Ｗｅｂサーバ１０は、受信したHTTPリクエストメッセージにパラメータとして含まれるＵＲＬに対応した入力フォームのHTMLテンプレートを、Ｗｅｂベースデータベース１３から取得する。
【００７１】
次のＳ０１３では、Ｗｅｂサーバ１０は、Ｓ０１２にて取得したHTMLテンプレートの入力値に、受信したHTTPリクエストメッセージにパラメータとして含まれる入力候補又は推薦入力候補を挿入することにより電子化書面雛型のHTMLデータを完成させる。例えば、入力フォームのHTMLテンプレートが図１９に示すものであると、図３９に示されるように、選択された入力候補又は推薦入力候補が、アンカータグに挿入される。
【００７２】
次のＳ００６では、Ｗｅｂサーバ１０は、Ｓ０１３の処理を経た電子化書面雛型のHTMLデータを、要求元クライアント端末２へ返送する。すると、クライアント端末２では、図示せぬＣＰＵによって実行されているブラウザプログラム２１が、受信したHTMLデータに基づいて、電子化書面を図示せぬディスプレイ上に表示する。例えば、図３９において推薦入力候補「東京都ＥＥ区」が挿入された場合には、表示される電子化書面は、図４０に示す通りとなる。図４０から明らかなように、この電子化書面雛型は、選択された入力候補又は推薦入力候補の文字列が入力フォーム３１に入力（補充）されていることを除き、図２１に示されるものと、全く同じである。従って、再度「履歴検索」ボタン３３を操作することも可能であるし、入力フォーム３１に入力（補充）されている文字列を修正することも可能であるし、「送信」ボタン３３を操作することも可能である。従って、「送信」ボタン３３が操作されると、図４１に示すように、入力フォームのＩＤ，及び、その時点でテキストボックス３１に入力（補充）されている文字列（入力フォームの内容）をパラメータとし、Ｗｅｂサーバ１０のＵＲＬを宛先とする送信要求メッセージが、Ｗｅｂサーバ１０へ送信される。
【００７３】
Ｓ００６を完了すると、Ｗｅｂサーバ１０は、処理をＳ００１に戻し、次のHTMLメッセージを待つ。そして、HTMLメッセージをクライアント端末２から受信すると、Ｗｅｂサーバ１０は、処理をＳ００１からＳ００２へ進め、受信したHTMLメッセージが電子化書面の雛型の要求メッセージ，入力候補推薦要求メッセージ及び入力候補選択要求メッセージ以外であれば、処理をＳ００７，Ｓ０１１，Ｓ０１４へと進め、更に、受信したHTMLメッセージが送信要求メッセージであるか否かをチェックする。そして、Ｗｅｂサーバ１０は、送信要求メッセージを受信したのであれば処理をＳ０１５へ進め、それ以外のHTTPリクエストメッセージを受信したのであれば、そのまま処理をＳ００１に戻す。
【００７４】
Ｓ０１５では、Ｗｅｂサーバ１０は、送信要求メッセージを受け付ける処理を行う。即ち、当該送信要求メッセージメッセージに含まれるパラメータによって内容特定される電子化書面を受領して、それに対処するための処理を自ら実行するか、そのような対処を行うための図示せぬ別サーバ装置へ転送する。例えば、電子書面が何らかの証明書の発行申請書であれば、証明書の発行手続きを行う。
【００７５】
次のＳ０１５では、Ｗｅｂサーバ１０は、履歴更新機能１２を呼び出しす。すると、呼び出された履歴更新機能１２は、図１５のサブルーチンを実行し、その最初のＳ８０１において、入力対象フォーム入力履歴データベース１５ａ（即ち、受信した送信要求メッセージ中にパラメータとして含まれるＩＤに対応した入力履歴データベース）を更新する。即ち、受信した送信要求メッセージ中にパラメータとして含まれる文字列が「入力履歴」欄に未だ記載されていなければ、新規のレコードを追加して、当該文字列を記入するとと
もに「入力回数」欄に初期値“１”を記入する。当該文字列が「入力履歴」欄に既に記載されていれば、当該文字列に対応する「入力回数」を一つインクリメントする。その上で、各文字列の入力回数の値の比率に応じて、「重み」の値を再計算して「重み」欄に上書きする。例えば、入力対象フォーム入力履歴データベース１５ａの内容が図４に示すものであった場合において、受信した送信要求メッセージ中に「東京都ＥＥ区」が含まれていた場合には、当該入力対象フォーム入力履歴データベース１５ａは、図４２に示すように更新される。このＳ８０１の処理が、過去に入力された文字列の入力履歴をデータベースに保存しておく処理，及び、各入力フォーム単位で、入力履歴に含まれる各文字列同士の入力回数の比率に応じた重みを予め計算しておく処理に、相当する。
【００７６】
続いて、履歴更新機能１２は、入力対象フォーム入力履歴データベース１５ａ以外の入力履歴データベース１５（即ち、非入力対象フォーム入力履歴データベース１５ｂ）毎にＳ８０２乃至Ｓ８１３の第１ループ処理を実行する。
【００７７】
この第１ループ処理内では、履歴更新機能１２は、最初のＳ８０２において、非入力対象フォーム入力履歴データベース１５ｂのうち未選択のものを、一つ選択する。
【００７８】
続いて、履歴更新機能１２は、Ｓ８０２にて選択した非入力対象フォーム入力履歴データベース１５ｂ中の各入力履歴（文字列）毎に、Ｓ８０３乃至Ｓ８１０の第２ループ処理を実行する。
【００７９】
この第２ループ処理内では、履歴更新機能１２は、最初のＳ８０３において、Ｓ８０２にて選択した非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）のうち未取出のものを、一つ取り出す。
【００８０】
続いて、履歴更新機能１２は、Ｓ８０３にて取り出した入力履歴（文字列）毎に、Ｓ８０４乃至Ｓ８０９の第３ループ処理を実行する。
【００８１】
この第３ループ処理内では、履歴更新機能１２は、最初のＳ８０４において、Ｓ８０１での更新後の入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）のうち未取出のものを、一つ取り出す。
【００８２】
次のＳ８０５では、履歴更新機能１２は、Ｓ８０３にて取り出した非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）と、入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）のいずれかとが一致するか否かをチェックする。
【００８３】
そして、両者が一致すれば、履歴更新機能１２は、Ｓ８０６において、当該非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）と当該入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）との「文字列類似度」を“1.0”とし
た後に、処理をＳ８０８へ進める。これに対して、両者が一致しなければ、履歴更新機能１２は、Ｓ８０７において、入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）比較元文字列とするとともに、非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）を比較先文字列として、Ｓ５０３と同様に、文字列類似度を計算する。具体的には、比較先文字列と比較元文字列との先頭からの一致文字数の比較元文字列の文字数に対する比率を、当該非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）と当該入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）との「文字列類似度」として算出するのである。そして、Ｓ８０７を完了すると、履歴更新機能１２は、処理をＳ８０８へ進める。例えば、Ｓ８０１での更新後の入力対象フォーム入力履歴データベース１５ａの内容が図４２に示す通りであって、図５に示す内容の非入力対象フォーム入力履歴データベース１５ｂに対応した「フォーム１」の非入
力対象フォームがＳ８０２にて選択されたとすると、それらの入力履歴（文字列）の各組合せについてＳ８０６又はＳ８０７にて取得される「文字列類似度」は、図４３に示す通りとなる。
【００８４】
Ｓ８０８では、履歴更新機能１２は、Ｓ８０６又はＳ８０７にて取得された「文字列類似度」に、Ｓ８０４にて取り出した入力履歴（文字列）について入力対象フォーム入力履歴データベース１５ａ中に記録されている「重み」，及び、Ｓ８０３にて取り出した入力履歴（文字列）について非入力対象フォーム入力履歴データベース１５ｂ中に記録されている「重み」を乗じる。このＳ８０８の処理が、前記フォーム間類似度を計算する際には、前記入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度に、夫々の文字列について算出されていた重みを反映させる処理に、相当する。
【００８５】
次のＳ８０９では、履歴更新機能１２は、入力対象フォーム入力履歴データベース１５ａ中の全入力履歴（文字列）について、第３ループ処理を実行したか否かをチェックする。そして、全入力履歴（文字列）について第３ループ処理を実行し終わっていなければ、履歴更新機能１２は、処理をＳ８０４へ戻す。これに対して、第３ループ処理を繰り返した結果として全入力履歴（文字列）について第３ループ処理を実行し終わっている場合には、履歴更新機能１２は、処理をＳ８０９からＳ８１０へ進める。
【００８６】
Ｓ８１０では、履歴更新機能１２は、Ｓ８０２にて選択した非入力対象フォーム入力履歴データベース１５ｂ中の全入力履歴（文字列）について、第２ループ処理を実行したか否かをチェックする。そして、全入力履歴（文字列）について第２ループ処理を実行し終わっていなければ、履歴更新機能１２は、処理をＳ８０３へ戻す。これに対して、第２ループ処理を繰り返した結果として全入力履歴（文字列）について第２ループ処理を実行し終わっている場合には、Ｓ８０２にて選択された非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）及び入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）の全ての組み合わせに対して、Ｓ８０８での計算が完了したことになるので、履歴更新機能１２は、処理をＳ８１０からＳ８１１へ進める。
【００８７】
Ｓ８１１では、履歴更新機能１２は、Ｓ８０２にて選択された非入力対象フォーム入力履歴データベース１５ｂ中の入力履歴（文字列）及び入力対象フォーム入力履歴データベース１５ａ中の入力履歴（文字列）の全ての組み合わせに関してＳ８０８にて算出された積の総和を算出し、これを入力対象フォームとＳ８０２にて選択された非入力対象フォームとの類似度とする。図４４は、Ｓ８０１での更新後の入力対象フォーム入力履歴データベース１５ａの内容が図４２に示す通りであって、図５に示す内容の非入力対象フォーム入力履歴データベース１５ｂに対応した「フォーム１」の非入力対象フォームがＳ８０２にて選択された場合におけるＳ８１１での計算例であり、一旦、入力対象フォームの入力履歴（文字列）毎にＳ８０８にて算出された積の総和を算出し、最後に、入力対象フォームの入力履歴（文字列）毎に算出された総和全体の総和を算出したものである。このＳ８１１の処理が、各非入力対象フォーム毎に、入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度の総和であるフォーム間類似度を予め計算しておく処理に、相当する。
【００８８】
次のＳ８１２では、履歴更新機能１２は、フォーム間類似度データベース１４における入力対象フォームとＳ８０２にて選択された非入力対象フォームとの類似度を、Ｓ８１１にて算出された値によって更新する。
【００８９】
次のＳ８１３では、履歴更新機能１２は、全非入力対象フォーム入力履歴データベース１５ｂについて、第１ループ処理を実行したか否かをチェックする。そして、全非入力対
象フォーム入力履歴データベース１５ｂについて第１ループ処理を実行し終わっていなければ、履歴更新機能１２は、処理をＳ８０２へ戻す。これに対して、第１ループ処理を繰り返した結果として全非入力対象フォーム入力履歴データベース１５ｂについて第１ループ処理を実行し終わっている場合には、履歴更新機能１２は、図１５のサブルーチンを終了して、Ｗｅｂサーバ１０に処理を戻す。
【００９０】
図７のメインルーチンでは、Ｗｅｂサーバ１０は、Ｓ０１５の完了後に、処理をＳ００１に戻し、次のメッセージを待つ。以上のようにして、Ｓ００１乃至Ｓ０１６の処理が、同じクライアント端末２とのセッションが繋がっている限り、繰り返される。
【００９１】
以上に説明したように、本実施形態によれば、サーバ装置１上のＷｅｂサーバ１０が提供する電子書面の雛型（図２１）においては、各入力フォーム３１に対応して「履歴検索」ボタン３２が備えられており、ユーザがクライアント端末２の図示せぬポインティングデバイスを用いて当該「履歴検索」ボタン３２を操作すると、当該入力フォームに対応した入力履歴データベース１５（入力対象フォーム入力履歴データベース１５ａ）に蓄積された過去の入力履歴（文字列）が全て読み出されるとともに、他の入力フォームに関して入力履歴データベース１５（非入力対象フォーム入力履歴データベース１５ｂ）に蓄積された入力履歴（文字列）から、入力対象フォーム入力履歴データベース１５ａに蓄積された各入力履歴（文字列）との総合的な類似度が最も高いものから順に所定個数の入力履歴（文字列）が選択される。このようにして、入力対象フォーム入力履歴データベース１５ａから読み出された入力履歴（文字列）が入力候補として、また、非入力対象フォーム入力履歴データベース１５ｂに蓄積された入力履歴（文字列）から選択された幾つかの入力履歴（文字列）が推薦入力候補として、夫々、入力候補提示画面（図３７）上に表示される。従って、ユーザとしては、当該入力フォームの過去の入力履歴（文字列）以外の（推薦）入力候補も提示されるので、ユーザの選択の幅が拡がることになる。しかも、当該入力フォームの過去の入力履歴（文字列）以外の推薦入力候補は、当該入力フォームの過去の入力履歴（文字列）と類似度が厳選されているので、関連性の低い入力候補によって却って入力が煩わされてしまうという問題も生じない。
（付記１)
クライアント端末とネットワークで接続されたコンピュータにより実行される入力フォームに対する入力候補を推薦するための入力候補推薦方法であって、
所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴をデータベースに保存しておき、
前記クライアント端末の操作者によって入力対象として選択された入力フォームである入力対象フォームについての入力履歴，及び、当該入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴を、夫々、前記データベースから取得し、
前記非入力対象フォームについての入力履歴に含まれる文字列のうち前記入力対象フォームについての入力履歴に含まれないものについて、夫々、前記入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出し、
前記非入力対象フォームについての入力履歴に含まれる文字列のうちの前記類似度の総和が高い所定個数の文字列を、前記入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力する
ことを前記コンピュータが実行することを特徴とする入力候補推薦方法。
（付記２)
前記類似度は、内積相関法に従って算出される
ことを前記コンピュータが実行することを特徴とする付記１記載の入力候補推薦方法。
（付記３)
各入力フォーム単位で、入力履歴に含まれる各文字列同士の入力回数の比率に応じた重みを予め計算しておき、
前記入力対象フォームについての入力履歴に含まれる文字列と前記非入力対象フォーム
についての入力履歴に含まれる文字列との前記類似度を算出する際には、各文字列について算出した重みを夫々前記類似度の値に反映させる
ことを前記コンピュータが実行することを特徴とする付記１記載の入力候補推薦方法。
（付記４）
前記非入力対象フォームが複数存在する場合には、各非入力対象フォーム毎に、前記入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度の総和であるフォーム間類似度を予め計算しておき、各文字列につき、それを含む非入力対象フォームについて算出されていたフォーム間類似度に比例した値の総和を、前記類似度の値に反映させる。
ことを前記コンピュータが実行することを特徴とする付記１又は３記載の入力候補推薦方法。
（付記５）
各入力フォーム単位で、入力履歴に含まれる各文字列同士の入力回数の比率に応じた重みを予め計算しておき、
前記フォーム間類似度を計算する際には、前記入力対象フォームについての入力履歴に含まれる各文字列と非入力対象フォームについての入力履歴に含まれる各文字列との類似度に、夫々の文字列について算出されていた重みを反映させ、重みを反映させた類似度の総和を前記フォーム間類似度とする
ことを前記コンピュータが実行することを特徴とする付記４記載の入力候補推薦方法。
（付記６）
クライアント端末とサーバ装置とからなるネットワークシステムにおいて、前記データベースを前記サーバ装置に格納しておき、前記入力装置を前記サーバ装置から前記クライアント端末へ出力する
ことを前記コンピュータが実行することを特徴とする付記１記載の入力候補推薦方法。
（付記７）
クライアント端末とネットワークで接続されたコンピュータが入力フォームに対する入力候補を推薦するために読み込んで実行する入力候補推薦プログラムであって、前記コンピュータを、
所定の複数の入力フォームの夫々について、過去に入力された文字列の入力履歴を保存するデータベース手段，
操作者によって入力対象として選択された入力フォームである入力対象フォームについての入力履歴，及び、当該入力対象フォーム以外の入力フォームである非入力対象フォームについての入力履歴を、夫々、前記データベース手段から取得する取得手段，
前記非入力対象フォームについての入力履歴に含まれる文字列のうち前記入力対象フォームについての入力履歴に含まれないものについて、夫々、前記入力対象フォームについての入力履歴に含まれる全文字列に対する類似度の総和を算出する類似度操作算出手段，及び、
前記非入力対象フォームについての入力履歴に含まれる文字列のうちの前記類似度の総和が高い所定個数の文字列を、前記入力対象フォームについての入力履歴に含まれる文字列とともに、入力候補として出力する入力候補出力手段
として機能させることを特徴とする入力候補推薦プログラム。
【図面の簡単な説明】
【００９２】
【図１】本案の実施の形態であるネットワークシステムの概略構成を示すブロック図
【図２】類似候補推薦機能の詳細構成を示すブロック図
【図３】Ｗｅｂページデータベースのデータ例を示す表
【図４】入力履歴データベース（入力対象フォーム入力履歴データベース）のデータ例を示す表
【図５】入力履歴データベース（非入力対象フォーム入力履歴データベース）のデータ例を示す表
【図６】フォーム間類似度データベースのデータ例を示す表
【図７】Ｗｅｂサーバ１０による処理を示すフローチャート
【図８】Ｓ００８にて実行される類似候補推薦機能による処理を示すフローチャート
【図９】Ｓ１０１にて実行される入力対象フォーム履歴取得機能による処理を示すフローチャート
【図１０】Ｓ１０２にて実行される全体履歴取得機能による処理を示すフローチャート
【図１１】Ｓ１０３にて実行される類似度算出機能による処理を示すフローチャート
【図１２】Ｓ４０６にて実行される文字列類似度の重み値計算処理サブルーチンを示すフローチャート
【図１３】Ｓ４０７にて実行されるフォーム間類似度の重み値計算処理サブルーチンを示すフローチャート
【図１４】Ｓ１０４にて実行される順位付け機能による処理を示すフローチャート
【図１５】Ｓ０１５にて実行される類似度算出機能による処理を示すフローチャート
【図１６】図８乃至図１５のフローチャートに従った処理によって各部間で授受されるデータの流れを示すタイミングチャート
【図１７】図１６を一部拡大して示すタイミングチャート
【図１８】電子化書面雛型のHTML要求メッセージ中のパラメータを示す図
【図１９】入力フォームのHTMLテンプレートを示す図
【図２０】入力値を空とされた入力フォームのHTMLテンプレートを示す図
【図２１】電子化書面雛型を示す図
【図２２】入力候補推薦要求メッセージ中のパラメータを示す図
【図２３】入力対象フォーム入力履歴データベースから読み出された入力履歴を示す表
【図２４】各非入力対象フォーム入力履歴データベースから読み出された入力履歴を示す表
【図２５】各非入力対象フォームの入力履歴を結合してなるデータ列を示す表
【図２６】入力対象フォームの入力履歴を削除したデータ列を示す表
【図２７】重複した入力履歴を削除したデータ列を示す表
【図２８】マージ表を示す表
【図２９】文字列類似度の重み値を示す表
【図３０】フォーム間類似度の重み値を示す表
【図３１】入力候補適正評価値を示す表
【図３２】ソート後のマージ表の見出しを示す表
【図３３】抽出された上位３個の見出しを示す表
【図３４】Ｗｅｂサーバに応答される入力候補及び推薦入力候補を示す表。
【図３５】入力候補提示画面のHTMLテンプレートを示す表
【図３６】入力候補提示画面のHTMLデータを示す表
【図３７】入力候補提示画面を示す表
【図３８】入力候補選択要求メッセージ中のパラメータを示す図
【図３９】選択した（推薦）入力候補を挿入した電子化書面雛型のHTMLデータを示す表
【図４０】選択した（推薦）入力候補を挿入した電子化書面雛型を示す図
【図４１】送信要求メッセージ中のパラメータを示す図
【図４２】更新後の入力対象フォーム入力履歴データベースを示す表
【図４３】入力対象フォームの入力履歴中の各文字列と非入力対象フォームの入力履歴中の各文字列との文字列類似度の計算結果を一覧する表。
【図４４】フォーム間類似度の計算過程を示す表
【図４５】更新後のフォーム間類似度データベースを示す表
【符号の説明】
【００９３】
１    サーバ装置
１０    Ｗｅｂサーバ
１１    類似候補推薦機能
１２    履歴更新機能
１４    フォーム間類似度データベース
１５    入力履歴データベース
１１１    入力対象フォーム履歴取得機能
１１２    全体履歴取得機能
１１３    類似度算出機能
１１４    順位付け機能
Ｎ    ネットワーク
【図１】
2010102656.tif 000003
【図２】
2010102656.tif 000004
【図３】
2010102656.tif 000005
【図４】
2010102656.tif 000006
【図５】
2010102656.tif 000007
【図６】
2010102656.tif 000008
【図７】
2010102656.tif 000009
【図８】
2010102656.tif 000010
【図９】
2010102656.tif 000011
【図１０】
2010102656.tif 000012
【図１１】
2010102656.tif 000013
【図１２】
2010102656.tif 000014
【図１３】
2010102656.tif 000015
【図１４】
2010102656.tif 000016
【図１５】
2010102656.tif 000017
【図１６】
2010102656.tif 000018
【図１７】
2010102656.tif 000019
【図１８】
2010102656.tif 000020
【図１９】
2010102656.tif 000021
【図２０】
2010102656.tif 000022
【図２１】
2010102656.tif 000023
【図２２】
2010102656.tif 000024
【図２３】
2010102656.tif 000025
【図２４】
2010102656.tif 000026
【図２５】
2010102656.tif 000027
【図２６】
2010102656.tif 000028
【図２７】
2010102656.tif 000029
【図２８】
2010102656.tif 000030
【図２９】
2010102656.tif 000031
【図３０】
2010102656.tif 000032
【図３１】
2010102656.tif 000033
【図３２】
2010102656.tif 000034
【図３３】
2010102656.tif 000035
【図３４】
2010102656.tif 000036
【図３５】
2010102656.tif 000037
【図３６】
2010102656.tif 000038
【図３７】
2010102656.tif 000039
【図３８】
2010102656.tif 000040
【図３９】
2010102656.tif 000041
【図４０】
2010102656.tif 000042
【図４１】
2010102656.tif 000043
【図４２】
2010102656.tif 000044
【図４３】
2010102656.tif 000045
【図４４】
2010102656.tif 000046
【図４５】
2010102656.tif 000047