(57)【特許請求の範囲】
【請求項１】
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、
を特徴とする綴り入力装置。
【請求項２】
前記配置文字列構成手段は、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が既に前記配置文字列に含まれている場合には、前記未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、
を特徴とする請求項１記載の綴り入力装置。
【請求項３】
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、
を特徴とする綴り入力装置。
【請求項４】
前記配置文字列表示手段は、
前記配置文字列構成手段において、前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記配置文字列に新たな文字が加えられた場合には、該削除された入力済文字の表示位置に該新たな文字を表示し、他の文字の表示位置は保持すること、を特徴とする請求項１乃至３いずれか１項記載の綴り入力装置。
【請求項５】
前記配置文字列構成手段は、
前記未配置文字列の文字が無い場合には、前記配置文字列の文字数が前記上限格納文字数となるまでダミー文字を含めるダミー文字追加手段、
を備えることを特徴とする請求項１乃至４いずれか１項記載の綴り入力装置。
【請求項６】
ユーザ画面、記憶部を備えるコンピュータを、
設問と、該設問に対する解答文字列を前記記憶部に記憶するクイズデータ記憶手段と、
前記設問を前記ユーザ画面に表示する設問表示手段と、
配置文字列を前記記憶部に記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字を前記ユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、して機能させ、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加える、綴り入力プログラム。
【請求項７】
ユーザ画面、記憶部を備えるコンピュータを、
設問と、該設問に対する解答文字列を前記記憶部に記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を前記記憶部に記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字を前記ユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、して機能させ、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加える、綴り入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、綴り入力装置及び方法に関する。
【背景技術】
【０００２】
従来、例えば特許文献１に開示されるように、タッチパネル対応ディスプレイにおいて、設問をユーザ画面に表示し、該設問に対する解答文字列の各文字についてユーザ入力を受け付けて、解答文字列を完成させるゲーム端末が知られている。また、本公報には、解答文字列を入力するための綴り入力手段として、解答文字列を構成するすべての文字を表示したソフトウェアキーボード（例えば、アルファベット２６文字の文字ボタンが整列されている。）を用いることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７３３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ｉＰｈｏｎｅ（登録商標）やＰＤＡ等のタッチパネル対応ディスプレイを有する携帯機器が普及している。これらの携帯機器の画面サイズはＰＣなどに比べて狭い。そのため、上記従来の綴り入力手段のように、解答文字列を構成するすべての文字を表示したソフトウェアキーボードを用いることとすれば、文字ボタンの表示サイズが小さくならざるを得ず、綴り入力の操作性が悪化するという課題がある。
【０００５】
この発明は、上述のような課題を解決するためになされたもので、画面サイズが狭い場合であっても、操作性高く綴りを入力できる綴り入力装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、上記の目的を達成するため、綴り入力装置であって、
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、を特徴とする。
【０００７】
また、第２の発明は、第１の発明において、
前記配置文字列構成手段は、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が既に前記配置文字列に含まれている場合には、前記未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【０００８】
また、第３の発明は、上記の目的を達成するため、綴り入力装置であって、
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【０００９】
また、第４の発明は、第１乃至第３の発明において、
前記配置文字列表示手段は、
前記配置文字列構成手段において、前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記配置文字列に新たな文字が加えられた場合には、該削除された入力済文字の表示位置に該新たな文字を表示し、他の文字の表示位置は保持すること、を特徴とする。
【００１０】
また、第５の発明は、第１乃至第４の発明において、
前記配置文字列構成手段は、
前記未配置文字列の文字が無い場合には、前記配置文字列の文字数が前記上限格納文字数となるまでダミー文字を含めるダミー文字追加手段、を備えることを特徴とする。
【００１１】
また、第６の発明は、上記の目的を達成するため、綴り入力プログラムであって、
ユーザ画面、記憶部を備えるコンピュータを、
設問と、該設問に対する解答文字列を前記記憶部に記憶するクイズデータ記憶手段と、
前記設問を前記ユーザ画面に表示する設問表示手段と、
配置文字列を前記記憶部に記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字を前記ユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、して機能させ、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、を特徴とする。
【００１２】
また、第７の発明は、上記の目的を達成するため、綴り入力プログラムであって、
ユーザ画面、記憶部を備えるコンピュータを、
設問と、該設問に対する解答文字列を前記記憶部に記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を前記記憶部に記憶する配置文字列記憶手段と、
前記配置文字列の文字数が前記解答文字列の文字数よりも少ない上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字を前記ユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、して機能させ、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【発明の効果】
【００１３】
第１又は第６の発明によれば、未入力文字列の先頭文字が配置文字列に加えられる。そのため、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合であっても、正解の文字がユーザ入力可能であることを保障することができる。また、第１、第３、第６、第７の発明によれば、ユーザ画面に表示される配置文字列の上限格納文字数を定める。そのため、画面サイズ等に応じてユーザ入力に好適な文字の表示サイズを確保することができる。そのため、綴り入力が容易となり高い操作性を実現することができる。
【００１４】
第２又は第３又は第７の発明によれば、未配置文字列の先頭文字側にある文字ほど高い確率で配置文字列に加えられる。そのため、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合において、早期にユーザ入力される文字ほどユーザ画面に表示され易くなる。そのため、ユーザ画面に表示された文字が長い間残ってユーザ入力の巾を狭め、学習効果やゲーム性を損なうことを防止することができる。また、先頭文字側から順番に表示されることを所定の確率で防ぐこともできる。そのため、ユーザ入力の順序が類推されることを防ぐことができる。
【００１５】
第４の発明によれば、ユーザ入力により入力済となった文字の表示位置に新たな文字を表示し、他の文字の表示位置は保持される。そのため、ユーザは、入力の過程で覚えた文字の表示位置に従ってスムーズに綴り入力をすることができる。
【００１６】
第５の発明によれば、未配置文字列の文字が無い場合に、配置文字列にダミー文字を補充することができる。そのため、綴り入力の最後までユーザ入力の選択肢を減らすことなく学習効果やゲーム性を保つことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態１のシステムの全体構成を示すブロック図である。
【図２】本発明の実施の形態１の表示部２０に表示されるユーザ画面の構成を示す図である。
【図３】図２に示す配置文字列表示領域７０の表示例を示す図である。
【図４】本発明の実施の形態１において用いられる選択確率分布の具体例について説明するための図である。
【図５】本発明の実施の形態１において、処理部３０に実行される処理ルーチンのフローチャートである。
【図６】本発明の実施の形態１において、処理部３０に実行される処理ルーチンのフローチャートである。
【図７】本発明の実施の形態２において、処理部３０に実行される処理ルーチンのフローチャートである。
【図８】比較対象の配置文字列表示領域７０の表示例を示す図である。
【図９】比較対象の配置文字列表示領域７０の表示例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１９】
実施の形態１．
［クイズシステムの全体構成］
図１は、本発明の実施の形態１に係るクイズシステム１の構成を示すブロック図である。クイズシステム１は、例えば、ｉＰｈｏｎｅ（登録商標）やＰＤＡ等の携帯機器上においてクイズゲームをユーザにプレイさせるシステムである。クイズとは、クイズシステム１が出題者として問題（１つの設問）を出題して、ユーザが解答するという一連の作業である。ここでは、タイピング形式で文字列を入力して解答させるクイズを想定する。
【００２０】
クイズシステム１は、入力部１０、表示部２０を備えている。入力部１０は、表示部２０の表示内容に従ってユーザ入力を受け付けるための入力インタフェースである。表示部２０は、クイズの設問や、ユーザが選択する文字ボタンや、ユーザの操作結果を表示するための出力インタフェースである。ここで、入力部１０にはタッチパネルが用いられる。また、表示部２０は携帯機器に適した小型ディスプレイが用いられる。そして、タッチパネルは小型ディスプレイ上に積層されて配置されタッチパネル対応ディスプレイを構成する。このタッチパネル対応ディスプレイの構成は周知であるため、ここでは、その詳細な説明は省略する。
【００２１】
入力部１０及び表示部２０は、バスを介して処理部３０に接続されている。入力部１０のタッチパネルは、表示部２０の表示内容（具体的には、ユーザが触れたパネルの位置）に応じた入力データを処理部３０に送信する。また、処理部３０は、入力データなどに応じて表示データを生成し表示部２０に送信する。表示部２０は、受信した表示データに基づき表示を行う。処理部３０は、例えば、１又は複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、携帯機器の制御中枢として機能する他、後述のフローチャートに示す処理ルーチン等、種々の処理を行う。
【００２２】
処理部３０は、バスを介して記憶部４０に接続されている。記憶部４０の記憶領域は、揮発性領域と不揮発性領域に分けられる。不揮発性領域は、記憶内容を書き換え不可能な書き換え不可能領域と、書き換え可能領域とに分けられる。揮発性領域は、例えばＲＡＭ（Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により実現される。書き換え不可能領域は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）により実現される。書き換え可能領域は、例えばハードディスクやフラッシュメモリにより実現される。揮発性領域及び書き換え可能領域の記憶内容は処理部３０からの指示に応じて書き換えられる。処理部３０による記憶部４０の記憶内容の読み書き処理は周知であるため、ここではその詳細な説明は省略する。
【００２３】
不揮発性領域には、ブートプログラムなどが記憶されている。書き換え可能領域には、ブートプログラムを介して起動されるオペレーティングシステム、オペレーティングシステム上で実行される本実施形態のアプリケーション（特定の作業を行うためのプログラム）などが記憶されている。
【００２４】
揮発性領域は、処理部３０の作業領域として機能する。具体的には、ハードディスクやフラッシュメモリに記憶されている本実施形態のアプリケーション等をロードし、実行途中のデータを記憶する。本実施形態のアプリケーションで用いられる、基準インデックスｉ、変数ｊ、乱数α、選択確率ｐ、入力済文字列、未入力文字列、配置文字列、未配置文字列などが一時的に記憶される。これらの文字列はインデックスを有する配列であり、配列の要素として文字が格納される。
【００２５】
書き換え可能領域には、複数のクイズデータが記憶されている。本実施形態のクイズデータには、設問ＩＤ、設問の文字列、設問の答えとなる解答文字列が含まれている。一例として、設問ＩＤには通し番号、設問には日本語の単語、解答文字列には設問に対応する英単語が記憶される。複数のクイズデータは、ファイルやデータベース上に記憶されている。
【００２６】
［本実施形態のアプリケーションの概要］
次に、図２を用いて、クイズシステム１を実現するために用いられるアプリケーションの概要について説明する。図２は、アプリケーションの実行中に表示部２０に表示される画面構成を示す図である。図２に示すように、表示部２０には表示領域として、設問表示領域５０、入力済文字列表示領域６０及び配置文字列表示領域７０が設けられている。各表示領域には、処理部３０から受信した表示データに基づいて文字や文字ボタンが表示される。ここで、配置文字列とは、複数の配置文字からなる文字列であり、各配置文字は、ユーザ入力の対象となる文字ボタンとして配置文字列表示領域７０に表示されるものである。
【００２７】
上記アプリケーションは、設問に対する解答文字列をタイピング形式で入力するクイズゲームを実現するためのプログラムである。このアプリケーションによれば処理部３０は次のような流れの処理を実行する。処理部３０は、記憶部４０からクイズデータを１つ取得する。クイズデータの設問を表示部２０の設問表示領域５０に表示させる。設問に対する解答文字列を構成する文字を表示部２０の配置文字列表示領域７０に文字ボタンとして表示させる。そして、ユーザが入力部１０のタッチパネルから表示部２０の配置文字列表示領域７０に表示された文字ボタンを押圧することにより、その文字ボタンの選択をユーザ入力として受け付ける。解答文字列の文字順に文字ボタンが選択されたことを判定し、表示部２０の入力済文字列表示領域６０に選択された文字を表示させる。ユーザ入力が繰り返されて最終的に解答文字列が完成したことを判定して１つのクイズを終了させる。
【００２８】
上述した通り、表示部２０の配置文字列表示領域７０には、解答文字列を完成させるために必要な文字ボタンが表示される。図８に示す従来技術では、配置文字列表示領域７０にアルファベット２６文字の文字ボタンを含むソフトウェアキーボードを表示することとしている。確かに、このような綴り入力手段を提供すれば、解答文字列の綴りを入力することは可能である。
【００２９】
しかしながら、クイズシステム１に用いるｉＰｈｏｎｅ（登録商標）やＰＤＡなどの携帯機器は表示部２０の画面サイズが狭い。そのため、表示部２０の配置文字列表示領域７０に、上述のようなソフトウェアキーボードを表示したのでは、各文字ボタンが小さくならざるを得ず、綴り入力における操作性は悪くなる。
【００３０】
この対策として、配置文字列表示領域７０に表示させる文字ボタンを、解答文字列を構成する各文字に限定することも考えられる。しかしながら、図９に示すように、解答文字列の文字数が多くなれば、文字ボタンも多くなり、やはり文字ボタンを小さく表示せざるを得ず操作性が悪化することとなる。
【００３１】
［実施の形態１における特徴的処理１］
そこで、本実施の形態では、この課題を解決するために、まず、画面サイズに応じて文字ボタンの大きさを操作性が確保される大きさに定める。そして、配置文字列表示領域７０に表示される文字ボタンの数を制限することする。具体的には、上述した配置文字列に格納される配置文字の上限格納文字数を定める。図３は、上限格納文字数を４とした場合の配置文字列表示領域７０の表示例を示す図である。なお、上限格納文字数は、画面サイズに応じてユーザの操作性を損なわないように定められるものでありこれに限られるものではない。
【００３２】
ところで、このように配置文字列の上限格納文字数を定めた場合には、解答文字列の文字数が配置文字列の上限格納文字数よりも多くなれば、配置文字列表示領域７０に解答文字列のすべての文字を同時には表示できなくなる。そのため、１文字入力されるたびに、配置文字列から入力済となった配置文字を削除し、新たに文字を加えることとする。特に本実施形態においては、配置文字列に文字を加えるにあたって、解答文字列のうち未だユーザ入力により選択されていない未入力文字からなる未入力文字列から配置文字列に含まれている文字を除いた未配置文字列を算出し、この未配置文字列の中から文字を選択して配置文字列に加えることとした。さらに、未入力文字列の先頭文字が未だ配置文字列に含まれていない場合には、この先頭文字を選択して前記配置文字列に加えることとした。
【００３３】
これにより、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合であっても、ユーザ入力に際し正解の文字を選択できることを保障することができる。
【００３４】
加えて、本実施形態においては、配置文字列表示領域７０における文字ボタンの表示位置について、配置文字列から入力済文字が削除された後、配置文字列に新たな文字が加えられた場合には、その削除された文字ボタンの表示位置に新たな文字ボタンを表示することとし、他の文字ボタンの表示位置を保持することとした。
【００３５】
これにより、ユーザは、入力の過程で覚えた文字の表示位置に従ってスムーズに綴り入力をすることができる。
【００３６】
ここで、上述した文字列の定義を整理する。「解答文字列」とは、設問に対する答えとなる文字列（例えば、英単語）でありユーザ入力の最終目的となる綴りをいう。「入力済文字」とは、解答文字列のうち先頭文字から順にユーザ入力された文字であり、入力済文字列表示領域６０に並べて表示される。「未入力文字」とは、解答文字列のうち未だユーザ入力されていない文字をいう。「未入力文字列」とは、解答文字列から入力済文字をすべて除いた文字列であり未入力文字の文字列をいう。「配置文字」とは、未入力文字のうちユーザ入力により選択される文字ボタンとして配置文字列表示領域７０に表示される文字をいう。「配置文字列」とは複数の配置文字からなる文字列をいい、上限格納文字数が定められている。「未配置文字列」とは、未入力文字列から配置文字をすべて除いた文字列をいう。以下、これらの定義を用いて説明する。
【００３７】
［実施の形態１における特徴的処理２］
ところで、配置文字列表示領域７０に表示される配置文字列を上述のように更新していく場合には新たな課題が生じる。配置文字列の各配置文字の集まり方によっては、次にユーザ入力すべき文字が類推できてしまうことである。例えば、解答文字列の末尾側の文字が多く配置文字列に含まれた場合には、これらの配置文字（文字ボタン）は綴り入力の終盤まで使われることがない。そして、新たな文字ボタンとして、次にユーザ入力されるべき未入力文字の先頭文字が表示され易くなる。このように、ユーザ入力の選択肢は少なくなり、新たな文字ボタンばかりが次々と選択されることとなるため、ユーザは次入力を類推できてしまい学習効果やゲーム性が低下してしまう。なお、このような現象は解答文字列の文字数が多いほど生じやすい。
【００３８】
そこで、本実施形態では、選択確率分布を用いて解答文字列の先頭文字側の文字ほど高い確率で配置文字列に加えられることとした。
【００３９】
（選択確率分布を用いた配置文字列の構成）
選択確率分布に基づいて配置文字列を構成する処理について説明する。ここでは、配置文字列の初期配置において文字を選択する処理について説明する。なお、本実施形態における説明では、説明容易のために、図３に示すように配置文字列表示領域７０に表示される文字ボタン数を４つ（配置文字列の上限格納文字数を４）とする。
【００４０】
解答文字列ｓはｎ個の文字からなる文字列とする。ここで、各文字は変数ｉ（ｉ＝０，１，・・・，ｎ−１）を用いてｓ（ｉ）で表すことができる。
【００４１】
配置文字列表示領域７０に表示される４つの文字ボタンである配置文字を未配置文字列から選択するに際し、まず、先頭文字ｓ（０）文字は、最初のユーザ入力において選択されるべき必須の配置文字となるため、処理部３０は先頭文字ｓ（０）を補充文字として配置文字列に加える。
【００４２】
次に、残り３文字の補充文字を選択確率分布に従って選択する。基準インデックスを変数ｉとしたとき、文字ｓ（ｊ）を補充文字とする選択確率ｐが関数ｅｘｐ（−λ（ｊ−ｉ））に比例するように設定する。ここで、基準インデックスｉとは、次にユーザ入力されるべき未入力文字列の先頭文字ｓ（ｉ）を示すものである。また、変数ｊはｉ＋１≦ｊ≦ｎ−１の整数であり、λは非負の調整用パラメータである。
【００４３】
即ち、このような関数を用いて、基準インデックスｉに近い文字ｓ（ｊ）（ｉ＜ｊ）ほど、補充文字として選択される確率を高く設定する点に特徴を有する。これにより、「補充文字が配置文字列の中に無く、補充文字が次に入力すべき文字になる状況」が連続することを抑制することができる。
【００４４】
なお、関数はこれに限定されるものではなく、基準インデックスｉに近い文字ほど、高い確率で選択され、基準インデックスｉから遠い末尾の文字ほど低い確率で選択される関係を有しさえすればよい。
【００４５】
（選択確率分布を用いた配置文字列の構成の具体例）
次に、選択確率分布に基づいて配置文字列を構成する具体例について図４を用いて説明する。ここでは、関数ｑ（ｉ，ｊ）＝ｅｘｐ（−λ（ｊ−ｉ））のより具体的な例として調整パラメータλ＝１、底を２とした式（１）に示す指数関数を用いることとする。そして、基準インデックスｉ＝０（初期配置）の場合について説明する（式（２））。上述の通り、変数ｊは、ｉ＋１≦ｊ≦ｎ−１の整数である。
ｑ（ｉ，ｊ）＝２＾（−（ｊ−ｉ））                  ・・・（１）
ｑ（０，ｊ）＝２＾（−ｊ）                          ・・・（２）
【００４６】
図４に示す解答文字列「ｅｎｖｉｒｏｎｍｅｎｔ」の文字数ｎは１１である。また、基準インデックスｉ＝０であるためｊは１〜１０の整数である。ここで、式（２）よりｑ（０、ｊ）は次のように算出される。
【００４７】
図４（Ａ）における数値は、
ｊ＝１のとき          ｑ（０，１）  ＝２−１＝０．５
ｊ＝２のとき          ｑ（０，２）  ＝２−２＝０．２５
ｊ＝３のとき          ｑ（０，３）  ＝２−３＝０．１２５
・・・・
ｊ＝１０のとき        ｑ（０，１０）＝２−４＝０．０００９７６５６２５
となる。
【００４８】
次に、ｊ＝１〜１０までのｑ（０、ｊ）の和が１となるように正規化して各文字ｓ（ｊ）の選択確率ｐ（０，ｊ）を算出する。図４（Ｂ）に示す例では、選択確率ｐ（０，ｊ）＝ｑ（０，ｊ）／Σj＝１１０ｑ（０，ｊ）で算出されることとなる。
【００４９】
図４（Ｂ）における数値は、
ｊ＝１のとき          ｐ（０，１）＝０．５００４８８７・・・
ｊ＝２のとき          ｐ（０，１）＝０．２５０２４４３・・・
・・・
となる。
【００５０】
なお、一般化すれば、
ｐ（ｉ，ｊ）＝ｑ（ｉ，ｊ）／Σj=i+1n-1ｑ（ｉ，ｊ）      ・・・（３）
で表される。
【００５１】
続いて、選択確率ｐ（０，ｊ）に基づいて入力候補となる要素を選択する。具体的には、０以上１未満の実数について一様乱数αを取得し、乱数αとｐ（０，ｊ）の積算値とを比較する。そして、積算値が初めて乱数α以上となるｓ（ｊ）を補充文字として選択する。
【００５２】
図４（Ｃ）に示す例では、乱数α１が取得された場合には、ｐ（０，１）未満であるためｓ（１）＝「ｎ」が選択される。乱数α２が取得された場合には、ｐ（０，１）以上であって、ｐ（０，１）＋ｐ（０，２）未満であるためｓ（２）＝「ｖ」が選択される。乱数α３が取得された場合には、ｐ（０、１）＋ｐ（０，２）以上であって、ｐ（０，１）＋ｐ（０，２）＋ｐ（０，３）未満であるため、ｓ（３）＝「ｉ」が選択される。
【００５３】
なお、一般化すれば、
Σｊ＝ｉ＋１ｍ−１ｐ（ｉ，ｊ）  ＜  乱数α  ≦  Σｊ＝ｉ＋１ｍｐ（ｉ，ｊ）
・・・（４）
を満たすｍを求め、文字ｓ（ｍ）を補充文字として選択する。
但し、３つの補充文字を選択する際に、同じ文字ｓ（ｍ）が選ばれた場合には、新たな乱数αを発生させて、異なる補充文字が選択されるまで繰り返すこととする。
【００５４】
上述した例に示すように、基準インデックスｉ＝０における３つの補充文字が選択されて配置文字列に配置文字として加えられる。その後、処理部３０は配置文字列中の配置文字をランダムに並べ替える。そして、表示部２０に配置文字列の並び順に配置文字をボタン表示させる表示データを送信する。その結果、ユーザ画面の配置文字列表示領域７０に配置文字がボタン表示される。
【００５５】
基準インデックスｉ＝１以降（ユーザが１文字目を入力した以降）については、補充文字を１つだけ選択すればよいことを除き、図４に示す具体例と同様に、式（１）〜（４）に基づいて算出することができる。また、ｑ（ｉ，ｊ）については、予めマップ化しておくことで計算を省略することができる。
【００５６】
［実施の形態１における綴り入力処理ルーチン］
次に、図５〜図６を用いて、本実施形態における上述の綴り入力処理を実現するために処理部３０が行う処理ルーチンについて説明する。図５〜図６は処理部３０が実行する連続した処理ルーチンのフローチャートである。前提として、上述した本実施形態のアプリケーションが起動され、所定の検索条件の下、記憶部４０から複数のクイズデータが読み込まれてクイズが開始されるものとする。そして、複数のクイズデータのうち１つのクイズデータが選択される。例えば、設問ＩＤの順に選択される。処理部３０は、クイズデータの設問を表示部２０の設問表示領域５０に表示させる。また、以下の説明では、説明容易のため、配置文字列の上限格納文字数を４として説明する。
【００５７】
図５に示すルーチンでは、まず、ステップ１００において、処理部３０は設問に対応する解答文字列の綴りｓとその文字数ｎを取得する。具体的には、記憶部４０のクイズデータから設問ＩＤに対応する解答文字列を取得する。
【００５８】
次に、ステップ１１０において、処理部３０は解答文字列から先頭文字ｓ（０）を選択し配置文字列に加える。上述した通り配置文字列は文字を要素とする配列であり記憶部４０に記憶される。ここで、配置文字列ａのインデックスｋ（位置ｋ）の配置文字をａ（ｋ）（ｋ＝０〜３）で示す。ステップ１１０ではａ（０）にｓ（０）が加えられる。
【００５９】
さらに、ステップ１２０において、処理部３０は綴りｓに含まれる文字ｓ（ｊ）（１≦ｊ≦ｎ−１）の中から、上述した選択確率分布ｐ（０，ｊ）に基づいて３個の文字を選び配置文字列ａに順次加える。
【００６０】
続いて、ステップ１３０において、処理部３０は配置文字列ａに格納された４つの配置文字の順番をランダムに入れ替える。また、ステップ１４０において、基準インデックスｉを０に設定する。文字ｓ（ｉ）は次に入力されるべき正解の文字を示す。処理部３０は、表示部２０に配置文字列ａを配置文字ａ（０）〜ａ（３）の配列順で表示させる表示データを送信する。表示部２０は、配置文字列表示領域７０に、配置文字列ａの配列順に文字ボタンを表示する。
【００６１】
ステップ１５０において、処理部３０は、入力部１０を介して表示部２０に表示された文字ボタンに対するユーザ入力を受け付ける。ユーザが、入力部１０のタッチパネルを押圧することで、入力部１０から処理部３０に押圧位置を示す信号が通知される。処理部３０はこれにより特定の文字ボタンがユーザに選択されたと判断する。
【００６２】
次に、ステップ１６０において、処理部３０は、ユーザに選択された文字ボタン（位置ｋ）、即ち配置文字ａ（ｋ）が文字ｓ（ｉ）と同じであるか否かを判定する。ステップ１４０直後の場合には、基準インデックスｉは０であるため、文字ｓ（０）であるか否かを判定する。
【００６３】
ユーザに選択された文字がｓ（ｉ）でないと判定された場合には、処理部３０は、誤った入力がなされたと判断し、表示部２０に誤り警告の表示データを送信する。表示部２０は表示データに基づいて誤り警告を表示する（ステップ１７０）。なお、警告音や振動によって警告することとしてもよい。その後、図５のＰ１に戻り、ステップ１５０において再度ユーザ入力を求める。なお、ステップ１００から再開することとしてもよい。
【００６４】
一方、ユーザに選択された文字がｓ（ｉ）であると判定された場合には、処理部３０は、正しい入力がなされたと判断し、ステップ１８０において、配置文字列ａから文字ｓ（ｉ）に対応する配置文字ａ（ｋ）を削除する。そして、入力済文字ｓ（ｉ）の表示データを表示部２０に送信する。表示部２０は、入力済文字列表示領域６０に入力済文字ｓ（ｉ）を追加する。また、処理部３０は、表示部２０に文字ｓ（ｉ）が占めていた配置文字列表示領域７０の位置ｋを空欄とする表示データを送信する。表示データとして、例えば配置文字列ａの配置文字ａ（ｋ）を空としたデータが用いられる。
【００６５】
図６は、図５の処理ルーチンのＰ２以降の処理であり、２文字目以降のユーザ入力について処理部３０が実行する処理ルーチンのフローチャートである。図６に示すルーチンでは、まず、ステップ１９０において、処理部３０は基準インデックスｉに１を加算する。
【００６６】
次に、ステップ２００において、処理部３０は基準インデックスｉが綴りｓの文字数ｎ以上であるか否かを判定する。基準インデックスｉがｎ以上であると判断された場合には、処理部３０は、綴りｓの入力が完了したと判断し本ルーチンを終了する（ステップ２１０）。
【００６７】
一方、基準インデックスｉがｎよりも小さいと判断された場合には、ステップ２２０において、処理部３０は配置文字列ａの中に文字ｓ（ｉ）が存在するか否かを判断する。文字ｓ（ｉ）は次に入力されるべき正解の文字である。そのため、文字ｓ（ｉ）が未だ配置文字列ａの中に含まれていない場合には、配置文字列ａの配置文字ａ（ｋ）を文字ｓ（ｉ）に設定する。その後、図５のＰ１に戻り、ステップ１５０において、配置文字列表示領域７０の位置ｋにｓ（ｉ）の文字ボタンを表示させる表示データを表示部２０に送信する。
【００６８】
一方、配置文字列の中に文字ｓ（ｉ）が存在すると判定された場合には、次に、ステップ２４０において、未だユーザに入力されていない未入力文字列｛ｓ（ｊ）｝（ｉ≦ｊ）の中で、配置文字に現れていない文字の集合Ａを算出する。ここで、Ａのインデックスの集合をΔとする。具体的には、上述した未配置文字列を作成する。
【００６９】
次に、ステップ２５０において、処理部３０は、集合Ａが空か否かを判定する。集合Ａが空であると判定された場合、即ち未配置文字列の要素が無い場合には、図５のＰ１に戻ってステップ１５０から処理が継続される。この場合、配置文字ａ（ｋ）として加えるべき新たな文字がないため、表示部２０には配置文字ａ（ｋ）を空とし、残りの配置文字による文字ボタンのみが表示されることとなる。
【００７０】
一方、集合Ａが空ではない場合、即ち未配置文字列の要素が無いと判定された場合には、次に、ステップ２６０において、集合Ａの中から、上述した選択確率分布ｐ（ｉ，ｊ）（ｊはΔの要素）に基づいて、１個の文字を選び配置文字列ａの位置ｋに加える。換言すれば、上述した通り、未配置文字列から選択確率分布ｐ（ｉ，ｊ）に基づいて文字を選択し、配置文字ａ（ｋ）として加える。その後、図５のＰ１に戻ってステップ１５０以降の処理が継続される。
【００７１】
以上説明したように、図５及び図６に示すルーチンによれば、文字ｓ（ｉ）に近い文字ほど、高い確率で配置文字列に追加されるため、文字を順次入力していく際に、ボタンが押される位置を一箇所に集中せずに分散させることができる。そのため、ユーザに次に入力すべき文字を推定させることなく、高い学習効果・ゲーム性を維持することができる。
加えて、削除位置ｋに新たな候補を表示し、残りの文字の表示位置は変わらないため、前回の入力においてユーザが記憶した表示位置が無駄にならず、スムーズな綴り入力を実現することができる。例えば「〜ｔｉｏｎ」といったスペルの場合には、毎回の入力でランダムに表示する手法に対し、ストレスの無い綴り入力を提供することができる。
また、確実に次に入力されるべき文字が配置文字として追加されるため綴り入力が行き詰ることはない。
【００７２】
ところで、上述した実施の形態１のシステムにおいては、未入力文字列の先頭文字が配置文字列に含まれているか否かを判定し（ステップ２２０）、含まれていない場合には、未入力文字列の先頭文字を配置文字列に加える（ステップ１１０、２３０）こととしているが、これらの処理に換えて、配置文字列に加えられるすべての文字を選択確率分布に基づいて未配置文字列から選択することとしてもよい。
【００７３】
尚、上述した実施の形態１においては、記憶部４０が前記第１、第３の発明における「クイズデータ記憶手段」及び「配置文字列記憶手段」に、表示部２０及び処理部３０が前記第１、第３の発明における「設問表示手段」及び「配置文字列表示手段」に、入力部１０及び処理部３０が前記第１、第３の発明における「ユーザ入力手段」に、それぞれ相当している。
また、ここでは、処理部３０が、上記ステップ１１０、１２０、２３０、２６０の処理を実行することにより前記第１乃至第３の発明における「配置文字列構成手段」が、上記ステップ１８０の処理を実行することにより前記第１、第３の発明における「配置文字削除手段」が、上記ステップ１８０、２３０、２６０の処理を実行することにより前記第４の発明に「配置文字列表示手段」が、それぞれ実現されている。
【００７４】
実施の形態２．
次に、図７を参照して本発明の実施の形態２について説明する。本実施形態のクイズシステムは図１に示す構成において、処理部３０に後述する図５、図７のルーチンを実施させることで実現することができる。
【００７５】
［実施の形態２における特徴的処理］
上述した実施の形態１では、配置文字は、正解となる綴りｓの中からのみ選択され、入力が進むにつれ配置文字は減じられていく。そして、綴りｓの入力が完了すると、表示部２０に表示されていた配置文字がすべて消える。これは、ユーザに達成感を与え易い点で望ましい。しかし、一方で、入力の終盤にはユーザ入力の選択肢が少なくなり、正解の入力が簡単になりやすい。学習効果やゲーム性を重視すれば、入力がやさしくなりすぎないようにすることも望まれる。
【００７６】
そこで、本実施形態では、未配置文字列の文字が無い場合には、配置文字としてダミーの文字をランダムに表示させることとした。
【００７７】
図５及び図７は、上述の綴り入力手法を実現するために、処理部３０が実行する処理ルーチンのフローチャートである。図７に示すルーチンは、ステップ２７０の処理が加えられている点を除き、図６に示すルーチンと同様である。図７において、図６に示すステップと同一のステップについては、同一の符号を付してその説明を省略する。また、図５は実施の形態１と同様であるためその説明を省略する。
【００７８】
図７に示すルーチンでは、ステップ２５０において、処理部３０は集合Ａが空か否かを判定する。集合Ａが空であると判定された場合、即ち未配置文字列の文字が無い場合には、ステップ２７０において、処理部３０は、ランダムにダミー文字を１個の文字を選び、配置文字列の配置文字ａ（ｋ）として加える。具体的には、記憶部４０には、ダミー文字として綴りｓに関連した文字集合が記憶されており、その中からランダムに１文字が選ばれる。例えば、綴りｓが英単語ならばアルファベット２６文字のいずれか１文字がランダムに選ばれる。なお、ダミー文字は、綴りｓが正しく入力された後も配置文字として残ることになる。
【００７９】
以上説明したように、図７に示すルーチンによれば、未配置文字列の文字が無い場合に、配置文字列にダミー文字を補充することができる。そのため、綴り入力の最後までユーザ入力の選択肢を減らすことなく学習効果やゲーム性を保つことができる。
【００８０】
尚、上述した実施の形態２においては、処理部３０が、上記ステップ２７０の処理を実行することにより前記第５の発明における「ダミー文字追加手段」が実現されている。
【符号の説明】
【００８１】
１            クイズシステム
１０          入力部
２０          表示部
３０          処理部
４０          記憶部
５０          設問表示領域
６０          入力済文字列表示領域
７０          配置文字列表示領域
ａ            配置文字列
ｉ            基準インデックス
ｎ            文字数
ｐ            選択確率
α            一様乱数
λ            調整パラメータ
【図１】
0005478976.tif 000002
【図２】
0005478976.tif 000003
【図３】
0005478976.tif 000004
【図４】
0005478976.tif 000005
【図５】
0005478976.tif 000006
【図６】
0005478976.tif 000007
【図７】
0005478976.tif 000008
【図８】
0005478976.tif 000009
【図９】
0005478976.tif 000010