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

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

▶ カラクリ株式会社の特許一覧

特開2024-133822プログラム、方法、情報処理装置、システム
<>
  • 特開-プログラム、方法、情報処理装置、システム 図1
  • 特開-プログラム、方法、情報処理装置、システム 図2
  • 特開-プログラム、方法、情報処理装置、システム 図3
  • 特開-プログラム、方法、情報処理装置、システム 図4
  • 特開-プログラム、方法、情報処理装置、システム 図5
  • 特開-プログラム、方法、情報処理装置、システム 図6
  • 特開-プログラム、方法、情報処理装置、システム 図7
  • 特開-プログラム、方法、情報処理装置、システム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024133822
(43)【公開日】2024-10-03
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
   G06F 16/9535 20190101AFI20240926BHJP
【FI】
G06F16/9535
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023043803
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】518127510
【氏名又は名称】カラクリ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】吉田 雄紀
(72)【発明者】
【氏名】中山 智文
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175HA01
5B175HA02
(57)【要約】
【課題】ウェブブラウザ上で提供されるウェブサービス等において、ユーザは煩雑な入力作業を行わなければならない課題がある。
【解決手段】プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ウェブブラウザ上でユーザにより行われた複数の連続する入力操作に関する複数の操作情報を取得する操作取得ステップと、操作取得ステップにおいて取得した複数の操作情報に基づき、ユーザが次に行う1または複数の入力操作候補を特定する候補特定ステップと、候補特定ステップにおいて特定された1または複数の入力操作候補をユーザに提案する候補提案ステップと、を実行するプログラム。
【選択図】 図1
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
ウェブブラウザ上でユーザにより行われた複数の連続する入力操作に関する複数の操作情報を取得する操作取得ステップと、
前記操作取得ステップにおいて取得した前記複数の操作情報に基づき、前記ユーザが次に行う1または複数の入力操作候補を特定する候補特定ステップと、
前記候補特定ステップにおいて特定された前記1または複数の入力操作候補を前記ユーザに提案する候補提案ステップと、
を実行するプログラム。
【請求項2】
前記候補特定ステップは、前記複数の操作情報に対して学習モデルを適用することにより、前記ユーザが次に行う1または複数の入力操作候補を特定するステップである、
請求項1記載のプログラム。
【請求項3】
前記学習モデルは、マルコフ連鎖モデルを含む、
請求項2記載のプログラム。
【請求項4】
前記操作取得ステップは、前記ユーザによる入力操作の対象となる、前記ウェブブラウザ上で開かれているウェブサイトを特定するサービス識別情報を取得するステップを含み、
前記候補特定ステップは、
前記操作取得ステップにおいて取得した前記サービス識別情報に基づき複数の学習モデルのうち所定の学習モデルを特定するステップと、
前記複数の操作情報に対して前記所定の学習モデルを適用することにより、前記ユーザが次に行う1または複数の入力操作候補を特定するステップと、
を含む、
請求項2記載のプログラム。
【請求項5】
前記操作取得ステップは、前記ウェブブラウザ上で前記ユーザにより行われる描画オブジェクトに対する前記複数の操作情報を取得するステップであり、
前記候補特定ステップは、前記ユーザが次に行う1または複数の描画オブジェクト候補に対する1または複数の入力操作候補を特定するステップであり、
前記候補提案ステップは、前記ウェブブラウザ上に描画された前記1または複数の描画オブジェクト候補と、前記1または複数の入力操作候補のそれぞれを関連付けて提案するステップである、
請求項1記載のプログラム。
【請求項6】
前記候補提案ステップは、前記1または複数の描画オブジェクト候補の表示態様を変更するステップを含む、
請求項5記載のプログラム。
【請求項7】
前記操作取得ステップは、
前記描画オブジェクトのオブジェクト種別、オブジェクトID、CSSクラス、および、ラベルに関する情報を含む描画オブジェクト情報を取得するステップと、
前記描画オブジェクトが発火するイベントのイベント名を含むイベント情報を取得するステップと、
を含み、
前記候補特定ステップは、前記ユーザが次に行う前記1または複数の描画オブジェクト候補のそれぞれに対応する、1または複数のオブジェクトID、および、イベント名を取得するステップである、
請求項5記載のプログラム。
【請求項8】
前記プログラムは、
前記候補提案ステップにおいて提案した前記1または複数の入力操作候補のうち、少なくとも1つの所定の入力操作候補の承認を受け付ける承認受付ステップと、
前記承認受付ステップにおいて受け付けた前記所定の入力操作候補の承認に応じて、当該入力操作候補にかかる入力操作を、前記ユーザによる当該入力操作をすることなしに実行する操作実行ステップと、
を実行する請求項1記載のプログラム。
【請求項9】
前記承認受付ステップは、前記ユーザによる所定の入力操作に応じて、前記所定の入力操作候補の承認を受け付けるステップである、
請求項8記載のプログラム。
【請求項10】
前記候補特定ステップは、前記操作取得ステップにおいて取得した前記ユーザにより行われた最新の入力操作に応じて、前記ユーザが次に行う1または複数の入力操作候補を特定するステップである、
請求項1記載のプログラム。
【請求項11】
前記候補提案ステップは、前記候補特定ステップにおいて特定された前記1または複数の入力操作候補が、テキスト入力フィールドに対する入力操作候補である場合には、前記ユーザによる入力操作をすることなしに、当該テキスト入力フィールドに対して前記入力操作候補にかかる入力操作を実行することにより前記1または複数の入力操作候補を前記ユーザに提案するステップである、
請求項1記載のプログラム。
【請求項12】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項13】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項14】
請求項1から請求項11のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。



