(57)【要約】【課題】一覧から正解を一つ選ぶ選択肢問題を扱うコンピュータプログラムにおいて、既存のプログラムで扱われているデータの形式を変えずに、選択肢一覧の作成の自由度が高く、作成の負担が軽く、作成したデータが他のデータでも共有できるようなシステムを提供する。【解決手段】問題文テキストの特定の記号で挟まれた文字列を選択肢問題の正答として配列に保持する。問題文テキストとは別のファイルで、選択肢一覧を共有することのできる用語を記録したファイルと、正答に対する誤答一覧を記録したファイルの２種類のファイル内に、後者のファイルを優先して正答を検索して選択肢一覧を作成する。【選択図】図１
2005062508.tif 000002
【特許請求の範囲】
【請求項１】
問題文章中に空欄を含み、該空欄に対する選択肢一覧を表示して学習者に選択させる機能をコンピュータに実現させるためのプログラムであって、
（１）空欄問題とする文字列を特定記号で挟んだ問題テキストファイルに対して、該特定記号で挟まれた文字列を空欄とする空欄問題文作成機能、
（２）前記問題テキストファイルの特定記号で挟まれた文字列群のそれぞれについて、正答文字列と対応する誤答選択肢文字列郡が記述されている、前記問題テキストファイルと関連付けられた誤答一覧ファイル内の正答文字列を検索して、見つかれば対応する誤答選択肢文字列で選択肢一覧を作成する機能、
（３）前記検索で見つからない場合は、互いに対応する選択肢用語がグループ化されて記述されている、前記問題テキストファイルとも前記誤答一覧ファイルとも異なる共有選択肢一覧ファイル郡の中に文字列を検索して、見つかればその文字列の属するグループ内の選択肢文字列で選択肢一覧を作成する機能、
を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で動作し知識の学習を行うのに利用されるプログラムに関する。
【背景技術】
【０００２】
コンピュータを学習や教育の道具として利用するための学習プログラムや学習システムとして以下の例が公知となっている。
（あ）ごたく
（い）特開平９−３３００１１「電子学習機」
（う）特願平４−２６８０４９「学習支援装置」
（え）リンクを用いた学習システム
（お）特開平１０−３３３５４０
（か）特許３３２１６５０「学習システム」
【０００３】
これらの学習システムの長所と短所について以下に説明する。
【０００４】
（あ）ごたく
「ごたく」とは「五択」つまり五者択一の意味である。インターネット上のベクター社のサイトからダウンロード可能なクイズゲーム用のプログラムである。このプログラムでは、一画面に収まる程度の比較的短い問題文とその問題文に対する解答の選択肢が五個表示される。利用者は正答と考える選択肢を一つ選択する。プログラムは選択された選択肢が正答かどうかを判定し結果を表示する。
【０００５】
このプログラムでは、データファイルはバイナリ形式に暗号化したファイルが用いられるが、テキストファイルに変換すると以下のような内容が用いられる。
【０００６】
源平の争乱
１１８４年に京へ迫る平氏を源義経・範頼が敗った戦いは？
一ノ谷の戦い
倶利伽藍峠の戦い
四条畷の戦い
屋島の戦い
壇ノ浦の戦い
１１８５年讃岐で源義経が平氏を破った戦いは？
屋島の戦い
石橋山の戦い
倶利伽羅峠の戦い
一の谷の戦い
富士川の戦い
【０００７】
上記の例では、１行目の「源平の争乱」はデータファイルのタイトルであり、
２行目以降は、「改行だけの行、問題文の行、正答の選択肢の行、誤答の選択肢が４行」の繰り返しである。
【０００８】
このプログラムを学習用プログラムとして見た場合の設計上の短所には、データファイルが作りにくいことがある。
【０００９】
作りにくさの第一は、一つの知識の有無を問う比較的短い問題文を作成しなければならないことである。書籍付属のＣＤ−ＲＯＭやインターネット上のウェブページから得られる文書が長文である場合には、その文章を個々の知識を問う短文に書き直さなければならない。この作業はデータファイルの作成者に大きな負担である。
【００１０】
作りにくさの第二は、誤答の選択肢を正答の一つ一つに対して必ず４個ずつ作成しなければならないことである。この作業もデータファイルの作成者に大きな負担である。
【００１１】
（い）特開平９−３３００１１「電子学習機」
この技術は電子辞書に問題文表示、選択肢一覧表示の機能を持たせたものである。問題文に１対１に対応する正答は見出し単語の一つであり、誤答は他の見出し単語から、必要に応じて品詞やアドレスを選択基準として、システムによって自動的に選択される。見出し単語の情報として、品詞以外にもその単語がどんな分野の単語か、入試においての出題頻度、難易度などの情報を持てばより適切な誤答選択肢をシステムで自動的に用意できる。データの作成者に誤答を考える負担はない。
【００１２】
これはデータが辞書だからこそできる構成である。一般に辞書とは、見出し単語があって、それぞれの見出し単語には属性として発音、品詞、意味、例文、問題文などの情報が記録される構成を取る。従ってこのシステムを活用して学習システムを構成する場合は、データは前記のような辞書の構成になっていることが必要である。しかし、データがこのような形式に限定されることはデータの作成者にとっては著しく不自由である。
【００１３】
解説書や問題集は分野毎に解説や問題が扱われている。知識の理解や暗記は分野毎に行うのが普通である。これに対して、辞書は用語を検索し参照することを主目的として編集されているので、見出し語は日本語なら５０音順、英語ならアルファベット順に並んでいる。辞書そのものを学習することはあまりない。
もし電子辞書の属性に分野情報や索引情報を持たせれば、知識の理解や暗記がし易いように分野毎にまとまった順序やデータの作成者の意図する順序にソートして出題することができる。
しかし、辞書において、見出し語の一つ一つにそのような情報を新規に追加していくことは用語の専門家にとっても容易な作業ではない。既にそのような情報が作成されている場合でもユーザーがその内容を更新するのは容易な作業ではない。
【００１４】
このように辞書データは新規作成も更新も容易なデータではないため学習ソフトに必要とされる対応性に欠ける。例えば、ある学習者には適切な難易度の問題であっても、他の学習者には不適切な難易度となることがしばしばある。学習システムのデータは容易に新規作成できて、容易に更新できるものが望ましい。辞書データだけを用いる設計では、学習者の学習能力への対応幅が狭く実用的ではない。
【００１５】
（う）特開平６−９５５８３「学習支援装置」
この装置では、問題文データと辞書データの２種類のデータを用いる。辞書データには、穴埋め問題の穴つまり空欄に相当する単語情報が記録される。
【００１６】
例えば以下のようなデータを用いる。
【００１７】
@@問題文
織田信長を継いだ豊臣秀吉は１５９０年小田原の北条氏を滅ぼし全国を統一した。
@@空欄単語辞書
織田信長,人名
豊臣秀吉,人名
武田信玄,人名
上杉謙信,人名
１５９０,年号
１５９４,年号
１６００,年号
小田原,地名
桶狭間,地名
関が原,地名
【００１８】
学習支援装置は問題文章中に空欄単語辞書の文字列を検索する。上記の場合、織田信長、豊臣秀吉、１５９０、小田原の文字列がヒットする。ヒットした文字列の中のランダムに選択された一部が問題文章中において空欄に置き換えられる。具体的には前記のデータから以下のような様々な問題が作成されることになる。
【００１９】
(1)[   ]を継いだ豊臣秀吉は[   ]年小田原の北条氏を滅ぼし全国を統一した。
(2)織田信長を継いだ[   ]は１５９０年小田原の北条氏を滅ぼし全国を統一した。
(3)[   ]を継いだ豊臣秀吉は１５９０年[   ]の北条氏を滅ぼし全国を統一した。
(4)織田信長を継いだ豊臣秀吉は[   ]年[   ]の北条氏を滅ぼし全国を統一した。
【００２０】
この技術を、選択肢一覧を表示して正答を一つ選択させる選択肢問題表示の学習システムにと発展させることができる。
【００２１】
(1)学習支援装置は問題文章中に空欄単語辞書の文字列を検索する
(2)ヒットした空欄単語があれば、問題文中のその空欄単語の部分は空欄表示する
上記の例では、問題文中の「織田信長」「豊臣秀吉」「１５９０」「小田原」の部分が空欄として表示される。
(3)利用者の着目点（フォーカス）が問題文中の例えば「織田信長」の空欄の位置に来た場合は、空欄単語辞書より織田信長の属性は人名であるから、空欄単語辞書に記載された他の人名文字列を用いて選択肢一覧を表示する。
上記の例では、織田信長、豊臣秀吉、武田信玄、上杉謙信の４個の文字列を選択肢一覧として表示する。
(4)豊臣秀吉、１５９０、小田原の位置の空欄についても同様の処理をする。
【００２２】
この学習支援装置では、書籍付属のＣＤ−ＲＯＭやインターネット上のウェブページから得られる文書情報を簡単に選択肢問題表示の学習支援装置の問題文データとできる。すなわちデータの互換性がよい。
【００２３】
しかし、以下の欠点がある。
【００２４】
第一に、データの問題文を参照するだけでは問題文中のどの文字列が選択肢問題とされるのかが不明なことである。この対策としては、辞書データから強調表示用のファイルを作成し、強調表示の可能なテキストエディタを利用すれば辞書データに登録済みの語句を強調表示で表示する方法がある。しかし、強調表示ファイルを自動的に作成する機能をシステム側に持たせるとしても、今度はテキストエディタを起動するごとにどの強調表示ファイルを利用するかを設定しなおす作業がシステムの利用者に負担となる。
【００２５】
第二に、請求項１の「抽出された上記単語の部分を空白に置き換えて穴埋め問題を作成する」処理では、辞書データに登録されている文字列が問題文章中に複数箇所現れる場合に、その一部だけを選択肢問題とすることができない。例えば、辞書データに豊臣秀吉という文字列が登録されていて、問題文章中には豊臣秀吉が１０箇所含まれているとする。この時、２、４、７番目の豊臣秀吉は空欄問題とするがその他の豊臣秀吉はそのまま表示するという制御ができない。歴史の問題文では人名が繰り返し現れることは少ないかもしれない。しかし、他の分野、例えば生物の問題文ではＮａなど頻繁に現れる用語があるので、その一部だけを空欄問題とするように意図的に制御でき、かつ、簡単に制御できるのでないと実用的でない。
【００２６】
（え）リンクを用いた学習システム
「リンク」と呼ばれる公知技術がHTMLファイルで知られている。これを用いたシステムの場合は、例えば以下のような文書ファイルをデータファイルとして用いる。
【００２７】
@@問題文
織田信長を継いだ[001]は[002]年小田原の[003]氏を滅ぼし全国を統一した。1600年の[004]の戦いでは徳川家康率いる東軍が[005]率いる西軍を破った。
@@選択肢
001=豊臣秀吉,明智光秀,徳川家康
002=1590,1582,1592,1600
003=北条,今川,武田,藤原
004=関が原,本能寺,桶狭間
005=石田光成,豊臣秀頼,徳川光秀
【００２８】
この例では、「@@問題」とある行の次の行から「@@選択肢」とある行の直前の行までが問題文文字列であり、「@@選択肢」とある行の次の行からはそれぞれの空欄に対応する選択肢語句が、カンマ区切りの一覧として記述されている。空欄と選択肢一覧との対応は001などの数字でリンク付け（対応付け）されている。選択肢一覧のうちその最初の候補が正答選択肢であり、それ以外は誤答選択肢である。
【００２９】
このシステムの欠点はデータファイルが特殊なデータ形式なことである。元々の文書ファイルの
【００３０】
「織田信長を継いだ豊臣秀吉は1590年小田原の北条氏を滅ぼし全国を統一した。1600年の関が原の戦いでは徳川家康率いる東軍が石田光成率いる西軍を破った。」
【００３１】
を上記の形式の文書ファイルへと編集しなおす作業、つまり、元々の文書から空欄とする語句を取り除き、その位置にリンク情報となる数字を書き込み、問題文の文末にそれぞれの空欄に対応する選択肢一覧をリンク情報の数字と一緒に書き出さねばならない。そして、それぞれの正答選択肢に対応する誤答選択肢を用意しなければならない。これらの作業はデータファイルを作成する利用者にとっては大きな負担である。編集作業を効率化するツールプログラムを作成すれば編集作業の負担は軽減されるが、その場合はその編集ツールプログラムの操作方法を理解し習熟することが利用者の負担となる。
【００３２】
リンクを用いないとするなら問題文の空欄内に直接選択肢一覧を書き込む方法が考えられる。例えば次のような文書ファイルを用いる。
【００３３】
織田信長を継いだ[豊臣秀吉,明智光秀,徳川家康]は[1590,1582,1592,1600]年[小田原,駿府,三河]の[北条,今川,武田,藤原]氏を滅ぼし全国を統一した。1600年の関が原の戦いでは徳川家康率いる東軍が[石田光成,豊臣秀頼,徳川光秀]率いる西軍を破った。
【００３４】
このような形式の文書ファイルを用いた学習システムの場合には、それぞれの空欄の一つ一つに正答に対応する誤答を書き込む作業が利用者にとって負担となる。編集後のテキストファイルを元のテキストファイルに戻す作業も容易ではない。つまり、データファイルの作成負担は大きく、データの互換性もよくない。また、このファイル形式では後で述べる（お）及び（か）のファイル形式とは異なるので、後で述べる（お）及び（か）のファイル形式に対応したシステムが利用できない。
【００３５】
Microsoft社からWindows(登録商標)95が発売された翌年の1996年頃から様々な学習ソフトが作成されてきたが、ほとんどの学習ソフトは2、3年で姿を消している。第一の原因はデータを作成しにくいことにある。学習ソフトで学習を進めているうちに、遅かれ早かれ、既存のデータだけでは不十分と感じられるようになる。その時、簡単にデータが作成できなければその学習ソフトは使われなくなる。
【００３６】
第二の原因はデータの互換性が低いことである。データの互換性は従来のほとんどの学習ソフトではないがしろにされて来た。特殊な形式のデータの場合、他のシステムのデータをその学習システムのデータに活用したり、逆にその学習システムのデータを他のシステムのデータにと転用することが難しい。そうすると、その学習システムが使われなくなると同時にそのソフトのデータも使われなくなる。
【００３７】
これは長期的な視点では非常に大きな無駄である。学習用のデータは蓄積され、繰り返し再利用されるべきであって、そのためには、他のソフトのデータを取り込みやすくかつ他のソフトのデータにと転用しやすいデータであることが必要となる。
【００３８】
例えばデータをバイナリ形式で保存するシステムのデータは最も互換性が低いデータである。テキストファイルとしてデータを保存すると、バイナリファイルよりは互換性が高い。なぜなら、テキストファイルは、テキストエディタだけでなく、ワープロソフト、表計算ソフト、ブラウザ、データベースなどのどのソフトでも読み込み可能である。しかし、テキストファイルでも上記のリンク利用のデータの例のようにコードを埋め込んだり、特殊な形式で保存すると互換性、再利用性は損なわれる。
【００３９】
第三の原因は学習ソフトの機能や利用方法を理解するのが難しいという問題である。例えば、米国Macromedia社のオーサリングソフトDirectorは、文字、静止画像以外にも動画、音声などを扱い多彩な機能を持つ。しかし反面、使い方が難しく、一定期間使い方について学習する必要がある。このことは利用者に負担となる。パソコンは道具であって目的ではない。学習ソフトもやはり道具であり目的ではない。学習ソフトによって提供される知識を習得することが目的であるから、学習ソフトそのものの使い方の学習やデータの作成方法の学習が負担となってはならない。
【００４０】
第四の原因は操作が難しいことである。例えばキーボードから文字を入力する操作は、タッチタイピングができるにしても簡単な操作ではない。従来の学習ソフトでは文字列の入力を利用者に要求するものが多かった。紙に鉛筆で記述するより少量の情報の入力しかできず、入力操作は面倒で神経を消耗するため、紙と筆記用具を使った従来の方法より非効率なことが多かった。従来はコンピュータの利用にあたってはキーボードからの数字や文字の入力は当然と考えられており、それが非効率なことも次に述べる（お）のシステムのプログラムが市販されるまでは認識されていなかった。
【００４１】
（お）特開平１０−３３３５４０
選択肢問題表示ではなく、空欄問題を表示する学習ソフトであるが、
(1)簡単にデータが作成できる
(2)データの互換性が高い
(3)機能や利用方法を理解しやすい
(4)操作が著しく簡単
の全ての条件を満足する発明として、特開平１０−３３３５４０の例がある。
【００４２】
開示されている方法で扱うデータは空欄問題とする語句を特定の記号(例えば[と])で囲んだテキストファイルである。
【００４３】
織田信長を継いだ豊臣秀吉は１５９０年小田原の北条氏を滅ぼし全国を統一した。
【００４４】
をデータにする場合は、例えば、
【００４５】
織田信長を継いだ[豊臣秀吉]は[１５９０]年小田原の[北条]氏を滅ぼし全国を統一した。
【００４６】
のように、空欄問題としたい語句を[ ]で囲むだけで学習システム用のデータが完成する。
【００４７】
これは学習システム用のデータの作成方法としては最も簡単な方法である。またこのテキストファイルを元のテキストファイルに戻すには周知のテキストエディタの置換機能を用いればよい。置換前の文字列に[又は]を指定し、置換後の文字列を空文字列にすれば[及び]を取り除くことができる。テキストファイルは、テキストエディタだけでなく、一太郎のようなワードプロソフト、エクセルのような表計算ソフト、ネットスケープナビゲータのようなブラウザでも利用可能であるから、データの互換性は高い。
【００４８】
問題文の中のどの語句が空欄問題とされるかも一目瞭然であるから利用者にとっても扱いやすい。
【００４９】
また、学習システムのデータを作成しやすいだけでなく、システムを使って学習する場合の操作は「キーボード上の特定のキーを押すだけ」という最も簡単な操作である。このため短時間で大量の知識を確認できる。この学習システムを用いると習熟度の高い学習者の場合、１０００個の空欄問題を４０分程度の時間で全問口答することができる。これは、印刷物の空欄問題集を利用したり、この発明以前の他の学習ソフトを利用したのでは実現できない効率である。
【００５０】
この発明の本質的な価値は、第一に、学習システムを構成するに当たって、最も簡単に作成できるデータ形式と最も簡単な操作方法を組み合わせたことであり、第二に、本来は文字情報の入力に用いるキーボードを単に特定のキーを押すだけという限定的で簡単な操作方法でコンピュータを利用できるようにしている制御方法である。
【００５１】
この発明の学習システムを実現するソフトウェアは実際に「1秒1答」の名前でインターネット上でシェアウェアとして販売されており、利用者数は継続的に増加している。1秒1答用のデータファイルも販売されている。利用者からは学校の定期試験で好成績を獲得したり、資格試験に合格したことが報告されている。
【００５２】
しかしながら開示されている方法は、記号で囲まれた文字列を空欄にした問題文を表示し、学習者がキーボードの改行キーを押す操作に応じて、そこに解答文字列を表示するだけである。この発明の方法のシステムは学習者に効率的な学習方法を提供するが、指導者が学習者の学習者の習熟度を客観的に確認する機能つまりテスト機能はない。
【００５３】
学習の成果を把握するテスト機能は、学習者自身にとっても、学習者を指導する指導者にとっても必須の機能である。テスト機能は強く望まれた。
【００５４】
（か）特許３３２１６５０「学習システム」
このシステムでは特開平１０−３３３５４０の学習システムと同じ形式のデータファイルを用いる。特定の記号で囲まれた語句は空欄として表示し、それぞれの空欄に対応する解答の選択肢一覧を空欄の直下に表示して利用者に選択させる形式のテスト機能を実現する。ある空欄に対応する選択肢一覧は、その空欄の正答とその空欄以外の他の空欄の正答が用いられる。このシステムでは、簡単にデータが作成でき、表示される選択肢一覧の中から正答を一つ選ぶだけであるから操作も比較的簡単で、キーボードから文字入力するような煩わしさはない。特開平１０−３３３５４０の学習システム「１秒１答」はこの発明の機能を加えることで、待望のテスト機能を持った。これは大きな進歩である。
【００５５】
この発明で、
(1)ある意味では簡単にデータが作成できる
(2)データの互換性が高い
(3)機能や利用方法を理解しやすい
(4)操作が比較的簡単
(5)システム側で利用者の習熟度を把握できる
の５条件を満たす学習システムが実現した。
【００５６】
しかし、以下の欠点があった。
【００５７】
例えば、歴史のテキストファイルの場合には、人名、地名、年号、事件名など様々な種類の用語が登場する。このシステムで選択肢問題を表示させるには、人名だけを空欄指定したり、地名だけを空欄指定するなど特定の種類の用語に限って空欄指定する必要がある。なぜなら、特定の空欄に該当する語句が人名、地名、年号、事件名のどれであるかは文脈から理解できる。もし、人名、地名、年号、事件名の全てを空欄の語句に指定すれば、例えば人名が該当する空欄に対応する選択肢一覧に地名など不適切な選択肢が含まれる可能性がある。そのため、文脈から正答が推定できないように、同じ種類の語句だけを特定の記号で囲む必要があった。
【００５８】
歴史のテキストファイルの場合には、
人名だけを空欄としたテキストファイル
地名だけを空欄としたテキストファイル
年号だけを空欄としたテキストファイル
事件名だけを空欄としたテキストファイル
のように、同じテキストファイルから空欄指定する用語の種類数だけ問題テキストファイルを用意しなければならない。
【００５９】
空欄指定するには[ ]で囲むだけでよいという意味では簡単にデータが作成できるが、種類が同じ用語だけを空欄指定しなければならないという点ではデータファイルの作成者には大きな制約であり負担であった。
【発明の開示】
【発明が解決しようとする課題】
【００６０】
（お）の学習システムは（か）のテスト機能を追加することでいっそう教育産業に貢献するシステムとなった。しかし（か）のテスト機能を利用するには「特定の種類の用語に限って空欄指定しなければならない」という制約があった。この制約を撤廃することが第一の課題である。
【００６１】
また、当然のことであるが、前記の制約を取り除くに当たって、（お）及び（か）システムで採用されている問題テキストファイルの形式（問題とする語句を特定の記号で囲んだテキストファイル）を崩さないことも第二の重要な課題である。問題テキストファイルの形式を崩すと（お）及び（か）システムが利用できなくなってしまう。
【００６２】
前記の第一第二の課題を解決する仕組みを発明するにあたって、以下のデータを利用してプログラムの試作を行った。このデータは国立大学センター試験の生物に対応したテキストファイルである。作成したテキストファイルの名称、ファイルサイズ、行数、空欄問題数は以下の通りである。
【００６３】
フォルダ名 = センター試験生物
ファイル数 = 36
テキストファイル名                サイズ   行数    空欄数
-----------------------------------------------------------
1_1_細胞内の構造と機能.txt       3761Byte   104行    60空欄
1_2_細胞と浸透圧.txt              749Byte    23行     7空欄
2_1_植物の組織.txt               2260Byte    74行    27空欄
2_2_動物の組織.txt                597Byte    22行    11空欄
3_1_減数分裂.txt                 1151Byte    45行    16空欄
3_2_コケとシダ.txt               1337Byte    45行    23空欄
3_3_被子植物の生殖.txt           1081Byte    36行    19空欄
3_4_いろいろな生殖.txt           1136Byte    39行    12空欄
4_1_動物の発生.txt               3484Byte    95行    57空欄
4_2_動物の発生と分化.txt         1717Byte    58行    29空欄
5_1_遺伝子の本体.txt             1780Byte    50行     9空欄
5_2_遺伝の法則.txt               4365Byte   151行    45空欄
5_3_連鎖と組みかえ.txt           3664Byte   116行    36空欄
5_4_組みかえ率.txt               1397Byte    50行    15空欄
5_5_遺伝子の働きあい.txt         2995Byte   108行    31空欄
5_5_性染色体.txt                 1950Byte    56行    25空欄
5_6_変異.txt                     1543Byte    47行    13空欄
6_1_物質交代と生体物質.txt       3144Byte    99行    43空欄
6_2_酵素.txt                     2446Byte    67行    33空欄
6_3_呼吸.txt                     2967Byte    80行    42空欄
6_4_光合成・化学合成細菌.txt      908Byte    30行    17空欄
7_1_血液.txt                     4484Byte   135行    48空欄
7_2_排出.txt                     2469Byte    55行    26空欄
7_3_ホルモン.txt                 7576Byte   232行   158空欄
7_4_浸透圧の調節.txt             2452Byte    70行    28空欄
7_5_甲殻類と昆虫のホルモン.txt   1670Byte    51行    29空欄
7_6_植物の調節.txt               2657Byte    83行    26空欄
7_7_環境要因と生物.txt           1090Byte    34行     5空欄
7_8_神経.txt                     1977Byte    65行    32空欄
8_1_生態系.txt                   2980Byte    94行    40空欄
8_2_植物の生活形.txt              826Byte    26行     3空欄
8_3_個体群の様子.txt             1329Byte    45行     6空欄
8_4_動物の行動.txt               1561Byte    45行    20空欄
8_5_種内関係と種間関係.txt       1518Byte    42行    16空欄
8_6_昆虫の情報伝達.txt           1205Byte    39行    11空欄
8_7_環境汚染.txt                 1149Byte    34行     6空欄
-----------------------------------------------------------
合計                            79375Byte  2445行  1024空欄
【００６４】
ごたくのプログラムでは、正答の一つ一つに対して４個ずつ誤答を用意しなければならない。上記のように1024個の正答がある場合は、その４倍の4096個の誤答を用意しなければならない。
【００６５】
このように正答の一つ一つに対して誤答を複数個用意する作業はデータの作成者にとって大変な負担であるから、この負担を最小限に軽減することを第三の課題とする。
【００６６】
ごたくは学習用ソフトとしてよりはむしろクイズゲームソフトとして知られている。116バイト以下の比較的短い問題文と対応する28バイト以下の1個の正答と4個の誤答で一画面を構成する。問題は乱数を用いてランダムに出題される。そのため、断片的な知識の寄せ集めのようなデータであることが多く、それぞれの問題の正答には他の問題の正答と共通性や関連性がないことが多い。
【００６７】
それに対して、上記のような大学受験の１科目の全知識をデータとするように、
(1)特定の分野に限って多量の問題テキストを作成し、
(2)1000個以上のように多数の空欄問題を設定する
場合は、ある問題の正答が、他の問題の正答と一致したり、他の問題の正答と同じ種類の用語であることが多いことが分かった。
【００６８】
例えば、前記のセンター試験生物のテキストファイル群の中の空欄問題の正答には、金属としては、
Na、K、Ca、Mg、Fe、Cu
のどれかが正解であるものが全部で12個あった。これらはどれも生物体内の生化学反応に関係する金属である。
【００６９】
センター試験生物の場合は、正答が他の空欄問題の正答と一致するか同じ種類の用語となる空欄問題が、全ての空欄問題の半数を超えることが分かった。すなわち、一組の選択肢一覧を複数の問題の選択肢一覧として共有可能な場合が多い。
【００７０】
ただし、前記第三の課題を解決する方法だけに選択肢一覧を用意する方法を限定すると不都合な場合があることも分かった。具体的には以下のような場合である。
【００７１】
問題テキストとして以下のような２つのテキストファイルがあるとする。以下、ファイルを文章で示す場合は、１行目がファイル名で、２行目以降がファイルの中身とする。
【００７２】
植物の調節.txt
[インドール酢酸]は芽の成長点付近で合成されて細胞を伸長成長させる。
イネのバカ苗病菌から分離された[ジベレリン]は細胞の伸長促進。種子の発芽開始。
[アブシジン酸]は発芽を抑制。気孔を短時間で閉じる。
[エチレン]は果実を熟させる。
【００７３】
環境汚染.txt
エアコンや冷蔵庫に冷媒として使われている[フロン]ガスは大気中に放たれると
上空のオゾン層を破壊する。
化石燃料の大量消費によって放出される[二酸化炭素]は温室効果の原因となる。
【００７４】
前記問題テキストファイル「植物の調節.txt」には4個の正答がある。この4個の正答に対して、以下のような共有選択肢用語ファイルを一つだけ作成する。
【００７５】
共有選択肢用語.CSV
植物ホルモン,アブシジン酸
植物ホルモン,インドール酢酸
植物ホルモン,ジベレリン
植物ホルモン,カイネチン
植物ホルモン,エチレン
【００７６】
このファイルはカンマ区切りのCSVファイルで、１列目はグループ名称を、２列目は共有選択肢用語を記載している。
【００７７】
プログラムは、植物の調節.txtの１番目の正答「インドール酢酸」に対しても、２番目の正答「ジベレリン」に対しても、３番目の正答「アブシジン酸」に対しても、４番目の正答「エチレン」に対しても、
「アブシジン酸・インドール酢酸・ジベレリン・カイネチン・エチレン」
を選択肢一覧とする仕組みが望ましい。
【００７８】
なぜなら、この一覧は選択肢一覧として適切であり、データの作成者は共有選択肢用語.CSVに「植物ホルモン」のグループ名で前記のような植物ホルモンの名称を一覧として記載しておくだけよいので、一つ一つの正答に対して誤答を４個ずつ記載する手間を必要としない。
【００７９】
一方で、環境汚染.txtの正答の「フロン」に対しては、誤答選択肢としては、メタン・エタン・エチレン・アセチレンのような気体名称が適切であり、これらの誤答の気体名称は正答が「フロン」の場合だけに適切であって、互いに選択肢一覧を共有するような関係ではない。「二酸化炭素」についても同様である。
つまり、環境汚染.txtの「フロン」や「二酸化炭素」に対しては、個別に選択肢用語ファイルを用意するのが適切である。
【００８０】
ファイル名が同一で拡張子が「.trm」のファイル「環境汚染.trm」を用意し、次のように記載する。
【００８１】
環境汚染.trm
フロン,メタン,エチレン,アセチレン
二酸化炭素,メタン,二酸化硫黄,窒素酸化物
【００８２】
このファイルはカンマ区切りのCSVファイルで、各行の最初の語句が正答、２番目以降の語句がそれぞれの行の正答に対応する誤答選択肢である。
【００８３】
このように、複数の用語で選択肢一覧を共有する仕組みも、特定のファイルの特定の正答用語に対しては個別に用意した誤答選択肢一覧を利用する仕組みも両方とも必要である。
そこで、問題テキストファイルに付属し、問題テキストファイルの正答とそれに対する誤答を記述した「誤答一覧ファイル」と、前記第三の課題を解決する「共有選択肢一覧ファイル」の両方が利用できることを第四の課題とする。
【００８４】
更に、正答用語が、「誤答一覧ファイル」にも「共有選択肢一覧ファイル」にも記載されている場合には、選択肢一覧の作成にあたっては、意図的に誤答を設定できる「誤答一覧ファイル」に記載された誤答選択肢が優先されることが必要なことが分かった。これを第５の課題とする。
【課題を解決するための手段】
【００８５】
上記課題を解決するために、請求項１に記載された発明は、 問題文章中に空欄を含み、該空欄に対する選択肢一覧を表示して学習者に選択させる機能をコンピュータに実現させるためのプログラムであって、
（１）空欄問題とする文字列を特定記号で挟んだ問題テキストファイルに対して、該特定記号で挟まれた文字列を空欄とする空欄問題文作成手機能、
（２）前記問題テキストファイルの特定記号で挟まれた文字列群のそれぞれについて、正答文字列と対応する誤答選択肢文字列郡が記述されている、前記問題テキストファイルと関連付けられた誤答一覧ファイル内の正答文字列を検索して、見つかれば対応する誤答選択肢文字列で選択肢一覧を作成する機能、
（３）前記検索で見つからない場合は、互いに対応する選択肢用語がグループ化されて記述されている、前記問題テキストファイルとも前記誤答一覧ファイルとも異なる共有選択肢一覧ファイル郡の中に文字列を検索して、見つかればその文字列の属するグループ内の選択肢文字列で選択肢一覧を作成する機能、
を実現するためのプログラムとする。
【発明の効果】
【００８６】
問題テキストファイルとは別のファイル内から空欄に指定されている語句を探して選択肢一覧を作成するので、「特定の種類の用語に限って空欄指定しなければならない」という制約はない。
【００８７】
また、選択肢一覧ファイルは問題テキストファイルとは別のファイルであるから（お）及び（か）のシステムで採用されている問題テキストファイルの形式はそのままである。
【００８８】
更に、（３）の機能によって、複数の空欄で選択肢一覧を共有する機能があるので、空欄指定した用語に同一の用語がある場合と同じ種類の用語がある場合には、データの作成者は空欄の全てに対して対応する誤答選択肢を用意する必要がない。
【００８９】
更に、（２）の機能によって、特定の正答に対して個別に誤答選択肢用語を問題ファイルと関連付けられたファイルに登録でき、このファイルは（３）のファイルより優先して用語の検索が行われるので意図的に誤答選択肢一覧を設定することもできる。
【発明を実施するための最良の形態】
【００９０】
次に、前記構成の選択肢一覧を表示する学習プログラムの動作について説明する。図１は前記学習プログラムが起動され、問題テキストファイルが学習者によって一つ選択されてから初期表示までの動作概要のフローチャートである。
【００９１】
以下に具体例を示して詳細に説明する。
学習者によって選択された問題テキストファイルは以下を例とする。
【００９２】
植物の調節.txt
[インドール酢酸]は芽の成長点付近で合成されて細胞を伸長成長させる。
植物は[葉]で明暗を[フィトクローム]と呼ぶ色素タンパク質で感知している。
[アブシジン酸]は発芽を抑制。気孔を短時間で[閉じる]。
イネのバカ苗病菌から分離された[ジベレリン]は細胞の伸長促進。種子の発芽開始。
[エチレン]は果実を熟させる。
発芽時に種子に光が当たることが必要な種子を[光発芽種子]と呼ぶ。
【００９３】
問題テキストファイルと関連付けられた誤答一覧ファイルは以下を例とする。各行には半角カンマ区切りで複数の用語が記述され、先頭の用語が正答、2番目以降の用語が対応する誤答のテキストファイルである。このファイルは問題テキストファイルが置かれているフォルダか、そのサブフォルダに置く。
【００９４】
植物の調節.trm
葉,芽,茎
フィトクローム,クロロフィル,カロテン,キサントフィル
【００９５】
共有選択肢一覧ファイルは、以下の２個のファイルを例とする。
【００９６】
専門選択肢用語.CSV
植物ホルモン,アブシジン酸
植物ホルモン,インドール酢酸
植物ホルモン,ジベレリン
植物ホルモン,カイネチン
植物ホルモン,エチレン
動物消化酵素,アミラーゼ
動物消化酵素,マルターゼ
動物消化酵素,ペプシン
動物消化酵素,トリプシン
【００９７】
一般選択肢用語.CSV
○,×
正,誤
大,小
開く,閉じる
東,西,南,北
【００９８】
専門選択肢用語.CSVでは、1行に、「グループ名称、半角カンマ、用語」を記載する。同じグループ名称の用語は互いに他の用語の誤答選択肢にする。このファイルは問題テキストファイルが置かれているフォルダか、そのサブフォルダに置く。
【００９９】
一般選択肢用語.CSVでは、グループ名称は記載しないで、1行に半角カンマ区切りで互いに他の用語の誤答となる選択肢用語を記載する。このファイルは本発明のプログラムと同じフォルダに置く。
【０１００】
空欄を指定する特定の文字は[及び]とする。
ステップS1によって前記の問題テキストファイルが配列Txt()に読みこまれると以下のようになる。
【０１０１】
Txt(1) = "[インドール酢酸]は芽の成長点付近で合成されて細胞を伸長成長させる。"
Txt(2) = "植物は[葉]で明暗を[フィトクローム]と呼ぶ色素タンパク質で感知している。"
Txt(3) = "[アブシジン酸]は発芽を抑制。気孔を短時間で[閉じる]。"
Txt(4) = "イネのバカ苗病菌から分離された[ジベレリン]は細胞の伸長促進。種子の発芽開始。"
Txt(5) = "[エチレン]は果実を熟させる。"
Txt(6) = "発芽時に種子に光が当たることが必要な種子を[光発芽種子]と呼ぶ。"
【０１０２】
次にステップS2によって、Txt()から[ ]の内部の文字列を抜き出した解答配列Ans()を作成する。この処理は例えば以下のようにする。文字列の1文字目から[の文字を検索する。見つかったらその文字の位置の次の位置から今度は]を検索する。そうして]が見つかったら、[の次の文字から]の直前の文字までをAns()に格納する。このようにして以下のようなAns()が作成される。
【０１０３】
Ans(1) = "インドール酢酸"
Ans(2) = "葉"
Ans(3) = "フィトクローム"
Ans(4) = "アブシジン酸"
Ans(5) = "閉じる"
Ans(6) = "ジベレリン"
Ans(7) = "エチレン"
Ans(8) = "光発芽種子"
【０１０４】
次にステップS3によって、問題テキストファイルと関連付けられた誤答一覧ファイルを読み込む。関連付けはこの例では、ファイル名は同じにして拡張子だけを.trmに変更することによって行っている。こうすることで、「植物の調節.trm」の名前のファイルは、「植物の調節.txt」の名前の問題テキストファイルに対応した、正答に対する誤答選択肢を記述したファイルであるとプログラムは判断する。
【０１０５】
読込先の配列のTextsChoice()は例えば以下のような構造体を要素に持つ方法がある。
【０１０６】
Public Type ChoiceType
Choice As String  '選択肢の文字列
LineN  As Integer '行番号
End Type
【０１０７】
読み込んだ結果は以下のようになる。
TextsChoice(1).Choice = "葉"
TextsChoice(1).LineN  = 1
TextsChoice(2).Choice = "芽"
TextsChoice(2).LineN  = 1
TextsChoice(3).Choice = "茎"
TextsChoice(3).LineN  = 1
TextsChoice(4).Choice = "フィトクローム"
TextsChoice(4).LineN  = 2
TextsChoice(5).Choice = "クロロフィル"
TextsChoice(5).LineN  = 2
TextsChoice(6).Choice = "カロテン"
TextsChoice(6).LineN  = 2
TextsChoice(7).Choice = "キサントフィル"
TextsChoice(7).LineN  = 2
【０１０８】
この配列では、同じ行番号で添え字最小のChoiceの値が正答で、同じ行番号で添え字最小以外のChoiceの値が誤答選択肢である。
【０１０９】
次にステップS4によって、共有選択肢用語ファイルの「専門選択肢用語.CSV」と「一般選択肢用語.CSV」とを読み込む。それぞれの読込先配列名は、TechChoice()、GeneralChoice()とし、構造体は、例えば、
Public Type Choice2Type
Choice As String '選択肢の文字列
Group  As String 'グループ名称
End Type
とする。
【０１１０】
読み込んだ結果は以下のようになる。
TechChoice(1).Choice = "アブシジン酸"
TechChoice(1).Group  = "植物ホルモン"
TechChoice(2).Choice = "インドール酢酸"
TechChoice(2).Group  = "植物ホルモン"
TechChoice(3).Choice = "ジベレリン"
TechChoice(3).Group  = "植物ホルモン"
TechChoice(4).Choice = "カイネチン"
TechChoice(4).Group  = "植物ホルモン"
TechChoice(5).Choice = "エチレン"
TechChoice(5).Group  = "植物ホルモン"
TechChoice(6).Choice = "アミラーゼ"
TechChoice(6).Group  = "動物消化酵素"
TechChoice(7).Choice = "マルターゼ"
TechChoice(7).Group  = "動物消化酵素"
TechChoice(8).Choice = "ペプシン"
TechChoice(8).Group  = "動物消化酵素"
TechChoice(9).Choice = "トリプシン"
TechChoice(9).Group  = "動物消化酵素"
GeneralChoice( 1).Choice = "○"
GeneralChoice( 1).Group  = "1"
GeneralChoice( 2).Choice = "×"
GeneralChoice( 2).Group  = "1"
GeneralChoice( 3).Choice = "正"
GeneralChoice( 3).Group  = "2"
GeneralChoice( 4).Choice = "誤"
GeneralChoice( 4).Group  = "2"
GeneralChoice( 5).Choice = "大"
GeneralChoice( 5).Group  = "3"
GeneralChoice( 6).Choice = "小"
GeneralChoice( 6).Group  = "3"
GeneralChoice( 7).Choice = "開く"
GeneralChoice( 7).Group  = "4"
GeneralChoice( 8).Choice = "閉じる"
GeneralChoice( 8).Group  = "4"
GeneralChoice( 9).Choice = "東"
GeneralChoice( 9).Group  = "5"
GeneralChoice(10).Choice = "西"
GeneralChoice(10).Group  = "5"
GeneralChoice(11).Choice = "南"
GeneralChoice(11).Group  = "5"
GeneralChoice(12).Choice = "北"
GeneralChoice(12).Group  = "5"
【０１１１】
「一般選択肢用語.CSV」ではグループ名称がないので、GeneralChoice().Groupには行番号を割り当てている。
【０１１２】
次にステップS5に始まり、ステップS6からS12、S13とループする処理によって、Ans()のそれぞれの要素に対応する選択肢一覧を作成する。
Ans(1) = "インドール酢酸" に対しては、TextsChoice().Choiceの正答の中には見つからないので、S9に処理が流れる。
TechChoice().Choice の中には見つかるので、Ans(1)に対応する選択肢一覧は、TechChoice().Groupが同じ「植物ホルモン」である「アブシジン酢酸」「ジベレリン」「カイネチン」「エチレン」を誤答選択肢とする。
【０１１３】
ステップS11において、これらの正答と誤答を、乱数を発生させることによってランダムな順でChoice()に格納し、同時に、Choice()の中の何番目から何番目までがAns(1)に対応する選択肢であるかと、先頭から何番目が正答であるかを格納する配列ListInfo()を作成する。
ListInfo()の構造体としては、例えば、
Public Type ListInfoType
FromIdx  As Integer 'i番目の空欄に対する選択肢一覧の開始添え字
ToIdx    As Integer 'i番目の空欄に対する選択肢一覧の終了添え字
RightIdx As Byte    '前から何番目が正答か
End Type
とする。
【０１１４】
Choice()の例としては、
Choice(1) = "ジベレリン"
Choice(2) = "インドール酢酸"
Choice(3) = "エチレン"
Choice(4) = "アブシジン酸"
Choice(5) = "カイネチン"
この場合のListInfo(1)は、
ListInfo(1).FromIdx  = 1
ListInfo(1).ToIdx    = 5
ListInfo(1).RightIdx = 2
である。
つまり、1番目の空欄に対する選択肢はChoice()の添え字番号1番から5番までに格納されていて、その中の前から2番目が正答であることを示している。
【０１１５】
Ans(2) = "葉" に対しては、TextsChoice().Choiceの中の同じ行番号でTextsChoiceの添え字が最小の用語に見つかるので、S8に処理が流れる。
Choice()とListInfo(2)の例としては、
Choice(6) = "芽"
Choice(7) = "茎"
Choice(8) = "葉"
ListInfo(2).FromIdx  = 6
ListInfo(2).ToIdx    = 8
ListInfo(2).RightIdx = 3
となる。
【０１１６】
ステップS6からS12、S13の処理を繰り返すことによって、配列Choice()とListInfo()とが作成される。
Ans(8) = "光発芽種子"  に対しては対応する誤答選択肢がないので、Choice()には値は追加されず、ListInfo()は、
ListInfo(8).FromIdx  = 0
ListInfo(8).ToIdx    = 0
ListInfo(8).RightIdx = 0
のように値を格納する。
【０１１７】
次にステップS14によって、Txt()から[ ]の内部を対応する選択肢一覧の中の最大バイト数分の半角スペースで置き換えた配列Que()を作成する。例えば、Ans(7) = "エチレン"に対しては、対応する選択肢一覧は、
ジベレリン,インドール酢酸,エチレン,アブシジン酸,カイネチン
であって、最大バイト数はインドール酢酸の14バイトであるから、
Txt(5) = "[エチレン]は果実を熟させる。"
のエチレンの部分は、半角スペース14個で置き換えて、
Que(5) = "[             ]は果実を熟させる。"
とする。
【０１１８】
このようにする理由は、この位置にはインドール酢酸も選択肢として表示するので、空欄の長方形の横幅が正答のヒントとならないようにするためであり、利用者がインドール酢酸を正答として選んだ場合でもインドール酢酸が表示できるスペースを空欄に確保するためである。
【０１１９】
以下のような配列Que()が作成される。
Que(1) = "[              ]は芽の成長点付近で合成されて細胞を伸長成長させる。"
Que(2) = "植物は[  ]で明暗を[              ]と呼ぶ色素タンパク質で感知している。"
Que(3) = "[              ]は発芽を抑制。気孔を短時間で[      ]。"
Que(4) = "イネのバカ苗病菌から分離された[              ]は細胞の伸長促進。種子の発芽開始。"
Que(5) = "[              ]は果実を熟させる。"
Que(6) = "発芽時に種子に光が当たることが必要な種子を[          ]と呼ぶ。"
【０１２０】
次にステップS15によって、Que()からそれぞれの[ ]の、行番号を配列PosY()に、[のバイト位置を配列PosX1()に、]のバイト位置を配列PosX2()に格納する。この結果、例えば1番目の空欄に関しては、1行目にあり、[は前から1バイト目、]は前から16バイト目の位置にあるので、PosY(1)=1、PosX1(1)=1、PosX2(1)=16となる。
【０１２１】
次にステップS16によって、[及び]を半角スペースで置き換えてQue()を画面に表示する。
図２はステップS16によって表示される画面の例である。
【０１２２】
次に、ステップS17によって複数の選択肢がある空欄については空欄の位置情報のPosY()、PosX1()、PosX2()を用いて空欄のあるべき位置に長方形を表示する。選択肢がない空欄については正答をそのまま表示する。
図３はステップS17の後に表示される画面の例であり、これが初期表示画面である。
【０１２３】
なおここでは、ファイルのデータ構造とプログラム内の処理についてかなり詳しく記述したが、データ構造にもプログラム内の処理にも様々な仕様が考えられる。
一覧ファイルのデータ構造では、
グループ名称を記載する方法やグループ名称を記載しない方法
選択肢の区切りや選択肢グループの区切りに何を用いるか(カンマ、タブ、改行など)
テキスト形式かバイナリ形式か
などで様々な構造が考えられる。
【０１２４】
プログラム内の処理でも、変数や配列や構造体の用い方で様々なやり方が考えられる。
【０１２５】
しかし、それらのデータ構造や処理に差があり多少の長所短所があるにせよ、顕著な効果の差がなければそれらの差は単なる決め事の差に過ぎず、請求項１に記載された処理を行うなら設計上は同一の処理である。また、それらの処理を設計者がコーディング担当者に本明細書にあるような水準まで掘り下げて具体的に説明する必要もない。設計とコーディングとは別物であり、設計の難しさとコーディングの難しさは質が異なる。本発明は設計の発明である。
【０１２６】
初期表示後の処理としては、利用者がマウスポインタを空欄上に移動させるとその空欄に対応する選択肢一覧をその空欄の直下に表示して、利用者に正答と考えられる選択肢をマウスクリックによって選択させる。（図４）
プログラムは選択された文字列を空欄内に表示する。（図５）
利用者が採点の指示をマウスやキーボードで送るとプログラムは採点処理を行う、などの処理が考えられる。
ただし、初期表示後の処理にもさまざまな仕様が考えられるが、それは本発明の本質ではない。
【０１２７】
本発明の本質は、空欄問題とする語句群が特定の記号で挟まれた問題テキストファイルとは別の、
（ａ）正答に対する誤答を記載した従来型の「誤答一覧ファイル」
（ｂ）互いに選択肢一覧を共有できる用語をグループ化して記述した「共有選択肢一覧ファイル」
の２種類のファイルを、（ａ）を（ｂ）に優先して用語の検索をしてそれぞれの空欄に対応する選択肢一覧を作成するように設計したことである。
これによって「発明が解決しようとする課題」に記載した課題が全て解決される。
【産業上の利用可能性】
【０１２８】
以上のように、本発明に係わる１つのコンピュータ利用学習プログラムによれば、問題テキストファイルに関してはテキストファイル中に空欄を指定する特定の記号を追加するだけであるため、コンピュータ利用の初心者であっても容易にコンピュータを学習の道具として利用できる。
【０１２９】
作成されたデータファイルは単純なテキストファイルに近いのでデータの互換性が高い。長期的な視野では学習用のデータが蓄積され繰り返し再利用されやすい。
【０１３０】
選択肢一覧を表示するので、学習者は選択肢の中の１つを選択するという比較的簡単な操作だけで、プログラムは正答と学習者の選択した選択肢とを比較することができ、これによって、学習者の知識習得がどの程度であるか(何％正解できたか)や習得できていない知識は何かなどの情報を処理できる。
【０１３１】
データ作成者が選択肢一覧の誤答を作成するにあたっては、同じ用語が正答である空欄問題が多く含まれるか、同じ種類の用語が正答である空欄が多くある場合は、大幅に省力化される。
【０１３２】
前記のセンター試験生物の36個のテキストファイル内には1024問の空欄問題があるが、このうち700問が「共有選択肢一覧ファイル」の用語で選択肢一覧を構成した。
【０１３３】
共有選択肢一覧ファイルのグループ数と用語数は以下の通りである。
専門選択肢用語.CSV  110グループ       342個の専門用語
一般選択肢用語.CSV   52グループ(52行) 131個の用語
すなわち一般選択肢用語を含めても合計で473個の用語を記載しているに過ぎない。
【０１３４】
ごたく形式なら正答700個に対しては2800個の誤答で、合計3500個の選択肢を用意しなければならないことと比較すると5分の1未満のデータ数であり、利用者に選択肢データの作成負担を大幅に軽減していることが分かる。これは明らかに顕著な技術的効果である。
【０１３５】
生物学に限らず、理科や社会の他の分野でも、同一の語句が正答となったり、同じ種類の専門用語が複数ある場合が多いので選択肢データの作成負担は軽減される。英語では、名詞や動詞や前置詞でグループ化し、名詞・動詞では更に細かくグループ化することで共有選択肢一覧ファイルを活用することが可能な問題が考えられる。
【０１３６】
前記共有選択肢一覧ファイルで対応できない選択肢問題に対しては、個々のファイルに関連付けられた「誤答一覧ファイル」で対応できるので、柔軟な選択肢一覧の設定が可能である。
【０１３７】
（う）特開平６−９５５８３「学習支援装置」を選択肢表示の学習システムへと発展させた場合との比較について以下に述べる。このシステムの欠点は、第一に、データの問題文を参照するだけでは問題文中のどの文字列が選択肢問題とされるのかが不明なことであり、第二に、辞書データに登録されている文字列が問題文章中に複数箇所現れる場合に、その一部だけを選択肢問題とすることができないことであった。
本発明の場合は、問題文中のどの文字列が選択肢問題とされるのかが明らかであり、どの文字列を選択肢問題とするかの制御も簡単である。これは決定的な違いであり、本発明のこの効果は実用上必要不可欠である。
【０１３８】
次に、特開平６−９５５８３「学習支援装置」の請求項では辞書データをどこから読み取るかについての記載はなく、実施例では辞書データはＲＯＭ（読み取り専用メモリ）から読み取る例が記載されている。辞書データをＲＯＭに記録する場合は、辞書データの追加ができない、データの読み取りには専用の装置が必要という欠点があり、既存の問題文だけでなく新しく作成される問題文にその辞書データを共有して利用することが事実上不可能である。
本発明では辞書データ（選択肢一覧ファイル）は問題文とは別の普通のファイルであるから、辞書データを追加したり共有することが可能でこれは重要な効果の差である。
【０１３９】
更に、本発明の場合は「共有選択肢一覧ファイル」「誤答一覧ファイル」の2種類のファイルによってデータ作成者が選択肢一覧を意図的に設定しやすい設計になっている。
【０１４０】
更に、本発明の場合は、問題文データ形式が共通な（お）及び（か）のシステムも利用できるので本発明の場合の方が圧倒的にデータを有効利用できる。
【０１４１】
更に次のような利点がある。
説明のため、センター試験生物対応の「共有選択肢一覧ファイル」である「一般選択肢用語.CSV」と「専門選択肢用語.CSV」のデータの一部を以下に示す。
一般選択肢用語.CSV
○,×
正,誤
大,小
長,短
有,無
ある,ない
いる,いない
する,しない
される,されない
できる,できない
長い,短い
東,西,南,北
赤,青,黄,緑,紫,茶
True,False,Null
気体,液体,固体
専門選択肢用語.CSV
栄養種類,タンパク質
栄養種類,脂質
栄養種類,炭水化物
栄養種類,でんぷん
元素記号_金属,Ca
元素記号_金属,K
元素記号_金属,Mg
元素記号_金属,Na
元素記号_金属,Cu
元素記号_金属,Fe
元素記号_非金属,P
元素記号_非金属,S
元素記号_非金属,N
【０１４２】
「一般選択肢用語.CSV」は汎用的な選択肢用語（主として２択用語）を記録している。
あらゆる分野の問題テキストファイルに共有して活用でき、正誤問題を作成する場合は、このファイルさえあれば選択肢一覧ファイルを作成する必要もない長所がある。
【０１４３】
「専門選択肢用語.CSV」はセンター試験レベルの生物の専門用語を記録している。
センター試験生物の分野の問題テキストファイルに共有して活用できる。
【０１４４】
この共有してファイルを利用する仕組みは、情報を売買する新しい取引を生み出せる。
例えば、Ａ出版社がセンター試験生物に対応した
・問題テキスト（複数）
・共有選択肢一覧ファイル（一つ）
・誤答一覧ファイル（複数）
を作成したとする。
【０１４５】
そして別のＢ出版社がセンター試験生物に対応した問題テキストを作成する場合、共有選択肢一覧ファイルはＡ出版社の作成したファイルをそのまま利用できる。従って、Ａ出版社はこのファイルを有料で他社にライセンス供与することが可能である。
【０１４６】
以上のような効果や利点があるため、教育・学習用のデータが効率よく作成でき、有効に再利用されやすい。このことからコンテンツ(データファイル)の提供だけでも商業的に成り立つ可能性が高い。従来はプログラムとデータとは一緒に提供されていたが、今後はデータだけが独立して販売される可能性がある。そうして教育産業や情報産業の活性化に貢献すると考えられる。
【図面の簡単な説明】
【０１４７】
【図１】本発明の学習プログラムが起動し、利用者が問題テキストファイルを一つ選択してから、初期表示画面が表示されるまでのプログラムの動作の概要のフローチャート
【図２】問題文の文字だけを表示した画面
【図３】問題文の文字と長方形の空欄を表示した画面
【図４】利用者が１番目の空欄にマウスポインタを置いて選択肢一覧を表示した画面
【図５】利用者が選択肢一覧から一つ解答を選択した後の画面
【図１】
2005062508.tif 000003
【図２】
2005062508.tif 000004
【図３】
2005062508.tif 000005
【図４】
2005062508.tif 000006
【図５】
2005062508.tif 000007