(57)【要約】【課題】提示される課題を過度に易化させることなく、課題に対する応答を入力するのに適した入力文字又は記号を適宜提示する入力インタフェース（ＩＦ）を提供することができるプログラム及び装置を提供する。【解決手段】本入力ＩＦ構成プログラム及び装置は、課題に係る情報を構成する単語、文字及び／又は記号を抽出し、抽出された単語等に基づいて、課題に係る情報の素性ベクトルを生成する手段と、生成された素性ベクトルと、課題に対する応答で使用される入力ＩＦに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築する手段と、分類器に対し、入力構成対象である課題に係る情報の素性ベクトルをインプットして、入力構成対象の課題に対する応答を入力する際に使用される入力ＩＦに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力ＩＦを決定する手段とを有する。【選択図】図３
2016177161.tif 000002
【特許請求の範囲】
【請求項１】
課題に対する応答を入力するための入力インタフェースを提供する装置に搭載されたコンピュータを機能させる入力インタフェース構成プログラムであって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成する素性ベクトル生成手段と、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築する分類器構築手段と、
構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する入力インタフェース判定手段と
してコンピュータを機能させることを特徴とする入力インタフェース構成プログラム。
【請求項２】
当該課題毎に、当該課題に対する応答に使用されるべき入力文字又は記号に加え、一般的に使用される入力文字又は記号として予め指定された複数の冗長入力文字又は記号のうちの少なくとも１つを含む入力文字又は記号群に基づいて当該教師信号を生成する教師信号生成手段として更にコンピュータを機能させ、
前記入力インタフェース判定手段は、構築された当該分類器に対し、当該冗長入力文字又は記号を含む入力構成情報をアウトプットさせ、当該冗長入力文字又は記号を含む入力インタフェースを、提供する入力インタフェースに決定する
ことを特徴とする請求項１に記載の入力インタフェース構成プログラム。
【請求項３】
当該入力インタフェースに含まれる入力文字又は記号を指定した複数のテンプレートを蓄積するテンプレート管理手段として更にコンピュータを機能させ、
前記分類器構築手段は、当該複数のテンプレートから選択された２つの組合せ毎に、生成された素性ベクトルと、当該２つの組合せのうち当該課題に対する応答での使用についてより適した方のテンプレートに係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
前記入力インタフェース判定手段は、当該２つの組合せ毎に構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該２つの組合せのうち、当該入力構成対象の課題に対する応答での使用についてより適したテンプレートに係る入力構成情報をアウトプットさせ、当該入力構成情報における各テンプレートの出現回数に基づいて、提供する入力インタフェースに係るテンプレートを決定する
ことを特徴とする請求項１又は２に記載の入力インタフェース構成プログラム。
【請求項４】
当該入力インタフェースに含まれる入力文字又は記号を指定した複数のテンプレートを蓄積するテンプレート管理手段として更にコンピュータを機能させ、
前記分類器構築手段は、生成された素性ベクトルと、当該課題に対する応答での使用に適したテンプレートに係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
前記入力インタフェース判定手段は、構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答での使用に適したテンプレートに係る入力構成情報をアウトプットさせ、当該入力構成情報に係るテンプレートを含む入力インタフェースを、提供する入力インタフェースに決定する
ことを特徴とする請求項１又は２に記載の入力インタフェース構成プログラム。
【請求項５】
前記分類器構築手段は、判定対象となる入力文字又は記号毎に、生成された素性ベクトルと、当該入力文字又は記号が当該課題に対する応答で使用される入力インタフェースに含まれるか否かを示す教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
前記入力インタフェース判定手段は、当該入力文字又は記号毎に構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、決定する入力インタフェースに当該入力文字又は記号が含まれるか否かについての入力構成情報をアウトプットさせ、含まれると判定された入力文字又は記号を含む入力インタフェースを、提供する入力インタフェースに決定する
ことを特徴とする請求項１又は２に記載の入力インタフェース構成プログラム。
【請求項６】
当該入力構成対象の課題に対する応答のうちから誤応答を取得して、当該誤応答からなる誤応答群で使用された入力文字又は記号であって、正答例で使用されていない入力文字又は記号である誤入力文字又は記号を決定し、当該誤応答群における当該誤入力文字又は記号の出現回数に基づいて、提供する入力インタフェースに当該誤入力文字又は記号を含めるか否かを決定する難易度調整手段として更にコンピュータを機能させ、
前記入力インタフェース判定手段は、アウトプットされた入力構成情報に基づいて決定された入力インタフェースに含まれる入力文字又は記号のうち、含めないと決定された誤入力文字又は記号を除外して、提供する入力インタフェースを決定する
ことを特徴とする請求項１から５のいずれか１項に記載の入力インタフェース構成プログラム。
【請求項７】
課題に対する応答を入力するための入力インタフェースを提供する入力インタフェース提供装置であって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成する素性ベクトル生成手段と、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築する分類器構築手段と、
構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する入力インタフェース判定手段と
を有することを特徴とする入力インタフェース提供装置。
【請求項８】
課題に対する応答を入力するための入力インタフェースを提供する装置における入力インタフェース構成方法であって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成するステップと、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築するステップと、
構築された分類器に対し、生成された入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定するステップと
を有することを特徴とする入力インタフェース構成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばｅラーニング（e-learning）における問題及びこれに対する解答といった、課題とその応答との入出力を取り扱うユーザインタフェース技術に関する。
【背景技術】
【０００２】
近年、ユーザに取り扱い可能な情報の多様化に伴い、ユーザによる情報の入出力をサポートするユーザインタフェースが発展し、改良されている。例えば、ｅラーニングにおいて数学問題をユーザに提示した際、ユーザが解答の数式を入力する技術として、手書き数式自動認識や、文書作成アプリケーションの有する数式エディタ等が利用されている。
【０００３】
このうち、手書き数式自動認識について、例えば特許文献１は、入力された手書き数式を構成するストローク候補のストローク尤度を算出し、さらに、入力された手書き数式を構成する数式部品間の位置関係に関する構造尤度を確率文脈自由文法に基づき算出し、算出されたストローク尤度及び構造尤度を用いて、入力された手書き数式を表現した複数の数式候補の尤度を算出して数式を決定する手書き数式の認識装置を開示している。
【０００４】
また、特許文献２は、文字種指定ボタンを表示して、次に手書き入力しようとしている数字・文字・記号などの文字種を指定することによって、手書き入力されたデータを指定の文字種で優先して認識する計算機を開示している。ここで、文字種指定ボタンは、手書きデータを認識処理する際の対象の文字種を、例えばアルファベット大文字、アルファベット小文字、数字、単位、三角関数、対数関数などに優先して設定するためのボタンとなっている。
【０００５】
さらに、数字キーボードを用いた入力技術として、特許文献３には、通常の数字キーボードを介して文書数字情報を電子装置へ入力する技術が開示されている。この技術では、各数字に３つ以下の文字が配属され、入力された数字に基づいてメモリの中で相応の文字数字組み合わせがサーチされて、検出された情報が表示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−７２７１８号公報
【特許文献２】特開２０１０−２６２５３５号公報
【特許文献３】特表平６−５０７０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、以上に説明した従来技術では、尚、提示された数学問題等の課題に対する解答といった応答の際に、ユーザにとって適切な入力文字又は記号を適宜容易に利用することができるとは言えない問題が生じていた。
【０００８】
例えば、従来の手書き数式の自動認識技術では、自動認識の精度が１００％ではないため、全ての文字が入力可能であることは何ら担保されていない。この点、特許文献１及び２に記載された技術のように認識精度を向上させる試みもなされているが、未だ十分とは言えない。そのため、この手書き数式自動認識技術は、特に、応答の際にユーザが不要な不便さを感じないことを前提とする例えばeテスティングには適していない。
【０００９】
さらに、従来の文書作成アプリケーションの数式エディタや、LaTeX等の文書処理システムでは、数式の入力に時間がかかり、また、入力のための操作方法や文法を覚えなければならない。従って、これらの入力技術も、常に利用の容易な入力インタフェースを提供しているとは言えない。特に、メディアリテラシーの高くないユーザにとって、例えば数式等の入力を容易にするものとはなっていない。
【００１０】
また、特許文献３に記載された技術では、次に使用されるであろう記号を推測し、優先表示して、数式入力の効率を高める工夫がなされている。しかしながら、この技術では、そもそも、当初からユーザにとって適切な入力記号を提示することが困難である。ここで、例えば数学問題においてその正解例が存在する場合、このような記号の推測を行わず、この正解例に含まれる記号のみを入力キーとして提供することも考えられる。しかしながら、この単純な方法では、入力可能な数式等のパターンが明確に限定されてしまい、数学問題が易化しすぎてしまう懸念が生じる。
【００１１】
そこで、本発明は、提示される課題を過度に易化させることなく、課題に対する応答を入力するのに適した入力文字又は記号を適宜提示する入力インタフェースを提供することができるプログラム、方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、課題に対する応答を入力するための入力インタフェースを提供する装置に搭載されたコンピュータを機能させる入力インタフェース構成プログラムであって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成する素性ベクトル生成手段と、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築する分類器構築手段と、
構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する入力インタフェース判定手段と
してコンピュータを機能させる入力インタフェース構成プログラムが提供される。
【００１３】
この本発明による入力インタフェース構成プログラムは、当該課題毎に、当該課題に対する応答に使用されるべき入力文字又は記号に加え、一般的に使用される入力文字又は記号として予め指定された複数の冗長入力文字又は記号のうちの少なくとも１つを含む入力文字又は記号群に基づいて当該教師信号を生成する教師信号生成手段として更にコンピュータを機能させ、
入力インタフェース判定手段は、構築された当該分類器に対し、当該冗長入力文字又は記号を含む入力構成情報をアウトプットさせ、当該冗長入力文字又は記号を含む入力インタフェースを、提供する入力インタフェースに決定することも好ましい。
【００１４】
また、本発明の入力インタフェース構成プログラムにおける一実施形態として、本プログラムは、当該入力インタフェースに含まれる入力文字又は記号を指定した複数のテンプレートを蓄積するテンプレート管理手段として更にコンピュータを機能させ、
分類器構築手段は、当該複数のテンプレートから選択された２つの組合せ毎に、生成された素性ベクトルと、当該２つの組合せのうち当該課題に対する応答での使用についてより適した方のテンプレートに係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
入力インタフェース判定手段は、当該２つの組合せ毎に構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該２つの組合せのうち、当該入力構成対象の課題に対する応答での使用についてより適したテンプレートに係る入力構成情報をアウトプットさせ、当該入力構成情報における各テンプレートの出現回数に基づいて、提供する入力インタフェースに係るテンプレートを決定することも好ましい。
【００１５】
さらに、本発明の入力インタフェース構成プログラムにおける他の実施形態として、本プログラムは、当該入力インタフェースに含まれる入力文字又は記号を指定した複数のテンプレートを蓄積するテンプレート管理手段として更にコンピュータを機能させ、
分類器構築手段は、生成された素性ベクトルと、当該課題に対する応答での使用に適したテンプレートに係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
入力インタフェース判定手段は、構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答での使用に適したテンプレートに係る入力構成情報をアウトプットさせ、当該入力構成情報に係るテンプレートを含む入力インタフェースを、提供する入力インタフェースに決定することも好ましい。
【００１６】
さらにまた、本発明の入力インタフェース構成プログラムにおける更なる他の実施形態として、分類器構築手段は、判定対象となる入力文字又は記号毎に、生成された素性ベクトルと、当該入力文字又は記号が当該課題に対する応答で使用される入力インタフェースに含まれるか否かを示す教師信号とを対応付けた複数の教師データセットをもって、分類器を構築し、
入力インタフェース判定手段は、当該入力文字又は記号毎に構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、決定する入力インタフェースに当該入力文字又は記号が含まれるか否かについての入力構成情報をアウトプットさせ、含まれると判定された入力文字又は記号を含む入力インタフェースを、提供する入力インタフェースに決定することも好ましい。
【００１７】
また、本発明の入力インタフェース構成プログラムにおける更なる他の実施形態として、本プログラムは、当該入力構成対象の課題に対する応答のうちから誤応答を取得して、当該誤応答からなる誤応答群で使用された入力文字又は記号であって、正答例で使用されていない入力文字又は記号である誤入力文字又は記号を決定し、当該誤応答群における当該誤入力文字又は記号の出現回数に基づいて、提供する入力インタフェースに当該誤入力文字又は記号を含めるか否かを決定する難易度調整手段として更にコンピュータを機能させ、
入力インタフェース判定手段は、アウトプットされた入力構成情報に基づいて決定された入力インタフェースに含まれる入力文字又は記号のうち、含めないと決定された誤入力文字又は記号を除外して、提供する入力インタフェースを決定することも好ましい。
【００１８】
本発明によれば、さらに、課題に対する応答を入力するための入力インタフェースを提供する入力インタフェース提供装置であって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成する素性ベクトル生成手段と、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築する分類器構築手段と、
構築された分類器に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する入力インタフェース判定手段と
を有する入力インタフェース提供装置が提供される。
【００１９】
本発明によれば、さらにまた、課題に対する応答を入力するための入力インタフェースを提供する装置における入力インタフェース構成方法であって、
当該課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、当該課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成するステップと、
生成された素性ベクトルと、当該課題に対する応答で使用される入力インタフェースに含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセットをもって、分類器を構築するステップと、
構築された分類器に対し、生成された入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、当該入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定するステップと
を有する入力インタフェース構成方法が提供される。
【発明の効果】
【００２０】
本発明の入力インタフェース構成プログラム、方法及び入力インタフェース提供装置によれば、提示される課題を過度に易化させることなく、課題に対する応答を入力するのに適した入力文字又は記号を適宜提示する入力インタフェースを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明による入力インタフェース提供装置の一実施形態を示す模式図である。
【図２】本発明による入力インタフェース提供装置を含む入力インタフェース提供システムの一実施形態を示す模式図である。
【図３】本発明による入力インタフェース提供装置の一実施形態における機能構成を示す機能ブロック図である。
【図４】教材データの一実施例を示すテーブルである。
【図５】生成された教師信号を含む教師データセットの一実施例を示すテーブルである。
【図６】３つのトレーニングセットに対応する分類器の特徴を示すテーブルである。
【図７】トレーニングセット１を生成する処理の一実施形態を示すフローチャートである。
【図８】トレーニングセット２を生成する処理の一実施形態を示すフローチャートである。
【図９】トレーニングセット３を生成する処理の一実施形態を示すフローチャートである。
【図１０】トレーニングセット１による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。
【図１１】トレーニングセット２による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。
【図１２】トレーニングセット３による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。
【図１３】構成された入力インタフェースの難易度を調整する処理の一実施形態を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下では、本発明の実施形態について、図面を用いて詳細に説明する。
【００２３】
［入力インタフェース提供装置］
図１は、本発明による入力インタフェース提供装置の一実施形態を示す模式図である。
【００２４】
図１に示した本実施形態において、入力インタフェース提供装置であるユーザインタフェース装置１は、具体的に、例えばタブレット型コンピュータ、ノート型コンピュータ、パーソナル・コンピュータ（ＰＣ）、又はスマートフォン等の情報機器であり、
（ａ）ユーザに対し、例えばｅラーニング形式又はｅテスティング形式で、課題である演習問題やテスト問題を、タッチパネル・ディスプレイ（ＴＰ／ＤＰ）１３に表示したり音声で読み上げたりして提示し、
（ｂ）提示された問題（課題）に対する解答（応答）を入力することが可能な入力インタフェースとしてのソフトウェア（ＳＷ）キーボード１３０をＴＰ／ＤＰ１３に表示し、
（ｃ）ＳＷキーボード１３０を介しユーザによって入力された解答（応答）情報を受け取り、ｅラーニング又はｅテスティングとしての処理を行う。
【００２５】
ここで、ユーザインタフェース装置１は、入力インタフェース（ＩＦ）構成部１１を備えており、この構成部１１において、提示する問題に対する解答の際に使用されるのに適した入力インタフェースとしてのＳＷキーボード１３０を構成する。例えば、２次関数を求める数学問題をＴＰ／ＤＰ１３に表示する際、入力インタフェース構成部１１は、この数学問題に対する解答を入力するのに適した、例えば二乗を示す上付きの「２」を入力するためのキーを含むＳＷキーボード１３０を構成し、ＴＰ／ＤＰ１３に表示させる。
【００２６】
装置１の入力インタフェース構成部１１は、上述したような入力インタフェースを実現するために、
（Ａ）課題及び／又は当該課題に対する正答例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、この課題及び／又は当該課題の正答例を特徴付ける素性ベクトルを生成し、
（Ｂ）生成された素性ベクトルと、この課題に対する応答で使用される入力インタフェースに含まれるべき「入力文字又は記号」に係る教師信号とを対応付けた複数の教師データセットをもって、「分類器」を構築し、
（Ｃ）構築された「分類器」に対し、入力構成対象である課題及び／又は当該課題の正答例の素性ベクトルをインプットして、この入力構成対象の課題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する
という特徴を有している。
【００２７】
尚、上記及び以降で使用される「文字」及び「記号」との用語はいずれも、「数字」をも含むものとする。
【００２８】
また、入力インタフェース構成部１１は、上記（Ｂ）において、課題毎に、当該課題に対する応答に使用されるべき入力文字又は記号に加え、一般的に使用される入力文字又は記号として予め指定された複数の「冗長入力文字又は記号」のうちの少なくとも１つを含む入力文字又は記号群に基づいて当該教師信号を生成することも好ましい。この場合、上記（Ｃ）では、構築された分類器に対し、「冗長入力文字又は記号」を含む入力構成情報をアウトプットさせ、「冗長入力文字又は記号」を含む入力インタフェースを、提供する入力インタフェースに決定することになる。
【００２９】
ここで具体的な実施例として、入力インタフェース構成部１１は、最初に、（Ａ）教材データ蓄積部１４から取得した数学問題文から単語、文字及び／又は記号を抽出して、この数学問題文をBag-of-words等の手法でベクトル表現化して素性ベクトルを生成する。次いで、（Ｂ）生成した素性ベクトル及び教師信号を含む多数の教師データセット（トレーニングセット）をもって、例えば２値分類のアルゴリズムであるサポートベクタマシン（ＳＶＭ）により機械学習を行って分類器を構築する。
【００３０】
さらに、入力インタフェース構成部１１は、（Ｃ）入力構成対象である新規の又は既存の数学問題文を、単語、文字及び／又は記号の抽出により素性ベクトルへ変換し、これを構築した分類器にインプットして、解答となる数式入力用のＳＷキーボード１３０を構成する入力文字又は記号の入力キーを決定する。次いでこの決定に基づき、数学の問題毎に、数字や＋、−、×、÷、Σ、Π、log、sin等の数学記号を入力する入力キーを適宜選別し、解答を入力する際に提示されるべき入力キーを含むＳＷキーボード１３０を、自動的に構成する。ここで、構成されたＳＷキーボード１３０は、装置制御部１２を介して又は直接ＴＰ／ＤＰ１３に出力され、ＴＰ／ＤＰ１３に表示される。
【００３１】
ユーザインタフェース装置１は、以上に説明したように、課題毎に適切な学習を施した分類器を用いて入力インタフェースの構成文字又は記号を決定する。その結果、課題に対する応答を入力するのに適した入力文字又は記号を、課題毎に適宜提示する入力インタフェースを提供できるのである。これにより、ユーザは、入力のための操作方法や文法を予め覚える必要なしに、例えば数式といった通常入力困難な形態の応答を容易に入力することが可能となる。
【００３２】
また、ユーザインタフェース装置１は、「冗長入力文字又は記号」を含み得る教師信号を採用して、「冗長入力文字又は記号」を含む入力インタフェースを提供することもできる。この場合、ユーザにとって課題が過度に易化することなく、またそれ故に、課題に対するユーザの能力や技量を反映した応答を取得することが可能となる。
【００３３】
ユーザインタフェース装置１は、さらに、通常用いられることのない特殊な入力文字又は記号であっても、課題に対する応答を入力するのに必要であるならば、当該課題に応じて適宜、この特殊な入力文字又は記号を提示することができる。その結果、数学問題に対する解答での数式入力のみならず、例えば、世界中の独特な文字を用いた言語や特殊な記号を用いたプログラム言語についての解答、さらには音楽の楽譜に使用される記号を用いる解答や、様々な分野での絵文字・図形等を用いる解答を行う際に適した入力インタフェースを提供することも可能にするのである。
【００３４】
尚、本実施形態のユーザインタフェース装置１における課題を提供する出力インタフェースデバイス、及び応答を受け付ける入力インタフェースデバイスは、ＴＰ／ＤＰ１３となっているが、当然、これに限定されるものではない。課題は他の表示デバイスで表示されてもよく、また、課題を読み上げる音声を出力するスピーカが用いられてもよい。さらに、応答についても、ＳＷキーボードをＴＰ／ＤＰ以外の手段、例えば通常のディスプレイに表示し、マウス等のポインティングやタッチパッド等を用いたＳＷキーボードへの操作によって、応答を入力することも可能である。
【００３５】
さらには、ＳＷキーボードを、ＨＭＤ（Head Mounted Display）等のウェアラブルデバイスを用いて表示し、ユーザの指等の動きを検出してＳＷキーボードに対する入力操作を認識してもよい。また、応答を入力するための入力インタフェースも、ＳＷキーボードに限定されない。例えば、物理キーの配列したキーボードであって、押下によって有効に入力可能であるキーが光るなり突出するなりして選択的にユーザに提示されるキーボードを入力インタフェースとすることもできる。
【００３６】
［入力インタフェース提供システム］
図２は、本発明による入力インタフェース提供装置を含む入力インタフェース提供システムの一実施形態を示す模式図である。
【００３７】
図２によれば、本システムは、
（ａ）問題（課題）に対する解答（応答）時の使用に適した入力インタフェースとしてのＳＷキーボード３００を、通信制御部２２及び通信インタフェース（ＩＦ）２３を介して外部装置に提供可能な入力インタフェース提供サーバ２と、
（ｂ）ネットワークを介して受信した問題（課題）及びＳＷキーボード３００を、ディスプレイに表示し、この問題（課題）に対する解答（応答）を、ＳＷキーボード３００を介して受け付け可能な端末としてのユーザインタフェース装置３と
を有している。
【００３８】
このうち、入力インタフェース提供サーバ２は、図１に示したユーザインタフェース装置１の入力インタフェース構成部１１と同様の機能を実現する入力インタフェース構成部２１を備えている。また、入力インタフェース提供サーバ２は、教材データ蓄積部２４に蓄積された問題（課題）を、通信制御部２２及び通信インタフェース２３を介してユーザインタフェース装置３へ送信し、ユーザに提示させてもよい。さらに、ユーザインタフェース装置３から、ユーザによって入力された解答（応答）を受信してログ蓄積部２５に保存し、提示した問題（課題）と対応付けて管理することも好ましい。
【００３９】
一方、ユーザインタフェース装置３は、ｅラーニングやｅテスティング等の教育サービス提供用のアプリケーション・プログラムを搭載したタブレット型コンピュータ、ノート型コンピュータ、ＰＣ、又はスマートフォン等の情報機器とすることができる。ここで、搭載されたアプリケーションは、受信したＳＷキーボード３００に係る情報に基づいて、ＳＷキーボード３００をＴＰ／ＤＰに表示させる機能も備えている。
【００４０】
また、サーバ２と端末である装置３とを通信接続させるネットワークは、インターネット及び種々のアクセスネットワーク、例えば光ファイバ網若しくはＡＤＳＬ（Asymmetric Digital Subscriber Line）等の固定系ネットワーク、または、Ｗｉ-Ｆｉ（登録商標）等の無線ＬＡＮ（Local Area Network）、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）、ＬＴＥ(Long Term Evolution)若しくは３Ｇ（3rd Generation）等の無線系ネットワークとすることができる。さらに、このネットワークは、学校や企業等の内部に設けられたプライベート・ネットワークであってもよい。
【００４１】
以上に述べたシステムにおける入力インタフェース提供サーバ２も、図１に示したユーザインタフェース装置１と同様の作用効果を発揮し、提示される課題を過度に易化させることなく、課題に対する応答を入力するのに適した入力文字又は記号を適宜提示する入力インタフェースを、各端末（装置３）に提供することができる。
【００４２】
特に、入力インタフェース提供サーバ２は、課題毎の入力インタフェースの決定を、端末（装置３）に任せずに一括して行う。従って、端末（装置３）側での処理負担が大幅に軽減する。また、例えばｅテスティングを実施する場合、同一の問題を提示された複数の受験者に対し、同条件の入力インタフェース、例えば同一のＳＷキーボードを、同時に提供することも可能となる。さらに、複数の受験者の解答を一括してログ蓄積部２５に保存して管理し、後に説明するように、これらの解答における正誤の情報を利用して、難易度を調整した入力インタフェースを提供することも可能となる。
【００４３】
［装置構成・入力インタフェース構成処理］
図３は、本発明による入力インタフェース提供装置の一実施形態における機能構成を示す機能ブロック図である。
【００４４】
図３によれば、入力インタフェース提供装置としてのユーザインタフェース装置１は、入出力インタフェースデバイスとしてのＴＰ／ＤＰ１３と、教材データ蓄積部１４と、ログ蓄積部１５と、プロセッサ・メモリとを有する。ここで、ＴＰ／ＤＰ１３には、入力インタフェースとしてのＳＷキーボード１３０が表示される。また、プロセッサ・メモリは、ユーザインタフェース装置１に搭載されたコンピュータを機能させるプログラムを実行することによって、入力インタフェース構成機能を実現させる。さらに、本装置１に、通信インタフェース（ＩＦ）１６と、通信制御部１７とが更に設けられていることも好ましい。
【００４５】
装置１のプロセッサ・メモリは、機能構成部として、入力インタフェース（ＩＦ）構成部１１と、装置制御部１２とを備えている。このうち、入力インタフェース構成部１１は、テンプレート蓄積・管理部１１１と、素性ベクトル生成部１１２と、教師信号生成部１１３と、分類器構築部１１４と、入力インタフェース（ＩＦ）判定部１１５と、難易度調整部１１６とを有する。尚、図３によれは、各機能構成部を矢印で接続した処理の流れは、本発明による入力インタフェースを構成する方法の一実施形態としても理解される。
【００４６】
同じく図３において、ＴＰ／ＤＰ１３は、
（ａ）ユーザに提示する数学等の問題や、解答入力フォーム、さらには、入力インタフェースであるＳＷキーボード１３０等を表示するディスプレイ機能と、
（ｂ）表示されたＳＷキーボード１３０に対し、例えばユーザの指やタッチペン等の入力器具による入力操作を可能とするタッチパネル機能と
を備えたデバイスであり、外付け型、オン・セル型、イン・セル型等、種々の構造のものが採用可能である。
【００４７】
ここで、ＳＷキーボード１３０は、アイコン等の形で表示された仮想キーの配列したものとすることができる。配列の形式は種々のものが採用可能である。また、仮想キーは、入力対象としての数字を含む文字や記号に対応した文字・記号入力キーや、各種ファンクションキー等である。本発明によれば、一実施例として、各種の数学問題に対する正答を入力するのに必要となる特有の数学記号、例えばべき乗を示す演算記号（^）又は上付きの数字等や、sin、cosh、log、Σ、∫といった関数・演算記号等、を入力可能とする仮想キーを含むＳＷキーボード１３０を提供することができる。この場合、ＳＷキーボード１３０は、提示される数学問題毎に、当該問題を解答するのに必要な仮想キーと、頻用される冗長な文字や記号に対応した仮想キーとを含み、当該問題への解答を過度に容易にしない配慮を行う。また、一方で、この問題の属する単元において使用し得る全ての数学記号を反映した仮想キーを揃えることはしないので、ユーザの入力操作を簡便にする。
【００４８】
入力インタフェース構成部１１（図３）は、教材データを用いて機械学習を行い、構築した分類器にインプットした問題に対する解答を入力するのに好適なＳＷキーボード（入力インタフェース）１３０に係る情報（入力構成情報）を出力する。尚、図２に示した入力インタフェース提供サーバ２の入力インタフェース構成部２１も、この入力インタフェース構成部１１と同様の機能構成を有している。
【００４９】
入力インタフェース構成部１１のテンプレート蓄積・管理部１１１（図３）は、提供する入力インタフェースであるＳＷキーボード１３０に含まれる入力文字又は記号を指定した複数のテンプレートを蓄積する。例えば、下記（ａ）〜（ｃ）のようなキーボードテンプレートが準備され保存される。
（ａ）単元が「２次関数」である数学問題用のキーボードテンプレート
a, b, x, y, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, ., ＋, −, ×, ÷, (, )
（ｂ）単元が「３次関数」である数学問題用のキーボードテンプレート
a, b, c, x, y, 2, 3, 1, 2, 3, 4, 5, 6, 7, 8, 9, ., ＋, −, ×, ÷, (, )
（ｃ）単元が「四則演算」である数学問題用のキーボードテンプレート
1, 2, 3, 4, 5, 6, 7, 8, 9, ., ＋, −, ×, ÷, (, )
【００５０】
尚、本発明の入力インタフェース構成方法では、上述したようなキーボードテンプレートを予め準備しておいて問題毎に提供するＳＷキーボードを割り当てるのではなく、問題毎に、新たなＳＷキーボードを個別に構成することも可能である。この場合、テンプレート蓄積・管理部１１１は不要となる。
【００５１】
教材データ蓄積部１４（図３）は、ユーザに提示する数学等の問題や、この問題に関係する情報、例えば正解例やこの問題の属する教科単元等、を含む教材データを蓄積する課題関連情報蓄積手段である。また、ログ蓄積部１５（図３）は、提示された問題、ユーザによって入力された解答（正答、誤解答）や、これらの提示・入力履歴を逐次蓄積する保存手段である。ここで解答は、装置１に搭載されたｅテスティング用アプリケーションの機能として装置制御部１２によって、又は外部の採点者等によって正誤を判定（採点）された上で蓄積されることも好ましい。教材データ蓄積部１４及びログ蓄積部１５は、素性ベクトル生成部１１２、教師信号生成部１１３、難易度調整部１１６及び装置制御部１２のリクエストに応じて、蓄積した教材データやログの情報をこれらの機能部に出力する。
【００５２】
図４は、教材データの一実施例を示すテーブルである。
【００５３】
図４によれば、教材データは、ユーザに提示可能な問題毎に、
（ａ）当該問題のテキストと、
（ｂ）当該問題の正解例のテキストと、
（ｃ）当該問題の解答入力に適したものとして予め対応付けられたキーボードテンプレートの識別番号（キーボードタイプ）と、
（ｄ）当該キーボードテンプレートに含まれる入力キーに対応する文字又は記号（利用キーセット）と、
（ｅ）当該問題の属する教科単元情報と
を対応付けて記録したデータとなっている。
【００５４】
図３に戻って、入力インタフェース構成部１１の素性ベクトル生成部１１２は、問題及び／又は問題に対する正解例を構成する単語、文字及び／又は記号を抽出し、抽出された単語、文字及び／又は記号に基づいて、問題又は正解例を特徴付ける素性ベクトルを生成する。即ち、素性ベクトル生成部１１２は、「問題を特徴付ける素性ベクトル」及び「この問題の正解例を特徴づける素性ベクトル」の両方又はいずれか一方を生成する。さらにまた、同様にして「単元情報を特徴づける素性ベクトル」を生成してもよい。生成された素性ベクトルは、分類器構築部１１４における分類器の構築に使用される。また、入力構成対象となる問題の素性ベクトルは、入力インタフェース判定部１１５に出力されて、提供する入力インタフェースに係る入力構成情報の生成に使用される。
【００５５】
ここで、問題や正解例、さらには単元情報のテキストをベクトル表現化して素性ベクトルを生成する一手法であるBag-of-words法を説明する。この方法では、最初に、ベクトル化対象のテキストを、例えば自然言語処理の形態素解析によって単語に分解する。一例として、「次の式」とのテキストならば、「次」、「の」、「式」といった具合に分解する。次に、テキストに出現し得る各単語に固有の番号を予め付与しておき、この番号の数だけの次元を有するベクトルを生成する。例えば、「次」に番数１を、「の」に番数２を、「式」に番数８を、さらに「微分」に番数７を予め付与し、「次の式」との問題テキストに対し、第１要素、第２要素、第８要素のみが１であり、第７要素等の、第１、第２及び第８要素以外の要素がゼロである素性ベクトル
（1,1,0,0,0,0,0,1,0,・・・）
を生成する。この手法により、（数字を含む）文字及び記号を含む任意のテキストを素性ベクトルとして表現することができる。ここで、この素性ベクトルは、一般に、単語種類数だけの次元を有する高次ベクトルとなるが、多くの場合、大多数の要素がゼロである疎ベクトルとなることが理解される。
【００５６】
尚、問題や正解例等のテキストをベクトル表現化する手法は、当然に上記のものに限定されるものではなく、種々の方法が採用可能である。例えば、多数の問題テキストのテンプレートを用意しておき、ベクトル化対象のテキストとの類似度が最も高いテンプレートに対し予め対応付けられた識別用のベクトルを、このベクトル化対象のテキストの素性ベクトルとしてもよい。
【００５７】
図３に戻って、入力インタフェース構成部１１の教師信号生成部１１３は、教師データセット化する問題に対する解答に使用されるＳＷキーボード（入力インタフェース）１３０に含まれるべき入力文字又は記号に基づいて教師信号を生成する。例えば、具体的に、図４に示したような教材データにおけるキーボードタイプ又は利用キーセットの内容を教師信号としてもよく、これらに基づいて教師信号を生成してもよい。特に、教師信号生成部１１３は、問題毎に、当該問題に対する解答に使用されるべき入力文字又は記号に加え、複数の「冗長入力文字又は記号」のうちの少なくとも１つを含む入力文字又は記号群に基づいて教師信号を生成することが好ましい。ここで、「冗長入力文字又は記号」とは、解答において一般的に使用される入力文字又は記号として予め指定された文字又は記号である。例えば、０から９までの整数の数字は、通常「冗長入力文字又は記号」に指定されてもよい。
【００５８】
このように、「冗長入力文字又は記号」を含む教師信号を利用して、後述するように分類器構築部１１４で分類器を構築することによって、ユーザに対し、適切な「冗長入力文字又は記号」を含む入力インタフェースを提供することができる。これにより、ユーザにとって提示された問題が過度に易化することなく、問題に対するユーザの能力や技量を反映した解答を取得することが可能となる。
【００５９】
図５は、生成された教師信号を含む教師データセットの一実施例を示すテーブルである。
【００６０】
図５によれば、本実施例の教師データセットは、
（ａ）単元情報の素性ベクトル、問題テキストの素性ベクトル及び正解例テキストの素性ベクトルを含む特徴量と、
（ｂ）当該問題の解答入力に適したものとして予め対応付けられたキーボードタイプ（キーボードテンプレートの識別番号）としての教師信号と
を含む。以下、このような機械学習に使用されるひとまとまりの複数の教師データセットをトレーニングセットと称する。ここで、上記（ａ）の素性ベクトルは、Bag-of-words法によってベクトル表現化されている。
【００６１】
尚、教師データセットは、当然に上記のものに限定されるものではない。例えば、特徴量として、問題テキストの素性ベクトルだけ、又は問題テキストの素性ベクトル及び正解例テキストの素性ベクトルだけを含むものを採用することも可能である。さらに、教師信号もキーボードタイプに限定されず、例えば、後述するトレーニングセット３のように、１つの入力キー（文字又は記号）の要不要を表す数値とすることも可能である。
【００６２】
図３に戻って、入力インタフェース構成部１１の分類器構築部１１４は、少なくとも問題及び／又は正解例の素性ベクトルと、この問題に対する解答で使用されるＳＷキーボード（入力インタフェース）１３０に含まれるべき入力文字又は記号に係る教師信号とを対応付けた複数の教師データセット（トレーニングセット）をもって、分類器を構築する。ここで、単元情報の素性ベクトルをも含んだ教師データセットをもって、分類器を構築することも可能である。
【００６３】
図６は、３つのトレーニングセットに対応する分類器の特徴を示すテーブルである。
【００６４】
図６には、３つのトレーニングセット１〜３を使用して構築される分類器の特徴が示されている。ここで、
（ａ）トレーニングセット１は、テンプレート蓄積・管理部１１１に複数のＳＷキーボード１３０のテンプレートが用意されている状況で、問題毎に、これら複数のテンプレート（キーボードタイプ）のうちのいずれを利用するかを判定する１つの多値（多クラス）分類器を構築するための教師データセット群であり、
（ｂ）トレーニングセット２は、テンプレート蓄積・管理部１１１に複数のＳＷキーボード１３０のテンプレートが用意されている状況で、問題毎に、これら複数のテンプレートの中から選択された２つの組合せのうち、いずれのテンプレートがより適しているかを判定するnＣ2種類（ｎはテンプレートの種類数）の２値分類器を構築するための教師データセット群である。ここで、これらのnＣ2種類の２値分類器の判定結果における多数決によって、テンプレートが決定される。また、
（ｃ）トレーニングセント３は、ＳＷキーボード１３０のテンプレートは用意されていない状況で、判定対象となる入力文字又は記号毎に、決定する入力インタフェースに当該入力文字又は記号が含まれるか否かを判定する、即ち、当該入力文字又は記号の要不要を判定する２値分類器を構築するための教師データセット群である。
【００６５】
また、上記（ａ）〜（ｃ）で構築される分類器は、図６に示した分類タスクに対応できるものであれば、どのようなものでもよく、各種の機械学習アルゴリズム、例えば、２値分類のＳＶＭだけでなく、決定木、ナイーブベイズ、又はニューラルネットワーク等の教師有り学習アルゴリズムの下で構築可能である。尚、以下、トレーニングセット１〜３を生成する処理を、それぞれ図７〜９を用いて説明し、トレーニングセット１〜３を用いて構築された分類器によるＳＷキーボード（入力インタフェース）１３０の決定処理を、それぞれ図１０〜１２を用いて説明する。
【００６６】
図７は、トレーニングセット１を生成する処理の一実施形態を示すフローチャートである。
【００６７】
図７に示したフローチャートでの処理は、分類器構築部１１４が、教材データをベクトル表現化して生成した問題等の素性ベクトルと、教師データのキーボードタイプ（テンプレートの識別番号）に相当する教師信号とを対応付けた複数の教師データセットを、トレーニングセット１として蓄積していく処理である。
【００６８】
この処理の後は、後に図１０に示すように、入力インタフェース判定部１１５が、トレーニングセット１を用いて構築された分類器に対し、入力構成対象である問題等の素性ベクトルをインプットして、当該入力構成対象の問題に対する解答での使用に適したテンプレートの識別番号（入力構成情報）をアウトプットさせ、この識別番号のテンプレートを含む入力インタフェースを、提供するＳＷキーボード１３０に決定する。
【００６９】
図７によれば、
（Ｓ１０１）素性ベクトルをＦ、教師信号をＫとし、トレーニングデータを生成するための全教材データ数、即ち全問題数をＮとする。さらに、教材データの識別子としてのパラメータｉを当初ゼロに設定する。
（Ｓ１０２）ｉを１だけ増分する。
【００７０】
（Ｓ１０３）教材データ蓄積部１４から教材データ（１つの問題、正解例及びキーボード情報）ｉを取り出し、教材データｉに含まれるキーボード番号を取得し、教師信号Ｋとする。即ち、当該キーボード番号をＫに代入する。
（Ｓ１０４）取り出した教材データ（問題、正解例）ｉをベクトル表現化し、生成した素性ベクトルをＦに代入する。
（Ｓ１０５）素性ベクトルＦと教師信号Ｋとを、トレーニング（教師）データセットとしてトレーニングセット１に追加する。
【００７１】
（Ｓ１０６）パラメータｉ値が、全教材データ数Ｎ未満であるか否かを判定する。ここで、真（ｉ＜Ｎ）の判定を行った場合、再度ステップＳ１０２に戻って、次の教材データについての処理を実行する。一方、偽（ｉ＝Ｎ）の判定を行った場合、本トレーニングセット生成処理を終了する。
【００７２】
図８は、トレーニングセット２を生成する処理の一実施形態を示すフローチャートである。
【００７３】
図８に示したフローチャートでの処理は、分類器構築部１１４が、複数のテンプレートから選択された２つの組合せ毎に、教材データをベクトル表現化して生成した問題等の素性ベクトルと、当該２つの組合せのうちこの問題に対する解答での使用についてより適した方のテンプレート識別番号としての教師信号とを対応付けた複数の教師データセットを、トレーニングセット２として蓄積していく処理である。
【００７４】
この処理の後は、後に図１１に示すように、入力インタフェース判定部１１５が、２つの組合せ毎に構築された分類器に対し、入力構成対象である問題等の素性ベクトルをインプットして、当該２つの組合せのうち、入力構成対象の問題に対する応答での使用についてより適した方のテンプレートの識別番号（入力構成情報）をアウトプットさせ、この入力構成情報における各テンプレートの出現回数に基づいて、提供するＳＷキーボード１３０を決定する。具体的には、出現回数の最も大きい（多数決で求めた）テンプレートをＳＷキーボード１３０に決定する。
【００７５】
図８によれば、
（Ｓ２０１）番号（パラメータ）ｉの教材データ（１つの問題、及び当該問題に対する正解例）についての素性ベクトルをＦiとし、教師信号をＫiとして、さらに、キーボードテンプレートの全種類数をＮkeytypeとする。また、キーボードテンプレートの識別子としての番号（パラメータ）をｊとして、ｊを当初ゼロに設定する。さらに、全教材データ数をＮとし、教材データの番号ｉを当初ゼロに設定する。
（Ｓ２０２）ｉを１だけ増分する。
【００７６】
（Ｓ２０３）教材データ蓄積部１４から教材データ（問題、正解例及びキーボード情報）ｉを取り出し、教材データｉに含まれるキーボードタイプ（識別番号）、及び教材データ（問題、正解例）ｉから生成される素性ベクトルを、それぞれＫi及びＦiに代入する。
（Ｓ２０４）ｊを１だけ増分する。
（Ｓ２０５）教師信号Ｋiがj値と等しくないか否かを判定する。ここで、偽（Ｋi＝j）の判定を行った場合、次のステップＳ２０６をスキップしてステップＳ２０７に移行する。
【００７７】
（Ｓ２０６）一方、ステップＳ２０５で真（Ｋi≠j）の判定を行った場合、現在のＫi及びＦiを、Ｋiとjの分離用の機械学習トレーニング（教師）データとしてトレーニングセット２に追加する。
【００７８】
（Ｓ２０７）パラメータｊ値が、全キーボードテンプレートの種類数Ｎkeytype未満であるか否かを判定する。ここで、真（ｊ＜Ｎkeytype）の判定を行った場合、再度ステップＳ２０４に戻って、次のキーボードテンプレートについての処理を実行する。
【００７９】
（Ｓ２０８）一方、ステップＳ２０７で偽（ｊ＝Ｎkeytype）の判定を行った場合、パラメータｉ値が、全教材データ数Ｎ未満であるか否かを判定する。ここで、真（ｉ＜Ｎ）の判定を行った場合、再度ステップＳ２０２に戻って、次の教材データについての処理を実行する。一方、偽（ｉ＝Ｎ）の判定を行った場合、本トレーニングセット生成処理を終了する。
【００８０】
ここで、以上に説明したフローの主要部は、要約すると、Ｋiと、Ｋi以外の全てのキーボードタイプとの組合せに対してトレーニング（教師）データを作成するものである。具体的には、Ｋiとｊ（1≦j≦Ｎkeytype，j≠i）とのうち、いずれのキーボードテンプレートを利用するかを判定する分類器を構築するためのトレーニングデータとして、Ｆiを素性ベクトルとし、Ｋiを教師信号としたデータをトレーニングセット２に追加する。
【００８１】
また、テンプレートの２つの組合せ毎に構築される分類器について、より具体的に説明する。非常に簡単な例として、上述したように、３つのキーボードテンプレート
（ａ）単元が「２次関数」である数学問題用のキーボードテンプレート
（ｂ）単元が「３次関数」である数学問題用のキーボードテンプレート
（ｃ）単元が「四則演算」である数学問題用のキーボードテンプレート
が用意されているとすると、分類器としては、次の３つが構築される。
分類器１：２次関数のテンプレート利用か３次関数のテンプレート利用かを判定。
分類器２：２次関数のテンプレート利用か四則演算のテンプレート利用かを判定。
分類器３：３次関数のテンプレート利用か四則演算のテンプレート利用かを判定。
【００８２】
図９は、トレーニングセット３を生成する処理の一実施形態を示すフローチャートである。
【００８３】
図９に示したフローチャートでの処理は、分類器構築部１１４が、判定対象となる入力文字又は記号毎に、教材データをベクトル表現化して生成した問題等の素性ベクトルと、当該入力文字又は記号が問題に対する応答で使用されるＳＷキーボード１３０に含まれるか否かを示す教師信号とを対応付けた複数の教師データセットを、トレーニングセット３として蓄積していく処理である。
【００８４】
この処理の後は、後に図１２に示すように、入力インタフェース判定部１１５が、入力文字又は記号毎に構築された分類器に対し、入力構成対象である問題等の素性ベクトルをインプットして、決定するＳＷキーボード１３０に入力文字又は記号が含まれるか否かについての入力構成情報をアウトプットさせ、含まれると判定された入力文字又は記号を含む入力インタフェースを、提供するＳＷキーボード１３０に決定する。即ち、キーボードのテンプレートを用意するのではなく、個々のキーの要不要を判別して、問題毎に個別のＳＷキーボード１３０を生成する。
【００８５】
図９によれば、
（Ｓ３０１）素性ベクトルをＦとし、教師信号をｔとして、さらに、使用可能な全てのキーの集合をＳallとし、キーの全種類数をＮallとする。また、キーの識別子としての番号（パラメータ）をｊ（j＝1,2,・・・,Nall）として、番号ｊのキーをｋjとし、ｊを当初ゼロに設定する。さらに、全教材データ数をＮとし、教材データの番号ｉを当初ゼロに設定する。
（Ｓ３０２）ｉを１だけ増分する。
【００８６】
（Ｓ３０３）教材データ蓄積部１４から教材データ（問題、正解例及びキーボード情報）ｉを取り出し、教材データ（問題、正解例）ｉをベクトル表現化し、生成した素性ベクトルをＦに代入する。
（Ｓ３０４）取り出した教材データ（キーボード情報）ｉに含まれる入力記号に該当するキーを抽出し、抽出したキーの集合Ｓtrainiを生成する。
（Ｓ３０５）ｊを１だけ増分する。
（Ｓ３０６）番号ｊのキーｋjが集合Ｓtrainiの要素であるか否かを判定する。
【００８７】
（Ｓ３０７ａ）ステップＳ３０６で真（ｋj∈Ｓtraini）の判定を行った場合、生成した素性ベクトルＦを正例とし、教師信号ｔを１、即ちキーｋjが必要であることを示す値とする。
（Ｓ３０７ｂ）一方、ステップＳ３０６で偽（ｋj∈Ｓtrainiではない）の判定を行った場合、生成した素性ベクトルＦを負例とし、教師信号ｔを０、即ちキーｋjが不要であることを示す値とするとする。
（Ｓ３０８）現在の素性ベクトルＦ及び教師信号ｔを、キーｋjにおける要不要の分類用機械学習トレーニングデータとしてトレーニングセット３に追加する。
【００８８】
（Ｓ３０９）パラメータｊ値が、全キー種類数Ｎall未満であるか否かを判定する。ここで、真（ｊ＜Ｎall）の判定を行った場合、再度ステップＳ３０５に戻って、次のキーについての処理を実行する。
【００８９】
（Ｓ３１０）一方、ステップＳ３０９で偽（ｊ＝Ｎall）の判定を行った場合、パラメータｉ値が、全教材データ数Ｎ未満であるか否かを判定する。ここで、真（ｉ＜Ｎ）の判定を行った場合、再度ステップＳ３０２に戻って、次の教材データについての処理を実行する。一方、偽（ｉ＝Ｎ）の判定を行った場合、本トレーニングセット生成処理を終了する。
【００９０】
図３に戻って、入力インタフェース構成部１１の入力インタフェース判定部１１５は、構築された分類器に対し、入力構成対象である問題及び又は当該問題の正解例の素性ベクトルをインプットして、入力構成対象の問題に対する応答を入力する際に使用される入力インタフェースに含まれる入力文字又は記号に係る入力構成情報をアウトプットさせ、提供する入力インタフェースを決定する。
【００９１】
ここで、教師信号生成部１１３が、問題毎に、当該問題に対する解答に使用されるべき入力文字又は記号に加え、冗長入力文字又は記号を含む入力文字又は記号群に基づいて教師信号を生成する場合を考える。この場合、入力インタフェース判定部１１５は、構築された分類器に対し、冗長入力文字又は記号を含む入力構成情報をアウトプットさせ、冗長入力文字又は記号を含む入力インタフェースを、提供する入力インタフェースに決定するのである。これにより、ユーザにとって提示された問題が過度に易化してしまう事態を回避し、ユーザの能力や技量を反映した解答を取得可能となる。
【００９２】
図１０は、トレーニングセット１による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。このフローチャートでの処理は、キーボードタイプの決定を多値分類器によって実行するものである。
【００９３】
（Ｓ４０１）教材データ蓄積部１４から入力構成対象である問題を取り出し、この問題をベクトル表現化し、生成した素性ベクトルをＦに代入する。
（Ｓ４０２）現在のＦを、トレーニングセット１による学習で構築された分類器にインプットし、この分類器からアウトプウトされたキーボード情報（入力構成情報）に基づいて、提供するキーボードテンプレートを決定する。これで、本提供キーボード決定処理が終了する。
【００９４】
図１１は、トレーニングセット２による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。このフローチャートでの処理は、提供するキーボードタイプの決定を、２値分類器からの出力での多数決によって実行するものである。
【００９５】
（Ｓ５０１）教材データ蓄積部１４から入力構成対象である問題を取り出し、この問題をベクトル表現化し、生成した素性ベクトルをＦに代入する。
（Ｓ５０２）番号ｊ（j＝1,2,・・・,Nkeytype）のキーボードテンプレートが選択される回数ｒjを要素とする集合Ｒにおける要素の初期値をゼロとする。即ち、当初Ｒ＝｛r1,r2,・・・,rNkeytype｝＝｛0,0,・・・,0｝とする。また、同じくキーボードテンプレートを識別する番号ｉの初期値をゼロとする。
【００９６】
（Ｓ５０３）iを１だけ増分する。
（Ｓ５０４，Ｓ５０５）ｊをｉとした上で、１だけ増分する。即ち、ｊを当初、現在のｉに比べて１だけ大きい値とする。
（Ｓ５０６）現在のＦを、トレーニングセット２による学習で構築された、番号ｉ及びｊのキーボードテンプレートを分類する分類器にインプットし、この分類器からアウトプットされたキーボード情報（入力構成情報）に基づいて、番号ｉのキーボードテンプレート及び番号ｊのキーボードテンプレートの一方を選択する。ここで、選択された方の番号をｍとする。
【００９７】
（Ｓ５０７）Ｒの要素ｒmを１だけ増分する。即ち番号ｍのキーボードテンプレートの選択回数を１回増やす。
【００９８】
（Ｓ５０８）パラメータｊ値が、全キーボードテンプレート種類数Ｎkeytype未満であるか否かを判定する。ここで、真（ｊ＜Ｎkeytype）の判定を行った場合、再度ステップＳ５０５に戻って、番号ｉのキーボードテンプレートに対する次のキーボードテンプレートについての処理を実行する。
【００９９】
（Ｓ５０９）一方、ステップＳ５０８で偽（ｊ＝Ｎkeytype）の判定を行った場合、パラメータｉ値が、Ｎkeytypeより１だけ少ない数（Ｎkeytype−１）未満であるか否かを判定する。ここで、真（ｉ＜Ｎkeytype−１）の判定を行った場合、再度ステップＳ５０３に戻って、次のキーボードテンプレートについての処理を実行する。
【０１００】
（Ｓ５１０）一方、ステップＳ５０９で偽（ｉ＝Ｎkeytype−１）の判定を行った場合、最終的なＲの要素のうち、値が最大となる要素の番号（argmaxj(rj)）の示すキーボードテンプレートを、提供するキーボードテンプレートに決定する。これで、本提供キーボード決定処理が終了する。
【０１０１】
図１２は、トレーニングセット３による学習で構築された分類器による入力インタフェース構成処理の一実施形態を示すフローチャートである。
【０１０２】
このフローチャートでの処理は、要不要（採用・不採用）を判定する２値分類器を用いて入力キー単位の取捨選択を行い、新たにＳＷキーボード１３０を構成するものである。ここで、要不要の判定対象となる入力キーは、生成されたトレーニングセット３に含まれる全てのキーとしている。
【０１０３】
（Ｓ６０１）教材データ蓄積部１４から入力構成対象である問題を取り出し、この問題をベクトル表現化し、生成した素性ベクトルをＦに代入する。
（Ｓ６０２）取り出した入力構成対象問題の正解例テキストに含まれる記号の全種類数をＮansとし、各記号に対応するキーをｐm（m＝1,2,・・・,Nans）とし、全てのキーｐmの集合をＳansとする。
【０１０４】
（Ｓ６０３）トレーニングセット３に含まれるキーの全種類数をＮallとし、各キーをｋj（j＝1,2,・・・,Nall）とし、全てのキーｋjの集合をＳallとする。また、パラメータｊの初期値をゼロに設定する。
（Ｓ６０４）ｊを１だけ増分する。
【０１０５】
（Ｓ６０５）キーｋjが集合Ｓansの要素ではないかどうかを判定する。ここで、偽（ｋj∈Ｓans）の判定を行った場合、キーｋjについての判定処理をスキップし、ステップＳ６０７に移行する。
（Ｓ６０６）一方、ステップＳ６０５で真（ｋj∈Ｓansではない）の判定を行った場合、現在のＦを、トレーニングセット３による学習で構築されたキーｋjに係る分類器にインプットし、この分類器からアウトプウトされたキー情報（入力構成情報）に基づいて、キーｋjを採用するか否かを判定する。ここで、採用しないとの判定を行った場合、キーｋjの採用処理をスキップし、ステップＳ６０８に移行する。
【０１０６】
（Ｓ６０７）一方、ステップＳ６０６で採用するとの判定を行った場合、キーｋjを提供するキーボードの構成要素として採用する。
（Ｓ６０８）パラメータｊ値が、全キー種類数Ｎall未満であるか否かを判定する。ここで、真（ｊ＜Ｎall）の判定を行った場合、再度ステップＳ６０４に戻って、次のキーについての処理を実行する。一方、偽（ｊ＝Ｎall）の判定を行った場合、本提供キーボード決定処理を終了する。
【０１０７】
図３に戻って、入力インタフェース構成部１１の難易度調整部１１６は、入力構成対象の問題に対する応答のうちから誤応答を取得して、誤応答からなる誤応答群で使用された入力文字又は記号であって、正答例で使用されていない入力文字又は記号である「誤入力文字又は記号」を決定し、この誤応答群における「誤入力文字又は記号」の出現回数に基づいて、提供するＳＷキーボード１３０に「誤入力文字又は記号」を含めるか否かを決定する。例えば、出現回数又は当該出現回数の割合が所定閾値以上である場合、この「誤入力文字又は記号」は含めないと判定してもよい。また、この際、入力インタフェース判定部１１５は、アウトプットされた入力構成情報に基づいて決定された入力インタフェースに含まれる入力文字又は記号のうち、含めないと決定された「誤入力文字又は記号」を除外して、提供するＳＷキーボード１３０を決定する。これにより、例えば、問題の正解率が極めて低く、問題の難易度が高すぎると判断される場合に、誤解答入力の可能性を下げて問題をいく分易化させ、難易度を調整することが可能となる。
【０１０８】
また、難易度調整部１１６は、変更態様として、決定されたＳＷキーボード１３０における冗長入力文字又は記号の一部を削除することによって、問題を易化する方向に調整してもよい。即ち、提供されるＳＷキーボード１３０には、もともと問題の難易度を下げすぎないように、冗長入力文字又は記号に対応する入力キーを含ませているが、問題の難易度が高すぎる場合には、この冗長な入力キーを除外することにより、問題を易化することが可能となる。
【０１０９】
図１３は、構成された入力インタフェースの難易度を調整する処理の一実施形態を示すフローチャートである。
【０１１０】
（Ｓ７０１）ログ蓄積部１５から難易度調整対象（入力構成対象）の問題ｉの正答ｉを取り出し、正答ｉに含まれる記号の集合Ｃを生成する。
（Ｓ７０２）ログ蓄積部１５から難易度調整対象（入力構成対象）の問題ｉの誤解答ｊを取り出し、誤解答ｊの全数をＮwとして、誤解答の集合Ｅ＝｛Ei,1,・・・,Ei,Nw｝を生成する。また、誤解答Ei,jを識別するパラメータｊの初期値をゼロに設定する。
（Ｓ７０３）ハッシュ（hash）変数Ｈをゼロで初期化する。
（Ｓ７０４）ｊを１だけ増分する。
【０１１１】
（Ｓ７０５）誤解答Ei,jに含まれる記号の集合Ｗを生成し、誤解答に含まれる文字及び記号の集合から、正解例に含まれる文字及び記号の集合を差し引いた差集合Ｓとして、
（１）  Ｓ＝｛ｓ|ｓ∈Ｗ ∧ 〜(ｓ∈Ｃ)｝
を算出する。
（Ｓ７０６）差集合Ｓの全ての要素ｓに対し、ｓをキーとした際のハッシュ変数の値Ｈ{s}を１だけ増分する（Ｈ{s}＝Ｈ{s}＋１）。
【０１１２】
（Ｓ７０７）パラメータｊ値が、Ｎw未満であるか否かを判定する。ここで、真（ｉ＜Ｎw）の判定を行った場合、再度ステップＳ７０４に戻って、次の誤解答についての処理を実行する。
【０１１３】
（Ｓ７０８）一方、ステップＳ７０７で偽（ｉ＝Ｎw）の判定を行った場合、最終的なＳの要素ｓのうち、誤解答での出現率ｒe、即ち、
（２）  ｒe＝Ｈ{s}／Ｎw
が所定閾値以上となる要素ｓ（記号）に対応するキーを、提供するキーボードから除外する。これで、本難易度調整処理が終了する。
【０１１４】
図３に戻って、装置制御部１２は、入力インタフェース判定部１１５から入力した、ＳＷキーボードの構成を指定する入力構成情報（ＳＷキーボード構成情報）に基づいて、ＳＷキーボード１３０を構成し、ＴＰ／ＤＰ１３に対し、構成したＳＷキーボード１３０を出力して表示させる。また、装置制御部１２は、例えば、装置１に搭載されたｅラーニング又はｅテスティング用の教育アプリケーション・プログラムによる一般的な機能を発動させることも好ましい。例えば、演習問題やテスト問題をＴＰ／ＤＰ１３に表示したり音声で読み上げたりして提示し、さらに、ＳＷキーボード１３０を介しユーザによって入力された解答情報を受け取り、問題及び解答の入出力ログをとって、ｅラーニング又はｅテスティングとしての処理を実行してもよい。
【０１１５】
通信制御部１７（図３）は、外部から通信インタフェース１６を介して、例えば、教材コンテンツを取得して、教材データ蓄積部１４に保存したり、ＳＷキーボードのテンプレートを取得して、テンプレート蓄積・管理部１１１に保存したりしてもよい。また、入力インタフェース判定部１１５から出力される入力構成情報や、装置制御部１２から出力されるＳＷキーボード１３０の情報を、通信インタフェース１６を介して外部へ送信してもよい。
【０１１６】
以上詳細に説明したように、本発明によれば、提示される課題を過度に易化させることなく、課題に対する応答を入力するのに適した入力文字又は記号を適宜提示する入力インタフェースを提供することができる。これにより、ユーザは、入力のための操作方法や文法等の複雑な規則を予め覚える必要なしに、例えば数式といった通常入力困難な形態の応答を容易に入力することが可能となる。
【０１１７】
また、冗長入力文字又は記号を含み得る教師信号を採用して、冗長入力文字又は記号を含む入力インタフェースを提供する形態では、ユーザにとって課題が過度に易化することなく、課題に対するユーザの能力や技量を反映した応答を取得することが可能となる。さらに、本発明は、例えば、問題毎に利用する予め用意したＳＷキーボードを割り当てるような運用においても、問題毎に新たにＳＷキーボードを構成する運用においても適用可能な技術となっている。
【０１１８】
また、本発明によれば、通常使用される機会の少ない特殊な入力文字又は記号であっても、課題に対する応答を入力するのに必要であるならば、当該課題に応じて適宜、この特殊な入力文字又は記号を提示することができる。その結果、数学問題に対する解答での数式入力のみならず、例えば、世界中の独特な文字を用いた言語や特殊な記号を用いたプログラム言語についての解答、さらには音楽の楽譜に使用される記号を用いる解答や、様々な分野での絵文字・図形等を用いる解答を行う際に適した入力インタフェースをも提供することをも可能にするのである。
【０１１９】
以上に述べた本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【０１２０】
１  ユーザインタフェース装置（入力インタフェース提供装置）
１１、２１  入力インタフェース構成部
１１１  テンプレート蓄積・管理部
１１２  素性ベクトル生成部
１１３  教師信号生成部
１１４  分類器構築部
１１５  入力インタフェース判定部
１１６  難易度調整部
１２  装置制御部
１３  タッチパネル・ディスプレイ
１３０、３００  ソフトウェアキーボード（入力インタフェース）
１４、２４  教材データ蓄積部
１５、２５  ログ蓄積部
１６、２３  通信インタフェース
１７、２２  通信制御部
２  入力インタフェース提供サーバ（入力インタフェース提供装置）
３  ユーザインタフェース装置
【図１】
2016177161.tif 000003
【図２】
2016177161.tif 000004
【図３】
2016177161.tif 000005
【図４】
2016177161.tif 000006
【図５】
2016177161.tif 000007
【図６】
2016177161.tif 000008
【図７】
2016177161.tif 000009
【図８】
2016177161.tif 000010
【図９】
2016177161.tif 000011
【図１０】
2016177161.tif 000012
【図１１】
2016177161.tif 000013
【図１２】
2016177161.tif 000014
【図１３】
2016177161.tif 000015