【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
ウェブページ等においてユーザが所望するコンテンツを先読みする技術が知られている。
特許文献1には、ウェブサイト上でユーザが所望するコンテンツの表示をより高速化することが可能なコンテンツ先読み技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2023-8249号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ウェブブラウザ上で提供されるウェブサービス等において、ユーザは煩雑な入力作業を行わなければならない課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、ユーザによる入力操作を補助する技術を提供することである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ウェブブラウザ上でユーザにより行われた複数の連続する入力操作に関する複数の操作情報を取得する操作取得ステップと、操作取得ステップにおいて取得した複数の操作情報に基づき、ユーザが次に行う1または複数の入力操作候補を特定する候補特定ステップと、候補特定ステップにおいて特定された1または複数の入力操作候補をユーザに提案する候補提案ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、ユーザによる入力操作を補助することができる。
【図面の簡単な説明】
【0007】
図1】システム1の機能構成を示すブロック図である。
図2】サーバ10の機能構成を示すブロック図である。
図3】ユーザ端末20の機能構成を示すブロック図である。
図4】ユーザテーブル1012のデータ構造を示す図である。
図5】入力操作テーブル2013のデータ構造を示す図である。
図6】候補提案処理の動作を示すフローチャートである。
図7】候補提案処理の動作を示す画面例である。
図8】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、ユーザによるウェブブラウザ上における入力操作を支援する情報処理サービスを提供する情報処理システムである。
システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20の情報処理装置を備える。なお、本開示にかかる発明は、ユーザに対してネットワークNを介して提供される必要は必ずしもなくユーザ端末20により単独(スタンドアロン)で提供される構成としても良い。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、ユーザ端末20の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、ユーザによるウェブブラウザ上における入力操作を支援する情報処理サービスを提供する情報処理装置である。
サーバ10は、記憶部101、制御部104を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザテーブル1012を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名のカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0015】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
【0016】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0017】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0018】
<ユーザ端末20の構成>
ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0019】
<ユーザ端末20の記憶部201の構成>
ユーザ端末20の記憶部201は、ユーザID2011、アプリケーションプログラム2012、入力操作テーブル2013、学習モデル2021を備える。
【0020】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0021】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。ウェブブラウザアプリケーション上にインストールされたウェブブラウザアプリケーションの拡張機能プログラム等を含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0022】
入力操作テーブル2013は、ユーザのユーザ端末20に対する入力操作に関する入力操作情報を記憶し、管理するためのテーブルである。具体的に、ユーザが、ユーザ端末20のウェブブラウザにおいて行った入力操作の履歴(ログ)を記憶し、管理する。
入力操作テーブル2013は、ユーザID、サービスID、操作対象データ、イベントデータ、日時のカラムを有するテーブルである。
図5は、入力操作テーブル2013のデータ構造を示す図である。
【0023】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。
サービスIDは、サービスを識別するためのサービス識別情報を記憶する項目である。
具体的に、サービスIDは、ユーザが、ユーザ端末20のウェブブラウザにおいて閲覧しているウェブサイトのURL、ドメイン名を含む。また、サービスIDは、URL、ドメイン名等により特定されるウェブサービスの名称、種類を識別するための文字列を記憶しても良い。
本開示においては、サービスIDは、ユーザがウェブブラウザにおいて閲覧し操作対象となるウェブサイトのサービス名を特定する文字列を記憶する例を一例として説明する。
操作対象データは、ユーザにより、入力操作の対象となる描画オブジェクトを特定する情報(オブジェクト情報)が記憶される。具体的に、描画オブジェクトのオブジェクト種別(HTML要素の種類を示すタグ名)、オブジェクトID、CSSクラス、スタイル属性(タグに対して適用されるインラインスタイルのプロパティ)、サイズと位置(幅、高さ、位置、境界ボックス等)、属性値(例えば、画像のsrc属性やリンクのhref属性など)、子要素(HTML要素のツリー構造による子要素との関係)、親要素(HTML要素のツリー構造による親要素との関係)、ラベル等の内容(テキストや画像などの要素の内容)を含む。
描画オブジェクトは、ボタン(buttonタグ)、入力フィールド(inputタグ、textareaタグ)、チェックボックス(inputタグのtype属性がcheckboxの場合など)、ラジオボタン(inputタグのtype属性がradioの場合など)、ドロップダウンリスト(selectタグ)、リストボックス(selectタグのmultiple属性が指定されている場合)等の入力フォーム(formタグ)を含む。
描画オブジェクトは、リンク(aタグ)、画像(imgタグ)を含む。
描画オブジェクトは、ページ全体(documentオブジェクト)を含む。
その他、描画オブジェクトは、テーブル(tableタグ)、テーブルの行(trタグ)、テーブルのセル(tdタグ、thタグ)の他、任意の汎用ブロック(div、span、p)などのHTML(Hyper Text Markup Language)規格、JavaScript等のECMAScript(登録商標)規格等において定義されている任意のオブジェクトを含んでも良い。また、描画オブジェクトは、ウェブサービスを提供する事業者等が独自に定義した描画オブジェクトも含んでも良い。
イベントデータは、操作対象データに記憶されている入力操作の対象となる描画オブジェクトが発火するイベントの情報(イベント情報)を記憶する項目である。具体的に、イベントデータは、イベントの種類を特定するイベントの名称であるイベント名、イベントの発火に伴い実行される関数名、メソッド名、処理内容等の情報に関するイベントハンドラ、描画オブジェクトがテキストの入力フィールド(Input、Textareaなど)である場合には、当該入力フィールドに入力された文字列等の入力値の情報を含む。
例えば、描画オブジェクトごとに次のようなイベント情報が定義可能である。なお、HTML規格、JavaScript等のECMAScript規格等において定義されている任意のイベント情報を含んでも良い。また、イベント情報はウェブサービスを提供する事業者等が独自に定義したイベントを含んでも良い。
・ボタン(buttonタグ):clickイベント、mouseoverイベント、mouseoutイベントなど
・入力フィールド(inputタグ、textareaタグ):changeイベント、keyupイベント、keydownイベント、blurイベントなど
・チェックボックス(inputタグのtype属性がcheckboxの場合):changeイベント、clickイベントなど
・リンク(aタグ):clickイベント、mouseoverイベント、mouseoutイベントなど
・ラジオボタン(inputタグのtype属性がradioの場合):changeイベント、clickイベントなど
・ドロップダウンリスト(selectタグ):changeイベント、clickイベントなど
・リストボックス(selectタグのmultiple属性が指定されている場合):changeイベント、clickイベントなど
・フォーム(formタグ):submitイベント、resetイベントなど
例えば、描画オブジェクトに対して、ユーザがクリックにより押下操作を行うと、clickイベントが発火し、クリックイベントに割り当てられたイベントハンドラにかかる処理が実行される。描画オブジェクトごとに様々なイベントを割り当てることができる。
【0024】
なお、本開示では入力操作テーブルにおいて、操作対象となる描画オブジェクトと、描画オブジェクトが発火するイベントをそれぞれ、操作対象データ、イベントデータの項目に分けて記憶する構成を一例として開示するがそれに限られる必要はない。例えば、操作対象データ、イベントデータを区別せずにまとめて記憶しても構わないし、操作対象データ、イベントデータのそれぞれに記憶される情報をより細かい粒度のデータに分類して、それぞれ入力操作テーブルの異なるカラムに記憶しても構わない。
日時は、入力操作テーブルに新たにレコードが記憶されたり更新された際の記憶日時を記憶する項目である。具体的に、ユーザが操作対象データにより特定される描画オブジェクトに対して、イベントデータにより特定されるイベントが発火された日時が記憶される。つまり、ユーザによる操作日時が記憶される。
【0025】
学習モデル2021は、機械学習、深層学習、人工知能モデルである。学習モデル2021は、マルコフ連鎖モデルを含んでも良い。マルコフ連鎖モデルに系列データを入力した場合、モデルは次に出現するデータの予測を行うことができる。具体的に、現在の状態を表すデータに基づいて、次に現れるデータの確率分布を推定する。また、学習モデル2021は、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)等の系列データを対象とする深層学習モデルを含んでも良い。この場合も、モデルは次に出現するデータの予測を行うことができる。学習モデル2021は、単一の学習モデルである必要はなく、複数の学習モデルを含んでいても良い。
【0026】
<ユーザ端末20の制御部204の構成>
ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042、記憶制御部2043、予測制御部2044、提示制御部2045、学習部2051を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0027】
記憶制御部2043は、ユーザのユーザ端末20に対する入力操作に関する入力操作情報を入力操作テーブル2013に記憶する処理を実行する。詳細は後述する。
【0028】
予測制御部2044は、入力操作テーブル2013に記憶された入力操作情報に基づき、ユーザが次に行う1または複数の入力操作候補を予測(推論)し、特定する処理を実行する。詳細は後述する。
【0029】
提示制御部2045は、予測制御部2044により特定された入力操作候補をユーザに対して提示する処理を実行する。詳細は後述する。
【0030】
学習部2051は、学習モデル2021を学習する処理を実行する。詳細は後述する。
【0031】
なお、本開示においては一例として、ユーザ端末20の記憶部201に入力操作テーブル1013、学習モデル2021が記憶され、ユーザ端末20の制御部204が記憶制御部2043、予測制御部2044、提示制御部2045、学習部2051を備える例を一例として開示したがそれに限られない。例えば、サーバ10の記憶部101に入力操作テーブル1013、学習モデル2021が記憶され、サーバ10の制御部104が記憶制御部2043、予測制御部2044、提示制御部2045、学習部2051を備える構成としても良い。この場合、ユーザ端末20は、サーバ10に対して所定の情報を含むリクエストを送信し、サーバ10から所定のレスポンスを受信することにより、本開示にかかる発明と同様の内容を実現することができる。そのようなものも、本開示は含む。また、それらテーブルまたは制御部の一部または全部をサーバ10が備え、それ以外をユーザ端末20が備える構成としても構わない。
【0032】
<ユーザ端末20の入力装置206の構成>
ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0033】
<ユーザ端末20の出力装置208の構成>
ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0034】
<システム1の動作>
以下、システム1の各処理について説明する。
図6は、候補提案処理の動作を示すフローチャートである。
図7は、候補提案処理の動作を示す画面例である。
【0035】
<候補提案処理>
候補提案処理は、ユーザからの入力操作を受け付けて、次にユーザが入力操作を行う可能性がある入力操作候補をユーザに提案し、入力操作候補の選択を受け付けて入力操作候補にかかる入力操作を実行する処理である。
【0036】
<候補提案処理の概要>
候補提案処理は、ユーザから入力操作を受け付けて、入力操作候補の特定を行い、ユーザに対して入力操作候補を提示し、ユーザから入力操作候補の承認を受け付け、承認された入力操作候補にかかる入力操作を実行する一連の処理である。
【0037】
<候補提案処理の詳細>
以下に、候補提案処理の詳細を説明する。
【0038】
ステップS101において、ユーザ端末20の記憶制御部2043は、ウェブブラウザ上でユーザにより行われた複数の連続する入力操作に関する複数の操作情報を取得する操作取得ステップを実行する。具体的に、操作取得ステップは、ウェブブラウザ上でユーザにより行われる描画オブジェクトに対する複数の操作情報を取得するステップを実行する。
ユーザは、ユーザ端末20の入力装置206を操作することにより、ウェブブラウザ等に所定のウェブサイトのURLを入力し、ウェブサイトが提供するウェブサービスページを開く。ユーザ端末20は、ウェブサイトの運営者等が提供するウェブサーバからウェブページを受信しユーザ端末20のディスプレイ2081に表示する。
ユーザは、ユーザ端末20の入力装置206を操作することにより、ウェブブラウザ上に描画された描画オブジェクトに対する各種入力操作を実行する。例えば、ユーザは、ユーザ端末20の入力装置206を操作することにより、ウェブブラウザ上に配置されたボタンやリンクをクリックしたり、ウェブブラウザ上に配置された入力フィールドに文字列を入力することができる。
例えば、ウェブサービスが会計処理に関するサービスである場合は、ユーザは、ユーザ端末20の入力装置206を操作することにより、取引先の情報、請求書の情報、支払の情報などを、各種ボタンを操作することによりウェブページを切り替えたり、各種入力フィールドに情報を入力することにより実行する。
【0039】
操作取得ステップは、描画オブジェクトのオブジェクト種別、オブジェクトID、CSSクラス、および、ラベルに関する情報を含む描画オブジェクト情報を取得するステップと、描画オブジェクトが発火するイベントのイベント名を含むイベント情報を取得するステップと、ユーザによる入力操作の対象となるウェブブラウザ上で開かれているウェブサイトを特定するサービス識別情報を取得するステップと、を含む。
具体的に、ユーザ端末20の制御部204は、ユーザによるユーザ端末20の入力装置206に対する入力操作に従い、ユーザが入力操作を行った描画オブジェクトのオブジェクト種別、オブジェクトID、CSSクラス、および、ラベルに関する情報を含む描画オブジェクト情報(オブジェクト情報)、描画オブジェクトが発火するイベントのイベント名を含むイベント情報を取得する。また、ユーザ端末20の制御部204は、ウェブサイトのURL、ドメイン名等のウェブサービスを特定するためのサービス識別情報、ユーザID2011を取得する。
【0040】
なお、本開示においては、ユーザ端末20の制御部204により実行されているウェブブラウザアプリケーション上において拡張機能プログラムが実行されることにより、ユーザが、ユーザ端末20の入力装置206によりウェブブラウザ上で行った入力操作に関する入力操作情報を取得することができる。具体的に、ウェブブラウザアプリケーションにおけるMutationObserverの仕組みを用いて、ユーザによるユーザ端末20の入力装置206に対する入力操作に関する入力操作情報を取得できる。
【0041】
ユーザ端末20の記憶制御部2043は取得した、ユーザID2011、サービス識別情報、オブジェクト情報、イベント情報を、それぞれ、入力操作テーブル2013のユーザID、サービスID、操作対象データ、イベントデータの項目に記憶する。
【0042】
ステップS102において、ユーザ端末20の予測制御部2044は、操作取得ステップにおいて取得した複数の操作情報に基づき、複数の操作情報に対して学習モデルを適用することにより、ユーザが次に行う1または複数の入力操作候補を特定する候補特定ステップを実行する。
候補特定ステップは、ユーザが次に行う1または複数の描画オブジェクト候補に対する1または複数の入力操作候補を特定するステップを実行する。具体的に、候補特定ステップは、ユーザが次に行う1または複数の描画オブジェクト候補のそれぞれに対応する、1または複数のオブジェクトID(候補オブジェクトID)、および、イベント名(候補イベント名)を取得するステップを実行する。
具体的に、ユーザ端末20の予測制御部2044は、ユーザID2011に基づき、入力操作テーブル2013のユーザIDの項目を検索し、複数の入力操作情報を取得する。ユーザ端末20の予測制御部2044が取得する入力操作情報は、直近所定期間の複数の入力操作情報(直近、数秒~数分程度の期間に含まれる入力操作情報)としても良い。
ユーザ端末20の予測制御部2044は、取得した複数の入力操作情報を入力データとして、学習モデル2021に適用することにより、ユーザが次に行う1または複数の入力操作候補に関する情報を取得する。入力操作候補は、オブジェクト情報、イベント情報と同様の情報を含む。具体的に、入力操作候補は、ユーザが次に行う入力操作の対象となる1または複数の描画オブジェクトを特定するための候補オブジェクトIDと、当該候補オブジェクトIDのそれぞれに関連付けられる候補イベント名を含む。
入力操作候補は、オブジェクト情報、イベント情報のいずれか1つのみを含み、一方を含まない構成としても良い。また、学習モデル2021に入力する入力データにユーザID2011、サービス識別情報を含んでも良い。1または複数の入力操作候補は、それぞれの入力操作候補の尤度、確率、スコア等の優先度に関する情報を含んでも良い。具体的に、1または複数の描画オブジェクト候補に対して、1または複数の入力操作候補にかかる入力操作が実行される確率を示す情報(確からしさを示す情報)が関連付けられて含まれていても良い。
【0043】
候補特定ステップは、操作取得ステップにおいて取得したユーザにより行われた最新の入力操作に応じて、ユーザが次に行う1または複数の入力操作候補を特定するステップを実行する。
具体的に、ユーザ端末20の予測制御部2044は、ステップS101において最新のオブジェクト情報、イベント情報を含む入力操作情報を取得したことに応じて、ユーザが次に行う1または複数の入力操作候補に関する情報を特定し、取得する構成としても良い。
【0044】
学習モデル2021は、ユーザごとに異なる複数の学習モデルを用意しても、ユーザが所属するグループごとに異なる複数の学習モデルを用意しても、すべてのユーザに対して共通の1の学習モデルを用意しても良い。
例えば、ユーザ端末20の予測制御部2044は取得したユーザ識別情報に基づき、学習モデル2021に含まれる複数の学習モデルのうち、当該ユーザ識別情報に関連付けられたユーザによる入力操作情報に基づき学習処理が行われた所定の学習モデルを特定する。ユーザ端末20の予測制御部2044は、取得した複数の入力操作情報を入力データとして、所定の学習モデルに適用することにより、ユーザが次に行う1または複数の入力操作候補に関する情報を取得する。なお、複数の学習モデルは、ユーザ識別情報と関連付けられて、ユーザ端末20の記憶部201に記憶され、ユーザ端末20の予測制御部2044は、ユーザ識別情報に基づき所定の学習モデルを特定し、取得可能な構成とすることができる。
【0045】
ステップS102において、候補特定ステップは、操作取得ステップにおいて取得したサービス識別情報に基づき複数の学習モデルのうち所定の学習モデルを特定するステップと、複数の操作情報に対して所定の学習モデルを適用することにより、ユーザが次に行う1または複数の入力操作候補を特定するステップと、を含む。
具体的に、学習モデル2021は、サービス識別情報ごとに異なる学習モデルを用意しても良い。例えば、ユーザ端末20の予測制御部2044は取得したサービス識別情報に基づき、学習モデル2021に含まれる複数の学習モデルのうち、当該サービス識別情報に関連付けられた入力操作情報に基づき学習処理が行われた所定の学習モデルを特定する。ユーザ端末20の予測制御部2044は、取得した複数の入力操作情報を入力データとして、所定の学習モデルに適用することにより、ユーザが次に行う1または複数の入力操作候補に関する情報を取得する。なお、複数の学習モデルは、サービス識別情報と関連付けられて、ユーザ端末20の記憶部201に記憶され、ユーザ端末20の予測制御部2044は、サービス識別情報に基づき所定の学習モデルを特定し、取得可能な構成としても良い。
この場合、学習モデル2021をサーバ10へ記憶することにより、サービス識別情報により特定されるウェブサービスにおいて複数のユーザによる入力操作に応じて学習された学習モデル2021の内容を、他のユーザが利用することができるものとしても良い。これにより、学習データが少ない場合においても、ウェブサービスごとのユーザの過去の入力操作情報に応じて、適切な入力操作候補をユーザに対して提案することができる。
【0046】
学習モデル2021は、すべてのウェブサイトに対して共通の1の学習モデルを用意しても良い。
【0047】
ステップS103において、ユーザ端末20の提示制御部2045は、候補特定ステップにおいて特定された1または複数の入力操作候補をユーザに提案する候補提案ステップを実行する。
具体的に、ユーザ端末20の提示制御部2045はステップS102において特定したユーザが次に行う1または複数の入力操作候補をユーザ端末20のディスプレイ2081に表示することによりユーザに1または複数の入力操作候補を提示する。
【0048】
ステップS103において、候補提案ステップは、ウェブブラウザ上に描画された1または複数の描画オブジェクト候補と、1または複数の入力操作候補のそれぞれを関連付けて提案するステップを実行する。例えば、候補提案ステップは、1または複数の描画オブジェクト候補の表示態様を変更するステップを含む。
図7は、候補提案処理の動作を示す候補提案画面の画面例である。ユーザ端末20のディスプレイ2081に表示される、候補提案画面D10には、ウェブブラウザ画面に表示されたウェブサービスページに描画された各描画オブジェクトD101、D102、D103のそれぞれに、1または複数の入力操作候補のそれぞれが関連付けて表示される。
具体的に、各描画オブジェクトD101、D102、D103は、赤色等の強調された色彩、太字・下線等の文字装飾、拡大、その他アイコン等が近くに配置されるように表示態様が変更される。これにより、入力操作候補にかかる1または複数の描画オブジェクト候補は、他の描画オブジェクトとは異なる識別可能な表示態様で表示される。
また、ユーザ端末20のマウス等のポインティングデバイスのカーソル等を、各描画オブジェクトD101、D102、D103のいずれかの位置に移動させても良い。例えば、カーソルを、最も優先度が高い描画オブジェクトの位置に移動させても良い。これにより、ユーザは、ポインティングデバイスのカーソル位置を移動させる操作を行うことなく、クリックするのみで描画オブジェクトに対する入力操作を実行することができる。
また、ユーザ端末20のポインティングデバイスのカーソル位置に、各描画オブジェクトの入力操作候補をコンテキストメニューの形式で一覧表示しても良い。これにより、ユーザは、ポインティングデバイスのカーソルによりコンテキストメニューに表示された入力操作候補を選択するのみで、各描画オブジェクトD101、D102、D103までカーソルを移動することなしに、入力操作候補を選択することができる。
【0049】
ステップS103において、候補提案ステップは、候補特定ステップにおいて特定された1または複数の入力操作候補が、テキスト入力フィールドに対する入力操作候補である場合には、ユーザによる入力操作をすることなしに、テキスト入力フィールドに対して入力操作候補にかかる入力操作を実行することにより1または複数の入力操作候補をユーザに提案するステップを実行する。
具体的に、描画オブジェクトD103がテキストを入力可能なテキスト入力フィールドである場合には、ユーザ端末20の制御部204は、入力操作候補のイベントデータに含まれる入力フィールドの入力値に関する文字列情報を、当該テキスト入力フィールドにかかる描画オブジェクトD103に入力する。
これにより、ユーザはテキスト入力フィールドに対する入力操作を行うことなしに、テキスト入力フィールドに対する入力操作を自動的に実行させることができる。ユーザは、テキストフィールドに対する入力操作を省略することができる。
【0050】
本開示の適用対象はテキスト入力フィールドに限られる必要はなく、チェックボックス、ラジオボタン、ドロップダウンリスト、リストボックス等の描画オブジェクトの入力値(選択値)に対しても適用可能である。そのような場合においても、ユーザ端末20の制御部204は、入力操作候補に含まれる入力値に基づき、チェックボックス、ラジオボタン、ドロップダウンリスト、リストボックス等の描画オブジェクトの入力値が選択された状態として入力操作候補をユーザに提示しても良い。
【0051】
ステップS104において、ユーザ端末20の制御部204は、候補提案ステップにおいて提案した1または複数の入力操作候補のうち、少なくとも1つの所定の入力操作候補の承認を受け付ける承認受付ステップを実行する。承認受付ステップは、ユーザによる所定の入力操作に応じて、所定の入力操作候補の承認を受け付けるステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、描画オブジェクトD101、D102、D103のいずれかに対する承認操作を行う。
例えば、描画オブジェクトD101、D102、D103のそれぞれに対応する入力操作候補の優先度に応じて、「1」、「2」、「3」等のキーが割り当てられる構成としても良い。この場合、ユーザは、ユーザ端末20のキーボードの「1」、「2」、「3」のそれぞれのキーを押下することにより、当該キーが割り当てられた描画オブジェクトD101、D102、D103にかかる入力操作候補を承認することができる。この場合、ユーザは、ポインティングデバイス等を操作することなく、キーボードの所定のキーの押下のみで入力操作候補を承認することができるため、短時間で煩雑な入力操作なく入力操作候補を承認することができる。なお、押下するキーボードのラベル「1」、「2」、「3」は、それぞれが関連付けられた描画オブジェクトD101、D102、D103に添えて関連付けてユーザに対して提示しても良い。
ユーザは、ユーザ端末20のマウス等のポインティングデバイスを用いて、描画オブジェクトD101、D102、D103を選択することにより、描画オブジェクトD101、D102、D103のそれぞれに対応する入力操作候補を承認できる構成としても良い。
なお、ユーザがユーザ端末20のキーボードの「エンターキー」等を押下する所定の入力操作に応じて、描画オブジェクトD101、D102、D103にかかる入力操作候補のうち、優先度が最も高い(例えば、最も尤度が高い)1の入力操作候補が承認される構成としても良い。なお、ユーザが押下するキーは、任意のショートカットキーを割り当て可能である。
【0052】
ステップS105において、ユーザ端末20の制御部204は、承認受付ステップにおいて受け付けた所定の入力操作候補の承認に応じて、入力操作候補にかかる入力操作を実行する。
具体的に、ユーザ端末20の制御部204は、ステップS104において承認された入力操作候補にかかる入力操作を実行する。具体的に、ユーザ端末20の制御部204は、承認された入力操作候補に含まれるオブジェクト情報(例えば、候補オブジェクトID)に基づき描画オブジェクトを特定し、イベント情報(候補イベント名)にかかるイベントを発火させたり、イベント情報に含まれるイベントハンドラを実行する。
これにより、ユーザは提案を受けた1または複数の入力操作候補に対して選択的に、当該入力操作候補にかかる入力操作を簡単に実行させることができる。
【0053】
ステップS105において、ユーザ端末20の制御部204は、承認受付ステップにおいて受け付けた所定の入力操作候補の承認に応じて、入力操作候補にかかる入力操作を、ユーザによる入力操作をすることなしに実行する操作実行ステップを実行しても良い。
具体的に、ユーザ端末20の制御部204は、ユーザによる入力操作を受け付けることなく、自動的に1の入力操作候補にかかる入力操作を自動的に実行しても良い。例えば、ユーザ端末20の制御部204は、ステップS102において複数の入力操作候補が特定されている場合には、優先度が最も高い(例えば、最も尤度が高い)1の入力操作候補を、ユーザによる入力操作を受け付けることなく実行しても良い。また、この場合は、優先度または尤度等のスコアが所定値以上である場合にのみ実行し、所定値未満である場合には実行しない構成としても良い。また、入力操作候補を実行する前に、ユーザに対して承認ボタンの押下等の操作を要求する画面を提示し、当該画面における承認操作に応じて入力操作を実行しても良い。
この場合、ステップS104における入力操作候補の承認を省略しても良い。この場合、ユーザは、入力操作候補の承認操作を行うことなしに、入力操作候補にかかる入力操作を自動的に実行させることができる。
【0054】
本開示においては入力操作候補として1の入力操作候補にかかる入力操作が実行される構成を一例として説明したが、提案、承認、実行される入力操作候補は1の候補オブジェクト、候補イベント名にかかる入力操作候補である必要はなく、複数の連続する入力操作候補からなる入力操作候補群が提案、承認、実行される制御としても良い。
例えば、「取引先の情報入力」、「請求書の情報入力」、「送信ボタンの押下」等の時系列的に連続する複数の入力操作候補からなる入力操作候補群をユーザに対して提案し、当該入力操作候補群に対する承認操作を受け付けるものとしても良い。これにより、ユーザは、複数の連続する入力操作候補にかかる入力操作を一度に実行することができる。煩雑な入力操作を省略することができる。
【0055】
なお、ユーザ端末20の記憶制御部2043は、ステップS105において実行される入力操作も、ユーザ端末20の入力操作テーブル2013に記憶する。なお、ユーザ端末20の記憶制御部2043は、ユーザ端末20において実行される入力操作は、候補提案処理の実行中においてもユーザ端末20の入力操作テーブル2013に記憶する。
【0056】
<学習処理>
学習モデル2021の学習処理を以下に説明する。
【0057】
<学習モデル2021の学習処理>
学習モデル2021の学習処理は、学習モデル2021に含まれるディープニューラルネットワークの学習パラメータを深層学習により学習させる処理を一例として説明する。学習モデル2021は、機械学習モデル、任意の人工知能モデルを含んでも良く、必ずしも本開示にかかる学習処理により学習させなくとも構わない。
【0058】
<学習モデル2021の学習処理の説明>
本開示における学習モデル2021の学習データは、入力操作テーブル2013に記憶された入力操作情報である。学習データは、ユーザIDごと、サービスIDごとに抽出して、それぞれ異なる学習モデルの学習処理に用いても良い。つまり、学習モデル2021は、すべてのユーザ、すべてのサービスに対して共通の1の学習モデルである必要はない。
【0059】
例えば、所定のユーザIDに基づき入力操作テーブル2013から抽出された入力操作情報に基づき学習モデルを学習し、当該所定のユーザIDと関連付けて記憶しても良い。これにより、所定のユーザIDにより特定されるユーザにより過去に行われた入力操作情報に基づき、次の入力操作候補情報を推論する学習モデルを作成することができる。
同様に、所定のサービスIDに基づき入力操作テーブル2013から抽出された入力操作情報に基づき学習モデルを学習し、当該所定のサービスIDと関連付けて記憶しても良い。これにより、所定のサービスIDにより特定されるウェブサービスに対して過去に行われた入力操作情報に基づき、次の入力操作候補情報を推論する学習モデルを作成することができる。
なお、所定のユーザIDおよび所定のサービスIDに基づき入力操作テーブル2013から抽出された入力操作情報に基づき学習モデルを学習し、当該所定のユーザIDおよび所定のサービスIDと関連付けて記憶しても良い。これにより、所定のユーザIDにより特定されるユーザにより所定のサービスIDにより特定されるウェブサービスに対して過去に行われた入力操作情報に基づき、次の入力操作候補情報を推論する学習モデルを作成することができる。
【0060】
学習モデル2021の学習処理は、入力操作テーブル2013から取得した日時順に並べられた複数の入力操作情報(時系列的に並べられた複数の入力操作情報)に基づき学習処理が行われる。
具体的に、学習モデル2021の学習処理は、時系列的に並べられた複数の入力操作情報を入力データ(入力ベクトル)として、時系列において複数の入力操作情報の次の入力操作情報が出力データ(教師データ)となるように、学習モデル2021に含まれるディープニューラルネットワークの学習パラメータを深層学習により学習させる処理である。
例えば、時系列的に並べられた複数の入力操作情報が、[入力操作情報1,入力操作情報2,入力操作情報3,入力操作情報4]である場合を一例として説明する。この場合、入力データは、[入力操作情報1]に対して、出力データは、[入力操作情報2]となる。入力データは、[入力操作情報1,入力操作情報2]に対して、出力データは、[入力操作情報3]となる。入力データは、[入力操作情報1,入力操作情報2,入力操作情報3]に対して、出力データは、[入力操作情報4]となる。なお、入力操作情報の系列は所定の期間に含まれる入力操作情報の系列とし、それ以上古い入力操作情報は学習処理に用いなくとも構わない。
学習モデル2021の入力データである入力操作情報は、オブジェクト情報、イベント情報のいずれか1つのみを含み、一方を含まない構成としても良い。学習モデル2021の出力データである入力操作情報は、オブジェクト情報、イベント情報のいずれか1つのみを含み、一方を含まない構成としても良い。
【0061】
<学習モデル2021の学習処理の詳細>
ユーザ端末20の学習部2051は、時系列的に並べられた複数の入力操作情報を入力操作テーブル2013から取得する。
ユーザ端末20の学習部2051は、時系列的に並べられた複数の入力操作情報(入力操作情報N、入力操作情報N-1、・・・)を入力データ(入力ベクトル)として、時系列において複数の入力操作情報の次の入力操作情報(入力操作情報N+1)が出力データ(教師データ)となるよう、学習データを作成する。
ユーザ端末20の学習部2051は、学習データに基づき、学習モデル2021のディープニューラルネットワークを学習させるための訓練データ、テストデータ、検証データなどのデータセットを作成する。
ユーザ端末20の学習部2051は、作成したデータセットに基づき学習モデル2021に含まれるディープニューラルネットワークの学習パラメータを深層学習により学習させる。
【0062】
本開示においては、学習処理は、ユーザ端末20の学習部2051により実行される構成を一例として開示したが、ユーザ端末20において取得した入力操作情報をサーバ10へ送信することにより、サーバ10により設けられた学習部2051により実行される構成としても良い。
【0063】
<コンピュータの基本ハードウェア構成>
図8は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0064】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0065】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0066】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0067】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0068】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0069】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(図8)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0070】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0071】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0072】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0073】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0074】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0075】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0076】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0077】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、ウェブブラウザ上でユーザにより行われた複数の連続する入力操作に関する複数の操作情報を取得する操作取得ステップ(S101)と、操作取得ステップにおいて取得した複数の操作情報に基づき、ユーザが次に行う1または複数の入力操作候補を特定する候補特定ステップ(S102)と、候補特定ステップにおいて特定された1または複数の入力操作候補をユーザに提案する候補提案ステップ(S103)と、を実行するプログラム。
これにより、ユーザは、自身が行った複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を受けることができる。ユーザによる入力操作を補助することができる。
【0078】
(付記2)
候補特定ステップ(S102)は、複数の操作情報に対して学習モデルを適用することにより、ユーザが次に行う1または複数の入力操作候補を特定するステップである、付記1記載のプログラム。
これにより、ユーザは、自身が行った様々な異なる描画オブジェクト等に対する複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を精度良く受けることができる。
【0079】
(付記3)
学習モデルは、マルコフ連鎖モデルを含む、付記2記載のプログラム。
これにより、ユーザは、自身が行った複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を精度良く受けることができる。
【0080】
(付記4)
操作取得ステップ(S101)は、ユーザによる入力操作の対象となる、ウェブブラウザ上で開かれているウェブサイトを特定するサービス識別情報を取得するステップを含み、候補特定ステップ(S102)は、操作取得ステップにおいて取得したサービス識別情報に基づき複数の学習モデルのうち所定の学習モデルを特定するステップと、複数の操作情報に対して所定の学習モデルを適用することにより、ユーザが次に行う1または複数の入力操作候補を特定するステップと、を含む、付記2記載のプログラム。
これにより、ユーザが入力操作を行うウェブサイトまたはウェブサービスごとに、異なる学習モデルに応じて、次に行う可能性が高い入力操作候補の提案を精度良く受けることができる。
【0081】
(付記5)
操作取得ステップ(S101)は、ウェブブラウザ上でユーザにより行われる描画オブジェクトに対する複数の操作情報を取得するステップであり、候補特定ステップ(S102)は、ユーザが次に行う1または複数の描画オブジェクト候補に対する1または複数の入力操作候補を特定するステップであり、候補提案ステップ(S103)は、ウェブブラウザ上に描画された1または複数の描画オブジェクト候補と、1または複数の入力操作候補のそれぞれを関連付けて提案するステップである、付記1記載のプログラム。
これにより、ユーザは、ウェブブラウザ上に描画されている描画オブジェクトに対する入力操作に応じて、次に行う可能性が高い入力操作候補となる描画オブジェクト候補の提案を受けることができる。
【0082】
(付記6)
候補提案ステップ(S103)は、1または複数の描画オブジェクト候補の表示態様を変更するステップを含む、付記5記載のプログラム。
これにより、ユーザは、ウェブブラウザ上に描画されている描画オブジェクトのうち、次に行う可能性が高い入力操作候補となる描画オブジェクト候補を容易に視認することができる。例えば、ユーザは、当該描画オブジェクト候補に対する入力操作を行うことにより入力操作候補にかかる入力操作を実行させることができる。
【0083】
(付記7)
操作取得ステップ(S101)は、描画オブジェクトのオブジェクト種別、オブジェクトID、CSSクラス、および、ラベルに関する情報を含む描画オブジェクト情報を取得するステップと、描画オブジェクトが発火するイベントのイベント名を含むイベント情報を取得するステップと、を含み、候補特定ステップ(S102)は、ユーザが次に行う1または複数の描画オブジェクト候補のそれぞれに対応する、1または複数のオブジェクトID、および、イベント名を取得するステップである、付記5記載のプログラム。
これにより、ユーザは、ウェブブラウザ上に描画されている描画オブジェクトに対する入力操作に応じて、次に行う可能性が高い入力操作候補となる描画オブジェクト候補の提案を受けることができる。
【0084】
(付記8)
プログラムは、候補提案ステップにおいて提案した1または複数の入力操作候補のうち、少なくとも1つの所定の入力操作候補の承認を受け付ける承認受付ステップ(S104)と、承認受付ステップにおいて受け付けた所定の入力操作候補の承認に応じて、当該入力操作候補にかかる入力操作を、ユーザによる当該入力操作をすることなしに実行する操作実行ステップ(S105)と、を実行する付記1記載のプログラム。
これにより、ユーザは提案を受けた1または複数の入力操作候補に対して、当該入力操作候補にかかる入力操作を簡単に実行させることができる。
【0085】
(付記9)
承認受付ステップ(S104)は、ユーザによる所定の入力操作に応じて、所定の入力操作候補の承認を受け付けるステップである、付記8記載のプログラム。
これにより、ユーザは所定の入力操作(エンターキーの押下等、右クリック)を行うだけで、当該入力操作候補にかかる入力操作を簡単に実行させることができる。
【0086】
(付記10)
候補特定ステップ(S102)は、操作取得ステップにおいて取得したユーザにより行われた最新の入力操作に応じて、ユーザが次に行う1または複数の入力操作候補を特定するステップである、付記1記載のプログラム。
これにより、ユーザによる最新の入力操作に応じてユーザはリアルタイムに入力操作候補の提案を受けることができる。
【0087】
(付記11)
候補提案ステップ(S103)は、候補特定ステップにおいて特定された1または複数の入力操作候補が、テキスト入力フィールドに対する入力操作候補である場合には、ユーザによる入力操作をすることなしに、当該テキスト入力フィールドに対して入力操作候補にかかる入力操作を実行することにより1または複数の入力操作候補をユーザに提案するステップである、付記1記載のプログラム。
これにより、ユーザはテキスト入力フィールドに対する入力操作を行うことなしに、テキスト入力フィールドに対する入力操作を自動的に実行させることができる。ユーザは、テキストフィールドに対する入力操作を省略することができる。
【0088】
(付記12)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する方法。
これにより、ユーザは、自身が行った複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を受けることができる。ユーザによる入力操作を補助することができる。
【0089】
(付記13)
制御部と、記憶部とを備える情報処理装置であって、制御部が、付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
これにより、ユーザは、自身が行った複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を受けることができる。ユーザによる入力操作を補助することができる。
【0090】
(付記14)
付記1から付記11のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
これにより、ユーザは、自身が行った複数の連続する入力操作に応じて、次に行う可能性が高い入力操作候補の提案を受けることができる。ユーザによる入力操作を補助することができる。
【符号の説明】
【0091】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置


図1
図2
図3
図4
図5
図6
図7
図8