(57)【要約】【課題】パスワード不要のユーザ認証装置を実現する。【解決手段】工作機械の数値制御装置のユーザ認証に用いられるユーザ認証装置１は、正当な利用権者による数値制御装置の操作端末に対する所定のキー入力操作におけるキー利用情報を予め取得する取得部１１と、検査対象利用者が操作端末に対して行ったキー入力操作におけるキー利用情報と取得部１１が取得した正当な利用権者のキー利用情報とに基づいて、検査対象利用者が正当な利用権者であるか否かを判定する認証部１２と、を備える。【選択図】図２
2018101355.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の数値制御装置のユーザ認証に用いられるユーザ認証装置であって、
正当な利用権者による数値制御装置の操作端末に対する所定のキー入力操作におけるキー利用情報を予め取得する取得部と、
検査対象利用者が前記操作端末に対して行ったキー入力操作におけるキー利用情報と前記取得部が取得した前記正当な利用権者のキー利用情報とに基づいて、前記検査対象利用者が前記正当な利用権者であるか否かを判定する認証部と、
を備える、ユーザ認証装置。
【請求項２】
前記所定のキー入力操作におけるキー利用情報は、前記操作端末の１つのキーに対する押下継続時間、前記操作端末の複数回のキーの押下における押下時間間隔、前記操作端末のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、前記操作端末の上下左右の各カーソルキーの押下順、及び、前記操作端末にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む、請求項１に記載のユーザ認証装置。
【請求項３】
検査対象利用者に対して前記所定のキー入力操作を促す画面を、前記数値制御装置の表示装置に表示させる表示制御部をさらに備える、請求項１または２に記載のユーザ認証装置。
【請求項４】
前記取得部は、取得した前記正当な利用権者のキー利用情報を記憶する記憶部を有する、請求項１〜３のいずれか一項に記載のユーザ認証装置。
【請求項５】
前記取得部は、前記正当な利用権者による前記操作端末に対するキー入力操作の履歴の中から、当該正当な利用権者のキー利用情報を抽出する特徴抽出部をさらに有する、請求項４に記載のユーザ認証装置。
【請求項６】
前記認証部は、前記検査対象利用者が前記操作端末に対して行ったキー入力操作におけるキー利用情報と前記正当な利用権者のキー利用情報との一致度を数値化した評価値データが所定の閾値以上である場合、前記検査対象利用者を前記正当な利用権者として認証する、請求項１〜５のいずれか一項に記載のユーザ認証装置。
【請求項７】
前記評価値データは、前記一致度が高いほど加点され前記一致度が低いほど減点される点数にて表され、
前記認証部は、前記点数が前記所定の閾値以上である場合、前記検査対象利用者を前記正当な利用権者として認証する、請求項６に記載のユーザ認証装置。
【請求項８】
前記取得部は、
前記正当な利用権者による前記操作端末に対するキー入力操作に関連する状態変数を観測する状態観測部と、
前記状態観測部の出力に基づいて、前記正当な利用権者のキー利用情報を学習する学習部と、
を有する機械学習装置からなる、請求項１〜３のいずれか一項に記載のユーザ認証装置。
【請求項９】
前記状態変数は、前記操作端末のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、前記操作端末の上下左右の各カーソルキーの押下順、及び、前記操作端末にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む、請求項８に記載のユーザ認証装置。
【請求項１０】
前記機械学習装置は、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの前記他の機械学習装置との間で学習の結果を相互に交換または共有する、請求項８または９に記載のユーザ認証装置。
【請求項１１】
前記学習部は、前記正当な利用権者が複数の前記数値制御装置の操作端末に対して入力操作を行った場合における前記状態観測部の出力に従って、当該正当な利用権者のキー利用情報を学習する、請求項８〜１０のいずれか一項に記載のユーザ認証装置。
【請求項１２】
前記学習部は、前記状態観測部の出力及び前記正当な利用権者の識別情報に基づいて、複数の前記正当な利用権者のそれぞれについてのキー利用情報を学習する、請求項８〜１１のいずれか一項に記載のユーザ認証装置。
【請求項１３】
前記学習部は、前記正当な利用権者のキー利用情報を、ニューラルネットワークにより学習する、請求項８〜１２のいずれか一項に記載のユーザ認証装置。
【請求項１４】
前記学習部は、
前記状態観測部の出力に基づいて、前記正当な利用権者のキー利用情報の分布及び規則性を表す学習モデルを生成する学習モデル生成部と、
前記学習モデルに基づいて、前記正当な利用権者のキー利用情報を示す正常時スコア、及び、前記検査対象利用者のキー利用情報を示す検査対象スコア、を出力するスコア生成部と、
を備える、請求項８〜１３のいずれか一項に記載のユーザ認証装置。
【請求項１５】
前記認証部は、前記検査対象スコアが前記正常時スコアの範囲に含まれる場合、前記検査対象利用者を前記正当な利用権者として認証するスコア判定部を有する、請求項１４に記載のユーザ認証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード不要のユーザ認証装置に関する。
【背景技術】
【０００２】
利用者（オペレータ）に応じて操作実行のレベルを制限するために、操作端末に対するキー操作を用いたユーザ認証機能を備えた工作機械の数値制御（Ｎｕｍｅｒｉｃａｌ Ｃｏｎｔｒｏｌ：ＮＣ）装置がある。なお、本明細書において、数値制御装置(ＮＣ装置)には、コンピュータ数値制御（Ｃｏｍｐｕｔｅｒｉｚｅｄ  Ｎｕｍｅｒｉｃａｌ Ｃｏｎｔｒｏｌ：ＣＮＣ）装置やロボットコントローラも含まれる。
【０００３】
例えば、ユーザにより予め設定されたパスワードに対する認証のためにユーザが文字列を入力するための入力メカニズムを提供する認証システムにおいて実行されるパスワードの入力及び認証システムにおいて、該ユーザが該入力メカニズムにより入力した文字列を得るステップと、該文字列が以下の四つの条件、即ち、該パスワードが全体として該文字列の前に付けられている、該パスワードが全体として該文字列中に付けられている、該パスワードが全体として該文字列の後ろに付けられている、該パスワードが全体として完全に該文字列と同一である、のいずれかを満たせば該ユーザを認証するステップ、を具えたことを特徴とする、パスワードの入力及び認証システムが知られている。（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２９３８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
工作機械の数値制御装置の操作端末に対するキー操作を用いたユーザ認証では、認証に必要なパスワード情報が流失してしまうと、数値制御装置に対して操作権限が与えられていない利用者が、パスワード情報を入手して、操作権限が与えられている正当な利用権者に成りすまして数値制御装置にログインできてしまう問題がある。例えば、操作権限が与えられていない成りすましの利用者が、ログインできた数値制御装置の操作端末を悪意を持って操作し、工作機械及びこれを含む生産ラインを故意に誤動作させたり停止させる可能性がある。この結果、工作機械により製造した製品に不良が発生したり、深刻な事故が発生することもある。このため、ユーザ認証機能を備えた工作機械の数値制御装置において、パスワードを用いることなく、操作権限が与えられた正当な利用権者であるか否かを容易に判定できるようにすることが望まれている。
【課題を解決するための手段】
【０００６】
本開示の一態様は、工作機械の数値制御装置のユーザ認証に用いられるユーザ認証装置であって、正当な利用権者による数値制御装置の操作端末に対する所定のキー入力操作におけるキー利用情報を予め記憶する記憶部と、検査対象利用者が操作端末に対して行ったキー入力操作におけるキー利用情報と記憶部に記憶された前記正当な利用権者のキー利用情報とに基づいて、検査対象利用者が前記正当な利用権者であるか否かを判定する認証部と、を備えるユーザ認証装置である。
【発明の効果】
【０００７】
本開示の一態様によれば、ユーザ認証機能を備えた工作機械の数値制御装置において、パスワードを用いることなく、操作権限が与えられた正当な利用権者であるか否かを容易に判定するユーザ認証装置を実現することができる。
【図面の簡単な説明】
【０００８】
【図１】工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【図２】一実施形態によるユーザ認証装置を示すブロック図である。
【図３】第１形態によるユーザ認証装置を示すブロック図である。
【図４】第１形態によるユーザ認証装置の動作フローを示すフローチャートである。
【図５】第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示された文字を消去するよう促す画面を例示する図である。
【図６】第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示されたカーソルを移動させるよう促す画面を例示する図である。
【図７】第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示された特定の文字を入力するよう促す画面を例示する図である。
【図８】第１形態によるユーザ認証装置において、検査対象利用者の認証に用いられる評価値データについて説明する図であり、（Ａ）は操作端末のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況についての評価値データに関し、（Ｂ）は操作端末の上下左右の各カーソルキーの押下順についての評価値データに関し、（Ｃ）は操作端末にて所定の文字を入力する際に用いられるキーの組合せに関する図である。
【図９】第２形態によるユーザ認証装置を示すブロック図である。
【図１０】ニューロンのモデルを示す模式図である。
【図１１】Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【図１２】一実施形態による機械学習装置において入力データから正常時スコアを得るまでの一例を説明する図である。
【図１３】自己符号化器(オートエンコーダ)を示す図である。
【図１４】第２形態によるユーザ認証装置の動作フローを示すフローチャートである。
【図１５】第２形態によるユーザ認証装置を備える数値制御装置を示すブロック図である。
【図１６】通信ネットワークに接続された第２形態によるユーザ認証装置を示すブロック図である。
【図１７】第２形態によるユーザ認証装置を有する生産システムの第１の実施形態を示すブロック図である。
【図１８】第２形態によるユーザ認証装置を有する生産システムの第２の実施形態を示すブロック図である。
【図１９】第２形態によるユーザ認証装置を有する生産システムの第３の実施形態を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下図面を参照して、ユーザ認証装置について説明する。各図面において、同様の部材には同様の参照符号が付けられている。また、異なる図面において同じ参照符号が付されたものは同じ機能を有する構成要素であることを意味するものとする。なお、理解を容易にするために、これらの図面は縮尺を適宜変更している。
【００１０】
ユーザ認証装置を説明するに先立ち、一般的な数値制御装置の構成について簡単に説明する。図１は、工作機械を制御する数値制御装置の一例を概略的に示すブロック図である。
【００１１】
図１に示すように、数値制御装置４０は、例えば、バス１００９により繋がれたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３、Ｉ／Ｏ（Ｉｎｐｕｔ/Ｏｕｔｐｕｔ）１００４、不揮発性メモリ１００５、軸制御回路１００６、ＰＭＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｍａｃｈｉｎｅ  Ｃｏｎｔｒｏｌｌｅｒ）１００７、及び表示装置／ＭＤＩ（Ｍａｎｕａｌ  Ｄａｔａ  Ｉｎｐｕｔ）パネル１００８などを含む。表示装置／ＭＤＩ１００８は、操作端末１０１１及び表示装置１０１２などを含む。操作端末１１１は、例えば、キーボードやタッチパネルからなる。キーボードには、数字キー、文字キー、カーソルキー、Ｂａｃｋｓｐａｃｅキー、Ｄｅｌｅｔｅキー、ファンクションキーなどが配列されている。
【００１２】
例えば、ＣＰＵ１００１は、ＲＯＭ１００２に格納されたシステムプログラムに従って数値制御装置４０全体を制御する。ＲＡＭ１００３には、各種データまたは入出力信号が格納され、また、不揮発性メモリ１００５には、例えば、位置情報、速度情報、加速度情報、位置偏差、トルク指令、及び負荷電流値などの各情報が格納される。ＰＭＣ１００７は、例えば、工作機械５０から状態信号を受け取って、ＣＰＵ１００１に対して所定の入力信号を転送する。軸制御回路１００６は、ＣＰＵ１００１から各軸の移動指令を受け取って、軸の指令をサーボアンプ１５２に出力し、サーボアンプ１５２は、軸制御回路１００６からの移動指令に基づいて、工作機械５０に設けられたサーボモータ１５１を駆動する。
【００１３】
数値制御装置４０には、コンピュータ数値制御装置も含まれる。また、数値制御装置４０が制御する工作機械５０の例としては、例えば、旋盤、ボール盤、中ぐり盤、フライス盤、研削盤、歯切り盤・歯車仕上げ機械、マシニングセンタ、放電加工機、パンチプレス、レーザ加工機、搬送機及び射出成形機などといった様々なものが含まれるが、これら以外のものを工作機械に含めてもよい。
【００１４】
図２は、一実施形態によるユーザ認証装置を示すブロック図である。一実施形態によるユーザ認証装置１は工作機械５０の数値制御装置のユーザ認証に用いられる。ユーザ認証装置１は、正当な利用権者による数値制御装置４０の操作端末１０１１に対する所定のキー入力操作におけるキー利用情報を予め取得する取得部１１と、検査対象利用者が操作端末１０１１に対して行ったキー入力操作におけるキー利用情報と取得部１１が取得した正当な利用権者のキー利用情報とに基づいて、検査対象利用者が正当な利用権者であるか否かを判定する認証部１２とを備える。また、ユーザ認証装置１は、検査対象利用者に対して所定のキー入力操作を促す画面を、数値制御装置４０の表示装置１０１２に表示させる表示制御部１３を備える。
【００１５】
ここで、「正当な利用権者」とは、工作機械５０の数値制御装置４０に対して操作権限を有すると認証された者を意味する。利用者が数値制御装置４０の操作端末１０１１を用いて入力操作する際、利用者ごとに、例えば、数値制御装置４０の操作端末１０１１であるキーボードのＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、数値制御装置４０の操作端末１０１１であるキーボードの上下左右の各カーソルキーの押下順、及び、操作端末１０１１であるキーボードを用いて所定の文字を入力する際に用いられるキーの組合せ、などに特徴的な相違（換言すれば、入力操作の癖）が現れる。
【００１６】
例えば、数値制御装置４０の操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況については、表示装置１０１２に表示された文字を消去（削除）する場合、操作端末１０１１のＤｅｌｅｔｅキーを使う傾向が多いかＢａｃｋｓｐａｃｅキーを使う傾向が多いかといった、ＤｅｌｅｔｅキーとＢａｃｋｓｐａｃｅキーとの利用頻度が、利用者ごとに違う。また、ＤｅｌｅｔｅキーもしくはＢａｃｋｓｐａｃｅキーを、長押しするか連打するかも、利用者ごとに違う。
【００１７】
また、数値制御装置４０の操作端末１０１１の上下左右の各カーソルキーの押下順については、例えば表示装置１０１２に表示されたカーソルを右斜め上方向に移動させる場合、操作端末１０１１のカーソルキーを「右、上」の順に押下するか「上、右」の順に押下するか、利用者ごとに違う。
【００１８】
また、例えばローマ字入力キーボードを用いた日本語の文字入力は、「あ」、「い」、「う」、「え」及び「お」を除いて、ローマ字（アルファベット）を２回以上打ち込むことで行われる。このうち、例えば「し」は、「ｓｉ」、「ｓｈｉ」もしくは「ｃｉ」のキーの組合せを打ち込むことで入力される。例えば「しゅ」は「ｓｙｕ」または「ｓｈｕ」のキーの組合せを打ち込むことで入力される。例えば「ち」は「ｔｉ」または「ｃｈｉ」のキーの組合せを打ち込むことで入力される。例えば「つ」は「ｔｕ」または「ｔｓｕ」のキーの組合せを打ち込んで入力される。例えば「ふ」は「ｆｕ」または「ｈｕ」のキーの組合せを打ち込むことで入力される。このように、ある特定の文字については、入力する際に用いられるキーの組合せが複数あり、利用者ごとに用いられるキーの組合せが異なる。なお、日本語に限らず、他の言語についても、特定の文字については入力する際に用いられるキーの組合せが複数存在する場合があり、同じく利用者ごとに用いられるキーの組合せが異なり得る。
【００１９】
このように、数値制御装置４０の操作端末１０１１に対するキー入力操作の特徴は、利用者ごとに異なるものである。同一人物であれば毎回のキー入力操作に同様の特徴が現われる傾向が強く、異なる人物であればキー入力操作の特徴が異なる傾向が強い。そこで、一実施形態によるユーザ認証装置１では、利用者によって相違が現われるキー入力操作の特徴に着目し、数値制御装置４０の操作端末１０１１に対する所定のキー入力操作におけるキー利用情報（特徴）を、パスワードの代わりとして用いる。
【００２０】
取得部１１が取得する正当な利用権者の上記所定のキー入力操作におけるキー利用情報は、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む。
【００２１】
取得部１１による正当な利用権者のキー利用情報の取得処理の完了後、表示制御部１３は、検査対象利用者に対して所定のキー入力操作を促す画面を、数値制御装置４０の表示装置１０１２に表示させる制御を行う。検査対象利用者（すなわち、数値制御装置４０の利用許可を求めようとする利用者）は、この画面の指示に従って、所定のキー入力操作を行う。認証部１２は、検査対象利用者が操作端末１０１１に対して行ったキー入力操作におけるキー利用情報と取得部１１が取得した正当な利用権者のキー利用情報とに基づいて、検査対象利用者が正当な利用権者であるか否かを判定する。検査対象利用者が正当な利用権者であると認証されると、当該検査対象利用者は、数値制御装置４０の利用が可能となる。
【００２２】
以下、上述の一実施形態によるユーザ認証装置１における取得部１１及び認証部１２の形態を列記する。
【００２３】
図３は、第１形態によるユーザ認証装置を示すブロック図である。第１の形態によれば、取得部１１は、取得された正当な利用権者のキー利用情報を記憶する記憶部２１、及び、正当な利用権者による操作端末１０１１に対するキー入力操作の履歴の中から、当該正当な利用権者のキー利用情報を抽出する特徴抽出部２２を備える。なお、特徴抽出部２２を省略して、正当な利用権者の、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び／または、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せを、直接に記憶部に登録しておいてもよい。
【００２４】
図４は、第１形態によるユーザ認証装置の動作フローを示すフローチャートである。
【００２５】
ステップＳ１０１において、記憶部２１は、取得された正当な利用権者のキー利用情報を記憶する。上記の通り、正当な利用権者のキー利用情報は、直接に記憶部に登録してもよく、あるいは、特徴抽出部２２により、正当な利用権者による操作端末１０１１に対する大量のキー入力操作の履歴を監視し、この中から正当な利用権者のキー利用情報を抽出し、これを記憶部２１に記憶（登録）してもよい。
【００２６】
ステップＳ１０１における記憶部２１における正当な利用権者のキー利用情報の記憶処理の完了後、ステップＳ１０２において、表示制御部１３は、検査対象利用者に対して所定のキー入力操作を促す画面を、数値制御装置４０の表示装置１０１２に表示させる制御を行う。これにより、数値制御装置４０の表示装置１０１２は、検査対象利用者に対して所定のキー入力操作を促す画面を表示する。ステップＳ１０３において、検査対象利用者（すなわち、数値制御装置４０の利用許可を求めようとする利用者）は、数値制御装置４０の表示装置１０１２の画面の指示に従って、所定のキー入力操作を行う。
【００２７】
ここで、検査対象利用者に対して所定のキー入力操作を促す画面の表示例について図５〜図７を参照して説明する。
【００２８】
図５は、第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示された文字を消去するよう促す画面を例示する図である。図５（Ａ）に示すように、例えば、数値制御装置４０の表示装置１０１２の画面上方に、「ＡＡＡＡを消去するキー操作をして下さい」と表示し、画面左上に、文字列「ＡＡＡＡＡ」を表示する。なお、図５（Ａ）に示した文字列「ＡＡＡＡＡ」は一例であり、その他の文字列であってもよい。また、文字列「ＡＡＡＡＡ」の画面上における表示位置は一例であり、その他の表示位置であってもよい。検査対象利用者は図５（Ａ）に示す画面の指示に従って、文字列「ＡＡＡＡＡ」を消去することになる。検査対象利用者は、操作端末１０１１のＤｅｌｅｔｅキーまたはＢａｃｋｓｐａｃｅキーを使い、これらキーの長押しまたは連打を行い、文字列「ＡＡＡＡＡ」を消去するキー操作を行う。検査対象利用者による操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況に関する情報は、後述のステップＳ１０４における認証部１２の認証処理に用いられるため、メモリ（図示せず）に一時的に記憶しておく。
【００２９】
図６は、第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示されたカーソルを移動させるよう促す画面を例示する図である。図６に示すように、例えば、数値制御装置４０の表示装置１０１２の画面上方に、「カーソルＩを移動させて下さい」と表示し、画面左上に、カーソル（プロンプト）「Ｉ」を表示する。なお、図６に示した、カーソル「Ｉ」の画面上における表示位置は一例であり、その他の表示位置であってもよい。また、図６に示す例ではカーソル「Ｉ」を移動すべき位置（目的地）は表示していないが、カーソル「Ｉ」の移動元及び移動先を表示することで、これら移動元と移動先との間でのカーソル「Ｉ」の移動を促すようにしてもよい。検査対象利用者は図６に示す画面の指示に従って、数値制御装置４０の操作端末１０１１の上下左右の各カーソルキーを押下することになる。検査対象利用者は、操作端末１０１１の上下左右の各カーソルキーを適宜操作し、これらキーの長押しまたは連打を行い、カーソル「Ｉ」を移動させるキー操作を行う。検査対象利用者による数値制御装置４０の操作端末１０１１の上下左右の各カーソルキーの押下順に関する情報は、後述のステップＳ１０４における認証部１２の認証処理に用いられるため、メモリ（図示せず）に一時的に記憶しておく。
【００３０】
図７は、第１形態によるユーザ認証装置において、検査対象利用者に対して数値制御装置の表示装置に表示された特定の文字を入力するよう促す画面を例示する図である。図７に示すように、例えば、数値制御装置４０の表示装置１０１２の画面上方に、「『ししゅちつふ』とローマ字で入力して下さい」と表示する。なお、図７に示した入力すべき文字列「ししゅちつふ」は一例であり、その他の文字列であってもよい。また、図７に示す例では、文字列「ししゅちつふ」の入力場所を画面右下としたが、その他の場所であってもよい。検査対象利用者は図７に示す画面の指示に従って、数値制御装置４０の操作端末１０１１のキーを打ち込むことになる。検査対象利用者は、操作端末１０１１であるローマ字入力キーボードのキーを適宜打ち込み、指示された文字列を入力する。検査対象利用者による操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せに関する情報は、後述のステップＳ１０４における認証部１２の認証処理に用いられるため、メモリ（図示せず）に一時的に記憶しておく。
【００３１】
なお、ステップＳ１０２において表示される、図５〜図７に例示したキー入力操作を促す画面については３項目ともすべて表示してもよく、あるいはこれらのうちの１項目もしくは２項目を表示してもよい。これら各表示画面の項目数に応じてステップＳ１０４における認証処理が実行される。
【００３２】
ステップＳ１０４において、認証部１２は、検査対象利用者が操作端末１０１１に対して行ったキー入力操作（ステップＳ１０３）におけるキー利用情報と取得部１１が取得した正当な利用権者のキー利用情報とに基づいて、検査対象利用者が正当な利用権者であるか否かを判定する。本第１形態では、認証部１２は、検査対象利用者が操作端末１０１１に対して行ったキー入力操作におけるキー利用情報と正当な利用権者のキー利用情報との一致度を数値化した評価値データが所定の閾値以上である場合、検査対象利用者を正当な利用権者として認証する（ステップＳ１０５）。この結果、当該検査対象利用者は、正当な利用権者として数値制御装置４０の利用が可能になる。また、認証部１２は、検査対象利用者が操作端末１０１１に対して行ったキー入力操作におけるキー利用情報と正当な利用権者のキー利用情報との一致度を数値化した評価値データが所定の閾値未満である場合、検査対象利用者を正当な利用権者として認証しない（ステップＳ１０６）。この結果、当該検査対象利用者は、数値制御装置４０の利用はできない。
【００３３】
図８は、第１形態によるユーザ認証装置において、検査対象利用者の認証に用いられる評価値データについて説明する図であり、（Ａ）は操作端末のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況についての評価値データに関し、（Ｂ）は操作端末の上下左右の各カーソルキーの押下順についての評価値データに関し、（Ｃ）は操作端末にて所定の文字を入力する際に用いられるキーの組合せに関する図である。評価値データは、例えば、検査対象利用者が操作端末１０１１に対して行ったキー入力操作におけるキー利用情報と正当な利用権者のキー利用情報との一致度が高いほど加点され一致度が低いほど減点される点数にて表される。なお、図８において、「○」のついた点数は、獲得した点数を示している。
【００３４】
例えば、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況（図５）、操作端末１０１１の上下左右の各カーソルキーの押下順（図６）、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ（図７）の全てを表示装置１０１２に表示させ（Ｓ１０２）、検査対象利用者に対してキー入力操作を促した場合、これら３つの情報を用いて認証部１２の認証処理を行う。一致度が高いほど点数が高いと評価する場合、例えば、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況の一致度を３０点満点、操作端末１０１１の上下左右の各カーソルキーの押下順を３０点満点、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せの一致度を４０点満点として項目ごとに点数を配分し、これら各項目の合計点数（１００点満点）を、所定の閾値と比較し、認証処理を行う。図８（Ａ）では、検査対象利用者と正当な利用権者のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況が完全に一致している例を示している。この場合、利用頻度の一致度に関する評価値データとして１５点、キー長押しまたはキー連打による消去方法の一致度に関する評価値データとして１５点としており、よって、Ｄｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況については、評価値データとして３０点満点（＝１５点＋１５点）を獲得している。また、図８（Ｂ）では、検査対象利用者と正当な利用権者の操作端末１０１１の上下左右の各カーソルキーの押下順が完全に一致するとして、評価値データとして３０点満点を獲得している。また、図８（Ｃ）では、一例として、検査対象利用者と正当な利用権者の所定の文字を入力する際に用いられるキーの組合せについて、「し」及び「ち」については一致し、「しゅ」については一致しない例を示している。この場合、所定の文字を入力する際に用いられるキーの組合せの一致度に関する評価値データとしてとして３０点（＝２０点＋１０点）を獲得している。よって、これら各項目の合計点数は、１００点満点中９０点となる。ここで、例えば閾値の点数を８０点とすると、図８に示す例では検査対象利用者の獲得点数（９０点）はこの閾値を超えているので、認証部１２は、検査対象利用者を正当な利用権者として認証する。
【００３５】
なお、図８を参照して説明した例における閾値や各項目についての満点の点数配分はあくまで一例であり、適宜設定すればよい。設定行為は、例えば、工作機械５０や工場などの管理者により行われてもよい。例えば、数値制御装置４０の動作環境に応じて設定してもよく、数値制御装置４０を利用する利用者の人選に応じて設定してもよく、数値制御装置４０が制御する工作機械５０に応じて設定してもよく、数値制御装置４０（もしくは工作機械５０）の動作時期（例えば繁盛期、閑散期、展示会期間中、外部業者による保守期間中などの違い）に応じて設定してもよい。閾値や満点の点数配分の設定の仕方によって、ユーザ認証装置の認証精度が変更され得る。図８を参照して説明した例では、キー利用情報のうちの３項目について認証処理を実行したが、１項目のみについて認証処理を実行してもよく、あるいは、２項目について認証処理を実行してもよい。この場合の閾値や各項目についての満点の点数配分も、３項目の場合同様、適宜設定すればよい。また、認証部１２の認証処理に用いられる評価値データを、上述の加算方式の点数に代えて、減算方式の点数にて表してもよく、あるいは偏差値にて表してもよい。
【００３６】
なお、認証部１２における認証（すなわちスコア判定部２５における判定）の結果は、数値制御装置の利用の可否に利用されるが、これ以外にも、ユーザに対し、現在の利用者は正当な利用権者であるか否かを報知してもよい。認証部１２にはこのための報知部（図示せず）を接続してもよい。報知部の例としては、パソコン、携帯端末、タッチパネルなどのディスプレイや数値制御装置に付属のディスプレイ（図１の表示装置１０１２）などがあり、例えば「正当な利用権者である／ではない」を文字や絵柄でディスプレイに表示することができる。また例えば、報知部を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよい。またあるいは、報知部について、プリンタを用いて紙面等にプリントアウトして表示させる形態をとってもよい。またあるいは、これらを適宜組み合わせて報知部を実現してもよい。なお、認証部１２における認証（すなわちスコア判定部２５における判定）の結果を、記憶装置に格納し、当該データを何らかの用途に使用してもよい。このように、ユーザ認証装置１に報知部を設けることより、工作機械５０の管理者や生産管理者は、操作権限が与えられていない利用者が、正当な利用権者に成りすまして数値制御装置４０の操作端末１０１１を操作してログインしようと試みていることを知ることもできる。ユーザ認証装置１が「正当な利用権者でではない」との結果を出力することで、工作機械の管理者や生産管理者は、例えば、即座に数値制御装置のある現場に駆けつけたり、あるいは、警察に通報したりといったような対応を取ることができる。
【００３７】
なお、上述した認証部１２、表示制御部１３及び特徴抽出部２２は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、このソフトウェアプログラムに従って動作させるための演算処理装置を設けたり、クラウドサーバ上においてこのソフトウェアプログラムを動作させたりすることで、上述の各部の機能を実現することができる。
【００３８】
以上説明した第１形態によるユーザ認証装置１によれば、工作機械５０の数値制御装置４０において、パスワードを用いることなく、操作権限が与えられた正当な利用権者であるか否かを容易に判定することができる。
【００３９】
続いて、第２形態によるユーザ認証装置について説明する。第２形態によるユーザ認証装置では、取得部１１に機械学習装置を用いる。
【００４０】
図９は、第２形態によるユーザ認証装置を示すブロック図である。第２形態では、取得部１１は機械学習装置３０からなる。機械学習装置３０は、入力されるデータの集合から、その中にある有用な規則や知識表現、判断基準などを解析により抽出し、その判断結果を出力すると共に、知識の学習を行う機能を有する。第２形態では、機械学習装置３０は、教師なし学習を適用したものである。教師なし学習とは、入力データのみを大量に機械学習装置３０に与えることで、入力データがどのような分布をしているか学習し、対応する教師データを与えなくても、入力データに対して圧縮、分類、整形などを行う装置を学習する手法である。例えば、それらのデータセットにある特徴を似たものどうしにクラスタリング（ｃｌｕｓｔｅｒｉｎｇ）することなどができる。この結果を使って、それらのデータセットにある特徴を学習し、入力から結果を推定するモデル(学習モデル)、すなわち、その関係性を帰納的に獲得するものである。
【００４１】
機械学習装置３０は、工作機械５０の数値制御装置４０（図９では図示しない。）の正当な利用権者であるか否かの判定に用いられる、正当な利用権者のキー利用情報を学習する。より具体的には、機械学習装置３０では、工作機械５０の数値制御装置４０の操作端末１０１１に対する正当な利用権者の入力操作の特徴であるキー利用情報について、分布及び規則性を表す学習モデルを生成する。機械学習装置３０ではさらに、学習モデルに基づいて、数値制御装置４０の操作端末１０１１に対する正当な利用権者のキー利用情報を示す正常時スコア、及び、数値制御装置４０の操作端末１０１１に対する検査対象利用者のキー利用情報を示す検査対象スコア、を出力する。そして、機械学習装置３０により得られた正常時スコアと検査対象スコアとを比較し、検査対象スコアが、正常時スコアの範囲に含まれるときは検査対象利用者を正当な利用権者として認証し、正常時スコアの範囲に含まれないときは検査対象利用者は正当な利用権者として認証されない。
【００４２】
図９に示すように、取得部１１を構成する機械学習装置３０は、状態観測部２３及び学習部２４を備える。また、認証部１２は、スコア判定部２５を備える。
【００４３】
状態観測部２３は、正当な利用権者による操作端末１０１１に対するキー入力操作に関連する状態変数を観測する。状態変数は、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む。これら各状態変数は、状態観測部２３が数値制御装置４０から取得するものであるが、数値制御装置４０の動作として、これら状態変数を状態観測部２３に対して送るよう予めプログラムされていてもよい。また、状態観測部２３が観測する状態変数は、上記のものを必ずしも全て含んでいる必要はなく、少なくとも１つ含んでいればよい。また、上記した状態変数以外にも、数値制御装置４０の操作端末に対する入力操作の特徴が現われるものを状態変数として含んでいてもよい。また、観測される状態変数（もしくはこれらの組み合せ）は、状況に応じて適宜設定すればよい。例えば、数値制御装置の動作環境に応じて設定してもよく、数値制御装置を利用する利用者の人選に応じて設定してもよく、数値制御装置が制御する工作機械に応じて設定してもよく、数値制御装置（もしくは工作機械）の動作時期（例えば繁盛期、閑散期、展示会期間中、外部業者による保守期間中などの違い）に応じて設定してもよい。設定行為は、例えば、工作機械５０や工場などの管理者により行われてもよい。
【００４４】
学習部２４は、状態観測部２３の出力に基づいて、正当な利用権者のキー利用情報を学習する。学習部２４は、学習モデル生成部３１及びスコア生成部３２を備える。
【００４５】
学習モデル生成部３１は、状態観測部２３の出力に基づいて、正当な利用権者のキー利用情報の分布及び規則性を表す学習モデルを生成する。学習モデル生成部３１による学習モデルの生成に用いられる学習アルゴリズムとしては、教師なし学習が適用される。教師なし学習の詳細については後述する。
【００４６】
スコア生成部３２は、学習モデル生成部３１により生成された学習モデルに基づいて、正当な利用権者のキー利用情報を示す正常時スコア、及び、検査対象利用者のキー利用情報を示す検査対象スコア、を出力する。
【００４７】
機械学習装置３０は、例えば、数値制御装置４０内に設けることができる。また、機械学習装置３０を、例えば、通信ネットワークを介したクラウドサーバ上に設けてもよく、複数の数値制御装置４０を制御するセルコントローラ上に設けてもよく、あるいは、セルコントローラのさらに上位の生産管理装置上に設けてもよい。
【００４８】
認証部１２は、検査対象スコアが正常時スコアの範囲に含まれる場合、検査対象利用者を正当な利用権者として認証する。また、認証部１２は、検査対象スコアが正常時スコアの範囲に含まれない場合、検査対象利用者は正当な利用権者として認証されない。
【００４９】
教師なし学習が適用される機械学習装置３０は、例えば、ニューラルネットワークやサポートベクターマシン（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ：ＳＶＭ）などのアルゴリズムを用いて実現する。また、教師なし学習が適用される機械学習装置３０は、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ）や大規模ＰＣクラスター等を適用すると、より高速な処理を実現することができる。
【００５０】
ここで、ニューラルネットワークについて説明する。ニューラルネットワークは、たとえば図１０に示すようなニューロンのモデルを模したニューラルネットワークを実現する演算装置及びメモリ等で構成される。図１０は、ニューロンのモデルを示す模式図である。
【００５１】
図１０に示すように、ニューロンは、複数の入力ｘ（図１０では、一例として、入力ｘ1〜入力ｘ3）に対する出力ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、式１により表現される出力ｙを出力する。なお、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、下記の式１において、θはバイアスであり、ｆkは活性化関数である。
【００５２】
【数１】
2018101355.tif 000003
【００５３】
次に、上述したニューロンを組み合わせた３層の重みを有するニューラルネットワークについて、図１１を参照して説明する。図１１は、Ｄ１〜Ｄ３の３層の重みを有するニューラルネットワークを示す模式図である。
【００５４】
図１１に示すように、ニューラルネットワークの左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。
【００５５】
具体的には、入力ｘ１〜入力ｘ３は、３つのニューロンＮ１１〜Ｎ１３の各々に対して対応する重みが掛けられて入力される。これらの入力に掛けられる重みはまとめてｗ１と標記されている。
【００５６】
ニューロンＮ１１〜Ｎ１３は、それぞれ、ｚ１１〜ｚ１３を出力する。図５において、これらｚ１１〜ｚ１３はまとめて特徴ベクトルｚ１と標記され、入力ベクトルの特徴量を抽出したベクトルとみなすことができる。この特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴ベクトルである。ｚ１１〜ｚ１３は、２つのニューロンＮ２１、Ｎ２２の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ２と標記されている。
【００５７】
ニューロンＮ２１、Ｎ２２は、それぞれ、ｚ２１、ｚ２２を出力する。図１１において、これらｚ２１、ｚ２２は、まとめて特徴ベクトルｚ２と標記されている。この特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴ベクトルである。特徴ベクトルｚ２１、ｚ２２は、３つのニューロンＮ３１〜Ｎ３３の各々に対して対応する重みが掛けられて入力される。これらの特徴ベクトルに掛けられる重みは、まとめてｗ３と標記されている。
【００５８】
最後に、ニューロンＮ３１〜Ｎ３３は、それぞれ、結果ｙ１〜結果ｙ３を出力する。
【００５９】
機械学習装置３０におけるニューラルネットワークの動作には、学習モードと検査モードとがある。例えば、学習モードにおいて、学習モデル生成部３１は、状態変数を用いて重みｗを学習して学習モデルを生成し、スコア生成部３２は、その学習モデルを用いて数値制御装置４０の操作端末１０１１に対する正当な利用権者の入力操作の特徴であるキー利用情報を示す正常時スコアを出力する。また、検査モードにおいて、スコア生成部３２は、学習モードにおいて学習モデル生成部３１が生成した学習モデルを用いて、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴であるキー利用情報を示す検査対象スコアを出力する。学習モードと検査モードとの切替えは、例えば、数値制御装置へのログイン前を検査モードとしログイン後を学習モードとしたときのログイン前後での自動切替え、数値制御装置４０の操作端末１０１１に対する特定のキー操作による切替え指示、数値制御装置の上位にあるセルコントローラからの切替え指示、あるいはセルコントローラの上位にある生産管理装置からの切替え指示などにより行われる。この切替え指示は、正当な利用権者のキー利用情報の取得（学習）を開始する場合は検査モードから学習モードへ切り替える指示であり、学習モードにおける正当な利用権者のキー利用情報の取得（学習）が完了した後は学習モードから検査モードへ切り替える指示である。
【００６０】
このようなニューラルネットワークは、３層以上にさらに層を増やすことも可能である。
【００６１】
ここで、教師なし学習について説明する。教師なし学習の適用例では、「全てのデータを選り好みなく入力し、学習器に入力データを分類させる」というような例が多いが、機械学習装置３０では「正当な利用権者のデータ」のみを入力して学習を行う。すなわち、入力データに基づいて「正当な利用権者である/ない」の２通りを判別するため、どちらか一方のデータのみを用いてその特徴を学習すれば、自ずと他方の判別も可能になる。また、全てのデータを選り好みなく入力して分類させる場合には、当然、入力データとして「正当な利用権者でないデータ」を加えなければ十分な学習を行えないが、判定を学習するのに十分な量の「正当な利用権者でないデータ」を収集するのは困難であり、現実的ではない。そこで、一実施形態では、「正当な利用権者のデータ」のみを入力として用いて、その特徴量を学習させるという教師なし学習を適用し、正当な利用権者についての正常時スコアを生成する。
【００６２】
以下、入力データから出力(正常時スコア)を得るまでを説明する。図１２は、一実施形態による機械学習装置において入力データから正常時スコアを得るまでの一例を説明する図である。ここでは、「ニューラルネットワーク」を機械学習装置３０として用いるが、ニューラルネットワークのモデルは、一般的なものを適用することができる。
【００６３】
ニューラルネットワークは、入力部、中間層及び出力部を含み、中間層は、複数層で構成される。ニューラルネットワークの入力部に入力Ｘを与えると、ニューラルネットワークの出力部からは特徴量であるスコアＺが出力される。よって、工作機械５０の数値制御装置４０に対して操作権限を有すると認証された者である「正当な利用権者」の、数値制御装置４０の操作端末１０１１に対する所定のキー入力操作のキー利用情報である「正常時の入力データＸn」を入力Ｘとして、ニューラルネットワークの入力部に与えると、正常なスコア（正常時スコア）の集合が得られることになる。ここで、ニューラルネットワークにおける正常時の入力データＸnは、状態観測部２３によって観測された状態変数が対応する。すなわち、正当な利用権者の入力データＸnは、正当な利用権者による操作端末１０１１の１つのキーに対する押下継続時間、正当な利用権者による操作端末１０１１の複数回のキーの押下における押下時間間隔、正当な利用権者による操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、正当な利用権者による操作端末１０１１の上下左右の各カーソルキーの押下順、及び、正当な利用権者による操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む。
【００６４】
図１３は、自己符号化器(オートエンコーダ)を示す図である。図１３に示すように、自己符号化器は、ニューラルネットワークの入力部、中間層及び出力部からなる学習モデルに、この学習モデルのうちの入力部及び中間層を反転したものを追加した構成を有する。自己符号化器において、正当な利用権者の入力データＸnを入力Ｘとしてニューラルネットワークの入力部に与えると、追加した中間層及び入力部（すなわち学習モデルのうちの入力部及び中間層を反転したもの）を経由して出力Ｙが出力される。これにより、正当な利用権者の入力データＸn（入力Ｘ）と出力データＹn（出力Ｙ）の誤差を、||Ｘ2n−Ｙｎ||2として求めることができる。学習モデル生成部３１は、教師なし学習において、正当な利用権者の入力データＸnをそのまま正解ラベルとして使用して誤差||Ｘ2n−Ｙｎ||2を計算し、この誤差が最小となるような学習モデルを生成することで、学習モデルの精度を高める。
【００６５】
スコア生成部３２は、学習モードにおいては、学習モデル生成部３１により生成された学習モデルに基づいて、工作機械５０の数値制御装置４０に対して操作権限を有すると認証された者である「正当な利用権者」の、数値制御装置４０の操作端末１０１１に対する所定の入力操作におけるキー利用情報である「正当な利用権者の入力データＸn」に対して、正常時スコアを出力する。一方、検査モードにおいては、状態観測部２３は、工作機械５０の数値制御装置４０に対する検査対象利用者の所定のキー入力操作におけるキー利用情報を状態変数として観測し、スコア生成部３２は、学習モデル生成部３１により生成された学習モデルと状態観測部２３が観測した状態変数に基づいて、工作機械５０の数値制御装置４０に対する検査対象利用者の所定のキー入力操作におけるキー利用情報を示す検査対象スコアを出力する。
【００６６】
なお、機械学習装置３０にューラルネットワークを適用する場合、汎用の計算機若しくはプロセッサを用いることもできるが、例えば、ＧＰＧＰＵや大規模ＰＣクラスター等を適用すると、より高速に処理することが可能になる。また、教師なし学習の手法としては、上述したものに限定されず、例えば、ｋ平均（ｋ−ｍｅａｎｓ）法による非階層型クラスタリング、あるいは、階層型クラスタリングにおける次元圧縮等の様々な手法を適用することができるのはいうまでもない。
【００６７】
図１４は、第２形態によるユーザ認証装置の動作フローを示すフローチャートである。
【００６８】
まず、ステップＳ２０１において、状態観測部２３は、正当な利用権者による操作端末１０１１に対するキー入力操作に関連する状態変数を観測する。状態変数は、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む。
【００６９】
次いで、ステップＳ２０２において、学習モデル生成部３１は、状態観測部２３の出力に基づいて、正当な利用権者のキー利用情報の分布及び規則性を表す学習モデルを生成する。
【００７０】
ステップＳ２０３では、スコア生成部３２は、学習モデル生成部３１により生成された学習モデルに基づいて、正当な利用権者のキー利用情報を示す正常時スコアを出力する。
【００７１】
ステップＳ２０４では、スコア生成部３２は、機械学習装置３０が検査モードにあるか学習モードにあるかを判定する。なお、学習モードと検査モードとの切替え指示については既に説明した通りである。
【００７２】
ステップＳ２０４において機械学習装置３０が検査モードにあると判定された場合は、ステップＳ２０５において、表示制御部１３は、検査対象利用者に対して所定のキー入力操作を促す画面を、数値制御装置４０の表示装置１０１２に表示させる制御を行う。これにより、数値制御装置４０の表示装置１０１２は、検査対象利用者に対して所定のキー入力操作を促す画面を表示する。所定のキー入力操作を促す画面の一例については図５〜図７を参照して説明した通りである。ステップＳ２０６において、検査対象利用者（すなわち、数値制御装置４０の利用許可を求めようとする利用者）は、数値制御装置４０の表示装置１０１２の画面の指示に従って、所定のキー入力操作を行う。
【００７３】
ステップＳ２０７において、スコア生成部３２は、学習モデル生成部３１により生成された学習モデルに基づいて、数値制御装置の操作端末に対する検査対象利用者の入力操作の特徴であるキー利用情報を示す検査対象スコアを出力する。
【００７４】
ステップＳ２０７において、スコア判定部２５は、検査対象スコアが、正常時スコアの範囲に含まれるか否かを判定する。検査対象スコアが正常時スコアの範囲に含まれる場合は、ステップＳ２０９へ進み、認証部１２により検査対象利用者は正当な利用権者として認証される。この結果、当該検査対象利用者は、正当な利用権者として数値制御装置４０の利用が可能になる。一方、検査対象スコアが正常時スコアの範囲に含まれない場合は、ステップＳ２１０へ進み、検査対象利用者を正当な利用権者として認証しない。この結果、当該検査対象利用者は、数値制御装置４０の利用はできない。
【００７５】
ここで、スコア判定部２５による判定方法の一例を説明する。仮に、機械学習装置３０内の学習部２２内のスコア生成部３２の出力スコアがＡ、Ｂ及びＣの３要素ある場合を考える。
【００７６】
学習モデル生成部３１による学習モデル生成後、数値制御装置４０の正当な利用権者による操作端末１０１１に対する所定のキー入力操作におけるキー利用情報以外のキー利用情報を用意し、機械学習装置３０のスコア生成部３２に入力する。「正当な利用権者による操作端末１０１１に対する所定のキー入力操作におけるキー利用情報以外のキー利用情報」は、当該正当な利用権者が普段の自身のキー入力操作とは意識的に違ったキー入力操作を行うことで取得してもよく、あるいは、当該正当な利用権者以外の第三者に操作端末１０１１を操作させて取得してもよい。スコア生成部３２は、正当な利用権者による操作端末１０１１に対するキー入力操作におけるキー利用情報以外のキー利用情報に基づいてスコア（以下、調整用スコア）を出力する。そして、調整用スコアと正常時スコアとを比較し正常時のスコア範囲を決める。仮に、正常時スコアにおける各特徴をＡt、Ｂt及びＣtとしたとき、スコア判定部２５により「正当な利用権者である」と判定されるときの条件１を下記のように決めた場合を考える。なお、Ａt、Ｂt及びＣtは、正当な利用権者についての、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せいずれかに関するものである。
【００７７】
Ａ1＜Ａt＜Ａ2、Ｂ1＜Ｂt＜Ｂ2、Ｃ1＜Ｃt＜Ｃ2  ・・・  (条件１)
【００７８】
正常時スコアの特徴ＡtについてはＡ1及びＡ2、特徴ＢtについてはＢ1及びＢ2、特徴ＣtについてはＣ1及びＣ2を適宜設定すれば、スコア判定部２５による「正当な利用権者である／ではない」の判定結果は異なってくるので、要求されるユーザ認証精度に応じてこれらマージンを適宜設定し、正常時のスコア範囲を調整してもよい。スコア判定部２５は、検査対象スコアが上述の条件１の範囲に入らないスコアになったとき、「現在の利用者は正当な利用権者ではない」との判定結果を出力する。
【００７９】
なお、「正当な利用権者による操作端末１０１１に対する所定のキー入力操作におけるキー利用情報以外のキー利用情報」の一例を挙げると、操作端末１０１１の１つのキーに対する押下継続時間についていえば、例えば、正当な利用権者による操作端末の１つのキーに対する押下継続時間よりも、長くもしくは短く設定した押下継続時間である。操作端末１０１１の複数回のキーの押下における押下時間間隔についていえば、例えば、正当な利用権者による複数回のキーの押下における押下時間間隔よりも、長くもしくは短く設定した押下時間間隔である。操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況についていえば、例えば、文字を消去する際に正当な利用権者が多用するキーがＤｅｌｅｔｅキーであるところを、Ｂａｃｋｓｐａｃｅキーを多めに利用することである（あるいはその逆もある）。また、操作端末１０１１の上下左右の各カーソルキーの押下順についていえば、カーソルを移動させる際に正当な利用権者が利用する上下左右のカーソルキーの押下順を、普段とは異なる押下順にすることである。また、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せについていえば、例えば「し」について、正当な利用権者は「ｓｉ」とキーを打ち込むところを、「ｓｈｉ」とキーを打ち込むことである。
【００８０】
なお、認証部１２における認証（すなわちスコア判定部２５における判定）の結果は、数値制御装置の利用の可否に利用されるが、これ以外にも、ユーザに対し、現在の利用者は正当な利用権者であるか否かを報知してもよい。認証部１２にはこのための報知部（図示せず）を接続してもよい。報知部の例としては、パソコン、携帯端末、タッチパネルなどのディスプレイや数値制御装置に付属のディスプレイ（図１の表示装置１０１２）などがあり、例えば「正当な利用権者である／ではない」を文字や絵柄でディスプレイに表示することができる。また例えば、報知部を、スピーカ、ブザー、チャイムなどのような音を発する音響機器にて実現してもよい。またあるいは、報知部について、プリンタを用いて紙面等にプリントアウトして表示させる形態をとってもよい。またあるいは、これらを適宜組み合わせて報知部を実現してもよい。なお、認証部１２における認証（すなわちスコア判定部２５における判定）の結果を、記憶装置に格納し、当該データを何らかの用途に使用してもよい。このように、ユーザ認証装置１に報知部を設けることより、工作機械５０の管理者や生産管理者は、操作権限が与えられていない利用者が、正当な利用権者に成りすまして数値制御装置４０の操作端末１０１１を操作してログインしようと試みていることを知ることもできる。ユーザ認証装置１が「正当な利用権者でではない」との結果を出力することで、工作機械の管理者や生産管理者は、例えば、即座に数値制御装置のある現場に駆けつけたり、あるいは、警察に通報したりといったような対応を取ることができる。
【００８１】
なお、上述した表示制御部１３、状態観測部２３、学習モデル生成部３１及びスコア生成部３２を備える学習部２４、並びにスコア判定部２５（認証部１２）は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。例えばこれらをソフトウェアプログラム形式で構築する場合は、このソフトウェアプログラムに従って動作させるための演算処理装置を設けたり、クラウドサーバ上においてこのソフトウェアプログラムを動作させたりすることで、上述の各部の機能を実現することができる。またあるいは、状態観測部２３及び学習部２４を備える機械学習装置３０を、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。またあるいは、状態観測部２３及び学習部２４を備える機械学習装置３０のみならずスコア判定部２５も含めた形で、各部の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路を実現してもよい。
【００８２】
以上説明した第２形態によるユーザ認証装置１によれば、工作機械５０の数値制御装置４０において、パスワードを用いることなく、操作権限が与えられた正当な利用権者であるか否かを容易に判定することができる。
【００８３】
なお、機械学習装置３０内の学習部２４は、正当な利用権者が複数の数値制御装置の操作端末に対して所定のキー入力操作を行った場合における状態観測部２３の出力に従って、当該正当な利用権者による数値制御装置の操作端末に対する所定のキー入力操作におけるキー利用情報を学習するように構成されてもよい。この場合、状態観測部２３は、正当な利用権者が複数の数値制御装置の操作端末に対して入力操作を行った場合における状態変数を、効率よくかつ大量に観測することができ、結果として、学習モデル生成部３１は、大量の状態変数に基づいて学習モデルを生成することができるので、機械学習装置３０の学習効果が向上する。機械学習装置３０の学習効果が向上すると、ユーザ認証装置の認証精度が向上する。
【００８４】
また、機械学習装置３０内の学習部２４は、状態観測部２３の出力及び正当な利用権者の識別情報に基づいて、複数の正当な利用権者のそれぞれについてのキー利用情報を学習するように構成されてもよい。この場合、学習モデル生成部３１は、複数の正当な利用権者のそれぞれについての学習モデルを生成する。
【００８５】
なお、機械学習装置３０は、少なくとも１つの他の機械学習装置と接続可能であり、少なくとも１つの他の機械学習装置との間で機械学習の結果を相互に交換または共有するようにしてもよい。複数の機械学習装置３０を接続する実施形態の詳細については後述する。
【００８６】
第２形態によるユーザ認証装置１を、数値制御部内に設けてもよい。図１５は、第２形態によるユーザ認証装置を備える数値制御装置を示すブロック図である。一実施形態によれば、数値制御装置４１は、ユーザ認証装置１を備える。数値制御装置４１による工作機械５０に対する数値制御処理を実行する数値制御部４０’の構成自体は、図１を参照して説明した数値制御装置４０の構成と同じであるので説明は省略する。状態観測部２３は、数値制御部４０’内の操作端末１０１１（図１参照。）の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む状態変数を観測する。学習部２４、スコア判定部２５及び出力部１４については、既に説明した通りであるので説明は省略する。なお、第２形態によるユーザ認証装置１同様、第１形態によるユーザ認証装置１を数値制御部内に設けてもよい。
【００８７】
また、第２形態によるユーザ認証装置１は、通信ネットワークを介して数値制御装置に接続されてもよい。図１６は、通信ネットワークに接続された第２形態によるユーザ認証装置を示すブロック図である。第２形態によるユーザ認証装置１内の機械学習装置３０は、通信ネットワーク９０を介して複数の数値制御装置４０に通信可能に接続され、状態観測部２３は、通信ネットワーク９０を介して状態変数を観測する。またさらに、機械学習装置３０をクラウドサーバ上に設けてもよい。なお、この場合、スコア判定部２５については、機械学習装置３０に付随してクラウドサーバ上に設けてもよく、あるいは、通信ネットワーク９０を介して接続されるクラウドサーバ以外の独立の装置として設けてもよい。なお、第２形態によるユーザ認証装置１同様、第１形態によるユーザ認証装置１は通信ネットワークを介して数値制御装置に接続されてもよい。
【００８８】
続いて、製造セル、セルコントローラ及び生産管理装置を生産システムに上述のユーザ認証装置１を設けた実施形態について、図１７〜図１９を参照して説明する。以下で説明する図１７〜図１９の生産システムにおける製造セル及びセルコントローラの各個数は一例であり、その他の個数であってもよい。
【００８９】
製造セルは、製品を製造する複数の工作機械をフレキシブルに組合せた集合である。製造セルは、例えば複数個もしくは複数種類の工作機械により構築されているが、製造セルにおける工作機械の個数は限定されない。例えば、製造セルは、あるワークが複数の工作機械により順次に処理されることによって最終的な製品となる製造ラインでありうる。また例えば、製造セルは、２つ以上の工作機械の各々により処理された２つ以上の工作物（部品）を製造工程の途中で別の工作機械によって組み合せることにより最終的な工作物（製品）を完成させる製造ラインであってもよい。また例えば、２つ以上の製造セルにより処理された２つ以上の工作物を組み合せることにより、最終的な工作物（製品）を完成させてもよい。製造セルとセルコントローラとは、例えばイントラネットなどのような通信ネットワークを介して通信可能に相互接続される。製造セルは、製品を製造する工場に配置されている。これに対して、セルコントローラは、製造セルが配置された工場に配置されてもよく、あるいは工場とは異なる建屋に配置されてもよい。例えば、セルコントローラは、製造セルが配置された工場の敷地にある別の建屋に配置されていてもよい。
【００９０】
また、セルコントローラの上位には生産管理装置が設けられる。生産管理装置は、セルコントローラと相互通信可能に接続され、セルコントローラに生産計画を指示する。生産管理装置は、例えば、工場から遠隔地にある事務所に配置されていてもよい。この場合には、セルコントローラと生産管理装置とは、例えばインターネットの通信ネットワークを介して通信可能に相互接続される。
【００９１】
このような生産システムについて、ユーザ認証装置１を、各数値制御装置内に設けた場合を第１の実施形態（図１７）とし、各セルコントローラ内に設けた場合を第２の実施形態（図１８）とし、生産管理装置内に設けた場合を第３の実施形態（図１９）として説明する。なお、これら各実施形態は適宜組み合わせて実施されてもよい。
【００９２】
図１７は、第２形態によるユーザ認証装置を有する生産システムの第１の実施形態を示すブロック図である。第１の実施形態による生産システムにおいて、図９に示したユーザ認証装置１が各数値制御装置内に設けられる。
【００９３】
第１の実施形態による生産システム１０１は、複数の製造セル６０Ａ、６０Ｂ、６０Ｃ、・・・と、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と、生産管理装置８０とを備える。
【００９４】
製造セル６０Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ａ−１、４１Ａ−２、・・・とで構成される。同様に、製造セル６０Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ｂ−１、４１Ｂ−２、・・・とで構成される。製造セル６０Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４１Ｃ−１、４１Ｃ−２、・・・とで構成される。
【００９５】
数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・は、それぞれ、図９を参照して説明した第２形態によるユーザ認証装置１を備える。すなわち、各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・を単体で見れば、図１５を参照して説明した数値制御装置４１と同一といえる。各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・内に設けられた機械学習装置３０における状態観測部２３（図１６では図示せず）は、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む状態変数を観測する。各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・内に設けられたユーザ認証装置１内のスコア判定部２５（図１１では図示せず）による「正当な利用権者である／ではない」という判定結果に関するデータは、当該数値制御装置を制御するために設けられた対応するセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・へ出力される。
【００９６】
各製造セル６０Ａ、６０Ｂ及び６０Ｃは、セルコントローラ７０Ａ、７０Ｂ及び７０Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７０Ａは、製造セル６０Ａ内の数値制御装置４１Ａ−１、４１Ａ−２、・・・を制御する。セルコントローラ７０Ｂは、製造セル６０Ｂ内の数値制御装置４１Ｂ−１、４１Ｂ−２、・・・を制御する。セルコントローラ７０Ｃは、製造セル６０Ｃ内の数値制御装置４１Ｃ−１、４１Ｃ−２、・・・を制御する。
【００９７】
生産管理装置８０は、通信ネットワークを介してセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と相互通信可能に接続され、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・に生産計画を指示する。
【００９８】
第１の実施形態による生産システム１０１において、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・、またはセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・の上位にある生産管理装置８０は、各機械学習装置３０の出力部１４から出力された「正当な利用権者である／ではない」という判定結果に関するデータに基づいて、各セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・または生産管理装置に設けられた表示装置に「正当な利用権者である／ではない」という判定結果を表示させることができる。その際、複数の数値制御装置のうちのどの数値制御装置についてユーザ認証が行われたかについても表示する。またあるいは、表示装置に代えてあるいは表示装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の認証情報を知ることができる。
【００９９】
また、第１の実施形態による生産システム１０１によれば、各数値制御装置４１Ａ−１、４１Ａ−２、・・・、４１Ｂ−１、４１Ｂ−２、・・・、４１Ｃ−１、４１Ｃ−２、・・・に設けられた機械学習装置３０より、当該数値制御装置の操作端末に対する正当な利用権者による所定のキー入力操作におけるキー利用情報が分散学習される。同一製造セル内において、機械学習装置３０は、当該製造セルのためのセルコントローラを介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。またあるいは、機械学習装置３０は、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・の上位にある生産管理装置８０を介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。機械学習装置間で機械学習の結果を相互に交換または共有することで、学習効果をさらに向上させることができる。機械学習装置３０の学習効果が向上すると、ユーザ認証装置１によるユーザ認証精度が向上する。
【０１００】
図１８は、第２形態によるユーザ認証装置を有する生産システムの第２の実施形態を示すブロック図である。第２の実施形態では、生産システムにおいて、図９に示した第２形態によるユーザ認証装置１が各セルコントローラ内に設けられる。
【０１０１】
第２の実施形態による生産システム１０２は、複数の製造セル６１Ａ、６１Ｂ、６１Ｃ、・・・と、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・と、生産管理装置８０とを備える。
【０１０２】
製造セル６１Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ａ−１、４０Ａ−２、・・・とで構成される。同様に、製造セル６１Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｂ−１、４０Ｂ−２、・・・とで構成される。製造セル６１Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｃ−１、４０Ｃ−２、・・・とで構成される。数値制御装置４０Ａ−１、４０Ａ−２、・・・、４０Ｂ−１、４０Ｂ−２、・・・、４０Ｃ−１、４０Ｃ−２、・・・の構成は、図１を参照して説明した数値制御装置４０の構成と同じである。
【０１０３】
各製造セル６１Ａ、６１Ｂ及び６１Ｃは、セルコントローラ７１Ａ、７１Ｂ及び７１Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７１Ａは、製造セル６１Ａ内の数値制御装置４０Ａ−１、４０Ａ−２、・・・を制御する。セルコントローラ７１Ｂは、製造セル６１Ｂ内の数値制御装置４０Ｂ−１、４０Ｂ−２、・・・を制御する。セルコントローラ７１Ｃは、製造セル６１Ｃ内の数値制御装置４０Ｃ−１、４０Ｃ−２、・・・を制御する。セルコントローラ７１Ａ、７１Ｂ、７１Ｃ，・・・は、それぞれ、図９を参照して説明した第２形態によるユーザ認証装置１を備える。セルコントローラ７１Ａ、７１Ｂ、７１、・・・内に設けられた機械学習装置３０における状態観測部２３（図１２では図示せず）は、当該セルコントローラが制御する数値制御装置の、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む状態変数を観測する。セルコントローラ７１Ａ、７１Ｂ、７１、・・・内に設けられた機械学習装置３０内のスコア判定部２５（図１８では図示せず）による、当該セルコントローラが制御する数値制御装置の利用者についての「正当な利用権者である／ではない」という判定結果に関するデータを、生産管理装置８０へ出力する。
【０１０４】
生産管理装置８０は、通信ネットワークを介してセルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・と相互通信可能に接続され、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に生産計画を指示する。
【０１０５】
第２の実施形態による生産システム１０２において、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・、またはセルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・の上位にある生産管理装置８０は、各機械学習装置３０から出力された「正当な利用権者である／ではない」という判定結果に係るデータに基づいて、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・または生産管理装置に設けられた表示装置に「正当な利用権者である／ではない」という判定結果を表示させることができる。その際、複数の数値制御装置のうちのどの数値制御装置についてユーザ認証が行われたかについても表示する。またあるいは、表示装置に代えてあるいは表示装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の認証情報を知ることができる。
【０１０６】
また、第２の実施形態による生産システム１０２によれば、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・内に設けられた機械学習装置３０により、当該セルコントローラにより制御される数値制御装置の操作端末に対する正当な利用権者による所定のキー入力操作のキー入力情報が分散学習される。機械学習装置３０は、セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・の上位にある生産管理装置８０を介して他の機械学習装置と相互通信可能に接続されているので、当該他の機械学習装置との間で機械学習の結果を相互に交換または共有してもよい。機械学習装置間で機械学習の結果を相互に交換または共有することで、学習効果をさらに向上させることができる。機械学習装置３０の学習効果が向上すると、ユーザ認証装置１によるユーザ認証精度が向上する。
【０１０７】
図１９は、第２の形態によるユーザ認証装置を有する生産システムの第３の実施形態を示すブロック図である。第３の実施形態では、生産システムにおいて、図９に示した第２携帯によるユーザ認証装置１が生産管理装置８１内に設けられる。
【０１０８】
第３の実施形態による生産システム１０３は、複数の製造セル６１Ａ、６１Ｂ、６１Ｃ、・・・と、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と、生産管理装置８１とを備える。
【０１０９】
製造セル６１Ａは、複数の工作機械５０Ａ−１、５０Ａ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ａ−１、４０Ａ−２、・・・とで構成される。同様に、製造セル６１Ｂは、複数の工作機械５０Ｂ−１、５０Ｂ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｂ−１、４０Ｂ−２、・・・とで構成される。製造セル６１Ｃは、複数の工作機械５０Ｃ−１、５０Ｃ−２、・・・と、これら各工作機械に対応して設けられる数値制御装置４０Ｃ−１、４０Ｃ−２、・・・とで構成される。数値制御装置４０Ａ−１、４０Ａ−２、・・・、４０Ｂ−１、４０Ｂ−２、・・・、４０Ｃ−１、４０Ｃ−２、・・・の構成は、図１を参照して説明した数値制御装置４０の構成と同じである。
【０１１０】
各製造セル６１Ａ、６１Ｂ及び６１Ｃは、セルコントローラ７０Ａ、７０Ｂ及び７０Ｃと通信ネットワークを介して相互通信可能に接続される。セルコントローラ７０Ａは、製造セル６１Ａ内の数値制御装置４０Ａ−１、４０Ａ−２、・・・を制御する。セルコントローラ７０Ｂは、製造セル６１Ｂ内の数値制御装置４０Ｂ−１、４０Ｂ−２、・・・を制御する。セルコントローラ７０Ｃは、製造セル６１Ｃ内の数値制御装置４０Ｃ−１、４０Ｃ−２、・・・を制御する。
【０１１１】
生産管理装置８１は、通信ネットワークを介してセルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・と相互通信可能に接続され、セルコントローラ７０Ａ、７０Ｂ、７０Ｃ、・・・に生産計画を指示する。生産管理装置８１は、図９を参照して説明した第２形態によるユーザ認証装置１を備える。生産管理装置８１内に設けられた機械学習装置３０における状態観測部２３（図１９では図示せず）は、各数値制御装置の、操作端末１０１１の１つのキーに対する押下継続時間、操作端末１０１１の複数回のキーの押下における押下時間間隔、操作端末１０１１のＤｅｌｅｔｅキー及びＢａｃｋｓｐａｃｅキーの利用状況、操作端末１０１１の上下左右の各カーソルキーの押下順、及び、操作端末１０１１にて所定の文字を入力する際に用いられるキーの組合せ、のうちの少なくとも１つを含む状態変数を観測する。生産管理装置８１内に設けられた内に設けられた機械学習装置３０内のスコア判定部２５（図１８では図示せず）による「正当な利用権者である／ではない」という判定結果を出力する。
【０１１２】
第３の実施形態による生産システム１０３において、生産管理装置８１は、機械学習装置３０の「正当な利用権者である／ではない」という判定結果に係るデータに基づいて、生産管理装置８１に設けられた表示装置に「正当な利用権者である／ではない」という判定結果を表示させることができる。その際、複数の数値制御装置のうちのどの数値制御装置についてユーザ認証が行われたかについても表示する。またあるいは、表示装置に代えてあるいは表示装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。これにより、工場で働く作業者や管理者は容易に、現在の数値制御装置の認証情報を知ることができる。またあるいは、生産管理装置８１内の機械学習装置３０の「正当な利用権者である／ではない」という判定結果に係るデータを、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に転送し、各セルコントローラ７１Ａ、７１Ｂ、７１Ｃ、・・・に設けられた表示装置に「正当な利用権者である／ではない」という判定結果を表示させたり、表示装置に代えてあるいは表示装置と共に、音響機器にて警報音やブザーを発生させて「正当な利用権者である／ではない」という判定結果を報知してもよい。
【０１１３】
第３の実施形態による生産システム１０３によれば、生産管理装置８１内に設けられた機械学習装置３０により、正当な利用権者による数値制御装置の操作端末に対する所定のキー入力操作におけるキー利用情報が学習される。機械学習装置３０は、数多くの数値制御装置にて観測された大量の状態変数に基づいて学習モデルを生成することができるので、機械学習装置３０の学習効果が向上する。機械学習装置３０の学習効果が向上すると、ユーザ認証装置１のユーザ認証精度が向上する。
【０１１４】
以上説明した生産システムは、製造セル、セルコントローラ、及び生産管理システムの３層のネットワークシステムで構成されたものである。この変形として、生産管理システムを省略し、製造セル及びセルコントローラで構成される２層のネットワークシステムにて生産システムを構成してもよく、この場合は、ユーザ認証装置１は製造セル内の数値制御装置またはセルコントローラに設ければよい。またあるいは、４層以上のネットワークシステムにて生産システムを構成してもよく、この場合は、ユーザ認証装置１は、製造セル内の数値制御装置、セルコントローラ、生産管理装置、またはさらに上位の装置に設ければよい。またあるいは、生産システムをさらに外部の通信ネットワークに接続してもよく、この場合、ユーザ認証装置１を、通信ネットワークを介したクラウドサーバ上に設けてもよい。
【符号の説明】
【０１１５】
１    ユーザ認証装置
１１    取得部
１２    認証部
２１    記憶部
２２    特徴抽出部
２３    状態観測部
２４    学習部
２５    スコア判定部
３０    機械学習装置
３１    学習モデル生成部
３２    スコア生成部
４０、４１    数値制御装置
４０’    数値制御部
４１Ａ−１、４１Ａ−２    数値制御装置
４１Ｂ−１、４１Ｂ−２    数値制御装置
４１Ｃ−１、４１Ｃ−２    数値制御装置
５０    工作機械
５０Ａ−１、５０Ａ−２    工作機械
５０Ｂ−１、５０Ｂ−２    工作機械
５０Ｃ−１、５０Ｃ−２    工作機械
６０Ａ、６０Ｂ、６０Ｃ    製造セル
６１Ａ、６１Ｂ、６１Ｃ    製造セル
７０Ａ、７０Ｂ、７０Ｃ    セルコントローラ
７１Ａ、７１Ｂ、７１Ｃ    セルコントローラ
８０、８１    生産管理装置
９０    通信ネットワーク
１０１、１０２、１０３    生産システム
１５１    サーボモータ
１５２    サーボアンプ
１００１    ＣＰＵ
１００２    ＲＯＭ
１００３    ＲＡＭ
１００４    Ｉ／Ｏ
１００５    不揮発性メモリ
１００６    軸制御回路
１００７    ＰＭＣ
１００８    表示装置／ＭＤＩパネル
１００９    バス
１０１１    操作端末
１０１２    表示装置
【図１】
2018101355.tif 000004
【図２】
2018101355.tif 000005
【図３】
2018101355.tif 000006
【図４】
2018101355.tif 000007
【図５】
2018101355.tif 000008
【図６】
2018101355.tif 000009
【図７】
2018101355.tif 000010
【図８】
2018101355.tif 000011
【図９】
2018101355.tif 000012
【図１０】
2018101355.tif 000013
【図１１】
2018101355.tif 000014
【図１２】
2018101355.tif 000015
【図１３】
2018101355.tif 000016
【図１４】
2018101355.tif 000017
【図１５】
2018101355.tif 000018
【図１６】
2018101355.tif 000019
【図１７】
2018101355.tif 000020
【図１８】
2018101355.tif 000021
【図１９】
2018101355.tif 000022