説明

綴り入力装置及び方法

【課題】この発明は、画面サイズが狭い場合であっても、操作性の高い綴り入力装置及び方法を提供することを目的とする。
【解決手段】設問と、該設問に対する解答文字列と、配置文字列とを記憶する。前記設問をユーザ画面に表示する。前記配置文字列の文字数が上限格納文字数を越えない範囲において、未配置文字列から文字を選択して前記配置文字列に加え、未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加える。前記配置文字列の各文字をユーザ画面に表示する。前記ユーザ画面に表示された前記配置文字列の各文字について文字を選択するユーザ入力を受け付ける。前記ユーザ入力により選択されて入力済となった入力済文字を前記配置文字列から削除する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、綴り入力装置及び方法に関する。
【背景技術】
【0002】
従来、例えば特許文献1に開示されるように、タッチパネル対応ディスプレイにおいて、設問をユーザ画面に表示し、該設問に対する解答文字列の各文字についてユーザ入力を受け付けて、解答文字列を完成させるゲーム端末が知られている。また、本公報には、解答文字列を入力するための綴り入力手段として、解答文字列を構成するすべての文字を表示したソフトウェアキーボード(例えば、アルファベット26文字の文字ボタンが整列されている。)を用いることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−173323号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、iPhone(登録商標)やPDA等のタッチパネル対応ディスプレイを有する携帯機器が普及している。これらの携帯機器の画面サイズはPCなどに比べて狭い。そのため、上記従来の綴り入力手段のように、解答文字列を構成するすべての文字を表示したソフトウェアキーボードを用いることとすれば、文字ボタンの表示サイズが小さくならざるを得ず、綴り入力の操作性が悪化するという課題がある。
【0005】
この発明は、上述のような課題を解決するためになされたもので、画面サイズが狭い場合であっても、操作性高く綴りを入力できる綴り入力装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1の発明は、上記の目的を達成するため、綴り入力装置であって、
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、を特徴とする。
【0007】
また、第2の発明は、第1の発明において、
前記配置文字列構成手段は、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加え、
前記未入力文字列の先頭文字が既に前記配置文字列に含まれている場合には、前記未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【0008】
また、第3の発明は、上記の目的を達成するため、綴り入力装置であって、
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【0009】
また、第4の発明は、第1乃至第3の発明において、
前記配置文字列表示手段は、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記配置文字列構成手段により前記配置文字列に新たな文字が加えられた場合には、該削除された入力済文字の表示位置に該新たな文字を表示し、他の文字の表示位置は保持すること、を特徴とする。
【0010】
また、第5の発明は、第1乃至第4の発明において、
前記配置文字列構成手段は、
前記未配置文字列の文字が無い場合には、前記配置文字列の文字数が前記上限格納文字数となるまでダミー文字を含めるダミー文字追加手段、を備えることを特徴とする。
【0011】
また、第6の発明は、上記の目的を達成するため、綴り入力方法であって、
記憶された設問をユーザ画面に表示する設問表示ステップと、
記憶される配置文字列の文字数が上限格納文字数を越えない範囲で、前記設問に対する解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成ステップと、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示ステップと、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力ステップと、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除ステップと、を備え、
前記配置文字列構成ステップは、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、を特徴とする。
【0012】
また、第7の発明は、上記の目的を達成するため、綴り入力方法であって、
記憶された設問をユーザ画面に表示する設問表示ステップと、
記憶される配置文字列の文字数が上限格納文字数を越えない範囲で、前記設問に対する解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成ステップと、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示ステップと、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力ステップと、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除ステップと、を備え、
前記配置文字列構成ステップは、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、を特徴とする。
【発明の効果】
【0013】
第1又は第6の発明によれば、未入力文字列の先頭文字が配置文字列に加えられる。そのため、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合であっても、正解の文字がユーザ入力可能であることを保障することができる。また、第1、第3、第6、第7の発明によれば、ユーザ画面に表示される配置文字列の上限格納文字数を定める。そのため、画面サイズ等に応じてユーザ入力に好適な文字の表示サイズを確保することができる。そのため、綴り入力が容易となり高い操作性を実現することができる。
【0014】
第2又は第3又は第7の発明によれば、未配置文字列の先頭文字側にある文字ほど高い確率で配置文字列に加えられる。そのため、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合において、早期にユーザ入力される文字ほどユーザ画面に表示され易くなる。そのため、ユーザ画面に表示された文字が長い間残ってユーザ入力の巾を狭め、学習効果やゲーム性を損なうことを防止することができる。また、先頭文字側から順番に表示されることを所定の確率で防ぐこともできる。そのため、ユーザ入力の順序が類推されることを防ぐことができる。
【0015】
第4の発明によれば、ユーザ入力により入力済となった文字の表示位置に新たな文字を表示し、他の文字の表示位置は保持される。そのため、ユーザは、入力の過程で覚えた文字の表示位置に従ってスムーズに綴り入力をすることができる。
【0016】
第5の発明によれば、未配置文字列の文字が無い場合に、配置文字列にダミー文字を補充することができる。そのため、綴り入力の最後までユーザ入力の選択肢を減らすことなく学習効果やゲーム性を保つことができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態1のシステムの全体構成を示すブロック図である。
【図2】本発明の実施の形態1の表示部20に表示されるユーザ画面の構成を示す図である。
【図3】図2に示す配置文字列表示領域70の表示例を示す図である。
【図4】本発明の実施の形態1において用いられる選択確率分布の具体例について説明するための図である。
【図5】本発明の実施の形態1において、処理部30に実行される処理ルーチンのフローチャートである。
【図6】本発明の実施の形態1において、処理部30に実行される処理ルーチンのフローチャートである。
【図7】本発明の実施の形態2において、処理部30に実行される処理ルーチンのフローチャートである。
【図8】比較対象の配置文字列表示領域70の表示例を示す図である。
【図9】比較対象の配置文字列表示領域70の表示例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【0019】
実施の形態1.
[クイズシステムの全体構成]
図1は、本発明の実施の形態1に係るクイズシステム1の構成を示すブロック図である。クイズシステム1は、例えば、iPhone(登録商標)やPDA等の携帯機器上においてクイズゲームをユーザにプレイさせるシステムである。クイズとは、クイズシステム1が出題者として問題(1つの設問)を出題して、ユーザが解答するという一連の作業である。ここでは、タイピング形式で文字列を入力して解答させるクイズを想定する。
【0020】
クイズシステム1は、入力部10、表示部20を備えている。入力部10は、表示部20の表示内容に従ってユーザ入力を受け付けるための入力インタフェースである。表示部20は、クイズの設問や、ユーザが選択する文字ボタンや、ユーザの操作結果を表示するための出力インタフェースである。ここで、入力部10にはタッチパネルが用いられる。また、表示部20は携帯機器に適した小型ディスプレイが用いられる。そして、タッチパネルは小型ディスプレイ上に積層されて配置されタッチパネル対応ディスプレイを構成する。このタッチパネル対応ディスプレイの構成は周知であるため、ここでは、その詳細な説明は省略する。
【0021】
入力部10及び表示部20は、バスを介して処理部30に接続されている。入力部10のタッチパネルは、表示部20の表示内容(具体的には、ユーザが触れたパネルの位置)に応じた入力データを処理部30に送信する。また、処理部30は、入力データなどに応じて表示データを生成し表示部20に送信する。表示部20は、受信した表示データに基づき表示を行う。処理部30は、例えば、1又は複数のCPU(Central Processing Unit)であり、携帯機器の制御中枢として機能する他、後述のフローチャートに示す処理ルーチン等、種々の処理を行う。
【0022】
処理部30は、バスを介して記憶部40に接続されている。記憶部40の記憶領域は、揮発性領域と不揮発性領域に分けられる。不揮発性領域は、記憶内容を書き換え不可能な書き換え不可能領域と、書き換え可能領域とに分けられる。揮発性領域は、例えばRAM(Randam Access Memory)により実現される。書き換え不可能領域は、例えばROM(Read Only Memory)により実現される。書き換え可能領域は、例えばハードディスクやフラッシュメモリにより実現される。揮発性領域及び書き換え可能領域の記憶内容は処理部30からの指示に応じて書き換えられる。処理部30による記憶部40の記憶内容の読み書き処理は周知であるため、ここではその詳細な説明は省略する。
【0023】
不揮発性領域には、ブートプログラムなどが記憶されている。書き換え可能領域には、ブートプログラムを介して起動されるオペレーティングシステム、オペレーティングシステム上で実行される本実施形態のアプリケーション(特定の作業を行うためのプログラム)などが記憶されている。
【0024】
揮発性領域は、処理部30の作業領域として機能する。具体的には、ハードディスクやフラッシュメモリに記憶されている本実施形態のアプリケーション等をロードし、実行途中のデータを記憶する。本実施形態のアプリケーションで用いられる、基準インデックスi、変数j、乱数α、選択確率p、入力済文字列、未入力文字列、配置文字列、未配置文字列などが一時的に記憶される。これらの文字列はインデックスを有する配列であり、配列の要素として文字が格納される。
【0025】
書き換え可能領域には、複数のクイズデータが記憶されている。本実施形態のクイズデータには、設問ID、設問の文字列、設問の答えとなる解答文字列が含まれている。一例として、設問IDには通し番号、設問には日本語の単語、解答文字列には設問に対応する英単語が記憶される。複数のクイズデータは、ファイルやデータベース上に記憶されている。
【0026】
[本実施形態のアプリケーションの概要]
次に、図2を用いて、クイズシステム1を実現するために用いられるアプリケーションの概要について説明する。図2は、アプリケーションの実行中に表示部20に表示される画面構成を示す図である。図2に示すように、表示部20には表示領域として、設問表示領域50、入力済文字列表示領域60及び配置文字列表示領域70が設けられている。各表示領域には、処理部30から受信した表示データに基づいて文字や文字ボタンが表示される。ここで、配置文字列とは、複数の配置文字からなる文字列であり、各配置文字は、ユーザ入力の対象となる文字ボタンとして配置文字列表示領域70に表示されるものである。
【0027】
上記アプリケーションは、設問に対する解答文字列をタイピング形式で入力するクイズゲームを実現するためのプログラムである。このアプリケーションによれば処理部30は次のような流れの処理を実行する。処理部30は、記憶部40からクイズデータを1つ取得する。クイズデータの設問を表示部20の設問表示領域50に表示させる。設問に対する解答文字列を構成する文字を表示部20の配置文字列表示領域70に文字ボタンとして表示させる。そして、ユーザが入力部10のタッチパネルから表示部20の配置文字列表示領域70に表示された文字ボタンを押圧することにより、その文字ボタンの選択をユーザ入力として受け付ける。解答文字列の文字順に文字ボタンが選択されたことを判定し、表示部20の入力済文字列表示領域60に選択された文字を表示させる。ユーザ入力が繰り返されて最終的に解答文字列が完成したことを判定して1つのクイズを終了させる。
【0028】
上述した通り、表示部20の配置文字列表示領域70には、解答文字列を完成させるために必要な文字ボタンが表示される。図8に示す従来技術では、配置文字列表示領域70にアルファベット26文字の文字ボタンを含むソフトウェアキーボードを表示することとしている。確かに、このような綴り入力手段を提供すれば、解答文字列の綴りを入力することは可能である。
【0029】
しかしながら、クイズシステム1に用いるiPhone(登録商標)やPDAなどの携帯機器は表示部20の画面サイズが狭い。そのため、表示部20の配置文字列表示領域70に、上述のようなソフトウェアキーボードを表示したのでは、各文字ボタンが小さくならざるを得ず、綴り入力における操作性は悪くなる。
【0030】
この対策として、配置文字列表示領域70に表示させる文字ボタンを、解答文字列を構成する各文字に限定することも考えられる。しかしながら、図9に示すように、解答文字列の文字数が多くなれば、文字ボタンも多くなり、やはり文字ボタンを小さく表示せざるを得ず操作性が悪化することとなる。
【0031】
[実施の形態1における特徴的処理1]
そこで、本実施の形態では、この課題を解決するために、まず、画面サイズに応じて文字ボタンの大きさを操作性が確保される大きさに定める。そして、配置文字列表示領域70に表示される文字ボタンの数を制限することする。具体的には、上述した配置文字列に格納される配置文字の上限格納文字数を定める。図3は、上限格納文字数を4とした場合の配置文字列表示領域70の表示例を示す図である。なお、上限格納文字数は、画面サイズに応じてユーザの操作性を損なわないように定められるものでありこれに限られるものではない。
【0032】
ところで、このように配置文字列の上限格納文字数を定めた場合には、解答文字列の文字数が配置文字列の上限格納文字数よりも多くなれば、配置文字列表示領域70に解答文字列のすべての文字を同時には表示できなくなる。そのため、1文字入力されるたびに、配置文字列から入力済となった配置文字を削除し、新たに文字を加えることとする。特に本実施形態においては、配置文字列に文字を加えるにあたって、解答文字列のうち未だユーザ入力により選択されていない未入力文字からなる未入力文字列から配置文字列に含まれている文字を除いた未配置文字列を算出し、この未配置文字列の中から文字を選択して配置文字列に加えることとした。さらに、未入力文字列の先頭文字が未だ配置文字列に含まれていない場合には、この先頭文字を選択して前記配置文字列に加えることとした。
【0033】
これにより、画面サイズが狭くユーザ画面に表示される配置文字列の文字数が解答文字列の文字数よりも少ない場合であっても、ユーザ入力に際し正解の文字を選択できることを保障することができる。
【0034】
加えて、本実施形態においては、配置文字列表示領域70における文字ボタンの表示位置について、配置文字列から入力済文字が削除された後、配置文字列に新たな文字が加えられた場合には、その削除された文字ボタンの表示位置に新たな文字ボタンを表示することとし、他の文字ボタンの表示位置を保持することとした。
【0035】
これにより、ユーザは、入力の過程で覚えた文字の表示位置に従ってスムーズに綴り入力をすることができる。
【0036】
ここで、上述した文字列の定義を整理する。「解答文字列」とは、設問に対する答えとなる文字列(例えば、英単語)でありユーザ入力の最終目的となる綴りをいう。「入力済文字」とは、解答文字列のうち先頭文字から順にユーザ入力された文字であり、入力済文字列表示領域60に並べて表示される。「未入力文字」とは、解答文字列のうち未だユーザ入力されていない文字をいう。「未入力文字列」とは、解答文字列から入力済文字をすべて除いた文字列であり未入力文字の文字列をいう。「配置文字」とは、未入力文字のうちユーザ入力により選択される文字ボタンとして配置文字列表示領域70に表示される文字をいう。「配置文字列」とは複数の配置文字からなる文字列をいい、上限格納文字数が定められている。「未配置文字列」とは、未入力文字列から配置文字をすべて除いた文字列をいう。以下、これらの定義を用いて説明する。
【0037】
[実施の形態1における特徴的処理2]
ところで、配置文字列表示領域70に表示される配置文字列を上述のように更新していく場合には新たな課題が生じる。配置文字列の各配置文字の集まり方によっては、次にユーザ入力すべき文字が類推できてしまうことである。例えば、解答文字列の末尾側の文字が多く配置文字列に含まれた場合には、これらの配置文字(文字ボタン)は綴り入力の終盤まで使われることがない。そして、新たな文字ボタンとして、次にユーザ入力されるべき未入力文字の先頭文字が表示され易くなる。このように、ユーザ入力の選択肢は少なくなり、新たな文字ボタンばかりが次々と選択されることとなるため、ユーザは次入力を類推できてしまい学習効果やゲーム性が低下してしまう。なお、このような現象は解答文字列の文字数が多いほど生じやすい。
【0038】
そこで、本実施形態では、選択確率分布を用いて解答文字列の先頭文字側の文字ほど高い確率で配置文字列に加えられることとした。
【0039】
(選択確率分布を用いた配置文字列の構成)
選択確率分布に基づいて配置文字列を構成する処理について説明する。ここでは、配置文字列の初期配置において文字を選択する処理について説明する。なお、本実施形態における説明では、説明容易のために、図3に示すように配置文字列表示領域70に表示される文字ボタン数を4つ(配置文字列の上限格納文字数を4)とする。
【0040】
解答文字列sはn個の文字からなる文字列とする。ここで、各文字は変数i(i=0,1,・・・,n−1)を用いてs(i)で表すことができる。
【0041】
配置文字列表示領域70に表示される4つの文字ボタンである配置文字を未配置文字列から選択するに際し、まず、先頭文字s(0)文字は、最初のユーザ入力において選択されるべき必須の配置文字となるため、処理部30は先頭文字s(0)を補充文字として配置文字列に加える。
【0042】
次に、残り3文字の補充文字を選択確率分布に従って選択する。基準インデックスを変数iとしたとき、文字s(j)を補充文字とする選択確率pが関数exp(−λ(j−i))に比例するように設定する。ここで、基準インデックスiとは、次にユーザ入力されるべき未入力文字列の先頭文字s(i)を示すものである。また、変数jはi+1≦j≦n−1の整数であり、λは非負の調整用パラメータである。
【0043】
即ち、このような関数を用いて、基準インデックスiに近い文字s(j)(i<j)ほど、補充文字として選択される確率を高く設定する点に特徴を有する。これにより、「補充文字が配置文字列の中に無く、補充文字が次に入力すべき文字になる状況」が連続することを抑制することができる。
【0044】
なお、関数はこれに限定されるものではなく、基準インデックスiに近い文字ほど、高い確率で選択され、基準インデックスiから遠い末尾の文字ほど低い確率で選択される関係を有しさえすればよい。
【0045】
(選択確率分布を用いた配置文字列の構成の具体例)
次に、選択確率分布に基づいて配置文字列を構成する具体例について図4を用いて説明する。ここでは、関数q(i,j)=exp(−λ(j−i))のより具体的な例として調整パラメータλ=1、底を2とした式(1)に示す指数関数を用いることとする。そして、基準インデックスi=0(初期配置)の場合について説明する(式(2))。上述の通り、変数jは、i+1≦j≦n−1の整数である。
q(i,j)=2^(−(j−i)) ・・・(1)
q(0,j)=2^(−j) ・・・(2)
【0046】
図4に示す解答文字列「environment」の文字数nは11である。また、基準インデックスi=0であるためjは1〜10の整数である。ここで、式(2)よりq(0、j)は次のように算出される。
【0047】
図4(A)における数値は、
j=1のとき q(0,1) =2−1=0.5
j=2のとき q(0,2) =2−2=0.25
j=3のとき q(0,3) =2−3=0.125
・・・・
j=10のとき q(0,10)=2−4=0.0009765625
となる。
【0048】
次に、j=1〜10までのq(0、j)の和が1となるように正規化して各文字s(j)の選択確率p(0,j)を算出する。図4(B)に示す例では、選択確率p(0,j)=q(0,j)/Σj=110q(0,j)で算出されることとなる。
【0049】
図4(B)における数値は、
j=1のとき p(0,1)=0.5004887・・・
j=2のとき p(0,1)=0.2502443・・・
・・・
となる。
【0050】
なお、一般化すれば、
p(i,j)=q(i,j)/Σj=i+1n-1q(i,j) ・・・(3)
で表される。
【0051】
続いて、選択確率p(0,j)に基づいて入力候補となる要素を選択する。具体的には、0以上1未満の実数について一様乱数αを取得し、乱数αとp(0,j)の積算値とを比較する。そして、積算値が初めて乱数α以上となるs(j)を補充文字として選択する。
【0052】
図4(C)に示す例では、乱数α1が取得された場合には、p(0,1)未満であるためs(1)=「n」が選択される。乱数α2が取得された場合には、p(0,1)以上であって、p(0,1)+p(0,2)未満であるためs(2)=「v」が選択される。乱数α3が取得された場合には、p(0、1)+p(0,2)以上であって、p(0,1)+p(0,2)+p(0,3)未満であるため、s(3)=「i」が選択される。
【0053】
なお、一般化すれば、
Σj=i+1m−1p(i,j) < 乱数α ≦ Σj=i+1p(i,j)
・・・(4)
を満たすmを求め、文字s(m)を補充文字として選択する。
但し、3つの補充文字を選択する際に、同じ文字s(m)が選ばれた場合には、新たな乱数αを発生させて、異なる補充文字が選択されるまで繰り返すこととする。
【0054】
上述した例に示すように、基準インデックスi=0における3つの補充文字が選択されて配置文字列に配置文字として加えられる。その後、処理部30は配置文字列中の配置文字をランダムに並べ替える。そして、表示部20に配置文字列の並び順に配置文字をボタン表示させる表示データを送信する。その結果、ユーザ画面の配置文字列表示領域70に配置文字がボタン表示される。
【0055】
基準インデックスi=1以降(ユーザが1文字目を入力した以降)については、補充文字を1つだけ選択すればよいことを除き、図4に示す具体例と同様に、式(1)〜(4)に基づいて算出することができる。また、q(i,j)については、予めマップ化しておくことで計算を省略することができる。
【0056】
[実施の形態1における綴り入力処理ルーチン]
次に、図5〜図6を用いて、本実施形態における上述の綴り入力処理を実現するために処理部30が行う処理ルーチンについて説明する。図5〜図6は処理部30が実行する連続した処理ルーチンのフローチャートである。前提として、上述した本実施形態のアプリケーションが起動され、所定の検索条件の下、記憶部40から複数のクイズデータが読み込まれてクイズが開始されるものとする。そして、複数のクイズデータのうち1つのクイズデータが選択される。例えば、設問IDの順に選択される。処理部30は、クイズデータの設問を表示部20の設問表示領域50に表示させる。また、以下の説明では、説明容易のため、配置文字列の上限格納文字数を4として説明する。
【0057】
図5に示すルーチンでは、まず、ステップ100において、処理部30は設問に対応する解答文字列の綴りsとその文字数nを取得する。具体的には、記憶部40のクイズデータから設問IDに対応する解答文字列を取得する。
【0058】
次に、ステップ110において、処理部30は解答文字列から先頭文字s(0)を選択し配置文字列に加える。上述した通り配置文字列は文字を要素とする配列であり記憶部40に記憶される。ここで、配置文字列aのインデックスk(位置k)の配置文字をa(k)(k=0〜3)で示す。ステップ110ではa(0)にs(0)が加えられる。
【0059】
さらに、ステップ120において、処理部30は綴りsに含まれる文字s(j)(1≦j≦n−1)の中から、上述した選択確率分布p(0,j)に基づいて3個の文字を選び配置文字列aに順次加える。
【0060】
続いて、ステップ130において、処理部30は配置文字列aに格納された4つの配置文字の順番をランダムに入れ替える。また、ステップ140において、基準インデックスiを0に設定する。文字s(i)は次に入力されるべき正解の文字を示す。処理部30は、表示部20に配置文字列aを配置文字a(0)〜a(3)の配列順で表示させる表示データを送信する。表示部20は、配置文字列表示領域70に、配置文字列aの配列順に文字ボタンを表示する。
【0061】
ステップ150において、処理部30は、入力部10を介して表示部20に表示された文字ボタンに対するユーザ入力を受け付ける。ユーザが、入力部10のタッチパネルを押圧することで、入力部10から処理部30に押圧位置を示す信号が通知される。処理部30はこれにより特定の文字ボタンがユーザに選択されたと判断する。
【0062】
次に、ステップ160において、処理部30は、ユーザに選択された文字ボタン(位置k)、即ち配置文字a(k)が文字s(i)と同じであるか否かを判定する。ステップ140直後の場合には、基準インデックスiは0であるため、文字s(0)であるか否かを判定する。
【0063】
ユーザに選択された文字がs(i)でないと判定された場合には、処理部30は、誤った入力がなされたと判断し、表示部20に誤り警告の表示データを送信する。表示部20は表示データに基づいて誤り警告を表示する(ステップ170)。なお、警告音や振動によって警告することとしてもよい。その後、図5のP1に戻り、ステップ150において再度ユーザ入力を求める。なお、ステップ100から再開することとしてもよい。
【0064】
一方、ユーザに選択された文字がs(i)であると判定された場合には、処理部30は、正しい入力がなされたと判断し、ステップ180において、配置文字列aから文字s(i)に対応する配置文字a(k)を削除する。そして、入力済文字s(i)の表示データを表示部20に送信する。表示部20は、入力済文字列表示領域60に入力済文字s(i)を追加する。また、処理部30は、表示部20に文字s(i)が占めていた配置文字列表示領域70の位置kを空欄とする表示データを送信する。表示データとして、例えば配置文字列aの配置文字a(k)を空としたデータが用いられる。
【0065】
図6は、図5の処理ルーチンのP2以降の処理であり、2文字目以降のユーザ入力について処理部30が実行する処理ルーチンのフローチャートである。図6に示すルーチンでは、まず、ステップ190において、処理部30は基準インデックスiに1を加算する。
【0066】
次に、ステップ200において、処理部30は基準インデックスiが綴りsの文字数n以上であるか否かを判定する。基準インデックスiがn以上であると判断された場合には、処理部30は、綴りsの入力が完了したと判断し本ルーチンを終了する(ステップ210)。
【0067】
一方、基準インデックスiがnよりも小さいと判断された場合には、ステップ220において、処理部30は配置文字列aの中に文字s(i)が存在するか否かを判断する。文字s(i)は次に入力されるべき正解の文字である。そのため、文字s(i)が未だ配置文字列aの中に含まれていない場合には、配置文字列aの配置文字a(k)を文字s(i)に設定する。その後、図5のP1に戻り、ステップ150において、配置文字列表示領域70の位置kにs(i)の文字ボタンを表示させる表示データを表示部20に送信する。
【0068】
一方、配置文字列の中に文字s(i)が存在すると判定された場合には、次に、ステップ240において、未だユーザに入力されていない未入力文字列{s(j)}(i≦j)の中で、配置文字に現れていない文字の集合Aを算出する。ここで、Aのインデックスの集合をΔとする。具体的には、上述した未配置文字列を作成する。
【0069】
次に、ステップ250において、処理部30は、集合Aが空か否かを判定する。集合Aが空であると判定された場合、即ち未配置文字列の要素が無い場合には、図5のP1に戻ってステップ150から処理が継続される。この場合、配置文字a(k)として加えるべき新たな文字がないため、表示部20には配置文字a(k)を空とし、残りの配置文字による文字ボタンのみが表示されることとなる。
【0070】
一方、集合Aが空ではない場合、即ち未配置文字列の要素が無いと判定された場合には、次に、ステップ260において、集合Aの中から、上述した選択確率分布p(i,j)(jはΔの要素)に基づいて、1個の文字を選び配置文字列aの位置kに加える。換言すれば、上述した通り、未配置文字列から選択確率分布p(i,j)に基づいて文字を選択し、配置文字a(k)として加える。その後、図5のP1に戻ってステップ150以降の処理が継続される。
【0071】
以上説明したように、図5及び図6に示すルーチンによれば、文字s(i)に近い文字ほど、高い確率で配置文字列に追加されるため、文字を順次入力していく際に、ボタンが押される位置を一箇所に集中せずに分散させることができる。そのため、ユーザに次に入力すべき文字を推定させることなく、高い学習効果・ゲーム性を維持することができる。
加えて、削除位置kに新たな候補を表示し、残りの文字の表示位置は変わらないため、前回の入力においてユーザが記憶した表示位置が無駄にならず、スムーズな綴り入力を実現することができる。例えば「〜tion」といったスペルの場合には、毎回の入力でランダムに表示する手法に対し、ストレスの無い綴り入力を提供することができる。
また、確実に次に入力されるべき文字が配置文字として追加されるため綴り入力が行き詰ることはない。
【0072】
ところで、上述した実施の形態1のシステムにおいては、未入力文字列の先頭文字が配置文字列に含まれているか否かを判定し(ステップ220)、含まれていない場合には、未入力文字列の先頭文字を配置文字列に加える(ステップ110、230)こととしているが、これらの処理に換えて、配置文字列に加えられるすべての文字を選択確率分布に基づいて未配置文字列から選択することとしてもよい。
【0073】
尚、上述した実施の形態1においては、記憶部40が前記第1、第3の発明における「クイズデータ記憶手段」及び「配置文字列記憶手段」に、表示部20及び処理部30が前記第1、第3の発明における「設問表示手段」及び「配置文字列表示手段」に、入力部10及び処理部30が前記第1、第3の発明における「ユーザ入力手段」に、それぞれ相当している。
また、ここでは、処理部30が、上記ステップ110、120、230、260の処理を実行することにより前記第1乃至第3の発明における「配置文字列構成手段」が、上記ステップ180の処理を実行することにより前記第1、第3の発明における「配置文字削除手段」が、上記ステップ180、230、260の処理を実行することにより前記第4の発明に「配置文字列表示手段」が、それぞれ実現されている。
【0074】
実施の形態2.
次に、図7を参照して本発明の実施の形態2について説明する。本実施形態のクイズシステムは図1に示す構成において、処理部30に後述する図5、図7のルーチンを実施させることで実現することができる。
【0075】
[実施の形態2における特徴的処理]
上述した実施の形態1では、配置文字は、正解となる綴りsの中からのみ選択され、入力が進むにつれ配置文字は減じられていく。そして、綴りsの入力が完了すると、表示部20に表示されていた配置文字がすべて消える。これは、ユーザに達成感を与え易い点で望ましい。しかし、一方で、入力の終盤にはユーザ入力の選択肢が少なくなり、正解の入力が簡単になりやすい。学習効果やゲーム性を重視すれば、入力がやさしくなりすぎないようにすることも望まれる。
【0076】
そこで、本実施形態では、未配置文字列の文字が無い場合には、配置文字としてダミーの文字をランダムに表示させることとした。
【0077】
図5及び図7は、上述の綴り入力手法を実現するために、処理部30が実行する処理ルーチンのフローチャートである。図7に示すルーチンは、ステップ270の処理が加えられている点を除き、図6に示すルーチンと同様である。図7において、図6に示すステップと同一のステップについては、同一の符号を付してその説明を省略する。また、図5は実施の形態1と同様であるためその説明を省略する。
【0078】
図7に示すルーチンでは、ステップ250において、処理部30は集合Aが空か否かを判定する。集合Aが空であると判定された場合、即ち未配置文字列の文字が無い場合には、ステップ270において、処理部30は、ランダムにダミー文字を1個の文字を選び、配置文字列の配置文字a(k)として加える。具体的には、記憶部40には、ダミー文字として綴りsに関連した文字集合が記憶されており、その中からランダムに1文字が選ばれる。例えば、綴りsが英単語ならばアルファベット26文字のいずれか1文字がランダムに選ばれる。なお、ダミー文字は、綴りsが正しく入力された後も配置文字として残ることになる。
【0079】
以上説明したように、図7に示すルーチンによれば、未配置文字列の文字が無い場合に、配置文字列にダミー文字を補充することができる。そのため、綴り入力の最後までユーザ入力の選択肢を減らすことなく学習効果やゲーム性を保つことができる。
【0080】
尚、上述した実施の形態2においては、処理部30が、上記ステップ270の処理を実行することにより前記第5の発明における「ダミー文字追加手段」が実現されている。
【符号の説明】
【0081】
1 クイズシステム
10 入力部
20 表示部
30 処理部
40 記憶部
50 設問表示領域
60 入力済文字列表示領域
70 配置文字列表示領域
a 配置文字列
i 基準インデックス
n 文字数
p 選択確率
α 一様乱数
λ 調整パラメータ

