JP2018018459A - 入力支援装置、及び入力支援プログラム - Google Patents
入力支援装置、及び入力支援プログラム Download PDFInfo
- Publication number
- JP2018018459A JP2018018459A JP2016150700A JP2016150700A JP2018018459A JP 2018018459 A JP2018018459 A JP 2018018459A JP 2016150700 A JP2016150700 A JP 2016150700A JP 2016150700 A JP2016150700 A JP 2016150700A JP 2018018459 A JP2018018459 A JP 2018018459A
- Authority
- JP
- Japan
- Prior art keywords
- command
- input
- commands
- data
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】適切な教師信号によるニューラルネットワークの学習を行う。【解決手段】入力支援装置では、ユーザが次に選択するコマンドをニューラルネットワークを利用して予測、提示することでコマンドの入力支援を行う。各コマンドを同類コマンドに分類しておき、ユーザが選択したコマンドの履歴データを保存し、履歴データからs個の入力コマンドを取得し、s個の入力コマンドを入力素子に対する入力として各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応する候補コマンドを予測コマンドとて画面表示することで入力支援を行う。学習元データが同一である入力コマンド毎に、選択時期が新しい順に、最大d個(例えば、5個)の教師コマンドを取得し、この入力コマンドと教師コマンドの組合せを学習データとする。この学習データは、r個の学習元データの全てを使用して、複数作成される。【選択図】図1
Description
本発明は、入力支援装置、及び入力支援プログラムに係り、例えばCAD等の各種プログラムを実行する際にユーザによるコマンドの選択支援に関する。
近年の急激なコンピュータの普及に伴い、文書の作成や表計算、図面の作成などの各種情報処理の多機能化が進んでいる。
例えば、建築用の施工図を作成する場合に、コンピュータを用いたCAD(Computer Aided Design)装置を使用する場合が多い。そして、CADを利用した測量設計業務では、作業内容や工程毎に多数の機能を使いこなす必要があるが、豊富に機能が存在し、選択可能なコマンド数が300〜400と多数であるため、各種操作場面に合致した目的の機能を探し出してコマンドを選択する必要がある。また、各種機能を使いこなすためには、対応するコマンドの位置を記憶する必要があった。
このようにコンピュータを用いた各種情報処理装置の場合、多機能化に対応して選択可能なコマンドが多数存在するため、ユーザは、必要とするコマンドを選択するまでの操作が増えたり、コマンド自体を探しにくくなっている。
例えば、建築用の施工図を作成する場合に、コンピュータを用いたCAD(Computer Aided Design)装置を使用する場合が多い。そして、CADを利用した測量設計業務では、作業内容や工程毎に多数の機能を使いこなす必要があるが、豊富に機能が存在し、選択可能なコマンド数が300〜400と多数であるため、各種操作場面に合致した目的の機能を探し出してコマンドを選択する必要がある。また、各種機能を使いこなすためには、対応するコマンドの位置を記憶する必要があった。
このようにコンピュータを用いた各種情報処理装置の場合、多機能化に対応して選択可能なコマンドが多数存在するため、ユーザは、必要とするコマンドを選択するまでの操作が増えたり、コマンド自体を探しにくくなっている。
かかる課題に対応するため、特許文献1では、CADシステムのコマンド入力の効率を向上させるために、ユーザがCADシステムを操作する毎に、当該操作状況において入力されたコマンドの履歴と入力頻度とを記録し、コマンド入力する際には、ユーザの操作状況に応じて入力された入力頻度から判定したコマンド候補を表示することでコマンド入力効率を向上させる技術が提案されている。
しかし、操作状況を取得するために、ユーザは設計データの面部分、稜線部分等をポインティングデバイスにより指示する必要があり、ユーザ操作が増加していた。
また、ユーザが所望するコマンドは必ずしも頻度と一致するわけではないため、適切な候補を提示することはできていなかった。
しかし、操作状況を取得するために、ユーザは設計データの面部分、稜線部分等をポインティングデバイスにより指示する必要があり、ユーザ操作が増加していた。
また、ユーザが所望するコマンドは必ずしも頻度と一致するわけではないため、適切な候補を提示することはできていなかった。
ところで、所定の入力に対する出力を予測する方法としてニューラルネットワークが知られている。このニューラルネットワークでは、入力に対する予測結果と実際の結果とが異なる場合、入力データと実際の結果を教師信号とする学習データを使用し、予測結果との二乗誤差が最小になるようにニューラルネットワークの構成を変更(結合荷重の変更)する学習が行われる。
しかし、従来のニューラルネットワークに対する学習は必ずしも適切な教師信号が学習データ反映されていなかった。
しかし、従来のニューラルネットワークに対する学習は必ずしも適切な教師信号が学習データ反映されていなかった。
本発明は、適切な教師信号によるニューラルネットワークの学習を行うことを目的とする。
(1)請求項1に記載の発明では、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援装置であって、ユーザが選択した前記選択コマンドの履歴データを保存する履歴保存手段と、前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得手段と、前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定手段と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示手段と、前記取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを、前記履歴データから作成する学習データ作成手段と、前記作成した学習データにより、前記ニューラルネットワークの学習を行う学習手段と、を具備したことを特徴とする入力支援装置を提供する。
(2)請求項2に記載の発明では、前記学習手段は、前記複数の教師信号の値として、各教師信号に対応する選択コマンドの履歴が新しいほど大きな値とする、ことを特徴とする請求項1に記載の入力支援装置を提供する。
(3)請求項3に記載の発明では、前記履歴保存手段は、ユーザが選択した当該選択コマンドを教師信号とし、当該教師信号と、当該選択コマンドが選択される直前に前記入力コマンド取得手段が取得した入力コマンドとの組みからなる学習元データを順次履歴データとして保存し、前記学習データ作成手段は、入力コマンド毎に、当該入力コマンドが同じである学習元データから取得した各教師信号により学習データを作成する、ことを特徴とする請求項1又は2に記載の入力支援装置を提供する。
(4)請求項4に記載の発明では、前記履歴保存手段は、所定数の学習元データを保存対象とし、新たな学習元データを保存する際に、過去に保存された同一の学習元データを削除する、ことを特徴とする請求項3に記載の入力支援装置を提供する。
(5)請求項5に記載の発明では、コンピュータに、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援を実行させる入力支援プログラムであって、ユーザが選択した前記選択コマンドの履歴データを保存する履歴保存機能と、前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得機能と、前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定機能と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示機能と、前記取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを、前記履歴データから作成する学習データ作成機能と、前記作成した学習データにより、前記ニューラルネットワークの学習を行う学習機能と、を前記コンピュータに実現させることを特徴とする入力支援プログラムを提供する。
(2)請求項2に記載の発明では、前記学習手段は、前記複数の教師信号の値として、各教師信号に対応する選択コマンドの履歴が新しいほど大きな値とする、ことを特徴とする請求項1に記載の入力支援装置を提供する。
(3)請求項3に記載の発明では、前記履歴保存手段は、ユーザが選択した当該選択コマンドを教師信号とし、当該教師信号と、当該選択コマンドが選択される直前に前記入力コマンド取得手段が取得した入力コマンドとの組みからなる学習元データを順次履歴データとして保存し、前記学習データ作成手段は、入力コマンド毎に、当該入力コマンドが同じである学習元データから取得した各教師信号により学習データを作成する、ことを特徴とする請求項1又は2に記載の入力支援装置を提供する。
(4)請求項4に記載の発明では、前記履歴保存手段は、所定数の学習元データを保存対象とし、新たな学習元データを保存する際に、過去に保存された同一の学習元データを削除する、ことを特徴とする請求項3に記載の入力支援装置を提供する。
(5)請求項5に記載の発明では、コンピュータに、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援を実行させる入力支援プログラムであって、ユーザが選択した前記選択コマンドの履歴データを保存する履歴保存機能と、前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得機能と、前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定機能と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示機能と、前記取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを、前記履歴データから作成する学習データ作成機能と、前記作成した学習データにより、前記ニューラルネットワークの学習を行う学習機能と、を前記コンピュータに実現させることを特徴とする入力支援プログラムを提供する。
本発明によれば、取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを履歴データから作成するので、適切な教師信号によるニューラルネットワークの学習を行うことができる。
以下、本発明の入力支援装置、及び入力支援プログラムにおける好適な実施の形態について、CAD装置に対する入力支援を例に図1から図11を参照して詳細に説明する。
(1)実施形態の概要
本実施形態の入力支援装置では、通常の作図や設計業務を行うCADの処理に加え、ユーザが次に選択するコマンドをニューラルネットワークを利用して予測、提示することにより、多数存在するコマンドの入力支援を行うものである。
本実施形態で使用するニューラルネットワークは、ソフトウェア、又は、ハードウェアにより構成され、入力層(I層)、中間層(M層)、出力層(O層)の3層で構成する。I層とO層はユーザが選択可能なコマンド(コマンド数n)のそれぞれに割り当てられたn個の入力素子I1〜In、n個の出力素子O1〜Onで構成され、中間層Mはp個の中間素子M1〜Mpで構成されている。
本実施形態では、ユーザが選択したコマンドの履歴を保存しておき、最後に選択したコマンドから遡ってs個(例えば、3個、5個等)の選択コマンドに対応する入力素子Iに入力値を入力し、各出力素子Oの出力値が大きい順にq個(例えば、5個、7個等)のコマンドを、予測コマンドとする。この予測コマンドは、通常のコマンドの表示とは別に表示画面上に表示することでユーザのコマンド入力を支援する。
予測コマンドの予測精度を高めるために、出力値が所定の閾値Th(例えば、0.6)以上であることを候補条件とし、候補条件を満たす出力素子Oに対応するコマンドを候補コマンドとする。そして、候補コマンドのうち値が大きい上位q個のコマンドを予測コマンドとする。
(1)実施形態の概要
本実施形態の入力支援装置では、通常の作図や設計業務を行うCADの処理に加え、ユーザが次に選択するコマンドをニューラルネットワークを利用して予測、提示することにより、多数存在するコマンドの入力支援を行うものである。
本実施形態で使用するニューラルネットワークは、ソフトウェア、又は、ハードウェアにより構成され、入力層(I層)、中間層(M層)、出力層(O層)の3層で構成する。I層とO層はユーザが選択可能なコマンド(コマンド数n)のそれぞれに割り当てられたn個の入力素子I1〜In、n個の出力素子O1〜Onで構成され、中間層Mはp個の中間素子M1〜Mpで構成されている。
本実施形態では、ユーザが選択したコマンドの履歴を保存しておき、最後に選択したコマンドから遡ってs個(例えば、3個、5個等)の選択コマンドに対応する入力素子Iに入力値を入力し、各出力素子Oの出力値が大きい順にq個(例えば、5個、7個等)のコマンドを、予測コマンドとする。この予測コマンドは、通常のコマンドの表示とは別に表示画面上に表示することでユーザのコマンド入力を支援する。
予測コマンドの予測精度を高めるために、出力値が所定の閾値Th(例えば、0.6)以上であることを候補条件とし、候補条件を満たす出力素子Oに対応するコマンドを候補コマンドとする。そして、候補コマンドのうち値が大きい上位q個のコマンドを予測コマンドとする。
本実施形態では、各コマンドs個の入力コマンドから予測コマンドを決定するが、閾値Th以上のコマンドがq個未満である場合、最後(最新)に選択されたコマンドα1(最新コマンド)とした場合、このコマンドα1と同類に分類されているコマンドの中から他のコマンドαzをランダムに1つ選択する。そして、入力コマンドをαzに変更したs個のコマンドに対応する入力素子に再度入力し、その出力値から候補条件の閾値Thを超えているコマンドで、かつ、まだ候補になっていないコマンドを出力値が高いものから順番に不足分だけ候補コマンドとする。
候補コマンドがs個に満たない場合に、最新コマンド(α1)に代えてαzを選択するため、本実施形態では、全てのコマンドをその処理内容や操作内容等の共通性・類似性に基づいて同類コマンドとして分類・記憶されている。
候補コマンドがs個に満たない場合に、最新コマンド(α1)に代えてαzを選択するため、本実施形態では、全てのコマンドをその処理内容や操作内容等の共通性・類似性に基づいて同類コマンドとして分類・記憶されている。
ユーザが何れかのコマンドを選択すると、選択コマンドを履歴データに保存する。履歴データの保存は、単純に選択されたコマンドをその選択された順番に保存することも可能であるが、本実施形態では、学習データを効率的に作成するために、コマンド決定処理で最初に使用したs個の入力コマンド(代わりのコマンドαzを含めない)と、選択コマンド(以下、教師信号の対象となる教師コマンドという)との組合せを学習元データとして順次保存している。学習元データは、最新のr個(例えば、400個)が保存される。
そして、学習元データが同一である入力コマンド毎に、選択時期が新しい順に、最大d個(例えば、5個)の教師コマンドを取得し、この入力コマンドと教師コマンドの組合せを学習データとする。この学習データは、r個の学習元データの全てを使用して、複数作成される。
学習データを使用したニューラルネットワークの学習については、バックプロパゲーション(誤差逆伝播学習アルゴリズム)などの、周知の各種学習手法が使用され、I層の各入力素子IとM層の各中間素子M間の結合荷重w、及び、各中間素子MとO層の各出力素子O間の結合荷重Wを変更することにより行う。
そして、学習元データが同一である入力コマンド毎に、選択時期が新しい順に、最大d個(例えば、5個)の教師コマンドを取得し、この入力コマンドと教師コマンドの組合せを学習データとする。この学習データは、r個の学習元データの全てを使用して、複数作成される。
学習データを使用したニューラルネットワークの学習については、バックプロパゲーション(誤差逆伝播学習アルゴリズム)などの、周知の各種学習手法が使用され、I層の各入力素子IとM層の各中間素子M間の結合荷重w、及び、各中間素子MとO層の各出力素子O間の結合荷重Wを変更することにより行う。
(2)実施形態の詳細
図1は、本実施形態の入力支援装置1で使用する階層型ニューラルネットワークのニューロン素子網の構成を概念的に表したものである。
本実施形態では、入力層I、中間層M、出力層Oの3層構造のニューラルネットワークで構成されるが、中間層Mを複数層にする事も可能である。
入力層Iは、n個の入力素子I1〜Inで構成され、出力層Oはn個の出力素子O1〜Onで構成されている。この両層の素子数nは、入力支援装置の対象となる情報処理装置のコマンド数(本実施形態の場合にはCAD装置のコマンド数)nと同じである。コマンド数は使用する情報処理装置においてユーザが選択可能なコマンドの数nと一致しているが、本実施形態が適用されるCAD装置の例ではコマンド数が400〜500である。
各コマンド1〜nは、それぞれ各入力素子I1〜In、出力素子O1〜Onに対応付けられている。
図1は、本実施形態の入力支援装置1で使用する階層型ニューラルネットワークのニューロン素子網の構成を概念的に表したものである。
本実施形態では、入力層I、中間層M、出力層Oの3層構造のニューラルネットワークで構成されるが、中間層Mを複数層にする事も可能である。
入力層Iは、n個の入力素子I1〜Inで構成され、出力層Oはn個の出力素子O1〜Onで構成されている。この両層の素子数nは、入力支援装置の対象となる情報処理装置のコマンド数(本実施形態の場合にはCAD装置のコマンド数)nと同じである。コマンド数は使用する情報処理装置においてユーザが選択可能なコマンドの数nと一致しているが、本実施形態が適用されるCAD装置の例ではコマンド数が400〜500である。
各コマンド1〜nは、それぞれ各入力素子I1〜In、出力素子O1〜Onに対応付けられている。
一方、中間層Mは、p個の中間素子M1〜Mpで構成されている。全ての中間素子M1〜Mpは、それぞれ全ての入力素子I1〜Inと接続されているとともに、全ての出力素子O1〜Onと接続されている。
そして、入力素子Iと中間素子M間の各接合に対してwの結合荷重が記憶され、中間素子Mと出力素子O間の各接続に対してWの結合荷重が記憶される。
図1に示すように、個別の結合荷重wとWには、それぞれw+数字1+数字2、W+数字1+数字2で表されている。
結合荷重wの場合、数字1が中間素子M1〜Mpの数字に対応し、数字2が入力素子I1〜Inの数字に対応している。
結合荷重Wの場合、数字1が出力素子O1〜Onの数字に対応し、数字2が中間素子M1〜Mpの数字に対応している。
なお、各ニューロン素子は、ソフトウェアにより構成されるが、専用のハードウェアで構成するようにしてもよい。
そして、入力素子Iと中間素子M間の各接合に対してwの結合荷重が記憶され、中間素子Mと出力素子O間の各接続に対してWの結合荷重が記憶される。
図1に示すように、個別の結合荷重wとWには、それぞれw+数字1+数字2、W+数字1+数字2で表されている。
結合荷重wの場合、数字1が中間素子M1〜Mpの数字に対応し、数字2が入力素子I1〜Inの数字に対応している。
結合荷重Wの場合、数字1が出力素子O1〜Onの数字に対応し、数字2が中間素子M1〜Mpの数字に対応している。
なお、各ニューロン素子は、ソフトウェアにより構成されるが、専用のハードウェアで構成するようにしてもよい。
図2は、各層で使用される入力素子I、中間素子M、出力素子Oの素子モデル(ニューロンモデル)を表したものである。
中間素子Mの入力xは、それぞれ接続される入力素子I1〜Inからの入力値z1、z2、〜znと、これらに対応する各結合荷重w1、w2、〜wnとの積の総和と、一定の閾値θとの差で表される。
即ちΣの加算範囲をj=1〜n(出力素子Oの場合の加算範囲はj=1〜p)とし、入力x=Σwjzjとなる。
なお、図2の中間素子Mは、中間素子M1〜Mpを一般化しているので、結合荷重wの後の数字は接続している入力素子I1〜Inの数字である数字2を示している。
中間素子Mの入力xは、それぞれ接続される入力素子I1〜Inからの入力値z1、z2、〜znと、これらに対応する各結合荷重w1、w2、〜wnとの積の総和と、一定の閾値θとの差で表される。
即ちΣの加算範囲をj=1〜n(出力素子Oの場合の加算範囲はj=1〜p)とし、入力x=Σwjzjとなる。
なお、図2の中間素子Mは、中間素子M1〜Mpを一般化しているので、結合荷重wの後の数字は接続している入力素子I1〜Inの数字である数字2を示している。
一方、中間素子Mの出力yは、この入力xに対する所定の伝達関数により算出する。本実施形態では伝達関数として、シグモイド関数が使用される。
即ち、出力y=1.0/(1.0+exp(−x))により求められる。
この中間素子Mの出力yが、各出力素子O1〜Onの入力zとなる。
即ち、出力y=1.0/(1.0+exp(−x))により求められる。
この中間素子Mの出力yが、各出力素子O1〜Onの入力zとなる。
本実施形態では、ユーザがコマンドを選択した後に、周知の誤差逆伝播法(プロパゲーション)による各結合荷重w、Wを変更する学習処理が行われる。
この誤差逆伝播法では、入力x、出力yの正解である教師信号dが使用される。そして、ある入力xが与えられたときの出力yと、正解値である教師信号dとの2乗誤差Eを結合荷重wの関数とみなし、この誤差Eが減少する方向へwを増減させることで学習が行われる。このとき、解を探索するアルゴリズムには、最急降下法を好適に用いることができる。
誤差E=(1/2)Σ(dj−yj)u2である。
ここで、Σの加算範囲はj=1〜nで、記号uは指数を表し、u2は二乗を表す。
この誤差逆伝播法では、入力x、出力yの正解である教師信号dが使用される。そして、ある入力xが与えられたときの出力yと、正解値である教師信号dとの2乗誤差Eを結合荷重wの関数とみなし、この誤差Eが減少する方向へwを増減させることで学習が行われる。このとき、解を探索するアルゴリズムには、最急降下法を好適に用いることができる。
誤差E=(1/2)Σ(dj−yj)u2である。
ここで、Σの加算範囲はj=1〜nで、記号uは指数を表し、u2は二乗を表す。
図2では、結合荷重wの中間素子を例に説明するが、出力層Oの出力素子Oについても同様に計算される。
なお、各入力素子Iについては、入力値がそのまま出力値として出力されて、各中間素子Mに対する入力素子Iからの入力値となる。
なお、各入力素子Iについては、入力値がそのまま出力値として出力されて、各中間素子Mに対する入力素子Iからの入力値となる。
図3は、入力支援装置1の構成を表したものである。
この入力支援装置1は、CPU11とROM12、RAM13を有する制御部10と、入力部20と、出力部30と、記憶部40と、通信部50と、その他の各部を備えている。
CPU11は、記憶部40のプログラム部41に格納されている各種プログラムに従った各種制御を行う。本実施形態のCPU11は、CADによる作図、設計等の各種処理に加え、本実施形態によるコマンド予測処理による入力支援やニューラルネットワークにおける学習(結合荷重の変更)を行う。
ROM12は、基本OSのほか各種プログラムやデータが保存されている。
RAM13は、ユーザの指示に基づいてROM12やプログラム部41から読み取られた各種プログラムが保存されるとともに、CPU11が行う各種処理におけるワーキングメモリとして使用されるランダム・アクセス・メモリである。本実施形態では、作成・編集対象となっているCADデータや、この各CADデータ毎に、対応して保存されている結合荷重データ422や履歴データ423(後述)も一時保存されるようになっている。
この入力支援装置1は、CPU11とROM12、RAM13を有する制御部10と、入力部20と、出力部30と、記憶部40と、通信部50と、その他の各部を備えている。
CPU11は、記憶部40のプログラム部41に格納されている各種プログラムに従った各種制御を行う。本実施形態のCPU11は、CADによる作図、設計等の各種処理に加え、本実施形態によるコマンド予測処理による入力支援やニューラルネットワークにおける学習(結合荷重の変更)を行う。
ROM12は、基本OSのほか各種プログラムやデータが保存されている。
RAM13は、ユーザの指示に基づいてROM12やプログラム部41から読み取られた各種プログラムが保存されるとともに、CPU11が行う各種処理におけるワーキングメモリとして使用されるランダム・アクセス・メモリである。本実施形態では、作成・編集対象となっているCADデータや、この各CADデータ毎に、対応して保存されている結合荷重データ422や履歴データ423(後述)も一時保存されるようになっている。
通信部50は、結合荷重データ422と履歴データ423が保存されたフォルダや、CADデータ421等の作成済み、又は作成途中の各種データについて、電話回線網、LAN、パーソナルコンピュータ通信網等の各種の通信網を介して他の通信制御装置(通信部)との間でデータ送受信を行う。
入力部20は、本実施形態の入力支援装置1の支援対象であるコマンドの選択操作を含めたCADにおける各種入力操作を行うためのデバイス、例えば、キーボードやマウス、タッチパネル等から構成される。
キーボードは、仮名文字を入力するための仮名キーやテンキー、各種機能を実行するための機能キー、カーソルキー、等の各種キーが配置されている。
マウスは、ポインティングデバイスであり、表示装置に表示されたキーやアイコン等を左クリックすることで対応する機能の指定を行う入力装置である。
タッチパネルは、表示装置の表面に配置される入力機器で、画面表示された各種操作キーに対応した、ユーザのタッチ位置を特定し、当該タッチ位置に対応して表示された操作キーの入力を受け付ける。
また、入力デバイスとして音声認識装置を搭載するようにしてもよい。ユーザは、音声認識装置を使用することで、入力する文字や数字を音声で入力し、またアイコンやコマンドの選択を音声で行うことが可能になる。
キーボードは、仮名文字を入力するための仮名キーやテンキー、各種機能を実行するための機能キー、カーソルキー、等の各種キーが配置されている。
マウスは、ポインティングデバイスであり、表示装置に表示されたキーやアイコン等を左クリックすることで対応する機能の指定を行う入力装置である。
タッチパネルは、表示装置の表面に配置される入力機器で、画面表示された各種操作キーに対応した、ユーザのタッチ位置を特定し、当該タッチ位置に対応して表示された操作キーの入力を受け付ける。
また、入力デバイスとして音声認識装置を搭載するようにしてもよい。ユーザは、音声認識装置を使用することで、入力する文字や数字を音声で入力し、またアイコンやコマンドの選択を音声で行うことが可能になる。
出力部30は、表示装置を有している。なお、出力部30は、表示装置の他に、表示装置に表示された図面等を印刷する各種印刷装置を備えるようにしてもよい。
表示装置は、CRTディスプレイや液晶ディスプレイ等の画像表示部と表示制御部とを備えており、ユーザの入力操作に応じて作成されたCAD図面や、作図等に必要な各種操作キーなどを画面表示するようになっている。
表示装置は、CRTディスプレイや液晶ディスプレイ等の画像表示部と表示制御部とを備えており、ユーザの入力操作に応じて作成されたCAD図面や、作図等に必要な各種操作キーなどを画面表示するようになっている。
図4は、CADによる作図中における表示画面の一例を表したものである。
図4に示すように、表示画面31には、メニューバー311、リボン312、コマンドリスト313、作図領域315、予測コマンド欄317、支援ボタン318、その他の各種機能ボタンや領域が確保、表示されている。
図4に示すように、表示画面31には、メニューバー311、リボン312、コマンドリスト313、作図領域315、予測コマンド欄317、支援ボタン318、その他の各種機能ボタンや領域が確保、表示されている。
メニューバー311には、ファイル、ホーム、共通等の各種タブが表示され、選択されているタブに対応するリボン312がメニューバー311の下側に表示される。リボン312には、選択されているタブに分類されているコマンドボタンとリストボタンがアイコン表示される。アイコンの下側に三角マークが表示されているのがリストボタンで、リストボタンが選択されると、コマンドリスト313がプルダウン表示される。コマンドリスト313には、当該リストボタンに分類されている複数のコマンドが表示される。
CADで使用可能な全てのコマンドは、何れかのタブに分類されたリボン内、又は、リボン中の何れかのリストボタンのコマンドリスト内に表示される。
図4の例では、「ホーム」タブが選択され、対応するリボン312が表示されると共に、「線入力」のリストボタンが選択されることで、「線入力」コマンド、「平行線」コマンド、「垂線」コマンド等の線入力を行うための各種コマンドボタンがコマンドリスト313にリスト表示されている。
CADで使用可能な全てのコマンドは、何れかのタブに分類されたリボン内、又は、リボン中の何れかのリストボタンのコマンドリスト内に表示される。
図4の例では、「ホーム」タブが選択され、対応するリボン312が表示されると共に、「線入力」のリストボタンが選択されることで、「線入力」コマンド、「平行線」コマンド、「垂線」コマンド等の線入力を行うための各種コマンドボタンがコマンドリスト313にリスト表示されている。
作図領域315は、選択した各コマンドに対応する操作によって作図された図形や文字が表示される領域である。例えば、円を描画する場合には、「円」コマンドをマウス等で選択した後、作図領域内の所望箇所の2点(中心点と半径上の点)を指定することで円が描画される。
予測コマンド欄317は、本実施形態の入力支援により、ユーザが次に選択する可能性が高いと予測した予測コマンドをq個表示する欄である。本実施形態の予測コマンド欄317には、5つの予測コマンドが表示されるようになっている。なお、図4では、各コマンドとし上下2行記載(下が具体的なコマンド名、上が上位の分類名)されているが、リボン312のコマンドボタンと同様に、q個のコマンドボタンをアイコン表示するようにしてもよい。予測コマンド欄317に表示される予測コマンドは、ユーザの選択したコマンド履歴のうち最新の選択コマンドs個(例えば、s=3、5等)をニューラルネットワーク(図1参照)の入力として、次に選択される可能性が高いq個のコマンドを予測したものであり、その詳細については後述する。
予測コマンド欄317は、本実施形態の入力支援により、ユーザが次に選択する可能性が高いと予測した予測コマンドをq個表示する欄である。本実施形態の予測コマンド欄317には、5つの予測コマンドが表示されるようになっている。なお、図4では、各コマンドとし上下2行記載(下が具体的なコマンド名、上が上位の分類名)されているが、リボン312のコマンドボタンと同様に、q個のコマンドボタンをアイコン表示するようにしてもよい。予測コマンド欄317に表示される予測コマンドは、ユーザの選択したコマンド履歴のうち最新の選択コマンドs個(例えば、s=3、5等)をニューラルネットワーク(図1参照)の入力として、次に選択される可能性が高いq個のコマンドを予測したものであり、その詳細については後述する。
支援ボタン318は、予測コマンド欄317の表示、非表示を選択するためのボタンである。
図4に示した状態で支援ボタン318を選択(クリック)すると予測コマンド欄317が非表示され、再度クリックされることで表示される。
なお、支援ボタン318による予測コマンド欄317の表示状態にかかわらず、本実施形態のコマンド予測処理は常に実行される。
図4に示した状態で支援ボタン318を選択(クリック)すると予測コマンド欄317が非表示され、再度クリックされることで表示される。
なお、支援ボタン318による予測コマンド欄317の表示状態にかかわらず、本実施形態のコマンド予測処理は常に実行される。
図3に戻り、記憶部40は、プログラム部41、ファイル部42、同類コマンドデータ43、その他の各種プログラムやデータを格納する。記憶部40は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータ等の各種情報を読み書きするための駆動部で構成されている。
この記憶部40に使用される記憶媒体としては、主としてハードディスクが使用されるが、フロッピーディスク、ハードディスク、磁気テープ等の磁気記憶媒体、メモリチップやICカード等の半導体記憶媒体、CD−ROMやMO、PD(相変化書換型光ディスク)等の光学的に情報が読み取られる記憶媒体、その他各種方法でコンピュータプログラムやデータが記憶される記憶媒体が含まれる。
この記憶部40に使用される記憶媒体としては、主としてハードディスクが使用されるが、フロッピーディスク、ハードディスク、磁気テープ等の磁気記憶媒体、メモリチップやICカード等の半導体記憶媒体、CD−ROMやMO、PD(相変化書換型光ディスク)等の光学的に情報が読み取られる記憶媒体、その他各種方法でコンピュータプログラムやデータが記憶される記憶媒体が含まれる。
プログラム部41は、本実施形態の入力支援で使用されるコマンド予測処理プログラムが適用されるCADプログラムを含め各種プログラムが保存される。これらの各プログラムはRAM13に読み込まれて作業される。処理に必要なデータについても、記憶部40からRAM13に読み込まれ、処理に応じて追加変更がRAM13で行われ、プログラムの終了時に記憶部40に上書き保存、又は、新規に保存される。
ファイル部42は、入力支援装置1で作成される各種ファイルが保存される。ファイル部42には、ユーザが作成したCADデータ421や、各ユーザ毎の結合荷重データ422、履歴データ423が保存される。本実施形態のファイル部42は、ユーザがCADによる図面を作成・編集する毎に、当該作成等したCADデータ421が保存(作成、更新)される。そして、ユーザによるCADデータ421の作成、編集作業において選択されたコマンドにより、当該ユーザに対応する結合荷重データ422と履歴データ423が保存(作成、更新)される。
このように、結合荷重データ422と履歴データ423は対になって各ユーザ毎のフォルダに保存され、ユーザがCADプログラムを使用する毎に更新されるようになっている。
このように、結合荷重データ422と履歴データ423は対になって各ユーザ毎のフォルダに保存され、ユーザがCADプログラムを使用する毎に更新されるようになっている。
なお、CADプログラムで結合荷重データ422と履歴データ423を使用する場合には、ユーザを特定する必要があるが、本実施形態ではつぎのようにしている。
すなわち、記憶部40に所定作業フォルダ(図示しない)を設け、CADプログラムは、常にこの所定作業フォルダに保存されている結合荷重データ422と履歴データ423(又は、そのフォルダ)を使用する。そして、ユーザが、CADプログラムの実行前に、各ユーザの結合荷重データ422と履歴データ423が保存されているフォルダから、自己のフォルダを所定作業フォルダに複写することで保存される。これにより、前回実行時と同じユーザであれば所定作業フォルダには自己の結合荷重データ422と履歴データ423が保存済みなので、そのままCADプログラムを実行することが可能になる。一方、前回実行時と異なるユーザがCADプログラムを実行する場合には、その実行前に所定作業フォルダ内の結合荷重データ422と履歴データ423を自己のものに変更する。
なお、所定作業フォルダによらない他の方法としては、各CADデータ421にユーザを登録(例えば、ユーザIDの記録)しておくことで、CADデータ421を読み込む際に合わせて登録されたユーザの結合荷重データ422と履歴データ423を読み込むようにしてもよい。なお、CAD421を新規に作成する際には、最初にユーザの入力を要求する。
さらに、CADプログラムの実行中において、最初に支援ボタン318(図4参照)が選択された時点で、ユーザの指定を促すようにしてもよい。例えば、結合荷重データ422と履歴データ423が登録されているユーザのフォルダを選択するウィンドウが表示されてユーザに選択を求めるようにする。
すなわち、記憶部40に所定作業フォルダ(図示しない)を設け、CADプログラムは、常にこの所定作業フォルダに保存されている結合荷重データ422と履歴データ423(又は、そのフォルダ)を使用する。そして、ユーザが、CADプログラムの実行前に、各ユーザの結合荷重データ422と履歴データ423が保存されているフォルダから、自己のフォルダを所定作業フォルダに複写することで保存される。これにより、前回実行時と同じユーザであれば所定作業フォルダには自己の結合荷重データ422と履歴データ423が保存済みなので、そのままCADプログラムを実行することが可能になる。一方、前回実行時と異なるユーザがCADプログラムを実行する場合には、その実行前に所定作業フォルダ内の結合荷重データ422と履歴データ423を自己のものに変更する。
なお、所定作業フォルダによらない他の方法としては、各CADデータ421にユーザを登録(例えば、ユーザIDの記録)しておくことで、CADデータ421を読み込む際に合わせて登録されたユーザの結合荷重データ422と履歴データ423を読み込むようにしてもよい。なお、CAD421を新規に作成する際には、最初にユーザの入力を要求する。
さらに、CADプログラムの実行中において、最初に支援ボタン318(図4参照)が選択された時点で、ユーザの指定を促すようにしてもよい。例えば、結合荷重データ422と履歴データ423が登録されているユーザのフォルダを選択するウィンドウが表示されてユーザに選択を求めるようにする。
結合荷重データ422は、図1で説明したニューラルネットワークにおける各素子間の結合荷重w、Wを保存している。即ち、各入力素子I1〜Inと各中間素子M1〜Mp間の結合荷重w11〜wpn、各中間素子M1〜Mpと各出力素子間O1〜On間の結合荷重Wnpが保存されている。
図5は、結合荷重データ422についての説明図である。
結合荷重データ422は、図5(1)に示す中間素子Mの結合荷重w11〜wpnと、図5(2)に示す出力素子Oの結合荷重W11〜Wnpとが保存され、ニューラルネットワークの学習を行う毎に結合荷重w、Wの値が更新される。
詳細は後述するが、本実施形態では、コマンド予測処理により予測コマンド欄317に表示した予測コマンド以外のコマンドが選択された場合(予測が外れた場合)に学習が行われる。但し、学習を行うか否かに係わらず、履歴データ423の更新は行われる。
CADプログラムの実行中における履歴データ423と結合荷重データ422の更新はRAM13で行われる。そして、CADプログラムの終了時等のおいて、記憶部40の所定フォルダ内と、その複写元であるユーザのフォルダ内の履歴データ423、と結合荷重データ422が、RAM13のデータに書き換えられる。
図5は、結合荷重データ422についての説明図である。
結合荷重データ422は、図5(1)に示す中間素子Mの結合荷重w11〜wpnと、図5(2)に示す出力素子Oの結合荷重W11〜Wnpとが保存され、ニューラルネットワークの学習を行う毎に結合荷重w、Wの値が更新される。
詳細は後述するが、本実施形態では、コマンド予測処理により予測コマンド欄317に表示した予測コマンド以外のコマンドが選択された場合(予測が外れた場合)に学習が行われる。但し、学習を行うか否かに係わらず、履歴データ423の更新は行われる。
CADプログラムの実行中における履歴データ423と結合荷重データ422の更新はRAM13で行われる。そして、CADプログラムの終了時等のおいて、記憶部40の所定フォルダ内と、その複写元であるユーザのフォルダ内の履歴データ423、と結合荷重データ422が、RAM13のデータに書き換えられる。
図3に戻り、履歴データ423は、ユーザが選択したコマンドの履歴が保存される。履歴データ423としては、選択されたコマンドをその選択順に保存することも可能であるが、本実施形態では、学習処理で使用する学習データを効率的に作成するため、学習元データの履歴を履歴データとして保存するようにしている。
図6は、学習元データの履歴からなる履歴データ423を概念的に表したものである。
図6に示すように履歴データ423には、ユーザがコマンドを選択する毎に、学習元データとして、履歴番号、教師信号(選択コマンド)、入力コマンドの組みが保存される。
入力コマンド欄には、ニューラルネットワークを使用して予測コマンドを決定する際に使用したs個(本実施形態ではs=3)のコマンドが保存される。例えば、履歴番号101番の学習元データ101の場合、予測コマンドを決定するためにニューラルネットワークへの入力値の入力対象となったコマンド「CBA」が保存される。
図6に示した履歴データ423の入力コマンドでは、選択コマンドとしてユーザが選択した順番に(右側が古く左側が新しい)保存される。これは、最新の学習元データである、教師信号(選択コマンド)と入力コマンドとが、ユーザが選択した直近の選択コマンドの履歴を表すためである。例えば、学習元データ101=教G、入CBAの場合、コマンドA、B、C、Gの順に選択されていることを表しているので、最新の選択コマンドから3個のコマンドが次の入力コマンドGCBとなる。
図6は、学習元データの履歴からなる履歴データ423を概念的に表したものである。
図6に示すように履歴データ423には、ユーザがコマンドを選択する毎に、学習元データとして、履歴番号、教師信号(選択コマンド)、入力コマンドの組みが保存される。
入力コマンド欄には、ニューラルネットワークを使用して予測コマンドを決定する際に使用したs個(本実施形態ではs=3)のコマンドが保存される。例えば、履歴番号101番の学習元データ101の場合、予測コマンドを決定するためにニューラルネットワークへの入力値の入力対象となったコマンド「CBA」が保存される。
図6に示した履歴データ423の入力コマンドでは、選択コマンドとしてユーザが選択した順番に(右側が古く左側が新しい)保存される。これは、最新の学習元データである、教師信号(選択コマンド)と入力コマンドとが、ユーザが選択した直近の選択コマンドの履歴を表すためである。例えば、学習元データ101=教G、入CBAの場合、コマンドA、B、C、Gの順に選択されていることを表しているので、最新の選択コマンドから3個のコマンドが次の入力コマンドGCBとなる。
図6の枠外右側に表示している(G1)(G2)…は、入力コマンドのグループを示す番号である。このグループは、入力コマンドを構成するコマンドが同じか否かで分類されており、履歴番号101番の「CBA」と100番の「BAC」は同一グループ番号G1に分類される。このコマンドグループ番号は、データ入力コマンドを説明するために付したもので、履歴データ423としては保存されない。
なお、例えば、「ACA」と「ACC」は共に同じ構成要素AとCであるが、前者はAが2つ、後者はCが2つなので別グループに分類される。これは、入力値が異なるためである。即ち、入力コマンドACAの場合、コマンドAに対応する入力素子(以下単にコマンドAという。他のコマンドも同じ)にはAが2つなので入力値「2」が入力され、Cに対応する入力素子には「1」が入力されるのに対し、入力コマンドACCの場合、コマンドAには入力値「1」が、コマンドCには入力値「2」が入力されるためである。
なお、例えば、「ACA」と「ACC」は共に同じ構成要素AとCであるが、前者はAが2つ、後者はCが2つなので別グループに分類される。これは、入力値が異なるためである。即ち、入力コマンドACAの場合、コマンドAに対応する入力素子(以下単にコマンドAという。他のコマンドも同じ)にはAが2つなので入力値「2」が入力され、Cに対応する入力素子には「1」が入力されるのに対し、入力コマンドACCの場合、コマンドAには入力値「1」が、コマンドCには入力値「2」が入力されるためである。
履歴データ423の教師信号欄(中欄)には、予測コマンドを決定した後にユーザが選択したコマンド(選択コマンド)が保存される。例えば、履歴番号101番の学習元データ101の場合、ユーザが選択した最新の選択コマンド「G」が教師信号として保存される。
教師信号欄に格納されている各選択コマンドは、その履歴番号順(図6の教師信号欄で縦に並んだ順番)に、ユーザが選択したコマンドの履歴となる。即ち、履歴番号95〜100の順に選択された各コマンドが、教師信号欄のE、A、C、A、B、C、Gである。
教師信号欄に格納されている各選択コマンドは、その履歴番号順(図6の教師信号欄で縦に並んだ順番)に、ユーザが選択したコマンドの履歴となる。即ち、履歴番号95〜100の順に選択された各コマンドが、教師信号欄のE、A、C、A、B、C、Gである。
図6に示す履歴データ423は、後述するニューラルネットワークの学習に使用する学習データを作成するための元データとして使用され、所定数(本実施形態では400個)の学習元データに限定して保存されるようになっている。
そのため、新たな学習元データを保存する際に、当該学習元データと同一の学習元データは、履歴データ423から削除されるようになっている。この場合の学習元データが同一の場合とは、入力コマンドのグループが同じで、かつ教師信号が同じ場合をいう。
例えば、図6に示したグループ番号の右側に説明表示したように、学習元データ92=教A、入CBE(G4)を保存する場合、これと同一の学習元データ92=教A、入CBEが削除される。この学習元データ92は、更にその後に学習元データ96=教A、入ECBが保存される際に削除される。
そのため、新たな学習元データを保存する際に、当該学習元データと同一の学習元データは、履歴データ423から削除されるようになっている。この場合の学習元データが同一の場合とは、入力コマンドのグループが同じで、かつ教師信号が同じ場合をいう。
例えば、図6に示したグループ番号の右側に説明表示したように、学習元データ92=教A、入CBE(G4)を保存する場合、これと同一の学習元データ92=教A、入CBEが削除される。この学習元データ92は、更にその後に学習元データ96=教A、入ECBが保存される際に削除される。
なお、図6に示した履歴データ423では、削除された学習元データ86、87、88、92、94に取消線を付しているが、実際にデータとして削除している。但し、選択コマンドそのものの選択履歴を保存するために、削除した学習元データ86、…は、別途保存するようにしてもよい。また、履歴データ423の各学習元データに対してフラグ欄を追懐し、学習元データ作成時のフラグを「0」とし、削除対象となった時点で学習元データのフラグを「1」に変更するようにしてもよい。この場合、履歴データ423においてフラグ「0」の数は常に所定数(=400)である。
なお、保存対象となる学習データ数は、本実施形態では400個であるが、制御部10の処理能力やコマンド数に応じて増減することも可能である。
なお、保存対象となる学習データ数は、本実施形態では400個であるが、制御部10の処理能力やコマンド数に応じて増減することも可能である。
図7は、ユーザが順次選択した選択コマンドと、学習元データとの関係を表したものである。
図7に示すように、最上段の番号…77〜101は、ユーザがコマンドを選択した順番であり、図6の履歴番号に対応している。現在101個目のコマンドが作成された状態を表している。
2段目の選択コマンドは、選択順で選択されたコマンドを表していて、左から右方向に向かって選択されたコマンドの履歴になっている。
図7に示すように、最上段の番号…77〜101は、ユーザがコマンドを選択した順番であり、図6の履歴番号に対応している。現在101個目のコマンドが作成された状態を表している。
2段目の選択コマンドは、選択順で選択されたコマンドを表していて、左から右方向に向かって選択されたコマンドの履歴になっている。
いま、90番目のコマンドBまでがユーザよって選択されているものと仮定する。
この場合、ニューラルネットワークの入力値として、90番目のコマンドBから遡って3個の選択コマンドB、E、Cが入力コマンドBECとなる。この入力コマンドBECに対応するニューラルネットワークの入力素子Iにそれぞれ入力値「1」が入力され、その出力信号から後述するコマンド予測処理に従って予測コマンドが決定される。
なお、上述のとおり、入力コマンドがAACの場合にはコマンドAの対応入力素子Iに入力値「2」が、コマンドCの対応入力素子Iに入力値「1」が入力される。
この場合、ニューラルネットワークの入力値として、90番目のコマンドBから遡って3個の選択コマンドB、E、Cが入力コマンドBECとなる。この入力コマンドBECに対応するニューラルネットワークの入力素子Iにそれぞれ入力値「1」が入力され、その出力信号から後述するコマンド予測処理に従って予測コマンドが決定される。
なお、上述のとおり、入力コマンドがAACの場合にはコマンドAの対応入力素子Iに入力値「2」が、コマンドCの対応入力素子Iに入力値「1」が入力される。
その後、ユーザによって91番目のコマンドCが選択されると、選択されたコマンドC=教師信号と、直前に使用した入力コマンドBECとが学習元データ91となる。
そして、学習元データ91が保存されると、次の入力コマンドとして91番目のコマンドCから遡る3個の選択コマンドC、B、Eが入力コマンドCBEとなり、92番目のコマンドAが選択されると、教師信号Aと入力コマンドCBEとが学習元データ92となる。
以下ユーザにより新たなコマンドが選択される毎に学習元データが保存され、同一の学習元データが保存済みであれば保存済みの学習元データが削除され、同一の学習元データがなければ最も古い学習元データが削除される。
そして、学習元データ91が保存されると、次の入力コマンドとして91番目のコマンドCから遡る3個の選択コマンドC、B、Eが入力コマンドCBEとなり、92番目のコマンドAが選択されると、教師信号Aと入力コマンドCBEとが学習元データ92となる。
以下ユーザにより新たなコマンドが選択される毎に学習元データが保存され、同一の学習元データが保存済みであれば保存済みの学習元データが削除され、同一の学習元データがなければ最も古い学習元データが削除される。
図3に戻り、記憶部40の同類コマンドデータ43は、各コマンドがいずれの同類コマンドに分類されているかを示すデータである。即ち、各コマンドは、同様な処理毎に分類した何れかの同類コマンドに分類されている。
例えば、表示画面31における「数値地形」タブのリボン312(図4参照)に表示される、「DM基本」として纏められている各コマンドと、「DM作画」として纏められている各コマンドが同類コマンドとして「数値地形G」に纏められている。前者の「DM基本」には、DM入力モード、測点一覧、標高値編集、CAD測点登録、観測条件設定、DM属性設定、DMマスター、の各コマンドが含まれ、後者の「DM作画」には、点名・標高値、斜面記号個別、建物野帳、電線方向、電柱支線、石段・階段、の各コマンドが含まれている。
また、同類コマンド「寸法G」には、「汎用作図」タブのリボン312に「寸法線」として纏めて表示される、直線、角度、直径・半径、弧長・円周、水平・垂直、寸法編集の各コマンドが含まれている。
更に、同類コマンド「編集G」には、「データ編集」タブのリボン312に「線編集」として纏めて表示される、線伸縮、延長止線、整合、線編集、及び、「文字編集」として纏めて表示される、アシスト、サーチ、整列、平行移動、文字編集の各コマンドが含まれる。
例えば、表示画面31における「数値地形」タブのリボン312(図4参照)に表示される、「DM基本」として纏められている各コマンドと、「DM作画」として纏められている各コマンドが同類コマンドとして「数値地形G」に纏められている。前者の「DM基本」には、DM入力モード、測点一覧、標高値編集、CAD測点登録、観測条件設定、DM属性設定、DMマスター、の各コマンドが含まれ、後者の「DM作画」には、点名・標高値、斜面記号個別、建物野帳、電線方向、電柱支線、石段・階段、の各コマンドが含まれている。
また、同類コマンド「寸法G」には、「汎用作図」タブのリボン312に「寸法線」として纏めて表示される、直線、角度、直径・半径、弧長・円周、水平・垂直、寸法編集の各コマンドが含まれている。
更に、同類コマンド「編集G」には、「データ編集」タブのリボン312に「線編集」として纏めて表示される、線伸縮、延長止線、整合、線編集、及び、「文字編集」として纏めて表示される、アシスト、サーチ、整列、平行移動、文字編集の各コマンドが含まれる。
以上は、同一タブのリボン312に表示されるコマンド毎に纏められた同類コマンドであるが、複数タブのリボン312に表示されるコマンドを纏めた同類コマンドも存在する。
例えば、同類コマンド「その他1」には、「汎用作図」タブ、「データ編集」タブ、「専用作図」タブの各リボン312に表示されるコマンドが含まれている。
即ち、「汎用作図」タブでは、「曲線」として纏めて表示される各コマンドのうちの、手書きメモと、同タブの「点・領域」として纏めて表示されているコマンドのうちの、マスク、ハッチング・塗り、のコマンドが「その他1」に含まれている。また、「データ編集」タブでは、復帰、及び、「SXF属性」のコマンドリストとして表示される、属性入力確認、属性マスター、属性一覧、属性複写、属性一括、の各コマンドが含まれている。更に、「専用作図」タブには、「チェック」として纏めて表示される各コマンドのうちの、朱書き、のコマンドが含まれる。
例えば、同類コマンド「その他1」には、「汎用作図」タブ、「データ編集」タブ、「専用作図」タブの各リボン312に表示されるコマンドが含まれている。
即ち、「汎用作図」タブでは、「曲線」として纏めて表示される各コマンドのうちの、手書きメモと、同タブの「点・領域」として纏めて表示されているコマンドのうちの、マスク、ハッチング・塗り、のコマンドが「その他1」に含まれている。また、「データ編集」タブでは、復帰、及び、「SXF属性」のコマンドリストとして表示される、属性入力確認、属性マスター、属性一覧、属性複写、属性一括、の各コマンドが含まれている。更に、「専用作図」タブには、「チェック」として纏めて表示される各コマンドのうちの、朱書き、のコマンドが含まれる。
なお、本実施形態の同類コマンドデータ43は上述の通りに分類されているが、他の分類でもよい。例えば、図4におけるメニューバー311の各タブ(ファイル、ホーム、共通等)に含まれる各コマンド毎に同類コマンドに分類してもよい。
また、各タブのリボン312において、纏めて表示されるグループ、例えば、図4に示した「ホーム」タブの「線図」「専用作図」「データ編集」に纏められている各コマンドを纏めて同類コマンドとしてもよい。
また、各タブのリボン312において、纏めて表示されるグループ、例えば、図4に示した「ホーム」タブの「線図」「専用作図」「データ編集」に纏められている各コマンドを纏めて同類コマンドとしてもよい。
次に、このように構成された入力支援装置1によるコマンド予測処理の動作について説明する。
図8は、本発明におけるコマンド予測処理動作の内容を表したフローチャートである。
このコマンド予測処理の前提として、その前提としてプログラム部41に格納されているCADプログラムが実行されているものとする。そして、CADプログラムの実行時に、記憶部40の所定フォルダから結合荷重データ422、履歴データ423がRAM13に読み込まれていると共に、ユーザによって指定されたCADデータ421がファイル部42ファイルからRAM13に読み込まれているものとする。
なお、結合荷重データ422と履歴データ423の作成、更新はRAM13に保存されたものを対象として説明するものとし、記憶部40を対象とする場合にはその旨を記すものとする。
図8は、本発明におけるコマンド予測処理動作の内容を表したフローチャートである。
このコマンド予測処理の前提として、その前提としてプログラム部41に格納されているCADプログラムが実行されているものとする。そして、CADプログラムの実行時に、記憶部40の所定フォルダから結合荷重データ422、履歴データ423がRAM13に読み込まれていると共に、ユーザによって指定されたCADデータ421がファイル部42ファイルからRAM13に読み込まれているものとする。
なお、結合荷重データ422と履歴データ423の作成、更新はRAM13に保存されたものを対象として説明するものとし、記憶部40を対象とする場合にはその旨を記すものとする。
コマンド予測処理において、入力支援装置1の制御部10は、最初に予測コマンドを決定するために、コマンド決定処理を行う(ステップ1)。
図9は、コマンド決定処理の内容を表したフローチャートである。
制御部10は、s個の入力コマンドα1〜αs(本実施形態ではs=3なので、入力コマンドα1〜α3)を履歴データ423の最新の学習元データから取得する(ステップ11)。
以下具体例として、図6の履歴データ423には、学習元データ100までが保存されているものとして説明する。この場合、制御部10は、最新の学習元データ100から、ユーザが選択した最新のコマンド3つを読み取り、α1=C、α2=B、α3=Aを取得する。
図9は、コマンド決定処理の内容を表したフローチャートである。
制御部10は、s個の入力コマンドα1〜αs(本実施形態ではs=3なので、入力コマンドα1〜α3)を履歴データ423の最新の学習元データから取得する(ステップ11)。
以下具体例として、図6の履歴データ423には、学習元データ100までが保存されているものとして説明する。この場合、制御部10は、最新の学習元データ100から、ユーザが選択した最新のコマンド3つを読み取り、α1=C、α2=B、α3=Aを取得する。
次に、制御部10は、取得した入力コマンドα1〜α3(=CBA)をニューラルネットワークに入力することで、各出力素子O1〜Onの出力値を算出する(ステップ12)。すなわち、制御部10は、取得した入力コマンドα1〜α3(=CBA)に対応する入力素子Iのそれぞれに入力値「1」を、それ以外の入力素子には入力値「0」を入力する。
そして、制御部10は、この入力値と結合荷重データ422の結合荷重w11〜wpnと、結合荷重W11〜Wnpとから、各出力素子O1〜Onの出力値を算出する。
そして、制御部10は、この入力値と結合荷重データ422の結合荷重w11〜wpnと、結合荷重W11〜Wnpとから、各出力素子O1〜Onの出力値を算出する。
制御部10は、算出した各出力素子O1〜Onの出力値から候補コマンドを抽出する(ステップ13)。すなわち、制御部10は、出力値が候補条件である閾値Th(本実施形態では0.6)以上である、出力素子に対応するコマンドを予測コマンドの候補コマンドとして抽出する。
制御部10は、抽出した候補コマンドが所定数q(本実施形態ではq=5)以上であるか判断する(ステップ14)。候補コマンドの候補数がq以上であれば(ステップ14;Y)、制御部10は、出力値が大きい順にq個のコマンドを予測コマンドに決定し(ステップ15)、メインルーチンにリターンする。
制御部10は、抽出した候補コマンドが所定数q(本実施形態ではq=5)以上であるか判断する(ステップ14)。候補コマンドの候補数がq以上であれば(ステップ14;Y)、制御部10は、出力値が大きい順にq個のコマンドを予測コマンドに決定し(ステップ15)、メインルーチンにリターンする。
一方、抽出した候補コマンドが所定数q未満である場合(ステップ14;N)、制御部10は、同類コマンドαzを決定する(ステップ16)。すなわち、制御部10は、同類コマンドデータ43により、入力コマンドα1〜αsのうち、最新の選択コマンドであるコマンドα1と同一の同類コマンドに分類されているコマンド中から、任意の同類コマンドαzを1つ決定する。
ついで制御部10は、決定した同類コマンドαzをステップ11で取得した入力コマンドのα1に代え、入力コマンドαz、α2、α3を入力信号(入力値)の入力対象とし、ステップ12と同様にして、再度各出力素子O1〜Onの出力値を算出する(ステップ17)。
制御部10は、再度算出した各出力素子O1〜Onの出力値が閾値Th以上である出力素子に対応するコマンドを追加の候補コマンドから抽出する(ステップ18)。
そして制御部10は、追加の候補コマンドの数が不足数以上であるか否かを判断する(ステップ19)。すなわち制御部10は、すでに抽出済みの候補コマンド数をq0とした場合、ステップ18で再度抽出した候補コマンド数が(q−q0)以上であるか否かを判断する。
再度抽出した候補コマンド数がq−q0未満である場合(ステップ19;N)、制御部10は、ステップ16に戻り更に同類コマンドαzを決定し、抽出済みの全候補コマンドがq以上になるまで繰り返す。
制御部10は、再度算出した各出力素子O1〜Onの出力値が閾値Th以上である出力素子に対応するコマンドを追加の候補コマンドから抽出する(ステップ18)。
そして制御部10は、追加の候補コマンドの数が不足数以上であるか否かを判断する(ステップ19)。すなわち制御部10は、すでに抽出済みの候補コマンド数をq0とした場合、ステップ18で再度抽出した候補コマンド数が(q−q0)以上であるか否かを判断する。
再度抽出した候補コマンド数がq−q0未満である場合(ステップ19;N)、制御部10は、ステップ16に戻り更に同類コマンドαzを決定し、抽出済みの全候補コマンドがq以上になるまで繰り返す。
一方、再度抽出したコマンド数が、q−q0以上、即ち、不足数以上である場合(ステップ19;Y)、制御部10は、ステップ15に移行する。すなわち、制御部10は、抽出済みの全候補コマンドと、再度抽出した候補コマンドの出力値が大きい不足分の候補コマンドと合わせた全体でq個の候補コマンドを予測コマンドに決定し、RAM13に保存してメインルーチンにリターンする。
以上のコマンド決定処理により、q個の予測コマンドが決定すると、制御部10は、図4に示すように、表示画面31の予測コマンド欄317に、コマンドボタンとして表示する(ステップ2)。
この予測コマンド欄317に表示されるq=5個のコマンドの表示順は、同一の出力値算出における出力素子O1〜Onの出力値が大きいほど左側に表示される。すなわち、制御部10は、再度の候補コマンド抽出(ステップ18)で抽出された候補コマンドは、それ以前に抽出された候補コマンドよりも下位に表示する。
この予測コマンド欄317に表示されるq=5個のコマンドの表示順は、同一の出力値算出における出力素子O1〜Onの出力値が大きいほど左側に表示される。すなわち、制御部10は、再度の候補コマンド抽出(ステップ18)で抽出された候補コマンドは、それ以前に抽出された候補コマンドよりも下位に表示する。
本実施形態では、候補コマンドを抽出する際に閾値Thを設定することで、予測精度の高いコマンドを候補コマンドとして抽出することができる。その一方で、閾値Thの設定により、候補コマンド数が不足する場合が生じるが、この場合であっても、同類コマンドαzを使用した再度の候補コマンド抽出を行うことで、常に閾値Th以上の候補コマンドq個を予測コマンドとして、予測コマンド欄317に表示することができる。
但し、学習元データが少ない初期段階などにおいては、再度の候補コマンド抽出を繰り返してもq個の予測コマンドが得られない可能性があるため、ステップ16〜19による再度の候補コマンドの抽出の回数を所定回数とする制限を設けるようにしてもよい。
但し、学習元データが少ない初期段階などにおいては、再度の候補コマンド抽出を繰り返してもq個の予測コマンドが得られない可能性があるため、ステップ16〜19による再度の候補コマンドの抽出の回数を所定回数とする制限を設けるようにしてもよい。
そして制御部10は、ユーザによるコマンドの選択を監視し(ステップ3)、ユーザが次のコマンドを選択するまで(ステップ3;N)の間は、ステップ2にもどりこの予測コマンドの表示を継続する。
なお、支援ボタン318の選択によって予測コマンド欄317が非表示になっている場合、制御部10は、q個の予測コマンドを表示画面31には表示しないが、予測コマンドはそのままRAM13に保存しておく。学習元データを作成するためと、その後支援ボタン318が選択された場合に直ちに予測コマンドを表示するためである。
なお、支援ボタン318の選択によって予測コマンド欄317が非表示になっている場合、制御部10は、q個の予測コマンドを表示画面31には表示しないが、予測コマンドはそのままRAM13に保存しておく。学習元データを作成するためと、その後支援ボタン318が選択された場合に直ちに予測コマンドを表示するためである。
ユーザが次のコマンドを選択すると(ステップ3;Y)、制御部10は、履歴データ423を更新する(ステップ4)。すなわち、制御部10は、ユーザが新たに選択したコマンドを教師信号とし、ステップ1の予測コマンド決定処理で取得(ステップ11)した入力コマンドα1〜αsとの組みに、新たな履歴番号を付した学習元データとして履歴データ423に追加保存する。
具体的には、図9で例示したように、履歴データ423には、学習元データ100までが保存されている状態で、ユーザが新たなコマンドGを選択した場合、教師信号Gと入力コマンドCBAの組みを新たな学習元データ101として保存する。
具体的には、図9で例示したように、履歴データ423には、学習元データ100までが保存されている状態で、ユーザが新たなコマンドGを選択した場合、教師信号Gと入力コマンドCBAの組みを新たな学習元データ101として保存する。
制御部10は、この履歴データ更新(ステップ4)において、新たに保存した学習元データ101と同一の学習元データ(入力コマンドのグループが同じで、かつ教師信号が同じ場合)が履歴データ423に存在するか否かを判断し、存在する場合には当該学習データを削除し、存在しない場合には最も古い学習元データを削除する。
なお、上述したように学習元データを別途保存する場合には、同一の学習元データを履歴データ423から削除し、別途保存するファイル等に保存しておく。また、履歴データ423にフラグ欄を設ける場合には、新たに保存した学習元データのフラグを「0」とし、同一の学習元データのフラグを「1」に変更する。
なお、上述したように学習元データを別途保存する場合には、同一の学習元データを履歴データ423から削除し、別途保存するファイル等に保存しておく。また、履歴データ423にフラグ欄を設ける場合には、新たに保存した学習元データのフラグを「0」とし、同一の学習元データのフラグを「1」に変更する。
次に制御部10は、予測コマンドが選択されたか否かを判断する(ステップ5)。すなわち、制御部10は、ユーザが新たに選択したコマンドが、ステップ2において予測コマンド欄317(図4参照)に表示した予測コマンドq個のうちの何れかであるか否かを判断する。
選択されたコマンドが予測コマンドでない場合(ステップ5;N)、制御部10は、ニューラルネットワークにより予測コマンドの予測精度を上げるため、後述する学習処理を行う(ステップ6)。
一方、選択されたコマンドが予測コマンドのいずれかである場合(ステップ5;Y)、又は、ステップ6の学習処理の後、制御部10は、処理を終了するか判断する(ステップ7)。すなわち、制御部10は、実行中のCADソフトの終了要求や、作成中のCADデータの保存要求があったか否かにより判断する。
終了要求や保存要求がなければ(ステップ7;N)、制御部10は、ステップ1に戻り、次のコマンド予測処理を行う。
一方、CADプログラムの終了要求又はCADデータの保存要求がされると処理終了と判断し(ステップ7;Y)、制御部10は、終了処理を行う(ステップ8)。すなわち、制御部10は、RAM13に展開していたCADデータ421、結合荷重データ422、履歴データ423に、記憶部40のファイル部42に保存されている該当ファイルを更新して、処理を終了する。結合荷重データ422、履歴データ423については、所定作業フォルダも更新する。
選択されたコマンドが予測コマンドでない場合(ステップ5;N)、制御部10は、ニューラルネットワークにより予測コマンドの予測精度を上げるため、後述する学習処理を行う(ステップ6)。
一方、選択されたコマンドが予測コマンドのいずれかである場合(ステップ5;Y)、又は、ステップ6の学習処理の後、制御部10は、処理を終了するか判断する(ステップ7)。すなわち、制御部10は、実行中のCADソフトの終了要求や、作成中のCADデータの保存要求があったか否かにより判断する。
終了要求や保存要求がなければ(ステップ7;N)、制御部10は、ステップ1に戻り、次のコマンド予測処理を行う。
一方、CADプログラムの終了要求又はCADデータの保存要求がされると処理終了と判断し(ステップ7;Y)、制御部10は、終了処理を行う(ステップ8)。すなわち、制御部10は、RAM13に展開していたCADデータ421、結合荷重データ422、履歴データ423に、記憶部40のファイル部42に保存されている該当ファイルを更新して、処理を終了する。結合荷重データ422、履歴データ423については、所定作業フォルダも更新する。
図10は、ニューラルネットワークに対する学習処理の内容を表したフローチャートである。
制御部10は、最初に学習データを作成する(ステップ51)。この学習データは、ニューラルネットワークの学習に使用する入力信号(入力値)と教師信号を、履歴データ423から作成する。
図11は、図6に示した履歴データ423に基づいて作成した学習データを表したものである。以下、図6、図11を参照して400個の学習元データから学習データを作成する方法について説明する。
制御部10は、最初に学習データを作成する(ステップ51)。この学習データは、ニューラルネットワークの学習に使用する入力信号(入力値)と教師信号を、履歴データ423から作成する。
図11は、図6に示した履歴データ423に基づいて作成した学習データを表したものである。以下、図6、図11を参照して400個の学習元データから学習データを作成する方法について説明する。
制御部10は、最新の学習元データ101の入力コマンド、図6の例では入力コマンドCBAを読み取り、学習データ1の入力コマンドとする。この入力コマンドCBAと同一グループの入力コマンドの学習元データを抽出し、その教師信号を履歴番号順に並べる。図6の例では、枠の右側にグループ(G1)と記載された履歴番号101、100、95、93、80、…の学習元データを抽出し、履歴番号順に並べた教師信号がG、C、E、B、A、…である。なお、学習元データ94、86は削除されているので抽出対象ではない。
そして、履歴番号が大きい(履歴が新しい)、所定数(本実施形態の場合5個)を、学習データ1の教師信号とする。図6の例では、履歴が新しい順に教師信号GCEBAが学習データの教師信号となる。
そして、履歴番号が大きい(履歴が新しい)、所定数(本実施形態の場合5個)を、学習データ1の教師信号とする。図6の例では、履歴が新しい順に教師信号GCEBAが学習データの教師信号となる。
以上により学習データ1は、教師信号がGCEBA、入力コマンドがCBAとなる。次に、制御部10は、各教師信号と入力コマンドに対する入力値を決定する。入力コマンドは1コマンド当たりの入力値が「1」である。学習データ1の入力コマンドの場合、入力コマンドの後のカッコ内に入力信号の入力値を示すと、入力コマンドC(1)、B(1)、A(1)である。なお、1コマンド当たり「1」なので、入力コマンドがABAあれば、Aの入力値が「2」、Bの入力値が「1」である。
一方、学習データ1の、教師信号の値は、履歴番号が新しい順に1、0.9、0.8、0.7、0.6、となる。これは、本実施形態の場合(教師信号の数が5個)である。教師信号の数が5個の場合を含め、5以外である場合に、より細かく分け、またより粗く分けるようにしてもよい。
以上の操作を、入力コマンドが異なる学習元データ毎に行うことで、学習データ2、3、…を作成する。
図11は、図6に基づいて作成した学習データ1、2、…と各入力信号と、教師信号の値を表したものである。
図11における各学習データに付した番号は、図6に示した入力コマンドのグループ番号と一致させている。
なお、教師信号と異なり、入力コマンドは組合せに意義があり順番は関係ないので、図11ではABC順に並べてある。
以上の操作を、入力コマンドが異なる学習元データ毎に行うことで、学習データ2、3、…を作成する。
図11は、図6に基づいて作成した学習データ1、2、…と各入力信号と、教師信号の値を表したものである。
図11における各学習データに付した番号は、図6に示した入力コマンドのグループ番号と一致させている。
なお、教師信号と異なり、入力コマンドは組合せに意義があり順番は関係ないので、図11ではABC順に並べてある。
学習データの作成が完了すると、制御部10は、作成した各学習データ1、2、…を使用して、ニューラルネットワークの学習を行う(ステップ52)。すなわち、制御部10は、バックプロパゲーション(誤差逆伝播学習アルゴリズム)により、各学習データ1、2、…を使用して、各入力素子Iと各中間素子M間の結合荷重w11〜w1pn、及び、各中間素子Mと各出力素子O間の結合荷重W11〜Wnpを算出する。
バックプロパゲーションによる学習は、1つの学習データに対して最大20回を限度として、各出力値が各教師信号と一致する結合荷重が得られるまで繰り返す。但し、20回目の学習が終了しても各出力値が各教師信号と一致しない場合、もっとも教師信号に近い出力値となる、結合荷重w、Wを採用するようにしている。
なお、1学習データに対する学習回数の最大数は例示であり、制御部10の処理能力や全コマンド数に応じて他の回数とするようにしてもよい。
バックプロパゲーションによる学習は、1つの学習データに対して最大20回を限度として、各出力値が各教師信号と一致する結合荷重が得られるまで繰り返す。但し、20回目の学習が終了しても各出力値が各教師信号と一致しない場合、もっとも教師信号に近い出力値となる、結合荷重w、Wを採用するようにしている。
なお、1学習データに対する学習回数の最大数は例示であり、制御部10の処理能力や全コマンド数に応じて他の回数とするようにしてもよい。
制御部10は、ステップ52の学習により新たな結合荷重w11〜wpn、W11〜Wnpを算出すると、当該結合荷重により、RAM13の結合荷重データ422を更新し(ステップ53)、メインルーチンにリターンする。
本実施形態では、図11に示すように、1学習データに対する教師信号を1つとするのではなく複数の教師信号を採用している。
この複数の教師信号は、同一の入力コマンドに対し、過去にユーザが選択したコマンドを新しい順に所定数だけ抽出し、1学習データに対する教師信号としている。
このように、1学習データに対して、複数の教師信号を使用することで、当該入力コマンドによるコマンド予測処理を行った場合の、各教師信号に対応する出力素子Oの出力値が大きくなるように、ニューラルネットワークの学習を行うことができる。
この複数の教師信号は、同一の入力コマンドに対し、過去にユーザが選択したコマンドを新しい順に所定数だけ抽出し、1学習データに対する教師信号としている。
このように、1学習データに対して、複数の教師信号を使用することで、当該入力コマンドによるコマンド予測処理を行った場合の、各教師信号に対応する出力素子Oの出力値が大きくなるように、ニューラルネットワークの学習を行うことができる。
また、本実施形態の学習データは、複数の教師信号に対する値を同じにするのではなく、最も新しく選択されたコマンド(教師信号)の値を最大値「1」とし、他は、新しく選択されたコマンド(教師信号)から順番に古くなるほど小さな値にしている。
このように1学習データにおける複数の教師信号の値に差を設けることで、同一の入力データに対し、より最新に選択されたコマンドほど出力値が大きくなるように学習することが可能になる。
このように1学習データにおける複数の教師信号の値に差を設けることで、同一の入力データに対し、より最新に選択されたコマンドほど出力値が大きくなるように学習することが可能になる。
以上説明した実施形態では、予測コマンドが選択されなかった場合に(ステップ5;N)、ステップ6の学習処理を行い、何れかの予測コマンドが選択された場合には学習を行わないようにしている。これにより、過学習による処理の負担増を抑えることができる。
但し、予測コマンドのうち、出力値が最も大きかった予測コマンド(予測コマンド欄317の一番左側に表示されたコマンド)が選択された場合に学習を行わず、それ以外のコマンドが選択された場合に学習するようにしてもよい。これにより、制御部10の学習量は増加するが、よりニューラルネットワークによる予測精度を上げることができる。
但し、予測コマンドのうち、出力値が最も大きかった予測コマンド(予測コマンド欄317の一番左側に表示されたコマンド)が選択された場合に学習を行わず、それ以外のコマンドが選択された場合に学習するようにしてもよい。これにより、制御部10の学習量は増加するが、よりニューラルネットワークによる予測精度を上げることができる。
なお、本実施形態については、ニューラルネットワークによる予測コマンドの決定に関して次のように構成することも可能である。
(1)構成1
所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援装置であって、各コマンドを同類コマンドに分類した同類コマンドデータと、ユーザが選択したコマンドの履歴データを保存する履歴保存手段と、前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得手段と、前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定手段と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示手段と、を備え、前記候補コマンド決定手段は、候補コマンドがq個未満である場合、前記取得した入力コマンドの1つを、当該コマンドと同類コマンドに分類されている他のコマンドに変更して追加の候補コマンドを決定する、ことを特徴とする入力支援装置。
(2)構成2
前記履歴保存手段は、ユーザが選択した選択コマンドを教師信号とし、当該教師信号と、当該選択直前に前記入力コマンド取得手段が取得したs個の入力コマンドとの組みからなる学習元データを順次保存する、ことを特徴とする構成1に記載の入力支援装置。
(3)構成3
前記履歴保存手段は、所定数の学習元データを保存対象とし、新たな学習元データを保存する際に、過去に保存された同一の学習元データを削除する、ことを特徴とする構成2に記載の入力支援装置。
(4)構成4
前記入力コマンド取得手段は、前記履歴保存手段に保存された履歴データに基づいて、ユーザの選択が新しい順にs個の入力コマンドを取得する、ことを特徴とする構成1、構成2、又は、構成3に記載の入力支援装置。
(5)構成5
前記候補コマンド決定手段は、追加の候補コマンドを決定する場合、前記取得したs個の入力コマンドのうち、最新の入力コマンドを他のコマンドに変更する、ことを特徴とする構成4に記載の入力支援装置。
(6)構成6
各コマンドを同類コマンドに分類した同類コマンドデータを記憶したコンピュータに、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択した複数の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援を実行させる入力支援プログラムであって、ユーザが選択したコマンドの履歴データを保存する履歴保存機能と、前記履歴データからs個の入力コマンドを取得する入力コマンド取得機能と、前記取得したs個の入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定機能と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示機能と、を備え、前記候補コマンド決定機能は、候補コマンドがq個未満である場合、前記取得したs個の入力コマンドの1つを、当該コマンドと同類コマンドに分類されている他のコマンドに変更して追加の候補コマンドを決定する、ことを特徴とする入力支援プログラム。
(1)構成1
所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援装置であって、各コマンドを同類コマンドに分類した同類コマンドデータと、ユーザが選択したコマンドの履歴データを保存する履歴保存手段と、前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得手段と、前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定手段と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示手段と、を備え、前記候補コマンド決定手段は、候補コマンドがq個未満である場合、前記取得した入力コマンドの1つを、当該コマンドと同類コマンドに分類されている他のコマンドに変更して追加の候補コマンドを決定する、ことを特徴とする入力支援装置。
(2)構成2
前記履歴保存手段は、ユーザが選択した選択コマンドを教師信号とし、当該教師信号と、当該選択直前に前記入力コマンド取得手段が取得したs個の入力コマンドとの組みからなる学習元データを順次保存する、ことを特徴とする構成1に記載の入力支援装置。
(3)構成3
前記履歴保存手段は、所定数の学習元データを保存対象とし、新たな学習元データを保存する際に、過去に保存された同一の学習元データを削除する、ことを特徴とする構成2に記載の入力支援装置。
(4)構成4
前記入力コマンド取得手段は、前記履歴保存手段に保存された履歴データに基づいて、ユーザの選択が新しい順にs個の入力コマンドを取得する、ことを特徴とする構成1、構成2、又は、構成3に記載の入力支援装置。
(5)構成5
前記候補コマンド決定手段は、追加の候補コマンドを決定する場合、前記取得したs個の入力コマンドのうち、最新の入力コマンドを他のコマンドに変更する、ことを特徴とする構成4に記載の入力支援装置。
(6)構成6
各コマンドを同類コマンドに分類した同類コマンドデータを記憶したコンピュータに、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択した複数の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援を実行させる入力支援プログラムであって、ユーザが選択したコマンドの履歴データを保存する履歴保存機能と、前記履歴データからs個の入力コマンドを取得する入力コマンド取得機能と、前記取得したs個の入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定機能と、前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示機能と、を備え、前記候補コマンド決定機能は、候補コマンドがq個未満である場合、前記取得したs個の入力コマンドの1つを、当該コマンドと同類コマンドに分類されている他のコマンドに変更して追加の候補コマンドを決定する、ことを特徴とする入力支援プログラム。
以上の構成によれば、取得したs個の入力コマンドを入力素子に対する入力として各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定し、候補コマンドがq個未満である場合、取得したs個の入力コマンドの1つを、当該コマンドと同類コマンドに分類されている他のコマンドに変更して追加の候補コマンドを決定するので、操作負担を増加させることなく、より適切なコマンドをユーザに提示することができる。
I1〜In 入力素子
M1〜Mp 中間素子
O1〜On 出力素子
1 入力支援装置
10 制御部
11 CPU
12 ROM
13 RAM
20 入力部
30 出力部
40 記憶部
41 プログラム部
42 ファイル部
421 CADデータ
422 結合荷重データ
423 履歴データ
43 同類コマンドデータ
50 通信部
M1〜Mp 中間素子
O1〜On 出力素子
1 入力支援装置
10 制御部
11 CPU
12 ROM
13 RAM
20 入力部
30 出力部
40 記憶部
41 プログラム部
42 ファイル部
421 CADデータ
422 結合荷重データ
423 履歴データ
43 同類コマンドデータ
50 通信部
Claims (5)
- 所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援装置であって、
ユーザが選択した前記選択コマンドの履歴データを保存する履歴保存手段と、
前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得手段と、
前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定手段と、
前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示手段と、
前記取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを、前記履歴データから作成する学習データ作成手段と、
前記作成した学習データにより、前記ニューラルネットワークの学習を行う学習手段と、
を具備したことを特徴とする入力支援装置。 - 前記学習手段は、前記複数の教師信号の値として、各教師信号に対応する選択コマンドの履歴が新しいほど大きな値とする、
ことを特徴とする請求項1に記載の入力支援装置。 - 前記履歴保存手段は、ユーザが選択した当該選択コマンドを教師信号とし、当該教師信号と、当該選択コマンドが選択される直前に前記入力コマンド取得手段が取得した入力コマンドとの組みからなる学習元データを順次履歴データとして保存し、
前記学習データ作成手段は、入力コマンド毎に、当該入力コマンドが同じである学習元データから取得した各教師信号により学習データを作成する、
ことを特徴とする請求項1又は2に記載の入力支援装置。 - 前記履歴保存手段は、所定数の学習元データを保存対象とし、新たな学習元データを保存する際に、過去に保存された同一の学習元データを削除する、
ことを特徴とする請求項3に記載の入力支援装置。 - コンピュータに、所定のコマンド数nに対応したn個の入力素子を有する入力層と、p個の中間素子を有する中間層と、n個の出力素子を有する出力層を有するニューラルネットワークを使用し、ユーザが選択したs個の選択コマンドを入力コマンドとして次に選択するコマンドを予測して提示する入力支援を実行させる入力支援プログラムであって、
ユーザが選択した前記選択コマンドの履歴データを保存する履歴保存機能と、
前記履歴データからs個の選択コマンドを入力コマンドとして取得する入力コマンド取得機能と、
前記取得した入力コマンドを入力素子に対する入力として前記各出力素子の出力値を算出し、算出した各出力素子の出力値が閾値Thを超える出力素子に対応するコマンドを候補コマンドとする候補コマンドを決定する候補コマンド決定機能と、
前記決定した候補コマンドのうち出力値が高いq個の候補コマンドを予測コマンドとして画面表示する予測コマンド表示機能と、
前記取得した入力コマンドを入力信号とし、当該入力コマンドに対応して選択された複数の選択コマンドを教師信号とする学習データを、前記履歴データから作成する学習データ作成機能と、
前記作成した学習データにより、前記ニューラルネットワークの学習を行う学習機能と、
を前記コンピュータに実現させることを特徴とする入力支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016150700A JP2018018459A (ja) | 2016-07-29 | 2016-07-29 | 入力支援装置、及び入力支援プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016150700A JP2018018459A (ja) | 2016-07-29 | 2016-07-29 | 入力支援装置、及び入力支援プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018018459A true JP2018018459A (ja) | 2018-02-01 |
Family
ID=61076261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016150700A Pending JP2018018459A (ja) | 2016-07-29 | 2016-07-29 | 入力支援装置、及び入力支援プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018018459A (ja) |
-
2016
- 2016-07-29 JP JP2016150700A patent/JP2018018459A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681960B2 (en) | Extracting and surfacing user work attributes from data sources | |
CN107430515B (zh) | 开发环境中的可定制类型的可视化框架 | |
JP5238937B2 (ja) | セグメンテーション定義の作成 | |
JP4820382B2 (ja) | ノードリンクダイアグラムに構造認識を提供する方法 | |
US7831929B2 (en) | Method, system, and program product for controlling a display on a data editing screen | |
CN107438814A (zh) | 移动设备上的实体动作建议 | |
CN102141876A (zh) | 链接和管理数学对象 | |
JP2009277193A (ja) | コンテンツ管理装置、コンテンツ管理方法、プログラム及び記録媒体 | |
US10552029B2 (en) | Pinable and actionable navigation breadcrumbs | |
JP4526940B2 (ja) | 情報処理装置 | |
US10430065B2 (en) | Pinable and actionable navigation breadcrumbs | |
JP2021060801A (ja) | 情報処理システム、情報処理装置、方法及びプログラム | |
CN101601050B (zh) | 对字进行预览和选择的系统及方法 | |
JP2018018458A (ja) | 入力支援装置、及び入力支援プログラム | |
JPWO2004031956A1 (ja) | 関連情報管理方法、プログラム及び装置 | |
JP2018018459A (ja) | 入力支援装置、及び入力支援プログラム | |
JP2002116857A (ja) | メニュー表示装置、メニュー表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2004185346A (ja) | プロジェクト作業支援方法およびシステム | |
JP3198941B2 (ja) | 情報処理装置及び記録媒体 | |
JP4221007B2 (ja) | データ表示処理システム | |
WO2024192613A1 (zh) | 页面生成方法、页面模板的生成方法、以及装置 | |
JP7452553B2 (ja) | 入力表示システム、補助情報表示方法、及びプログラム | |
JP6670076B2 (ja) | 電子カルテ装置および電子カルテ制御方法 | |
WO2016176379A1 (en) | Extracting and surfacing user work attributes from data sources | |
JP2005327023A (ja) | ヒット数予想を利用した全文検索の検索方式 |