IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特許7556355情報処理装置、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、情報処理方法及びプログラム 図12
  • 特許-情報処理装置、情報処理方法及びプログラム 図13
  • 特許-情報処理装置、情報処理方法及びプログラム 図14
  • 特許-情報処理装置、情報処理方法及びプログラム 図15
  • 特許-情報処理装置、情報処理方法及びプログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-17
(45)【発行日】2024-09-26
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/0481 20220101AFI20240918BHJP
【FI】
G06F3/0481
【請求項の数】 14
(21)【出願番号】P 2021537598
(86)(22)【出願日】2020-06-02
(86)【国際出願番号】 JP2020021749
(87)【国際公開番号】W WO2021024594
(87)【国際公開日】2021-02-11
【審査請求日】2023-04-17
(31)【優先権主張番号】P 2019144169
(32)【優先日】2019-08-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100082762
【弁理士】
【氏名又は名称】杉浦 正知
(74)【代理人】
【識別番号】100123973
【弁理士】
【氏名又は名称】杉浦 拓真
(72)【発明者】
【氏名】北澤 雄司
(72)【発明者】
【氏名】澁谷 直樹
【審査官】滝谷 亮一
(56)【参考文献】
【文献】特開2015-064715(JP,A)
【文献】特開2015-041317(JP,A)
【文献】特開2006-338233(JP,A)
【文献】特開2004-152276(JP,A)
【文献】特開平08-036548(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0481
(57)【特許請求の範囲】
【請求項1】
アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、前記正常操作の候補を推定する推定処理を行う制御部を有し、
前記制御部は、前記判別処理で、前記アプリケーションでのユーザ操作が正常操作でないと判定した場合に、前記推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
前記操作支援情報は、前記正常操作の候補を含む
情報処理装置。
【請求項2】
前記操作支援情報は、前記アプリケーションでの操作にユーザが困惑している場合における次操作の候補を含
請求項1に記載の情報処理装置。
【請求項3】
前記操作支援情報は、前記判別処理で、前記正常操作ではないと判定された場合にユーザに提示されるアラートを含む
請求項に記載の情報処理装置。
【請求項4】
前記制御部は、前記アプリケーションでのユーザの操作習熟度を判定する
請求項1に記載の情報処理装置。
【請求項5】
前記制御部は、前記操作習熟度の判定結果に応じて前記操作支援情報の提示形態を変更する
請求項に記載の情報処理装置。
【請求項6】
前記機械学習が、生成過程の異なる複数種類の学習データを複数用いて行われ、
前記操作習熟度の判定結果に応じて前記機械学習に用いる学習データの種類の割合が変更される
請求項に記載の情報処理装置。
【請求項7】
前記学習データは、アプリケーション作成者側が用意したリファレンスデータに基づく第1の学習データ、多数のユーザの実利用ログデータに基づく第2の学習データ、及び、自身の操作履歴データに基づく第3の学習データの3種類を有し、前記操作習熟度が所定より低いと判定された場合には、前記第1の学習データ及び前記第2の学習データが用いられ、前記操作習熟度が所定より高いと判定された場合には、前記第1の学習データ、前記第2の学習データ、及び、前記第3の学習データが用いられて機械学習が行われる
請求項に記載の情報処理装置。
【請求項8】
前記操作習熟度が所定より高いと判定された場合に、前記操作習熟度の高さに応じて前記第3の学習データの割合が、前記第1の学習データ及び前記第2の学習データの少なくともいずれか一方が含まれる上限値の範囲内で多くされる
請求項に記載の情報処理装置。
【請求項9】
前記ユーザの操作習熟度は、操作内容に基づいて決定される
請求項に記載の情報処理装置。
【請求項10】
前記操作内容は、操作を行ってから次の操作を行うまでの平均時間、異常操作の頻度、ショートカットキーの利用頻度及び累積のアプリケーションの利用時間の4要素のうちの2要素以上を含む
請求項に記載の情報処理装置。
【請求項11】
前記制御部は、前記機械学習を前記ユーザ操作後の所定のタイミングで行う
請求項1に記載の情報処理装置。
【請求項12】
前記操作支援情報が、出力部を介してユーザに提示される
請求項1に記載の情報処理装置。
【請求項13】
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、前記正常操作の候補を推定する推定処理を行い、前記判別処理で、前記アプリケーションでのユーザ操作が正常操作でないと判定した場合に、前記推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
前記操作支援情報は、前記正常操作の候補を含む
情報処理方法。
【請求項14】
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、前記正常操作の候補を推定する推定処理を行い、前記判別処理で、前記アプリケーションでのユーザ操作が正常操作でないと判定した場合に、前記推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
前記操作支援情報は、前記正常操作の候補を含む
情報処理方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、種々の分野においてユーザ操作を支援する技術が提案されている。例えば、下記の特許文献1には、電子機器の操作について、所定の機能を実行させようとしてユーザが誤操作を行った場合でも、ユーザが本来実行したかった機能を推定して操作支援を行う技術について開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特願2007-555364号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、アプリケーション(例えば、業務用のPCアプリケーション)でのユーザ操作を支援する技術については、アプリケーションの初回起動時に使い方ガイドを表示するものが知られている程度である。このようなガイドは、一般的には初回しか表示されず、またガイドのパターンも固定的なものである為、ユーザの操作性を向上させることができない。
【0005】
そこで、例えば、ユーザが操作を間違った際に、操作支援情報をユーザに提示することも考えられる。しかしながら、この場合でも、例えば、同じ間違いをした際には、いつも決まった操作支援情報が提示されることになる為、ユーザの操作性を向上させることは難しい。すなわち、操作支援情報をユーザに提示する技術を個人毎に最適化することができない。
【0006】
したがって、本開示の目的の一つは、アプリケーションでのユーザの操作性を飛躍的に向上させることができる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
本開示は、
アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、正常操作の候補を推定する推定処理を行う制御部を有し、
制御部は、判別処理で、アプリケーションでのユーザ操作が正常操作でないと判定した場合に、推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
操作支援情報は、正常操作の候補を含む
情報処理装置である。
【0008】
また、本開示は、
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、前記正常操作の候補を推定する推定処理を行い、前記判別処理で、前記アプリケーションでのユーザ操作が正常操作でないと判定した場合に、前記推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
前記操作支援情報は、前記正常操作の候補を含む
情報処理方法である。
【0009】
また、本開示は、
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いて、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理、及び、前記正常操作の候補を推定する推定処理を行い、前記判別処理で、前記アプリケーションでのユーザ操作が正常操作でないと判定した場合に、前記推定処理を行うことで、ユーザに提示する操作支援用の操作支援情報を決定し、
前記操作支援情報は、前記正常操作の候補を含む
情報処理方法をコンピュータに実行させるプログラムである。
【図面の簡単な説明】
【0010】
図1図1は、第1実施形態に係る操作支援システムの構成例を示す図である。
図2図2は、第1実施形態に係るアプリケーション実行装置の構成例を示すブロック図である。
図3図3は、アプリケーションで用いられるUIの構成例を示す図である。
図4図4は、機械学習に用いる学習データの構成例について説明する為の説明図である。
図5図5は、機械学習の学習例及び利用例について説明する為の説明図である。
図6図6は、第1実施形態に係る操作支援処理の流れの一例を示すフローチャートである。
図7図7は、操作支援情報の提示例を示す図である。
図8図8は、操作支援情報の提示例を示す図である。
図9図9は、第2実施形態に係る正常操作候補の提示処理の流れの一例を示すフローチャートである。
図10図10は、第3実施形態に係る学習処理の流れの一例を示すフローチャートである。
図11図11は、第4実施形態に係るアプリケーション実行装置の構成例を示すブロック図である。
図12図12は、第4実施形態に係る操作支援処理の流れの一例を示すフローチャートである。
図13図13は、第5実施形態に係るアプリケーション実行装置の構成例を示すブロック図である。
図14図14は、第5実施形態に係る操作支援処理の流れの一例を示すフローチャートである。
図15図15は、変形例に係るアプリケーション実行装置の構成例を示すブロック図である。
図16図16は、変形例に係るサーバ装置及びアプリケーション実行装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、本開示の実施形態について図面を参照しながら説明する。説明は、以下の順序で行う。
<1.第1実施形態>
<2.第2実施形態>
<3.第3実施形態>
<4.第4実施形態>
<5.第5実施形態>
<6.変形例>
なお、以下に説明する実施形態等は本開示の好適な具体例であり、本開示の内容がこれらの実施形態等に限定されるものではない。
【0012】
<1.第1実施形態>
「全体システムの概略構成」
図1は、本開示の第1実施形態に係る操作支援システムの構成例を示す図である。図1に示す操作支援システム1は、アプリケーションでのユーザ操作を支援する為のものである。この操作支援システム1は、複数台のアプリケーション実行装置2と、各アプリケーション実行装置2とネットワーク接続(例えば、インターネットを介した接続)されているサーバ装置10とを有している。具体的には、各アプリケーション実行装置2及びサーバ装置10は、ともにパーソナルコンピュータ(PC)で構成されている。なお、これらはPCに限らず、業務用の専用機器、携帯端末等の情報処理装置で構成されていてもよい。また、各アプリケーション実行装置2及びサーバ装置10間のネットワーク接続の形態は有線、無線等を問わない。このような構成を有することにより、操作支援システム1においては、各アプリケーション実行装置2とサーバ装置10との間においてデータの送受信が可能となっている。
【0013】
情報処理装置の一例であるアプリケーション実行装置2は、アプリケーション(後述)を実行可能なものであり、そのアプリケーションでのユーザ操作を支援可能に構成されている。
【0014】
サーバ装置10は、後述するアプリケーション実行装置2での処理において必要なデータをアプリケーション実行装置2に提供する為のものである。
【0015】
「アプリケーション実行装置2の構成」
図2は、第1実施形態に係るアプリケーション実行装置2の構成例を示すブロック図である。アプリケーション実行装置2は、通信装置3、制御部に対応する制御装置4、記憶装置5、入力装置6及び出力装置7を有している。なお、これらのアプリケーション実行装置2の構成要素は、図示するように、各々が別個に構成されていることに限らず、全部又は一部が一体的に構成されていてもよい。また、各構成要素間の接続は、有線、無線等を問わず、ネットワークを介したものであってもよい。
【0016】
通信装置3は、図1に示すサーバ装置10とネットワーク接続する為の装置である。アプリケーション実行装置2は、この通信装置3によりサーバ装置10との間でネットワークを介して各種データの送受信を可能に構成されている。
【0017】
制御装置4は、記憶装置5等に記憶されている各種プログラムに従って演算及び制御等を行い、アプリケーション実行装置2での各処理を行うものである。例えば、制御装置4は、CPU(Central Processing Unit:中央処理装置)で構成される。具体的には、制御装置4は、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いた処理を行い、処理の結果に応じてユーザに提示する操作支援用の操作支援情報を決定する。そして、制御装置4は、決定した操作支援情報を用いて、アプリケーションの処理及びそのアプリケーションにおけるユーザ操作を支援する為の操作支援処理を行う。
【0018】
記憶装置5は、各種コンピュータプログラム及び各種コンピュータプログラムによる処理に必要なデータ等を記憶するものである。例えば、記憶装置5は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等で構成される。具体的には、記憶装置5は、アプリケーション、操作支援処理用のコンピュータプログラム及びこれらの各処理において必要なデータ等を記憶する。なお、理解を容易とする為、ここでは操作支援処理用のコンピュータプログラムは、アプリケーションとは別個のものであるとして説明するが、アプリケーションに組み込まれていてもよいし、アプリケーションに後から組み込み可能なものであってもよい。
【0019】
また、このアプリケーション及び操作支援処理用のコンピュータプログラムは、コンピュータで読み取り可能な記録媒体に格納していたものを、アプリケーション実行装置2が読み取って実行する構成であってもよい。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されるものを用いてもよい。
【0020】
入力装置6は、アプリケーションでのユーザ操作の際にユーザが使用する為のものである。例えば、入力装置6は、マウス、キーボード等の少なくとも1つ以上の操作用機器で構成される。
【0021】
出力部に対応する出力装置7は、ユーザにアプリケーションでの処理における各種情報を提供するとともに、操作支援処理におけるユーザ操作を支援するための操作支援情報を提示する為のものである。具体的には、出力装置7は、スピーカとディスプレイとを有している。なお、出力装置7の構成は、これに限らず、1つ以上の出力機器で構成されていればよく、他の機器を用いたものであってもよいし、他の出力機器の組み合わせであってもよい。また、アプリケーションでの各種情報を提供するものと操作支援処理における操作支援情報を提示するものとで別個の出力機器を用いてもよい。
【0022】
「アプリケーションの説明」
ここで、アプリケーション実行装置2で実行されるアプリケーションについて説明する。アプリケーション実行装置2で実行されるアプリケーション、具体的には、前述した記憶装置5に記憶されているアプリケーション(ツールソフトウェア)は、例えば、業務用のPCアプリケーションである。このアプリケーションは、入力された情報に対してユーザ操作に応じた処理を施して出力するものである。アプリケーションの種類、用途等については、特定のものに限定されるわけではなく、種々のものに適用することができる。このアプリケーションは、ユーザ操作、具体的には、アプリケーションへの入力装置6を用いたユーザ操作を受け付けるユーザ操作用のユーザインタフェース(UI)を利用するものである。
【0023】
図3は、アプリケーションで用いられるUIの構成例を示す図である。この図3に示す操作画面Sは、具体的には、前述した出力装置7を構成するディスプレイに表示されるものである。例えば、この図3に例示する操作画面Sは、取り込んだデータを編集する編集画面であり、データ編集用のアプリケーションで表示されるものである。図示するように、このアプリケーションは、操作画面Sに複数のUIコンポーネントを有しており、ユーザは、入力装置6を用いてUIコンポーネントを操作し、アプリケーションにその操作に対応した処理を実行させる。
【0024】
なお、アプリケーションにおけるユーザ操作は、UIが直感的に分かりやすく構成されていることが好ましい。現在においては、UIコンポーネントは、スマートフォン等で採用されるタッチパネルの普及等に伴い、タップ、スワイプ、ピンチイン・ピンチアウト等、操作性に優れたものが増えてきている。
【0025】
しかしながら、図3に示すように、アプリケーションの中にはこれらが登場する前から使われているような原始的なUIコンポーネント(具体的には、図3に示すようなボタンB、プルダウンメニューP、ラジオボタンR、チェックボックスC及びテキストボックスT等)を用いているものが多い。このようなアプリケーションでは、1つ1つのUIコンポーネントを、手順を追って操作していく必要があるが、直感的に操作方法がわかりにくく、特に業務用のアプリケーションの場合には、設定項目等の説明も殆どない場合が多い。その為、このようなUIは、新たに作業(アプリケーションでの操作)を行うユーザにとっては、操作に慣れるまでに時間がかかることがある。
【0026】
その場合、アプリケーションが持つ機能はそのままで、UIのみをわかりやすく刷新するのが1つの解決方法であるが、UIの再構築にはそれなりの手間及び工数がかかる。また、例えば、大人数のユーザがアプリケーションを使っている場合にUIを変えてしまうと、UIを変える前のアプリケーションに慣れてしまっているユーザに対して負担を強いる可能性もある。その為、UIをそのままにしつつ、慣れていないユーザの操作を支援できるとよい。
【0027】
そこで、図2に示すアプリケーション実行装置2は、制御装置4に前述した操作支援処理を実行させることによりアプリケーションでのユーザ操作の支援を行い、操作性の向上を図っている。詳述すると、制御装置4は、アプリケーションでのユーザ操作の際に、機械学習により学習済みの学習モデルを用いた処理を行い、その処理結果に応じてユーザに提示する操作支援用の操作支援情報を決定する。具体的には、制御装置4は、異常操作(間違いと思われる操作)に対してアラートを提示したり、その異常操作に代わる正常操作の候補(正しいと思われる次の操作の候補)を提示したりすることで、アプリケーションでのUI操作性の向上を図っている。
【0028】
「制御装置4の構成」
図2に示すように、制御装置4は、操作支援処理用のコンピュータプログラムの実行にともなって機能する機能ブロックとして、通信制御部41、操作履歴蓄積部42、操作取得部43、学習更新部44、異常操作判定部45、正常操作推定部46及び支援情報提示部47を有している。
【0029】
通信制御部41は、通信装置3を制御してサーバ装置10との間で操作支援処理に伴うデータの送受信を行う機能を有している。具体的には、通信制御部41は、サーバ装置10から機械学習用のデータ(後述する第1の学習データ及び第2の学習データ)を取得し、取得したデータを操作履歴蓄積部42に提供する。また、通信制御部41は、操作履歴蓄積部42から提供されるアプリケーションでのユーザ操作に関する操作データをサーバ装置10に送信する。この機械学習、学習データ及び操作データについては後で詳述する。
【0030】
操作履歴蓄積部42は、通信制御部41から提供された機械学習用のデータを記憶装置5に格納する機能を有している。また、操作履歴蓄積部42は、操作取得部43から操作データを取得し、取得した操作データを記憶装置5に蓄積する。具体的には、操作履歴蓄積部42は、各操作データの操作順を判別可能となるように操作データを記憶装置5に格納する。例えば、この機械学習用のデータ及び操作データは、データベース化されて記憶装置5に記憶される。
【0031】
さらに、操作履歴蓄積部42は、その操作取得部43から取得した操作データを通信制御部41に提供する機能を有している。なお、通信制御部41へは、操作順に纏められた複数の操作データ(操作履歴データ)をアプリケーション終了時や所定期間毎に提供してもよい。また、ユーザによりこの通信装置3を介したサーバ装置10への操作データの提供を行わない設定に切り替え可能な構成を有していてもよい。これにより、公開したくない操作手順を秘匿化することができる。
【0032】
また、操作履歴蓄積部42は、記憶装置5から機械学習に必要な操作データ(学習データ)を読み出し、読み出した操作データを学習更新部44に提供する機能を有している。
【0033】
操作取得部43は、入力装置6からアプリケーションにおいてのユーザ操作の生データを取得し、取得した生データを用いて操作データを生成し、生成した操作データを操作履歴蓄積部42及び異常操作判定部45に提供する機能を有している。
【0034】
学習更新部44は、操作履歴蓄積部42から提供される操作データを用いて機械学習を行う機能と、機械学習により学習された学習モデルを異常操作判定部45及び正常操作推定部46に提供する機能とを有している。具体的には、学習更新部44は、アプリケーションの終了時に機械学習を行う。なお、機械学習のタイミングは、これに限らず、ユーザ操作後の所定タイミング、例えば、1日1回等の所定期間毎に行ってもよい。
【0035】
異常操作判定部45は、前述した学習モデルを用いて、アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理を行う機能を有している。具体的には、異常操作判定部45は、操作取得部43から提供される操作データと、学習更新部44から提供される学習モデルとを用いて、入力装置6によるユーザ操作が行われた際に、その操作が正常操作であるか否かの判別を行い、判別結果に応じた処理を行う。例えば、異常操作判定部45は、操作取得部43から提供される操作データ及び直近の操作データ(例えば、読み出し可能なメモリに蓄積していたもの)を合わせたn回(例えば、10回)の操作の操作データと学習モデルとを用いて判別を行い、異常操作であると判別された場合には、支援情報提示部47にその旨を通知するとともに、正常操作推定部46に操作取得部43から提供された操作データを提供する機能を有している。ここで、n回の操作の操作データを用いるのは、正常操作であるか否かの判別を行う為に、ある程度の数(n回分)の操作履歴が必要となる為である。
【0036】
正常操作推定部46は、アプリケーションでのユーザ操作が正常操作でない場合における該ユーザ操作に代わる正常操作の候補を操作支援情報として決定する為のものであり、前述した学習モデルを用いて、その正常操作の候補を推定する推定処理を行う機能を有している。具体的には、正常操作推定部46は、異常操作判定部45にて異常操作であると判別された場合に、異常操作判定部45から提供される操作データ及び学習更新部44から提供される学習モデルを用いて正常操作の候補を推定し、その推定した正常操作の候補を表す正常操作情報を支援情報提示部47に提供する機能を有している。例えば、正常操作推定部46は、異常操作判定部45から提供される操作データ及び直近の操作データ(例えば、読み出し可能なメモリに蓄積していたもの)を合わせたn回の操作の操作データと学習モデルとを用いて正常操作の候補の推定を行う。
【0037】
支援情報提示部47は、操作支援情報を、出力装置7を用いてユーザに提示する機能を有している。具体的には、支援情報提示部47は異常操作判定部45から異常操作である旨の通知を受けた場合に、出力装置7からユーザに対するアラートを操作支援情報として出力させる。また、支援情報提示部47は、正常操作推定部46から提供された正常操作情報に基づく正常操作の候補を表す操作ガイドを操作支援情報として出力装置7から出力させる。
【0038】
「機械学習とその利用」
前述した機械学習は、例えば、異常検知の分野で用いられるオートエンコーダ(自己符号化器)によって実現することができる。具体的には、このオートエンコーダは、入力データのみを訓練データとする教師なし学習を行うものであり、正常データ(正常操作の操作データ)のみで学習後、正常データを入れると自分自身を復元できるという特徴を有している。以下、このオートエンコーダによる機械学習の一例について説明する。
【0039】
図4は、機械学習に用いる学習データの構成例について説明する為の説明図である。図示するように、学習データは、具体的には、n回の操作を行列状に表した構成を有している。行列データの各行は、アプリケーションで用いられるUIコンポーネントのIDと、操作の種類との組み合わせを表している。なお、行方向には、アプリケーションで用いられる組み合わせの全てが書き出されている。例えば、UIコンポーネントAx(A1~Ama)は、テキストボックスに関するものであり、UIコンポーネントBx(B1~Bmb)は、プルダウンメニューに関するものであり、UIコンポーネントCx(C1~Cmc)は、チェックボックスに関するものである。
【0040】
行列データにおける列方向のデータは、1回の操作の操作データであり、行列データにおける各列の並びは、操作順を表している。つまり、学習データは、時系列に配置された操作データ(操作履歴データ)で構成されている。具体的には、左から右に向かって操作順に操作データが並んだ構造を有している。操作データは、操作されたUIコンポーネントのID(A1、A2等)と、行った操作の種類(クリックした、入力した等)とのセットのデータである。つまり、図中の行列データにおける一番左の最初の列X1は、UIコンポーネント「A1をクリック」という操作を表している。その右の次の列X2は、その次に、UIコンポーネント「A1に入力」という操作を表している。
【0041】
図示するように、この機械学習では多数の学習データが用いられる。そして、本実施形態では、生成過程の異なる3種類の学習データが用意されている。第1の学習データは、アプリケーション作成者側が用意したアプリケーションの使い方に関するリファレンスデータに基づき生成されるものである。具体的には、この第1の学習データは、アプリケーション作成者側の習熟者が操作した際の操作履歴データであり、例えば、サーバ装置10が読み込み可能なサーバ用記憶装置(図示略)に予め記憶されているものである。第1の学習データを用いることで、例えば、操作マニュアル的な無駄なく効率の良い操作を学習させることができる。
【0042】
第2の学習データは、多数のユーザ、つまり世の中の人(例えば、習熟者)が実際に操作した実利用ログデータに基づき生成されるものである。具体的には、この第2の操作データは、ネットワークを介して各アプリケーション実行装置2からサーバ装置10に送信される操作データを用いてサーバ装置10によって生成されるものであり、例えば、サーバ用記憶装置(図示略)に記憶されているものである。第2の学習データを用いることで、例えば、他の大勢のユーザが操作している利便性の高い操作を学習させることができる。例えば、第1の学習データ及び第2の学習データは、ともに図2に示す通信制御部41及び操作履歴蓄積部42によってアプリケーション実行装置2の記憶装置5に格納され、学習時に操作履歴蓄積部42によって学習更新部44に提供される。例えば、この第1の学習データ及び第2の学習データは、サーバ装置10によって適宜更新され、更新されたものが記憶装置5に格納される。
【0043】
第3の学習データは、自分自身についてのデータ(自身の操作履歴データ)に基づき生成されるものである。具体的には、この第3の学習データは、単体でのアプリケーション実行装置2における入力装置6によるユーザ操作の操作データにより構成される操作履歴データに基づいて生成される。つまり、操作取得部43によって生成され、操作履歴蓄積部42によって記憶装置5に蓄積される操作データによって構成されるものである。第3の学習データを用いることで、例えば、個々のアプリケーション実行装置2における作業(例えば、特定の業務等)に合った操作を学習させることができる。なお、第3の学習データは、アプリケーション実行装置2毎のものであってもよいし、例えば、ユーザ認証等の機能を用いてユーザを識別し、ユーザ毎のものとしてもよい。このようにした場合には、ユーザ毎に適した操作を学習させることができる。例えば、第3の学習データは、学習時に操作履歴蓄積部42によって学習更新部44に提供される。
【0044】
第1の学習データ、第2の学習データ及び第3の学習データは、予め定められた所定の設定に従った割合で機械学習に用いられる。なお、この割合は、ユーザによって適宜設定可能に構成されていてもよいし、自動で変更されてもよい。これにより、例えば、他のユーザの使い方は参考にしたくない(具体的には、第2の学習データの割合を低く設定する)等、きめ細かくユーザの所望する操作を学習させることができる。また、第1の学習データ、第2の学習データ及び第3の学習データは、必ずしも3種類全てを学習に用いる必要はなく、いずれか1つ以上を用いて学習するものであってもよい。また、学習データは、この3種類に限らず、他の種類の学習データを用いてもよい。
【0045】
図5は、機械学習の学習例及び利用例について説明する為の説明図である。図中の左右の「入力」及び「出力」は、それぞれオートエンコーダの入力及び出力を表しており、「入力」、「出力」間は、オートエンコーダの処理(エンコーダによる圧縮処理及びデコーダによる復元処理)のイメージを表している。
【0046】
利用時には、入力と出力が同じ(略同じを含む)であるならば、正常操作であると見做す。例えば、前述した異常操作判定部45での判別処理においては、入力と出力が同じ(略同じを含む)であるなら正常操作であると見做す。つまり、学習済みのオートエンコーダの学習モデルに直近n回分の操作データ(前述した学習データと同様の構造の行列データ)を入力し、出力と入力とを比較して差分を抽出する。そして、その差分が所定の閾値よりも小さい場合に正常操作であると見做すことができる。具体的には、1回目から5回目の操作が1ウィンドウとして設定され、1ウィンドウの操作に対応する操作データが入力される。そして、出力と入力との比較の結果、1回目から5回目までの操作が正常操作であったと判別されたとする。次に、2回目から6回目の操作が次のウィンドウとして設定され、当該ウィンドウに対応する操作データが入力される。そして、出力と入力との比較の結果、異常操作と判別された場合には、6回目の操作が異常操作であったと判別することができる。
【0047】
また、例えば、前述した正常操作推定部46での推定処理においては、図示するように、入力データの最後列の列Xnのパラメータ(1の立て方)を変えていきながら入力と出力を繰り返す。そして、入力と出力が同じ(略同じを含む)であるパラメータがあった場合にそのパラメータ(1が立っているところ)が期待される次の正常操作の候補であると推定する。つまり、学習済みのオートエンコーダの学習モデルに最後列のパラメータを変えながら直近n回分の操作データを順次入力し、出力と入力とを比較して差分を抽出し、その差分が所定の閾値よりも小さいパラメータが示す操作が次の正常操作の候補であると推定する。正常操作の推定は、他の方法によって行われてもよい。例えば、間違いの傾向を含めた学習モデルを適用し、当該間違いに対応する正常操作と考えられる箇所から優先するように1を立てるようにしてもよい。
【0048】
学習時には、教師データとしてオートエンコーダに入力する操作データと同じ構造の行列データが与えられる。具体的には、前述した学習更新部44によって、オートエンコーダの出力が入力と同じとなるように前述した学習データを用いた学習が行われる。つまり、学習更新部44は、オートエンコーダの重み付け(エンコーダ及びデコーダの重み付け)をそのように調節して更新する。
【0049】
「第1実施形態での操作支援処理」
以下、アプリケーション実行装置2による操作支援処理について説明する。図6は、第1実施形態に係る操作支援処理の流れの一例を示すフローチャートである。この操作支援処理は、ユーザが異常操作、具体的には、正常操作(例えば、いつも通りの操作)と全く異なる操作を行った場合にアラートを出力するとともに、正常操作の候補に関する視覚的な操作ガイドを提示するものである。また、この操作支援処理は、前述した学習データを用いてアプリケーション終了時に学習を行うものである。
【0050】
この操作支援処理は、例えば、アプリケーション実行装置2においてアプリケーションが起動されることで実行される。なお、アプリケーションの起動に連動して実行されるものであってもよいし、アプリケーションの起動後に入力装置6等を用いたユーザ指示によって実行されるものであってもよい。
【0051】
この操作支援処理では、まず、操作取得部43によって、アプリケーションでのユーザ操作が受け付けられる(ステップS11)。具体的には、前述したように、アプリケーションにてユーザ操作が行われた場合に、操作取得部43がその生データを入力装置6から取得し、取得した生データを用いて操作データを生成する。この生成された操作データは、操作履歴蓄積部42及び異常操作判定部45に提供される。操作履歴蓄積部42は、この操作データを記憶装置5に蓄積するとともに通信制御部41に提供する。通信制御部41は、通信装置3を用いてこの操作データをサーバ装置10に提供する。サーバ装置10は、各アプリケーション実行装置2から提供される操作データを用いて前述した第2の学習データを生成する。
【0052】
次に、アプリケーションでのユーザ操作の回数がn回以上であるか否かについて判定される(ステップS12)。例えば、この判定は、異常操作判定部45によって行われる。ステップS12にて、ユーザ操作の回数がn回以上でない(NO)と判定された場合には、前述したステップS11に処理が戻される。
【0053】
ステップS12にて、ユーザ操作の回数がn回以上である(YES)と判定された場合には、異常操作判定部45によって、そのユーザ操作が正常操作であるか否かを判別する判別処理が行われる(ステップS13)。具体的には、異常操作判定部45は、前述したように、学習済みのオートエンコーダに直近n回分の操作データをかけて正常操作であるか否かを判別する。
【0054】
次に、異常操作判定部45によって、ステップS13の判別処理の結果、正常操作であると判別されたか否かについて判定される(ステップS14)。具体的には、異常操作判定部45は、前述したように、オートエンコーダの入力と出力とが同じ(略同じ(入力≒出力)を含む)であるか否かについて判定し、同じであると判定された場合に正常操作であると見做す。
【0055】
ステップS14にて正常操作である(YES)と判定された場合には、正常操作であると見做す処理(具体的には、何もしない)を行う(ステップS15)。ステップS14にて正常操作でない(NO)と判定された場合には、異常操作であるとして扱い、異常操作判定部45によって、アラートを操作支援情報とすることが決定され(第1の決定ステップ)、支援情報提示部47にその旨の通知が行われ、支援情報提示部47によって出力装置7からユーザに対して異常操作である旨のアラートが提示される(ステップS16)。
【0056】
さらに、異常操作判定部45によって、操作取得部43から提供された操作データが正常操作推定部46に提供され、正常操作推定部46によって、正常操作候補の推定処理が行われ、操作支援情報として正常操作の候補が決定される(ステップS17:第2の決定ステップ)。具体的には、正常操作推定部46は、前述したように、入力データ(操作履歴データ)の最後列(最後の操作)に関して、入力データ以外のパラメータを振ってオートエンコーダにかけることで正常操作の候補を見つけ、その見つけた正常操作の候補を表す正常操作情報を支援情報提示部47に提供する。
【0057】
次に、支援情報提示部47によって、正常操作候補の提示処理が行われる(ステップS18)。具体的には、支援情報提示部47は、出力装置7を制御して、正常操作推定部46から提供される正常操作情報を表す操作ガイドを出力装置7から出力し、ユーザに正常操作の候補を提示する。
【0058】
ステップS15及びステップS18での処理後、学習更新部44によって、ユーザがアプリケーションを終了したか否かについて判定される(ステップS19)。ステップS19にて、アプリケーションが終了していない(NO)と判定された場合には、ステップS11に処理が戻される。一方、ステップS19にて、アプリケーションが終了した(YES)と判定された場合には、学習更新部44により、学習データを用いた学習処理が行われる(ステップS20)。具体的には、前述したように、所定の設定の割合で第1の学習データ、第2の学習データ及び第3の学習データを用いて学習を行ってオートエンコーダの重み付けを更新する。そして、操作支援処理が終了する。
【0059】
図7及び図8は、操作支援情報の提示例を示す図である。図7に例示する操作画面Sにおいて、テキストボックスT1にデータを入力後、カーソル70をボタンB1に合わせてクリックしなければならないところ、その右下のボタンB2に合わせてクリックしてしまったとする。その場合、ボタンB2をクリックした際に異常操作のアラートをユーザに提示する。例えば、図示するように、間違って操作したUIコンポーネント(ボタンB2)部分に、「一般的な操作とは異なります」等の説明を吹き出し71を用いてディスプレイに表示する。また、その操作に代わる正常操作を表す操作ガイドをユーザに提示する。例えば、操作すべき候補(操作候補(1))のUIコンポーネント(ボタンB1)の枠を強調表示して、「こちらのボタンをクリック」等の説明を吹き出し72を用いてディスプレイに表示する。
【0060】
操作候補が複数存在する場合には、複数の操作候補をユーザに提示してもよい。例えば、図8に示すように、操作すべき別の候補(操作候補(2))のUIコンポーネント(チェックボックスC1)の枠を強調表示して、「こちらのチェックボックスをチェック」等の説明を吹き出し73を用いてディスプレイに表示するようにしてもよい。
【0061】
なお、このユーザへの操作支援情報の表示形態は、図7及び図8に示したものに限定されるものではない。例えば、ユーザへの提示は、強調表示や吹き出し表示以外であってもよく、また、アラートと操作候補の両方を表示せずに、どちらか一方のみを表示するようにしてもよい。さらに、ユーザへの提示として音声(聴覚的な提示)を含めてもよいし、音声のみで行ってもよい。
【0062】
このように、アプリケーション実行装置2では、アプリケーションでのユーザ操作の際に、そのユーザ操作が正常操作であるか否かについて判別され、正常操作でないと判別された場合にアラートがユーザに提示されるとともに、正常操作の候補がユーザに提示される。これにより、ユーザは、ユーザ操作が正常操作でない場合に、それを知ることができ、また、正常操作の候補を知ることができるので、ユーザの操作性の向上を図ることができる。
【0063】
また、正常操作であるか否かの判別及び正常操作候補の推定において機械学習により学習された学習モデルを用いる為、ガイドパターンが固定されることなく学習に応じた適切な操作支援を行うことができる。
【0064】
さらに、学習データの生成に操作履歴データを用いているので、アプリケーションを使っていく中で操作の履歴に応じた適切な操作支援を行うことができる。例えば、学習データとして、第3の学習データを用いることで、個々のアプリケーション実行装置2のユーザ毎に最適化を行うことができる為、ユーザの操作に対する余計な提案等を減らすことができる。
【0065】
<2.第2実施形態>
前述した第1実施形態では、支援情報提示部47による正常操作候補の提示処理(ステップS18)において、単に正常操作候補をユーザに提示するものであったが、この第2実施形態では、前述した支援情報提示部47による正常操作候補の提示処理において、ユーザのアプリケーションにおける操作習熟度に応じた処理を行う(例えば、操作習熟度に応じて提示形態が変更される)点が相違する。他の点(例えば、全体システムの概略構成、アプリケーション実行装置2の構成等)については、同様であり説明を省略する。
【0066】
図9は、第2実施形態に係る正常操作候補の提示処理の流れの一例を示すフローチャートである。図9に示すように、本実施形態に係る正常操作候補の提示処理では、まず、ユーザの操作習熟度を判定する判定処理が行われる(ステップS21)。ユーザの操作習熟度は、操作内容に基づいて判定される。
【0067】
具体的には、ユーザの操作習熟度の判定は、以下のようにして行うことができる。例えば、ユーザの習熟度を判定するには、以下の要素が利用される。
第1の要素:操作を行ってから次の操作を行うまでの平均時間(Δt)
第2の要素:異常操作の頻度(Fa)
第3の要素:ショートカットキーの利用頻度(Fs)
第4の要素:利用時間(T)
【0068】
第1の要素を用いる理由としては、次の操作までの時間が短ければ短いほど習熟度が高いといえるからである。例えば、第1の要素として、過去一定回数分の操作にかかった平均時間を用いることができる。
【0069】
第2の要素を用いる理由としては、異常と見做された回数が少なければ少ないほど習熟度が高いといえるからである。例えば、第2の要素として、過去一定回数分の操作における異常操作の回数を用いることができる。
【0070】
第3の要素を用いる理由としては、ショートカットキーがある場合、その利用頻度が高いほど習熟度が高いといえるからである。
【0071】
第4の要素を用いる理由としては、累積の利用時間が長ければ長いほど習熟度が高いといえるからである。
【0072】
具体的には、習熟度(M)は、これらの要素を用いて、以下の式(1)で表すことができる。なお、a~dは、所定の係数である。例えば、ショートカットキーが無いような場合には、それに対応する係数cの値を適宜、小さく設定すればよい。
M=-a×Δt-b×Fa+cFs+d×T・・・・(1)
【0073】
そして、M≧Mth(所定の閾値)ならば習熟度が高いと判定し、M<Mthならば習熟度が低いと判定することができる。なお、ユーザの操作習熟度の判定は、この式(1)を用いた判定に限定されるものではない。これらの4要素のうちの2要素以上を用いて判定するものであってもよい。具体的には、これらの要素をアプリケーションの使用環境等に応じて取捨選択した式を用いてもよい。また、他の要素を利用した式を用いてもよい。さらに、他の既知の習熟度判定の手法を用いて判定してもよい。
【0074】
次に、このステップS21による判定処理の結果に基づいて、ユーザの操作習熟度が高いと判定されたか否かについて判定される(ステップS22)。具体的には、前述したように、式(1)を用いた結果、M≧Mthならば習熟度が高いと判定し、M<Mthならば習熟度が低いと判定する。なお、このステップS21~S22による処理は、支援情報提示部47とは別の機能ブロックで行われてもよい。
【0075】
ステップS22にて、ユーザの操作習熟度が高い(YES)と判定された場合には、支援情報提示部47により、正常操作の候補を表す操作ガイドが控えめに提示されるようにする(ステップS23)。また、ステップS22にて、ユーザの操作習熟度が低い(NO)と判定された場合には、支援情報提示部47により、正常操作の候補を表す操作ガイドが派手に提示されるようにする(ステップS24)。そして、このようなユーザの操作習熟度に応じたガイドの提示が行われた後、提示処理を終了する。
【0076】
例えば、提示の変え方としては、ユーザの習熟度に応じてガイドの出し方、UIコンポーネントサイズ等を工夫することが考えられる。具体的には、派手な提示としては、通常の表示よりも明示的に矢印、メッセージ等を表示する(例えば、UIコンポーネントのサイズを大きくしたり、メッセージの文字サイズを大きくしたりする)ことが挙げられる。また、控えめな提示としては、例えば、通常の表示よりもUIコンポーネントのサイズを小さくしたり、メッセージの文字サイズを小さくしたりすることが挙げられる。また、さらに控えめに、例えば、注意喚起を行う箇所にモワモワ等の目印を表示する(具体的には、波を表示してそこに何かあるということを伝える)だけでもよい。
【0077】
このように、この正常操作候補の提示処理では、ユーザのアプリケーションにおける操作習熟度が低いうちは、正常操作の候補を表す操作ガイドが派手に提示され、操作習熟度が高くなった場合には、控えめに提示される。したがって、ユーザの操作習熟度に応じて適切に操作ガイドを表示することができ、ユーザ操作性をさらに向上させることができる。
【0078】
なお、操作習熟度は、高低の2段階に限らず、3段階以上に分けてもよい。これにより、ユーザの操作習熟度を細かく区分して、区分した習熟度毎に提示を変えることができ、きめ細かな操作習熟度に応じたガイド表示を行うことができる。
【0079】
<3.第3実施形態>
前述した第1実施形態では、学習更新部44による学習処理(ステップS20)において、第1の学習データ、第2の学習データ及び第3の学習データを、単に所定の設定に従った割合で機械学習に用いたが、この第3実施形態では、前述した学習更新部44による学習処理において、ユーザのアプリケーションにおける操作習熟度に応じた処理を行う(具体的には、操作習熟度に応じて機械学習に用いる学習データの種類の割合を変える)点が相違する。他の点(例えば、全体システムの概略構成、アプリケーション実行装置2の構成等)については、同様であり説明を省略する。
【0080】
図10は、第3実施形態に係る学習処理の流れの一例を示すフローチャートである。図10に示すように、本実施形態に係る学習処理では、まず、ユーザの操作習熟度を判定する判定処理が行われ(ステップS31)、ユーザの操作習熟度が高いか否かの判定が行われる(ステップS32)。なお、このステップS31~S32は、前述した第2実施形態の正常操作候補の提示処理におけるステップS21~S22と同様の処理である為、ここでは詳細な説明は省略する。
【0081】
ステップS32にて、ユーザの操作習熟度が高い(YES)と判定された場合には、学習更新部44により、第1の学習データ、第2の学習データ及び第3の学習データの3つを用いた学習が行われる(ステップS33)。具体的には、これら3つの学習データを用いて前述したように学習を行ってオートエンコーダの重み付けを更新する。
【0082】
一方、ステップS32にて、ユーザの操作習熟度が低い(NO)と判定された場合には、学習更新部44により、第1の学習データ及び第2の学習データの2つを用いた学習が行われる(ステップS34)具体的には、これら2つの学習データを用いて前述したように学習を行ってオートエンコーダの重み付けを更新する。そして、このようなユーザの操作習熟度に応じた学習が行われた後、学習処理を終了する。
【0083】
このように、この学習処理では、ユーザのアプリケーションにおける操作習熟度が低いうちは、第1の学習データ及び第2の学習データを用いて学習が行われ、操作習熟度が高くなった場合には、第1の学習データ、第2の学習データ及び第3の学習データを用いて学習が行われる。つまり、操作に不慣れなうちはリファレンス的な学習のみを行い、慣れてきたらユーザの使い方に応じた学習を行うことになるので、ユーザの操作習熟度に応じて適切に学習を行わせることができ、ユーザ操作性をさらに向上させることができる。
【0084】
なお、第2実施形態と同様に、操作習熟度は、高低の2段階に限らず、3段階以上に分けてもよい。これにより、ユーザの操作習熟度を細かく区分して、区分した習熟度毎に学習内容を変えることができる。例えば、操作習熟度が高いと判定された場合に、操作習熟度の高さに応じて第3の学習データの割合が、第1の学習データ及び第2の学習データの少なくともいずれか一方が含まれる上限値の範囲内で多くされるようにしてもよい。上限値を決めておくことにより、リファレンス的な操作手順を学習することができる第1の学習データ及び第2の学習データの割合が薄くなりすぎることを防止することができる。
【0085】
<4.第4実施形態>
図11は、第4実施形態に係るアプリケーション実行装置の構成例を示すブロック図である。図11に示すアプリケーション実行装置2Aは、前述したアプリケーション実行装置2の制御装置4に替えて制御装置4Aを有する点と、ユーザ観察装置8を有する点とが第1実施形態とは相違する。他の点(例えば、全体システムの概略構成、アプリケーション実行装置2と同一符号を付した要素の構成等)については、同様であり説明を省略する。
【0086】
「アプリケーション実行装置2Aの構成」
ユーザ観察装置8は、ユーザの状況を観察した観察データを生成し、生成した観察データを制御装置4Aの操作困惑判定部48(後述)に提供する為の装置である。具体的には、ユーザ観察装置8は、アプリケーションでの操作を行っているユーザを撮影可能なカメラで構成され、撮像データを観察データとして操作困惑判定部48に提供する。なお、ユーザ観察装置8は、これに限らず、脳波や心拍数等を計測して出力するセンサ等で構成してもよい。
【0087】
制御装置4Aは、基本的な構成は、前述した制御装置4と同様であるが、操作支援処理での処理内容が相違する。その為、操作支援処理用のプログラムの実行にともなって機能する機能ブロックが制御装置4とは相違する。具体的には、図11に示すように、前述した制御装置4の操作取得部43、学習更新部44、異常操作判定部45、正常操作推定部46及び支援情報提示部47(図2を参照)に替えて、操作取得部43A、学習更新部44A、操作困惑判定部48、正常操作推定部46A及び支援情報提示部47Aを有する点が第1実施形態とは相違する。以下、この相違点の構成について説明する。
【0088】
「制御装置4Aの構成」
操作取得部43Aは、入力装置6からアプリケーションにおいてのユーザ操作の生データを取得し、取得した生データを用いて操作データを生成し、生成した操作データを操作履歴蓄積部42及び操作困惑判定部48に提供する機能を有している。
【0089】
学習更新部44Aは、操作履歴蓄積部42から提供される操作データ(学習データ)を用いて機械学習を行う機能と、機械学習により学習された学習モデルを正常操作推定部46Aに提供する機能とを有している。この学習更新部44Aにおける学習タイミング、学習手法等については、前述した学習更新部44と同様である。
【0090】
操作困惑判定部48は、ユーザがアプリケーションでの操作に困惑しているか否かの判別を行い、判別結果に応じた処理を行う機能を有している。具体的には、操作困惑判定部48は、操作取得部43Aから一定時間以上、操作データが提供されない、かつ、観察データに基づき、ユーザが困惑状況にある(例えば、視線が画面を向き続けている等)と判定されたときに、ユーザは次の操作をどうするのか困惑していると判断する。なお、この判断は、いずれか一方のみで行ってもよい。
【0091】
例えば、この一定時間の長さは、ユーザの普段の操作時間(例えば、アプリケーション実行装置2毎、又は、ユーザ認証等によるユーザ毎に操作時間を記憶しておく)をもとに決定するとよい。つまり、普段の操作が速ければ速いほど、この一定時間の長さは短くなる。これによりユーザの普段の操作時間を基準として正確に判別することができる。また、操作困惑判定部48は、この判別結果及び操作取得部43Aから提供される操作データを正常操作推定部46Aに提供する機能を有している。
【0092】
正常操作推定部46Aは、アプリケーションでの操作にユーザが困惑している場合における次操作(正常操作)の候補を操作支援情報として決定する為のものであり、前述した学習モデルを用いて、その次操作の候補を推定する推定処理を行う機能を有している。具体的には、正常操作推定部46Aは、操作困惑判定部48にてユーザがアプリケーションでの操作に困惑していると判別された場合に、操作困惑判定部48から提供される操作データ及び学習更新部44Aから提供される学習モデルを用いて次操作を推定し、その推定した次操作の候補を表す次操作情報を支援情報提示部47Aに提供する機能を有している。
【0093】
例えば、正常操作推定部46Aは、操作困惑判定部48から提供される操作データ及び直近の操作データ(例えば、読み出し可能なメモリに蓄積していたもの)を合わせたn-1回の操作の操作データと学習モデルとを用いて次操作の候補の推定を行い、推定した次操作の候補を表す次操作情報を支援情報提示部47Aに提供する。例えば、図5に示す例を用いて説明をすると、オートエンコーダの入力データとしてn-1回の操作履歴の操作データを左詰めで使用し、最後列(n列目)のパラメータを変えていき、入力と出力を繰り返す。そして、入力と出力が同じ(略同じを含む)であるパラメータがあった場合にそのパラメータ(1が立っているところ)が期待される次操作の候補であると推定する。つまり、学習済みのオートエンコーダの学習モデルに最後列のパラメータを変えながら直近n回分の操作データを順次入力し、出力と入力とを比較して差分を抽出する。そして、その差分が所定の閾値よりも小さいパラメータが示す操作が次操作の候補であると推定することができる。
【0094】
支援情報提示部47Aは、正常操作推定部46Aから提供された次操作情報に基づく次操作の候補を表す操作ガイドを操作支援情報として出力させる機能を有している。
【0095】
「第4実施形態での操作支援処理」
以下、アプリケーション実行装置2Aによる操作支援処理について説明する。図12は、第4実施形態に係る操作支援処理の流れの一例を示すフローチャートである。この操作支援処理は、ユーザが操作に困っていたり迷っていたりして困惑している場合に、操作の為の視覚的なガイドを提示するものである。また、この操作支援処理は、前述した学習データを用いてアプリケーション終了時に学習を行うものである。なお、この操作支援処理の実行(開始)タイミングは、前述した第1実施形態のアプリケーション実行装置2による操作支援処理と同様である。
【0096】
この操作支援処理では、まず、操作取得部43Aによって、アプリケーションでのユーザ操作が受け付けられる(ステップS41)。具体的には、操作取得部43Aが入力装置6からユーザ操作の生データを取得し、取得した生データを用いて操作データを生成する。この生成された操作データは、操作履歴蓄積部42及び操作困惑判定部48に提供される。操作履歴蓄積部42は、この操作データを記憶装置5に蓄積するとともに通信制御部41に提供する。通信制御部41は、通信装置3を制御してこの操作データをサーバ装置10(図1を参照)に提供する。サーバ装置10は、各アプリケーション実行装置2Aから提供される操作データを用いて第2の学習データを生成する。
【0097】
次に、操作回数がn-1回以上であるか否かが判定される(ステップS42)。例えば、この判定は、操作困惑判定部48によって行われる。ステップS42にて操作回数がn-1回以上でない(NO)と判定された場合には、ステップS41に処理が戻される。ステップS42にて操作回数がn-1回以上である(YES)と判定された場合には、操作困惑判定部48によって、ユーザがアプリケーションでの操作に困惑しているか否かを判別する操作困惑判別処理が行われる(ステップS43)。具体的には、操作困惑判定部48は、前述したように、操作取得部43Aから一定時間以上、操作データが提供されない、かつ、観察データに基づいてユーザが困惑状態にあると判定されたときに、ユーザが次の操作をどうするのか困惑していると判断する。
【0098】
次に、操作困惑判定部48によって、ステップS43の判別処理の結果、ユーザがアプリケーションでの操作に困惑していると判別されたか否かについて判定される(ステップS44)。ステップS44にて困惑している(YES)と判定された場合には、操作困惑判定部48によって、操作取得部43Aから提供された操作データが正常操作推定部46Aに提供され、正常操作推定部46Aによって次操作候補の推定処理が行われ、操作支援情報が決定される(ステップS45:第3の決定ステップ)。具体的には、正常操作推定部46Aは、前述したように、操作困惑判定部48から提供される操作データ及び直近の操作データ(例えば、読み出し可能なメモリに蓄積していたもの)を合わせたn-1回の操作の操作データと学習モデルとを用いて次操作の候補の推定を行い、推定した次操作の候補を表す次操作情報を支援情報提示部47Aに提供する。
【0099】
次に、支援情報提示部47Aによって、次操作候補の提示処理が行われる(ステップS46)。具体的には、支援情報提示部47Aは、出力装置7を制御して、正常操作推定部46Aから提供される次操作情報に基づき次操作の候補を表す操作ガイドを出力装置7から出力し、ユーザに次操作の候補を提示する。
【0100】
ステップS44にて困惑していない(NO)と判定された場合及びステップS46での処理後、学習更新部44Aによって、ユーザがアプリケーションを終了したか否かについて判定される(ステップS47)。ステップS47にて、アプリケーションが終了していない(NO)と判定された場合には、ステップS41に処理が戻される。一方、ステップS47にて、アプリケーションが終了した(YES)と判定された場合には、学習更新部44Aにより、学習データを用いた学習処理が行われる(ステップS48)。具体的には、前述した第1実施形態の学習更新部44と同様に、学習データを用いて学習を行ってオートエンコーダの重み付けを更新する。そして、操作支援処理が終了する。
【0101】
このように、アプリケーション実行装置2Aでは、アプリケーションでのユーザ操作の際に、ユーザがアプリケーションでの操作に困惑しているか否かについて判別され、困惑していると判別された場合には、次操作の候補がユーザに提示される。これにより、ユーザは、次操作の候補を知って、それに基づき操作することができるので、ユーザの操作性の向上を図ることができる。
【0102】
また、次操作の候補の推定において機械学習により学習された学習モデルを用いる為、ガイドパターンが固定されることなく学習に応じた適切な操作支援を行うことができる。
【0103】
さらに、学習データの生成に操作履歴データを用いているので、アプリケーションを使っていく中で操作の履歴に応じた適切な操作支援を行うことができる。例えば、学習データとして、第3の学習データを用いることで、個々のアプリケーション実行装置2Aのユーザ毎に最適化を行うことができる為、ユーザの操作に対する余計な提案等を減らすことができる。
【0104】
<5.第5実施形態>
図13は、第5実施形態に係るアプリケーション実行装置の構成例を示すブロック図である。図13に示すアプリケーション実行装置2Bは、前述したアプリケーション実行装置2Aの制御装置4Aに替えて制御装置4Bを有する点が第4実施形態とは相違する。他の点(例えば、全体システムの概略構成、アプリケーション実行装置2Aと同一符号を付した要素の構成等)については、同様であり説明を省略する。
【0105】
「制御装置4Bの構成」
制御装置4Bは、基本的には前述した制御装置4Aと同様の構成を有しているが、操作支援処理での処理内容が相違する。具体的には、第1実施形態と第4実施形態の処理の両方を行う構成を有している。その為、操作支援処理用のコンピュータプログラムの実行にともなって機能する機能ブロックが制御装置4Aとは相違する。つまり、図13に示すように、前述した制御装置4Aの操作取得部43A、学習更新部44A、操作困惑判定部48、正常操作推定部46A及び支援情報提示部47A(図11を参照)に替えて、操作取得部43B、学習更新部44B、操作困惑判定部48B、正常操作推定部46B及び支援情報提示部47Bを有する点と、異常操作判定部45Bを有する点とが第4実施形態とは相違する。以下、この相違点の構成について説明する。
【0106】
操作取得部43Bは、入力装置6からアプリケーションにおいてのユーザ操作の生データを取得し、取得した生データを用いて操作データを生成し、生成した操作データを操作履歴蓄積部42、異常操作判定部45B及び操作困惑判定部48Bに提供する機能を有している。
【0107】
学習更新部44Bは、操作履歴蓄積部42から提供される操作データ(学習データ)を用いて機械学習を行う機能と、機械学習により学習された学習モデルを異常操作判定部45B及び正常操作推定部46Bに提供する機能とを有している。この学習更新部44Bにおける学習タイミング、学習手法等については、前述した通りである。
【0108】
異常操作判定部45Bは、前述した第1実施形態における異常操作判定部45と同様、操作取得部43Bから提供される操作データと、学習更新部44Bから提供される学習モデルとを用いて、入力装置6によるユーザ操作が行われた際に、その操作が正常操作であるか否かの判別を行い、判別結果に応じた処理を行う機能を有している。具体的な判別の方法は、異常操作判定部45と同様であり、詳細な説明は省略する。なお、異常操作判定部45Bは、異常操作であると判別された場合には、支援情報提示部47Bにその旨を通知するとともに、正常操作推定部46Bに操作取得部43Bから提供された操作データを提供する機能を有している。
【0109】
操作困惑判定部48Bは、ユーザがアプリケーションでの操作に困惑しているか否かの判別を行い、判別結果に応じた処理を行う機能を有している。この困惑しているか否かの判断の手法は、前述した操作困惑判定部48と同様であり、ここでは説明を省略する。また、操作困惑判定部48Bは、この判別結果及び操作取得部43Bから提供される操作データを正常操作推定部46Bに提供する機能を有している。
【0110】
正常操作推定部46Bは、前述した第1実施形態における正常操作推定部46と同様、異常操作判定部45Bにて異常操作であると判別された場合に、異常操作判定部45Bから提供される操作データ及び学習更新部44Bから提供される学習モデルを用いて正常操作を推定し、正常操作の候補として、その推定した正常操作の候補を表す正常操作情報を支援情報提示部47Bに提供する機能を有している。
【0111】
また、正常操作推定部46Bは、前述した正常操作推定部46Aと同様に、操作困惑判定部48Bにてユーザがアプリケーションでの操作に困惑していると判別された場合に、操作困惑判定部48Bから提供される操作データ及び学習更新部44Bから提供される学習モデルを用いて次操作(正常操作)を推定し、次操作の候補として、その推定した次操作の候補を表す次操作情報を支援情報提示部47Bに提供する機能を有している。
【0112】
支援情報提示部47Bは、異常操作判定部45Bから異常操作である旨の通知を受けた場合に、出力装置7からユーザに対するアラートを操作支援情報として出力させる機能を有している。また、支援情報提示部47Bは、正常操作推定部46Bから提供された正常操作情報に基づく正常操作の候補又は次操作情報に基づく次操作の候補を表す操作ガイドを操作支援情報として出力させる機能を有している。
【0113】
「第5実施形態での操作支援処理」
以下、アプリケーション実行装置2Bによる操作支援処理について説明する。図14は、第5実施形態に係る操作支援処理の流れの一例を示すフローチャートである。この操作支援処理は、ユーザが異常操作を行った場合にアラートを出力してユーザに知らせるとともに、正常操作の候補に関する視覚的なガイドを提示するものである。また、ユーザが操作に困惑している場合に、操作の為の視覚的なガイドを提示するものである。さらに、この操作支援処理は、前述した学習データを用いてアプリケーション終了時に学習を行うものである。なお、この操作支援処理の実行(開始)タイミングは、前述した第1実施形態のアプリケーション実行装置2による操作支援処理と同様である。
【0114】
この操作支援処理では、まず、操作取得部43Bによって、アプリケーションでのユーザ操作が受け付けられる(ステップS51)。具体的には、操作取得部43Bが入力装置6からユーザ操作の生データを取得し、取得した生データを用いて操作データを生成する。この生成された操作データは、操作履歴蓄積部42、異常操作判定部45B及び操作困惑判定部48Bに提供される。操作履歴蓄積部42は、この操作データを記憶装置5に蓄積するとともに通信制御部41に提供する。通信制御部41は、通信装置3を制御してこの操作データをサーバ装置10(図1を参照)に提供する。サーバ装置10は、各アプリケーション実行装置2Bから提供される操作データを用いて第2の学習データを生成する。
【0115】
次に、操作回数がn-1回以上であるか否かが判定される(ステップS52)。例えば、この判定は、操作困惑判定部48によって行われる。ステップS52にて操作回数がn-1回以上でないと判定された場合(NO)には、ステップS51に処理が戻される。ステップS52にて操作回数がn-1回以上である(YES)と判定された場合(YES)には、さらにユーザ操作が有ったか否か、つまり操作回数がn回以上であるか否かについて判定される(ステップS53)。例えば、この判定は、異常操作判定部45Bによって行われる。
【0116】
ステップS53にて、さらにユーザ操作があった(YES)と判定された場合には、異常操作判定部45Bによって、そのユーザ操作が正常操作であるか否かを判別する判別処理が行われる(ステップS54)。具体的には、異常操作判定部45Bは、前述したように、学習済みのオートエンコーダに直近n回分の操作データをかけて正常操作であるか否かの判別を行う。
【0117】
次に、異常操作判定部45Bによって、ステップS54の判別処理の結果、正常操作であると判別されたか否かについて判定される(ステップS55)。具体的には、異常操作判定部45Bは、前述したように、オートエンコーダの入力と出力とが同じ(略同じ(入力≒出力)を含む)であるか否かについて判定し、同じであると判定された場合に正常操作であると見做す。
【0118】
ステップS55にて正常操作である(YES)と判定された場合には、正常操作であると見做す処理(具体的には、何もしない)を行う(ステップS56)。ステップS55にて正常操作でない(NO)と判定された場合には、異常操作であるとして扱い、異常操作判定部45Bによって、アラートを操作支援情報とすることが決定され(第1の決定ステップ)、支援情報提示部47Bにその旨の通知が行われ、支援情報提示部47Bによって出力装置7からユーザに対して異常操作である旨のアラートが操作支援情報として提示される(ステップS57)。
【0119】
さらに、異常操作判定部45Bによって、操作取得部43Bから提供された操作データが正常操作推定部46Bに提供され、正常操作推定部46Bによって、正常操作候補の推定処理が行われ、操作支援情報として正常操作の候補が決定される(ステップS58:第2の決定ステップ)。具体的には、正常操作推定部46Bは、前述したように、入力データ(操作履歴データ)の最後列(最後の操作)に関して、入力データ以外のパラメータを振ってオートエンコーダにかけることで正常操作の候補を見つけ、その見つけた正常操作候補を表す正常操作情報を支援情報提示部47Bに提供する。
【0120】
次に、支援情報提示部47Bによって、正常操作候補の提示処理が行われる(ステップS59)。具体的には、支援情報提示部47Bは、出力装置7を制御して、正常操作推定部46Bから提供される正常操作情報に基づき正常操作の候補を表す操作ガイドを出力装置7から出力し、ユーザに正常操作の候補を提示する。
【0121】
一方、ステップS53にて、さらにユーザ操作がない(NO)と判定された場合には、操作困惑判定部48Bによって、ユーザがアプリケーションでの操作に困惑しているか否かを判別する操作困惑判別処理が行われる(ステップS60)。具体的には、操作困惑判定部48Bは、前述したように、操作取得部43Bから一定時間以上、操作データが提供されない、かつ、観察データに基づいてユーザが困惑状態にあると判定されたときに、ユーザが次の操作をどうするのか困惑していると判断する。
【0122】
次に、操作困惑判定部48Bによって、ステップS60の判別処理の結果、ユーザがアプリケーションでの操作に困惑していると判別されたか否かについて判定される(ステップS61)。ステップS61にて困惑している(YES)と判定された場合には、操作困惑判定部48Bによって、操作取得部43Bから提供された操作データが正常操作推定部46Bに提供され、正常操作推定部46Bによって次操作候補の推定処理が行われ、操作支援情報が決定される(ステップS62:第3の決定ステップ)。具体的には、正常操作推定部46Bは、前述したように、操作困惑判定部48Bから提供される操作データ及び直近の操作データ(例えば、読み出し可能なメモリに蓄積していたもの)を合わせたn-1回の操作の操作データと学習モデルとを用いて次の操作の候補の推定を行い、推定した次の操作の候補を表す次操作情報を支援情報提示部47Bに提供する。
【0123】
次に、支援情報提示部47Bによって、次操作候補の提示処理が行われる(ステップS63)。具体的には、支援情報提示部47Bは、出力装置7を制御して、正常操作推定部46Bから提供される次操作候補に基づき次操作の候補を表す操作ガイドを出力装置7から出力し、ユーザに次操作の候補を提示する。
【0124】
ステップS61にて困惑していない(NO)と判定された場合及びステップS56、S59での処理後、学習更新部44Bによって、ユーザがアプリケーションを終了したか否かについて判定される(ステップS64)。ステップS64にて、アプリケーションが終了していない(NO)と判定された場合には、ステップS51に処理が戻される。一方、ステップS64にて、アプリケーションが終了した(YES)と判定された場合には、学習更新部44Bにより、学習データを用いた学習処理が行われる(ステップS65)。具体的には、前述した第1実施形態の学習更新部44と同様に、学習データを用いて学習を行ってオートエンコーダの重み付けを更新する。そして、操作支援処理が終了する。
【0125】
このように、アプリケーション実行装置2Bでは、アプリケーションでのユーザ操作の際に、そのユーザ操作が正常操作であるか否かについて判別され、正常操作でないと判別された場合にアラートがユーザに提示されるとともに、正常操作の候補がユーザに提示される。これにより、ユーザは、ユーザ操作が正常操作でない場合に、それを知ることができ、また、正常操作の候補を知ることができるので、ユーザの操作性の向上を図ることができる。
【0126】
また、アプリケーション実行装置2Bでは、アプリケーションでのユーザ操作の際に、ユーザがアプリケーションでの操作に困惑しているか否かについて判別され、困惑していると判別された場合には、次操作の候補がユーザに提示される。これにより、ユーザは、次操作の候補を知って、それに基づき操作することができるので、ユーザの操作性の向上を図ることができる。
【0127】
さらに、正常操作であるか否かの判別、正常操作候補の推定及び次操作候補の推定において機械学習により学習された学習モデルを用いる為、ガイドパターンが固定されることなく学習に応じた適切な操作支援を行うことができる。
【0128】
また、学習データの生成に操作履歴データを用いているので、アプリケーションを使っていく中で操作の履歴に応じた適切な操作支援を行うことができる。例えば、学習データとして、第3の学習データを用いることで、個々のアプリケーション実行装置2Bのユーザ毎に最適化を行うことができる為、ユーザの操作に対する余計な提案等を減らすことができる。
【0129】
<6.変形例>
以上、本開示の好適な実施形態について具体的に説明したが、本開示の内容は前述した各実施形態に限定されるものではなく種々の変形が可能である。
【0130】
例えば、前述した第1の実施形態に係る操作支援システム1は、1つのサーバ装置10に複数のアプリケーション実行装置2が接続される構成について例示したが、システム構成はこれに限らない。例えば、複数のサーバ装置10を有し、各サーバ装置10がネットワーク接続されていてもよい。また、サーバ装置10を用いない構成であってもよい。さらに、クラウド環境を構築して、操作支援処理の実行に伴う機能ブロックの一部をクラウド側で実行するように構成してもよい。
【0131】
図15は、変形例に係るアプリケーション実行装置の構成例を示すブロック図である。図15に示すアプリケーション実行装置2Cは、前述したアプリケーション実行装置2Bの制御装置4Bに替えて制御装置4Cを有する点と、通信装置3を有していない点とが第5実施形態に係るアプリケーション実行装置2Bとは相違する。他の点(例えば、アプリケーション実行装置2Bと同一符号を付した要素の構成等)については、同様であり説明を省略する。
【0132】
制御装置4Cは、前述した制御装置4Bにおける通信制御部41を有していない点が制御装置4Bと相違するが、他の構成は前述した制御装置4Bと同様である。
【0133】
このように、サーバ装置10(図1を参照)と接続されない構造においても前述した第5実施形態と同様の効果を奏することができる。なお、この場合、第1の学習データ及び第2の学習データは、記憶装置5に予め記憶しておけばよい。第1の学習データ及び第2の学習データを学習に用いず、第3の学習データのみを用いるようにしてもよい。他の実施形態等についても、この変形例の構成を適用することができる。
【0134】
図16は、変形例に係るアプリケーション実行装置の構成例を示すブロック図である。図16に示すアプリケーション実行装置2Dは、前述したアプリケーション実行装置2Bの制御装置4Bに替えて制御装置4Dを有する点と、記憶装置5を有していない点とが第5実施形態に係るアプリケーション実行装置2Bとは相違する。具体的には、前述した制御装置4Bの構成要素の一部(具体的には、操作履歴蓄積部42及び学習更新部44B)をクラウド側(図示した例では、サーバ装置10側)で実行するように構成している点が、前述した第5実施形態に係るアプリケーション実行装置2Bと相違する。他の点(例えば、アプリケーション実行装置2Bと同一符号を付した要素の構成等)については、同様であり説明を省略する。
【0135】
アプリケーション実行装置2D(ローカル側)の制御装置4Dが有する通信制御部41Dは、通信装置3を制御してサーバ装置10(クラウド側)との間で操作支援処理に伴うデータの送受信を行う機能を有している。具体的には、通信制御部41Dは、サーバ装置10から学習モデルを取得し、取得した学習モデルを異常操作判定部45B及び正常操作推定部46Bに提供する。また、通信制御部41Dは、操作取得部43から提供される操作データをサーバ装置10に送信する。
【0136】
操作取得部43Dは、入力装置6からアプリケーションにおいてのユーザ操作の生データを取得し、取得した生データを用いて操作データを生成し、生成した操作データを通信制御部41D、異常操作判定部45B及び操作困惑判定部48Bに提供する機能を有している。
【0137】
サーバ装置10は、クラウド側記憶装置11と、クラウド側通信装置12と、クラウド側制御装置13とを有している。クラウド側記憶装置11は、例えば、前述した記憶装置5と同様の構成であり、前述した第1の学習データ、第2の学習データ及び第3の学習データを記憶している。なお、アプリケーション(本体部)及び操作支援用のプログラムは、クラウド側とローカル側のどちらにあっても構わない。
【0138】
クラウド側通信装置12は、アプリケーション実行装置2Dとネットワーク接続する為の装置である。サーバ装置10は、このクラウド側通信装置12によりアプリケーション実行装置2Dとの間でネットワークを介して各種データの送受信を可能に構成されている。
【0139】
クラウド側制御装置13は、操作履歴蓄積部14、学習更新部15及び通信制御部16を有している。操作履歴蓄積部14は、通信制御部16から提供される操作データをクラウド側記憶装置11に蓄積する機能を有している。また、操作履歴蓄積部14は、クラウド側記憶装置11から機械学習に必要な操作データ(学習データ)を読み出し、読み出した操作データを学習更新部15に提供する機能を有している。
【0140】
学習更新部15は、操作履歴蓄積部14から提供される操作データを用いて機械学習を行う機能と、機械学習により学習された学習モデルを通信制御部16に提供する機能とを有している。具体的には、学習更新部44は、アプリケーションの終了時に機械学習を行う。この学習更新部15における学習タイミング、学習手法等については、前述した学習更新部44Bと同様である。
【0141】
通信制御部16は、クラウド側通信装置12を制御してアプリケーション実行装置2Dとの間で操作支援処理に伴うデータの送受信を行う機能を有している。具体的には、通信制御部16は、アプリケーション実行装置2Dから操作データを取得し、取得した操作データを操作履歴蓄積部14に提供する。また、通信制御部16は、学習更新部15から提供される学習モデルをアプリケーション実行装置2Dに送信する。
【0142】
このアプリケーション実行装置2Dでは、入力装置6によるアプリケーションでのユーザ操作があった場合に、操作取得部43Dで生成された操作データが通信制御部41Dに提供され、通信制御部41Dによって、その操作データがサーバ装置10に送信される。サーバ装置10側では、通信制御部16が操作データを受信し、操作履歴蓄積部14に提供する。そして操作履歴蓄積部14がその操作データをクラウド側記憶装置11に蓄積する。そして、第1の学習データ及び第2の学習データに加えて第3の学習データを生成して格納する。そして、学習更新部15によって、この第1の学習データ、第2の学習データ及び第3の学習データを適宜用いた機械学習が行われる。
【0143】
アプリケーション実行装置2Dの異常操作判定部45Bでの判定の際、及び正常操作推定部46Bでの推定の際には、この学習された学習モデルが通信制御部16によってアプリケーション実行装置2Dに送信される。アプリケーション実行装置2Dでは、通信制御部41Dによりこの学習モデルが受信され、受信された学習モデルが異常操作判定部45B、正常操作推定部46Bにそれぞれ提供される。
【0144】
このように、アプリケーション実行装置2Bの機能の一部をクラウド側で実行する構成としても前述した第5実施形態と同様の効果を奏することができる。他の実施形態等についても、この変形例の構成を適用することができる。
【0145】
さらに、例えば、前述した第2実施形態及び第3実施形態は、第1実施形態のアプリケーション実行装置2における提示及び学習について適用したが、他の実施形態等について適用してもよい。また、第2実施形態の提示処理及び第3実施形態の学習処理を組み合わせた処理を行う構成であってもよい。このように、各実施形態及び変形例に記載した事項は、可能な限り、他の各実施形態及び変形例において適用してもよい。
【0146】
上述した実施形態における操作支援情報の内容は適宜、組み合わされてもよい。また、操作支援情報が、音声や振動により出力されてもよい。また、操作習熟度の判定結果に応じた処理の他の例として、習熟度に応じたコメントが操作支援情報に付加されてもよい。例えば、操作習熟度が高いユーザが正常操作でない操作を行った場合に「珍しいですね」等のコメントが操作支援情報とともにユーザに提示される処理が行われてもよい。
【0147】
本開示は、以下の構成も採ることができる。
(1)
アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いた処理を行い、前記処理の結果に応じてユーザに提示する操作支援用の操作支援情報を決定する制御部を有する
情報処理装置。
(2)
前記操作支援情報は、前記アプリケーションでのユーザ操作が正常操作でない場合における該ユーザ操作に代わる正常操作の候補を含み、前記学習モデルを用いた処理は、前記正常操作の候補を推定する推定処理である
(1)に記載の情報処理装置。
(3)
前記操作支援情報は、前記アプリケーションでの操作にユーザが困惑している場合における次操作の候補を含み、前記学習モデルを用いた処理は、前記次操作の候補を推定する推定処理である
(1)又は(2)に記載の情報処理装置。
(4)
前記学習モデルを用いた処理は、前記アプリケーションでのユーザ操作が正常操作であるか否かを判別する判別処理である
(1)から(3)までの何れかに記載の情報処理装置。
(5)
前記操作支援情報は、前記正常操作ではないと判定された場合にユーザに提示されるアラートを含む
(4)に記載の情報処理装置。
(6)
前記制御部は、前記アプリケーションでのユーザの操作習熟度を判定し、該判定結果に応じた処理を行う
(1)から(5)までの何れかに記載の情報処理装置。
(7)
前記制御部は、前記操作習熟度の判定結果に応じて前記操作支援情報の提示形態を変更する
(6)に記載の情報処理装置。
(8)
前記機械学習が、生成過程の異なる複数種類の学習データを複数用いて行われ、
前記操作習熟度の判定結果に応じて前記機械学習に用いる学習データの種類の割合が変更される
(6)又は(7)に記載の情報処理装置。
(9)
前記学習データは、アプリケーション作成者側が用意したリファレンスデータに基づく第1の学習データ、多数のユーザの実利用ログデータに基づく第2の学習データ、及び、自身の操作履歴データに基づく第3の学習データの3種類を有し、前記操作習熟度が所定より低いと判定された場合には、前記第1の学習データ及び前記第2の学習データが用いられ、前記操作習熟度が所定より高いと判定された場合には、前記第1の学習データ、前記第2の学習データ、及び、前記第3の学習データが用いられて機械学習が行われる
(8)に記載の情報処理装置。
(10)
前記操作習熟度が所定より高いと判定された場合に、前記操作習熟度の高さに応じて前記第3の学習データの割合が、前記第1の学習データ及び前記第2の学習データの少なくともいずれか一方が含まれる上限値の範囲内で多くされる
(9)に記載の情報処理装置。
(11)
前記ユーザの操作習熟度は、操作内容に基づいて決定される
(6)から(10)までの何れかに記載の情報処理装置。
(12)
前記操作内容は、操作を行ってから次の操作を行うまでの平均時間、異常操作の頻度、ショートカットキーの利用頻度及び累積のアプリケーションの利用時間の4要素のうちの2要素以上を含む
(11)に記載の情報処理装置。
(13)
前記制御部は、前記機械学習を前記ユーザ操作後の所定のタイミングで行う
(1)から(12)までの何れかに記載の情報処理装置。
(14)
前記操作支援情報が、出力部を介してユーザに提示される
(1)から(13)までの何れかに記載の情報処理装置。
(15)
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いた処理を行い、前記処理の結果に応じてユーザに提示する操作支援用の操作支援情報を決定する
情報処理方法。
(16)
制御部が、アプリケーションでのユーザ操作に対して、機械学習により学習済みの学習モデルを用いた処理を行い、前記処理の結果に応じてユーザに提示する操作支援用の操作支援情報を決定する情報処理方法をコンピュータに実行させるプログラム。
【符号の説明】
【0148】
2,2A,2B,2C,2D・・・アプリケーション実行装置、4,4A,4B,4C,4D・・・制御装置、45,45B・・・異常操作判定部、46,46A,46B・・・正常操作推定部、47,47A,47B・・・支援情報提示部、48,48B・・・操作困惑判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16