以下、図面を参照して本発明を説明する。図1は、本発明に係るテスト問題配信システムの第1の実施形態を示すブロック図である。本実施形態のテスト問題配信システム10は、文判定部11、テスト問題生成部12、および表示部13を備える。
文判定部11は、インターネット上のホームページ14にアクセスし、そのウエブページから文を抽出する機能を有し、予め指定されたURLをインターネットにHTMLでリクエストすることにより、その回答をHTML形式で受け取る。ここでは、インターネットを例に、文判定部11がテキストを受け取る例を示しているが、文判定部11にテキストが入力されるならば、いかなるところからのテキストでも利用することもできる。
文判定部11は、受け取ったテキストから、テスト問題生成部12が利用できる文かどうかをの正当性を判断し、正当と判断された文ならば該文をテスト問題生成部12に送出する。
テスト問題生成部12は、文判定部11から受け取った文を元にテスト問題を生成し、その結果を表示部13に送る。なお、テスト問題生成部12におけるテスト問題生成については後述する。表示部13は、テスト問題生成部12から送られた結果のテスト問題を表示する。生成されたテスト問題を出力するのはプリンタであってもよい。
図2は、文判定部11の具体例を示すブロック図である。本具体例の文判定器11は、制御器21、アルファベット判定器22、単語バッファ23、スペース判定器24、文バッファ25、結果判定器26、単語辞書27を備え、テスト問題生成部12に入力するための文を判定する。ここでは、簡単にするために、英語テキストが入力され、該英語テキストから文を判定し、該文をテスト問題生成部12に送出する例について説明する。
英語テキストとして、英単語の間にスペース記号があり、文がピリオドで終了している文<<this flower is beautifull.!!!>>を例として挙げる。図3は、本例の文がメモリに保存されている様子を示す。本例のように、ホームページ14(図1)から得られるHTML形式の英語テキストにアルファベット以外の記号が使われている場合、文判定部11では英語テキストから記号を取り除き、テスト問題生成部12に必要な文を取り出す。
文判定部11において、まず、制御器21は、図3に示すように保存された先頭文字から一文字ずつ順に取り出し、取り出した文字がアルファベット(a〜z)のいずれかであると判定した場合、読み出し位置を保持したままアルファベット判定器22に制御を移す。
アルファベット判定器22は、メモリの読み取りを継続し、順次読み取られた文字がアルファベットであるかを判定し、アルファベットである間はメモリからの読み取りを継続する。ここで、アルファベットであると判定された文字は、単語バッファ23に順に書き込まれる。読み取られた文字が空白(スペース記号)の場合には、スペース判定器24に制御が移り、それと同時にスペース判定器24は、単語バッファ23の中身を文バッファ24に転送して、単語バッファ23をリセットする。アルファベット判定器22がアルファベットあるいはスペース記号以外の文字をメモリから受け取った場合には、制御器21に制御を移し、制御器21は、文の先頭を探し出す処理を再び開始する。
制御器21は、スペース判定器24からのスペース有りの判定結果によりアルファベット判定器22に制御を移し、アルファベット判定による単語の判定を開始させる。以上のようにして単語の判定が順次行われ、これにより判定された単語が文バッファ25に保存される。図3の英語テキストの例では、上記処理でまず「this」の単語が文バッファ25に保存される。
図4は、本例の場合の文バッファ25の中身を示しており、この文バッファ25は、4つの単語を保持できる要素の配列M[1],M[2],M[3],M[4]から構成されている。最初に検出された単語「this」はM[1]に格納される。以後、単語「flower」、「is」、「beautiful」が検出されるたびに単語数カウンタのカウント値Nが増え、検出された単語が文字バッファ25に順次追加される。
最後の単語「beautiful」が検出されてスペース判定器24から制御器21に制御が移ると、制御器21はメモリから次の文字を取り出す。この場合、次の文字はピリオドであり、制御器21はピリオド記号を判定すると、文が完結したと判定して結果判定器26に制御を移す。
結果判定器26は、文バッファ25に保存された文の各単語を単語辞書27に登録されている単語と比較して各単語が正当な単語であるかどうかを判定する。文バッファ25に保存された文の全ての単語が単語辞書27に登録されている単語と一致するときは、正当性のある文であるとして該文をテスト問題生成部12(図1)に送出する。
このように文判定部11は、ホームページ14(図1)からのテキストが正当性のある文であるかどうかを判定し、正当性のある文と判定された文をテスト問題生成部12に送出するので、ミススペルや不要なアルファベット系列を含む文を元にしてテスト問題を生成することが未然に防止される。
上記説明では、英単語の間にスペース記号があり、ピリオドで終了している文を例として挙げたが、「I am a student.」「I'm a asutent」のように、「'」記号を用いた文もある。この場合には、アルファベット判定器22で判定するアルファベットの種類に「'」記号を追加することにより、上記と同様な処理で「'」記号を含む文を取り出すことができる。
図5は、本発明に係るテスト問題配信システムの第2の実施形態を示すブロック図である。以下では、図1と同一あるいは同等部分には同じ参照番号を付し、それらについての説明は省略する。本実施形態のテスト問題配信システム10はジャンル条件設定フィルタ15を備え、ジャンル条件設定フィルタ15は、ジャンルに従って絞り込んだ文をテスト問題生成部12に送出する。
ジャンル条件設定フィルタ15での絞り込みは、予めジャンルに対応した単語や例文などを格納したデータべースを利用することで実現できる。
図6は、ジャンル条件設定フィルタ15の具体例を示す示すブロック図である。本具体例のジャンル条件設定フィルタ15は、制御器61、文バッファ62、単語バッファ63、比較器64、単語カウンタ65、比較結果カウンタ66、ジャンル単語辞書67を備え、特定ジャンルの文に絞り込んで送出する。
以下、スポーツジャンルの文に絞り込んで送出する場合を例として説明する。この場合、ジャンル単語辞書67にはスポーツに関する単語baseball、tennis、swimming、Olympic、game、playerなどが格納されている。
文バッファ62は、制御器61の制御に従って、文判定器11(図5)から送出される、文を構成する単語列を受け取り保存する。単語バッファ63は、文バッファ62に保存された単語列の先頭から一単語ずつを受け取り保存する。単語カウンタ65は、文バッファ62からの単語の送出毎に1ずつインクリメントされる。なお、単語カウンタ55は、文の最初の単語が文バッファ62から単語バッファ63に出力される際に制御器61により0にリセットされる。
比較器64は、単語バッファ63に保存された単語とジャンル単語辞書67に格納されている単語baseball、tennis、swimming、Olympic、game、player、・・・を1単語ずつ取り出して比較する。この比較の結果、一致すれば比較結果カウンタ66は1だけインクリメントされる。文バッファ62は、文バッファ62に保存されている最後の単語を単語バッファ63に送出すると、最後の単語が送出されたことを制御器61に知らせる。
制御器61は、最後の単語が送出されたことの知らせを文バッファ62から受け取り、比較結果カウンタ66から処理が終了したことの知らせを受けると、単語カウンタ65のカウント値NWと比較結果カウンタ66のカウント値NCを読み出し、NCとNWとの比、すなわちNC/NMを計算する。さらに、制御器61は、NC/NMが予め定めた値T(0≦T≦1)よりも大きいとき、文バッファ62に保存された文はスポーツジャンルに関する文であると判定し、文バッファ62に保存されている文を出力テキストとしてテスト問題生成部12に送出する。
以上はスポーツジャンルに関する文に絞り込む場合の例であるが、スポーツ以外の政治、経済など、他のジャンルに関する文に絞り込む場合には、ジャンル辞書67を、政治に関する単語あるいは経済に関する単語を格納した辞書とすればよい。
スポーツおよび経済に関する文に絞り込む場合には、図7に示すように、スポーツ関する条件設定フィルタ15−1と経済に関する条件設定フィルタを縦属に並べればよい。また、スポーツまたは経済に関する文に絞り込む場合には、図7に示すように、スポーツ関する条件設定フィルタ15−1と経済に関する条件設定フィルタを並列に並べればよい。この場合、スポーツと経済の両方の条件を満足する文が存在すると、該文は条件設定フィルタ15−1と15−2とから送出される。冗長文削除器16は同じ文が存在する場合にその一方を削除し、同じ文がテスト問題生成部12に送出されるのを防ぐ。
図9は、本発明に係るテスト問題配信システムの第3の実施形態を示すブロック図である。本実施形態のテスト問題配信システム10は文難易度条件設定フィルタ17を備え、文難易度条件設定フィルタ17は、文難易度に従って絞り込んだ文をテスト問題生成部12に送出する。
図10は、文難易度条件設定フィルタ17の具体例を示す示すブロック図である。本具体例の文難易度条件設定フィルタ17は、制御器101、文バッファ102、単語バッファ103、検索器104、単語カウンタ105、難易度積和器106、文難易度単語辞書107を備え、特定の難易度を持つ文に絞り込んで送出する。
文難易度単語辞書67には、単語ごとの難易度値が予め格納されており、検索器104は、単語バッファ103に保存された単語に一致する単語の難易度値を検索して読み出す。難易度積和器106は、文バッファ102に保存された文について各単語の難易度値の総和を算出する。文を構成する単語の難易度値が文難易度単語辞書107から検索されない場合には、難易度値を例えば中間値などの適当な値とすればよい。
制御器101は、単語カウンタ105のカウント値や難易度積和器106による難易度積和を用いて、文バッファ102に格納された文の難易度を求め、閾値処理により所定範囲の難易度値を持つ文を出力テキストとしてテスト問題生成部12に送出する。文の難易度は、例えば、単語カウンタ105のカウント値と難易度積和器106による難易度積和が共に所定閾値以上かどうかに従って判別したり、(難易度積和/カウンタ値)により求められる1単語当たりの難易度に従って判別できる。その他の部分の動作は、第2の実施形態と同じであるので説明を省略する。
図11は、本発明に係るテスト問題配信システムの第4の実施形態を示すブロック図である。本実施形態のテスト問題配信システム10は文長条件設定フィルタ18を備え、文長条件設定フィルタ18は、文長に従って絞り込んだ文をテスト問題生成部12に送出する。
図12は、文長条件設定フィルタ18の具体例を示す示すブロック図である。本具体例の文長条件設定フィルタ18は、制御器121、文バッファ122、単語カウンタ123を備え、特定の文長を持つ文に絞り込んで送出する。
文バッファ122は、制御器121の制御に従って、文判定器11(図5)から送出される、文を構成する単語列を受け取り保存する。単語カウンタ123は、文バッファ62に保存され文を構成する単語の数をカウントする。制御器121は、単語カウンタ105のカウント値から文長を判断し、閾値処理により所定範囲の文長を持つ文を出力テキストとしてテスト問題生成部12に送出する
図13は、本発明に係るテスト問題配信システムの第5の実施形態を示すブロック図である。本実施形態のテスト問題配信システム10は、言語判定器19を条件設定フィルタとして備える。言語判定器19は、ホームページから特定の言語のテキストを抽出して文判定部11に送出する。文判定部11は、言語判定器19から送出された特定言語の文のうちの正当性のある文を抽出してテスト問題生成部12に送出する。
インターネットからは文字コード情報として各文字を取得できるので、それ自体から言語を判定できる。文字コード情報でない場合には、文字ごとに言語を判定して各言語の頻度を計算し、それを相互に比較する閾値処理を行えば文の言語を判定できる。
上記実施形態は、ジャンル、文難易度、文長、言語を条件設定して文を絞り込む例であるが、その他の条件、例えば利用者の興味に関する単語を単語辞書に格納しておけば、利用者の興味ある文に絞り込んで取得することもできる。また、上記実施形態では、ジャンル、文難易度、文長、言語などの単独の条件により文を絞り込む例であるが、ジャンル、文難易度、文長、言語などの条件を論理積(AND)や論理和(OR)で結合した条件により文を絞り込むようにすることもできる。
次に、テスト問題生成部12について詳細に説明する。多肢選択問題には、図14に示す空所補充問題、図16に示す誤り検出問題、図示しない正解文または誤り文選択問題等がある。テスト問題生成部12では、空所補充問題と誤り検出問題との双方を含む複数種類の多肢選択問題を生成することができる。
まず、図14に示す空所補充問題の生成について説明する。図14に示すように、空所補充問題では、受験者は正しい文となるように選択肢143から選択して問題文141中の空所142を補充することが要求される。
空所補充問題の生成では、正解は文をなし、不正解は文をなさないことを利用する。より具体的には、文判定部11から送出された文に基づいて、問題と選択肢(正解と不正解との候補)を生成する。正解は文判定部11から取り出された文である。問題と不正解の選択肢候補との組合せの各々について、文として妥当か否かを判定する。ここでは不正解の選択肢候補を生成するので、上記判定で文として妥当と判定されたものは、選択肢から除外する。例えば所定の方法で文の妥当性を計算し、妥当性が所定のしきい値を下回るもののみを選択肢として残す。
図15に、例として、問題と解の候補とから生成される文群150を示す。図15に示すように、この文群は全部で5つの文151、152、153、154および155を含む。下線を引いた部分が解候補であり、その中で太字で示したものが正解である。図15に示す例では、1番目の文151と5番目の文155との双方とも正解となる。一般的に多肢選択の場合、選択肢の個数と正解の個数は一定である。ここでは、前者を4、後者を1としている。従ってこの場合には1番目の選択肢151または5番目の選択肢155を削除する。
誤り検出問題も、空所補充問題とほぼ同様に実現できる。図16に誤り検出問題の例160を示す。図16に示すように、この問題は、文161の4つの選択肢a)〜d)の中から誤り部分を選択する、というものである。この場合には、最初に文を決め、選択肢として単語を決め、その中の一つに関して単語の置換を行って、文の妥当性検査で非文になることを確認すればよい。なお、最初に置換単語の位置を決めてから、他の選択肢を決めるようにしても同じことである。
図17は、テスト問題生成部12の具体例を示すブロック図である。以下では、文判定部11を介してホームページから取り出したテスト問題の種文をコーパスと称する。 本具体例のテスト問題生成部12は、文判定部11からテキストを入力とし、上記空所補充問題と誤り検出問題とのいずれかからなる多肢選択言語試験問題171を自動的に生成する。テスト問題生成部12が問題を生成する際に参照する種々の言語情報データが各種データ記憶部172に記憶されている。テスト問題生成部12は、インターネット173を用いて、多肢選択言語試験問題の生成中に文の妥当性をチェックする機能を持つ。
テスト問題生成部12は、コンピュータシステムで実現されることが想定されている。条件選択部174は、テスト問題の種別等を指定するために設けられ、図示しないキーボードと、マウス等のポインティングデバイスと、条件設定の画面を用いた入出力を行うためのソフトウェアおよび表示装置等からなる。本具体例において、条件選択部174は、例えば以下のような条件を指定する。
(1)問題生成の対象となるドメイン
(2)生成する多肢選択言語試験問題の種別(空所補充問題または誤り検出問題)
(3)生成する問題の個数
(4)問題生成時の種文の選択条件
(5)空所補充問題の際の空所の位置の決定条件
(6)空所補充問題の選択肢作成の際の条件
(7)候補の妥当性の検証方式
テスト問題生成部12は、後述するようにコンピュータハードウェアと、当該コンピュータ上で実行されるコンピュータプログラムとにより実現される。各種データ記憶部172は、本具体例では、テスト問題生成部12を実現するものと同じコンピュータ内に設けられた記憶装置により実現される。
テスト問題生成部12は、文判定部11からのコーパスを記憶するためのコーパス記憶部175と、条件選択部174を用いてユーザにより指定された条件に従って、コーパス記憶部175に格納されているコーパスの中から問題の元となる種文を選択するための種文選択部176とを含む。コーパス記憶部175に記憶されるコーパスを構成する各文には、識別番号(ID)が付される。
テスト問題生成部12はさらに、種文選択部176により選択された種文の中で、条件選択部174を用いてユーザにより指定された問題の種別に応じ、空所補充問題の生成の際には指定された条件に従った位置の単語を空所として選択し、誤り検出問題の生成の際には、選択肢となる単語位置を選択肢の数だけ選択し、問題の種別を示す情報および種文とともに出力するための問題位置選択部177と、問題位置選択部177から与えられた種文に対し、問題の種別を示す情報と問題位置とに従い、各種データ記憶部172に記憶された各種データを参照しながら選択肢を作成することにより、多肢選択言語試験の選択肢候補を生成するための選択肢候補生成処理部178と、選択肢候補生成処理部178により作成された選択肢候補に関連する文の各々に対し、その妥当性を判定するために、インターネット173を検索するための妥当性判定用データ検索部179と、選択肢候補生成処理部178から受け取る選択肢候補に関連する文の各々に対し、妥当性判定用データ検索部179を用いて妥当性判定用データを検索し、文として妥当性を判定するとともに、条件選択部174から与えられる問題種別に応じ、問題自体の適切さをも判定するための妥当性判定部180とを含む。
妥当性判定部180は、選択肢候補の妥当性の判定の結果、問題が適切なものでないと判定された場合には、当該問題を破棄し、種文選択部176に対して次の問題生成を指示する機能を持つ。
テスト問題生成部12はさらに、妥当性判定部180によって適切と判定された問題を、問題の種類に応じた適切なフォーマットに整形するための整形部181と、整形部181により整形された問題に対して、インターネット173上のデータおよび各種データ記憶部172に記憶されたデータの中から、問題に関連した情報(例文、定義、語義等)を付与するための関連情報付与処理部182と、関連情報付与処理部182から出力される、関連情報が付与されかつ整形された問題を多肢選択言語試験問題171として記憶装置に書き込む処理を行うための出力部183とを含む。
なお、多肢選択言語試験問題の場合には、異なる問題文中に同じ単語が出現することは望ましくない。そのため、テスト問題生成部12は、出力部183により出力された多肢選択言語試験問題中の選択肢を記憶するための既出選択肢記憶部184を含み、選択肢候補生成処理部178は、問題生成時に既出選択肢記憶部184を参照して、既出の単語が後続の問題中に含まれないように、問題生成の際の単語の選択を行う機能を持つ。
図18は、コーパス記憶部175に記憶されたコーパス185の構成例を示す。図18に示すように、コーパス185は、本具体例では複数個の例文188を含む。各例文188は、識別番号(ID)186と、本文187とを含む。
図19は、図17に示す各種データ記憶部172の構成を示す。図19に示すように、各種データ記憶部172は、選択肢を作成する際に使用する、ある単語に関連した誤りを誤りの種類に従って集めた複数のリストからなる誤りリスト191と、単語に関する辞書192と、同義語、反義語等を収録するとともに、単語の間の類似関係等を収録したシソーラス193と、所定の単語を、その頻度および重要度とともにリストした単語リスト194とを含む。
誤りリスト191は、綴りの似た語の集合を集めたリスト195と、ある単語と、その単語に対して綴りを誤った単語とからなる集合を集めたリスト196と、いわゆる和製英語を正しい英語単語(単語列)とともに集めたリスト197とを含む。
リスト195に含まれる単語の集合の例として、「moss,miss,mess」がある。リスト196に含まれる単語の集合の例としては、「flight,fright,flit,flite」等がある。リスト197に含まれる単語の集合の例としては、「nighter(ナイター),night game」がある。
後述するように、本具体例のテスト問題生成部12は、コンピュータハードウェアおよびその上で実行されるソフトウェアにより実現可能である。図20に、テスト問題生成部12を実現するためのソフトウェアを構成するプログラムのメイン処理の流れをフローチャート形式で示す。以下、図20を参照してこのプログラムの制御構造について説明する。
図20に示すように、このプログラムが起動されると、ステップ200で設定の読込みが行われる。この設定は、図17に示す条件選択部174により設定され、記憶装置等に書き込まれていたものである。続いてステップ201で、読込んだ設定に従って、試験の種別を判定する。試験の種別が空所補充問題の場合にはステップ202に進む。試験の種別が誤り検出問題の場合にはステップ203に進む。以下同様に、選択された試験の種別に従い、適切なステップ202〜204の処理が実行される。
図21にステップ202で実行される空所補充問題の生成処理を行うプログラムの制御構造をフローチャート形式で示す。図21に示すように、まずステップ210で生成中の問題番号を表す変数iに0を代入する。ステップ211で変数iに1を加算する。ステップ212で変数iの値が、生成する問題数として設定された値MAXを超えたか否かを判定する。変数iの値が値MAXを超えていれば処理を終了する。変数iの値が値MAX以下であれば制御はステップ213に進む。
ステップ213では、図17に示すコーパス記憶部175に記憶された文の中から所定の方法で種文を選択する。なお、図22を参照して後述するように、このステップで選択する種文については、長さに制限を設けてある。
続いてステップ214で、種文の中で空所とする位置を決定する。空所の位置も、全体の中からランダムに選択したり、品詞および単語の位置等を条件として選んだりすることができる。例えば、「最左の動詞(例えば「I lost the return ticket of my flight」の「lost」)」、「頻度の高い前置詞(例えば上記「of」)」、または「最右の限定詞(例えば上記「my」)」等を選択することができる。
さらにステップ215で、選択肢候補からなる選択肢集合を作成する。このステップでは、ステップ214で選択された空所位置に存在していた単語を「正解」として保存(記憶)した上で、誤りの選択肢候補を複数個だけ作成し、i番目の問題に対する選択肢候補集合Aiとする。本具体例では、作成される選択肢候補の最大個数はM個とし、各選択肢候補をAi,mと表す(1≦m≦M)。ステップ215での処理の詳細については図23を参照して後述する。なお、後述するように、ステップ215の処理では、既出の問題に含まれる単語と同じ単語を選択肢候補とすることは不適当と考えられるので、そのような単語は選択肢候補としない。
この後、ステップ216で以下の繰返しを制御するための繰返制御変数mに0を代入する。ステップ217で変数mに1を加算する。続いてステップ218で変数mの値が値Mを超えたか否かが判定される。変数mの値が値Mを超えた場合、制御はステップ221に進む。それ以外の場合、制御はステップ219に進む。ステップ221以下の処理については後述する。
ステップ219では、選択肢候補Ai,mを含む文が妥当な文かどうかを判定する。本具体例では、インターネット173を利用して文の妥当性を判定する。具体的には、空所の前後の内容語までの単語列と選択肢とからなる単語列をインターネット173の多数のウェブにおいて検索し、あれば選択肢候補Ai,mを含む文が妥当な文だと判定する。ここでの目的は、誤りとして選択肢候補を見つけることであるから、選択肢候補Ai,mを含む文が妥当な文だと判定された場合、ステップ220で選択肢候補の集合Aiから選択肢候補Ai,mを削除し、ステップ217に戻る。さもなければ選択肢候補Ai,mを含む文は非文であって選択肢候補Ai,mは選択肢として適当であるから選択肢候補集合Aiに残し、何もせずステップ217に戻る。
ステップ218で変数mの値が値Mを上回ると、制御はステップ221に進む。ステップ221では、選択肢候補の集合Aiに含まれる要素の数|Ai|が2より大きいか否か(すなわち3以上か)を判定する。2より大きい場合にはステップ222に進むが、それ以外の場合には選択肢の数が不足し問題を構成できないので、この選択肢集合Aiについては問題生成をやめることとし、ステップ213に戻って次の種文の選択からやり直す。
ステップ222では、選択肢集合Aiに正解の選択肢を加え、ランダムな順番に配列してその内容を整形して、図14に示すような問題とする。ステップ223で、各選択肢についてウェブで検索した例文、辞書から読み出した語義等の関連情報をこの問題に付与する。さらにステップ224で、この問題を既出選択肢として図17に示す既出選択肢記憶部174のような記憶装置に記憶する。この情報は、ステップ215での選択肢候補の作成処理で使用される。
さらに、ステップ225において、このようにして生成された問題を所定の記憶装置に出力する。この後、制御はステップ211に戻り、次の問題の生成を開始する。
図22を参照して、図21のステップ213で行なわれる種文選択処理について説明する。まずステップ226で、種文候補をコーパスの中から選択する。この際、本具体例では、種文の選択方式は複数の方式の中からユーザが指定できるようになっている。例えば種文を全くランダムに選択したり、文の属性(長さ、頻度、読みやすさ等)に関する条件、文に含まれる文法事項または文の使われる場面、例えば動詞を含む文、感嘆文、特定の前置詞を含む文、等の条件等で絞った中からランダムに選択したり、上記した属性の値に従って所定の順番で選択したりすることができる。
ステップ227では、ステップ226で選択した種文候補の形態素長が所定のしきい値TH1より大きいか否かを判定する。このような判定をするのは、あまりにも短い文では情報が足りず、受験者が選択肢を選ぶのが難しくなり、試験が成立しない可能性があるためである。形態素長がしきい値TH1より大きければステップ228に進み、それ以外の場合には種文として不適当であるためステップ226に戻り、次の種文候補の選択を行なう。一方、ステップ228では、形態素長が別のしきい値TH2(TH2>TH1)より小さいか否かを判定する。このような判定を行なうのは、問題文が長いと、場所をとり、例えば携帯電話等の狭い画面上に問題を表示するには不都合である可能性があるためである。形態素長がしきい値TH2より小さければこの種文候補を種文として種文選択の処理を終了する。さもなければステップ226に戻り、次の種文候補の選択から繰り返す。
図23に、図21のステップ215で実行される選択肢候補作成処理の詳細をフローチャート形式で示す。図23に示すように、まずステップ230で、選択肢候補からなる集合Aiを空集合φとし、繰返制御変数jに0を代入する。ステップ231で変数jに1を加算する。ステップ232で変数jの値が選択肢候補の最大数Mを超えたか否かを判定する。jがMを超えた場合、この選択肢候補作成処理を終了する。jがM以下であればステップ233に進む。
ステップ233では、選択肢候補の単語を、図17に示す各種データ記憶部172を参照して選択する。この場合、以下のような選択の仕方が可能である。
(1)問題位置の単語を置換しても文法を逸脱しないように、選択肢の単語の品詞、活用(過去形、単数現在等)を維持して別の単語に置換える。この場合、辞書192から単語をランダムに選択したり、シソーラス193から類義語または反義語を選択したり、単語リスト194から単語の頻度順、重要度順に単語を取り出して置換したりできる。
(2)単語を置換することで文法を逸脱するように、当該位置の単語の語基を維持して、品詞、活用(過去形、単数現在等)を置換える。例えば辞書192を参照して単語の活用形を変化させたり、ある単語を、当該単語に対応する別品詞の単語に置換する。
(3)頻度の高い誤りを再現するように、当該位置の単語を含む誤り単語の集合を図19に示す誤りリスト191から取り出し、その中の単語で置換する。例えば、図19に示すように、綴りの似た語、綴りの誤っている語、和製英語等で元の単語位置を置換する。
選択肢候補を選択した後、ステップ234において当該単語の頻度を各種データ記憶部172を参照して調べ、その頻度が所定のしきい値TH3より小さいか否かを判定する。頻度があまりに低い単語の場合、受験者は、見慣れないという理由だけで選択肢の単語が不正解であると考えてしまう可能性があり、選択肢として不適当と考えられるためである。従って、ステップ234において頻度がしきい値TH3より小さいと判定された場合、ステップ233に戻り、次の選択肢候補を選択する。さもなければステップ235に進む。
ステップ235では、選択肢候補が既に生成した問題に出現した単語と同じか否かについて、図17に示す既出選択肢記憶部174に記憶された内容を参照して判定する。既出の単語は選択肢候補として妥当でないため、このような判定を行う。従って、選択肢候補が既出単語であればステップ233に戻り、次の選択肢候補について上記した処理を繰り返す。既出単語でなければ、ステップ236に進み、この選択肢候補を選択肢候補集合Aiに追加する。この後ステップ231に戻る。
以上が、例えばテスト問題生成部12が空所補充問題を生成する場合に実行されるプログラムのフローチャートである。
一方、図20に示すステップ203で実行される誤り検出問題の生成処理も、同様のプログラムにより実現できる。図24に、本具体例のテスト問題生成部12において採用したプログラムの制御構造をフローチャート形式で示す。図24において、図21と同じ処理には同じ参照番号を付し、それらについての説明は省略する。
図24において、ステップ213で種文を選択した後、制御はステップ240に進む。ステップ240では、選択肢として種文の中の所定個数(デフォルトは4個であるが、ユーザによる指定が可能である。)の単語を決定し、そのうちの一つを誤り単語位置として選択する。
続いてステップ241で、選択された単語を別の単語で置換することにより、種文Biを別の文Bi′に変換する。本具体例では、ここでの置換単語は、図19に示す誤りリスト191の各リストを用いて決定する。なお、ステップ240で選択肢として決定された単語と、ステップ241で決定された置換単語とは、いずれもこれより前の問題(空所補充/誤り検出の別を問わない。)において既出の単語ではないものとする。
ステップ242で、置換後の文Bi′が非文か否かを判定する。この判定は、図21のステップ219で行う処理と同様の処理により実現できる。文Bi′が非文であれば、この文Bi′を誤り検出問題の問題とすることができる。
従って、ステップ243で文Bi′を整形して図16に示すような問題とする。ステップ244で、ステップ242の判定においてインターネット173等から取得した例文、辞書から取得した語義情報等を関連情報としてこの問題に付与する。ステップ245で、この問題を既出選択肢として図17の既出選択肢記憶部174に記憶する。ステップ246でこの問題を出力する。この後、ステップ211に戻り、次の問題の生成を行う。
こうして、誤り検出問題についても、自動的に生成することができる。これ以外にも多肢選択言語試験問題の形式はあるが、それらはいずれも上で説明したものと同様の考え方で実現できる。従ってここではそれら個々についてのプログラムの制御構造については説明しない。
以上に説明したテスト問題生成部12は以下のように動作する。適切なコーパスがインターネット上のホームページから取得され、コーパス記憶部175に格納されているものとする。また、問題を生成するための誤りリスト191、辞書192、シソーラス193、および単語リスト194は予め準備されているものとする。
ユーザは、条件選択部174を使用して種々の設定を行う。例えば多肢選択言語試験問題の種別、生成する問題の数等を指定する。
種文選択部176は、条件選択部174により指定された条件に従って、コーパス記憶部175に格納されたコーパス中から種文を選択し、指定された条件とともに問題位置選択部177に与える。問題位置選択部177は、例えば生成すべき問題が空所補充問題であれば、どの単語を空所とするかを決定する。生成すべき問題が誤り検出問題であれば、問題位置選択部177は種文の中で選択肢となる単語位置を決定し、さらにどの単語を誤り単語で置換するかを決定する。なおこの順序は逆でもよい。
選択肢候補生成処理部178は、問題位置選択部177により問題位置が決定された種文を受け、各種データ記憶部172を参照して、問題の種別に応じ選択肢候補を生成する。例えば問題が空所補充問題であれば、例えば図19に示すシソーラス193を参照し、問題位置の単語と同じ意味コードを持つ単語を選んで選択肢集合を作成する。
妥当性判定部180は、こうして生成された選択肢候補が妥当か否かを判定する。空所補充問題であれば、選択肢集合に含まれる単語を空所に補充した文が、一つを除いて非文となるか否かを判定する。また誤り検出問題であれば、問題位置に誤り単語を挿入した結果得られた文が非文となるか否かを判定する。この際、妥当性判定部180は、妥当性判定用データ検索部179を用いてインターネット173上のウェブを検索し、文の妥当性を判定する。
空所補充問題の場合、選択肢集合に含まれる単語を種文の空所に補充した文が、一つ(正解)を除いて全て非文と判定されれば、妥当性判定部180は選択肢候補を整形部181に与える。誤り検出問題の場合、種文のうち問題位置に誤り単語を挿入して得られた文が非文であれば、妥当性判定部180はこの問題を整形部181に与える。それ以外の場合には、妥当性判定部180は選択肢候補生成処理部178から与えられた問題を破棄する。妥当性判定部180は、問題を採用した場合も、そうでない場合も、種文選択部176に再度問題の生成を開始することを指示する信号を与える。
整形部181は、妥当性判定部180から問題が与えられると、問題の種類に応じて適切な形に整形し関連情報付与処理部182に与える。関連情報付与処理部182は、インターネット173から得られた例文、および各種データ記憶部172から得られた単語の語義等の関連情報を選択肢に付与し、出力部183に与える。出力部183は、この問題を既出選択肢記憶部184に書き込んだ後,多肢選択言語試験問題171として問題を出力する。
種文選択部176は、妥当性判定部180から次の問題の生成を指示する信号が与えられると、既に生成した問題数が条件選択部174から指定された問題数に達したか否かを判定し、達した場合に処理を終了する。達していない場合には、種文選択部176は次の種文をコーパス記憶部175から選択し、問題位置選択部177に与える。
以下、種文選択部176、問題位置選択部177、選択肢候補生成処理部178、妥当性判定部180、妥当性判定用データ検索部179、整形部181、関連情報付与処理部182、出力部183および既出選択肢記憶部184により、指定された個数の問題が生成されるまで上述した動作が繰り返される。
なお、上記妥当性判定では、空所の前後の内容語までの単語列と、選択肢とからなる単語列がウェブ上に存在するか否かを基準とした。しかし妥当性判定は、ウェブにおいて選択肢候補Ai,mを含む文を検索し、あれば妥当な文だと判定する方法、選択肢候補Ai,mを含む文を構成する全てのNグラム(たとえばトライグラム)がウェブ上で見つけられたら妥当な文だと判定する方法、ウェブから求めたNグラム尤度を用いて選択肢候補Ai,mを含む文尤度を計算し、所定のしきい値以上であれば妥当な文と判定する方法、等を用いることができる。なお最後に挙げた方法では、ウェブのNグラムの頻度としては、通常の単語列の頻度ではなく、検索システムで検索できた単語列を含む文書の数、すなわち文書頻度dfに置換える。バイグラムw1w2の文書頻度をdf(w1w2)、ユニグラムw1の文書頻度をdf(w1)、バイグラム文書尤度P(w1w2)はdf(w1w2)/df(w1)とする。
上述したように、インターネット上のホームページ14から取得し得る様々な属性のコーパスを準備してそこから種文を選択することにより、試験の対象のドメイン(旅行会話、ビジネス会話、ニュース等)、対象となる受験者のレベル(中学、高校、大学等教育機関の別、または各種検定のランク)等に容易に対処することができる。例えば、出現する単語の長さや難易度に従ってコーパスをグループ分けして取得することにより、学習者(例えば中学1年、高校3年、ビジネス英語受講者等)の学習レベルに適した多肢選択言語試験問題を容易に、かつ短時間のうちに生成することができる。さらに、コーパス、辞書、シソーラス等を言語ごとに準備することで、複数の言語についても容易に多肢選択言語試験問題を生成できる。
また、インターネット、辞書、シソーラス等を検索することにより、誤答となる選択肢には、適切な用例、語義、同義語、類義語、反義語等を関連情報として付加することができるので、単に問題を解くだけのための問題ではなく、教育効果をあげることが期待できる問題を生成できる。
なお、上記実施形態では、例えば携帯電話のように狭い画面を使用して多肢選択言語試験問題を提供する場合を想定し、そのために問題文が長くなることを避けている。しかし、この制限は本質的なものではなく、例えば問題文を提示するスペースに特に制限がない場合等には、問題文の長さを制限する必要はない。
また、上記実施形態では、選択肢候補の妥当性を検査するに際してインターネット上のウェブページを検索し、その結果を用いている。ウェブページは極めて大規模なコーパスと考えることができるので、そこにおける、ある単語列からなる言語表現の出現頻度は、当該言語表現の妥当性を近似できると考えられる。つまり、頻度が大きければその言語表現が極めてよく使用されることの現れであり、頻度が非常に低いかまたはゼロであれば、それはその言語表現が非文法的であるか、不自然な表現であることが期待できる。従って、インターネットを利用することで選択肢候補の妥当性検査を精度良く行うことが期待できる。
もっとも、文法的であるにもかかわらず新規な表現はどのウェブページにものっていない可能性もあるし、正しい表現が全ていずれかのウェブページ上にあるという保証はない。従って上記した妥当性検査はあくまで近似的なものと理解されるべきである。従って、正しい文からなる大規模なコーパスを、ウェブの代わりに使用することもできる。
なお、上記具体例のテスト問題生成部12は、コンピュータシステムと、当該コンピュータシステムにより実行されるコンピュータプログラムと、当該コンピュータシステム内の記憶装置または外部記憶装置に格納されるデータとにより実現できる。図25はこのコンピュータシステム250の外観を示し、図26はコンピュータシステム250の内部構成を示す。
図25に示すように、コンピュータシステム250は、FD(フレキシブルディスク)ドライブ256およびCD−ROM(コンパクトディスク読出専用メモリ)ドライブ255を有するコンピュータ251と、いずれもコンピュータ251に接続されるキーボード253、マウス254、およびモニタ252とを含む。
図26に示すように、コンピュータ250は、FDドライブ256およびCD−ROMドライブ255に加えて、CPU(中央処理装置)259と、FDドライブ256およびCD−ROMドライブ255に接続されたバス264と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)260と、バス264に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ(RAM)261とを含む。コンピュータシステム250はさらに、プリンタ257を含んでいる。
ここには図示しないが、コンピュータ250はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。
コンピュータシステム250に上記テスト問題生成部12としての動作を行わせるためのコンピュータプログラムは、CD−ROMドライブ255またはFDドライブ256に挿入されるCD−ROM262またはFD263に記憶され、さらにハードディスク258に転送される。または、プログラムは図示しないネットワークを通じてコンピュータ250に送信されハードディスク258に記憶されてもよい。プログラムは実行の際にRAM261にロードされる。CD−ROM262から、FD263から、またはネットワークを介して、直接にRAM261にプログラムをロードしてもよい。
このプログラムは、コンピュータ250に上記テスト問題生成部12としての動作を行わせる複数の命令を含む。このために必要な基本的機能のいくつかはコンピュータ250上で動作するオペレーティングシステム(OS)またはサードパーティのプログラム、もしくはコンピュータ250にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施形態の装置を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記テスト問題生成部12としての動作を実現するための命令のみを含んでいればよい。コンピュータシステム250の動作は周知であるので、ここでは繰り返さない。
なお、上記実施形態では、例えば図20に示すように、生成する対象となる選択肢問題の種類に応じて、プログラムの主要部分を全く別のものとしている。しかし、本発明はそのような実施形態に限定されるわけではなく、共通の処理を実行する部分は同一のプログラムコードが実行されるようにしてもよい。
また、上記説明では、制御構造の説明として便宜的にフローチャートを用いたが、実際のプログラムがこのようなフローチャートにより表された制御構造を持っているとは限らない。例えばオブジェクト指向プログラムのように、個々のオブジェクトが別々に動作し、全体として上に示した実施の形態の装置の機能を実現するものであってもかまわない。
さらに、上記実施形態では、条件選択部、テスト問題生成部の各部、および多肢選択言語試験問題を記憶する記憶装置が全て同一の場所にあるものとしたが、本発明はそのような実施形態に限定されない。例えばテスト問題生成部がインターネットに接続されたあるコンピュータにより実現され、条件選択部が無線電話網およびインターネットを通じて当該コンピュータに接続可能な携帯電話のような情報端末装置で実現されてもよい。また、多肢選択言語試験問題を蓄積せず、条件選択部を介して問題の生成要求があるごとに、テスト問題生成部によって多肢選択言語試験問題を生成し、要求の送信元に返信するような構成を採ってもよい。
さらに、文判定部11およびテスト問題生成部12は、テスト問題出力用の端末あるいはサーバに実装して計算負荷分散を図ることができる。図27(a)は、表示部13とともに文判定部11およびテスト問題生成部12を端末270に実装した例を示し、同図(b)は、端末270に実装された表示器17とは別に、サーバ271に文判定部11およびテスト問題生成部12を実装した例を示す。これらのいずれの構成を採用するかは、端末270あるいはサーバ271の負荷などを考慮して決定される。
本明細書で開示された実施形態は単に例示であって、本発明が上記した実施形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味および範囲内での全ての変更を含む。
10・・・テスト問題配信システム、11・・・文判定部、12・・・テスト問題生成部、13・・・表示部、14・・・ホームページ、15,15−1,15−2,17,18・・・条件設定フィルタ、19・・・言語判定部、21,61,101,121・・・制御器、22・・・アルファベット判定器、23,63,103・・・単語バッファ、24・・・スペース判定器、25,102,122・・・文バッファ、26・・・結果判定器、27・・・単語辞書、62・・・文バッファ、64・・・比較器、65,105,123・・・単語カウンタ、66・・・比較結果カウンタ、67,107・・・単語辞書、104・・・検索器、106・・・難易度積和器、171・・・多肢選択問題、172・・・各種データ記憶部、173・・・インターネット、174・・・条件選択部、175・・・コーパス記憶部、176・・・種文選択部、177・・・問題位置選択部、178・・・選択肢候補生成処理部、179・・・妥当性判定用データ検索部、180・・・妥当性判定部、181・・・整形部、182・・・関連情報付与処理部、183・・・出力部、184・・・既出選択肢記憶部、270・・・端末、271・・・サーバ、