(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024095912
(43)【公開日】2024-07-11
(54)【発明の名称】理論構造体モデル化方法、プログラム、およびシステム
(51)【国際特許分類】
G06Q 50/20 20120101AFI20240704BHJP
【FI】
G06Q50/20
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023000002
(22)【出願日】2023-01-01
(11)【特許番号】
(45)【特許公報発行日】2024-02-29
(71)【出願人】
【識別番号】523461748
【氏名又は名称】宮澤 優介
(74)【代理人】
【識別番号】100210804
【弁理士】
【氏名又は名称】榎 一
(72)【発明者】
【氏名】宮澤 優介
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC34
5L050CC34
(57)【要約】
【課題】論理問題の候補の作成に好適な理論構造体モデル化の技術を提供する。
【解決手段】
コンピュータシステムが実施する理論構造体モデル化方法であって、次のステップを備える。要素登録ステップは、理論構造体のメンバとして、理論の構成単位(以下「理論要素」という)を記憶する。推移登録ステップは、前記理論構造体の前記メンバとして、複数の前記理論要素の間における順序方向(以下「理論推移」という)を記憶する。判定ステップは、2つの前記理論要素(以下「理論要素1、理論要素2」とする)について、前記理論要素1を出発点として、前記理論推移の一つ以上を辿って、前記理論要素2を到達点とするルートが探索された場合に、『前記理論要素1から前記理論要素2に至る論理思考を問う問題は、問題候補(以下「推移可能性に関する論理問題」という)である』と判定する。
【選択図】
図14
【特許請求の範囲】
【請求項1】
コンピュータシステムが実施する理論構造体モデル化方法であって、
理論構造体のメンバとして、理論の構成単位(以下「理論要素」という)を記憶する要素登録ステップと、
前記理論構造体の前記メンバとして、複数の前記理論要素の間における順序方向(以下「理論推移」という)を記憶する推移登録ステップと、
2つの前記理論要素(以下「理論要素1、理論要素2」とする)について、前記理論要素1を出発点として、前記理論推移の一つ以上を辿って、前記理論要素2を到達点とするルートが探索された場合に、『前記理論要素1から前記理論要素2に至る論理思考を問う問題は問題候補(以下「推移可能性に関する論理問題」という)である』と判定する判定ステップと
を備えたことを特徴とする理論構造体モデル化方法。
【請求項2】
請求項1に記載の理論構造体モデル化方法であって、
前記理論構造体の前記メンバとして、前記理論構造体の他の前記メンバの一つ以上を集合要素とする集合体(以下「タグ集合」という)を記憶するタグ登録ステップを備え、
前記判定ステップは、
前記ルートの探索に「前記集合要素から前記タグ集合へ向かう包括方向」を追加し、前記ルートが探索された場合に、『前記理論要素1から前記理論要素2に至る論理思考を問う問題は問題候補(以下「拡大問題」という)である』と判定する拡大判定ステップを含む
ことを特徴とする理論構造体モデル化方法。
【請求項3】
請求項1に記載の理論構造体モデル化方法であって、
前記理論構造体の前記メンバとして、前記理論構造体の他の前記メンバの一つ以上を集合要素とする集合体(以下「タグ集合」という)を記憶するタグ登録ステップを備え、
前記判定ステップは、
前記ルートが探索された場合に、前記出発点と前記到達点の少なくとも一方に関する前記メンバを、同一の前記タグ集合に含まれる他の前記メンバに置き換えて派生させた問題を問題候補(以下「派生問題」という)として作成する派生作成ステップを含む
を備えたことを特徴とする理論構造体モデル化方法。
【請求項4】
請求項3に記載の理論構造体モデル化方法であって、
前記派生作成ステップは、前記派生問題について前記ルートを探索し、前記ルートの有無によって前記派生問題を選別して「選別済みの前記派生問題」を作成する
ことを特徴とする理論構造体モデル化方法。
【請求項5】
請求項1に記載の理論構造体モデル化方法であって、
前記判定ステップは、
「前記ルート上の経由数に基づく距離」、「前記ルート上の分岐箇所の数に基づく複雑度」、および「前記ルート上の分岐ごとの分割数に基づく多様度」からなる群の少なくとも一つを尺度に含む難易度を求める難易度評価ステップと、
規定される許容範囲に前記難易度が入らない前記ルートについては探索から除く難易度制限ステップとを含む
ことを特徴とする理論構造体モデル化方法。
【請求項6】
請求項1に記載の理論構造体モデル化方法であって、
前記要素登録ステップは、医学に関する試験問題の作成支援用に、前記理論要素に次の定義情報を付与して記憶する、
[病態]生体の状態
[症状]病態から生じる主観的なもの
[所見]病態を検査によって客観化したもの
[治療]症状の改善を目的に病態などを取り除く医療行為
[検査]所見を得るための医療行為
ことを特徴とする理論構造体モデル化方法。
【請求項7】
請求項6に記載の理論構造体モデル化方法であって、
前記理論構造体の前記メンバについて論理エラーを探索し、前記論理エラーを有する前記メンバは処理から省くエラー処理ステップを備え、
前記エラー処理ステップは、前記定義情報の間の順序関係のルールを規則化した医学ルール(以下「規定の医学ルール」という)を保持し、前記定義情報が付与された前記理論要素の間の前記理論推移について、前記定義情報の間の順序関係を前記医学ルールに照会し、前記医学ルールに反する前記理論推移を前記判定ステップの処理から除く
ことを特徴とする理論構造体モデル化方法。
【請求項8】
請求項1~7のいずれか一項に記載の理論構造体モデル化方法をコンピュータシステムに実行させる
ことを特徴とする理論構造体モデル化プログラム。
【請求項9】
理論構造体のメンバとして、理論の構成単位(以下「理論要素」という)を記憶する要素登録部と、
前記理論構造体の前記メンバとして、複数の前記理論要素の間における順序方向(以下「理論推移」という)を記憶する推移登録部と、
2つの前記理論要素(以下「理論要素1、理論要素2」とする)について、前記理論要素1を出発点として、前記理論推移の一つ以上を辿って、前記理論要素2を到達点とするルートが探索された場合に、『前記理論要素1から前記理論要素2に至る論理思考を問う問題は問題候補(以下「推移可能性に関する論理問題」という)である』と判定する判定部と
を備えたことを特徴とする理論構造体モデル化システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、理論構造体モデル化方法、理論構造体モデル化プログラム、および理論構造体モデル化システムに関する。
【背景技術】
【0002】
従来から、試験や学習用に問題を自動作成する問題作成支援の技術が知られている。
【0003】
例えば、特許文献1には「演習問題の作成に関する予め定めた規則を用意し、その規則に従ってユーザ(問題作成者)が作成した、正解を含む問題文からなる演習問題原稿ファイルを入力し、演習問題原稿ファイルから、上記規則に従って、正解を除いた問題文、正解/不正解を判定する演習問題を生成する。」旨の問題作成支援の技術が開示される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1のような先行技術では、ユーザ(問題作成者など)が、所定の規則に従った問題文を入力することによって、その規則に基づいて正解部分を自動的に隠すなどして、新たな問題を自動的に作成することが可能になる。
【0006】
しかしながら、このような先行技術では、解答者に論理思考を問う論理問題を新たに作成することが困難であった。
【0007】
例えば、医学に関する分野の試験では、患者の症状から病態を論理思考しつつ、その症状や病態に適切な検査が何かを論理思考し、その検査の結果である所見を踏まえて適切な治療を論理思考するなど・・一連の論理思考を組み合わせた論理問題が必要になる。
【0008】
また、一見して正解や不正解などと思わせつつも、思わぬ「落とし穴」や「引っ掛け」のある論理問題(以下「高度な論理問題」という)も作成する必要がある。
【0009】
なお、特許文献1には、上述した課題について開示はなく、それを解決するための技術手段についての記載や示唆も見当たらない。
【0010】
そこで、本発明は、上述した課題の少なくとも一つを解決するために、論理問題の候補の作成に好適な理論構造体モデル化の技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、コンピュータシステムが実施する理論構造体モデル化方法であって、次のステップを備える。
【0012】
要素登録ステップは、理論構造体のメンバとして、理論の構成単位(以下「理論要素」という)を記憶する。
【0013】
推移登録ステップは、前記理論構造体の前記メンバとして、複数の前記理論要素の間における順序方向(以下「理論推移」という)を記憶する。
【0014】
判定ステップは、2つの前記理論要素(以下「理論要素1、理論要素2」とする)について、前記理論要素1を出発点として、前記理論推移の一つ以上を辿って、前記理論要素2を到達点とするルートが探索された場合に、『前記理論要素1から前記理論要素2に至る論理思考を問う問題は、問題候補(以下「推移可能性に関する論理問題」という)である』と判定する。
【発明の効果】
【0015】
上述した解決手段では、理論要素および理論推移を素材として理論構造体のモデル化が行われる。この理論構造体において、2つの理論要素の間(理論要素1から前記理論要素2へ)に推移可能性があるか否かが判定される。ユーザは、この判定を参考にして、推移可能性に関する論理問題の絞り込みを行うことが可能になる。
【0016】
したがって、本発明によれば、論理問題の候補の作成に好適な理論構造体モデル化の技術が実現する。
【0017】
なお、上述した以外の課題、構成および効果の詳しい内容については、後述する実施形態において説明される。
【図面の簡単な説明】
【0018】
【
図1】
図1は、理論構造体TSのメンバを例示する図である。
【
図3】
図3は、理論推移のチェーン結合(直列の場合)を例示する図である。
【
図4】
図4は、理論推移のチェーン結合(分岐の場合)を例示する図である。
【
図5】
図5は、単体の理論要素を登録し管理する機能を例示する図である。
【
図6】
図6は、複理論要素を登録し管理する機能を例示する図である。
【
図7】
図7は、理論推移を登録し管理する機能を例示する図である。
【
図8】
図8は、単体のタグ集合を事前定義する機能を例示する図である。
【
図9】
図9は、タグ集合の包括方向を登録し管理する機能を例示する図である。
【
図10】
図10は、包括方向を削除する機能を例示する図である。
【
図11】
図11は、タグ集合を削除する機能を例示する図である。
【
図12】
図12は、理論推移を削除する機能を例示する図である。
【
図13】
図13は、理論要素を削除する機能を例示する図である。
【
図14】
図14は、理論構造体モデル化システム100を例示するブロック図である。
【
図15】
図15は、理論構造体TSのデータ構築の手順を例示する流れ図である。
【
図16】
図16は、論理思考の出発点と到達点がユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(1/2)である。
【
図17】
図17は、論理思考の出発点と到達点がユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(2/2)である。
【
図18】
図18は、論理思考の出発点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(1/2)である。
【
図19】
図19は、論理思考の出発点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(2/2)である。
【
図20】
図20は、論理思考の到達点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(1/2)である。
【
図21】
図21は、論理思考の到達点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図(2/2)である。
【
図22】
図22は、医療理論構造体を参考に例示する概略ブロック図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して、本発明の実施例を説明する。
【実施例0020】
《実施例1の背景説明》
最初に、実施例1の背景について説明する。
学問の各種分野では、論理的な思考を組み合わせた問題(論理問題)を作成する需要がある。この論理問題の作成には、複雑かつ多様な「論理的な思考」を組み合わせる必要があり、問題作成者の能力や熟練に頼ることが多かった。
【0021】
そこで、本発明者は、「論理的な思考」の場(フィールド)を模擬する理論構造体をコンピュータシステム上にデータ構築することで、論理問題の候補作成が可能であることを確かめた。
【0022】
さらに、この理論構造体を用いた論理問題の作成ルールを拡張することで、論理的に一見正解などと思わせつつも、思わぬ「落とし穴」や「引っ掛け」のある「高度な論理問題」の候補作成が可能であることも確かめた。
【0023】
《理論構造体に関する説明》
続いて、理論構造体のメンバ構成とその機能について、項目順に説明する。
【0024】
(※)理論構造体
理論構造体とは、理論要素を表すデータ群、理論推移を表すデータ群、およびタグ集合の包括関係を表すデータ群、その機能群などをメンバとして含む構造体(クラス)である。
【0025】
実施例1では、
図1に例示するように、理論構造体TSについて、理論要素および理論推移のデータ群を理論推移テーブルTRで管理し、タグ集合の包括関係のデータ群をタグテーブルTTで管理する。
【0026】
(※)理論要素
理論要素とは、理論(論理問題の出典元)の構成単位のこと。
実施例1では、理論要素として、論理問題を解く上での論理思考の「出発点」や「到達点」や「経由点」などの部品になりうる構成素材として、語句データや式データや表データや画像データや参照先リンクや固有IDなどが定義可能である。
【0027】
なお、理論要素には、素で記述された単理論要素の他に、2つ以上の理論要素を各種の論理演算(論理積「*」など)で組み合わせた複理論要素(例えば、理論要素1*理論要素2)も定義可能である。
【0028】
(※)理論推移(
図2参照)
理論推移とは、2つ以上の理論要素の間に順序方向「→」を付加するもの。
ここでは、2つまたは3つの理論要素について局所的に順序方向を定義したものを「素理論推移」という。2つの理論要素からなる素理論推移は「起点要素→終点要素」の局所的なルートとして定義される。また、3つの理論要素からなる素理論推移は「前点要素→起点要素→終点要素」からなる局所的なルートとして定義される。
【0029】
なお、ここでの理論推移は、厳密に真偽が定まる命題を定義するものに限定されない。例えば、扱う論理問題の分野によっては、おおよその傾向(ファジー)、確率的な推移、相関方向、または仮説などの順序方向を定義するものでもよい。
【0030】
(※)理論推移の結合
理論推移の結合とは、複数の理論推移に共通する理論要素を基準にチェーン結合「+」することによって、理論推移のルートを拡大する手続きのこと。
【0031】
図3に例示するケースでは、第1の引数である理論推移Aの終端と、第2の引数である理論推移Bの始端が、理論要素3によって共通する。この場合、理論要素3を基準にチェーン結合された理論推移(A+B)は、直列してチェーン結合される。
【0032】
また、
図4に例示するケースでは、第1の引数である理論推移Aの中間と、第2の引数である理論推移Cの始端が、理論要素2によって共通する。この場合、理論要素2を基準にチェーン結合された理論推移(A+C)は、経由点である理論要素2から分岐する形にチェーン結合される。
【0033】
(※)タグ集合の登録
タグ集合の登録とは、一つ以上のメンバを集合要素とする集合体(タグ付けされたタグ集合)を定義する手続きのこと。登録済みのタグ集合もメンバとして扱うことによって、タグ集合に他のタグ集合を階層的(上位タグ、下位タグ)に含める手続きも可能になる。
【0034】
ここで、タグ集合が集合要素(理論要素/他のタグ集合/理論推移)を包含するタグ関係にある場合、集合要素からタグ集合に向かう方向のことを「包括方向」という。
【0035】
(※)理論要素の論理エラーを判定する機能
理論要素の論理エラーの判定とは、理論構造体TSに含まれる理論要素が孤立状態(理論推移や包括方向が未定義)にあるか否かによって、理論要素について論理エラーの有無を判定する手続きのこと。孤立状態の理論要素は、理論構造体TSを構築する工程においては当然発生する。しかし、そのまま残存して蓄積される孤立状態については、論理問題の素材とはなりづらいため、適時に論理エラーと判定して削除することが好ましい。
【0036】
なお、存在しない固有IDを参照する理論要素についても、論理的な整合性を欠くため、論理エラーと判定する。
【0037】
実施例1では、論理エラーと判定された理論要素を処理から省くことによって、論理問題の候補抽出の処理を迅速化する。
【0038】
(※)理論推移の論理エラーを判定する機能
論理問題の分野における既知のルールと、理論構造体TSに含まれる理論推移とを照合することによって、理論推移について論理エラーの有無を判定する手続きのこと。
【0039】
例えば、後述するように、規定(既定)の医学ルールでは、「所見」は「検査」のみから得られるものである。そのため、所見に分類される理論要素が、検査以外の理論要素から理論推移している場合、その理論推移は論理エラーと判定される。
【0040】
なお、存在しない固有IDを参照する理論推移についても、論理的な整合性を欠くため、論理エラーと判定する。
【0041】
実施例1では、論理エラーと判定された理論推移を処理から省くことによって、論理問題の候補抽出の処理を迅速化しつつ、論理問題の候補の品質を高める。
【0042】
(※)理論推移テーブルTR
実施例1において、理論推移テーブルTRとは、理論要素および理論要素を記憶するためのデータテーブル(データベース)のこと。
【0043】
理論推移テーブルTRは、次の列項目(カラム)を含む行データ(レコード)の群から構成される。
列1:固有ID:レコード毎に付与されるID情報
列2:前点要素
列3:起点要素
列4:終点要素
列5:補足事項:補足や定義や分類や特徴付けや問題文例など任意の情報を記憶可能
【0044】
(※)タグテーブルTT
実施例1において、タグテーブルTTとは、タグ集合と、そのタグ集合が包含する集合要素(理論要素、他のタグ集合、理論推移)との間のタグ関係を、包括方向として記憶するためのデータテーブル(データベース)のこと。
【0045】
タグテーブルTTは、次の列項目(カラム)を含む行データ(レコード)の群から構成される。
列1:固有ID:レコード毎に付与されるID情報
列2:集合要素
列3:タグ集合
列4:補足事項:補足や定義や分類や特徴付けや問題文例など任意の情報を記憶可能
【0046】
(※)単体の理論要素を登録し管理する機能
実施例1において、単体の理論要素は、理論推移テーブルTRに「前点要素なし、起点要素が単体の理論要素、終点要素なし」というレコード形式で登録され管理される。
図5に例示するアルゴリズムでは、次のようになる。
【0047】
ステップS01:登録すべき単体の理論要素が既に理論推移テーブルTR内に存在するか否かをチェックする。既に存在する場合は、登録せずに処理を完了する。
【0048】
ステップS02:理論推移テーブルTRに、単体の理論要素のレコードとして「前点要素なし、起点要素が単体の理論要素、終点要素なし」を新規作成し登録する。
【0049】
ステップS03:新たに登録したレコード(単体の理論要素)に固有IDを割り振る。
【0050】
なお、後述するタグ集合についても、メンバの一種として、理論要素と同様に理論推移テーブルTRに登録することも可能である。その場合、「タグ集合→理論要素」や、「タグ集合→タグ集合」といった理論推移を理論推移テーブルTRで登録管理することが可能になる。
【0051】
(※)複理論要素を登録し管理する機能
複理論要素(=理論要素1*理論要素2)は、理論推移テーブルTRに「前点要素なし、起点要素が複理論要素、終点要素なし」というレコード形式で登録され管理される。
図6に例示するアルゴリズムでは、次のようになる。
【0052】
ステップS11:登録すべき複理論要素が既に理論推移テーブルTR内に存在するか否かをチェックする。既に存在する場合は、登録せずに処理を完了する。
【0053】
ステップS12:複理論要素を構成する理論要素1、2が理論推移テーブルTRに存在しない場合、理論要素1、2の登録を実施する。
【0054】
ステップS13:理論推移テーブルTRに、複理論要素のレコードとして「前点要素なし、起点要素が複理論要素、終点要素なし」を新規作成し登録する。
【0055】
ステップS14:新たに登録したレコード(複理論要素)に固有IDを割り振る。
【0056】
(※)理論推移を登録し管理する機能
2つの理論要素の順序方向を示す理論推移(理論要素1→理論要素2)は、理論推移テーブルTRに「前点要素なし、起点要素が理論要素1、終点要素が理論要素2」というレコード形式で登録され管理される。
【0057】
3つの理論要素の順序方向を示す理論推移(理論要素1→理論要素2→理論要素3)は、理論推移テーブルTRに「前点要素が理論要素1、起点要素が理論要素2、終点要素が理論要素3」というレコード形式で登録され管理される。
図7に例示するアルゴリズムでは、次のようになる。
【0058】
ステップS21:登録すべき理論推移が既に理論推移テーブルTR内に存在するか否かをチェックする。既に存在する場合は、登録せずに処理を完了する。
【0059】
ステップS22:理論推移を構成する理論要素1~3が理論推移テーブルTRに存在しない場合、理論要素1~3の登録を実施する。
【0060】
ステップS23:理論推移テーブルTRに、理論推移のレコードを上述した形式で新規作成し登録する。
【0061】
ステップS24:新たに登録したレコード(理論推移)に固有IDを割り振る。
【0062】
(※)タグ集合を事前定義する機能
単体のタグ集合は、タグテーブルTTに「集合要素なし、タグがタグ集合」というレコード形式で定義される。このように集合要素が空欄のタグ集合は、タグ集合の事前の定義に該当する。
図8に例示するアルゴリズムでは、次のようになる。
【0063】
ステップS31:登録すべき単体のタグ集合が既にタグテーブルTT内に存在するか否かをチェックする。既に存在する場合は、登録せずに処理を完了する。
【0064】
ステップS32:タグテーブルTTに、単体のタグテーブルTTのレコードとして「集合要素なし、タグがタグ集合」を新規作成し登録する。
【0065】
ステップS33:新たに登録したレコード(単体のタグテーブルTT)に固有IDを割り振る。
【0066】
(※)包括方向を登録し管理する機能
集合要素(理論要素、他のタグ集合、理論推移のいずれか)からタグ集合に向かう「包括方向」は、タグテーブルTTに「集合要素、タグ集合」というレコード形式で登録され管理される。
図9に例示するアルゴリズムでは、次のようになる。
【0067】
ステップS41:登録すべき包括方向が既にタグテーブルTT内に存在するか否かをチェックする。既に存在する場合は、登録せずに処理を完了する。
【0068】
ステップS42:包括方向の登録に必要なメンバが理論推移テーブルTRに存在しない場合、それを理論推移テーブルTRに登録する。
【0069】
ステップS43:包括方向の登録に必要なタグ集合がタグテーブルTTに存在しない場合、単体のタグ集合としてタグテーブルTTに登録する。
【0070】
ステップS44:タグテーブルTTに、包括方向のレコードとして「集合要素、タグ集合」を新規作成し登録する。
【0071】
ステップS45:新たに登録したレコード(包括方向)に固有IDを割り振る。
【0072】
(※)包括方向を削除する機能
不要になった包括方向を削除することも可能である。
図10に例示するアルゴリズムでは、次のようになる。
【0073】
ステップS51:削除すべき包括方向のレコードと固有IDを取得する。
【0074】
ステップS52:ステップS51で取得した固有IDを参照するレコードを取得する。
【0075】
ステップS53:ステップS51、S52で取得したレコードをタグテーブルTTから削除する。
【0076】
ステップS54:存在しない固有IDを参照するレコード(論理エラー)を理論推移テーブルTRおよびタグテーブルTTから逐次に削除する処理を、論理エラーがなくなるまで繰り返す。
【0077】
(※)タグ集合を削除する機能
不要になったタグ集合を削除することも可能である。
図11に例示するアルゴリズムでは、次のようになる。
【0078】
ステップS61:削除すべき単体のタグ集合のレコードと固有IDを取得する。
【0079】
ステップS62:ステップS61で取得した固有IDを参照する包括方向などのレコードを取得する。
【0080】
ステップS63:ステップS61、S62で取得したレコードをタグテーブルTTから削除する。
【0081】
ステップS64:存在しない固有IDを参照するレコード(論理エラー)を理論推移テーブルTRおよびタグテーブルTTから逐次に削除する処理を、論理エラーがなくなるまで繰り返す。
【0082】
(※)理論推移を削除する機能
不要になった理論推移を削除することも可能である。
図12に例示するアルゴリズムでは、次のようになる。
【0083】
ステップS71:削除すべき理論推移のレコードと固有IDを取得する。
【0084】
ステップS72:ステップS71で取得した固有IDを参照するレコードを理論推移テーブルTR及びタグテーブルTTから取得する。
【0085】
ステップS73:ステップS71、S72で取得したレコードを理論推移テーブルTRおよびタグテーブルTTから削除する。
【0086】
ステップS74:存在しない固有IDを参照するレコード(論理エラー)を理論推移テーブルTRおよびタグテーブルTTから逐次に削除する処理を、論理エラーがなくなるまで繰り返す。
【0087】
(※)理論要素を削除する機能
不要になった理論要素を削除することも可能である。
図13に例示するアルゴリズムでは、次のようになる。
【0088】
ステップS81:削除すべき理論要素のレコードと固有IDを取得する。
【0089】
ステップS82:ステップS81で取得した固有IDを参照するレコードを理論推移テーブルTRおよびタグテーブルTTから取得する。
【0090】
ステップS83:ステップS71、S72で取得したレコードを理論推移テーブルTRおよびタグテーブルTTから削除する。
【0091】
ステップS84:存在しない固有IDを参照するレコード(論理エラー)を理論推移テーブルTRおよびタグテーブルTTから逐次に削除する処理を、論理エラーがなくなるまで繰り返す。
【0092】
(※)推移可能性を判定する機能
推移可能性の判定とは、2つの理論要素(理論要素1、理論要素2)について、理論要素1を出発点として、理論推移の一つ以上を辿って、理論要素2を到達点とするルートが存在するか否かを判定することによって、推移可能性の有無を判定する手続きのこと。
【0093】
ここでは、理論要素1から理論要素2への推移可能性があることを、途中の理論要素を省いて「理論要素1-...→理論要素2」と表記する。
【0094】
(※)拡大推移可能性の判定
拡大推移可能性の判定とは、2つの理論要素(理論要素1、理論要素2)に推移可能性がないなどの場合に、理論要素1を出発点として、理論推移および包括方向からなる群の一つ以上を辿って、理論要素2を到達点とするルートが存在するか否かを判定することによって、拡大推移可能性の有無を判定する手続きのこと。
【0095】
ここでは、理論要素1から理論要素2への拡大推移可能性があることを、途中の理論要素を省いて「理論要素1→→理論要素2」と表記する。
【0096】
(※)類似度
2つの理論要素が同一のタグ集合に含まれているとき、「2つの理論要素は類似度が高い」という。
さらに、2つの理論推移として、理論推移A(=起点要素1→終点要素2)と理論推移B(=起点要素3→終点要素4)があるとき、次の条件のいずれかを満たす場合に「2つの理論推移は類似度が高い」という。
・理論推移Aと理論推移Bが同一のタグ集合に含まれる。
・起点要素1と起点要素3が同一のタグ集合に含まれる。
・終点要素2と終点要素4が同一のタグ集合に含まれる。
【0097】
(※)論理問題
基本の論理問題とは、「理論要素1を論理思考の出発点とし、理論要素2を論理思考の到達点とするルート」が適正か否かを考えさせることで、解答者の論理思考を正誤式や記述式や穴埋め式や選択式などで問う問題のこと。なお、基本の論理問題を複数組み合わせることによって、多肢択一形式などの論理問題も構成可能である。
【0098】
(※)推移可能性に関する論理問題の作成
理論要素1を出発点として、理論推移の一つ以上を辿って、理論要素2を到達点とするルートを探索する。ルートが探索された場合に、ルートの出発点と到達点を「推移可能性がある論理問題」として作成する。一方、ルートが探索されなかった場合は「推移可能性がない論理問題」として作成する。
【0099】
推移可能性が(ある/ない)の論理問題は、理論要素1から理論要素2に至る論理思考を辿ることができるか否かを解答者に問うタイプの論理問題になる。このように作成された論理問題を問題候補(推移可能性に関する論理問題)として提示することによって、問題作成するユーザを支援することが可能になる。
【0100】
(※)拡大問題の作成
2つの理論要素(理論要素1、理論要素2)に推移可能性がないなどの場合に、理論要素1を出発点として、理論推移および包括方向からなる群の一つ以上を辿って、理論要素2を到達点とするルートを探索する。ルートが探索された場合に、ルートの出発点と到達点を「拡大推移可能性がある論理問題」として作成する。一方、ルートが探索されなかった場合は「拡大推移可能性がない論理問題」として作成する。
【0101】
この拡大推移可能性が(ある/ない)の問題候補(拡大問題)は、正しい理論推移に類似した方向に解答者を誘導(誤導)するタイプの論理問題にもなる。したがって、一見して正解と思わせつつも、思わぬ「落とし穴」や「引っ掛け」のある高度な論理問題の候補になる。このように作成された拡大問題を提示することによって、ユーザによる高度な論理問題の作成支援を行うことが可能になる。
【0102】
特に、包括方向については、集合要素からタグ集合へ視野を拡大する方向になるため、『上位概念化』や『階層化』といった論理思考を模擬することができる。そのため、この包括方向をルートに加えた拡大問題は、解答者に対して『上位概念化』や『階層化』といった論理思考を問う高度な論理問題になりうる。
【0103】
(※)派生問題の作成
ルートが探索された場合に、出発点と到達点の少なくとも一方に関係するメンバを、同一のタグ集合に含まれる「類似度の高いメンバ」に置き換えることによって、派生問題を作成する。作成された派生問題は、解答者が派生元の論理問題に似て勘違いしやすいため、高度な論理問題の候補になる。このように作成された派生問題を提示することによって、ユーザによる高度問題の作成支援を行うことが可能になる。
【0104】
(※)選別済みの派生問題の作成
作成される派生問題についてルートを探索し、ルートの有無によって派生問題を選別する。特に、ルートが無い派生問題については、(拡大)推移可能性を有する派生元の論理問題に似て勘違いしやすい上に、解答者の意表をついて「(拡大)推移可能性を有しない」といった予想外の答えになるため、解答者の論理思考能力をみる上で、一段と高度な問題になる。
【0105】
(※)論理問題の難易度とその制限
上述したように各種の論理問題を作成する上で、ルートの探索が実施される。このルートを尺度にして、論理問題の難易度が定義可能になる。
【0106】
実施例1では、次に示すルートの尺度の一つまたは組み合わせ(重み付け評価関数など)に基づいて、論理問題の難易度を定義する。
【0107】
・ルート上の経由数に基づく距離:ルート上の経由数が多いほど、解答者は論理問題を解くために論理思考を段階的に重ねる必要がある。そのため、ルート上の経由数に基づく距離が長いほど、論理問題の難易度は高くなる。
【0108】
・ルート上の分岐箇所の数に基づく複雑度:ルート上の分岐箇所において、解答者は論理思考の岐路に立たされる。そのため、ルート上の分岐箇所の数に基づく複雑度が高いほど、論理問題の難易度は高くなる。
【0109】
・ルート上の分岐ごとの分割数(の和や積など)に基づく多様度:ルート上の分岐箇所ごとの分割数(の和や積)が多いほど、解答者は到達点に至るまでに考慮すべき「場合分けの数」が多くなる。そのため、ルート上の分岐ごとの分割数(の和や積など)に基づく多様度が大きいほど、論理問題の難易度は高くなる。
【0110】
さらに、実施例1では、規定される許容範囲に前記難易度が入らないルートについては、論理問題であるか否かの判定から除く。このような処理によって、解答者にとって簡単過ぎて自明な論理問題や、難しすぎる論理問題を避けて、難易度が許容範囲にある論理問題を作成することが可能になる。
【0111】
《実施例1の全体構成》
次に、実施例1の全体構成について順に説明する。
図14は、理論構造体モデル化システム100の構成を例示するブロック図である。
【0112】
図14において、理論構造体モデル化システム100は、要素登録部110、推移登録部120、タグ登録部130、判定部140、操作部150、作成支援部160、およびエラー処理部170を備える。なお、判定部140は、拡大判定部141、派生作成部142、難易度評価部143、および難易度制限部144を備える。
【0113】
これらの内、要素登録部110は、理論構造体TSのメンバとして、理論の構成単位(理論要素)を、理論推移テーブルTRに記憶する。
【0114】
推移登録部120は、理論構造体TSのメンバとして、複数の理論要素の間における順序方向(理論推移)を、理論推移テーブルTRに記憶する。
【0115】
タグ登録部130は、理論構造体TSのメンバとして、理論構造体TSの他のメンバの一つ以上を集合要素とする集合体(タグ集合)や、タグ集合の集合要素を参照可能とする包括方向を、タグテーブルTTに記憶する。
【0116】
判定部140は、2つの理論要素(理論要素1、理論要素2)について、理論要素1を出発点として、理論推移の一つ以上を辿って、理論要素2を到達点とするルートを探索する。判定部140は、ルートが探索された場合に、理論要素1から理論要素2に至る論理思考を問う問題を「推移可能性がある論理問題」と判定する。また、判定部140は、ルートが探索されなかった場合に、理論要素1から理論要素2に至る論理思考を問う問題を「推移可能性がない論理問題」と判定する。
【0117】
拡大判定部141は、ルートの探索に「集合要素からタグ集合へ向かう包括方向」を追加する。追加によって新たにルートが探索された場合、理論要素1から理論要素2に至る論理思考を問う問題を「拡大推移可能性がある論理問題(拡大問題)」と判定する。また、拡大判定部141は、ルートが探索されなかった場合、理論要素1から理論要素2に至る論理思考を問う問題を「拡大推移可能性がない論理問題(拡大問題)」と判定する。
【0118】
派生作成部142は、ルートが探索された場合に、出発点と到達点の少なくとも一方(または両方)に関係するメンバを、同一のタグ集合に含まれる他のメンバに置き換える。派生作成部142は、このような置き換えによって、派生問題(派生した論理問題)を作成する。
【0119】
さらに、派生作成部142は、派生問題についてルートを探索し、ルートの有無によって派生問題の選別も行う。
【0120】
難易度評価部143は、「ルート上の経由数に基づく距離」、「ルート上の分岐箇所の数に基づく複雑度」、および「ルート上の分岐ごとの分割数に基づく多様度」からなる群の少なくとも一つを尺度に含む難易度を求める。
【0121】
難易度制限部144は、規定される許容範囲に難易度が入らないルートについては、論理問題であるか否かの判定から除く制限動作を行う。
【0122】
操作部150は、理論構造体TSのメンバについて、データ読み込み、手入力による登録、変更、削除、論理演算、データ保存などからなる群の少なくとも一つの編集操作をユーザから受け付ける。操作部150は、この編集操作に従って理論構造体TSのメンバにデータ処理を施す。
【0123】
作成支援部160は、判定部140において判定された論理問題(推移可能性に関する論理問題、拡大問題、派生問題、および選別された派生問題など)を試験問題の候補としてユーザに提示する。この提示動作によって、試験問題の作成支援が行われる。
【0124】
エラー処理部170は、理論構造体TSのメンバについて論理エラーを判定し、論理エラーを有するメンバを削除または無効化(処理から省くこと)する処理を行う。例えば、試験科目の分野別に作成された理論構造体TSでは、エラー処理部170が、分野別のメンバについて規則化された規定の分野ルールに、理論構造体TSのメンバを照会することによって、分野ルールに反するメンバを論理エラーとして削除または無効化する処理を行ってもよい。
【0125】
なお、上述した理論構造体モデル化システム100は、ハードウェアとしてCPU(Central Processing Unit)やメモリなどを備えたコンピュータシステムとして構成してもよい。このハードウェアがコンピュータ可読媒体に記憶された「理論構造体モデル化プログラム」を実行することによって、理論構造体モデル化方法が実行される。
【0126】
このようなハードウェアの一部または全部については、専用の装置、機械学習マシン、DSP(Digital Signal Processor)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)、PLD(programmable logic device)などで代替してもよい。
【0127】
また、ハードウェアやプログラムの一部または全部をクラウド上のサーバに集中または分散してクラウドシステムを構成することによって、複数のクライアント端末それぞれに対して「理論構造体モデル化方法」の情報サービスを提供してもよい。
【0128】
《実施例1の動作の流れ》
続いて、実施例1の全体動作について順に説明する。
なお、ここでの説明では、個々の動作の主体を明確化するため、請求項中の『〇△ステップ』に相当する動作を、『〇△部』を主体にした動作として記述する。
【0129】
《動作その1:理論構造体TSのデータ構築》
図15は、理論構造体TSのデータ構築の手順を例示する流れ図である。
以下、
図15に示すステップ番号に沿って、理論構造体TSの構築について説明する。
【0130】
ステップS101: 操作部150は、GUI画面などを介して、理論構造体TSのメンバ(理論要素・理論推移・タグ集合)に関するデータファイルの読み込みや、手入力によるメンバ登録などのユーザ指示を受け付ける。
【0131】
ステップS102: 要素登録部110は、データファイルの読み込みや手入力に応じて、メモリ上の理論推移テーブルTRに理論要素のレコードを構築する。また、推移登録部120も、データファイルの読み込みや手入力に応じて、理論推移テーブルTRに理論推移のレコードを構築する。
【0132】
ステップS103: タグ登録部130は、データファイルの読み込みや手入力に応じて、メモリ上のタグテーブルTTにタグ集合や包括方向のレコードを構築する。
【0133】
ステップS104: ユーザは、GUI画面などを介して、構築された理論構造体TSに対する編集操作を行う。操作部150は、この編集操作があった場合、ステップS105に動作を移行する。一方、この編集操作がない場合、操作部150はステップS108に動作を移行する。
【0134】
ステップS105: 操作部150は、理論構造体TSのメンバについて、変更・追加・削除・論理演算・データ保存などの編集操作をユーザから受け付ける。
【0135】
ステップS106: 要素登録部110は、変更・追加・削除・論理演算・データ保存などの編集操作に従って、理論推移テーブルTRの理論要素のレコードに対するデータ処理を行う。また、推移登録部120も、変更・追加・削除・論理演算・データ保存などの編集操作に従って、理論推移テーブルTRの理論推移のレコードに対するデータ処理を行う。
【0136】
ステップS107: タグ登録部130は、変更・追加・削除・論理演算・データ保存などの編集操作に従って、タグテーブルTTのタグ集合や包括方向のレコードに対するデータ処理を行う。
【0137】
ステップS108: エラー処理部170は、理論構造体TSのメンバ(理論要素・理論推移・タグ集合)について、論理エラーの判定を行う。例えば、理論推移や包括方向がどちらも未定義(孤立状態)の論理要素や、存在しない固有IDを参照するメンバが論理エラーとして検出される。エラー処理部170は、これらの論理エラーを有するメンバの判定と削除(または無効化)を、論理エラーを有するメンバがなくなるまで繰り返す。
【0138】
上述した一連の動作手順を適宜に繰り返すことによって、理論構造体TSのデータ構築が完了する。
【0139】
《動作その2:問題の作成処理(論理思考の出発点と到達点の指定あり)》
図16および
図17は、論理思考の出発点と到達点がユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図である。
【0140】
以下、
図16および
図17に示すステップ番号に沿って、この処理動作を説明する。
【0141】
ステップS201: 判定部140は、論理思考の出発点として理論要素1のユーザ指定を取得し、到達点として理論要素2のユーザ指定を取得する。
【0142】
ステップS202: 難易度制限部144は、論理問題の難易度の許容範囲についてユーザ指定を取得する。
【0143】
ステップS203: 判定部140は、理論要素1を出発して、理論推移の一つ以上を順方向に辿って、理論要素2に到達する最短ルートの探索を開始する。
【0144】
ステップS204: 難易度評価部143は、探索中のルートについて、「ルート上の経由数に基づく距離」、「ルート上の分岐箇所の数に基づく複雑度」、および「ルート上の分岐ごとの分割数に基づく多様度」のいずれか、または組み合わせ(重み付け加算など)を尺度として難易度の評価を行う。
【0145】
ステップS205: 難易度制限部144は、探索中のルートの難易度が許容範囲の上限を上回るか否かを監視する。許容範囲の上限以下であれば、難易度制限部144は、ステップS206に動作を進める。一方、許容範囲の上限を上回った場合は、難易度制限部144は、ユーザの想定しない難し過ぎる問題になると判定して、ステップS203のルート探索を中止し、論理問題の判定(ステップS208)を行わずに、ステップS210に動作を移行する。
【0146】
ステップS206: 判定部140は、最短ルートを発見すると、ステップS207に動作を進める。一方、判定部140は、理論要素1を出発して、理論推移の一つ以上を順方向に辿って、理論要素2に到達するルートが発見できない(存在しない)場合、理論要素1から理論要素2に至る論理思考を問う問題を「推移可能性がない論理問題」と判定する。この場合、判定部140は、ステップS203のルート探索を完了し、ステップS210に動作を移行する。
【0147】
ステップS207: 難易度制限部144は、最短ルートの難易度が許容範囲の下限を下回るか否かを判定する。許容範囲の下限以上であれば、難易度制限部144は、ステップS208に動作を進める。一方、許容範囲の下限を下回った場合は、難易度制限部144は、ユーザの想定しない簡単過ぎる問題と判定して、論理問題の判定(ステップS208)を行わずに、ステップS210に動作を移行する。
【0148】
ステップS208: 判定部140は、理論要素1から理論要素2に至る論理思考を問う問題を問題候補(推移可能性がある論理問題)と判定する。この判定の後、判定部140は、ステップS230に動作を進める。(なお、判定部140は、理論要素1と理論要素2の間に拡大推移可能性の更に短いルートを見つけるため、ステップS210に動作を移行してもよい。)
【0149】
ステップS210: 拡大判定部141は、理論要素1を出発して、理論推移および包括方向の一つ以上を順方向に辿って、理論要素2に到達する最短ルートの探索を開始する。先のルート探索と異なる点は、ルートに「集合要素からタグ集合に向かう包括方向」が選択可能な点である。
【0150】
ステップS211: 難易度評価部143は、探索中のルートについて、「ルート上の経由数に基づく距離」、「ルート上の分岐箇所の数に基づく複雑度」、および「ルート上の分岐ごとの分割数に基づく多様度」のいずれか、または組み合わせ(重み付け加算など)を尺度として難易度の評価を行う。ここでの難易度の扱いは、拡大推移可能性であることを考慮して、先の難易度の扱いとは異なる評価計算や許容範囲の設定で行ってもよい。
【0151】
ステップS212: 難易度制限部144は、探索中のルートの難易度が許容範囲の上限を上回るか否かを監視する。許容範囲の上限以下であれば、難易度制限部144は、ステップS213に動作を進める。一方、許容範囲の上限を上回った場合は、難易度制限部144は、ユーザの想定しない難し過ぎる問題になると判定して、ステップS210のルート探索を中止し、論理問題の判定(ステップS215)を行わずに、ステップS220に動作を移行する。
【0152】
ステップS213: 拡大判定部141は、最短ルートを発見すると、ステップS214に動作を進める。一方、拡大判定部141は、理論要素1を出発して、理論推移および包括方向の一つ以上を順方向に辿って、理論要素2に到達するルートが発見できない(存在しない)場合、理論要素1から理論要素2に至る論理思考を問う問題を拡大問題(拡大推移可能性がない論理問題)と判定する。この場合、拡大判定部141は、ステップS210のルート探索を完了し、ステップS220に動作を移行する。
【0153】
ステップS214: 難易度制限部144は、最短ルートの難易度が許容範囲の下限を下回るか否かを判定する。許容範囲の下限以上であれば、難易度制限部144は、ステップS215に動作を進める。一方、許容範囲の下限を下回った場合は、難易度制限部144は、ユーザの想定しない簡単過ぎる問題と判定して、論理問題の判定(ステップS215)を行わずに、ステップS220に動作を移行する。
【0154】
ステップS215: 拡大判定部141は、理論要素1から理論要素2に至る論理思考を問う問題を拡大問題(拡大推移可能性がある論理問題)と判定する。この判定の後、拡大判定部141は、ステップS230に動作を進める。
【0155】
ステップS220: このステップでは、理論要素1を出発して理論要素2に到達するルートは、包括方向にルート探索を拡大しても発見できなかった。そこで、作成支援部160は、理論要素1から理論要素2に至る論理思考のルートが見いだせない旨をユーザに情報提示して、理論要素1、2の指定変更をユーザに勧める形でユーザの問題作成を支援する。
【0156】
ステップS221: 作成支援部160は、理論要素1、2を基準に派生問題を作成するか否かを、GUI画面などを介してユーザに確認する。派生問題を作成する場合、作成支援部160はステップS230に動作を移行する。一方、派生問題を作成しない場合、作成支援部160は動作を一旦完了し、次のユーザからの指示を待機する。
【0157】
ステップS230: 派生作成部142は、理論要素1(出発点)と理論要素2(到達点)の少なくとも一方に関するメンバを、同一のタグ集合に含まれる他のメンバに置き換えることによって、派生した論理問題(派生問題)を一つ以上作成する。
【0158】
ステップS231: 派生作成部142は、作成した派生問題についてルート(推移可能性または拡大推移可能性)を探索し、ルートの有無によって派生問題を選別して「選別済みの派生問題」を得る。
【0159】
ステップS232: 作成支援部160は、ここまでに得られた論理問題を、種類別(推移可能性に関する論理問題、拡大問題、派生問題、選別済みの派生問題)と難易度の情報と共に、ユーザに情報提供することによって、ユーザの問題作成を支援する。
【0160】
上述した一連の動作手順によって、論理思考の出発点と到達点が ユーザ指示された場合の論理問題の自動作成処理が完了する。
【0161】
《動作その3:問題の作成処理(論理思考の出発点のみ指定あり)》
図18および
図19は、論理思考の出発点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図である。
【0162】
以下、
図18および
図19に示すステップ番号に沿って、この処理動作を説明する。
【0163】
ステップS301: 判定部140は、論理思考の出発点として理論要素1のユーザ指定を取得する。
【0164】
ステップS302: 難易度制限部144は、論理問題の難易度の許容範囲についてユーザ指定を取得する。
【0165】
ステップS303: 判定部140は、理論要素1を出発点として、難易度の許容範囲で理論推移を順方向に辿る全ルートを探索する。
【0166】
ステップS304: 判定部140は、全ルートの探索を完了すると、ステップS305に動作を進める。一方、判定部140は、理論要素1を出発点として、難易度の許容範囲で理論推移を順方向に辿るルートが発見できない(存在しない)場合、ステップS303のルート探索を中止し、ステップS310に動作を移行する。
【0167】
ステップS305: 判定部140は、探索された全ルートの到達点をそれぞれ理論要素2とする。
【0168】
ステップS306: 判定部140は、理論要素1から理論要素2それぞれに至る論理思考を問う問題を「推移可能性がある論理問題」とそれぞれ判定する。この判定の後、判定部140は、ステップS330に動作を進める。(なお、判定部140は、理論要素1を出発点として、拡大推移可能性のルートを順に辿って到達可能な理論要素2を更に見つけるため、ステップS310に動作を移行してもよい。)
【0169】
ステップS310: 拡大判定部141は、理論要素1を出発点として、難易度の許容範囲で理論推移および包括方向を順方向に辿る全ルートを探索する。先のルート探索と異なる点は、ルートに「集合要素からタグ集合に向かう包括方向」が選択可能な点である。なお、ここでの難易度の扱いは、拡大推移可能性であることを考慮して、先の難易度の扱いとは異なる評価計算や許容範囲の設定で行ってもよい。
【0170】
ステップS311: 拡大判定部141は、全ルートの探索を完了すると、ステップS312に動作を進める。一方、拡大判定部141は、理論要素1を出発点として、難易度の許容範囲で理論推移を順方向に辿るルートが発見できない(存在しない)場合、ステップS310のルート探索を中止し、ステップS320に動作を移行する。
【0171】
ステップS312: 拡大判定部141は、探索された全ルートの到達点をそれぞれ理論要素2とする。
【0172】
ステップS313: 判定部140は、理論要素1から理論要素2それぞれに至る論理思考を問う問題を拡大問題(拡大推移可能性がある論理問題)とそれぞれ判定する。この判定の後、判定部140は、ステップS330に動作を進める。
【0173】
ステップS320: このステップでは、理論要素1を出発して難易度の許容範囲で到達可能なルートは、包括方向にルート探索を拡大しても発見できなかった。そこで、作成支援部160は、理論要素1を論理思考の出発点にしてはルートが見いだせない旨をユーザに情報提示して、理論要素1の指定変更をユーザに勧める形でユーザの問題作成を支援する。
【0174】
ステップS321: 作成支援部160は、理論要素1を基準に派生問題を作成するか否かを、GUI画面などを介してユーザに確認する。派生問題を作成する場合、作成支援部160はステップS322に動作を進める。一方、派生問題を作成しない場合、作成支援部160は動作を一旦完了し、次のユーザからの指示を待機する。
【0175】
ステップS322: 派生作成部142は、理論要素1を同一のタグ集合に含まれる他の理論要素に置き換える。派生作成部142は、置き換えた理論要素についてステップS303~313と同様にルート探索を行い、推移可能性または拡大推移可能性を有する派生問題を作成する。この動作の後に、派生作成部142は、ステップS331に動作を移行する。
【0176】
ステップS330: 派生作成部142は、理論要素1(出発点)と理論要素2(到達点)の少なくとも一方に関するメンバを、同一のタグ集合に含まれる他のメンバに置き
換えることによって、派生した論理問題(派生問題)を作成する。
【0177】
ステップS331: 派生作成部142は、作成した派生問題について推移可能性(または拡大推移可能性)のルートを探索し、そのルートの有無によって派生問題を選別し、選別済みの派生問題を得る。(なお、派生作成部142は、探索されたルートが、推移可能性のルートか否か、拡大推移可能性のルートか否かによって派生問題を更に選別してもよい。)
【0178】
ステップS332: 作成支援部160は、ここまでに得られた論理問題を、種類別(推移可能性に関する論理問題、拡大問題、派生問題、選別済みの派生問題)と難易度の情報と共に、ユーザに情報提供することによって、ユーザの問題作成を支援する。
【0179】
上述した一連の動作手順によって、論理思考の出発点のみがユーザ指示された場合の論理問題の自動作成処理が完了する。
【0180】
《動作その4:問題の作成処理(論理思考の到達点のみ指定あり)》
図20および
図21は、論理思考の到達点のみユーザ指定された場合に、論理問題の候補作成をする処理動作を例示する流れ図である。
【0181】
以下、
図20および
図21に示すステップ番号に沿って、この処理動作を説明する。
【0182】
ステップS401: 判定部140は、論理思考の到達点として理論要素2のユーザ指定を取得する。
【0183】
ステップS402: 難易度制限部144は、論理問題の難易度の許容範囲についてユーザ指定を取得する。
【0184】
ステップS403: 判定部140は、理論要素2を到達点として、難易度の許容範囲で理論推移を逆方向に辿る全ルートを探索する。
【0185】
ステップS404: 判定部140は、全ルートの探索を完了すると、ステップS405に動作を進める。一方、判定部140は、理論要素2を到達点として、難易度の許容範囲で理論推移を逆方向に辿るルートが発見できない(存在しない)場合、ステップS403のルート探索を中止し、ステップS410に動作を移行する。
【0186】
ステップS405: 判定部140は、探索された全ルートの出発点をそれぞれ理論要素1とする。
【0187】
ステップS406: 判定部140は、理論要素1それぞれから理論要素2に至る論理思考を問う問題を「推移可能性がある論理問題」とそれぞれ判定する。この判定の後、判定部140は、ステップS430に動作を進める。(なお、判定部140は、理論要素2を到達点として、拡大推移可能性のルートを逆に辿って到達可能な理論要素1を更に見つけるため、ステップS410に動作を移行してもよい。)
【0188】
ステップS410: 拡大判定部141は、理論要素2を到達点として、難易度の許容範囲で理論推移および包括方向を逆方向に辿る全ルートを探索する。先のルート探索と異なる点は、ルートに「集合要素からタグ集合に向かう包括方向」が選択可能な点である。なお、ここでの難易度の扱いは、拡大推移可能性であることを考慮して、先の難易度の扱いとは異なる評価計算や許容範囲の設定で行ってもよい。
【0189】
ステップS411: 拡大判定部141は、全ルートの探索を完了すると、ステップS412に動作を進める。一方、拡大判定部141は、理論要素2を到達点として、難易度の許容範囲で理論推移を逆方向に辿るルートが発見できない(存在しない)場合、ステップS410のルート探索を中止し、ステップS420に動作を移行する。
【0190】
ステップS412: 拡大判定部141は、探索された全ルートの出発点をそれぞれ理論要素1とする。
【0191】
ステップS413: 判定部140は、理論要素1それぞれから理論要素2に至る論理思考を問う問題を拡大問題(拡大推移可能性がある論理問題)とそれぞれ判定する。この判定の後、判定部140は、ステップS430に動作を進める。
【0192】
ステップS420: このステップでは、理論要素2を到達点として難易度の許容範囲で出発可能なルートは、包括方向にルート探索を拡大しても発見できなかった。そこで、作成支援部160は、理論要素2を論理思考の到達点にしてはルートが見いだせないことをユーザに情報提示して、理論要素2の指定変更をユーザに勧める形でユーザの問題作成を支援する。
【0193】
ステップS421: 作成支援部160は、理論要素2を基準に派生問題を作成するか否かを、GUI画面などを介してユーザに確認する。派生問題を作成する場合、作成支援部160はステップS422に動作を進める。一方、派生問題を作成しない場合、作成支援部160は動作を一旦完了し、次のユーザからの指示を待機する。
【0194】
ステップS422: 派生作成部142は、理論要素2を同一のタグ集合に含まれる他の理論要素に置き換える。派生作成部142は、置き換えた理論要素についてステップS403~413と同様にルート探索を行い、推移可能性または拡大推移可能性を有する派生問題を作成する。この動作の後に、派生作成部142は、ステップS431に動作を移行する。
【0195】
ステップS430: 派生作成部142は、理論要素1(出発点)と理論要素2(到達点)の少なくとも一方に関するメンバを、同一のタグ集合に含まれる他のメンバに置き
換えることによって、派生した論理問題(派生問題)を作成する。
【0196】
ステップS431: 派生作成部142は、作成した派生問題について推移可能性(または拡大推移可能性)のルートを探索し、そのルートの有無によって派生問題を選別し、選別済みの派生問題を得る。(なお、派生作成部142は、探索されたルートが、推移可能性のルートか否か、拡大推移可能性のルートか否かによって派生問題を更に選別してもよい。)
【0197】
ステップS432: 作成支援部160は、ここまでに得られた論理問題を、種類別(推移可能性のある論理問題、拡大問題、派生問題、選別済みの派生問題)と難易度の情報と共に、ユーザに情報提供することによって、ユーザの問題作成を支援する。
【0198】
上述した一連の動作手順によって、論理思考の到達点のみがユーザ指示された場合の論理問題の自動作成処理が完了する。
【0199】
《実施例1の効果》
以下、実施例1が奏する効果について説明する。
【0200】
(1)先行技術(特許文献1)においては、解答者に論理思考を問う論理問題を新たに作成することが困難であった。
そこで、本実施例1は、理論要素と理論推移をメンバに備えることで、理論構造体TSのモデル化を行う。本実施例1は、このようにモデル化された理論構造体TSにおいて、2つの理論要素の間(理論要素1から前記理論要素2へ)を一つ以上の理論推移で辿るルートを探索する。このルートが探索された場合、本実施例1は、理論要素1から理論要素2に至る論理思考を問う問題が、問題候補(推移可能性に関する論理問題)になると判定する。
以上の点から、本実施例1は、論理問題の候補の作成に好適な理論構造体モデル化の技術が実現するという点で優れている。
【0201】
(2)本実施例1では、理論構造体TSのメンバとしてタグ集合を備える。このタグ集合は、理論構造体TSのメンバ(理論要素、理論推移、および他のタグ集合)を集合要素として包括するものである。理論要素1から理論要素2へのルート探索に、集合要素からタグ集合への包括方向を更に追加することによって、『上位概念化』や『階層化』といった論理思考を加えたルートになる。このようなルートを探索することにより、本実施例1は、『上位概念化』や『階層化』といった高度な論理思考を問う拡大問題を問題候補として作成できるという点で優れている。
【0202】
(3)ちなみに、タグ集合として、あえて似て非なるメンバを包括した場合、本実施例1の拡大問題は、『誤った上位概念化』や『誤った階層化』といった論理思考をミスリードする問題になる。この場合の拡大問題は、一見して正解や不正解などと思わせつつも、思わぬ「落とし穴」や「引っ掛け」のある高度な論理問題となることが期待できる。このような観点から、本実施例1は、拡大問題によって高度な論理問題の候補が作成可能になる点で優れている。
【0203】
(4)本実施例1では、論理思考の出発点および/または到達点に関するメンバを、同一のタグ集合に含まれる他のメンバに置き換えて、派生問題を作成する。本実施例1は、この派生問題の作成によって、問題候補のバリエーション数を増やせるという点で優れている。
【0204】
(5)さらに、タグ集合として、あえて似て非なるメンバを包括した場合、本実施例1の派生問題は、似て非なる内容で勘違いさせる問題になる。この場合の派生問題は、一見して正解や不正解などと思わせつつも、思わぬ「落とし穴」や「引っ掛け」のある高度な論理問題になる可能性が高い。このような観点から、本実施例1は、派生問題によって高度な論理問題の候補が作成可能になる点で優れている。
【0205】
(6)本実施例1は、派生問題について推移可能性を判定し、推移可能性の有無によって派生問題を選別して「選別済みの派生問題」を作成する。特に、(拡大)推移可能性無しに選別された派生問題については、派生前の問題に似て解答者に正解と勘違いさせる一方で、その実は(拡大)推移可能性を有しないという意味で、意表を突く高度な論理問題になる。このような観点から、本実施例1は、「選別済みの派生問題」によって、意表を突く高度な論理問題の候補が作成可能になる点で優れている。
【0206】
(7)本実施例1は、「ルート上の経由数に基づく距離」、「ルート上の分岐箇所の数に基づく複雑度」、および「ルート上の分岐ごとの分割数に基づく多様度」からなる群の少なくとも一つを尺度に含む難易度を求める。この難易度を参考情報として問題候補と共にユーザに提供することによって、ユーザは問題候補の難易度を知ることができる。このような観点から、本実施例1は、ユーザは問題候補の難易度を知ることで、適度な難易度の試験問題を作成できるという点で優れている。
【0207】
(8)本実施例1では、規定される許容範囲に難易度が入らないルートについて、ルート探索の対象から除く。そのため、本実施例1は、簡単過ぎる問題や難し過ぎる問題候補を除いて、難易度が許容範囲に収まる問題候補をユーザに提供する情報サービスが可能になるという点で優れている。
【0208】
(9)本実施例1では、判定部140は、「出発点にする理論要素1」と「難易度の許容範囲」に基づいて到達可能なルートを順方向に一つ以上探索し、探索されたルートの到達点から理論要素2を求める。すなわち、判定部140は、到達点である理論要素2が未定状態においてルート探索を実施して、理論要素2を確定する。判定部140は、このように求めた2つの理論要素1,2に基づいて、『理論要素1から理論要素2に至る論理思考を問う問題は問題候補である』と判定する。したがって、本実施例1は、「出発点にする理論要素1」と「難易度の許容範囲」をユーザが指定することによって、問題候補を作成できるという点で優れている。
【0209】
(10)本実施例1では、判定部140は、「到達点にする理論要素2」と「難易度の許容範囲」に基づいて出発可能なルートを逆方向に一つ以上探索し、探索されたルートの出発点から理論要素1を求める。すなわち、判定部140は、出発点である理論要素1が未定状態においてルート探索を実施して、理論要素1を確定する。判定部140は、このように求めた2つの理論要素1,2に基づいて、『理論要素1から理論要素2に至る論理思考を問う問題は問題候補である』と判定する。したがって、本実施例1は、「到達点にする理論要素2」と「難易度の許容範囲」をユーザが指定することによって、問題候補を作成できるという点で優れている。
病態・症状には、「致命的(命の危険につながる場合)」、「緊急的(迅速な治療が求められる場合)」、「合併症(別の疾病が原因となるもの)」などの付随情報が付加可能である。
治療・検査には、「副作用(別の病態や症状が新たに生じるもの)」、「侵襲(副作用のうちで好ましくないもの)」、「高侵襲的(侵襲の程度が大きいもの)」、「低侵襲的(侵襲の程度が小さいもの)」、「迅速的(結果が得られるまでの時間が短いもの)」などの付随情報が付加可能である。
判定部140は、治療に関連して出発点と到達点の間に複数のルートがある場合、上記の優先順位判断に基づくルートの優先的選択(論理思考)を問う応用問題の候補を自動作成する。
判定部140は、検査に関連して出発点と到達点の間に複数のルートがある場合、上記の優先順位判断に基づくルートの優先的選択(論理思考)を問う応用問題の候補も自動作成する。
さらに、作成支援部160は、試験問題「理論要素1から理論要素2が(拡大)推移可能か否か(YES/NO問題)」や「理論要素1から(拡大)推移可能な理論要素はどれか(選択問題)」や「理論要素1から(拡大)推移可能な理論要素を記述せよ(記述問題)」を、医療分野の自然な表現に変換することができる。例えば、次のような定義情報に基づくフォーマット変換が可能である。
(1)本実施例2では、医学に関する試験問題の作成支援用に、医療理論構造体を構築する。この医療理論構造体の特徴は、理論要素に『病態』『症状』『所見』『治療』『検査』などの医学上の種類分けが定義情報(補足情報やタグ集合など)として付与される点である。このように理論要素に付与される定義情報がユーザに情報提供されることによって、ユーザは医学分野における論理問題の複雑な題意を適切かつ平易に把握することが可能になる。したがって、本実施例2は、理論要素に『病態』『症状』『所見』『治療』『検査』などの定義情報を付与することによって、複雑な医学系の問題作成の作業を適切かつ平易にできるという点で優れている。
(2)さらに、本実施例2では、医学上の定義情報が付与された理論要素の間の理論推移について、定義情報の間の順序方向を規定の医学ルールに照会する。そして、規定の医学ルールから外れる理論推移については処理から自動的に除かれる。本実施例2は、このような医学ルールに基づく排除処理によって、医学的に正確な問題作成が可能になるという点で優れている。
また例えば、理論構造体TSに対して網羅的なルート探索を難易度の許容範囲に制限するなどして行うことで、考えうる問題候補のストックをまとめて事前準備することも可能である。
さらに、問題候補のルート探索を行うきっかけとして、キーワードをユーザ指示してもよい。この場合、理論構造体TSのメンバをキーワードで検索し、検索されたメンバを論理思考の出発点や到達点や経由点としてルート探索を行うことが可能になる。
また、問題候補のルート探索を行うきっかけとして、日付や日時範囲などをユーザ指示してもよい。この場合、理論構造体TSのメンバの日付情報を日付や日時範囲で検索し、検索されたメンバを論理思考の出発点や到達点や経由点やルートの一部としてルート探索を行うことが可能になる。このような日時検索の採用では、最近話題のホットな問題候補を作成することが可能になる。
さらに、問題候補のルート探索を行うきっかけとして、タグ集合をユーザ指示してもよい。この場合、タグ集合が包括する個々のメンバを論理思考の出発点や到達点や経由点やルートの一部としてルート探索を行うことが可能になる。そのため、タグ集合が示す特定の分野に限った問題候補を作成することが可能になる。
また、必要であれば、理論推移について、困難度(理論推移の周知度や、意外性や、その論理思考の難しさや、希少性や、気づきにくさなど)を定義付けしてもよい。この困難度をルートの難易度に組み込むことによって、ルートが経由する理論推移ごとに難易度を細かく見積もることが可能になり、論理問題の難易度算出の精度を一段と高めることが可能になる。
さらに、必要であれば、理論推移のチェーン結合によって生じる分岐箇所において、選択肢ごとのルート選択確率を定義付けしてもよい。この選択肢ごとのルート選択確率を論理問題の管理に組み込むことにより、解答者が簡単に選択する選択肢を通る問題から、選択が困難な選択肢を通る問題まで、所望の問題を選択的に作成することが可能になる。
また、必要であれば、同一のタグ集合に包括されるメンバの間で、類似の度合いに応じて類似度(数値や点数)を定義付けしてもよい。派生問題の作成において、この類似度をメンバ置き換えに組み込むことにより、類似しすぎていて大半の解答者が勘違いする派生問題から、さほど類似せずに解答者が滅多に勘違いしない派生問題まで、所望の派生問題を選択的に作成することが可能になる。
なお、上述した実施形態では、規定の医学ルールについて、説明を簡明にするため、代表的な例について説明した。しかしながら、本発明は、これらの代表的な例に限定されない。ここでの規定の医学ルールとしては、例えば、理論要素の定義情報(病態・症状・所見・治療・検査など)について、その定義情報の間の順序関係のルールを規則化したものであればよい。
例えば、上記した実施形態は本発明を分かりやすく説明するために全体を詳細に説明したものであり、本発明は必ずしも説明した全ての構成や全てのステップやすべてのデータ構造を備えるものに限定されない。