(57)【要約】【課題】  従来から、ユーザーが、アプリケーションに対して適切な検索条件を設定することが困難な場合があった。【解決手段】  ユーザーの言動に対応するデータとアプリケーションでの検索処理に用いるべき情報との関係性を学習したモデルを利用した推定処理を実行するオペレーティングシステムが実行される情報処理装置であって、アプリケーションが、該アプリケーションの利用前などに行われたユーザーの入力に基づく操作履歴を入力データとして前記推定処理を実行することで出力された推定結果が記録されている際に、前記オペレーティングシステムから前記推定結果を取得し、前記推定結果に含まれる情報を用いて検索処理を実行し、その結果を用いた表示を行うことを特徴とする。【選択図】  図８
2020155064.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの言動に対応するデータとアプリケーションでの検索処理に用いるべき情報との関係性を学習したモデルを利用した推定処理を実行するオペレーティングシステムが実行される情報処理装置であって、
前記オペレーティングシステムで、前記情報処理装置に対して行われたユーザーの入力、及び、前記情報処理装置とネットワークを介して通信可能な機器に対して行われた前記ユーザーの入力の少なくともいずれかに基づく操作履歴に含まれる情報を入力データとして、前記推定処理を実行することで出力された推定結果が記録されている際に、
前記推定処理の結果の利用を許可することにユーザーが同意しているアプリケーションによる、前記オペレーティングシステムから、前記推定結果を取得する取得手段と、
前記アプリケーションによる、前記取得された前記推定結果に含まれる情報を用いて検索処理を実行する検索手段と、
前記アプリケーションによる、前記検索処理の結果を用いた表示を行うための表示制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記アプリケーションによる、推定結果を前記オペレーティングシステムに対して要求する要求手段をさらに有し、
前記取得手段は、前記要求に応じて前記推定結果を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記要求手段は、周期的に推定結果を前記オペレーティングシステムに対して要求することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記取得手段は、前記アプリケーションの起動時に、前記オペレーティングシステムから前記推定結果を取得することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記アプリケーションによる、前記推定結果に含まれる情報を用いて検索処理の結果に対応するユーザー操作を受け付けた際に、前記オペレーティングシステムに対して前記推定結果を含むフィードバックを送信する送信手段をさらに有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検索手段は、ユーザーによる所定の操作を検出した際に、当該所定の操作に対応する検索対象に対して、前記推定結果に含まれる情報を用いて検索処理を実行し、
前記表示制御手段は、前記所定の操作に従い表示されるべき内容に対して、前記検索処理の結果を用いた表示を反映することで表示内容を更新することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記所定の操作は、フリックによるスクロール操作であり、スクロール先として、前記検索処理の結果を用いた表示が行われることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ネットワークを介して通信可能な機器は、少なくとも、音声アシスタント端末、デジタル家電機器及び車載端末の少なくともいずれかを含むことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記ユーザーの入力は、音声による入力が含まれることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
ユーザーの言動に対応するデータとアプリケーションでの検索処理に用いるべき情報との関係性を学習したモデルを利用した推定処理を実行するオペレーティングシステムが実行される情報処理装置における方法であって、
前記オペレーティングシステムで、前記情報処理装置に対して行われたユーザーの入力、及び、前記情報処理装置とネットワークを介して通信可能な機器に対して行われた前記ユーザーの入力の少なくともいずれかに基づく操作履歴に含まれる情報を入力データとして、前記推定処理を実行することで出力された推定結果が記録されている際に、
前記推定処理の結果の利用を許可することにユーザーが同意しているアプリケーションによる、前記オペレーティングシステムから、前記推定結果を取得する取得工程と、
前記アプリケーションによる、前記取得された前記推定結果に含まれる情報を用いて検索処理を実行する検索工程と、
前記アプリケーションによる、前記検索処理の結果を用いた表示を行うための表示制御工程と、
を有することを特徴とする方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の各手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習などの結果を用いて、アプリケーションの使い勝手を向上させるための技術に関する。
【背景技術】
【０００２】
従来から、アプリケーションはユーザーの入力操作を受け付けて、その操作に対応する情報提供を行っていた。例えば、検索ワードや画像データを入力することで、当該入力に類似する検索結果を表示していた。
【０００３】
機械学習の技術を用いた検索技術として特許文献１がある。特許文献１では、取引対象と当該取引対象が属するカテゴリとの間の関係性を学習した学習器を用いて、アプリケーションに対して入力された撮影画像から抽出された対象物が属するカテゴリを推定する。その上で、推定されたカテゴリと該対象物の特徴量とを用いて、電子商店街から取引対象を検索している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１９０２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、検索結果を得るために撮影画像の入力が必要である。一方で、検索を行うユーザーはアプリケーションに対して、適切な検索条件を入力することができない場合がある。過去の情報や、未知の情報を検索したい場合には、検索条件として適切な画像データが手元になかったり、検索ワードが思いつかなかったりする。そのようなケースにおいては、アプリケーションにとって適切な検索条件を考えること自体が煩雑となる場合がある。
【０００６】
また、アプリケーションで検索を行おうとするユーザーは、当該アプリケーションの起動の前後で、検索対象のヒントとなるような情報を話したり、行動をとっていたりする可能性がある。しかしながら、そのようなユーザーの言動がアプリケーション起動前に行われていた場合には、アプリケーション起動後に、ユーザーがそのような言動に対応する情報を、アプリケーションに対して、検索条件として改めて設定する必要がある。このような作業も、ユーザーにとって困難な作業である場合がある。
【課題を解決するための手段】
【０００７】
よって、本発明は、例えば、ユーザーの言動に対応するデータとアプリケーションでの検索処理に用いるべき情報との関係性を学習したモデルを利用した推定処理を実行するオペレーティングシステムが実行される情報処理装置であって、前記オペレーティングシステムで、前記情報処理装置に対して行われたユーザーの入力、及び、前記情報処理装置とネットワークを介して通信可能な機器に対して行われた前記ユーザーの入力の少なくともいずれかに基づく操作履歴に含まれる情報を入力データとして、前記推定処理を実行することで出力された推定結果が記録されている際に、前記推定処理の結果の利用を許可することにユーザーが同意しているアプリケーションによる、前記オペレーティングシステムから、前記推定結果を取得する取得手段と、前記アプリケーションによる、前記取得された前記推定結果に含まれる情報を用いて検索処理を実行する検索手段と、前記アプリケーションによる、前記検索処理の結果を用いた表示を行うための表示制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明に依れば、アプリケーションの起動の前後に、当該アプリケーション以外に対して行われたユーザーによる言動を反映した推定結果を利用して、ユーザーによるアプリケーションに対する操作、作業を減らすことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】システム構成の例を示している。
【図２】モバイル装置のハードウェア構成の例を示す図である。
【図３】モバイル装置のソフトウェアのモジュール構成の例を示す図である。
【図４】学習済みモデルに対する入力に関するデータの例。
【図５】モバイル装置のＯＳによって実現される、学習済みモデルを利用した処理を含む一連の処理を説明するためのフローチャート。
【図６】学習済みモデルを用いて得られる出力に関するデータの例。
【図７】モバイル装置のＯＳによって実現される推定結果をアプリケーションに提供する処理を説明するためのフローチャート。
【図８】ＯＳから情報提供を受けるアプリケーションにより実現される処理を説明するためのフローチャート。
【図９】本実施例におけるアプリケーションが提供する画面の例である。
【図１０】応用例におけるアプリケーションにより実現される処理を説明するためのフローチャート。
【図１１】応用例におけるアプリケーションが提供する画面の例である。
【発明を実施するための形態】
【００１０】
図１は、本実施例におけるシステム構成の例を示している。
【００１１】
１０１は、モバイル装置である。モバイル装置１０１は、例えば、スマートフォンやタブレット、ノートパソコンやウェアラブル端末などが含まれる。１０２は、音声アシスタント端末である。音声アシスタント端末１０２はユーザーの音声入力を受け付けて、該入力に対して行われた検索結果を応答する。１０３は、周辺機器である。周辺機器１０３はテレビや冷蔵庫、オーブンレンジなどのデジタル家電機器や、カーナビなど車載端末などが含まれる。
【００１２】
モバイル装置１０１は、音声アシスタント端末１０２や周辺機器１０３と、ネットワークを介して通信可能である。本実施例では、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線ネットワークを経由した通信を例にあげている。機器間の通信を実現するためには、他の接続形態であってもよい。
【００１３】
モバイル装置１０１は、通信を介して、音声アシスタント端末１０２からユーザーの音声入力に対応する情報を随時取得して、時刻と共に記録する。モバイル装置１０１は、通信を介して、周辺機器１０３からユーザーの音声入力や機能操作、位置情報などに対応する情報を随時取得して、時刻と共に記録する。
【００１４】
図２は、モバイル装置１０１などの情報処理装置のハードウェア構成の例を示す図である。
【００１５】
ＣＰＵ２０１は、ＲＯＭ２０３に記憶されたプログラムや、記憶装置２０４からＲＡＭ２０２にロードされたＯＳ（オペレーティングシステム）やアプリケーション等のプログラムを実行する。すなわち、ＣＰＵ２０１が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。ＲＡＭ２０２は、ＣＰＵ２０１のメインメモリであり、ワークエリア等として機能する。タッチパネル２０６はモバイル装置１０１の表示部であり、入力機器でもある。タッチパネル２０６の表示部では、ＯＳやアプリケーションによる機能実行の結果などを表示される。また、タッチパネル２０６へのユーザー操作が検出された場合に、対応するプログラムで所望の制御が実行されることになる。なお、モバイル装置１０１の入力機器はタッチパネルに限定されるものではない。例えば、マイク２０７による音声入力、カメラ２０９による画像入力も可能となっている。また、ＧＰＳなどの位置測定器２１０も、位置情報の入力機器となっている。
【００１６】
ネットワークＩ／Ｆ２０５は、ローカルネットワークに対して接続され、ネットワークに接続された機器と相互通信する。近距離通信Ｉ／Ｆ２０８は、例えばＢｌｕｅｔｏｏｔｈやＮｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ（ＮＦＣ）などの近距離通信の入出力を行うＩ／Ｆであり、接続された機器と相互通信を行う。モバイル装置１０１の各構成要素は内部バス２１０に接続され、相互に通信を行うことが可能である。
【００１７】
音声アシスタント端末１０２や周辺機器１０３についてもモバイル装置１０１と同等のハードウェア構成を備えている。つまり、プロセッサ、メモリ、記憶装置、ネットワークＩ／Ｆ、近距離通信Ｉ／Ｆ、及び、入力を受け付けるための機構などが少なくとも備えられている。また、周辺機器１０３については、さらに用途に応じたハードウェアが追加されることになる。
【００１８】
図３は、モバイル装置１０１のソフトウェアのモジュール構成の例を示す図である。この図では、本実施例のために、ＯＳやアプリケーションなどの１以上のプログラムが実行されることで実現される処理の主体を表している。
【００１９】
３０１〜３０５は、ＯＳにより提供されるサービスに対応するモジュールを示している。
【００２０】
収集部３０１は、タッチパネル２０６へのユーザー操作や、マイク２０７による音声入力を検出した際に、時刻（年月日時）や位置情報など共にその内容を記録する。また、音声アシスタント端末１０２や周辺機器１０３に対して、要求を行い、モバイル装置１０１またはモバイル装置１０１のユーザー（所有者）に係る操作の履歴情報を受信することで収集する。これらの情報は、図４（ａ）で示すように、記憶装置２０４で管理される。
【００２１】
なお、本発明は、モバイル装置１０１にインストールされたＯＳ、アプリケーションのそれぞれ、さらにはそれらの組合せを含むものとする。
【００２２】
図４（ａ）は、モバイル装置１０１の内外で行われたユーザーによる手動操作や音声入力操作に関して、収集部３０１が収集した情報を格納したテーブルである。ＯＳ上で動作するアプリケーションについては、インストール時にＯＳに対する操作履歴の記録を許可するとのユーザーによる同意があった場合に、自動的に記録される。装置外のサービスについては、ＯＳとの連携が可能、かつ、ユーザーによる同意があった場合に限り、各サービスから操作履歴を取得できる。このテーブルでは、各アプリケーション、サービス内で定義された形式で１レコードずつ記録される履歴をまとめて管理している。内容としては、時刻、機能情報（アプリケーションやサービスなどの機能の識別情報）、ユーザー情報、位置情報、操作内容などが含まれる。収集部３０１が収集する情報には、周辺機器１０３としてのテレビやデジタル家電により提供される番組情報や利用情報などが含まれても良い。
【００２３】
入力制御部３０２は、収集部３０１が収集した情報を、解析サービス部３０３に入力するベクトル化する。ベクトル化されたデータは、図４（ｂ）で示す入力管理テーブルに随時、記録される。例えば、収集した情報は、入力データとするために、データ変換されたり、フィルタされたりする。解析サービス部３０３が語句単位の入力を処理する場合、履歴の操作内容に含まれる情報を語句単位に分割し、代名詞などを除き、名詞など必要な情報を抽出することで入力データを生成する。また、解析サービス部３０３は位置情報などを分析、推定処理の追加のパラメータとして利用することもあるため、位置情報も記録される。入力制御部３０２は、収集部３０１による情報収集に応じて動作することができるが、非同期に動作してもよい。
【００２４】
解析サービス部３０３は、図４（ｂ）で管理される入力データを取得して、学習済みモデルを利用して推定処理を実行する、いわゆるＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）機能である。解析サービス部３０３利用する学習済みモデルは、図４（ｂ）で管理される入力データ以外にも、解析対象の入力に紐付いて位置情報や、モバイル装置１０１の所有者のプロフィール情報をパラメータとして用いた推定処理を実行する。
【００２５】
図４（ｃ）は、モバイル装置１０１に登録された所有者のプロフィール情報を示している。出身地や生年月日、性別、趣味、住所、職業などが含まれる。他にも、ＯＳでサポートされる宗教や、所属するコミュニティーを任意に追加できる。
【００２６】
ここで、ＯＳが提供する解析サービス部３０３は、モデルを再教育するクラウドサービスとネットワークＩ／Ｆ２０５を介して通信することが可能である。クラウドサービスは、解析サービス部３０３が利用するモデルを作成するための学習段階での処理を実現するために用意されたプラットフォームである。本実施例で利用される学習済みモデルは、ＯＳがサポートできる入力元からの所定の形式のデータを大量に用意して学習された、該ＯＳ上で動作するアプリケーションの検索で利用される検索ワードとなり得る単語を出力するためのモデルである。ＯＳがサポートできる入力元とは、ＯＳが提供するマイクからの音声入力に対して検索を行うＯＳアシスタント機能や、所定のベンダーにより提供されている音声アシスタント端末１０２や周辺機器１０３などがある。ＯＳを提供するベンダーのサービスで管理されるユーザーのプロフィール情報も併せて学習に利用される。なお、本実施例では、前述の入力に対して適切な検索結果が導出できる検索ワードを出力するために、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を用いた教師あり学習によりモデルを生成している。しかしながら、その他にも様々なアルゴリズムが適用可能であり、例えば、ディープラーニングを取り入れたニューラル・ネットワークが利用されても良い。
【００２７】
情報提供部３０４は、解析サービス部３０３による推定処理の結果を、連携するアプリケーションに対して提供する。ＯＳ上で動作するアプリケーションについては、インストール時などに、解析サービス部３０３からの推定結果によるリコメンドの受け付けを許可するとのユーザーによる同意があった場合に、情報提供が行われる。以降、解析サービスの連携機能が有効となっているアプリケーションは、本同意が既に行われていることとする。情報提供部３０４は、アプリケーションの起動時や、アプリケーションからの要求を受けて、アプリケーションに対して推定処理の結果を提供するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を公開している。
【００２８】
機能制御部３０５は、ユーザー操作を受け付けて、アプリケーションなどを起動する。
【００２９】
３１１〜３１３、３２１〜３２３は、ＯＳ上で動作するようインストールされた２つのアプリケーション（アプリケーションＡ、アプリケーションＢ）により提供されるサービスに対応するモジュールを示している。
【００３０】
機能部３１１、３２１は、アプリケーションが個別に備える機能を提供する。ウェブブラウザであればウェブサイトに係るＨＴＭＬ文書などを解析して、表示イメージを生成したり、スクリプトを実行したりする。ソーシャルネットワークのためのアプリケーションや、メッセージをやり取りするためのアプリケーションであれば、時系列に管理されたメッセージやユーザー情報を取得して処理する。表示制御部３１２、３２２は、機能部３１１、３２１による処理結果などを表示する。連携部３１３、３２３は、ユーザーの同意により機能し、情報提供部３０４を介して情報を取得する。取得された情報は、機能部３１１、３２１で処理され、表示制御部３１２、３２２により表示される。
【００３１】
図５は、モバイル装置１０１のＯＳにより実現される、学習済みモデルを利用した処理を含む一連の処理を説明するためのフローチャートである。本処理に係るプログラムは、学習済みモデルを利用するために、ＯＳに組み込まれる形で提供されることを想定している。なお、ネットワークなどを介して外部から取得して追加でインストールされるプログラムで本処理が実現されても良い。
【００３２】
本処理は、ＯＳが動作している間、数分おきなど、周期的に実行される。また、操作履歴が新しく記録された時など、それ以外のタイミングで実行されても良い。そして、情報提供の対象となるアプリケーションによる処理とは非同期に、バックグラウンドで自動的に行われるものとする。
【００３３】
Ｓ５０１で、収集部３０１は、モバイル装置１０１の内外で行われたユーザーによる手動操作や音声入力操作に対応する履歴データを収集し、図４（ａ）で示すように管理する。収集され得るデータは、前述の通り、タッチパネル２０６へのユーザー操作や、マイク２０７による音声入力、ネットワーク上の連携機器（音声アシスタント端末１０２や周辺機器１０３など）で記録された操作内容などである。
【００３４】
Ｓ５０２で、入力制御部３０２は、図４（ａ）で管理された未処理のレコードを抽出して、該レコードのデータ（内容）をベクトル化する。これは、前述した通り、入力制御部３０２による解析サービス部３０３への入力のために行われる処理である。なお、収集した情報は、入力データとするために、データ変換されたり、フィルタされたりしてもよい。ベクトル化されたデータを含む情報は、図４（ｂ）で示すように管理される。
【００３５】
Ｓ５０３で、入力制御部３０２は、ベクトル化された入力データを解析サービス部３０３に入力する。この際には、図４（ｂ）に含まれる最新レコードの入力データを入力する以外にも、新しい複数レコード入力データをまとめて入力する、といった複数の異なる入力が行われても良い。
【００３６】
Ｓ５０４で、解析サービス部３０３は、入力制御部３０２から取得した入力データと、学習済みモデルとを利用して、推定処理を実行する。Ｓ５０５で、解析サービス部３０３は、推定処理の結果を記憶装置２０４内のテーブル（図６）に記録する。図６では、解析サービス部３０３が得た推定処理の結果（出力）と、その時刻、対応する入力データの内容が記録されている。
【００３７】
図６で記録されたデータ（とくに、出力としての推定処理の結果）は、情報提供部３０４によりアプリケーションＡや、アプリケーションＢに提供されることになる。
【００３８】
図７は、モバイル装置１０１のＯＳにより実現される解析サービス部３０３による推定結果をアプリケーションに提供する処理を説明するためのフローチャートである。本処理に係るプログラムは、学習済みモデルを利用するために、ＯＳに組み込まれる形で提供されることを想定している。なお、ネットワークなどを介して外部から取得して追加でインストールされるプログラムで本処理が実現されても良い。
【００３９】
図７（ａ）は、とくに、機能制御部３０５によりアプリケーションが起動される場合の処理である。
【００４０】
Ｓ７０１で、機能制御部３０５は、ユーザー操作に従うアプリケーションの起動指示を検出する。Ｓ７０２で、機能制御部３０５は、起動指示が検出されたアプリケーションが、解析サービスの連携機能が有効となっているか否かを判定する。有効であればＳ７０３に進み、無効であれば本処理は終了する。
【００４１】
Ｓ７０３で、情報提供部３０４は、図６で示すテーブルから推定結果を取得する。取得されるレコードは、現在時刻から所定期間以内の１以上のレコードが取得される。なお、この際には、該当アプリケーションに未提供の情報を管理して、該当レコードのみを取得するようにしてもよい。Ｓ７０４で、情報提供部３０４は、Ｓ７０３で取得したレコードの情報を推定結果として、アプリケーションに提供する。提供される際には、図６で管理される出力に含まれる内容のみを提供しても良い。
【００４２】
なお、Ｓ７０４では、機能制御部３０５が、Ｓ７０３で取得したレコードの情報をアプリケーション起動時のパラメータとして渡すように設計されても良い。
【００４３】
図７（ｂ）は、とくに、情報提供部３０４が起動中のアプリケーションと連携する場合の処理である。モバイル装置１０１では、情報提供部３０４は、サービスとして常駐動作しており、本処理を実行する。
【００４４】
Ｓ７１１で、情報提供部３０４は、アプリケーションからの推定結果のリクエストを受け付けたか否かを判断する。リクエストを受け付けた場合にはＳ７１２に進み、受付けていない場合にはＳ７１４に進む。
【００４５】
Ｓ７１２で、情報提供部３０４は、Ｓ７０３と同様に、図６で示すテーブルから推定結果を取得する。Ｓ７１３で、情報提供部３０４は、Ｓ７０４と同様に、取得したレコードの情報を推定結果として、アプリケーションに提供する。
【００４６】
Ｓ７１４で、情報提供部３０４は、アプリケーションからのフィードバックを受け付けたか否かを判断する。フィードバックは、情報提供した推定結果が利用されたことを示すものである。フィードバックを受け付けた場合にはＳ７１５に進み、受付けていない場合にはＳ７１１に進む。
【００４７】
Ｓ７１５で、情報提供部３０４は、フィードバックに含まれるユーザーにより利用された推定結果が得られた際に解析サービス部３０３に入力された入力データを、図６を参照して特定する。さらに、情報提供部３０４は、特定された入力データの入力元である機能の識別情報を、図４（ｂ）を参照して特定する。Ｓ７１６で、情報提供部３０４は、特定された機能の識別情報と、受け付けたフィードバック情報とを紐付けて、記憶装置２０４に記録する。
【００４８】
この記録されたデータは、前述したモデルを再教育するクラウドサービスに、ＯＳを経由して提供される。再教育された学習済みモデルは、ＯＳのアップデートなどのタイミングでダウンロードして、インストールすることが可能である。
【００４９】
図８は、情報提供部３０４から情報提供を受けるアプリケーションにより実現される処理を説明するためのフローチャートである。ここでは、解析サービスの連携機能が有効であるアプリケーションＡを実行時の処理について説明する。
【００５０】
Ｓ８０１で、表示制御部３１２は、ユーザー操作に従うアプリケーションの起動指示に従い、アプリケーションＡのホーム画面を表示する。
【００５１】
Ｓ８０２で、機能部３１１は、情報提供部３０４から提供された推定結果を用いた検索処理を実行する。具体的には、推定結果に含まれる“バスケ”、“スーパープレイ集”といったワードを用いた検索処理が実行され、関連する投稿などを行っているユーザーなどが自動で検索される。機能部３１１による検索は、提供された推定結果をすべてＡＮＤ条件でつないで検索されてもよいし、ＯＲ条件で検索されてもよい。また、アプリケーションＡの検索対象やＯＲ条件での検索結果などに従い、選択的に推定結果の一部を抽出した上で検索が行われても良い。検索対象は、ネットワークを介して接続された外部領域にあってもよい。
【００５２】
Ｓ８０３で、表示制御部３１２は、機能部３１１による検索結果を受けて、表示内容を自動で更新する。
【００５３】
図９は、更新後のモバイル装置１０１で提供されるアプリケーションＡの画面の例である。９０１はアプリケーションＡがネットワークを介して取得した、現在、他の多くのユーザーに注目されているオブジェクトを表示している。９０２には、「ＡＩ検索」として、情報提供部３０４から提供された推定結果を用いた検索処理の結果が表示されている。この表示９０２は、アプリケーションＡが起動する前から直後までの間にユーザーの言動に対応する履歴から得られたＯＳが出力する推定結果と、アプリケーションＡを起動するといったアクションとから得られた、該ユーザーがアプリケーションＡに望む処理の結果となり得る。
【００５４】
Ｓ８０４で、機能部３１１は、前回Ｓ８０２の処理が行われてから所定時間が経過したか否かを判定する。経過した場合にはＳ８０５に進み、経過していない場合にはＳ８０６に進む。Ｓ８０５で、連携部３１３は、情報提供部３０４に推定結果のリクエストを実行する。推定結果を受け付けた場合には、Ｓ８０２以降の処理を再度、実行する。機能部３１１は、推定結果に差分がなければ、Ｓ８０２での検索処理、Ｓ８０３での更新処理をスキップしてもよい。Ｓ８０４及びＳ８０５によって解析サービス部３０３による最新の推定結果がアプリケーションに適用できる。
【００５５】
Ｓ８０６で、機能部３１１は、アプリケーションＡが提供する画面に対してユーザー操作があったか否かを判定する。ユーザー操作があった場合にはＳ８０７に進み、無かった場合にはＳ８０４に戻る。
【００５６】
Ｓ８０７で、機能部３１１は、ユーザー操作に従う処理を実行する。具体的には、表示９０１、表示９０２に含まれるオブジェクトやリンクなどが指定された場合には、その指定に従う情報提供のための表示切替や処理が実行される。
【００５７】
Ｓ８０８で、機能部３１１は、Ｓ８０７での処理に起因するユーザー操作が、情報提供部３０４から受け取った推定結果に対応するものであったか否かを判定する。例えば、表示９０２に含まれるオブジェクトやリンクなどが指定された場合には、推定結果に対応するユーザー操作があったと判定される。推定結果に対応するユーザー操作であった場合にはＳ８０９に進み、そうでなかった場合にはＳ８０４に戻る。Ｓ８０９で、連携部３１３は、情報提供部３０４にユーザー操作に対応する推定結果を含むフィードバックを送信する。
【００５８】
（応用例１）
図１０は、前述した実施例の図８に関して、別のアプリケーションに適用した場合の応用例を示している。図１０では、図８と同じ処理については同じ符号をつけており、ここではその説明を省略する。以下では、差分とその効果などについて説明する。
【００５９】
Ｓ１００１で、機能部３１１は、Ｓ８０７で実行された処理が、所定のユーザー操作であったか否かを判定する。所定のユーザー操作であった場合にはＳ１００２に進み、所定のユーザー操作でなかった場合にはＳ８０８に進む。
【００６０】
所定のユーザー操作の具体例としては、フリックによるスクロール操作や、検索機能に対応する表示オブジェクトに対する操作などがある。
【００６１】
具体的には、起動中のアプリケーションが、ユーザーが投稿したメッセージをタイムライン上に時系列で表示するアプリケーションであった場合、ユーザーがスワイプではなくフリックでスクロールを行われたことを想定する。このとき、フリックを行ったユーザーは、現在時刻に対して、比較的遠い過去に投稿されたメッセージや画像データを参照したいことが想定される。数年前や、数十年前のデータを参照する場合には、ユーザーによるフリックによるスクロール操作が何度も繰り返して検出されることになる。
【００６２】
また、どのようなアプリケーションであっても、予め用意された検索機能に対応する表示オブジェクトに対する操作であった場合には、特定の検索機能を利用した検索を行いたいユーザー意図が把握できる。
【００６３】
本応用例では、そのようなユーザー意図を含めた上で、情報提供部３０４から提供された推定結果を利用するためのものである。
【００６４】
Ｓ１００２で、機能部３１１は、情報提供部３０４から提供された推定結果を用いて検索処理を実行し、検索結果を反映するように表示内容を自動で更新する。
【００６５】
図１１（ａ）は、Ｓ１００２の処理が反映された、ユーザーが投稿したメッセージをタイムライン上に時系列で表示するアプリケーションが提供する画面の例である。
【００６６】
この画面の１１０１は、スクロールバーのスクロール先に含まれる複数のメッセージの中で、推定結果に含まれるデータでの検索結果に対応するメッセージや時刻情報へジャンプするための追加オブジェクトを示している。ユーザーは、フリック操作をしている間に、自動的に出現するオブジェクト１１０１のいずれかを選択することで、所望のメッセージの表示を得ることができるかもしれない。また、フリックによるスクロール先として、検索結果に対応するメッセージの表示まで、一気に進めても良い。
【００６７】
また、Ｓ１００２での検索結果に対応するメッセージが、フリックによる画面のスクロール中に表示対象となる複数メッセージの中に含まれていた場合は、ユーザーに読み飛ばされないように、該当メッセージが表示された状態でスクロールを停止することも可能である。
【００６８】
図１１（ｂ）は、ユーザーが起動中のアプリケーションで特定の検索機能を選択した場合における、Ｓ１００２の処理が反映された画面の例である。
【００６９】
図１１（ｂ）では、ユーザーが任意に検索ワードを入力することができる入力欄以外に、１１０２に示すように、情報提供部３０４から提供された推定結果を用いた「ＡＩ検索」の結果が表示されている。ここでは、ワード検索と期間（現在時刻から推定結果に含まれる時刻まで）とによる自動検索が行われている。ユーザーは、入力欄を用いて任意に検索ワードを追加したり、「ＡＩ検索」による検索ワードを削除したりするといった追加操作が可能になっている。
【００７０】
本応用例では、ユーザーが行ったアプリケーションに対する所定の操作に加えて、前述の推定結果を自動で適用することで、ユーザー所望な検索対象を素早く提供される可能性がある。本応用例では、ユーザー自身で、検索対象を目視で見つけ出す、適当な検索ワードを考えて入力するなどといった作業を省略できるかもしれない。
【００７１】
（応用例２）
前述したＯＳは、レポート機能とバイアス調整機能も備える。
【００７２】
レポート機能は、推定処理において学習済みモデルが入力データから出力を導き出した根拠を提示するための機能である。例えば、１つの出力が選択された場合に、その出力が得られた根拠となる入力データやパラメータが列挙され、列挙されたデータのそれぞれがその出力の導出にどの程度影響したのかを表示することができる。
【００７３】
バイアス調整機能は、学習済みモデルの推定処理に所定の入力に対してユーザーが望まない出力を行う傾向が強いことを検出して通知するための機能である。さらに、この機能では、ユーザー指示に従い、ユーザーが望む推定結果とするための逆バイアスをその所定の入力に反映させるための変換ルールを入力制御部３０２に対して設定する機能も有する。この設定が行われた場合、それ以降、所定の入力を受け付けた場合は、変換ルールに従い、入力の少なくとも一部の情報が変更されて学習済みモデルに利用されるようになる。
【００７４】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【００７５】
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピューター（ＣＰＵやＭＰＵ等）によりそのプログラムが１以上のメモリーに読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【００７６】
１０１  モバイル装置
１０２  音声アシスタント端末
１０３  周辺機器
【図１】
2020155064.tif 000003
【図２】
2020155064.tif 000004
【図３】
2020155064.tif 000005
【図４】
2020155064.tif 000006
【図５】
2020155064.tif 000007
【図６】
2020155064.tif 000008
【図７】
2020155064.tif 000009
【図８】
2020155064.tif 000010
【図９】
2020155064.tif 000011
【図１０】
2020155064.tif 000012
【図１１】
2020155064.tif 000013