(57)【要約】【課題】ユーザの手書きストロークデータに基づいてユーザの手書きの際の書き写し度を算出する書き写し度算出システム、方法及びプログラムを提供すること。【解決手段】実施形態によれば、書き写し度算出方法は、ユーザが手書きしたストロークの座標、時刻を示すストロークデータを取得する取得ステップと、取得ステップで取得されたストロークデータの特徴量の度数分布に基づいて手書きストロークの書き写し度を算出する算出ステップと、を具備する。【選択図】  図６
2016139293.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが手書きしたストロークの座標、時刻を示すストロークデータを取得する取得ステップと、
前記取得ステップで取得されたストロークデータの特徴量の度数分布に基づいて手書きストロークの書き写し度を算出する算出ステップと、
を具備する書き写し度算出方法。
【請求項２】
前記算出ステップは、１ストロークのストロークデータの統計量、２ストロークのストロークデータの差分、２ストロークのストロークデータの変化の少なくとも１つの度数分布に基づいて手書きストロークの書き写し度を算出する請求項１記載の書き写し度算出方法。
【請求項３】
前記１ストロークのストロークデータの統計量は、ストローク長、筆記速度、加速度の少なくとも１つを含み、
前記２ストロークのストロークデータの差分は、２ストロークの重心点間距離、２ストローク間の時間差、２ストローク間の移動量の少なくとも１つを含む請求項２記載の書き写し度算出方法。
【請求項４】
前記ストロークデータはストロークの筆圧も示す請求項１記載の書き写し度算出方法。
【請求項５】
前記算出ステップは、１ストロークのストロークデータの統計量、２ストロークのストロークデータの差分、２ストロークのストロークデータの変化の少なくとも１つの度数分布に基づいて手書きストロークの書き写し度を算出する請求項４記載の書き写し度算出方法。
【請求項６】
前記１ストロークのストロークデータの統計量は、ストローク長、筆記速度、筆圧、加速度の少なくとも１つを含み、
前記２ストロークのストロークデータの差分は、２ストロークの重心点間距離、２ストローク間の時間差、２ストローク間の移動量の少なくとも１つを含む請求項５記載の書き写し度算出方法。
【請求項７】
ユーザが手書きしたストロークを表示するとともに、書き写しと判定されたストロークあるいは当該ストロークを含む領域をそれ以外のストロークあるいは領域と異なる態様で表示する表示ステップをさらに具備する請求項１記載の書き写し度算出方法。
【請求項８】
前記算出ステップは、行毎の度数分布に基づいて手書きストロークの書き写し度を１行あるいは数行毎に算出し、
前記表示ステップは、１行あるいは数行単位で書き写しと判定されたストロークデータあるいは当該ストロークデータを含む領域をそれ以外のストロークデータあるいは領域と異なる態様で表示する請求項７記載の書き写し度算出方法。
【請求項９】
記憶部から読み出した学習用の問題であって回答記入欄を含む問題を表示するステップと、
前記回答記入欄に手書きされたストロークの書き写し度をストロークデータと関連付けて前記記憶部に書き込むステップと、
前記記憶部から読み出したストロークデータと書き写し度とを表示するステップと、
をさらに具備する請求項１記載の書き写し度算出方法。
【請求項１０】
前記算出ステップは、回帰式を用いて前記度数分布から書き写し度を算出する請求項１記載の書き写し度算出方法。
【請求項１１】
前記回帰式はストロークの消去作業の履歴に応じて補正される請求項１０記載の書き写し度算出方法。
【請求項１２】
ユーザが手書きしたストロークの座標、時刻を示すストロークデータを取得する取得部と、
前記取得部で取得されたストロークデータの特徴量の度数分布に基づいて手書きストロークの書き写し度を算出する算出部と、
を具備する算出する書き写し度算出システム。
【請求項１３】
前記ストロークデータはストロークの筆圧も示す請求項１２記載の書き写し度算出システム。
【請求項１４】
ユーザが手書きしたストロークを表示する表示部と、
ストロークの表示に際して、書き写しと判定されたストロークあるいは当該ストロークを含む領域をそれ以外のストロークあるいは領域と異なる態様で表示する表示制御部と、
をさらに具備する請求項１２記載の書き写し度算出システム。
【請求項１５】
前記取得部を具備する第１の装置と、
前記算出部を具備する第２の装置と、
を具備し、
前記表示部は前記第１の装置または前記第２の装置に設けられる請求項１４記載の書き写し度算出システム。
【請求項１６】
コンピュータにより実行されるプログラムであって、前記プログラムは、
ユーザが手書きしたストロークの座標、時刻を示すストロークデータを取得し、
取得されたストロークデータの特徴量の度数分布に基づいて手書きストロークの書き写し度を算出するものであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は書き写し度算出システム、方法及びプログラムに関する。
【背景技術】
【０００２】
試験会場等で受験者がペンデバイスを使用して回答を書き、複数の受験者の回答データを比較し、その類似度に基づいてカンニングの可能性のある回答を検出する不正行為検知サーバがある。また、電子筆記具の姿勢と、姿勢に対応付けられた時間情報とに基づき、電子筆記具の使用者の思考状態を推定する電子筆記システムもある。さらに、手書きの文字や絵の時空間情報を定量化することにより特徴量を抽出し、書き手の精神・心理・生理状態を判定する装置もある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2007-108961号公報
【特許文献２】特開2012-168308号公報
【特許文献３】特開2010-133280号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、手書きした内容を分析することにより書き手の精神・心理・生理状態を判定することはできるが、特定の内容を手書きしないと判定できない。また、手書きには、ユーザが文書を創作しながら書いている状態と、既存の文書を単に書き写している状態があるが、この２つの状態を識別することはできない。
【０００５】
本発明の目的はユーザが手書きしたストロークのストロークデータに基づいてユーザの手書きの際の書き写し度を算出する書き写し度算出システム、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、書き写し度算出方法は、ユーザが手書きしたストロークの座標、時刻を示すストロークデータを取得する取得ステップと、取得ステップで取得されたストロークデータの特徴量の度数分布に基づいて手書きストロークの書き写し度を算出する算出ステップと、を具備する。
【図面の簡単な説明】
【０００７】
【図１】電子機器の一実施形態としてのタブレットの外観の一例を示す斜視図である。
【図２】図１のタブレットを含むシステム全体の一例を示すブロック図である。
【図３】手書き文字の一例を示す。
【図４】図３の手書き文字に対応するストロークデータの一例を示す。
【図５】図１のタブレットの構成の一例を示すブロック図である。
【図６】図５に示す書き写し度算出プログラムの構成の一例を示す図である。
【図７】ストロークデータから算出される統計量としてのサンプル点間の距離、速度の一例を示す。
【図８】２つのストロークの重心間距離の一例を示す。
【図９】２つのストロークの時間差、移動量の一例を示す。
【図１０】２つのストローク間の移動量の変化の一例を示す。
【図１１】２つのストロークの重心間距離、時間差、移動量、移動量の変化の一例を示す。
【図１２】時間差の度数分布の回帰分析の例を示す。
【図１３】回帰直線の学習の一例を示す。
【図１４】実施形態の第１動作モードの処理の流れを示すフローチャートである。
【図１５】実施形態の電子機器の使用の一例を示す概略図である。
【図１６】実施形態の第２動作モードの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施形態を説明する。
【０００９】
実施形態は、手書き文字のストロークデータを取得し、ストロークデータからユーザの筆記状態を表す特徴量を抽出し、手書き文書のある領域内の特徴量の度数分布から回帰式を用いて筆記状態が書き写しか否かを算出する。ユーザが思考しながら文書を創作しながら手書きしている状態と、既存の文書を単に書き写している状態とでは、ユーザの認知的負荷、例えばユーザが思考しているか否か、が異なるので、特徴量の度数分布は異なる。例えば、ユーザが既存の文書を単に書き写している時は、度数分布において特徴量の分散は小さく、思考しながら創作しているときは分散が大きい傾向がある。このため、特徴量の度数分布から書き写し度を求めることができる。
【００１０】
書き写し度による手書き状態の判定は、種々の状況で応用可能であるが、第１実施形態としては、宿題や遠隔授業のために生徒がタブレット、あるいはノートブック型パソコン、デスクトップ型パソコン等の手書き可能な電子機器を使用して回答を手書きる状況を説明する。宿題や遠隔授業の場合、教師が生徒の行動を直に見ることが出来ず、生徒の苦手な箇所や注意をすべき箇所を特定する手がかりが少ない。しかし、生徒が手書き可能な電子機器を使用して手書きした回答のストロークデータに基づいて、質問から回答までの時間、あるいは回答を手書きする際の電子ペンの動きが手がかりとして得られるかもしれない。質問から回答までの時間が長い程、生徒が回答を出すために思考しており、その問題に関する理解が足りないと判断できる。しかし、生徒が他人の回答あるいは正解を書き写している場合は、その問題に関する事項を良く理解できていると誤解してしまう。また、複数の生徒の回答を比較することにより、カンニング等の不正行為を行なっている生徒を特定することができるかもしれない。しかし、常に複数の生徒の回答を比較することは現実的ではない。
【００１１】
そこで、実施形態は、手書き文字のストロークデータからユーザの手書きの際の書き写し度を求める。これにより、ユーザがどの程度理解しているのかを判定し、教師等に適切な情報を提供することができる。
【００１２】
（第１の実施形態）
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、タブレット１０を説明するが、手書きが可能であれば、ノートブック型パソコン、デスクトップ型パソコン等でもよい。タブレット１０は、本体１２とタッチスクリーンディスプレイ１４とを備える。タッチスクリーンディスプレイ１４は、本体１２の上面に重ね合わせるように取り付けられている。
【００１３】
本体１２は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１４には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペン又は指の接触位置及び接触位置の動き等を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。ここでは、デジタイザとタッチパネルである２種類のセンサの双方がタッチスクリーンディスプレイ１４に組み込まれている場合を想定する。デジタイザは、例えば、フラットパネルディスプレイの画面の下側に配置される。タッチパネルは、例えば、フラットパネルディスプレイの画面上に配置される。このため、タッチスクリーンディスプレイ１４は、指を使用した画面に対するタッチ操作のみならず、ペン１６を使用した画面に対するタッチ操作も検出することができる。ペン１６の例には、デジタイザペン（電磁誘導ペン）、アクティブペン、パッシブペン等が含まれる。
【００１４】
図２は、タブレット１０を含むシステム全体のブロック図である。多数の生徒が使うタブレット１０Ａ，１０Ｂ，…がネットワーク２０に接続される。ネットワーク２０には、生徒に問題を与えるとともに、生徒の回答を採点する教師用のパソコン２２も接続される。生徒用の機器はタブレットに限らず、手書き可能なパソコンを用いてもよい。教師用の機器には手書き機能は必須ではないが、教師用の機器としてタブレットを用いてもよい。なお、生徒の回答を見るのは教師のみならず、生徒の親も想定される。親用の機器は教師用の機器と同じでも良いし、生徒と同じタブレットを使い、ユーザにより機能を切り替えることも可能である。
【００１５】
実施形態による特徴量を抽出する処理、書き写し度を求める処理は、ストロークデータを取得するタブレット１０の機能として実現してもよいが、タブレット１０は文字を手書きし、ストロークデータを取得する機能だけとし、上記処理や、求めた結果の表示、問題を出す機能等は教師用のパソコン２２あるいはネットワーク２０に接続されたサーバ２４の機能として実現してもよい。サーバ２４には大容量の記憶装置であるデータベース２６が接続される。データベース２６は、生徒に与える問題を記憶したり、手書きした回答のストロークデータを記憶したり、回答のストロークデータに関連付けて書き写し度を記憶することが可能である。
【００１６】
外部オブジェクト（以下、ペン１６と称する）を使用してタブレット１０のユーザがタッチスクリーンディスプレイ１４上で文字を手書きすると、画面上のペン１６の動き軌跡がサンプルされ、サンプル点の座標、時刻を含むストロークデータが取得される。ストロークデータにより表されるストロークがタッチスクリーンディスプレイ１４上で描画される。ペン１６が画面に接触してから離れる迄のペン１６の動きの軌跡が１ストロークに相当する。文字は少なくとも１つのストロークからなる。
【００１７】
図３は、ペン１６などを使用してタッチスクリーンディスプレイ１４上に手書きされる文字からなる手書き文書の例を示す。文字Ａは、２つのストローク（“∧”形状のストローク、“−”形状のストローク）からなる。文字Ｂも、２つのストロークからなる。文字“Ｃ”は、１つのストロークからなる。ストロークは、一定時間毎あるいは一定移動距離毎にサンプリングされ、例えば、第１番目の“∧”形状のストロークを構成するｎ個のサンプル点ｓｐ１１，ｓｐ１２，…ｓｐ１ｎが得られる。以下同様に、各ストロークがサンプリングされ、サンプル点ｓｐが得られる。なお、ペンの移動速度は一定とは限らないし、ストロークの長さはストローク毎に異なるので、一定時間間隔でサンプリングされたサンプル点間の距離は一定ではないし、サンプル点の総数もストローク毎に異なる。ペンの移動速度は一定とは限らないし、ストロークの長さはストローク毎に異なるので、一定移動距離間隔でサンプリングされたサンプル点間の距離は一定ではないし、サンプル点の総数もストローク毎に異なる。
【００１８】
図４は、図３の文書に対応するストロークデータ２００を示す。手書き文書のストロークデータ２００は、ストローク毎のストロークデータＳＤ１，ＳＤ２，…ＳＤ５を含む。ストロークデータＳＤ１，ＳＤ２，…ＳＤ５は、手書きされた順に並べられている。先頭の２つのストロークデータＳＤ１，ＳＤ２は、手書き文字“Ａ”の２つのストロークをそれぞれ示す。３番目と４番目のストロークデータＳＤ３，ＳＤ４は、手書き文字“Ｂ”を構成する２つのストロークをそれぞれ示す。５番目のストロークデータＳＤ５は、手書き文字“Ｃ”を構成する１つのストロークを示す。
【００１９】
各ストロークデータＳＤは、１つのストローク上の複数のサンプル点ｓｐのデータからなる。サンプル点ｓｐのデータは、デジタイザから入力されるサンプル点の座標（ｘ，ｙ）と、サンプル点の観察時刻（サンプル点が手書きされた時刻）ｔを含む。観察時刻ｔは、絶対時間（例えば、年月日時分秒）でもよいし、ある時刻を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータＳＤが、当該ストロークが書き始められた絶対時間（例えば、年月日時分秒）Ｔを含み、各サンプル点が、絶対時間Ｔとの差分を示す相対時間を観察時刻ｔとして含んでもよい。
【００２０】
ここでは、サンプル点の座標、時刻を用いて手書き状態を知ることができ、それに基づいて書き写し度を算出するが、ストロークデータは座標、時刻以外の情報を含んでいても良い。
【００２１】
サンプル点ｓｐのデータは、当該サンプル点が手書きされた時点でペン１６がタッチスクリーンディスプレイ１４から受ける圧力、所謂筆圧ｐを含んでいてもよい。例えば、ペン１６内にペン先端に加わる圧力により容量が変化する可変コンデンサを内蔵し、この可変コンデンサと、おなじくペン１６内のインダクタンスとからなる共振回路の共振周波数の変化をデジタイザで検出することにより、ペン１６の筆圧を検出することができる。なお、筆圧検出の方法はこれに限定されず、他のいずれの筆圧検出を用いても良い。
【００２２】
さらに、サンプル点ｓｐのデータは、当該サンプル点が手書きされた時点のペン１６の傾き（入力面とペンとのなす角度）を含んでいてもよい。例えば、ペン１６の先端部に一対の電極を内蔵し、この２つの電極の位置をデジタイザで検出し、その検出位置情報を演算することにより、ペン１６の入力面とのなす角度（入力面に直交する軸に対するペンの傾き）を検出することができる。なお、傾き検出の方法はこれに限定されず、他のいずれの傾き検出を用いても良い。
【００２３】
なお、ストロークデータの表現形式は、図４に限定されるものではなく、座標、時刻、筆圧等を含んでいれば、どのような形式で表現されていてもよい。
【００２４】
また、タッチスクリーンディスプレイ１４上でユーザがペンや指を用いてストロークを手書きすることにより、ストロークデータが入力されることを説明したが、これに限らず、タッチパッド、電子ペン等を用いて手書きしても良い。
【００２５】
図５は、タブレット１０のシステム構成を示す図である。なお、教師用のパソコン２２も基本的に同じ構成である。タブレット１０は、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００２６】
ＣＰＵ１０１は、タブレット１０内の各種コンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアは、オペレーティングシステム（ＯＳ）２０１、及び各種アプリケーションプログラムを含む。アプリケーションプログラムは、書き写し度算出プログラム２０２を含む。なお、上述したように、書き写し度算出プログラム２０２の少なくとも一部のモジュールは、タブレット１０以外の機器、例えば、教師用のパソコン２２、サーバ２４にあってもよい。
【００２７】
ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００２８】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラ（図示せず）も内蔵されている。
【００２９】
グラフィクスコントローラ１０４は、タブレット１０のディスプレイモニタとして使用されるＬＣＤ１４Ｂを制御する表示コントローラである。グラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１４Ｂに送られる。ＬＣＤ１４Ｂは、表示信号に基づいて画面イメージを表示する。ＬＣＤ１４Ｂ上にはタッチパネル１４Ａが配置されている。ＬＣＤ１４Ｂの下にはデジタイザ１４Ｃが配置される。デジタイザ１４Ｃはペン１６が接触される画面上の接触位置、接触位置の動き、接触圧力（筆圧）、ペンの傾き等を検出する。
【００３０】
無線通信デバイス１０７は、無線ＬＡＮ又は３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレット１０を電源オン又は電源オフする機能を有している。
【００３１】
図６は、本タブレット１０によって実行される書き写し度算出プログラム２０２の機能構成の例を示す。
【００３２】
書き写し度算出プログラム２０２は、例えば、ストロークデータ取得モジュール２０４、特徴量抽出モジュール２０６、度数分布算出モジュール２１０、書き写し度算出モジュール２１６、ストローク表示モジュール２２２を備える。
【００３３】
デジタイザ１４Ｃは、タッチ、移動（スライド）、リリース等のイベントの発生を検出するように構成されている。タッチは、画面上にペンが接触したことを示すイベントである。移動（スライド）は、画面上にペンが接触されている間に接触位置が移動されたことを示すイベントである。リリースは、画面からペンが離されたことを示すイベントである。
【００３４】
ストローク表示モジュール２２２及びストロークデータ取得モジュール２０４は、デジタイザ１４Ｃによって発生されるタッチ、移動（スライド）、リリースのイベントを受信し、これによって手書き入力操作を検出する。タッチイベントには、ペン１６がタッチスクリーンディスプレイ１４に接触された位置の座標が含まれている。移動（スライド）イベントには、ペンの移動先の座標が含まれている。リリースイベントには、ペン１６がタッチスクリーンディスプレイ１４から離れた位置の座標が含まれている。したがって、ストローク表示モジュール２２２及びストロークデータ取得モジュール２０４は、デジタイザ１４Ｃから、ペン先の動きの軌跡上の一定時間間隔あるいは一定距離間隔の各サンプル点の座標、観察時刻、及びペンの種類によっては筆圧、ペン傾きを受信することができる。
【００３５】
ストローク表示モジュール２２２は、デジタイザ１４Ｃから各サンプル点の座標、観察時刻、筆圧を受信し、このデータに基づいて、ペン１６を使用した手書き入力操作によって手書きされる各ストロークをＬＣＤ１４Ｂの画面上に表示する。筆圧に応じてストロークの太さが変わる。
【００３６】
ストロークデータ取得モジュール２０４は、デジタイザ１４Ｃから出力される上述のサンプル点のデータを受信し、このデータに基づいて、例えば図４で示したような構造を有するストロークデータを生成する。ストロークデータは、特徴量抽出モジュール２０６と、データベース２６に供給される。データベース２６は手書き文書のストロークデータを保存する。
【００３７】
特徴量抽出モジュール２０６は、ストロークデータから筆記状態を表す特徴量を抽出する。特徴量抽出モジュール２０６は、（１）１ストロークのストロークデータから算出される統計量、（２）２ストロークのストロークデータの差分（３）２ストロークのストロークデータの変化の少なくとも１つをストロークの特徴量として求める。各ストロークデータにばらつきがあることを考慮し、正規化したデータを用いてもよい。また、ストロークのサンプリング間隔が異なるものを比較の対象とする場合も同様である。
【００３８】
特徴量抽出モジュール２０６で求められた特徴量は度数分布算出モジュール２１０に供給される。度数分布算出モジュール２１０は、手書き文書に含まれる全ストロークのストロークデータから求めた特徴量の度数分布を算出する。度数分布に基づいて文書の書き写し度が算出されるので、書き写し度を判定したい文書の部分毎、例えば行毎、段落毎に度数分布が算出される。複数の特徴量が抽出される場合、特徴量毎に度数分布を求めてもよいし、複数の特徴量を纏めて１つの度数分布を求めてもよい。特徴量は１または２ストロークのストロークデータの特徴量であり、度数分布は多数のストロークのストロークデータの特徴量といえるので、統合特徴量とも称する。
【００３９】
度数分布算出モジュール２１０で求められた度数分布は、書き写し度算出モジュール２１６に供給される。書き写し度算出モジュール２１６は、度数分布から回帰式を用いて、ユーザの書き写し度を求め、筆記状態が書き写しか否かを判定する。
【００４０】
書き写し度算出モジュール２１６で求められた書き写し度または判定結果は、データベース２６、教師用のパソコン２２、ストローク表示モジュール２２２に供給される。データベース２６は手書き文書のストロークデータに関連付けて書き写し度または判定結果を保存する。パソコン２２は、文書、例えば生徒が筆記した回答を表示する際に、書き写し度または判定結果も表示する。タブレット１０自身のＬＣＤ１４Ｂで回答を表示する際に、書き写し度または判定結果も表示してもよい。書き写し度または判定結果の表示は、回答とは別個に表示してもよいし、回答の表示形態を変更し、書き写しストロークと非書き写しストロークとが識別可能なようにしてもよい。
【００４１】
特徴量抽出モジュール２０４が抽出する特徴量の例を説明する。
【００４２】
先ず、（１）１ストロークのストロークデータ（座標、時刻、筆圧、ペン角度）の統計量の例を説明する。なお、座標、時刻、筆圧、ペン角度の統計量を全て求める必要はなく、少なくとも座標、時刻に基づいた統計量を求めればよく、筆圧、ペン角度に基づいた統計量を求めなくてもよい。座標、時刻に基づいた統計量を用いて書き写し度を算出するよりも、筆圧、ペン角度に基づいた統計量を用いて書き写し度を算出する方が判定の精度が向上する場合がある。
【００４３】
図７はＮ個のサンプル点から構成される１ストロークを示す。サンプル点の変数ｉは０〜Ｎ−１である。サンプル点ｉの座標を（ｘｉ，ｙｉ）、筆圧をｐｉ、時間差（サンプル点ｉの観察時刻ｔｉ−サンプル点ｔ０の観察時刻）をｔｄｉとする。サンプル点ｉとサンプル点ｉ＋１との間の距離ｄｉ及び筆記速度ｖｉは次のように定義される。
【数１】
2016139293.tif 000003
【００４４】
ｖｉ＝ｄｉ／（ｔｄｉ+１−ｔｄｉ）
距離ｄｉ及び筆記速度ｖｉを用いると、次のようなストロークの長さ、速度、加速度に関連する統計量が１ストロークのストロークデータから算出される。
【００４５】
（１ａ）ストローク長Ｌ：１ストロークのサンプル点間の距離の合計
【数２】
2016139293.tif 000004
【００４６】
（１ｂ）全体速度Ｖ：ストローク全体の筆記速度であり、ストローク長／始点・終点の時間差
Ｖ＝Ｌ／ｔｄｎ−１
（１ｃ）平均速度Ｖ(ave)：サンプル点間の筆記速度の平均値であり、（サンプル点間距離／サンプル点間の時間差）の平均値
【数３】
2016139293.tif 000005
【００４７】
（１ｄ）最大速度Ｖ(max)：サンプル点間の筆記速度の最大値
Ｖ(max)＝ｍａｘ（ｖｉ）
ここで、ｉ∈｛０，１，…，Ｎ−２｝
（１ｅ）最小速度Ｖ(min)：サンプル点間の筆記速度の最小値（ただし、０を除く）
Ｖ(min)＝ｍｉｎ（ｖｉ）
ここで、ｉ∈｛０，１，…，Ｎ−２｝
（１ｆ）加速度Ａ：ストロークの加速度
Ａ＝Ｖ／ｔｄｎ−１＝Ｌ／ｔｄｎ−１２
（１ｇ）平均加速度Ａ(ave)：サンプル点間の加速度の平均
【数４】
2016139293.tif 000006
【００４８】
（１ｈ）最大加速度Ａ(max)：サンプル点間の加速度の最大値
Ａ(max)＝ｍａｘ（（ｖｉ+１−ｖｉ）／ｔｄｉ）
ここで、ｉ∈｛０，１，…，Ｎ−２｝
（１ｉ）最小加速度Ａ(min)：サンプル点間の加速度の最小値（ただし、０を除く）
Ａ(min)＝ｍｉｎ（（ｖｉ+１−ｖｉ）／ｔｄｉ）
ここで、ｉ∈｛０，１，…，Ｎ−２｝
ストロークデータが筆圧も含む場合は、次のような筆圧に関連する統計量も算出される。
【００４９】
（１ｊ）平均筆圧Ｐ(ave)：サンプル点の筆圧の平均値
【数５】
2016139293.tif 000007
【００５０】
（１ｋ）最大筆圧Ｐ(max)：サンプル点の筆圧の最大値
Ｐ(max)＝ｍａｘ（ｐｉ）
ここで、ｉ∈｛０，１，…，Ｎ−１｝
（１ｌ）最小筆圧Ｐ(min)：サンプル点の筆圧の最小値（ただし、０を除く）
Ｐ(min)＝ｍｉｎ（ｐｉ）
ここで、ｉ∈｛０，１，…，Ｎ−１｝
さらに、ストロークデータがペンの傾きも含む場合は、筆圧と同様に、ペンの傾きの平均値、最大値、最小値も算出される。
【００５１】
次に、（２）２ストロークのストロークデータの差分、（３）２ストロークのストロークデータの変化の例を説明する。
【００５２】
図８は、２ストロークのストロークデータの差分の一例として、２つのストロークの重心間の距離を示す。１ストロークの重心は、１ストロークの外接矩形の重心とする。
【００５３】
図９は、２ストロークのストロークデータの差分の他の例として、２つのストローク間の時間差と移動量を示す。第１のストロークの終点のサンプル点の観測時刻をＴ１、座標を（ｘ１，ｙ１）とし、次に書かれた第２のストロークの始点のサンプル点の観測時刻をＴ２、座標を（ｘ２，ｙ２）とする。２つのストローク間の時間差はＴ２−Ｔ１で求められる。２つのストローク間の移動量は、第１のストロークの終点から第２のストロークの始点までの移動量として、次のように求められる。
【数６】
2016139293.tif 000008
【００５４】
図１０は、２ストロークのストロークデータの変化の一例として、２つのストローク間の移動量と後に書かれたストロークの移動量との比を示す。第１のストロークの終点１のサンプル点の観測時刻をＴ１、座標を（ｘ１，ｙ１）とし、第２のストロークの始点のサンプル点の観測時刻をＴ２、座標を（ｘ２，ｙ２）とし、第２のストロークの終点２のサンプル点の観測時刻をＴ３、座標を（ｘ３，ｙ３）とする。２つのストローク間の移動量と第２のストロークの移動量との比は次のように求められる。
【数７】
2016139293.tif 000009
【００５５】
図１１は図８、図９、図１０に例示した特徴量を含み、２ストロークのストロークデータから求められる特徴量を纏めて説明する。
【００５６】
時系列に連続する２つのストロークｊとストロークｊ＋１の重心座標をそれぞれ（ｃｊｘ，ｃｊｙ）、（ｃｊ＋１ｘ，ｃｊ＋１ｙ）とする。
【００５７】
（２Ａ）２ストロークの重心間の距離Ｄ（ｃ）は次のように求められる。
【数８】
2016139293.tif 000010
【００５８】
（２Ｂ）２ストローク間の時間差Ｓ：時系列に連続するストロークの終点・始点の時間差は次のように求められる。
【００５９】
Ｓ＝Ｔｊ＋１−Ｔｊ
(２Ｃ)ストローク間の移動量Ｄ：時系列に連続するストロークの終点・始点の距離は次のように求められる。
【数９】
2016139293.tif 000011
【００６０】
（２Ｄ）次の手書きまでのペンの移動速度と、次のストロークの筆記速度との割合ＲＶ：ストローク描画開始から次のストローク描画までの移動速度と、次のストロークの描画速度との割合は次のように求められる。
【００６１】
ＲＶ＝（（Ｌｉ＋Ｄ）／（Ｔｊ＋１−Ｔｊ））／ＶＩ
ここで、ＶＩはＩ番目のストロークの速度を示す。
【００６２】
（２Ｅ）２つのストローク間の移動量と後に書かれたストロークの移動量との比（数７）
なお、２ストロークのストロークデータの差分と、２ストロークのストロークデータの変化の例は（２Ａ）から（２Ｅ）に限定されず、（１Ａ）から（Ｉｌ）の差分と変化を用いても良い。
【００６３】
度数分布算出モジュール２１０は、手書きされた文書の１行のストロークデータの特徴量の度数分布を求める。横書きの場合、１行の最後のストロークの終点は行の右端にあり、次の行の最初のストロークの始点は行の左端にあるので、その間の距離や時間差が所定値以上の場合、２ストロークが別々の行に手書きされていると判定でき、全体の文書から１行のストロークデータが抽出される。度数分布を行単位で求めるので、書き写し度も行単位で求められる。しかし、書き写しか否かは、行単位に限らず、数行単位、段落単位、頁単位で纏めて判定しても良い。段落は、１行目の字下げあるいは行間の不連続を検出することにより、特定できる。
【００６４】
一般的に、筆記状態を表すストロークデータの特徴量の度数分布は、思考しながら創作物を筆記しているときは分散が大きく、他の文書を書き写しているときは分散が小さい傾向がある。例えば、２つのストローク間の（前のストロークの終点から次のストロークの始点までの）時間差あるいは距離の度数分布では、図１２（ａ）に示すように最小区間の投票数が全投票数の特定の閾値（例えば、９割）以上である場合、書き写しと推定できる。反対に、図１２（ｂ）に示すように、最小区間の投票数が全投票数の特定の閾値以上ではない場合、非書き写しと推定できる。あるいは、度数分布において、投票数が０である区間がある場合、非書き写しと推定でき、それ以外の場合、書き写しと推定できる。
【００６５】
実際には、この推定は、書き写し度算出モジュール２１６が回帰分析を用いた回帰式によって行なう。書き写し度算出モジュール２１６が、学習データを用いた学習により予め決定された回帰式
【数１０】
2016139293.tif 000012
【００６６】
を用いて書き写し度を求める。
【００６７】
ここで、
【数１１】
2016139293.tif 000013
【００６８】
は度数分布算出モジュール２１０で算出した度数分布である。
【数１２】
2016139293.tif 000014
【００６９】
ｂは定数であり、これら
【数１３】
2016139293.tif 000015
【００７０】
、ｂは、学習により決定される。ｍは度数分布の区間数、ｘｊは区間ｊの投票数である。
【００７１】
度数分布は行毎に求められるので、学習用のストロークデータとして１行のストロークデータをＮ個準備する。各学習データに対して書き写し度の評価値ｙｉを決める。評価値は書き写しが多い程大きい値になる。学習はユーザ個々が予め行なってもよいし、他人の学習結果を利用しても良い。
【００７２】
学習の一例を図１３に示す。Ｎ個の学習データの特徴量の度数分布に対して、それぞれ評価値ｙｉを決めておく。学習データと実際のストロークデータとの誤差が最も小さくなる係数
【数１４】
2016139293.tif 000016
【００７３】
、ｂを求める。
【００７４】
回帰式を求める学習手法は上述の方法に限定されることなく、公知公用の手法を用いることが出来る。
【００７５】
これにより、書き写し度算出モジュール２１６は、手書き文書のストロークデータの特徴量の度数分布から１行単位の書き写し度を求めることができる。書き写しか否かの判定を行より大きい領域単位で行なう場合は、その領域の行毎の書き写し度から総合的に領域の書き写し度を算出する。
【００７６】
ペン１６は筆記するだけではなく、消しゴム機能を有することがある。消しゴム機能をオンするとペンが消しゴムとなり、ペンでなぞる部分のストロークデータを消去することができる。この消去作業の履歴も書き写し度に相関がある。即ち、書き写している時は消しゴムは殆ど使わないので、消去作業の時間または回数が多い場合は、非書き写しであると判定できる。消去作業の履歴を考慮して算出するためには、回帰式に消去作業の時間または回数に応じた補正項ｃを加える。また、消去時間間隔・頻度の度数分布を、ストロークデータからの特徴量と同様に学習してもよい。
【数１５】
2016139293.tif 000017
【００７７】
このように、第１の実施形態によれば、ユーザの手書きの履歴を示すストロークデータから筆記状態を表す特徴量を抽出し、特徴量の度数分布から回帰式を用いて、手書きが書き写しか否かを判定することができる。実施形態を教師が出した問題に生徒が回答する学習システムに応用すると、教師は生徒が正解や他人の回答を書き写したか否か知ることや、生徒が回答するのに苦労しているか否か等を知ることができ、生徒指導に有用な情報を得ることができる。
【００７８】
以下、実施形態のいくつかの動作例を説明する。
【００７９】
第１の動作例を図１４、図１５を参照して説明する。ここでは、生徒が自宅にいてタブレット１０を使って宿題をしている、あるいは教師と生徒が別の場所におり、生徒がタブレット１０を使って遠隔授業を受けているとする。図１４は、タブレット１０とパソコン２２の処理の流れを示す。図１５は、図１４の処理の際の生徒と教師の様子を示す。
【００８０】
ブロック３０２で、生徒が使用するタブレット１０は、サーバ２４にアクセスして、データベース２６から所定の問題をダウンロードする。ブロック３０６で、問題はＬＣＤ１４Ｂで表示される。問題は、設問領域と回答領域とを含み、設問領域は「○○について述べよ」等を表示する。ブロック３０８で、生徒はペン１６を用いてＬＣＤ１４Ｂで表示されている回答領域に回答を手書きする。手書きされたストロークはＬＣＤ１４Ｂで表示される。ペン１６でストロークが手書きされると、デジタイザ１４Ｃは、サンプル点の座標（ｘ，ｙ）、観測時刻情報ｔ、筆圧ｐ、ペンの傾き等を入力し、ストロークデータ取得モジュール２０４は、図４に示すようなストロークデータを取得する（ブロック３１２）。
【００８１】
回答領域全体のストロークデータが入力されると、ブロック３１３でレイアウト解析が行なわれ、回答領域全体のストロークデータが行毎のストロークデータに分割される。レイアウト解析は、文書中の段落、行、及び図表の有無等を解析するものである。例えば、行や段落を解析する場合には、１行の最後のストロークの終点と次の行の最初のストロークの始点との間の距離や時間差に基づいて行なわれる。ブロック３１４でストロークデータの特徴量の１行毎の度数分布が求められ、度数分布から１行のストロークの書き写し度が求められる。書き写し度は、例えば書き写しと推定される場合は値が大きくなる。ブロック３１８で、書き写し度がストロークデータと関連づけてデータベース２６に保存される。
【００８２】
一方、教師が使用するパソコン２２は、ブロック３２２で、サーバ２４にアクセスして、データベース２６から所定の問題をダウンロードして、ブロック３２６でタブレット１０に問題を送信する。なお、問題は生徒、または教師の少なくともいずれかで取得すればよく、ブロック３０２、３２２の両方を実施しなくてもよい。
【００８３】
生徒の学習が終わると、ブロック３２８で、パソコン２２は、データベース２６から回答のストロークデータと、関連する書き写し度あるいは判定結果を読み出す。ブロック３３０で、回答が表示部で表示される。ブロック３３４で、表示された回答が書き写しと判定されているか否かが判定される。書き写しと判定されている場合は、ブロック３３８で、書き写しストローク、あるいは書き写しストロークを含み書き写しと判定された領域の表示態様が変更され、他のストロークと識別可能な態様とされる。例えば、書き写しストローク、書き写領域の文字色、背景色が強調されたり、その部分のストロークが点滅する。これにより、教師が採点する際に、カンニングの可能性を知ることができる。反対に、書き写し部分以外を強調表示することにより、生徒が問題を解くのに思考して創作した回答部分を特定することができ、生徒の苦手な箇所や注意をすべき箇所を特定する手がかりとすることができる。また、教師に限らず、生徒以外の第３者、例えば親が生徒の回答を見る際、生徒が解くのに苦労したところを褒める箇所を親に知らせることもできる。
【００８４】
図１６は、第２の動作例の処理の流れを示すフローチャートである。ここでは、生徒と親が１台のタブレットを共有しているとする。このタブレットは、動作モードが生徒モードと親モードとに切替可能であり、生徒モードの場合は、生徒のタブレット１０として動作し、親モードの場合は、教師のパソコン２２として動作する。
【００８５】
ブロック４０２で、動作モードが生徒モードか親モードか判定される。生徒モードの場合は、図１４のフローチャートのタブレット１０と同じ動作をする。すなわち、ブロック３０２で、タブレットは、データベース２６から所定の問題をダウンロードする。ブロック３０６で、問題はＬＣＤ１４Ｂで表示される。ブロック３０８で、生徒は、回答領域に回答を手書きする。手書きされたストロークはＬＣＤ１４Ｂで表示される。ペン１６でストロークが手書きされると、ストロークデータ取得モジュール２０４は、図４に示すようなストロークデータを取得する（ブロック３１２）。
【００８６】
ブロック３１３でレイアウト解析が行なわれる。ブロック３１４でストロークデータの特徴量の１行毎の度数分布が求められ、度数分布から１行のストロークの書き写し度が求められる。ブロック３１８で、書き写し度がストロークデータと関連づけてデータベース２６に保存される。
【００８７】
ブロック４０２で、動作モードが親モードと判定されると、図１４のフローチャートのパソコン２２と同じ動作をする。すなわち、ブロック４０６で、タブレットは、データベース２６から回答のストロークデータと、関連する書き写し度あるいは判定結果を読み出す。ブロック４０８で、回答がＬＣＤ１４Ｂで表示される。ブロック４１２で、表示された回答が書き写しと判定されているか否かが判定される。書き写しと判定されている場合は、ブロック４１４で、書き写しストローク、あるいは書き写しストロークを含み書き写しと判定された領域の表示態様が変更され、他のストロークと識別可能な態様とされる。例えば、書き写しストローク、書き写領域の文字色、背景色が強調されたり、その部分のストロークが点滅される。
【００８８】
これにより、子供が回答中は回答のストロークのみを表示し、書き写しの判定結果は表示せず、親が使用する際は、回答のストロークとともに書き写しの判定結果を表示することができ、親子で共有する１つの端末をそれぞれの端末として動作させることができる。なお、親に限らず教師等が、親モードで使用してもよい。
【００８９】
第１の動作例、第２の動作例に共通の変形例を説明する。
【００９０】
書き写し判定結果は他者に知らせるに限らず、回答した生徒本人に知らせてもよい。例えば、無意識で書き写しをしている生徒にアラートを出してもよい。これにより、文章を書くとき、参考にしている文献の書き写しになってしまっていることをアラートする（多少のタイムラグはあるが）ことが出来る。
【００９１】
書き写し判定結果の表示は、回答ストロークの表示形態を変えずに、属性（色、明るさ等）のみを変更して付加的に行なうだけではなく、書き写し度の順にストロークを入れ替えて表示してもよい。
【００９２】
教師等の採点者表示部が複数の生徒の回答を同時に表示可能とし、採点対象の複数の生徒の回答に対し書き写し度合いを表示してもよい。これにより、教師の採点を支援することが出来る。複数の生徒の書き写し度を色分け等して比較表示してもよい。多数の回答を同時に表示する際は、文書のサムネイルを表示し、書き写し度に応じてサムネイルの色を変えても良い。これにより、教師が授業で例として取り上げる回答を決めたり、レポート課題の採点の参考情報（同じ内容のレポートがあった時に、どれがオリジナルかを特定するための情報）を得ることができる
さらに、書き写し判定結果を本人に知らせる場合、本人が手書きした複数の文章を非書き写し度順にソートして表示することにより、他の文章の内容を写してまとめる際にまとめた（自分が整理した）順に表示することができ、ユーザの執筆を支援することが出来る。
【００９３】
上述の説明は、文章の手書きに使用したタブレットで手書き文書の書き写し判定を行なったが、タブレットはストロークデータの入力のためのみに使用し、図６の特徴量抽出モジュール２０６、度数分布算出モジュール２１０、書き写し度算出モジュール２１６は教師用のパソコン２２あるいはサーバ２４により実現しても良い。また、特徴量抽出、度数分布算出、書き写し判定は、手書きと同時あるいは直後に行なう必要はなく、処理の負担が小さい時期に行なってもよい。
【００９４】
実施形態は学習に関して説明したが、作家が資料を参考にしながら執筆する際に、無意識で書き写した場合、警告を出すことができる。
【００９５】
なお、この電子機器は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、特徴抽出部、特徴統合部および測定部は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、行動支援装装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、ＢおよびＣは、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【００９６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００９７】
１４…タッチスクリーンディスプレイ、１６…ペン、１０１…ＣＰＵ、１０２…システムコントローラ、１０３…主メモリ、１０４…グラフィックスコントローラ、１０７…無線通信デバイス、２０２…書き写し度算出プログラム、２０４…ストロークデータ取得モジュール、２０６…特徴量抽出モジュール、２１０…度数分布算出モジュール、２１６…書き写し判定モジュール。
【図１】
2016139293.tif 000018
【図２】
2016139293.tif 000019
【図３】
2016139293.tif 000020
【図４】
2016139293.tif 000021
【図５】
2016139293.tif 000022
【図６】
2016139293.tif 000023
【図７】
2016139293.tif 000024
【図８】
2016139293.tif 000025
【図９】
2016139293.tif 000026
【図１０】
2016139293.tif 000027
【図１１】
2016139293.tif 000028
【図１２】
2016139293.tif 000029
【図１３】
2016139293.tif 000030
【図１４】
2016139293.tif 000031
【図１５】
2016139293.tif 000032
【図１６】
2016139293.tif 000033