【特許請求の範囲】
【請求項1】
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、
を特徴とする綴り入力装置。
【請求項2】
前記配置文字列構成手段は、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加え、
前記未入力文字列の先頭文字が既に前記配置文字列に含まれている場合には、前記未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、
を特徴とする請求項1記載の綴り入力装置。
【請求項3】
設問と、該設問に対する解答文字列を記憶するクイズデータ記憶手段と、
前記設問をユーザ画面に表示する設問表示手段と、
配置文字列を記憶する配置文字列記憶手段と、
前記配置文字列の文字数が上限格納文字数を越えない範囲で、前記解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成手段と、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示手段と、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力手段と、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除手段と、を備え、
前記配置文字列構成手段は、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、
を特徴とする綴り入力装置。
【請求項4】
前記配置文字列表示手段は、
前記配置文字削除手段により前記配置文字列から入力済文字が削除された後、前記配置文字列構成手段により前記配置文字列に新たな文字が加えられた場合には、該削除された入力済文字の表示位置に該新たな文字を表示し、他の文字の表示位置は保持すること、
を特徴とする請求項1乃至3いずれか1項記載の綴り入力装置。
【請求項5】
前記配置文字列構成手段は、
前記未配置文字列の文字が無い場合には、前記配置文字列の文字数が前記上限格納文字数となるまでダミー文字を含めるダミー文字追加手段、
を備えることを特徴とする請求項1乃至4いずれか1項記載の綴り入力装置。
【請求項6】
記憶された設問をユーザ画面に表示する設問表示ステップと、
記憶される配置文字列の文字数が上限格納文字数を越えない範囲で、前記設問に対する解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成ステップと、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示ステップと、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力ステップと、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除ステップと、を備え、
前記配置文字列構成ステップは、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、
前記未入力文字列の先頭文字が未だ前記配置文字列に含まれていない場合には、該先頭文字を選択して前記配置文字列に加えること、
を特徴とする綴り入力方法。
【請求項7】
記憶された設問をユーザ画面に表示する設問表示ステップと、
記憶される配置文字列の文字数が上限格納文字数を越えない範囲で、前記設問に対する解答文字列に含まれる文字を選択して該配置文字列に加える配置文字列構成ステップと、
前記配置文字列の各文字をユーザ画面に表示する配置文字列表示ステップと、
前記ユーザ画面に表示された前記配置文字列の各文字について、文字を選択するユーザ入力を受け付けるユーザ入力ステップと、
前記ユーザ入力により選択されて入力済となった入力済文字を、前記配置文字列から削除する配置文字削除ステップと、を備え、
前記配置文字列構成ステップは、
前記解答文字列のうち未だ前記ユーザ入力により選択されていない未入力文字からなる未入力文字列から前記配置文字列に含まれている文字を除いた未配置文字列から文字を選択して前記配置文字列に加えるものであって、該未配置文字列の先頭文字側の文字ほど高い確率で選択して前記配置文字列に加えること、
を特徴とする綴り入力方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−30885(P2011−30885A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−181576(P2009−181576)
【出願日】平成21年8月4日(2009.8.4)
【出願人】(507030988)有限会社 Ovum Software (2)
【Fターム(参考)】