"少なくとも文字列を有する第1コンテンツを保存したコンテンツ保存部と、第1コンテンツを表示する表示部と、前記表示された第1コンテンツの中の所望の文字列を問題箇所として選択入力する入力部と、前記問題箇所の種別を判定する基準を保存したルール保存部と、前記基準を用いて前記選択入力された問題箇所の種別を判定する種別判定部と、前記第1コンテンツの中から、前記種別判定部によって判定された種別と同一の種別に属する文字列を問題候補として抽出する候補抽出部と、前記問題箇所と問題候補とを識別するための属性情報を前記第1コンテンツに付加した第2コンテンツを保存する問題コンテンツ保存部と、前記入力部からの選択入力により、前記第1コンテンツを問題文として表示する指示が入力された場合に、前記第2コンテンツを読み出し、前記属性情報が付加された問題箇所と問題候補とを非表示あるいは伏せ字に変更して前記第1コンテンツを表示する問題表示部とを備えたことを特徴とする情報処理装置。前記問題表示部によって第1コンテンツが表示されている場合において、前記入力部により、前記問題箇所が非表示あるいは伏せ字に変更された表示領域が選択入力された場合に、前記問題箇所および問題候補とを含む回答選択肢を前記表示部にさらに表示する選択肢表示部を備えたことを特徴とする請求項1に記載の情報処理装置。前記候補抽出部が問題候補を抽出する範囲が、前記第1コンテンツの全体、前記表示部に表示されているページの内部、および前記入力部によって指定されたページの内部のいずれかであることを特徴とする請求項1または2に記載の情報処理装置。前記ルール保存部に、前記種別ごとに予め設定された複数のキーワードを含むキーワードリストを保存し、前記候補抽出部が問題候補を抽出する文字列が、前記問題箇所の種別と同一の種別の第1キーワードリストに含まれるキーワードであり、前記候補抽出部が、前記第1キーワードリストの中から、前記問題候補として、指定個数のキーワードを抽出することを特徴とする請求項1ないし3のいずれかに記載の情報処理装置。前記種別判定部によって判定される種別には、年号、出来事、および人名のいずれか1つ以上を含むことを特徴とする請求項1ないし4のいずれかに記載の情報処理装置。前記基準によって判定されるべき種別の年号が、数字列と年という文字からなる西暦および和暦であり、前記種別判定部は、前記選択入力された問題箇所が前記西暦および和暦のいずれかに一致する場合に、問題箇所の種別を年号と判定し、前記種別判定部によって判定された問題箇所の種別が年号であった場合、前記候補抽出部は、前記西暦および和暦の少なくともどちらか一方に一致する文字列を、問題候補として前記第1コンテンツの中から抽出することを特徴とする請求項5に記載の情報処理装置。前記基準によって判定されるべき種別の出来事が、所定の複数のキーワードのいずれかを含む文字列であり、前記種別判定部は、前記選択入力された問題箇所が、前記複数のキーワードのうちいずれかに一致する文字列を含む場合に、問題箇所の種別を出来事と判定し、前記種別判定部によって判定された問題箇所の種別が出来事であった場合、前記候補抽出部は、前記第1コンテンツの中から、前記キーワードに一致する文字列を含む語句を、問題候補として抽出することを特徴とする請求項5に記載の情報処理装置。前記ルール保存部に、予め取得された複数の人名を含む人名キーワードリストを保存し、前記種別判定部は、前記選択入力された問題箇所が、前記人名キーワードリストの人名のいずれかと一致するか否かを判定し、前記問題箇所の種別が人名と判定された場合、前記候補抽出部は、前記第1コンテンツの中から、前記人名キーワードリストの人名のいずれかと一致する文字列を、問題候補として抽出することを特徴とする請求項5に記載の情報処理装置。前記選択肢表示部によって、前記回答選択肢が前記表示部に表示されている場合において、前記入力部により、回答選択肢のいずれかが回答として選択入力された場合、その選択入力された回答選択肢の文字列と、前記問題箇所の文字列とが一致するか否かを確認し、正誤を判定する回答判定部を備えたことを特徴とする請求項2に記載の情報処理装置。前記回答判定部が、前記選択入力された回答選択肢の文字列と、前記問題箇所の文字列とが一致する場合は、前記問題箇所の回答を正解と判定し、一致しない場合は前記問題箇所の回答を不正解と判定し、前記第1コンテンツに対して選択入力されたすべての問題箇所に対する回答が終了した後、前記すべての問題箇所に対する回答を集計し回答結果を算出する成績生成部を備えたことを特徴とする請求項9に記載の情報処理装置。しかし、予め問題文が固定的に記憶されている電子コンテンツでは、利用者が回答する内容や箇所は予め設定されているので、その利用者が、自分の意思で回答箇所を自由に変更することができなかった。また、利用者が自分の学習ペースや習得度に適合させて問題文を作成あるいは変更したい場合は、電子コンテンツの問題文を所望の問題文に書きかえるか、あるいは電子的に編集可能であったとしても自分で編集し直す必要があり、問題文変更等に時間がかかるために、実際の学習そのものにかける時間が少なくなり、学習効率がよいとは言えない場合もあった。また、特許文献1の学習装置では、学習コンテンツに対して、自己が暗記したい文字部分を選択入力して非表示にすることにより、反復学習が可能である。しかし、紙媒体の教科書等に出てくるキーワードを蛍光ペンでマークするのと同様に、その都度、そのキーワード部分について非表示設定あるいは解除をする必要があり、その設定操作が面倒であった。また、同じキーワードが何度も出てくる場合は、利用者が、そのキーワードの出現位置をすべて探し出して設定する必要があり、面倒であった。さらに、キーワードに類似する文字列をそのまま表示しておくと、その類似文字列とキーワードとが同じページに表示されている場合には、その類似文字列を参考にして、非表示にしたキーワードを連想できる場合もあるので、学習効率が良いとは言えない。したがって、学習コンテンツの学習効率をより向上させるためには、利用者個人に適合するようにコンテンツの表示内容を変更等することができることに加え、その変更も柔軟かつ容易にできることが望ましい。そこで、この発明は以上のような事情を考慮してなされたものであり、コンテンツの中で、利用者が選択した学習したい文字列に関連する部分を自動的に抽出することにより、利用者自身に適合したコンテンツの加工や表示をさせることが可能な情報処理装置を提供することを課題とする。この発明は、少なくとも文字列を有する第1コンテンツを保存したコンテンツ保存部と、第1コンテンツを表示する表示部と、前記表示された第1コンテンツの中の所望の文字列を問題箇所として選択入力する入力部と、前記問題箇所の種別を判定する基準を保存したルール保存部と、前記基準を用いて前記選択入力された問題箇所の種別を判定する種別判定部と、前記第1コンテンツの中から、前記種別判定部によって判定された種別と同一の種別に属する文字列を問題候補として抽出する候補抽出部と、前記問題箇所と問題候補とを識別するための属性情報を前記第1コンテンツに付加した第2コンテンツを保存する問題コンテンツ保存部と、前記入力部からの選択入力により、前記第1コンテンツを問題文として表示する指示が入力された場合に、前記第2コンテンツを読み出し、前記属性情報が付加された問題箇所と問題候補とを非表示あるいは伏せ字に変更して前記第1コンテンツを表示する問題表示部とを備えたことを特徴とする情報処理装置を提供するものである。これによれば、選択入力された問題箇所と、その問題箇所と同一の種別に属する問題候補とを非表示あるいは伏せ字にして、問題文となるコンテンツを表示するので、利用者個人ごとに適合した問題文を表示させることができ、その利用者の学習効率を向上させることができる。また、利用者が問題箇所を選択入力するだけで、選択候補が自動的に抽出されるので、利用者にとって適切な問題文を容易に作成することができる。また、前記問題表示部によって第1コンテンツが表示されている場合において、前記入力部により、前記問題箇所が非表示あるいは伏せ字に変更された表示領域が選択入力された場合に、前記問題箇所および問題候補とを含む回答選択肢を前記表示部にさらに表示する選択肢表示部を備えたことを特徴とする。これによれば、問題箇所のみならず、問題箇所と同一の種別の問題候補の部分を非表示あるいは伏せ字の表示にしたままで、問題箇所に対する回答選択肢を表示するので、利用者の学習効率をより向上させることができる。また、前記候補抽出部が問題候補を抽出する範囲が、前記第1コンテンツの全体、前記表示部に表示されているページの内部、および前記入力部によって指定されたページの内部のいずれかであることを特徴とする。また、前記ルール保存部に、前記種別ごとに予め設定された複数のキーワードを含むキーワードリストを保存し、前記候補抽出部が問題候補を抽出する文字列が、前記問題箇所の種別と同一の種別の第1キーワードリストに含まれるキーワードであり、前記候補抽出部が、前記第1キーワードリストの中から、前記問題候補として、指定個数のキーワードを抽出することを特徴とする。これによれば、学習に適切な問題候補が、容易に自動的に抽出できる。また、前記種別判定部によって判定される種別には、年号、出来事、および人名のいずれか1つ以上を含むことを特徴とする。また、前記基準によって判定されるべき種別の年号が、数字列と年という文字からなる西暦および和暦であり、前記種別判定部は、前記選択入力された問題箇所が前記西暦および和暦のいずれかに一致する場合に、問題箇所の種別を年号と判定し、前記種別判定部によって判定された問題箇所の種別が年号であった場合、前記候補抽出部は、前記西暦および和暦の少なくともどちらか一方に一致する文字列を、問題候補として前記第1コンテンツの中から抽出することを特徴とする。また、前記基準によって判定されるべき種別の出来事が、所定の複数のキーワードのいずれかを含む文字列であり、前記種別判定部は、前記選択入力された問題箇所が、前記複数のキーワードのうちいずれかに一致する文字列を含む場合に、問題箇所の種別を出来事と判定し、前記種別判定部によって判定された問題箇所の種別が出来事であった場合、前記候補抽出部は、前記第1コンテンツの中から、前記キーワードに一致する文字列を含む語句を、問題候補として抽出することを特徴とする。また、前記ルール保存部に、予め取得された複数の人名を含む人名キーワードリストを保存し、前記種別判定部は、前記選択入力された問題箇所が、前記人名キーワードリストの人名のいずれかと一致するか否かを判定し、前記問題箇所の種別が人名と判定された場合、前記候補抽出部は、前記第1コンテンツの中から、前記人名キーワードリストの人名のいずれかと一致する文字列を、問題候補として抽出することを特徴とする。また、前記選択肢表示部によって、前記回答選択肢が前記表示部に表示されている場合において、前記入力部により、回答選択肢のいずれかが回答として選択入力された場合、その選択入力された回答選択肢の文字列と、前記問題箇所の文字列とが一致するか否かを確認し、正誤を判定する回答判定部を備えたことを特徴とする。また、前記回答判定部が、前記選択入力された回答選択肢の文字列と、前記問題箇所の文字列とが一致する場合は、前記問題箇所の回答を正解と判定し、一致しない場合は前記問題箇所の回答を不正解と判定し、前記第1コンテンツに対して選択入力されたすべての問題箇所に対する回答が終了した後、前記すべての問題箇所に対する回答を集計し回答結果を算出する成績生成部を備えたことを特徴とする。この発明によれば、利用者が問題箇所を選択入力するだけで、その問題箇所と同一の種別を有し、問題箇所と同時に非表示あるいは伏せ字にする問題候補が自動的に抽出されるので、利用者にとって適切な問題文を容易に作成することができる。また、問題箇所と問題候補をどちらも非表示あるいは伏せ字にして問題文となるコンテンツを表示するので、利用者個人ごとに適合した問題文を表示させることができ、その利用者の学習効率を向上させることができる。以下、図に示す実施例に基づいて、この発明を説明する。なお、これによって、この発明が限定されるものではない。<この発明の情報処理装置の構成>図1に、この発明の情報処理装置の一実施例の構成ブロック図を示す。表示部1は、教科書、参考書、文献などの電子化された書籍以下、電子コンテンツ、または単にコンテンツと呼ぶを表示する部分であり、LCD,電子ペーパー,CRT,PDP,有機ELなどの表示装置が用いられる。コンテンツは、少なくとも文字列を有する文書であり、文字の他に、記号、図形、画像等を含むものであってもよい。携帯可能な情報処理装置の場合は、主として、LCD,電子ペーパー,あるいは有機EL素子が用いられる。画像メモリ2は、表示部1に表示する一画面分の画像データを一時記憶する部分であり、画像メモリ制御部3は、コンテンツ保存部21などに保存されたコンテンツから表示しようとする部分の画像データを取得して、画像メモリ2に転送する部分である。タッチパネル4は、表示部1の画面上に対向配置され、指やペンを用いて、情報の入力や機能選択等の入力操作を行う部分であり、タッチパネル制御部5は、タッチパネル4に接触入力された位置を検出して、その位置座標を特定する検出信号を、MPU13に転送する部分である。たとえば、後述する図23に示すように、タッチパネル4を利用して、コンテンツを問題文として表示する指示が入力される。キー操作部6は、文字や記号を入力するキーボードや、特定の機能を実行するための専用キーなどからなり、キー制御部7は、キー操作部6から入力された文字等の情報を、MPU13に転送する部分である。タッチパネル4やキー操作部6を用いて、表示部1に表示されたコンテンツに対するページ送り、ページ戻し、行スクロール、左右スクロール、拡大、縮小などの入力操作が行われる。このようなタッチパネル4とキー操作部6とは、表示部に表示されたコンテンツの中の所望の文字列を、問題箇所として選択入力する入力部に相当する。図2に、情報処理装置の表示部とキー操作部の一実施例を示した概略外観図を示す。表示部1に対向して、その画面上にタッチパネル4が配置される。キー操作部6は、上下左右に表示されたコンテンツを移動させる矢印キー61と、OKキー、Homeキー、Cancelキーなどの操作キー62とから構成される。デコードエンコード処理部8は、デジタル化された音声信号のデコードおよびエンコードを行う部分であり、音声入出力部9は、エンコードされたデジタル音声信号をアナログ信号に変換してスピーカ10へ出力し、あるいはマイク11から入力されたアナログ音声をデジタル音声信号に変換してデコードエンコード処理部8に与える部分である。通信処理部12は、インターネット、有線LAN、無線LAN、その他のネットワーク通信回線を介して、外部の情報処理装置や、コンテンツを保存したサーバ等と情報の送受信を行う部分である。受信される情報としては、たとえば、購入したコンテンツ、プログラム、人名キーワードリストなどがある。MPU13は、この発明の情報処理装置の各機能を実現するために、プログラム保存部25に記憶されているプログラムに基づいて、各ハードウェアの動作を制御するものである。MPU13は、利用者からの選択入力に基づいて、コンテンツの表示や問題文の生成等の機能を実行するものであるが、この発明では、主として次のような機能が実行される。たとえば、種別判定部51、候補抽出部52、問題表示部53、選択肢表示部54、回答判定部55、成績生成部56などの機能を実行する。ここで、種別判定部51は、問題作成ルール保存部23に保存された基準を用いて、入力部によって選択入力された問題箇所の種別を判定するものである。後述するように、種別判定部51によって判定される種別としては、たとえば年号、出来事および人名などがあり、これらのうちいずれか1つ以上の種別が判定される。選択入力された問題箇所が、西暦および和暦のいずれかの年号に一致する文字列である場合、その問題箇所の種別を年号と判定する。年号を判定する場合には、その基準としては、数字列と、年という文字とからなる西暦および和暦を意味する文字配置のルールが利用される。候補抽出部52は、コンテンツ保存部21に保存されている第1コンテンツの中から、種別判定部51によって判定された種別と同一の種別に属する文字列を問題候補として抽出する部分である。たとえば、問題箇所の種別が年号であった場合、西暦および和暦の少なくともどちらか一方に一致する文字列を、問題候補として第1コンテンツの中から抽出する。また、候補抽出部52が問題候補を抽出する範囲を予め設定しておいてもよく、たとえば、問題箇所が含まれているコンテンツの全体、表示部に表示されているページの内部、および入力部によって指定されたページの内部のいずれかに設定してもよい。また、ルール保存部23に、種別ごとに予め設定された複数のキーワードを含むキーワードリスト図17参照を保存している場合、問題候補を抽出する文字列として、その問題箇所の種別と同一の種別の第1キーワードリストに含まれるキーワードを用いてもよい。この場合、候補抽出部52は、その第1キーワードリストの中から、問題候補として、予め設定された指定個数のキーワードを抽出するようにしてもよい。問題表示部53は、入力部からの選択入力により、上記第1コンテンツを問題文として表示する指示が入力された場合に、属性情報が付加された第2コンテンツを読み出し、属性情報が付加された問題箇所と問題候補とを非表示あるいは伏せ字に変更して第1コンテンツを表示する部分である。選択肢表示部54は、問題表示部53によって第1コンテンツの内容が表示部に表示されている場合において、入力部により、問題箇所が非表示あるいは伏せ字に変更された表示領域が選択された場合に、問題箇所および問題候補とを含む回答選択肢を表示部にさらに表示する部分である。この回答選択肢は、たとえば、図24に示すようなサブウィンドウの中に表示される。回答判定部55は、選択肢表示部54によっていくつかの回答選択肢が表示部に表示されている場合において、入力部によりその回答選択肢のいずれか1つが回答として選択入力された場合、その選択入力された回答選択肢の文字列と、問題箇所の文字列とが一致するか否かを確認し、利用者によって入力された回答の正誤を判定する部分である。たとえば、選択入力された回答選択肢の文字列と、問題箇所の文字列とが一致する場合は、その問題箇所の回答を正解と判定する。また、選択入力された回答選択肢の文字列と、問題箇所の文字列とが一致しない場合は、その問題箇所の回答を不正解と判定する。成績生成部56は、問題文として表示された第1コンテンツに対して、選択入力されたすべての問題箇所に対する回答が終了した後、すべての問題箇所に対する回答を集計し、回答結果を算出する部分である。たとえば、出題した問題数、正解数、不正解数などを算出して、図27に示すように、回答結果を表示させる。主メモリ14は、必要なプログラムを一時保存し、そのプログラムの実行に必要なデータを記憶しておくメモリであり、主としてSRAMなどが用いられる。外部メモリ制御部15は、外部メモリ16を接続し、外部メモリ16に対して、情報の読み出しと書き込みを行うI/Oインタフェースである。外部メモリ16は、この情報処理装置に対して着脱可能なメモリであり、携帯可能なUSBメモリ、メモリカード、外付ハードディスク、CDやDVDなどの記憶媒体などが用いられる。外部メモリ16は、購入したコンテンツ、バックアップしておきたいコンテンツ、問題作成ルール、成績情報などの保存に利用される。不揮発性メモリ制御部17は、不揮発性メモリ20に対する読み出しと書き込みを行うI/Oインタフェースである。不揮発性メモリ20は、この発明の情報処理装置の機能を実現するために必要な各種情報を、読み書き可能で、消えることのないように記憶しておく記憶部である。不揮発性メモリ20としては、たとえば、ハードディスクやフラッシュメモリが用いられる。不揮発性メモリ20には種々の情報が保存されるが、主として、コンテンツ保存部21、問題追加コンテンツ保存部22、問題作成ルール保存部23、回答結果保存部24、プログラム保存部25とから構成される。コンテンツ保存部21は、文字、図形、画像、音声などの種々の情報を含むコンテンツを保存しておく部分である。ここに保存されたコンテンツが、上記した第1コンテンツに相当する。保存されるコンテンツには、外部メモリ16から読み出されたものの他に、通信処理部12を介して、外部のサーバからダウンロードしたコンテンツがある。コンテンツの内容は、特に限定されるものではないが、現在市販および流通している種々の規格に適合した形式で保存されているものが利用可能であり、たとえばタグや種々の属性を含む情報を付加したXML形式で保存された文書等を用いることができる。この発明では、特に効率的な学習を行うことを一つの目的とするものであるので、コンテンツとしては、たとえば、教科書、参考書あるいは問題集などを用いるものとする。問題追加コンテンツ保存部22は、後述する問題作成モードで加工したコンテンツを保存する部分であり、問題コンテンツ保存部とも呼ぶ。加工されたコンテンツは、たとえば、指定されたキーワード部分を非表示にできるような属性情報を付加したものである。コンテンツ保存部21に保存されているコンテンツを第1コンテンツとすると、後述する問題箇所と問題候補とを識別するための属性情報を、第1コンテンツに付加した第2コンテンツが問題コンテンツ保存部22に保存される。この第2コンテンツを問題コンテンツとも呼ぶ。問題作成ルール保存部23は、問題作成ルールを保存する部分であり、ルール保存部とも呼ぶ。問題作成ルールとは、後述するように、問題箇所の種別を判定する基準を意味し、ルール保存部23は、たとえば、後述するように、問題作成に利用する記句たとえば、人名、地名、出来事名などの名詞、和暦の元号データベース、年号判定ルール、出来事に関するキーワードリスト、人名に関するキーワードリスト、地名やランドマークに関するキーワードなどを記憶しておく部分である。ここに保存した出来事キーワードリストや人名キーワードリストは、コンテンツに含まれる人名を回答させる問題文を作成するときに利用される。回答結果保存部24は、後述する問題回答モードにおいて入力された回答と、その結果正、誤や、回答日、正解数、不正解数などの成績データを保存する部分である。プログラム保存部25は、この発明の機能を実現するためのプログラムを保存する部分である。また、この他にも、この発明の機能を実行している場合に、必要な情報が不揮発性メモリ20に保存される。たとえば、問題箇所26として選択入力された文字列、問題候補27として設定された文字列、問題箇所の種別28を表す文字列などが保存される。また、ルール保存部23に保存される基準によって、問題箇所の種別28が出来事か否かを判定する場合、ルール保存部23に予め保存された出来事に関係する所定の複数のキーワードを用いることが好ましい。選択入力された問題箇所26が、複数のキーワードのうちいずれかに一致する文字列を含む場合に、種別判定部51は、その問題箇所の種別28を出来事と判定する。ここで、判定されるべき出来事は、複数のキーワードのいずれかを含む文字列であり、たとえば判定されるべき問題箇所26が本能寺の変である場合、その問題箇所26には図17に示す出来事に関係するキーワードのうちの変に一致する文字列を含むので、問題箇所の種別28を出来事と判定する。このように、種別判定部51によって判定された問題箇所の種別28が出来事であった場合、候補抽出部52は、第1コンテンツの中から、キーワードに一致する文字列を含む語句文字列を、問題候補27として抽出する。また、ルール保存部23に保存される基準によって、問題箇所の種別28が人名か否かを判定する場合、予め取得されルール保存部23に保存された複数の人名を含む人名キーワードリスト図17参照を用いる。この場合、種別判定部51が、選択入力された問題箇所26が人名キーワードリストの人名のいずれかと一致するか否かを判定する。ここで、問題箇所26が、人名のいずれかと一致する場合、問題箇所の種別28を人名と判定する。問題箇所が人名と判定された場合、候補抽出部52は、第1コンテンツの中から、人名キーワードリストの人名のいずれかと一致する文字列を、問題候補27として抽出する。<コンテンツの利用モード>この発明の情報処理装置において、保存されたコンテンツを利用するにあたり、主として次のような5つのモード状態を有するものとし、利用者の選択入力操作により、各モード間を遷移するものとする。1メインメニュー電源を投入したときの初期状態を意味し、たとえば図4に示すような表示が行われるモードである。2読書モードコンテンツの内容を閲覧するモードであり、ページ操作や、拡大縮小操作などを利用して所望のコンテンツ部分を表示させるモードである。3コンテンツ購入モードネットワークを介してコンテンツを購入するためのモードであり、購入可能なコンテンツの一覧表示や、購入処理、購入したコンテンツのダウンロード等を行うモードである。4問題作成モード保存している参考書などのコンテンツを用いて、利用者自身に適合した問題集を作成するモードであり、たとえば後述する図24に示すように、利用者が指定したキーワード問題箇所と、そのキーワードに関連した文字列の部分問題候補を非表示にして表示できるように、コンテンツを加工するモードである。加工されたコンテンツは、問題追加コンテンツ保存部22に保存される。このモードは、読書モードにおいて問題箇所を選択する操作をすることにより、移行される。5問題集モード作成された問題を表示させて、利用者がその問題に対する回答を入力するモードである。また、このモードは、利用者が実際に回答を入力する問題回答モードと、回答終了後に回答結果や成績等を表示する成績評価モードとからなる。図3に、この発明の各モード間の状態遷移図の一実施例の説明図を示す。まず、電源投入後に、メインメニューモード110に入り、利用者のモード切りかえの入力操作により、読書モード120、コンテンツ購入モード140、および問題集モード130のいずれかのモードに入り、各モードごとに予め定められた処理を行う。これらの3つのモード120、130、140と、メインメニューモード110との間は、表示部1に表示された専用のメニュー表示部分をタッチするか、あるいは、専用キーを押下げることにより、容易に相互に切り替えられるようにする。また、読書モード120とコンテンツ購入モード140との間、読書モード120と問題作成モード150との間も、タッチ入力するためのメニュー表示や、専用キーを設けて、それぞれ容易に切り替えられるようにすることが好ましい。さらに、問題集モード130は、問題作成モード150で問題がすでに作成されている場合に入ることができ、問題が作成されていない場合は入れないようにすることが好ましい。また、購入されたコンテンツや表示可能なコンテンツが保存されていない場合は、読書モード120、問題集モード130、問題作成モード150には入れないようにすることが好ましい。問題回答モード160と成績評価モード170は、問題集モード130のサブモードであり、問題集モード130に入った後に、所定の入力操作により、それぞれのモードに入るようにすることが好ましい。また、問題作成モード150では、コンテンツを表示させている状態で、問題を作成する処理が行われるので、読書モード120から所定の入力操作を行うことにより問題作成モード150に入るようにすることが好ましい。ここで所定の入力操作としては、たとえば、コンテンツに含まれる文字列を選択入力した後、所定のキーたとえば確定OKキーの入力を行えばよい。また、問題作成モード150で問題作成をした後、所定の入力操作により読書モードに戻り、さらに、作成した問題を確認するために、所定の入力操作により問題集モード130に入れるようにしてもよい。<メインメニューの表示>図4に、この発明の情報処理装置の表示画面例を示す。ここでは表示部1に、メインメニュー110が表示された状態を示している。表示部1に、選択可能なモードとして、コンテンツ購入モード140と、読書モード120と、問題集モード130を表示している。画面上には、透明なタッチパネル4が対向配置されているので、3つのモードの表示領域のうち、いずれかの表示領域に、指やペンを用いて接触することにより、その表示領域のモードに移行させる。図4では、表示部1の下方に、キー操作部6の一実施例も示している。ここで、キー操作部6としては、上下左右へカーソルを移動させる矢印キー61と、確定を意味するOKキーと、メインメニュー110へ戻るためのHomeキーと、直前の入力操作の削除を意味するCancelキーとを示している。操作キー62としては、これら3つのキーに限定されるものではない。<情報処理装置のモード選択処理>図5に、この発明の情報処理装置のモード選択処理の一実施例のフローチャートを示す。ここでは、装置の電源を投入して起動させた後、各モードのいずれかを選択するまでの概略フローチャートを示す。ステップS1において、情報処理装置が起動されると、表示部1に、図4に示すようなメインメニュー110が表示される。図4のメインメニュー110では、3つのモードの名称が表示され、3つのモードのいずれかの表示領域が接触されるのを待つ。以下、接触をタッチとも呼ぶ。すなわち、ステップS2において、タッチパネル4に対して、モード選択のためのタッチ入力があるか否かチェックする。何らかのタッチ入力があれば、ステップS3へ進む。ステップS3において、図4のメインメニュー110の中の読書モード120がタッチ入力されたか否かをチェックする。読書モード120の表示領域がタッチ入力されたことを検出すると、ステップS4へ進み、そうでない場合はステップS5へ進む。ステップS4において、読書モード処理を実行する。読書モード120では、主として、表示させるコンテンツの選択と、表示内容の変更と、この発明の特徴の1つである問題箇所選択処理等が行われる。この読書モード処理については、図7と図8を用いて説明する。ステップS4の処理が終了した後、ステップS11へ進み、メインメニューへの戻りキーの入力操作がされたか否かチェックする。たとえば、図4のHomeのキーが押されたか否かチェックする。メインメニューへの戻り入力操作が行われた場合はステップS1へ戻る。その他の場合は、ステップS2へ戻り、他のモードの選択操作がされたか否かをチェックする。ステップS5において、コンテンツ購入モード140がタッチ入力されたか否かをチェックする。コンテンツ購入モード140の表示領域がタッチ入力されたことを検出すると、ステップS6へ進み、そうでない場合はステップS7へ進む。ステップS6において、コンテンツ購入モード処理を実行する。ここでは、たとえば後述する図6に示すように、コンテンツの選択、購入および購入コンテンツのダウンロードと保存とを行う。ステップS6の処理の終了後、ステップS11へ進む。ステップS7において、図4のメインメニュー110の中の問題集モード130がタッチ入力されたか否かチェックする。問題集モード130の表示領域がタッチ入力されたことを検出すると、ステップS8へ進み、そうでない場合はステップS2へ戻る。ステップS8において、問題集モード130の下位のレベルの2つのサブモード160,170を表示させ、サブモードのいずれかのタッチ入力がされるのを待ち、タッチ入力されたサブモードの判定を行う。タッチ入力されたサブモードが、問題回答モード160である場合はステップS9へ進み、成績評価モード170である場合はステップS10へ進む。ステップS9において、問題回答モード処理では、後述する図13に示すように、主として、利用者が回答をする問題コンテンツの選択と、回答選択入力と、回答の判定を行う。ステップS10において、成績評価モード処理では、後述する図16に示すように、主として、利用者が回答した結果を集計し、成績を表示する処理を行う。ステップS9またはS10の処理をした後、ステップS11へ進む。<コンテンツ購入モードの処理>図6に、図5のステップS6に示したコンテンツ購入モード処理の一実施例のフローチャートを示す。ステップS21において、購入可能コンテンツを、表示部1に一覧表示させる。たとえば、インターネットを介して、コンテンツを保存しているサーバから、購入可能コンテンツの情報タイトル名、料金、著者、出版社、ダウンロードサイズ、概要、学習用の書籍については適用学年情報などを取得して、取得した情報を一覧表示すればよい。ステップS22において、利用者が購入したいコンテンツをタッチ入力するのを待つ。ステップS23において、一覧表示されたコンテンツの中のいずれかのコンテンツがタッチ入力され、所定の購入操作が行われた場合、ステップS24へ進み、そうでない場合はステップS26へ進む。ステップS24において、購入操作が行われた購入コンテンツを、ネットワークを介してサーバからダウンロードする。ステップS25において、ダウンロードした購入コンテンツをコンテンツ保存部21に保存する。ステップS26において、モード終了を意味する入力操作が行われたか否かをチェックする。たとえば、Homeキーが押された場合は、コンテンツ購入モードを終了する。一方、入力のない場合はステップS22へ戻り、コンテンツの選択入力を待つ。なお、ステップS22において、Homeキー等のモードを終了するための入力操作が行われた場合も、コンテンツ購入モードを終了する。このモードの処理の後に、購入されたコンテンツに対する閲覧、問題作成、作成した問題の回答が行えるようになる。<読書モードの処理>図7に、図5のステップS4に示した読書モード処理の一実施例のフローチャートを示す。ステップS31において、コンテンツ保存部21に保存されているコンテンツを、表示部1に一覧表示する。ステップS32において、利用者が表示されたコンテンツのうちいずれかのコンテンツを選択入力するのを待ち、ステップS33において、選択されたコンテンツを、表示部1に表示させる。たとえば、歴史の教科書の場合、ページごとに表示画面に表示されるものとすると、図19に示すように、まずコンテンツの最初のページに記載された内容が表示される。ステップS34において、読書モードにおける種々の入力操作のうち、いずれかの入力が行われたか否かをチェックする。入力操作が行われた場合、ステップS35へ進む。ステップS35において、ページ送り操作が行われたか否かチェックし、行われた場合、ステップS36へ進み、そうでない場合はステップS37へ進む。ステップS36において、ページ送り処理を実行し、その後、ステップS33へ戻る。ページ送り操作がされた場合は、次のページを表示させる。ステップS37において、ページ戻し操作が行われたか否かチェックし、行われた場合ステップS38へ進み、そうでない場合はステップS39へ進む。ステップS38において、ページ戻し処理を実行し、その後、ステップS33へ戻る。ページ戻し操作がされた場合は、前のページを表示させる。ステップS39において、問題箇所選択操作が行われたか否かチェックし、行われた場合はステップS40へ進み、そうでない場合はステップS41へ進む。ステップS40において、問題箇所選択処理を実行し、その後、ステップS33へ戻る。問題箇所選択処理では、主として、問題文を出題するときに、回答すべき語句文字列の位置の選択と、回答の選択肢となる類似語句文字列の選択と、回答すべき語句と類字語句とを非表示とするためのタグ情報を付加して保存する処理を行う。ここでは、たとえば後述する図8に示すような処理が行われる。ステップS41において、コンテンツ再選択操作が行われたか否かチェックし、行われた場合はステップS42へ進み、そうでない場合はステップS43へ進む。ステップS42において、現在表示していたコンテンツの表示を中止し、再度コンテンツを選択することができるように、ステップS31へ戻る。ステップS43において、メニュー戻し操作たとえば、Homeキーの入力操作が行われたか否かチェックし、行われた場合はステップS46へ進み、そうでない場合はステップS45へ進む。ステップS46において、現在表示していたコンテンツの表示を中止し、メインメニューを表示するために、図5のステップS4の処理を終了し、その後ステップS11において、メインメニューに戻すために、ステップS1へ戻る。ステップS45において、読書モードを終了する操作が行われたか否かをチェックする。読書モードの終了操作は、たとえば、Homeキーを押してメインメニューへ戻ることにより行うことができる。この終了操作が行われた場合は、ステップS4の処理を終了する。上記ステップS35からS45までの入力操作とは異なる操作が行われた場合は、ステップS47へ進み、その操作に対応付けられたその他の処理を実行した後、ステップS34へ戻る。以上の処理により、利用者が選択したコンテンツを表示させ、コンテンツの内容を閲覧することができる。また、ステップS39における問題選択操作をすることにより、利用者が自ら学習したい問題を容易に作成することが可能となる。<問題箇所選択処理>図8に、図7のステップS40に示した問題箇所選択処理の一実施例のフローチャートを示す。ここでは、主として、現在表示されているコンテンツの中から利用者による問題箇所を選択入力する処理と、選択された問題箇所に類似する語句文字列を半自動的に選択する処理を行う。問題箇所とは、問題文を表示させるときに非表示とされる部分の語句文字列であり、利用者が正解を回答すべき部分である。たとえば、図19において、反転表示している年号1582年の部分が、問題箇所として選択されたことを示している。問題箇所に類似する語句とは、正解となる語句と共通する意味内容の語句や、同一の種別に属する語句であり、利用者が回答を行うときに、回答候補として表示される選択肢となる語句である。たとえば、後述する図24において、表示されているコンテンツの下から3行目の非表示部分が問題箇所であり、表示コンテンツの上から4行目と6行目の非表示部分が類似する語句の部分である。この類似する語句を、問題候補と呼ぶ。この類似する語句は、問題箇所を回答するときに、その正解のヒントとなる場合があるので、非表示にしている。また、類似する語句は、表示部1のサブウィンドウの中に、回答候補として表示される。図24においては、正解を含む回答候補となる4つの選択肢が表示されている。利用者は、図24のような表示がされている状態において、4つの選択肢のうち、正解と考える選択肢の表示領域にタッチ入力をして回答することになる。問題箇所として選択する文字列は、利用者が学習したいと考える部分であり、自らの意思で自由に選択できることが好ましい。たとえば、表示されているコンテンツの中で、始点となる最初の文字と、終点となる最後の文字とを指定し、その最初の文字から最後の文字までの間の文字列を問題箇所としてもよい。以下の実施例では、1つの問題文コンテンツとして歴史に関する文章を用い、問題箇所としては、年号、歴史上の出来事、あるいは人名に関するキーワードを選択入力するものとして説明する。コンテンツの分野が異なれば、学習する内容も異なり、利用者が選択入力するキーワードも異なるので、上記3つの種別のキーワードに限るものではなく、図8のフローチャートの判定内容も異なる。たとえば、数学の教科書であれば公式部分がキーワードとなり、理科の教科書であれば物質名や化学式などがキーワードとなり、語学学習では、熟語や英単語などの部分がキーワードとなる。図8に示す実施例では、選択入力された問題箇所が、3つの種別年号、出来事、人名のうちいずれに該当するかの判定処理を行う。図8のステップS51において、選択入力された文字列の種別が年号であるか否かの判定処理を行う。ステップS52において、図19に示すように、年号を選択入力したと判定された場合は、ステップS53へ進み、そうでない場合はステップS59へ進む。年号であるか否かの判定処理は、たとえば次のようにして行えばよい。一般的に、西暦の年号は、4桁以下の数字であり、数字の直後には年という文字が配置されており、数字の直前にはいわゆる年号に相当する文字はなく任意の文字が配置されることが多い。また、和暦の場合は、日本特有の元号と、数字と、年という文字の配置により表現される。日本特有の元号は、予め元号データベースとして記憶部20に記憶しておけばよい。したがって、年号判定処理は、選択入力された文字列が、上記西暦の配置に一致するか、あるいは上記和暦の配置に一致するかをチェックすればよい。ステップS52において、選択入力された文字列が西暦あるいは和暦のどちらかの配置に一致する場合は、年号が選択入力されたと判定し、ステップS53へ進む。また、西暦と和暦が併記される場合や混合して使用される場合があるが、西暦と和暦の相互変換のテーブルを予め記憶しておき、問題文を表示するときに、どちらか一方を優先的に利用してもよい。ステップS53において、問題の選択肢の候補問題候補とする年号の文字列を、現在表示されているコンテンツの中から抽出する。すなわち、問題箇所の文字列の種別と同一の種別を持つ文字列を抽出する。ここでは、ステップS51の処理で説明した上記西暦および和暦の配置に合致する文字列を、抽出する。たとえば、図19に示すようなコンテンツが表示されていた場合において、ステップS51において、選択入力された下から3行目の文字列1582年の種別が年号であると判定された場合、ステップS53において、問題候補として、4行目の1560年と、6行目の1573年とが抽出される。問題候補が多数抽出される場合もあるので、抽出する候補の上限数を予め設定してもよい。たとえば、抽出候補数の上限を4に設定してもよい。また、原則として、選択入力された問題箇所の文字列が表示されているページと同じページ内を、抽出範囲とする。ただし、同一ページ内では問題候補が抽出されない場合もあるので、抽出する範囲を予め設定できるようにしてもよい。たとえば、現在閲覧しているコンテンツ全体を抽出範囲としてもよく、その他には、問題箇所の文字列が表示されているページの前後の数ページ、利用者が指定したページ範囲などを抽出範囲としてもよい。あるいは、最初は、同一ページ内のみを抽出範囲とし、抽出した候補が予め設定された抽出候補数の上限に達しない場合は、前後の数ページ、さらに抽出できない場合はコンテンツ全体というように、段階的に抽出範囲を徐々に広げていくようにしてもよい。ステップS54において、年号の候補が抽出されたか否かチェックする。選択入力された年号の問題箇所に関係した文字列ここでは種別が年号である文字列が抽出された場合は、ステップS55へ進み、抽出されなかった場合は、ステップS58へ進む。ステップS58において、問題候補が選択されなかったことを示すエラー警告表示を行い、問題箇所の再選択をするために、図7のステップS34へ戻る。ステップS55において、問題箇所として選択された文字列に、属性情報タグ情報あるいは単にタグとも呼ぶを追加する。属性情報とは、問題箇所に関係する情報であり、後に問題箇所を含むページを問題文として表示する際に、非表示等の処理を行うために利用する情報である。属性情報としては、たとえば、ID、rule、候補、範囲などを用いる。IDとは、現在の表示コンテンツ内において、各属性情報を識別するための番号を意味し、たとえば、1から始まる数字を付与する。ruleとは、問題のタイプ、すなわち学習しようとする問題の種別に相当する文字列を意味し、たとえば、年号を回答する問題の場合は、年当て1を付与する。候補は、問題箇所の回答をする場合に、その回答の選択肢として抽出された問題候補のリストを意味する。たとえば、上記したように、問題箇所が1582年であるときに、問題候補として、1560年と1573年とが抽出された場合は、1560年と1573年とが、問題箇所1582年に対する問題候補として、候補の属性に付与される。範囲は、上記したように抽出した範囲を示したものであり、たとえば、問題箇所と同一ページ内のみを抽出範囲として場合は、このページという文字列が付与される。これらの属性情報は、たとえば従来から用いられているXMLで規定されたタグ情報として、コンテンツの中に追加すればよい。XMLのタグ情報として、問題設定用のタグ<Question>と、<Question>とが定義されていたとすると、上記した問題箇所1582年は、たとえば次のようなタグが付与される。<QuestionID=1rule=年当て1候補=1560年、1573年、1969年範囲=このページ>1582年<Question>ここでは、問題箇所1582年の直前に<Question>タグが付与され、1582年の直後に、<Question>タグが付与されている。また、ステップS56において、年号の問題候補として抽出された文字列に、属性情報を追加する。この属性情報は、問題候補となる文字列が、もともと表示されていた位置において、その文字列の部分を非表示とするために追加するものである。たとえば、図19において、問題候補として抽出された1960年に対しては、次のようなタグが付与される。<QuestionID=1rule=年当て1候補=this>1560年<Question>ここで候補の属性値として設定されるthisは、このタグが付与された1560年は、問題箇所ではなく、問題候補であることを示すためのものである。ステップS57において、上記のように属性情報を追加したコンテンツを、問題追加コンテンツ保存部22に保存する。この問題追加コンテンツ保存部22に保有されたコンテンツは、後述する問題回答モード160において表示するときに用いられる問題コンテンツに相当する。ステップS51で選択入力された文字列の種別が年号である場合は、ステップS57の後、処理を終了する。図8のステップS59において、選択入力された文字列の種別が歴史上の出来事であるか否かの判定処理を行う。この出来事の判定には、コンテンツの巻末などに出来事の索引がある場合は、その出来事索引を利用する。出来事索引とは、図28に示すようなものである。あるいは、出来事以外の項目を含む索引の場合、後述するように、キーワードを利用した出来事抽出を索引に対して行い、予め出来事リストを保存しておき、このリストを利用しても良い。ステップS60において、出来事を選択入力したと判定された場合は、ステップS61へ進み、そうでない場合はステップS63へ進む。歴史上の出来事であるか否かの判定処理は、たとえば、次のようにして行えばよい。日本の歴史の教科書においては、一般に、歴史上の出来事は、次のようなキーワードを含むことが多い。たとえば、の変、の乱、の合戦、の戦い、の改革、革命というキーワードを含む文字列は、歴史上の出来事とみなすことができる。出来事リストの作成方法について述べる。コンテンツの巻末の索引には、図28に示すように、各項目が、行単位などで、列挙されている。図17aに示すように、の変、の乱、の合戦、の戦い、の改革、革命といったキーワードを、出来事に関するキーワードリストに予め記憶しておき、索引の各行に対してキーワードの後方一致のチェックを行う。一致した場合は、その行の項目を出来事と判断し、図17dに示す出来事リストに追加を行う。上記したステップS59の出来事の判定は、この出来事リストに含まれているかで判断すればよい。後述する図29に、出来事リスト作成処理の詳細フローを示す。また、図9に、出来事判定処理の詳細フローを示す。たとえば、図20に示すように、利用者が桶狭間の戦いを選択入力していたとすると、の戦いの部分が図17dの出来事リストに含まれる文字列に一致するので、桶狭間の戦いという文字列の種別は、出来事であると判定される。ステップS61において、問題の選択肢の候補とする出来事の文字列を、現在表示されているコンテンツの中から抽出する。ステップS61でも、ステップS59での処理と同様に、出来事リストの文字列と一致する文字列を抽出する。たとえば、図20のようにコンテンツが表示されている状態で、桶狭間の戦いが選択入力され、かつ出来事と判定された場合、この表示された文章の中から、出来事のリストに含まれる文字列と一致可能な文字列を探す。図20の場合、下から1行目に、図17aの出来事リストに含まれる本能寺の変があるので、出来事として抽出可能である。したがって、この場合、本能寺の変が出来事の問題候補として抽出される。後述する図10に、このステップS61の出来事に関する問題候補の抽出処理の詳細フローを示す。ステップS62において、出来事の問題候補が抽出されたかどうかチェックする。抽出された場合はステップS55へ進み、されなかった場合はステップS58へ進む。出来事の問題候補についても、抽出のために調査する範囲を設定できるようにすることが好ましい。たとえば、現在表示しているコンテンツ全体、現在表示しているページと同一のページ内、現在のページを含む前後の数ページ、あるいは利用者が設定したページ範囲などを抽出範囲としてもよい。さらに、抽出する出来事の候補数の上限値を設定し、その数に達しない場合は、同一ページ内を最初の抽出範囲とし、段階的に抽出範囲を徐々に広げていくようにしてもよい。ステップS55あるいはS58の処理は上記したのと同様であるので、説明を省略する。図8のステップS63において、選択入力された文字列の種別が歴史上の有名な人名であるか否かの判定処理を行う。この人名判定処理には、コンテンツの巻末などに人名の索引がある場合は、その人名索引を利用する。人名索引とは、たとえば図22に示すようなものである。あるいは、人名索引がない場合は、予め人名に関するキーワードリストを保存しておき、このリストを利用してもよい。さらに、人名索引がある場合において、ステップS63においてその都度人名索引をチェックするのではなく、装置の起動時や初期設定時において、人名索引や外部の人名データベース等を利用して、図17bに示すような人名に関するキーワードリストを作成しておいてもよい。このとき、人名のキーワードリストには、キーワードとなる人の姓名だけでなく、その人の関係情報たとえば、生まれた年、死亡した年、コンテンツの中で出現するページ番号、活躍した時代なども含めて記憶してもよい。人名キーワードリストの作成については、後述する図12のフローチャートに示す。また、ステップS63の人名判定処理については、後述する図11に、詳細フローを示す。ステップS64において、ステップS63の人名判定処理によって選択入力された文字列の種別が人名であったと判定された場合は、ステップS65へ進み、そうでない場合はステップS58へ進む。たとえば、図21に示すようにコンテンツが表示されている場合において、利用者によって、下から2行目の明智光秀が選択入力されたとすると、図22の人名索引にはこの文字列と一致する文字列明智光秀が存在するので、この選択入力された文字列の種別は人名であると判定される。ステップS65において、問題の選択肢の候補とする人名の文字列を、現在表示されているコンテンツの中から抽出する。たとえば、図21に示すコンテンツの文章中において、巻末の人名索引に含まれる人名キーワードに一致する文字列が存在しているか否かチェックし、一致する文字列があれば、その文字列を人名の問題候補として抽出する。ステップS66において、人名の候補が抽出されたか否かチェックする。人名の問題候補が抽出された場合はステップS55へ進み、そうでない場合はステップS67へ進む。たとえば、図21において、選択入力された問題箇所が、人名明智光秀であったとすると、人名の問題候補としては、織田信秀、今川義元、義昭が抽出される。ステップS67において、予め記憶された人名データベース人名キーワードリストがある場合には、その人名データベースの中から、指定個数分の人名候補を抽出する。ここで、指定個数は、予め固定的に初期設定してもよく、あるいは利用者が任意に設定できるようにしてもよい。また、抽出する人名候補としては、人名データベースに含まれる任意の人名を抽出してもよい。ただし、学習効果をより高めるためには、類似する人名、同時代に活躍した者の人名、出現頻度の高い人名、あるいは誤答しやすい人名等を抽出することが好ましい。ステップS67において抽出された人名候補は、現在表示しているコンテンツの中に出てこない人名もあるので、この人名候補については、属性情報を付加せずに問題追加コンテンツ保存部22に記憶しておく。ステップS68において、ステップS55と同様に、問題箇所として選択入力された文字列に属性情報を追加し、ステップS57において、その属性情報を追加したコンテンツ問題コンテンツを、問題追加コンテンツ保存部22に保存する。ステップS55では、選択入力された文字列の種別によって、追加される属性情報は異なる。年号の場合は、上記したようなタグが付加されるが、出来事や人名の場合は、ruleの内容が異なる。たとえば、出来事の場合は、rule=出来事となり、人名の場合は、rule=人名となる。出来事の場合のタグの一実施例を、次に示す。図20において、5行目の桶狭間の戦いが問題箇所として選択入力され、その問題箇所に対して3つの問題候補本能寺の変、応仁の乱、石山合戦が抽出されたとする。この場合の、桶狭間の戦いのタグは次のようなものとなる。今川義元を<QuestionID=2rule=出来事候補=本能寺の変、応仁の乱、石山合戦範囲=このページ>桶狭間の戦い<Question>また、出来事の問題候補として抽出された下から1行目にある本能寺の変についてのタグ情報は、次のようになる。<QuestionID=1rule=出来事候補=this>本能寺の変<Question>また、人名の場合のタグの一実施例を次に示す。図21において、問題箇所が明智光秀、問題候補が織田信秀、今川義元、義昭であったとすると、次のようなタグ情報が付加される。<QuestionID=3rule=人名候補=織田信秀、今川義元、義昭範囲=このページ>明智光秀<Question>問題候補今川義元に対しては、次のようなタグ情報が付加される。<QuestionID=3rule=人名候補=this>今川義元<Question>ここで、候補についてのthisは、問題文を表示したときに、非表示にすることを意味する情報である。<出来事判定処理>図9に、図8のステップS59に示した出来事判定処理の一実施例のフローチャートを示す。ステップS81において、選択入力された文字列を読み出す。たとえば、図20の場合は、桶狭間の戦いを読み出す。ステップS82において、予め作成した出来事リストの総数を示す変数Kをセットする。出来事リストの総数とは、図17dに示す出来事リストに含まれる出来事キーワードの合計数を意味する。図17dのように、たとえば、99個のキーワードがある場合は、Kに99をセットする。ステップS83において、出来事リストからK番目の出来事キーワードを読み出す。ステップS84において、選択入力された文字列の中に、読み出した出来事に一致する文字列が含まれているか否かをチェックする。すなわち、選択入力された文字列と出来事リストとの一致のチェックを行う。ステップS85において、選択入力した文字列が、K番目の出来事キーワードに対して一致する場合は、ステップS86へ進み、そうでない場合はステップS87へ進む。たとえば、問題箇所として選択入力された文字列が、図20の桶狭間の戦いであった場合、この文字列が、図17dのキーワードリストの番号301のキーワードと一致するので、選択入力された文字列桶狭間の戦いは出来事であると判断される。ステップS86において、選択入力された文字列が出来事であると判断されたので、判定フラグに1をセットし、処理を終了する。ここで、判定フラグが1の場合、出来事の文字列が選択入力されたことを意味するものとし、図8に示したステップS60での判断に利用するものとする。また、判定フラグが0の場合、選択入力された文字列の種別は出来事ではないことを意味するものとする。ステップS87において、次のキーワードを検索するために、変数Kに、K-1をセットする。ステップS88において、K=0であるかどうかをチェックし、検索すべき出来事がまだあるか否かチェックする。K=0の場合、ステップS89へ進む。K=0でない場合K>0、出来事リストに検索対象がまだあるので、ステップS83へ戻り、ステップS83からS87までの処理を繰り返す。ステップS89において、すべての出来事リストとの一致のチェックをしたが、選択入力した文字列にキーワードが含まれていなかったので、選択入力した文字列は出来事ではないと判断する。この場合、判定フラグに、0をセットして、処理を終了する。<出来事リスト作成処理>図29に、この発明の出来事リスト作成処理の一実施例のフローチャートを示す。ここでは、コンテンツの全索引の中から、出来事に関する文字列のみを抽出して、出来事リストを作成する。ステップS120において、コンテンツの索引部分をすべて全行数読み出す。ここで索引の行数をカウントする。ステップS121において、読み出した索引部分の行数を、変数Mにセットする。ステップS122において、図17aに示すような出来事キーワードリストのキーワードの総数を、変数Nにセットする。ステップS123において、索引部分のM行目の文字列を読み出す。ステップS124において、出来事キーワードリストの中から、N番目のキーワードを読み出す。ステップS125において、読み出したM行目の文字列の中に、N番目のキーワードに一致する文字列が含まれるか否かをチェックする。すなわち、N番目のキーワードと後方一致するか否かをチェックする。ステップS126において、M行目の文字列が、N番目のキーワードと後方一致する場合はステップS127へ進み、そうでない場合はステップS128へ進む。ステップS127において、現在読み出されたM行目の文字列が出来事であると判断し、この文字列を出来事リストに追加記憶する。その後、ステップS130へ進む。一方、ステップS128において、次のキーワードを検索する準備をする。すなわち、NにN-1を代入するN=N-1。ステップS129において、チェックすべきキーワードがまだ存在するか否かをチェックする。すなわちN>0か否かをチェックする。N>0の場合、ステップS124へ戻り、ステップS124からS128までの処理を繰り返す。N=0の場合、ステップS130へ進む。ステップS130において、読み出した索引のうち、次の行の索引を検索する準備をするために、Mに、M-1を代入するM=M-1。ステップS131において、検索していない索引の行がまだ存在しているか否かをチェックする。すなわち、M>0か否かをチェックする。M>0の場合、ステップS122へ戻り、上記したような一連の処理を繰り返す。M=0の場合、処理を終了する。以上の処理により、たとえば、図29に示したような索引から、図17aに示すような出来事キーワードリストに一致可能な文字列のみが抽出されて、図17dに示すような出来事リストが作成される。<出来事候補抽出処理>図10に、図8のステップS61に示した出来事候補抽出処理の一実施例のフローチャートを示す。ステップS91において、候補を抽出する指定範囲のコンテンツを読み出す。たとえば、現在表示されているページのみが指定範囲の場合、そのページ内に含まれる文字列を読み出す。ステップS92において、図17dに示したような出来事のリストを読み出し、変数Kに、そのリストに含まれる出来事の総数をセットする。ステップS93において、出来事リストから、K番目の出来事を読み出す。ステップS94において、指定範囲のコンテンツの中に、読み出したK番目の出来事に一致する文字列が含まれているか否かチェックする。すなわち、指定範囲のコンテンツに対して、出来事に一致可能な文字列があるか否かチェックする。たとえば、図20において、本能寺の変は、図17のdの出来事リストのNo.301に一致するので出来事であると判断する。ステップS95において、K番目の出来事に一致する文字列が存在する場合は、ステップS96へ進み、そうでない場合は、ステップS98へ進む。ステップS96において、読み出したコンテンツの中から、K番目のキーワードに一致した文字列を抽出する。ここでは、上記したように、たとえば図20の場合は、本能寺の変が抽出される。ステップS97において、抽出した文字列を、回答選択候補として記憶部に記憶する。この回答選択候補は、図8のステップS56において、属性情報を付加するときに利用される。また、図8のステップS62において、回答選択候補が1つでも記憶されている場合は、出来事の候補が抽出されたと判断される。ステップS98において、次のキーワードの検索をするための準備として、変数Kに、K-1を設定する。ステップS99において、検索すべきキーワードがまだ存在するか否かチェックする。すなわち、K=0か否かチェックする。K>0の場合は、検索すべき出来事がまだ存在するので、ステップS93へ戻り、ステップS93からS98までの処理を繰り返す。K=0の場合、処理を終了する。<人名判定処理>図11に、図8のステップS63に示した人名判定処理の一実施例のフローチャートを示す。ステップS101において、選択入力された文字列を読み出す。ステップS102において、コンテンツの索引部分にある人名欄を検索し、選択入力された文字列に一致する人名が存在するか否かをチェックする。たとえば、図21において、明智光秀が選択入力されていたとすると、この明智光秀に一致する文字列が索引部分に存在するか否かをチェックする。ステップS103において、索引部分の人名欄に一致する人名があった場合、ステップS104へ進み、なかった場合ステップS105へ進む。ステップS104において、選択入力された文字列の種別が人名であると判断し、人名判定フラグに、1をセットし、処理を終了する。この人名判定フラグは、図8のステップS64の判断に利用する。人名判定フラグが1の場合、選択入力された文字列の種別が人名であったことを意味するものとする。また、人名判定フラグが0の場合、選択入力された文字列の種別が人名でなかったことを意味するものとする。ステップS105において、問題作成ルール保存部に記憶されている人名キーワードリストを検索し、人名キーワードリストの中に、選択入力された文字列に一致する人名があるか否かをチェックする。ステップS106において、人名キーワードに一致する人名がある場合は、ステップS104へ進み、そうでない場合はステップS107へ進む。ステップS107において、選択入力された文字列の種別が人名でないと判断し、人名判定フラグに0をセットし、処理を終了する。<人名キーワード作成処理>ここでは、人名索引や、外部のサーバの人名データベース等を利用して、人名判定をするための人名キーワードリスト人名データベースを作成する処理について説明する。図12に、人名キーワード作成処理の一実施例のフローチャートを示す。ステップS111において、コンテンツの索引部分から、人名欄を読み出す。たとえば図22に示すような索引の中の人名部分を読み出す。ただし、コンテンツの中に人名欄がない場合は、人名データベースを有する外部のサーバへアクセスして、人名データを取得してもよい。ステップS112において、コンテンツの索引部分の人名欄から、人名を抽出する。このとき、抽出する人名に関連する情報として、コンテンツの記載ページ番号、生没年、活躍した時代などの情報が含まれている場合は、その関連情報も取得する。ステップS113において、抽出した人名と、取得した関連情報とを関係付けて人名キーワードリストに記憶し、問題作成ルール保存部23に保存する。これにより、装置の初期設定などのときに、図17bに示すような人名に関するキーワードリスト人名データベースが作成される。<問題回答モードの処理>ここでは、図5のステップS9に示した問題回答モードの処理の詳細内容について説明する。図13に、図5のステップS9に示した問題回答モード処理の一実施例のフローチャートを示す。ステップS201において、問題追加コンテンツ保存部22に保存されている問題コンテンツを、表示部1に一覧表示する。たとえば、4つの問題コンテンツが保存されている場合は、図23に示すように、問題コンテンツのタイトル名を表示する。表示されたタイトル名を含む長方形領域の部分をタッチすれば、そのタイトルの問題コンテンツが選択され、問題の表示と回答入力が行えるようになる。ステップS202において、利用者が学習したい問題コンテンツを選択入力するのを待ち、選択入力した場合はステップS203に進む。ステップS203において、選択されたコンテンツを問題文として表示する。図8から図11のフローチャートで説明したように、問題コンテンツには、XMLのタグ情報が付加されているので、そのタグの内容を解釈しながら表示を行う。主として、利用者が回答をするべき問題箇所と、抽出された問題候補の部分を非表示あるいは伏せ字にして、問題コンテンツを表示することが行われる。また、問題箇所の表示位置の近傍には、回答の選択肢を有するサブウィンドウを表示させる。たとえば、図24に示すような問題コンテンツが表示される。ここでは、下から3行目の非表示の年号部分が問題箇所であり、4つの選択肢が、回答候補として表示されている。また、上から4行目と6行目の年号部分は、問題候補であり、回答が容易とならないようにするために、非表示としている。なお、問題箇所も非表示とし、問題箇所の非表示部分をタッチしたときに、選択肢を有するサブウィンドウを表示させるようにすることが好ましい。後述する図14に、このステップS203の詳細フローを示す。ステップS204において、問題箇所となる非表示部分がタッチ入力されたか否かをチェックする。ステップS205において、問題箇所の部分がタッチ入力された場合は、ステップS206へ進み、そうでない場合はステップS204へ戻る。ステップS206において、回答選択を有するサブウィンドウを表示させる。ここで回答選択肢の内容としては、図8から図11に示したように、抽出された問題候補が利用される。ここで、図24に示すようなサブウィンドウが表示されると、利用者は、これらの回答の選択肢の中から、正解を考え、正解と考える選択肢が表示されている領域をタッチ入力して回答することになる。ステップS207において、回答選択肢のいずれかが選択入力されたか否かをチェックする。ステップS208において、回答選択肢の選択入力があった場合ステップS209へ進み、そうでない場合は、ステップS207へ戻る。ステップS209において、選択入力された回答選択肢が正解であるか誤答であるかの判断処理を行う。ここでは、選択入力された回答選択肢の文字列の内容と、問題箇所のもとの文字列の内容とが一致するか否かチェックされ、一致する場合は正解と判断され、不一致の場合は不正解と判断される。後述する図15に、このステップS209の詳細フローチャートを示す。ステップS210において、上記の回答判断結果が、正解であればステップS211ヘ進み、不正解であればステップS215へ進む。ステップS211において、回答結果保存部24に、回答結果リストの回答した問題番号に対応する回答結果の欄に、正解であることを示す情報たとえば、○を記憶する。ここで、問題番号とは、問題箇所に対して付与された属性情報の中のIDの値に相当する。図18に、回答結果保存部24に記憶される回答結果リストの一実施例の説明図を示す。ここでは、回答結果リストは、問題番号に相当する質問IDと、回答結果と、回答日とからなるものを示している。ただし、これに限るものではなく、他の情報を関連付けて記憶してもよい。ステップS212において、今まで非表示であった問題箇所の部分に、正解を表示させる。たとえば、図24の場合は、図19に示すように問題箇所に1582年を表示させる。ステップS213において、回答終了を意味する入力がされたか否かをチェックする。回答終了を意味する入力がされた場合は、処理を終了する。一方、その入力がない場合は、ステップS214へ進み、コンテンツ内のタグ情報を解釈することにより、次の問題箇所の部分について、選択入力が可能な状態となるように準備する。その後、ステップS203へ戻り、準備された次の問題について問題箇所の表示と、回答入力を繰り返す。ステップS215において、選択入力された回答が不正解の場合は、回答結果保存部24の回答結果リストにおいて、回答した現在の問題番号に対応する回答結果の欄に、不正解を意味する情報たとえば、Xを記憶させる。その後、ステップS216へ進む。ステップS216において、利用者が選択した回答が不正解であったことを表示させる。ステップS217において、利用者に再回答をするか否かの確認をさせるメッセージを表示させる。ここで、再回答の要否をタッチ入力するためのアイコンを画面上に表示させてもよい。ステップS218において、再回答をする旨の入力があったか否かのチェックをする。ステップS219において、再回答をする旨の入力があった場合はステップS203へ戻り、再回答しない旨の入力があった場合はステップS220へ進む。ステップS203へ戻った場合は、再度同じ問題について回答を入力することになる。ステップS220において、正解を表示させる必要があるか否かの確認メッセージを表示させる。ここで、正解表示の要否をタッチ入力するためのアイコンを画面上に表示させてもよい。ステップS221において、正解表示の要否についての入力があったか否かをチェックする。ステップS222において、正解を表示する旨の入力があった場合は、ステップS212へ進み、そうでない場合はステップS213へ進む。ステップS212へ進んだ場合は、正解が表示されるので、利用者は誤答をした問題についての正解を知ることができる。一方、ステップS213へ進んだ場合は、利用者に正解を知らさないまま、次の問題へ進むか、あるいは回答を終了することになる。以上のようにして、問題コンテンツにおけるすべての問題箇所に対して、回答が終了すると、たとえば、図18に示すような回答結果が生成されることになる。なお、問題回答モードの実行中に、任意のタイミングで回答終了を意味するキーの入力や、メインメニューへの戻りキーが入力された場合は、図13に示した各ステップの処理を実行していても、問題回答モードを終了してもよい。<コンテンツ問題表示処理>図14に、図13のステップS203に示したコンテンツ問題表示処理の一実施例のフローチャートを示す。ステップS231において、選択された問題コンテンツの文字列を、順次読み出す。ここでは、表示部の画面上に表示可能な部分の文字列を読み出す。ステップS232において、読み出した文字列の中に、問題タグ、すなわち<Question>や<Question>からなるQuestionタグがあるか否かチェックする。ここで、Questionタグがあれば、ステップS234へ進む。一方、Questionタグがなければ、ステップS233へ進み、チェックした文字列を、そのまま通常表示する。ステップS238において、表示画面に表示させる部分の問題コンテンツの文字列の読み出しが終了したか否かをチェックする。読み出しがまだ終了していない場合はステップS231へ戻り、読み出しが終了した場合は、処理を終了する。ステップS234において、問題タグが見つかったので、その問題タグの中の候補に対応付けられている情報を読み出す。たとえば、図19に示したコンテンツにおいて、1582年の部分が問題箇所として選択されていた場合、その問題タグの中の候補には、1560年と1573年とが記憶されているので、これらの情報を読み出す。ステップS235において、読み出した候補がthisか否かチェックする。thisの場合は、そのタグが付与された文字列は、問題候補として抽出された文字である。たとえば、図19の4行目の1960年が問題候補として抽出されているので、thisが設定されている。thisの場合はステップS236へ進み、そうでない場合はステップS237へ進む。ステップS236において、thisを含む問題タグが付加されている文字列を、非表示にする。あるいはその文字列部分を黒丸などに変更して、いわゆる伏せ字表示をする。たとえば、図24の4行目の年号部分のように、伏せ字表示をする。ステップS237において、読み出した候補にはthis以外の文字列が設定されているので、問題タグが付加されている文字列を、問題箇所として表示する。たとえば、その文字列を表示すべき位置を、非表示あるいは伏せ字表示にする。また、図24に示すようなサブウィンドウを表示するために、回答選択肢リストを作成しておく。問題箇所の正解が1582年であり、その問題箇所の文字列1582年に対して付与されたタグの候補に1560年、1573年、1696年が設定されていたとすると、回答選択肢リストには、1582年、1560年、1573年、1696年の4つの年号が記憶される。ステップS236またはS237の後、ステップS238へ進む。すでに説明したように、問題箇所が年号の場合は、図24のように、問題箇所と問題候補の部分が非表示にされ、問題箇所に対する回答選択肢として4つの年号がサブウィンドウ内に表示される。図25に、問題箇所として、歴史上の出来事が選択入力されていた場合において、問題コンテンツを表示した例を示す。ここでは、5行目に問題箇所があり、これに対する4つの回答選択肢を含むサブウィンドウが表示されている。また、最下行において回答選択肢の1つとなっている問題候補の部分が、伏せ字表示されている。この場合、利用者は、4つの出来事の選択肢の中から、問題箇所の正解と考える出来事を選択することになる。図26に、問題箇所として、人名が選択入力されていた場合において、問題コンテンツを表示した例を示す。ここでは、下から2行目に問題箇所があり、これに対する4つの回答選択肢を含むサブウィンドウが表示されている。また、1行目と4行目と6行目に、回答選択肢となっている問題候補の部分が、伏せ字表示されている。この場合、利用者は4つの人名の選択肢の中から、問題箇所の正解と考える人名を選択することになる。<回答判定処理>図15に、図13のステップS209に示した回答判定処理の一実施例のフローチャートを示す。ここでは、利用者が選択入力した回答選択肢の文字列と、問題箇所に設定されていた文字列とが一致するか否かの判定を行う。ステップS251において、選択入力された回答選択肢の文字列が、問題タグの<Question>と、<Question>に挟まれた文字列に一致するか否かをチェックする。ステップS252において、両文字列が一致する場合は、回答は正解であるので、ステップS253へ進み、一致しない場合は不正解なので、ステップS254へ進む。ステップS253において、判定結果を示すフラグを、正解に設定して、処理を終了する。このフラグは、ステップS210における判断に用いられる。ステップS254において、判定結果を示すフラグを、不正解に設定して、処理を終了する。<成績評価モード処理>図16に、図5のステップS10に示した成績評価モード処理の一実施例のフローチャートを示す。ここでは、主として、問題回答モードで回答した後のコンテンツに対する回答結果の集計と表示とを行う。ステップS301において、問題追加コンテンツ保存部22に保存されている問題コンテンツの一覧表示をする。ステップS302において、利用者が、成績を確認したいコンテンツを選択入力したか否かをチェックし、選択入力があれば、ステップS303へ進む。ステップS303において、選択入力されたコンテンツに対応する回答結果リストを、回答結果保存部24から読み出す。たとえば、図18に示すような回答結果リストを読み出す。ステップS304において、読み出した回答結果リストを表示する。ステップS305において、回答結果リストの回答結果から、問題数、正解数および不正解数を計算して、回答結果を集計する。ステップS306において、計算した問題数、正解数、不正解数を表示する。以上の処理により、たとえば、図27に示すような成績集計結果が表示される。"