(57)【要約】【課題】第一情報の記載を利用して第二情報の編集を行う場合に、第二情報の中のある箇所に編集が行われた際に用いられた第一情報を特定することができる情報処理装置及びプログラムを提供する。【解決手段】サーバ装置１０は、ユーザが閲覧した複数の第一情報から、第一情報に記載されているコンテンツの情報であるコンテンツ情報を取得する第２取得部４０と、ユーザが作業を行う対象である第二情報から、ユーザが編集を行った箇所を抽出する抽出部４２と、複数の第一情報のうち、ユーザが当該箇所を編集中又は編集の前後に閲覧していた第一情報をコンテンツ情報から特定する特定部４４と、を備える。【選択図】図３
2020077241.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが閲覧した複数の第一情報から、前記第一情報に記載されているコンテンツの情報であるコンテンツ情報を取得する取得部と、
前記ユーザが作業を行う対象である第二情報から、前記ユーザが編集を行った箇所を抽出する抽出部と、
前記複数の第一情報のうち、前記ユーザが前記箇所を編集中又は編集の前後に閲覧していた第一情報を前記コンテンツ情報から特定する特定部と、
を備えた情報処理装置。
【請求項２】
前記取得部は、前記ユーザが前記第一情報に対して行った操作についての情報であるインタラクション情報を更に取得し、
前記特定部は、前記インタラクション情報を更に用いて、前記特定した第一情報を有用性のある第一情報として更に特定する請求項１に記載の情報処理装置。
【請求項３】
前記インタラクション情報は、前記ユーザが前記編集の前又は前記編集の後で閲覧していた第一情報に対して行った操作についての情報である請求項２に記載の情報処理装置。
【請求項４】
前記インタラクション情報は、前記ユーザが使用する入力デバイスによる前記第一情報への操作内容から得られる情報を含む請求項３に記載の情報処理装置。
【請求項５】
前記インタラクション情報は、前記ユーザが前記第一情報を閲覧した時間である閲覧時間を更に含む請求項４に記載の情報処理装置。
【請求項６】
前記特定部は、前記抽出部により抽出された箇所が前記ユーザにより２回編集されている場合に、２回目の編集の際に特定した第一情報を、１回目の編集の際に特定した第一情報よりも有用性が高いと特定する請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第一情報の有用性を示す値は、前記コンテンツ情報から得られる特徴量に基づいて導出されており、
前記特定部は、最初に特定した第一情報の有用性を示す値よりも、前記箇所に新たに記載された内容が記載されている第一情報の有用性を示す値を大きく出力するとともに、前記最初に特定した第一情報の有用性を示す値を、前記ユーザが閲覧した第一情報のうち特定しなかった第一情報の有用性を示す値よりも小さく出力する請求項６に記載の情報処理装置。
【請求項８】
前記取得部は、前記ユーザが前記第一情報の閲覧前、閲覧中、及び閲覧後の少なくとも１つのタイミングで前記第二情報に対して行った作業についての作業情報を更に取得し、
前記特定部は、前記作業情報を更に用いて、前記特定した第一情報を有用性のある第一情報として更に特定する請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項９】
前記取得部は、前記ユーザが前記第一情報に対して行った操作についての情報であるインタラクション情報と、前記ユーザが前記第一情報の閲覧前、閲覧中、及び閲覧後の少なくとも１つのタイミングで前記第二情報に対して行った作業についての作業情報とを更に取得し、
前記特定部は、前記コンテンツ情報、前記インタラクション情報、及び前記作業情報の少なくとも１つから得られる特徴量に基づいて、前記特定した第一情報の有用性を示す値を導出し、導出した有用性を示す値に基づいて、有用性のある第一情報を更に特定する請求項１に記載の情報処理装置。
【請求項１０】
前記取得部は、前記有用性を示す値に基づいて、前記ユーザに対して、前記第一情報の有用性の評価を取得すると判定された場合に、前記ユーザから、前記第一情報についての有用性の評価を更に取得する請求項９に記載の情報処理装置。
【請求項１１】
前記有用性のある第一情報の特定は、前記特徴量を入力として、前記有用性を示す値を出力する機械学習モデルを用いて行われており、
前記取得部により取得された評価と前記評価に対応する特徴量とのペアを学習用データとして前記機械学習モデルに入力し、前記機械学習モデルを更新する更新部を更に備えた請求項１０に記載の情報処理装置。
【請求項１２】
コンピュータを、請求項１〜１１のいずれか１項に記載の情報処理装置が備える各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、特許文献１には、Ｗｅｂページ等に対するユーザの関心度の精度を向上させることが可能なサーバ装置が記載されている。このサーバ装置は、端末装置の表示領域に対するスクロール操作情報と表示領域に表示されているコンテンツを特定するためのコンテンツ特定情報とを端末装置から取得する情報取得手段と、取得したスクロール操作情報に基づいて、取得したコンテンツ特定情報により特定されるコンテンツに対するユーザの関心度を算出する関心度算出手段と、を備える。また、この関心度算出手段は、スクロール操作情報に基づいて関心度を算出する際に、ユーザがコンテンツの内容を把握する時間に影響を与えるパラメータに応じた重み付けにより関心度を調整する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５１８５２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、複数のＷｅｂページの記載を参考にして情報の編集を行う場合に、編集を行う際に役に立ったＷｅｂページと、役に立たなかったＷｅｂページとが存在する場合がある。
【０００５】
本発明は、第一情報の記載を利用して第二情報の編集を行う場合に、第二情報の中のある箇所に編集が行われた際に用いられた第一情報を特定することができる情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、第１態様に係る情報処理装置は、ユーザが閲覧した複数の第一情報から、前記第一情報に記載されているコンテンツの情報であるコンテンツ情報を取得する取得部と、前記ユーザが作業を行う対象である第二情報から、前記ユーザが編集を行った箇所を抽出する抽出部と、前記複数の第一情報のうち、前記ユーザが前記箇所を編集中又は編集の前後に閲覧していた第一情報を前記コンテンツ情報から特定する特定部と、を備えている。
【０００７】
また、第２態様に係る情報処理装置は、第１態様に係る情報処理装置において、前記取得部が、前記ユーザが前記第一情報に対して行った操作についての情報であるインタラクション情報を更に取得し、前記特定部が、前記インタラクション情報を更に用いて、前記特定した第一情報を有用性のある第一情報として更に特定する。
【０００８】
また、第３態様に係る情報処理装置は、第２態様に係る情報処理装置において、前記インタラクション情報が、前記ユーザが前記編集の前又は前記編集の後で閲覧していた第一情報に対して行った操作についての情報であるとされている。
【０００９】
また、第４態様に係る情報処理装置は、第３態様に係る情報処理装置において、前記インタラクション情報が、前記ユーザが使用する入力デバイスによる前記第一情報への操作内容から得られる情報を含んでいる。
【００１０】
また、第５態様に係る情報処理装置は、第４態様に係る情報処理装置において、前記インタラクション情報が、前記ユーザが前記第一情報を閲覧した時間である閲覧時間を更に含んでいる。
【００１１】
また、第６態様に係る情報処理装置は、第１態様〜第５態様のいずれか１の態様に係る情報処理装置において、前記特定部が、前記抽出部により抽出された箇所が前記ユーザにより２回編集されている場合に、２回目の編集の際に特定した第一情報を、１回目の編集の際に特定した第一情報よりも有用性が高いと特定する。
【００１２】
また、第７態様に係る情報処理装置は、第６態様に係る情報処理装置において、前記第一情報の有用性を示す値は、前記コンテンツ情報から得られる特徴量に基づいて導出されており、前記特定部が、最初に特定した第一情報の有用性を示す値よりも、前記箇所に新たに記載された内容が記載されている第一情報の有用性を示す値を大きく出力するとともに、前記最初に特定した第一情報の有用性を示す値を、前記ユーザが閲覧した第一情報のうち特定しなかった第一情報の有用性を示す値よりも小さく出力する。
【００１３】
また、第８態様に係る情報処理装置は、第１態様〜第５態様のいずれか１の態様に係る情報処理装置において、前記取得部が、前記ユーザが前記第一情報の閲覧前、閲覧中、及び閲覧後の少なくとも１つのタイミングで前記第二情報に対して行った作業についての作業情報を更に取得し、前記特定部が、前記作業情報を更に用いて、前記特定した第一情報を有用性のある第一情報として更に特定する。
【００１４】
また、第９態様に係る情報処理装置は、第１態様に係る情報処理装置において、前記取得部が、前記ユーザが前記第一情報に対して行った操作についての情報であるインタラクション情報と、前記ユーザが前記第一情報の閲覧前、閲覧中、及び閲覧後の少なくとも１つのタイミングで前記第二情報に対して行った作業についての作業情報とを更に取得し、前記特定部が、前記コンテンツ情報、前記インタラクション情報、及び前記作業情報の少なくとも１つから得られる特徴量に基づいて、前記第一情報の有用性を示す値を導出し、導出した有用性を示す値に基づいて、有用性のある第一情報を更に特定する。
【００１５】
また、第１０態様に係る情報処理装置は、第９態様に係る情報処理装置において、前記取得部が、前記有用性を示す値に基づいて、前記ユーザに対して、前記第一情報の有用性の評価を取得すると判定された場合に、前記ユーザから、前記第一情報についての有用性の評価を更に取得する。
【００１６】
また、第１１態様に係る情報処理装置は、第１０態様に係る情報処理装置において、前記有用性のある第一情報の特定が、前記特徴量を入力として、前記有用性を示す値を出力する機械学習モデルを用いて行われており、前記取得部により取得された評価と前記評価に対応する特徴量とのペアを学習用データとして前記機械学習モデルに入力し、前記機械学習モデルを更新する更新部を更に備えている。
【００１７】
更に、上記目的を達成するために、第１２態様に係るプログラムは、コンピュータを、第１態様〜第１１態様のいずれか１の態様に係る情報処理装置が備える各部として機能させる。
【発明の効果】
【００１８】
第１態様及び第１２態様によれば、第一情報の記載を利用して第二情報の編集を行う場合に、第二情報の中のある箇所に編集が行われた際に用いられた第一情報を特定することができる、という効果を有する。
【００１９】
第２態様によれば、インタラクション情報を用いない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２０】
第３態様によれば、インタラクション情報として、操作のタイミングを考慮しない場合と比較して、有用性のある第一情報の特定を効率的に行うことができる、という効果を有する。
【００２１】
第４態様によれば、インタラクション情報として、入力デバイスを考慮しない場合と比較して、有用性のある第一情報の特定をより適切に行うことができる、という効果を有する。
【００２２】
第５態様によれば、インタラクション情報として、閲覧時間を考慮しない場合と比較して、有用性のある第一情報の特定をより適切に行うことができる、という効果を有する。
【００２３】
第６態様によれば、ユーザによる編集回数を考慮しない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２４】
第７態様によれば、第一情報の有用性を示す値を考慮しない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２５】
第８態様によれば、作業情報を用いない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２６】
第９態様によれば、コンテンツ情報、インタラクション情報、及び作業情報の少なくとも１つから得られる特徴量を考慮しない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２７】
第１０態様によれば、ユーザの評価を考慮しない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【００２８】
第１１態様によれば、ユーザの評価と特徴量とのペアを学習用データとして考慮しない場合と比較して、有用性のある第一情報を精度よく特定することができる、という効果を有する。
【図面の簡単な説明】
【００２９】
【図１】実施形態に係るネットワークシステムの構成の一例を示す図である。
【図２】実施形態に係るサーバ装置の電気的な構成の一例を示すブロック図である。
【図３】実施形態に係るサーバ装置の機能的な構成の一例を示すブロック図である。
【図４】実施形態に係る閲覧履歴の一例を示す図である。
【図５】実施形態に係るコンテンツ情報の一例を示す図である。
【図６】実施形態に係るインタラクション情報の一例を示す図である。
【図７】実施形態に係る作業情報の一例を示す図である。
【図８】実施形態に係る特徴量の一例を示す図である。
【図９】実施形態に係る学習処理プログラムによる特徴量作成処理の流れの一例を示すフローチャートである。
【図１０】実施形態に係る学習処理プログラムによる学習処理の流れの一例を示すフローチャートである。
【図１１】実施形態に係る特定処理プログラムによる処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【００３１】
図１は、本実施形態に係るネットワークシステム９０の構成の一例を示す図である。
図１に示すように、本実施形態に係るネットワークシステム９０は、サーバ装置１０と、端末装置５０と、を備えている。なお、サーバ装置１０は、情報処理装置の一例である。サーバ装置１０には、一例として、サーバコンピュータや、パーソナルコンピュータ（ＰＣ：Personal Computer）等の汎用的なコンピュータ装置が適用される。
【００３２】
本実施形態に係るサーバ装置１０は、ネットワークＮを介して、端末装置５０と接続されている。なお、ネットワークＮには、一例として、インターネットや、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等が適用される。本実施形態に係る端末装置５０には、一例として、パーソナルコンピュータ（ＰＣ）等の汎用的なコンピュータ装置や、スマートフォン、タブレット端末等の携帯可能なコンピュータ装置等が適用される。
【００３３】
本実施形態に係る端末装置５０には、Ｗｅｂブラウザ５０Ａがインストールされている。このＷｅｂブラウザ５０Ａは、ネットワークＮを介してＷｅｂサイトにアクセスし、アクセスしたＷｅｂサイトで提供されるＷｅｂページを閲覧するためのソフトウェアである。
【００３４】
図２は、本実施形態に係るサーバ装置１０の電気的な構成の一例を示すブロック図である。
図２に示すように、本実施形態に係るサーバ装置１０は、制御部１２と、記憶部１４と、表示部１６と、操作部１８と、通信部２０と、を備えている。
【００３５】
制御部１２は、ＣＰＵ（Central Processing Unit）１２Ａ、ＲＯＭ（Read Only Memory）１２Ｂ、ＲＡＭ（Random Access Memory）１２Ｃ、及び入出力インターフェース（Ｉ／Ｏ）１２Ｄを備えており、これら各部がバスを介して各々接続されている。
【００３６】
Ｉ／Ｏ１２Ｄには、記憶部１４と、表示部１６と、操作部１８と、通信部２０と、を含む各機能部が接続されている。これらの各機能部は、Ｉ／Ｏ１２Ｄを介して、ＣＰＵ１２Ａと相互に通信可能とされる。
【００３７】
制御部１２は、サーバ装置１０の一部の動作を制御するサブ制御部として構成されてもよいし、サーバ装置１０の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部１２の各ブロックの一部又は全部には、例えば、ＬＳＩ（Large Scale Integration）等の集積回路又はＩＣ（Integrated Circuit）チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部１２の集積化には、ＬＳＩに限らず、専用回路又は汎用プロセッサを用いてもよい。
【００３８】
記憶部１４としては、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、フラッシュメモリ等が用いられる。記憶部１４には、本実施形態に係る学習処理を実現するための学習処理プログラム１４Ａ及び本実施形態に係る第一情報特定処理を実現するための特定処理プログラム１４Ｂが記憶される。なお、これらの学習処理プログラム１４Ａ及び特定処理プログラム１４Ｂは、ＲＯＭ１２Ｂに記憶されていてもよい。
【００３９】
学習処理プログラム１４Ａ及び特定処理プログラム１４Ｂは、例えば、サーバ装置１０に予めインストールされていてもよい。学習処理プログラム１４Ａ及び特定処理プログラム１４Ｂは、不揮発性の記憶媒体に記憶して、又はネットワークＮを介して配布して、サーバ装置１０に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、ＣＤ-ＲＯＭ（Compact Disc Read Only Memory）、光磁気ディスク、ＨＤＤ、ＤＶＤ-ＲＯＭ（Digital Versatile Disc Read Only Memory）、フラッシュメモリ、メモリカード等が想定される。
【００４０】
表示部１６には、例えば、液晶ディスプレイ（ＬＣＤ:Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイ等が用いられる。表示部１６は、タッチパネルを一体的に有していてもよい。操作部１８には、例えば、キーボードやマウス等の操作入力用のデバイスが設けられている。表示部１６及び操作部１８は、サーバ装置１０のユーザから各種の指示を受け付ける。表示部１６は、ユーザから受け付けた指示に応じて実行された処理の結果や、処理に対する通知等の各種の情報を表示する。
【００４１】
通信部２０は、インターネットや、ＬＡＮ、ＷＡＮ等のネットワークＮに接続されており、端末装置５０との間でネットワークＮを介して通信が可能とされる。
【００４２】
ところで、上述したように、複数の第一情報（一例として、Ｗｅｂページ等）の記載を利用して、ユーザが作業中の第二情報（一例として、文書やソースコード等）の編集を行う場合に、編集を行う際に役に立った第一情報と、役に立たなかった第一情報とが存在する場合がある。この場合、第一情報が第二情報の編集に用いられていることが特定出来れば、編集の役に立ったことの判定の基準となり得る。しかしながら、第一情報が第二情報の編集に用いられたことを特定することは行われていない。
【００４３】
このため、本実施形態に係るサーバ装置１０のＣＰＵ１２Ａは、記憶部１４に記憶されている学習処理プログラム１４Ａ及び特定処理プログラム１４Ｂの各々をＲＡＭ１２Ｃに書き込んで実行することにより、図３に示す各部として機能する。
【００４４】
図３は、本実施形態に係るサーバ装置１０の機能的な構成の一例を示すブロック図である。
図３に示すように、本実施形態に係るサーバ装置１０のＣＰＵ１２Ａは、学習処理プログラム１４Ａを実行することで、第１取得部３０、導出部３２、及び生成部３４として機能し、また、特定処理プログラム１４Ｂを実行することで、第２取得部４０、抽出部４２、特定部４４、及び更新部４６として機能する。なお、本実施形態では、第１取得部３０及び第２取得部４０を個別に示しているが、これら第１取得部３０及び第２取得部４０を１つの取得部として一体で実現してもよい。
【００４５】
まず、図４〜図８を参照して、本実施形態に係る学習処理について説明する。
図４は、本実施形態に係る閲覧履歴の一例を示す図である。
図５は、本実施形態に係るコンテンツ情報の一例を示す図である。
図６は、本実施形態に係るインタラクション情報の一例を示す図である。
図７は、本実施形態に係る作業情報の一例を示す図である。
図８は、本実施形態に係る特徴量の一例を示す図である。
【００４６】
本実施形態に係る第１取得部３０は、端末装置５０のユーザがＷｅｂブラウザ５０Ａを用いて閲覧しているＷｅｂページの閲覧履歴を取得し、取得した閲覧履歴を記憶部１４に記憶する。この閲覧履歴には、一例として、図４に示すように、ＵＲＬ（Uniform Resource Locator）、タイトル、閲覧開始時刻等の情報が含まれる。なお、Ｗｅｂページは、第一情報の一例である。ここで、第一情報は、ログが取得可能な情報であればよく、Ｗｅｂページに限定されるものではない。
【００４７】
また、第１取得部３０は、閲覧履歴として取得したＷｅｂページから、Ｗｅｂページに記載されているコンテンツの情報であるコンテンツ情報を取得する。このコンテンツ情報には、一例として、図５に示すように、閲覧開始時刻、ＵＲＬ、タイトル、前閲覧ページのＵＲＬ、ページ本文等の情報が含まれる。また、コンテンツ情報には、ＤＯＣＴＹＰＥ（ｈｔｍｌのバージョン）や、ウィンドウサイズ、ドキュメントサイズ等の情報が含まれていてもよい。
【００４８】
また、第１取得部３０は、閲覧履歴として取得したＷｅｂページ毎に、ユーザがＷｅｂページに対して行った操作についての情報であるインタラクション情報を取得する。このインタラクション情報は、ユーザが使用する入力デバイスによるＷｅｂページへの操作内容から得られる情報を含んでいる。ここでいう入力デバイスには、一例として、キーボードやマウス等が用いられる。インタラクション情報には、一例として、図６に示すように、ＵＲＬ、タイトル、閲覧開始時刻、閲覧終了時刻、閲覧時間、入力デバイスの一例であるマウスの位置推移、スクロール等の情報が含まれる。より具体的に、インタラクション情報には、Ｗｅｂページの閲覧開始時刻、閲覧終了時刻、ウィンドウ上にマウスがあるか否か、一定時間毎の閲覧位置、マウスの移動位置、スクロール距離、タブの遷移、コピー操作の回数、ドラッグ操作の回数、リンクのクリック回数等の情報が含まれる。また、インタラクション情報を取得する手段としては、例えば、Ｗｅｂブラウザ５０Ａの拡張機能として実現してもよいし、Ｗｅｂページに埋め込むｊａｖａｓｃｒｉｐｔ（登録商標）を用いて実現してもよい。
【００４９】
また、第１取得部３０は、ユーザが作業を行う対象である作業対象データに対して行った作業についての作業情報を取得する。本実施形態においては、ユーザが端末装置５０にて作業対象データに対して作業を行っているものとする。この作業対象データとしては、一例として、文書やソースコード等が含まれる。例えば、ユーザがプログラミングを行っている場合、この作業情報には、一例として、図７に示すように、作業対象データの一例であるソースコードの編集履歴、タイムスタンプ、エラーの有無等の情報が含まれる。一方、例えば、ユーザが何らかの文書を作成している場合、作業情報には、作業対象データの一例である文書の編集履歴、タイムスタンプ等が含まれる。文書の編集には、一例として、文書作成ソフトウェアでの文書の作成及び編集、プレゼンテーションソフトウェアでのプレゼンテーション用スライドの作成及び編集、電子メールソフトウェアでの電子メールの作成及び編集等が含まれる。なお、作業対象データは、第二情報の一例である。
【００５０】
上記により得られた閲覧履歴、コンテンツ情報、インタラクション情報、及び作業情報は、記憶部１４に記憶される。
【００５１】
本実施形態に係る導出部３２は、上述のコンテンツ情報、インタラクション情報、及び作業情報を入力として、後述の機械学習モデルに入力するための特徴量を導出する。ここで、導出部３２は、例えば、Ｗｅｂページから得られるコンテンツ情報の閲覧開始時刻と、インタラクション情報の閲覧開始時刻と、作業情報のタイムスタンプと、を突き合わせて、Ｗｅｂページの閲覧時刻付近の作業情報を、当該Ｗｅｂページに関連付ける。これにより、Ｗｅｂページに対して、コンテンツ情報、インタラクション情報、及び作業情報が関連付けられる。
【００５２】
また、作業情報から得られる特徴量としては、一例として、図８に示すように、閲覧中文書の編集の有無、編集回数、エラー発生回数、関数の含有数、編集した行数、閲覧前と後の編集距離等が含まれる。また、インタラクション情報から得られる特徴量としては、一例として、図８に示すように、閲覧時間、マウスカーソルの移動回数、マウスカーソルの移動距離（ｘ軸方向、ｙ軸方向も含む。）、マウスカーソルの移動距離を閲覧時間で除して得られるマウスカーソルの移動速度、・・・、スクロールの最大値等が含まれる。また、コンテンツ情報及び作業情報を組み合わせてもよい。例えば、ユーザの作業がプログラミングの場合、Ｗｅｂページの閲覧前、閲覧中、及び閲覧後のいずれかのタイミングで編集されたソースコードに含まれる関数が、当該Ｗｅｂページに含まれる個数を特徴量としてもよい。また、コンテンツ情報及び閲覧履歴を用いて、評価対象のＷｅｂページが前閲覧ページからのリンクにより閲覧されたか否かを特徴量としてもよいし、前閲覧ページのテキストと、評価対象のＷｅｂページのテキストとの類似度を特徴量としてもよい。
【００５３】
上述のコンテンツ情報、インタラクション情報、及び作業情報から得られる特徴量は、記憶部１４に記憶される。なお、特徴量は、複数の情報の組み合わせから導出してもよいし、個々の情報から導出してもよい。
【００５４】
本実施形態に係る生成部３４は、導出部３２により導出された特徴量を入力として、Ｗｅｂページがユーザにとって有用であったか否かを判定するための機械学習モデルを生成する。一例として、上記特徴量と、ユーザが明示的に付与した正解ラベルとのセットを学習用データとして、機械学習を行う。なお、機械学習のアルゴリズムとしては、一例として、Support Vector Machine、Random Forest、Gradient Boost、XGboost、Neural Network(Deep Neural Networkを含む)等が挙げられる。また、この機械学習モデルの出力値は、有用性の有無を０（有用性無し）、１（有用性有り）の２値で表してもよいし、０以上１以下の確率で表してもよい。上記により生成された機械学習モデルは、記憶部１４に記憶される。
【００５５】
次に、本実施形態に係る第一情報特定処理について説明する。なお、本実施形態に係る第一情報は、Ｗｅｂページである。
【００５６】
本実施形態に係る第２取得部４０は、端末装置５０のユーザがＷｅｂブラウザ５０Ａを用いて閲覧した複数のＷｅｂページから、Ｗｅｂページに記載されているコンテンツ情報を取得する。また、第２取得部４０は、ユーザがＷｅｂページに対して行った操作についてのインタラクション情報を取得する。なお、このインタラクション情報は、一例として、ユーザが編集の前又は編集の後で閲覧していたＷｅｂページに対して行った操作についての情報である。編集の前とは、直前や、編集前の一定時間内（例えば、３０分以内等）を含み、編集の後とは、直後や、編集後の一定時間内（例えば、３０分以内等）を含む。また、第２取得部４０は、ユーザがＷｅｂページの閲覧前、閲覧中、及び閲覧後の少なくとも１つのタイミングで作業対象データに対して行った作業についての作業情報を取得する。これらのコンテンツ情報、インタラクション情報、及び作業情報は、有用性のあるＷｅｂページの特定に用いられるが、コンテンツ情報及び作業情報のみでインタラクション情報を含まない構成としてもよい。
【００５７】
本実施形態に係る抽出部４２は、ユーザが作業を行う対象である作業対象データに対して、ユーザが編集を行った箇所を抽出する。
【００５８】
本実施形態に係る特定部４４は、複数のＷｅｂページのうち、ユーザが上記箇所を編集中又は編集の前後に閲覧していたＷｅｂページをコンテンツ情報から特定する。具体的には、一例として、Ｗｅｂページから得られるコンテンツ情報の閲覧開始時刻と、インタラクション情報の閲覧開始時刻と、作業情報のタイムスタンプと、を突き合わせて、Ｗｅｂページの閲覧時刻付近の作業情報を、当該Ｗｅｂページに関連付ける。これにより、Ｗｅｂページに対して、コンテンツ情報、インタラクション情報、及び作業情報が関連付けられる。
【００５９】
また、Ｗｅｂページの特定は、ユーザが作業対象データに対して編集を行った箇所に記載されている情報の中にコンテンツ情報の少なくとも一部が存在するか否かで行う。つまり、編集を行った箇所に記載されている情報の中にコンテンツ情報の少なくとも一部が存在する場合、当該Ｗｅｂページは、作業対象データの編集に用いられたＷｅｂページであると特定される。換言すれば、当該Ｗｅｂページは、ユーザが行った作業により得られる成果物（一例として、文書やソースコード等）を良くするために用いられたものであり、ユーザにとって役に立った（有用である）とみなすことができる。
【００６０】
また、特定部４４は、上述のコンテンツ情報、インタラクション情報、及び作業情報の少なくとも１つから得られる特徴量に基づいて、上記で特定したＷｅｂページの有用性を示す値を導出し、導出した有用性を示す値に基づいて、有用性のあるＷｅｂページを特定してもよい。この場合、有用性のあるＷｅｂページの特定は、上記特徴量を入力として、有用性を示す値を出力する機械学習モデルを用いて行われる。この機械学習モデルは、上述したように、予め学習用データを用いて機械学習されたモデルである。なお、有用性を示す値、すなわち、機械学習モデルの出力値としては、上述したように、有用性の有無を０（有用性無し）、１（有用性有り）の２値で表してもよいし、０以上１以下の確率で表してもよい。
【００６１】
また、第２取得部４０は、特定部４４により導出された有用性を示す値に基づいて、ユーザに対して、Ｗｅｂページの有用性の評価を取得すると判定された場合に、ユーザから、Ｗｅｂページについての有用性の評価を取得してもよい。具体的には、一例として、有用性を示す値が閾値未満で十分に高いとはいえない場合等において、評価のリクエストを端末装置５０に送信する。評価のリクエストを送信する場合、一例として、ユーザが閲覧中のＷｅｂページ上で、当該Ｗｅｂページの評価を入力可能なＵＩ（User Interface）画面（図示省略）を表示させ、ユーザに評価の入力を促すようにしてもよい。この評価としては、一例として、「良い、悪い、どちらでもない」の選択式でもよいし、複数段階（例えば、１〜５の５段階等）の評価でもよい。
【００６２】
本実施形態に係る更新部４６は、第２取得部４０により取得された評価と、その評価に対応する特徴量とのペアを学習用データとして機械学習モデルに入力し、機械学習モデルを更新する。機械学習モデルの更新は、新たな学習用データが追加される度に行ってもよいし、新たな学習用データが一定数以上集まってからデータ数に応じて行ってもよいし、定期的に行うようにしてもよい。
【００６３】
また、特定部４４は、抽出部４２により抽出された箇所がユーザにより２回編集されている場合に、２回目の編集の際に特定したＷｅｂページを、１回目の編集の際に特定したＷｅｂページよりも有用性が高いと特定してもよい。この場合、特定部４４は、最初に特定したＷｅｂページの有用性を示す値よりも、当該箇所に新たに記載された内容が記載されているＷｅｂページの有用性を示す値を大きく出力するとともに、最初に特定したＷｅｂページの有用性を示す値を、ユーザが閲覧したＷｅｂページのうち特定しなかったＷｅｂページの有用性を示す値よりも小さく出力する。なお、ここでいう有用性を示す値とは、上述した機械学習モデルの出力値である。
【００６４】
次に、図９〜図１１を参照して、本実施形態に係るサーバ装置１０の作用を説明する。なお、図９〜図１１に示すフローチャートでは、ユーザがＷｅｂページを参考にしながらソースコードを編集する作業を対象として説明する。
【００６５】
図９は、本実施形態に係る学習処理プログラム１４Ａによる特徴量作成処理の流れの一例を示すフローチャートである。
【００６６】
まず、サーバ装置１０に対して、特徴量作成処理の実行開始の指示がなされると、以下の各ステップを実行する。
【００６７】
図９のステップ１００では、第１取得部３０が、Ｗｅｂページの閲覧履歴の個数を示すｉを０にセットする。
【００６８】
ステップ１０２では、第１取得部３０が、一例として、上述の図４に示すような、ｉ番目の閲覧履歴を取得する。具体的に、端末装置５０のユーザがＷｅｂブラウザ５０Ａを用いて閲覧しているＷｅｂページの閲覧履歴を取得する。
【００６９】
ステップ１０４では、第１取得部３０が、一例として、上述の図５に示すような、ｉ番目のコンテンツ情報を取得する。具体的に、ステップ１０２で閲覧履歴として取得したＷｅｂページからコンテンツ情報を取得する。
【００７０】
ステップ１０６では、第１取得部３０が、一例として、上述の図６に示すような、ｉ番目のインタラクション情報を取得する。具体的に、閲覧履歴として取得したＷｅｂページに対して、ユーザが行った操作についての情報であるインタラクション情報を取得する。
【００７１】
ステップ１０８では、第１取得部３０が、一例として、上述の図７に示すような、ｉ番目の閲覧履歴に関連する作業情報を取得する。具体的に、閲覧履歴として取得したＷｅｂページの閲覧中、閲覧前、及び閲覧後のいずれかのタイミングで、ユーザが作業対象データに対して行った作業についての作業情報を取得する。
【００７２】
ステップ１１０では、導出部３２が、ステップ１０４〜ステップ１０８で取得したコンテンツ情報、インタラクション情報、及び作業情報の各々から、一例として、上述の図８に示すような特徴量を導出する。具体的に、例えば、作業対象データがソースコードである場合、作業情報及びコンテンツ情報から、一例として、Ｗｅｂページ閲覧後のソースコードの編集の有無、Ｗｅｂページ閲覧中のソースコードの編集回数、Ｗｅｂページ閲覧後のソースコードのエラーの有無、Ｗｅｂページに含まれる関数のソースコード中の含有数等を導出する。また、インタラクション情報から、一例として、Ｗｅｂページの閲覧時間、マウスカーソルの移動回数、マウスカーソルの移動距離、マウスカーソルの移動速度、マウスカーソルのｘ軸方向の最大位置及び最小位置、マウスカーソルのｙ軸方向の最大位置及び最小位置、スクロールの回数、スクロールの頻度、スクロールの距離等を導出する。
【００７３】
ステップ１１２では、導出部３２が、ステップ１１０で導出した特徴量を記憶部１４に記憶する。
【００７４】
ステップ１１４では、導出部３２が、閲覧履歴の残数が０であるか否かを判定する。閲覧履歴の残数が０ではないと判定した場合（否定判定の場合）、ステップ１１６に移行し、閲覧履歴の残数が０であると判定した場合（肯定判定の場合）、本学習処理プログラム１４Ａによる特徴量作成処理を終了する。
【００７５】
一方、ステップ１１６では、導出部３２が、閲覧履歴の個数を示すｉを１つインクリメントし、ステップ１０２に戻り処理を繰り返す。
【００７６】
図１０は、本実施形態に係る学習処理プログラム１４Ａによる学習処理の流れの一例を示すフローチャートである。
【００７７】
まず、サーバ装置１０に対して、学習処理の実行開始の指示がなされると、以下の各ステップを実行する。
【００７８】
図１０のステップ１２０では、生成部３４が、記憶部１４に記憶されている特徴量を取得する。
【００７９】
ステップ１２２では、生成部３４が、正解ラベルを取得する。具体的に、閲覧履歴として取得した各Ｗｅｂページに対して、ユーザが付与した評価（一例として、０、１の２値等）を正解ラベルとして取得する。
【００８０】
ステップ１２４では、生成部３４が、ステップ１２２で取得した正解ラベル付き特徴量を入力として、機械学習アルゴリズムを用いて有用性を示す値を出力する機械学習モデルを生成する。
【００８１】
ステップ１２６では、生成部３４が、ステップ１２４で生成した機械学習モデルを記憶部１４に記憶し、本学習処理プログラム１４Ａによる学習処理を終了する。
【００８２】
図１１は、本実施形態に係る特定処理プログラム１４Ｂによる処理の流れの一例を示すフローチャートである。
【００８３】
まず、サーバ装置１０に対して、第一情報特定処理の実行開始の指示がなされると、以下の各ステップを実行する。なお、本実施形態では、ユーザが作業対象データに対して編集を行った箇所に記載されている情報の中にコンテンツ情報の少なくとも一部が記載されているものとして説明する。
【００８４】
図１１のステップ１３０では、第２取得部４０が、記憶部１４に記憶されている機械学習モデルを読み込む。
【００８５】
ステップ１３２では、第２取得部４０が、評価対象とするＷｅｂページに関連付けられているコンテンツ情報、インタラクション情報、及び作業情報の各々又は組み合わせから複数の特徴量を取得する。
【００８６】
ステップ１３４では、特定部４４が、ステップ１３０で読み込まれた機械学習モデルから出力される有用性を示す値Ｐｒｏｂに対して、取得データ数や、データ特性等の情報に基づいて、閾値（上限、下限）を設定する。
【００８７】
ステップ１３６では、特定部４４が、評価対象とするＷｅｂページの閲覧履歴の個数を示すｉを０にセットする。
【００８８】
ステップ１３８では、特定部４４が、ステップ１３０で読み込まれた機械学習モデルに、ステップ１３２で取得された複数の特徴量を入力し、複数の特徴量に関連付けられたＷｅｂページについての有用性を示す値Ｐｒｏｂを導出する。なお、機械学習モデルは、評価対象とするＷｅｂページに関連する特徴量が複数ある場合に、複数の特徴量に対して１つの有用性を示す値Ｐｒｏｂを出力する。本実施形態では、有用性を示す値Ｐｒｏｂを、０以上１以下の確率として表すものとする。
【００８９】
ステップ１４０では、特定部４４が、下限閾値≦Ｐｒｏｂ≦上限閾値であるか否かを判定する。下限閾値≦Ｐｒｏｂ≦上限閾値であると判定した場合（肯定判定の場合）、ステップ１４２に移行し、下限閾値≦Ｐｒｏｂ≦上限閾値ではないと判定した場合（否定判定の場合）、ステップ１４８に移行する。
【００９０】
ステップ１４２では、第２取得部４０が、ユーザに対して評価付与を要求するためのＵＩ画面（図示省略）を端末装置５０に表示させ、Ｗｅｂページに対するユーザの評価を、端末装置５０を介して取得する。具体的には、上述したように、ユーザが、「良い、悪い、どちらでもない」の評価を選択的に入力してもよいし、複数段階（例えば、１〜５の５段階等）のいずれかの段階を評価として入力してもよい。
【００９１】
ステップ１４４では、更新部４６が、ステップ１４２で取得されたユーザ評価と、このユーザ評価に対応する特徴量とのペアを新たな学習用データとして機械学習モデルに入力し、機械学習モデルを更新する。
【００９２】
ステップ１４６では、特定部４４が、閲覧履歴の残数が０であるか否かを判定する。閲覧履歴の残数が０ではないと判定した場合（否定判定の場合）、ステップ１４８に移行し、閲覧履歴の残数が０であると判定した場合（肯定判定の場合）、本特定処理プログラム１４Ｂによる第一情報特定処理を終了する。
【００９３】
一方、ステップ１４８では、特定部４４が、閲覧履歴の個数を示すｉを１つインクリメントし、ステップ１３８に戻り処理を繰り返す。
【００９４】
このように本実施形態によれば、複数のＷｅｂページの記載を利用して、ユーザが作業対象データの編集を行う場合に、複数のＷｅｂページから、作業対象データの編集に用いられたＷｅｂページ、すなわち、ユーザにとって役に立ったＷｅｂページが特定される。
【００９５】
以上、実施形態に係る情報処理装置の一例としてサーバ装置を例示して説明した。実施形態は、サーバ装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【００９６】
その他、上記実施形態で説明したサーバ装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【００９７】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【００９８】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【００９９】
１０   サーバ装置
１２   制御部
１２Ａ ＣＰＵ
１２Ｂ ＲＯＭ
１２Ｃ ＲＡＭ
１２Ｄ Ｉ／Ｏ
１４   記憶部
１４Ａ 学習処理プログラム
１４Ｂ 特定処理プログラム
１６   表示部
１８   操作部
２０   通信部
３０   第１取得部
３２   導出部
３４   生成部
４０   第２取得部
４２   抽出部
４４   特定部
４６   更新部
５０   端末装置
５０Ａ Ｗｅｂブラウザ
９０   ネットワークシステム
【図１】
2020077241.tif 000003
【図２】
2020077241.tif 000004
【図３】
2020077241.tif 000005
【図４】
2020077241.tif 000006
【図５】
2020077241.tif 000007
【図６】
2020077241.tif 000008
【図７】
2020077241.tif 000009
【図８】
2020077241.tif 000010
【図９】
2020077241.tif 000011
【図１０】
2020077241.tif 000012
【図１１】
2020077241.tif 000013