(57)【要約】  情報処理装置は、少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、ユーザの状況を示すコンテキストのマクロの実行時の適合度及びフレーズの頻出度の少なくとも一方に基づいて、マクロのセキュリティリスクの度合いを判定する判定部（２５０）と、判定部（２５０）の判定結果に基づいてマクロの実行の制御を変更する応答制御部（２７０）と、を備える。
2020039753.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロの実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定する判定部と、  前記判定部の判定結果に基づいて、前記マクロの実行の制御を変更する応答制御部と、  を備える情報処理装置。
【請求項２】
前記応答制御部は、  前記判定部によって判定された前記セキュリティリスクの度合いが変更条件を満たさない場合、前記マクロを実行させ、  前記判定部によって判定された前記セキュリティリスクの度合いが前記変更条件を満たす場合、前記マクロの実行を前記ユーザに確認する処理を実行する  請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、前記機能実行指示を実行することによって前記ユーザが受ける不利益の度合いを算出し、当該不利益の度合いに基づいて前記マクロの実行リスクの度合いを算出し、  前記応答制御部は、前記実行リスクに基づいて前記マクロの実行を前記ユーザに確認する処理を変更する  請求項１に記載の情報処理装置。
【請求項４】
前記応答制御部は、前記実行リスクが高くなるに従って、前記マクロの実行を前記ユーザに確認する処理の優先度を高くする  請求項３に記載の情報処理装置。
【請求項５】
前記判定部は、記セキュリティリスクに基づいて前記マクロの実行レベルを算出し、前記実行リスクが前記実行レベルよりも大きい場合、前記マクロの実行を前記ユーザに確認する処理を実行させる  請求項３に記載の情報処理装置。
【請求項６】
前記ユーザによって実行された操作を示す履歴データを記憶する記憶部をさらに備え、  前記判定部は、前記機能実行指示を実行することによって直前に前記ユーザによって実行された操作を取り消す可能性を判定し、  前記応答制御部は、直前に実行された前記操作を取り消す可能性がある場合、前記機能実行指示の実行を前記ユーザに確認する制御を行う  請求項１に記載の情報処理装置。
【請求項７】
前記判定部は、前記ユーザの主タスクへの集中度を算出し、  前記応答制御部は、前記集中度に応じて前記ユーザへの前記機能実行指示の実行確認の制御を変更する  請求項１に記載の情報処理装置。
【請求項８】
前記応答制御部は、前記集中度が第１閾値よりも高い場合、前記機能実行指示を遅延させる  請求項７に記載の情報処理装置。
【請求項９】
前記応答制御部は、前記機能実行指示を遅延させている場合、前記ユーザからのキャンセルの指示を受けると、前記機能実行指示の実行を中止する  請求項８に記載の情報処理装置。
【請求項１０】
前記応答制御部は、前記機能実行指示の遅延時間が経過すると、当該機能実行指示を実行させる  請求項８に記載の情報処理装置。
【請求項１１】
前記応答制御部は、前記集中度が前記第１閾値以下の場合、前記ユーザへの前記機能実行指示の実行確認の制御を実行する  請求項８に記載の情報処理装置。
【請求項１２】
前記判定部は、前記マクロの実行に関する前記ユーザのフレーズを認識した場合に取得した前記コンテキストと、前記マクロに紐付けられた前記ユーザの前記コンテキストとの適合度を算出する  請求項１に記載の情報処理装置。
【請求項１３】
前記判定部は、前記マクロを呼び出す前記フレーズの過去の出現度に基づいて前記フレーズの頻出度を算出する  請求項１に記載の情報処理装置。
【請求項１４】
前記応答制御部の制御によって前記マクロの前記機能実行指示を実行する実行部をさらに備える  請求項１に記載の情報処理装置。
【請求項１５】
コンピュータが、  少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロ実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定し、  判定した判定結果に基づいて、前記マクロの実行の制御を変更する  情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本開示は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】  近年、発話による操作が可能な機器が広く普及している。また、上記のような機器を利用するユーザの利便性を高める技術も多く提案されている。例えば、特許文献１には、ユーザが所望する任意の操作を音声によって実行させることが可能な音声マクロ処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２５９１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】  しかしながら、上記の従来技術では、ユーザの会話などでマクロを実行するためのフレーズが含まれた場合、ユーザが意図しないタイミングでマクロを実行されてしまう可能性がある。【０００５】  そこで、本開示では、ユーザ発話によるマクロ実行の利便性を低下させることなく、誤動作を抑制することができる情報処理装置及び情報処理方法を提案する。
【課題を解決するための手段】
【０００６】  上記の課題を解決するために、本開示に係る一形態の情報処理装置は、少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロ実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定する判定部と、前記判定部の判定結果に基づいて、前記マクロの実行の制御を変更する応答制御部と、を備える。【０００７】  また、本開示に係る一形態の情報処理方法は、コンピュータが、少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロ実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定し、判定した判定結果に基づいて、前記マクロの実行の制御を変更する。
【図面の簡単な説明】
【０００８】
【図１】本開示の実施形態に係る情報処理の概要を示す図である。
【図２】実施形態に係る情報処理システムの構成例を示す図である。
【図３】マクロの機能の取り消し操作の定義例を示す図である。
【図４】本実施形態に係るセキュリティリスクと実行レベルとの関係の例を示す図である。
【図５】マクロのセキュリティリスクに係る情報処理の手順の一例を示すフローチャートである。
【図６】マクロの実行制御に係る情報処理の手順の一例を示すフローチャートである。
【図７】本実施形態に係るマクロデータと実行リスクとコンテキスト種別との関係例を示す図である。
【図８】本実施形態に係るマクロの実行リスクに応じた実行確認の事例の一例を示す図である。
【図９】本実施形態に係るマクロデータと実行リスクとコンテキスト種別との関係例を示す図である。
【図１０】本実施形態に係るマクロの実行リスクに応じた実行確認の事例の他の一例を示す図である。
【図１１】情報処理サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】  以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１０】（実施形態）［実施形態に係る情報処理装置の概要］  図１は、本開示の実施形態に係る情報処理の概要を示す図である。本開示の実施形態に係る情報処理は、図１に示す情報処理システム１によって実行される。図１に示すように、情報処理システム１は、情報処理端末１０と、情報処理サーバ２０とを含む。情報処理システム１は、本開示に係る情報処理装置の一例である。情報処理端末１０と情報処理サーバ２０とは、例えば、ネットワークを介して通信したり、ネットワークを介さずに直に通信したりすることが可能な構成となっている。
【００１１】  情報処理端末１０は、いわゆるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）機器であり、情報処理サーバ２０と連携して、種々の情報処理を行う。情報処理端末１０は、ユーザ端末の一例である。情報処理端末１０は、例えばエージェント（Ａｇｅｎｔ）機器と称される場合がある。また、情報処理端末１０が実行する音声認識及び音声による応答処理等は、エージェント機能と称される場合がある。エージェント機能を有するエージェント機器は、例えば、スマートスピーカー、スマートフォン、タブレット端末、ゲーム機器、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ウェアラブル装置などであってもよい。また、本実施形態に係る情報処理端末１０は、据え置き型または自律移動型の専用端末であってもよい。例えば、スマートフォンやタブレット端末は、情報処理端末１０と同様の機能を有するプログラム（アプリケーション）を実行することによって、上記のエージェント機能を発揮する。
【００１２】  実施形態において、情報処理端末１０は、集音した音声に対する情報処理を実行する。例えば、情報処理端末１０は、ユーザの発話を認識し、当該発話に対する情報処理を実行する。例えば、情報処理端末１０は、ユーザが音声により行った複数の機能実行指示をマクロとして登録し、以降は当該マクロを音声により指定することで、複数の機能を実行可能とする。なお、図１の例では、情報処理端末１０は、情報処理端末１０を利用するユーザの一例であるユーザＵが居住する自宅に設置されているものとする。
【００１３】  なお、情報処理端末１０は、例えば、自宅内で生じた音を集音するのみならず、その他の各種情報を取得するための各種センサを有していてもよい。例えば、情報処理端末１０は、マイクロフォンの他に、空間上を取得するためのカメラや、照度を検知する照度センサや、傾きを検知するジャイロセンサや、物体を検知する赤外線センサ等を有していてもよい。
【００１４】  情報処理端末１０は、ユーザＵの発話を認識して、ユーザ発話に基づく情報処理を行う。例えば、情報処理端末１０は、ユーザ発話に応じて外部機器の制御を実行できる。外部機器は、情報処理端末１０と通信可能な電子機器である。外部機器は、例えば、ゲーム機器、テレビジョン、エアコンディショナー、照明装置、音響機器等を含む。情報処理端末１０は、外部機器に対して制御信号を無線通信によって出力して、外部機器の制御を実行可能な構成となっている。
【００１５】  図１に示す情報処理サーバ２０は、いわゆるクラウドサーバ（Ｃｌｏｕｄ  Ｓｅｒｖｅｒ）であり、情報処理端末１０と連携して情報処理を実行するサーバ装置である。情報処理サーバ２０は、情報処理端末１０が集音したユーザ発話を取得し、取得したユーザ発話を解析し、解析したユーザ発話に応じた情報処理の制御を実行する。そして、情報処理サーバ２０は、情報処理の実行を情報処理端末１０に要求できる。例えば、情報処理サーバ２０は、ユーザ発話に対応したマクロを実行したり、当該マクロの実行を情報処理端末１０に要求したりする。なお、マクロは、例えば、１又は複数の機能実行指示が登録され、マクロが呼び出されることで、当該機能を実行可能とする技術である。マクロは、例えば、アプリケーション、電子機器等に対する任意の機能、操作等を音声によって行わせることが可能な音声マクロを含む。
【００１６】  情報処理サーバ２０は、ユーザＵに係るマクロを示すマクロデータＭを管理している。マクロデータＭは、実行する機能を示すデータを含む。図１に示す例では、マクロデータＭは、１つの機能実行指示を含む場合を示している。マクロデータＭは、実行する複数の機能と実行する順序とを示す構成となっている。例えば、マクロデータＭは、マクロの名称とインテント（意図）とエンティティ（実体）とを紐付けている。インテントは、例えば、機能実行指示を示す情報を含む。エンティティは、紐付けられたインテントの実施で指定可能な情報（例えば、パラメータ等）等を含む。マクロデータＭは、１つのマクロの名称と複数のインテントとを紐付けてもよい。マクロデータＭは、１つのインテントと複数のエンティティとを紐付けてもよい。
【００１７】  図１に示す例では、マクロデータＭは、マクロ名が「いつもの音楽」というマクロデータＭを管理している。マクロ名は、マクロデータＭの実行の契機となっている。マクロデータＭは、インテントとして、音楽を再生する機能（ＰｌａｙＭｕｓｉｃ）を示している。マクロデータＭは、インテントに紐付けられたエンティティとして、アーティストＡを示している。すなわち、マクロデータＭは、アーティストＡの音楽を再生する機能を実行することを示している。
【００１８】  図１の場面ＳＣ１では、ユーザＵは、土曜日の夜のゲーム中に、ユーザ発話ＵＯを行っている。ユーザ発話ＵＯは、例えば、「いつもの音楽」を示している。すなわち、ユーザ発話ＵＯは、マクロ名「いつもの音楽」のマクロを実行するためのフレーズを含んでいる。
【００１９】  情報処理端末１０は、ユーザ発話ＵＯを集音するとともに、集音時のユーザＵの状況を示すコンテキストＣを取得する。この場合、コンテキストＣは、例えば、土曜日、夜、ゲームシーン等を含む。情報処理端末１０は、集音したユーザ発話ＵＯを示す発話データＤとコンテキストＣとを情報処理サーバ２０に送信する。
【００２０】  情報処理サーバ２０は、発話データＤ及びコンテキストＣを受信すると、発話データＤを解析する。例えば、情報処理サーバ２０は、ユーザ発話ＵＯに基づく自動音声認識（ＡＳＲ：Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理と自然言語理解（ＮＬＵ：Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ）処理を行い、発話データＤからフレーズを抽出する。状態Ｒ１１に示すように、情報処理サーバ２０は、フレーズとして、マクロ名を示す「いつもの音楽」を抽出し、コンテキストＣとして、土曜日、夜、ゲームシーン等の情報を取得する。
【００２１】  情報処理サーバ２０は、「いつもの音楽」のマクロを実行するリスクの度合いを判定する。例えば、情報処理サーバ２０は、「いつもの音楽」のマクロに紐付けられた履歴データとコンテキストＣとを比較し、その比較結果に基づいてセキュリティリスクの度合いを判定する。例えば、履歴データ２６２は、「いつもの音楽」のマクロが土曜の夜のゲーム中に実行されていることを示している。状態Ｒ１２に示すように、情報処理サーバ２０は、現在のユーザＵの状況が履歴と類似し、フレーズの頻度が低いので、マクロを実行するセキュリティリスクの度合いが変更条件を満たさないと判定する。なお、変更条件は、マクロの実行を変更する必要があるか否かを判定するための条件である。変更条件は、例えば、履歴の一致度、フレーズの頻度等を判定するための閾値、範囲等を含む。例えば、変更条件は、マクロの実行確認が必要なセキュリティリスクが高い状態を判定するための条件となっている。この場合、状態Ｒ１３に示すように、情報処理サーバ２０は、「いつもの音楽」のマクロ実行の要求ＲＱ１を情報処理端末１０に送信する。その結果、情報処理端末１０は、アーティストＡの音楽を再生する。
【００２２】  図１の場面ＳＣ２では、ユーザＵは、平日の夜の食事中に、ユーザ発話ＵＯを行っている。ユーザ発話ＵＯは、例えば、「いつもの音楽」を示している。すなわち、ユーザ発話ＵＯは、マクロ名「いつもの音楽」のマクロを実行するためのフレーズを含んでいる。
【００２３】  情報処理端末１０は、ユーザ発話ＵＯを集音するとともに、集音時のコンテキストＣを取得する。この場合、コンテキストＣは、例えば、平日、夜、食事シーン等を含む。情報処理端末１０は、集音したユーザ発話ＵＯを示す発話データＤとコンテキストＣとを情報処理サーバ２０に送信する。
【００２４】  情報処理サーバ２０は、発話データＤ及びコンテキストＣを受信すると、発話データＤを解析する。例えば、情報処理サーバ２０は、ユーザ発話ＵＯに基づく自動音声認識処理と自然言語理解処理を行い、発話データＤからフレーズを抽出する。状態Ｒ２１に示すように、情報処理サーバ２０は、フレーズとして、マクロ名を示す「いつもの音楽」を抽出し、コンテキストＣとして、平日、夜、食事シーン等の情報を取得する。
【００２５】  情報処理サーバ２０は、「いつもの音楽」のマクロを実行するリスクの度合いを判定する。例えば、情報処理サーバ２０は、「いつもの音楽」のマクロに紐付けられた履歴データとコンテキストＣとを比較し、その比較結果に基づいてセキュリティリスクの度合いを判定する。例えば、履歴データは、「いつもの音楽」のマクロが土曜の夜のゲーム中に実行されていることを示している。状態Ｒ２２に示すように、情報処理サーバ２０は、現在のユーザＵの状況が履歴とは異なり、フレーズの頻度が低いので、マクロを実行するリスクの度合いが変更条件を満たすと判定する。そして、状態Ｒ２３に示すように、情報処理サーバ２０は、「いつもの音楽」のマクロの実行確認を示す要求ＲＱ２を情報処理端末１０に送信する。その結果、情報処理端末１０は、「いつもの音楽」のマクロを実行するかをユーザＵに確認する。場面ＳＣ２に示す例では、情報処理端末１０は、「いつもの音楽を再生しますか？」の音声ＶをユーザＵに出力している。
【００２６】  以上のように、実施形態に係る情報処理サーバ２０は、マクロの実行の契機となるフレーズをユーザ発話ＵＯから認識した場合、マクロを実行するセキュリティリスクを判定した判定結果に基づいて、マクロの実行の制御を変更する。これにより、情報処理サーバ２０は、ユーザＵがフレーズを発した状況に応じてマクロの実行制御を変更することができる。その結果、情報処理サーバ２０は、マクロを音声で実行できる利便性を低下させることなく、誤動作を抑制することができる。
【００２７】  また、情報処理サーバ２０は、セキュリティリスクの度合いが変更条件を満たさない場合にマクロの機能実行指示を実行させ、セキュリティリスクの度合いが変更条件を満たす場合にマクロの実行をユーザＵに確認する。これにより、情報処理サーバ２０は、ユーザＵの発話時の状況に応じて、マクロの実行方法を変更することができる。その結果、情報処理サーバ２０は、ユーザＵの発話に応じてマクロを誤って実行する頻度を抑制することができる。
【００２８】［実施形態に係る情報処理システムの構成例］  次に、実施形態に係る情報処理装置の一例として、情報処理端末１０と、情報処理サーバ２０とを含む情報処理システム１の構成について説明する。図２は、実施形態に係る情報処理システム１の構成例を示す図である。図２に示すように、情報処理システム１は、情報処理端末１０と、情報処理サーバ２０とを含む。なお、情報処理装置は、情報処理システム１の構成に限定されない。
【００２９】｛情報処理端末１０｝  次に、本実施形態に係る情報処理端末１０の機能構成の一例について説明する。図２に示すように、情報処理端末１０は、表示部１１０と、音声出力部１２０と、音声入力部１３０と、撮像部１４０と、センサ部１５０と、制御部１６０と、通信部１７０と、を備える。
【００３０】  表示部１１０は、画像やテキストなどの視覚情報を出力する機能を有する。表示部１１０は、例えば、情報処理サーバ２０による制御に基づいて、テキストや画像を表示する。
【００３１】  本実施形態では、表示部１１０は、例えば、視覚情報を提示する表示デバイスなどを備える。表示デバイスには、例えば、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置、タッチパネルなどが挙げられる。また、本実施形態に係る表示部１１０は、プロジェクション機能により視覚情報を出力してもよい。
【００３２】  音声出力部１２０は、音声を含む種々の音を出力する機能を有する。音声出力部１２０は、情報処理サーバ２０による制御に基づいて、音声を出力する。本実施形態では、音声出力部１２０は、例えば、スピーカーやアンプなどの音声出力装置を備える。
【００３３】  音声入力部１３０は、ユーザＵによる発話や、情報処理端末１０の周囲で発生する周囲音などの音情報を収集する機能を有する。音声入力部１３０が収集する音情報は、情報処理サーバ２０による自動音声認識処理やコンテキストＣの取得などに用いられる。本実施形態では、音声入力部１３０は、例えば、音情報を収集するためのマイクロフォンを備える。
【００３４】  撮像部１４０は、ユーザＵや周囲環境の画像を撮像する機能を有する。撮像部１４０が撮像した画像情報は、情報処理サーバ２０によるユーザＵの行動認識や状態認識、周囲環境の認識に用いられる。本実施形態では、撮像部１４０は、画像を撮像することが可能な撮像装置を備える。なお、上記の画像には、静止画像のほか動画像が含まれる。
【００３５】  センサ部１５０は、周囲環境やユーザＵの行動、状態に関する種々のセンサ情報を収集する機能を有する。センサ部１５０が収集したセンサ情報は、情報処理サーバ２０による周囲環境の認識やユーザＵの行動認識、状態認識に用いられる。本実施形態では、センサ部１５０は、例えば、赤外線センサを含む光センサ、加速度センサ、ジャイロセンサ、地磁気センサ、熱センサ、振動センサ、ＧＮＳＳ（Ｇｌｏｂａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓａｔｅｌｌｉｔｅ  Ｓｙｓｔｅｍ）信号受信装置などを備える。
【００３６】  制御部１６０は、情報処理端末１０が備える各構成を制御する機能を有する。制御部１６０は、例えば、各構成の起動や停止を制御する。また、制御部１６０は、情報処理サーバ２０により生成される制御信号などを表示部１１０や音声出力部１２０に入力する。制御部１６０は、情報処理サーバ２０から要求されたマクロを実行する機能を有する。制御部１６０は、マクロを実行することにより、実行部として機能する。
【００３７】  通信部１７０は、ネットワークを介して情報処理サーバ２０との情報通信を行う機能を有する。具体的には、通信部１７０は、音声入力部１３０が収集した音情報や、撮像部１４０が撮像した画像情報、センサ部１５０が収集したセンサ情報を情報処理サーバ２０に送信する。また、通信部１７０は、情報処理サーバ２０から応答出力に係る制御信号などを受信する。
【００３８】  以上、本実施形態に係る情報処理端末１０の機能構成例について説明した。なお、図２を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理端末１０の機能構成は係る例に限定されない。本実施形態に係る情報処理端末１０の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００３９】｛情報処理サーバ２０｝  次に、情報処理サーバ２０の構成の一例について説明する。図２に示すように、情報処理サーバ２０は、音声認識部２１０と、意味解析部２２０と、画像認識部２３０と、センサ認識部２４０と、判定部２５０と、記憶部２６０と、応答制御部２７０と、通信部２８０と、を備える。音声認識部２１０、意味解析部２２０、画像認識部２３０、センサ認識部２４０、判定部２５０、及び応答制御部２７０の各処理部は、例えば、ＣＰＵやＭＰＵ等によって、情報処理サーバ１００内部に記憶されたプログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、各処理部は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【００４０】  音声認識部２１０は、情報処理端末１０が収集したユーザＵの発話に基づく自動音声認識処理を行う。例えば、音声認識部２１０は、自動音声認識（ＡＳＲ）処理等を用いることができる。音声認識部２１０は、認識した結果を記憶部２６０に記憶する。
【００４１】  意味解析部２２０は、音声認識部２１０による自動音声認識処理の結果に対する自然言語理解処理を行い、ユーザＵの発話に係るフレーズを抽出する機能を有する。フレーズは、例えば、マクロ名のフレーズ、マクロ名に類似したフレーズ等を含む。
【００４２】  画像認識部２３０は、情報処理端末１０が撮像した画像に基づく種々の認識処理を行う。本実施形態では、画像認識部２３０は、例えば、上記の画像からユーザＵや周辺環境の状態などを認識することができる。画像認識部２３０による認識処理の結果は、判定部２５０によるコンテキストＣの認識に用いられる。
【００４３】  センサ認識部２４０は、情報処理端末１０が収集したセンサ情報に基づく種々の認識処理を行う。本実施形態では、センサ認識部２４０は、例えば、上記のセンサ情報からユーザＵの行動や周囲の状態などを認識することができる。センサ認識部２４０による認識処理の結果は、判定部２５０によるコンテキストＣの認識に用いられる。
【００４４】  判定部２５０は、ユーザＵの状況を示すコンテキストＣのマクロ実行時の適合度及びフレーズが出現する頻出度の少なくとも一方に基づいて、マクロのセキュリティリスクの度合いを判定する機能を有する。判定部２５０は、少なくとも１つの機能実行指示を含むマクロの実行に関するユーザＵのフレーズを認識した場合に、マクロのセキュリティリスクの度合いの判定を行う。例えば、判定部２５０は、意味解析部２２０が抽出したフレーズの頻出度を算出する機能を有する。判定部２５０は、マクロを呼び出すフレーズの過去の出現度に基づいてフレーズ頻出度を算出する機能を有する。例えば、判定部２５０は、取得したコンテキストＣのマクロ実行時の適合度を算出する機能を有する。例えば、判定部２５０は、マクロの実行に関するユーザＵのフレーズを認識した場合に取得したコンテキストＣと、マクロに紐付けられたユーザＵのコンテキストとの適合度を算出する機能を有する。なお、コンテキストＣの適合度及びフレーズの頻出度の算出方法については、後述する。
【００４５】  判定部２５０は、マクロの機能実行指示を実行することによってユーザＵが受ける不利益の度合いを算出する機能と、当該不利益の度合いに基づいてマクロの実行リスクの度合いを算出する機能と、を有する。また、判定部２５０は、マクロの実行レベルを算出する機能を有する。そして、判定部２５０は、実行リスクが実行レベルよりも大きい場合、マクロの実行をユーザに確認する処理を実行させる。
【００４６】  判定部２５０は、マクロの機能実行指示を実行することによって直前に実行した機能実行指示を取り消す可能性を判定する機能を有する。直前とは、例えば、予め定められた時間だけ遡った時間の範囲内を意味する。また、判定部２５０は、マクロの機能実行指示を実行することによってユーザＵが実行した操作を取り消す可能性を判定する機能を有する。例えば、判定部２５０は、ユーザＵの主タスクへの集中度を算出する機能を有する。主タスクは、例えば、ユーザＵの行動、作業等を含む。
【００４７】  記憶部２６０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部２６０は、情報処理端末１０から取得した発話データＤ、コンテキストＣ等を記憶する。記憶部２６０は、マクロデータＭを記憶する。記憶部２６０は、ユーザＵに紐付けたマクロデータＭを記憶する。記憶部２６０は、例えば、機能テンプレート２６１、履歴データ２６２等を記憶する。機能テンプレート２６１は、マクロの機能実行指示毎の取り消し操作定義を示す情報を含む。履歴データ２６２は、ユーザＵの発話によって実行されたマクロデータＭの実行履歴を示す情報、ユーザＵが実行した操作の履歴を示す情報等を含む。履歴データ２６２は、例えば、実行履歴として、実行したユーザＵを識別する情報、マクロデータＭを実行した状況を示すコンテキストＣ等を含んでもよい。ユーザＵの操作は、例えば、ユーザＵの発話によるマクロの操作（実行）を含んでもよい。
【００４８】  応答制御部２７０は、意味解析部２２０が抽出したインテントおよびエンティティ、判定部２５０の判定結果などに基づいて、ユーザに対する応答を制御する機能を有する。本実施形態に係る応答制御部２７０は、例えば、登録されたマクロの名称がユーザにより発話されたことに基づいて、当該マクロが含む複数の機能の実行を制御することができる。
【００４９】  通信部２８０は、情報処理端末１０との情報通信を行う。通信部２８０は、例えば、情報処理端末１０から、ユーザの発話に係る音情報や、画像、センサ情報などを受信する。また、通信部２８０は、応答制御部２７０が生成した制御信号や、合成音声、画像などを情報処理端末１０に送信する。
【００５０】  以上、本開示の一実施形態に係る情報処理サーバ２０の機能構成例について説明した。なお、図２を用いて説明した上記の機能構成はあくまで一例であり、本実施形態に係る情報処理サーバ２０の機能構成は係る例に限定されない。本実施形態に係る情報処理サーバ２０の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００５１】［情報処理サーバ２０の機能の詳細］  次に、本実施形態に係る情報処理サーバ２０が有する機能について詳細に説明する。上述したように、本実施形態に係る判定部２５０は、ユーザＵの状況に応じて複数の機能実行指示を含むマクロの実行制御を変更することができる。
【００５２】  例えば、情報処理システム１は、ユーザＵ同士の会話などでシステムに向けて発話されたものではないフレーズをシステムの音声入力として認識する場合がある。本開示では、この現象を「湧き出し」という。この場合、情報処理システム１は、ユーザＵが意図しないフレーズによってマクロを実行すると、誤動作となってしまう可能性がある。
【００５３】（マクロの機能の実行リスク：Ｒｆ）  情報処理サーバ２０の判定部２５０は、マクロを構成する１または複数の機能実行指示の実行リスクＲｆを算出する機能を有する。判定部２５０は、マクロの各機能について、湧き出しによるその機能の実行によってユーザＵが被る不利益の度合いで分類し、Ｒｆを定義している。例えば、判定部２５０は、ユーザＵの不利益度合いが低い情報提供、コンテンツ視聴等の実行リスクをＲｆ＝１としている。例えば、判定部２５０は、ユーザ不利益度合いが中程度の家電操作等の実行リスクをＲｆ＝２としている。例えば、判定部２５０は、ユーザ不利益度合いが高いプライバシー、予約等の実行リスクをＲｆ＝３としている。例えば、判定部２５０は、ユーザ不利益度合いが最高のコミュニケーション、消去等の実行リスクをＲｆ＝４としている。情報処理サーバ２０は、実行リスクＲｆの値が高くなるに従って、マクロの実行をユーザに確認する処理の優先度を高くすることができる。
【００５４】  なお、判定部２５０は、ユーザＵの使用状況に応じて、各機能の実行リスクＲｆを更新してもよい。例えば、判定部２５０は、マクロの機能実行直後に、ユーザＵによりその機能の取り消し操作が行われた場合は、Ｒｆを加算（例えば＋０．１等）してもよい。例えば、判定部２５０は、マクロ実行の該当機能の実行確認で、ユーザＵが実行を拒否した場合はその機能のＲｆを加算（例えば＋０．１等）してもよい。例えば、判定部２５０は、マクロ実行の該当機能の実行確認で、ユーザＵが実行許可した場合はその機能のＲｆを減算（例えば−０．１等）してもよい。
【００５５】（マクロの機能の操作取り消しリスク：Ｕｆ）  情報処理サーバ２０の判定部２５０は、履歴データ２６２のユーザＵの操作ログを参照し、実行するマクロが直近の操作を取り消す要素機能であるか否かを判定する機能を有する。直近の操作は、例えば、予め定められた時間だけ遡った範囲内の操作を意味する。要素機能とは、例えば、マクロを構成する１つの機能実行指示を意味する。例えば、実行するマクロに直近の操作を取り消す要素機能が含まれる場合、判定部２５０は、機能実行指示が示す機能の実行リスクに、操作取り消しリスクＵｆと係数とを掛けた値を加算する。例えば、操作取り消しリスクＵｆは、以下の式（１）で表現される。    Ｕｆ＝（１−ｔ／Ｔｆ）  ・・・式（１）
【００５６】  ここで、式（１）におけるＴｆは、取り消し対象となる操作を、マクロ実行時から遡ってログ検索する時間の最大値を示し、機能毎に定義される。式（１）におけるｔは、取り消し対象となる操作からマクロを実行するまでの時間を示し、０＜ｔ≦Ｔｆとなっている。
【００５７】  判定部２５０は、以下の式（２）に示すように、操作取り消しリスクＵｆに係数Ｋｆを乗算した値を実行リスクＲｆに加算し、その値を実行リスクＲｆとする。ここで、係数Ｋｆは、機能毎に取り消されることにより、ユーザＵが被る不利益の度合いで定義される係数である。    Ｒｆ＋＝Ｋｆ・Ｕｆ  ・・・式（２）
【００５８】  なお、マクロの各機能の操作取り消しリスクＵｆ（の総和）は、後述するコンテキスト適合度Ｍｃの算出にも使用することができる。例えば、操作取り消しリスクＵｆの高い機能が増えるほど、コンテキスト適合度Ｍｃが減少するため、結果的にマクロのセキュリティリスクＲｍが増加して実行確認ステップが入る確率が高くなる。また、実行するマクロ内の直近の操作を取り消す要素機能の実行リスクＲｆが増加するため、マクロ実行中に直近の操作を取り消す要素機能に対する実行確認または遅延を行う確率が高くなる。
【００５９】  情報処理サーバ２０は、例えば、マクロの機能毎の取り消し操作定義を示す情報を機能テンプレート２６１に記憶している。図３は、マクロの機能の取り消し操作の定義例を示す図である。図３に示す例では、機能テンプレート２６１は、マクロを構成する要素機能と、直前の取り消し対象操作と、ログ検索最大遡り時間Ｔｆと、操作取り消しリスクの係数Ｋｆと、備考といった項目を有する。マクロを構成する要素機能の項目は、インテント［エンティティ］と、挙動と、実行リスクＲｆといった項目を有する。直前の取り消し対象操作の項目は、インテント［エンティティ］と、挙動といった項目を有する。
【００６０】  例えば、マクロを構成する要素機能は、インテント［エンティティ］の項目に「ＰｌａｙＭｕｓｉｃ［Ａ］」、挙動の項目に「“Ａ”の曲再生」と、実行リスクＲｆの項目に「１」が設定されている。そして、マクロを構成する要素機能に紐付けられた直前の取り消し対象操作と、ログ検索最大遡り時間Ｔｆと、操作取り消しリスクの係数Ｋｆと、備考といった項目には、以下の情報が設定される。直前の取り消し対象操作は、インテント［エンティティ］の項目に「ＰｌａｙＭｕｓｉｃ［Ｂ］、ＳｔｏｐＭｕｓｉｃ」、挙動の項目に「“Ｂ”の曲再生、音楽再生停止」が設定されている。ログ検索最大遡り時間Ｔｆの項目には、「５分」が設定されている。操作取り消しリスクの係数Ｋｆの項目には、「３」が設定されている。備考の項目には、「１曲程度の時間検索」が設定されている。
【００６１】  情報処理サーバ２０は、マクロの機能が“Ａ”の曲再生の機能である場合、ログ検索最大遡り時間Ｔｆを５分とし、直前の取り消し対象操作として、直近に“Ｂ”の曲再生の機能が実行されたことを検索する。そして、情報処理サーバ２０は、“Ｂ”の曲再生の機能が実行されたことを見つけた場合、“Ａ”の曲再生により、“Ｂ”の曲再生停止が行われるため、操作取り消しリスクの係数Ｋｆに「３」を設定する。このように、情報処理サーバ２０は、他のマクロの要素機能についても、機能テンプレート２６１を参照して、操作取り消しリスクの係数Ｋｆを求めることが可能な構成となっている。
【００６２】（コンテキスト適合度：Ｍｃ）  情報処理サーバ２０の判定部２５０は、コンテキスト適合度Ｍｃを算出する機能を有する。例えば、判定部２５０は、以下の式（３）を用いてコンテキスト適合度Ｍｃを算出する。
【００６３】
【数１】
2020039753.tif 000003
【００６４】  ここで、式（３）におけるｎは、観測対象となるコンテキスト種別Ｃｊの数を示す。式（３）におけるＰ（Ｃｊｏｂｓ｜Ｓ）は、マクロ複合機能シーケンスＳの実行条件での、現在の観測コンテキストＣｊｏｂｓのログ上の観測確率を示す。式（３）におけるＷｊは、加重平均に用いるコンテキスト種別Ｃｊの重み係数を示し、マクロ複合機能シーケンスＳのコンテキスト種別Ｃｊへの依存度による。例えば、Ｗｊは、Ｗｊ＝Ｐ（Ｃｊｍａｘ｜Ｓ）を用いることができる。Ｃｊｍａｘは、ａｒｇｍａｘＰ（Ｃｊ｜Ｓ）であり、コンテキスト種別Ｃｊ内で、マクロ複合機能シーケンスＳの実行条件で最大のログ上の観測確率をもつコンテキストを示している。なお、Ｕｆは、マクロを構成する各要素機能の直近の操作取り消しリスクを示す、上述したように算出する。
【００６５】  コンテキスト種別Ｃｊの一例について説明する。コンテキスト種別Ｃｊは、例えば、曜日（日時）、時間帯（日時）、シーン、ユーザ行動、場所、ユーザＵの感情、対話文脈等の種別を含む。曜日（日時）は、例えば、日曜日、月曜日、火曜日、水曜日、木曜日、金曜日、土曜日を含む。時間帯は、例えば、朝、昼、夕方、夜、夜中を含む。シーンは、ゲームシーンを含む。ゲームシーンは、ゲームのタイトル、プレイヤ等の情報を含んでもよい。ユーザ行動は、例えば、料理中、食事中、テレビジョンを鑑賞中、特定のアプリケーションを実行中、会話中等を含む。場所は、例えば、リビング、寝室、キッチン、ゲームなどの仮想空間におけるマップ上の地名等を含む。ユーザＵの感情は、例えば、嬉しい、悲しい、楽しい、怒っている、驚いている、平常等を含む。対話文脈は、例えば、直近のユーザ発話、インテント等を含む。
【００６６】（フレーズ頻出度：Ｆｐ）  情報処理サーバ２０の判定部２５０は、マクロの呼び出しのフレーズ頻出度Ｆｐを設定する機能を有する。判定部２５０は、マクロ登録時の対話コーパス等のデータ上のフレーズ出現度からＮ段階（例えば１０段階等）の頻出度ｆを設定する。例えば、判定部２５０は、以下の式（４）に示すように、頻出度ｆをＮ段階で除算することで、フレーズ頻出度Ｆｐを算出することができる。ただし、頻出度ｆは、１≦ｆ≦Ｎの関係を満たす。    Ｆｐ＝ｆ／Ｎ  ・・・式（４）
【００６７】  また、判定部２５０は、フレーズ頻出度Ｆｐを個人化して更新することができる。例えば、判定部２５０は、フレーズがマクロ実行時に使用されると、式（４）の分母のみ１を加算することができる。この場合、フレーズ頻出度Ｆｐ’は、頻出度ｆを（Ｎ＋１）段階で除算することで算出できる。例えば、判定部２５０は、ユーザＵのメッセージ内容などの自由発話文や通話時等のユーザ発話を監視し、フレーズがマクロ実行以外に使用されると、式（４）の分母と分子の両方に１を加算することができる。この場合、フレーズ頻出度Ｆｐ’は、頻出度（ｆ＋１）を（Ｎ＋１）段階で除算することで算出できる。例えば、判定部２５０は、フレーズがマクロ実行に使用された後、そのマクロのＵｎｄｏ操作が行われると、式（４）の分子のみ１を加算することができる。この場合、フレーズ頻出度Ｆｐ’は、頻出度（ｆ＋１）をＮ段階で除算することで算出できる。ただし、マクロ実行時に式（４）の分母は１が加算されているので、フレーズ頻出度Ｆｐ’が１を超えることはない。
【００６８】（マクロのセキュリティリスク：Ｒｍ）  情報処理サーバ２０の判定部２５０は、マクロのセキュリティリスクＲｍを算出する機能を有する。判定部２５０は、コンテキスト適合度Ｍｃとフレーズ頻出度Ｆｐとに基づいてセキュリティリスクＲｍを算出する。例えば、判定部２５０は、以下の式（５）に示すように、１からコンテキスト適合度Ｍｃを差し引いた値に、フレーズ頻出度Ｆｐを乗算することで、セキュリティリスクＲｍを算出することができる。    Ｒｍ＝（１−Ｍｃ）・Ｆｐ  ・・・式（５）
【００６９】  コンテキスト適合度Ｍｃは、０≦Ｍｃ≦１である。この場合、式（５）は、マクロ実行時に観測した各種のコンテキストＣと、ユーザ操作ログ上の過去にマクロ複合機能を行った時の各種コンテキストが一致しているほど、コンテキスト適合度Ｍｃが上がり、セキュリティリスクＲｍが下がる。また、式（５）は、実行時の各種コンテキストと過去の各種コンテキストから発話状況が異なっているほど、コンテキスト適合度Ｍｃが下がり、セキュリティリスクＲｍが上がる。
【００７０】  フレーズ頻出度Ｆｐは、０＜Ｆｐ≦１である。この場合、式（５）は、マクロの呼び出しフレーズが、マクロ呼び出し用途以外には使用され得ないフレーズであるほど、フレーズ頻出度Ｆｐが下がり、セキュリティリスクＲｍが下がる。また、式（５）は、マクロ呼び出し用途以外にも日常的に使用され易いフレーズであるほど、フレーズ頻出度Ｆｐが上がり、セキュリティリスクＲｍが上がる。
【００７１】  式（５）で算出するセキュリティリスクＲｍは、０≦Ｒｍ≦１の範囲を取り得る。セキュリティリスクＲｍは、乗算により求められているので、例えば、コンテキスト適合度Ｍｃが低い場合でも、フレーズ頻出度Ｆｐが低い。すなわち、マクロ呼び出し用途以外には使用され得ないフレーズであると、セキュリティリスクＲｍは低くなる。なお、コンテキスト適合度Ｍｃが低い場合は、換言すると、発話状況が大きく異なるのでリスクが高い場合である。また、フレーズ頻出度Ｆｐが低い場合でも、コンテキスト適合度Ｍｃが高いとマクロのセキュリティリスクＲｍは低くなる。フレーズ頻出度Ｆｐが低い場合は、換言すると、日常的に使用されるフレーズなのでリスクが高い場合である。
【００７２】（マクロの実行レベル：Ｌｅ）  情報処理サーバ２０の判定部２５０は、マクロの実行レベルＬｅを算出する機能を有する。判定部２５０は、セキュリティリスクＲｍに基づいて実行レベルＬｅを算出する。例えば、判定部２５０は、以下の式（６）に示すように、セキュリティリスクＲｍから１を差し引いた値に、実行レベル係数ｋｌを乗算することで、マクロの実行レベルＬｅを算出することができる。    Ｌｅ＝−ｋｌ・（Ｒｍ−１）  ・・・式（６）
【００７３】  実行レベル係数ｋｌは、例えば、Ｒｍ＝０の時に、実行確認または遅延を行う要素機能の実行リスクＲｆの値を設定される。なお、Ｒｍ＝０は、マクロのセキュリティリスクが全くない状態を意味する。
【００７４】  図４は、本実施形態に係るセキュリティリスクＲｍと実行レベルＬｅとの関係の例を示す図である。図４は、横軸がセキュリティリスクＲｍ、縦軸が実行レベルＬｅをそれぞれ示している。図４は、実行レベル係数ｋｌが５の場合のグラフを示している。図４に示すグラフは、セキュリティリスクＲｍが０の場合に実行レベルＬｅが５、セキュリティリスクＲｍが１の場合に実行レベルＬｅが０となるグラフとなっている。
【００７５】  情報処理サーバ２０の判定部２５０は、ユーザＵのながら度に応じて、リスクに対する対処方法を変更する機能を有する。ながら度は、例えば、ユーザＵの主タスクへの集中度を意味する。
【００７６】  判定部２５０は、例えば、ユーザＵのゲーム機のコントローラ操作頻度が高い場合、ゲームをしながらの発話である可能性が高いため、ながら度が高いと判定する。判定部２５０は、例えば、テレビジョンの電源ＯＦＦである場合、テレビジョンを視聴しながらのながら度が低いと判定する。判定部２５０は、例えば、テレビジョンが電源ＯＮされてユーザＵの視線がテレビジョンを向いていると、テレビジョンを視聴しながらのながら度が高いと判定する。そして、判定部２５０は、例えば、画像情報からユーザＵの動きが大きいほど、ながら度が高いと判定する。本実施形態では、ながら度は、ユーザＵの主タスクへの集中度を数値化している。
【００７７】  判定部２５０は、ながら度が判定閾値以下（低い）の場合、ユーザＵにマクロの要素機能を実行してよいかの確認を行う。そして、判定部２５０は、ユーザＵから許諾応答があった場合、マクロの要素機能を実行すると判定し、ユーザＵから実行拒否応答または許諾応答がない場合、マクロの要素機能を実行しないと判定する。
【００７８】  なお、判定部２５０は、ユーザＵから確認したマクロの要素機能の変更応答がある場合、マクロの要素機能を変更または無効化してもよい。例えば、判定部２５０は、ユーザＵに「音量を８０にしてもよいですか？」と確認したとする。そして、判定部２５０は、ユーザＵから「音量を５０に変更して」との応答を受けると、マクロの要素機能の音量を５０に変更してもよい。
【００７９】  判定部２５０は、ながら度が判定閾値より大きい場合、マクロの要素機能の実行を遅延させる。例えば、判定部２５０は、ながら度が高いほど、マクロの要素機能の実行までの遅延時間を長くする。判定部２５０は、遅延期間中もユーザＵのながら度を監視し、判定閾値以下になった場合には、ユーザＵに要素機能を実行してもよいかの確認を行ってもよい。また、判定部２５０は、要素機能の遅延時間中に、ユーザＵから当該要素機能のキャンセル指示があると、要素機能を実行せずに次の要素機能の処理を実行する。判定部２５０は、ユーザＵから要素機能のキャンセル指示がなく、遅延時間が経過すると、要素機能の実行を行う。
【００８０】  なお、判定部２５０は、要素機能の実行確認または遅延時に、マクロ呼び出しフレーズを発話したユーザＵ以外の他のユーザが居る、ゲーム中でライブ配信中などの場合、メッセージの内容などプライバシーに係わる実行内容の提示を行わないようにしてもよい。
【００８１】［マクロのセキュリティリスクに係る情報処理の手順］  次に、図５を用いて、マクロのセキュリティリスクに係る情報処理の手順について説明する。図５は、マクロのセキュリティリスクに係る情報処理の手順の一例を示すフローチャートである。図５に示す処理手順は、情報処理サーバ２０がプログラムを実行することによって実現される。図５に示す処理手順は、情報処理サーバ２０がマクロを実行する契機を検出した場合に実行される。換言すると、図５に示す処理手順は、ユーザＵの発話からマクロ呼び出しフレーズを認識した場合に実行される。図５に示す処理手順は、判定部２５０の処理手順の一例である。
【００８２】  図５に示すように、情報処理サーバ２０は、プログラムの実行により、マクロの機能実行指示のステップＳ１００のループ処理を実行する。このステップＳ１００の終了条件は、マクロを構成する全ての機能実施指示を判定することである。情報処理サーバ２０は、ステップＳ１００を実行すると、マクロの機能実行指示の実行リスクＲｆを取得する（ステップＳ１０１）。ステップＳ１０１の処理は、上記のマクロの機能の実行リスクＲｆを算出する機能に該当している。情報処理サーバ２０は、機能テンプレート２６１に基づいて、機能実行指示の実行により、取り消される直近の操作があるかを検索する（ステップＳ１０２）。ステップＳ１０２の処理は、上記のマクロの機能の操作取り消しリスクＵｆを算出する処理に該当している。
【００８３】  情報処理サーバ２０は、取り消される直近の操作があるか否かを判定する（ステップＳ１０３）。例えば、情報処理サーバ２０は、取り消される直近の操作を検出した場合に、直近の操作があると判定する。そして、情報処理サーバ２０は、直近の操作がないと判定した場合（ステップＳ１０３でＮｏ）、処理をステップＳ１００のループ処理に戻す。また、情報処理サーバ２０は、直近の操作があると判定した場合（ステップＳ１０３でＹｅｓ）、処理をステップＳ１０４に進める。
【００８４】  情報処理サーバ２０は、機能実行指示の操作取り消しリスクＵｆを取り消し対象操作からの時間ｔから算出し、実行リスクＲｆに係数を掛けて加算して実行リスクＲｆを算出する（ステップＳ１０４）。ステップＳ１０４の処理は、上記のマクロの機能の操作取り消しリスクＵｆに基づいて実行リスクＲｆを変更する処理に該当している。情報処理サーバ２０は、実行リスクＲｆを求めると、処理をステップＳ１００のループ処理に戻す。そして、情報処理サーバ２０は、マクロの全ての機能実施指示を判定していない場合、ループ処理を繰り返す。情報処理サーバ２０は、マクロの全ての機能実施指示を判定した場合、ステップＳ１００のループ処理を終了させ、処理をステップＳ１０５に進める。
【００８５】  情報処理サーバ２０は、取得したコンテキストと履歴データ２６２からコンテキスト適合度Ｍｃを算出する（ステップＳ１０５）。ステップＳ１０５の処理は、上記のコンテキスト適合度Ｍｃを算出する機能に該当している。そして、情報処理サーバ２０は、マクロの呼び出しフレーズのフレーズ頻出度Ｆｐを取得・更新する（ステップＳ１０６）。ステップＳ１０６の処理は、フレーズ頻出度Ｆｐを設定する機能に該当している。そして、情報処理サーバ２０は、コンテキスト適合度Ｍｃとフレーズ頻出度ＦｐからマクロのセキュリティリスクＲｍを判定（算出）する（ステップＳ１０７）。ステップＳ１０７の処理は、マクロのセキュリティリスクＲｍを算出する機能に該当している。そして、情報処理サーバ２０は、セキュリティリスクＲｍを記憶部２６０に記憶し、図５に示す処理手順を終了させる。
【００８６】  以上のように、情報処理サーバ２０は、マクロの実行に関するユーザのフレーズを認識した場合に取得したコンテキストＣと、マクロに紐付けられたユーザＵのコンテキストとの適合度を算出する。これにより、情報処理サーバ２０は、ユーザがマクロ実行を意図しているか否かの判別をユーザＵの状況及びフレーズから判定することができる。その結果、情報処理サーバ２０は、ユーザＵの状況に適した判定を行えるので、マクロの誤実行を抑制することができる。
【００８７】［マクロの実行制御に係る情報処理の手順］  次に、図６を用いて、マクロの実行制御に係る情報処理の手順について説明する。図６は、マクロの実行制御に係る情報処理の手順の一例を示すフローチャートである。図６に示す処理手順は、情報処理サーバ２０がプログラムを実行することによって実現される。図６に示す処理手順は、図５に示した処理手順が終了した後に実行される。
【００８８】  図６に示すように、情報処理サーバ２０は、マクロのセキュリティリスクＲｍを取得する（ステップＳ２０１）。情報処理サーバ２０は、図５に示す処理手順で判定したマクロのセキュリティリスクＲｍを取得する。そして、情報処理サーバ２０は、マクロのセキュリティリスクＲｍから実行レベルＬｅを判定（算出）する（ステップＳ２０２）。ステップＳ２０２の処理は、マクロの実行レベルＬｅを算出する機能に該当している。
【００８９】  情報処理サーバ２０は、マクロの機能実行指示のループ処理を実行する（ステップＳ２１０）。このステップＳ２１０の終了条件は、マクロを構成する全ての機能実施指示を判定することである。情報処理サーバ２０は、ステップＳ２１０のループ処理を実行すると、マクロを構成する機能実行指示の実行リスクＲｆは実行レベルＬｅ以下であるか否かを判定する（ステップＳ２１１）。情報処理サーバ２０は、実行リスクＲｆが実行レベルＬｅ以下であると判定した場合（ステップＳ２１１でＹｅｓ）、処理をステップＳ２１２に進める。情報処理サーバ２０は、機能実行指示の即時実行を情報処理端末１０に要求する（ステップＳ２１２）。なお、機能実行指示の即時実行は、例えば、機能実行指示の実行、ユーザＵの確認をせずに機能実行指示の実行等を含む。例えば、情報処理サーバ２０は、応答制御部２７０によってマクロの機能実行指示の即時実行を情報処理端末１０に要求する。情報処理サーバ２０は、即時実行を要求すると、処理をステップＳ２１０のループ処理に戻す。その結果、情報処理端末１０は、制御部１６０によってマクロの機能実行指示を実行する。そして、情報処理サーバ２０は、マクロの全ての機能実行指示に対する判定が終了していないと、他の機能実行指示に対するステップＳ２１０のループ処理を繰り返す。また、情報処理サーバ２０は、マクロの全ての機能実行指示に対する判定が終了すると、ステップＳ２１０のループ処理を終了させ、図６に示す処理手順を終了させる。
【００９０】  情報処理サーバ２０は、マクロを構成する機能実行指示の実行リスクＲｆが実行レベルＬｅ以下ではないと判定した場合（ステップＳ２１１でＮｏ）、処理をステップＳ２１３に進める。情報処理サーバ２０は、ユーザＵのながら度は判定閾値以下であるか否かを判定する（ステップＳ２１３）。例えば、情報処理サーバ２０は、コンテキストＣに基づいてユーザＵのながら度を求め、当該ながら度が判定閾値以下であるか否かを判定する。そして、情報処理サーバ２０は、ユーザＵのながら度は判定閾値以下であると判定した場合（ステップＳ２１３でＹｅｓ）、処理をステップＳ２１４に進める。ステップＳ２１３でＹｅｓ以降のステップＳ２１４からの一連の処理は、上記のながら度が判定閾値以下（低い）の場合に、ユーザＵにマクロの要素機能を実行してよいかの確認を行う処理の一例に該当する。
【００９１】  情報処理サーバ２０は、マクロの機能実行指示を実行してもよいかをユーザＵに確認する応答を指示する（ステップＳ２１４）。例えば、情報処理サーバ２０は、応答制御部２７０を介して、ユーザＵに確認する応答を情報処理端末１０に指示する。その結果、情報処理端末１０は、制御部１６０の実行により、マクロの機能実行指示の実行を確認するメッセージをユーザＵに対して通知する。そして、情報処理端末１０は、実行確認、キャンセル等を受け付けた場合に、応答を情報処理サーバ２０に送信する。
【００９２】  情報処理サーバ２０は、応答を指示すると、ユーザＵの応答待ちのループ処理を実行する（ステップＳ２２０）。このステップＳ２２０の終了条件は、タイマのタイムアウトである。情報処理サーバ２０は、ステップＳ２２０を実行すると、ユーザＵからの実行確認の応答ありか否かを判定する（ステップＳ２２１）。例えば、情報処理サーバ２０は、通信部２８０を介して、情報処理端末１０から応答を受信している場合に、実行確認の応答ありと判定する。
【００９３】  情報処理サーバ２０は、ユーザＵからの実行確認の応答ありと判定した場合（ステップＳ２２１でＹｅｓ）、処理をステップＳ２２２に進める。情報処理サーバ２０は、応答は実行許可であるか否かを判定する（ステップＳ２２２）。情報処理サーバ２０は、応答は実行許可ではないと判定した場合（ステップＳ２２２でＮｏ）、ステップＳ２２０のループ処理を終了させ、処理をステップＳ２１０のループ処理に戻す。すなわち、情報処理サーバ２０は、マクロの機能実行指示を実行させずにステップＳ２２０のループ処理を終了する。
【００９４】  情報処理サーバ２０は、応答は実行許可であると判定した場合（ステップＳ２２２でＹｅｓ）、ステップＳ２２０のループ処理を終了させ、処理をステップＳ２２３に進める。情報処理サーバ２０は、機能実行指示の即時実行を情報処理端末１０に要求する（ステップＳ２２３）。例えば、情報処理サーバ２０は、応答制御部２７０を介して、機能実行指示の実行要求を情報処理端末１０に指示する。そして、情報処理サーバ２０は、処理をステップＳ２１０のループ処理に戻す。その結果、情報処理端末１０は、制御部１６０の実行により、マクロの機能実行指示を即時実行する。
【００９５】  情報処理サーバ２０は、実行確認の応答なしと判定した場合（ステップＳ２２１でＮｏ）、タイマがタイムアウトしていないと、ステップＳ２２０のループ処理を繰り返す。また、情報処理サーバ２０は、タイマがタイムアウトしていると、ステップＳ２２０の処理を終了させ、処理をステップＳ２１０のループ処理に戻す。
【００９６】  情報処理サーバ２０は、ユーザＵのながら度は判定閾値以下ではないと判定した場合（ステップＳ２１３でＮｏ）、ながら度は判定閾値よりも大きいので、処理をステップＳ２３０に進める。ステップＳ２１３でＮｏ以降のステップＳ２３０からの一連の処理は、上記のながら度が判定閾値より大きい場合に、マクロの要素機能の実行を遅延させる処理の一例に該当する。情報処理サーバ２０は、ながら度に応じた遅延ループ処理を実行する（ステップＳ２３０）。ステップＳ２３０の遅延ループ処理の終了条件は、タイマのタイムアウトである。そして、情報処理サーバ２０は、遅延ループ処理を実行すると、ユーザＵからのキャンセルの応答ありか否かを判定する（ステップＳ２３１）。例えば、情報処理サーバ２０は、通信部２８０を介して、情報処理端末１０からキャンセルを示す応答を受信している場合に、キャンセルの応答ありと判定する。情報処理サーバ２０は、キャンセルの応答ありと判定した場合（ステップＳ２３１でＹｅｓ）、ステップＳ２３０の遅延ループ処理を終了させ、処理をステップＳ２１０のループ処理に戻す。すなわち、情報処理サーバ２０は、マクロの機能実行指示を実行させずに、ステップＳ２３０の遅延ループ処理を終了する。
【００９７】  情報処理サーバ２０は、キャンセルの応答なしと判定した場合（ステップＳ２３１でＮｏ）、タイマがタイムアウトしていないと、ステップＳ２３０の遅延ループ処理を繰り返す。また、情報処理サーバ２０は、タイマがタイムアウトしていると、ステップＳ２３０の遅延ループ処理を終了させ、処理を既に説明したステップＳ２２３に進める。情報処理サーバ２０は、機能実行指示の即時実行を情報処理端末１０に要求する（ステップＳ２２３）。そして、情報処理サーバ２０は、処理をステップＳ２１０のループ処理に戻す。その結果、情報処理端末１０は、制御部１６０の実行により、マクロの機能実行指示を即時実行する。
【００９８】  以上のように、情報処理サーバ２０は、マクロの実行の契機となるフレーズをユーザ発話ＵＯから認識した場合、コンテキスト適合度Ｍｃとフレーズ頻出度Ｆｐとに基づいたセキュリティリスクＲｍの度合いを判定する。すなわち、情報処理サーバ２０は、ユーザＵがマクロ呼び出しフレーズを発話した時の情報がマクロの機能を実行するのに適しているかと、そのフレーズがマクロを呼び出し以外で日常的に使用されやすいかを判定に加味することができる。これにより、情報処理サーバ２０は、ユーザＵがマクロの実行を意図した発話の時は機能を即時実行させ、意図していない発話（湧き出し）の時は機能の実行をユーザＵに確認させることができる。その結果、情報処理サーバ２０は、マクロを音声で実行できる利便性を低下させることなく、誤動作を抑制することができる。
【００９９】  また、情報処理サーバ２０は、マクロを構成する機能実行指示の実行リスクに基づいて各機能実行指示の実行をユーザＵに確認する処理を実行する。そして、情報処理サーバ２０は、マクロを構成する機能実行指示の実行リスクＲｆが実行レベルＬｅよりも大きい場合、その機能実行指示の実行をユーザＵに確認する処理を実行する。これにより、情報処理サーバ２０は、実行リスクＲｆが低いマクロの機能実行指示に対して不要な実行確認を行わずに、当該機能実行指示を即時実行する。その結果、情報処理サーバ２０は、ユーザＵを煩わせることなく、誤動作を抑制することができる。
【０１００】  また、情報処理サーバ２０は、マクロの機能特性とユーザＵの状況から誤実行によりユーザＵが受ける不利益の度合いとして実行リスクＲｆを算出し、実行リスクＲｆが実行レベルＬｅよりも大きい場合、マクロの実行をユーザＵに確認する処理を実行する。これにより、情報処理サーバ２０は、実行リスクの高いマクロの機能の実行確認を優先的に行うことができる。その結果、情報処理サーバ２０は、マクロの実行によるユーザＵへの不利益の度合いを抑制することができる。
【０１０１】  また、情報処理サーバ２０は、マクロの機能実行指示を実行することによって直前のユーザＵの操作を取り消す可能性を判定し、当該操作を取り消す可能性がある場合、マクロの機能実行指示の実行をユーザＵに確認する。これにより、情報処理サーバ２０は、ユーザＵの操作を取り消すマクロの機能実行指示の実行を確認することで、ユーザＵの意図しない取り消しを回避することができる。その結果、情報処理サーバ２０は、マクロの実行によるユーザＵへの不利益の度合いをさらに抑制することができる。
【０１０２】  情報処理サーバ２０は、ユーザの主タスクへの集中度を算出し、当該集中度に応じてユーザへのマクロの機能実行指示の実行確認の制御を変更する。例えば、情報処理サーバ２０は、集中度が第１閾値よりも高い場合、マクロの機能実行指示を遅延させる。例えば、情報処理サーバ２０は、ユーザＵの集中度が第１閾値以下の場合、マクロの機能実行指示の実行を確認する。これにより、情報処理サーバ２０は、主タスクに集中しているユーザＵに対しては邪魔を抑制し、主タスクに集中していないユーザに対してはマクロの機能の実行確認を行うことができる。その結果、情報処理サーバ２０は、ユーザＵを煩わせることなく、マクロの機能の誤実行を抑制することができる。
【０１０３】  情報処理サーバ２０は、マクロの機能実行指示の実行を遅延させている場合に、ユーザからのキャンセルの指示を受けると、機能実行指示の実行を中止する。これにより、例えば、ユーザＵがマクロの機能を覚えていない場合、情報処理サーバ２０は、ユーザＵにマクロの機能を思い出させる時間を与えることができる。その結果、情報処理サーバ２０は、ユーザＵの意図したマクロの機能を実行する可能性を向上できるとともに、誤実行の抑制に貢献することができる。
【０１０４】  情報処理サーバ２０は、遅延時間が経過したときに、マクロの機能実行指示を実行させる。これにより、情報処理サーバ２０は、ユーザＵからキャンセルされなかったマクロの機能を実行させることができるので、情報処理サーバ２０は、ユーザＵの意図したマクロの機能を実行する可能性をより一層向上させることができる。
【０１０５】［マクロを構成する機能実行指示の実行リスクに応じた実行確認（１）］  次に、図７及び図８を用いて、情報処理システム１のマクロを構成する機能実行指示の実行リスクＲｆに応じた実行確認の一例について説明する。図７は、本実施形態に係るマクロデータＭと実行リスクＲｆとコンテキスト種別との関係例を示す図である。図８は、本実施形態に係るマクロの実行リスクに応じた実行確認の事例の一例を示す図である。図８は、直近の操作に取り消し要素機能がない場合のマクロの一例を示している。
【０１０６】  図７に示す一例では、情報処理サーバ１００は、マクロ名が“ゲームＡを始める時の設定して”というマクロデータＭを管理している。マクロデータＭは、インテントＭ１として、ＰｌａｙＭｕｓｉｃが設定されている。ＰｌａｙＭｕｓｉｃは、音楽を再生する機能の名称を示している。マクロデータＭは、インテントＭ１のエンティティＭ１１として、［アーティスト名］が設定されている。マクロデータＭは、インテントＭ１の次のインテントＭ２として、ＳｅｔＶｏｌｕｍｅが設定されている。ＳｅｔＶｏｌｕｍｅは、音量を設定する機能の名称を示している。マクロデータＭは、インテントＭ２のエンティティＭ２１として、［音量］が設定されている。マクロデータＭは、インテントＭ２の次のインテントＭ３として、ゲーム配信が設定されている。ゲーム配信は、ゲームを配信する機能の名称を示している。マクロデータＭは、インテントＭ３のエンティティＭ３１として、［配信設定］が設定されている。マクロデータＭは、インテントＭ３の次のインテントＭ４として、パーティ招待送信が設定されている。パーティ招待送信は、マルチプレイ可能なゲームへの招待状を送信する機能の名称を示している。マクロデータＭは、インテントＭ４のエンティティＭ４１として、［宛先］、［招待文］が設定されている。
【０１０７】  マクロデータＭには、機能テンプレート２６１に基づいた実行リスクＲｆが設定されている。実行リスクＲｆは、インテントＭ１がＲｆ＝１、インテントＭ２がＲｆ＝２、インテントＭ３がＲｆ＝３、インテントＭ４がＲｆ＝４と設定されている。そして、マクロデータＭは、マクロ名が「ゲームＡを始める時の設定して」のマクロのコンテキスト種別Ｃｊが紐付けられている。コンテキスト種別Ｃｊは、曜日の種別に「土曜日」、時間帯の種別に「夜」、ゲームシーンの種別に「ゲームＡ」が設定されている。
【０１０８】  情報処理サーバ２０は、情報処理端末１０から発話データＤ及びコンテキストＣを受信すると、発話データＤを解析する。情報処理サーバ２０は、発話データＤからマクロの呼び出しフレーズを抽出し、フレーズ頻出度Ｆｐを算出する。図８に示す例では、情報処理サーバ２０は、フレーズとして「ゲームＡを始める時の設定して」を抽出した場合、０．１のフレーズ頻出度Ｆｐを算出する。例えば、情報処理サーバ２０は、フレーズとして「いつもの開始設定」を抽出した場合、０．６のフレーズ頻出度Ｆｐを算出する。例えば、情報処理サーバ２０は、フレーズとして「開始」を抽出した場合、０．９のフレーズ頻出度Ｆｐを算出する。そして、図８に示す例では、フレーズ頻出度Ｆｐは、頻出度が低いほどリスクが低く、頻出度が高いほどリスクが高いことを示している。
【０１０９】  情報処理サーバ２０は、コンテキストＣに基づいてコンテキスト適合度Ｍｃを算出する。図８に示す例では、情報処理サーバ２０は、コンテキストＣが土曜の夜にゲームＡを行っていることを示している場合、０．８のコンテキスト適合度Ｍｃを算出する。例えば、情報処理サーバ２０は、コンテキストＣが土曜の夜にホーム画面を参照していることを示している場合、０．５のコンテキスト適合度Ｍｃを算出する。例えば、情報処理サーバ２０は、コンテキストＣが水曜の夜にホーム画面を参照していることを示している場合、０．２のコンテキスト適合度Ｍｃを算出する。そして、図８に示す例では、コンテキスト適合度Ｍｃは、適合度が高いほどリスクが低く、適合度が低いほどリスクが高いことを示している。
【０１１０】  情報処理サーバ２０は、マクロの複数のインテント毎にフレーズ頻出度Ｆｐ及びコンテキスト適合度Ｍｃを算出すると、セキュリティリスクＲｍ及び実行レベルＬｅを算出する。図８に示す例では、情報処理サーバ２０は、フレーズ頻出度Ｆｐが０．１、コンテキスト適合度Ｍｃが０．８の場合、０．０２のセキュリティリスクＲｍと４．９の実行レベルＬｅとを算出している。この場合、情報処理サーバ２０は、コンテキスト適合度Ｍｃのリスクが低く、フレーズ頻出度Ｆｐのリスクも低いので、インテントＭ１，Ｍ２，Ｍ３，Ｍ４を情報処理端末１０に即時実行させる。
【０１１１】  また、図８に示す例では、情報処理サーバ２０は、フレーズ頻出度Ｆｐが０．９、コンテキスト適合度Ｍｃが０．２の場合、０．７２のセキュリティリスクＲｍと１．４の実行レベルＬｅとを算出している。この場合、情報処理サーバ２０は、コンテキスト適合度Ｍｃのリスクが高く、フレーズ頻出度Ｆｐのリスクも高いので、インテントＭ１，Ｍ２，Ｍ３，Ｍ４の実行リスクＲｆを加味する。その結果、情報処理サーバ２０は、実行リスクＲｆに基づいて、インテントＭ１のみを情報処理端末１０に即時実行させ、インテントＭ２，Ｍ３，Ｍ４についてはユーザＵに実行を確認する。
【０１１２】  以上のように、情報処理サーバ２０は、図８に示すフレーズ頻出度Ｆｐ及びコンテキスト適合度Ｍｃを組み合わせたセキュリティリスクＲｍに基づいて、マクロの即時実行すべき機能実行指示（インテント）を判定することができる。そして、情報処理サーバ２０は、セキュリティリスクＲｍが低いほどユーザＵへの実行確認を抑制し、セキュリティリスクＲｍが高くなるほどユーザＵへの実行確認を多くしている。すなわち、情報処理サーバ２０は、ユーザＵがマクロ実行を意図した発話の時にマクロの機能を即時実行し、マクロ実行を意図していない発話（湧き出し）の時に実行確認を行うことで、マクロの誤実行を抑制している。
【０１１３】［マクロの実行リスクに応じた実行確認（２）］  次に、図９及び図１０を用いて、情報処理システム１のマクロの実行リスクＲｆに応じた実行確認の他の一例について説明する。図９は、本実施形態に係るマクロデータＭと実行リスクＲｆとコンテキスト種別との関係例を示す図である。図１０は、本実施形態に係るマクロの実行リスクに応じた実行確認の事例の他の一例を示す図である。図１０は、直近の操作を取り消す要素機能がマクロにある場合の一例を示している。
【０１１４】  図９に示す例では、情報処理サーバ１００は、マクロ名が“ゲームＡを始める時の設定して”というマクロデータＭを管理している。マクロデータＭは、図７に示すマクロデータＭと同一の構成となっている。図９に示す例では、ユーザＵが情報処理端末１０の音量操作が直近で行われている。この場合、マクロのインテントＭ２は、音量の設定する機能であるので、当該機能を実行すると、ユーザＵが設定した音量が変更される可能性がある。換言すると、ユーザＵの音量操作は、マクロのインテントＭ２を実行によって取り消される可能性がある。これにより、情報処理サーバ１００は、マクロのインテントＭ２の実行リスクＲｆに取り消しリスクを加算している。図９に示す例では、情報処理サーバ１００は、インテントＭ１２の実行リスクＲｆに、算出した取り消しリスクの２．８を加算して、実行リスクＲｆを４．８に変更している。すなわち、情報処理サーバ２０は、実行リスクＲｆを高くすることで、マクロのインテントＭ２の実行をユーザに確認する処理の優先度を高くしている。
【０１１５】  情報処理サーバ２０は、情報処理端末１０から発話データＤ及びコンテキストＣを受信すると、発話データＤを解析する。情報処理サーバ２０は、発話データＤからマクロの呼び出しフレーズを抽出し、フレーズ頻出度Ｆｐを算出する。図１０に示す例では、情報処理サーバ２０は、フレーズとして「ゲームＡを始める時の設定して」を抽出した場合、０．１のフレーズ頻出度Ｆｐを算出する。例えば、情報処理サーバ２０は、フレーズとして「いつもの開始設定」を抽出した場合、０．６のフレーズ頻出度Ｆｐを算出する。例えば、情報処理サーバ２０は、フレーズとして「開始」を抽出した場合、０．９のフレーズ頻出度Ｆｐを算出する。そして、図１０に示す例では、フレーズ頻出度Ｆｐは、頻出度が低いほどリスクが低く、頻出度が高いほどリスクが高いことを示している。
【０１１６】  情報処理サーバ２０は、コンテキストＣに基づいてコンテキスト適合度Ｍｃを算出する。図１０に示す例では、情報処理サーバ２０は、コンテキストＣが土曜の夜にゲームＡを行っていることを示している場合、０．６７のコンテキスト適合度Ｍｃを算出する。例えば、情報処理サーバ２０は、コンテキストＣが土曜の夜にホーム画面を参照していることを示している場合、０．４２のコンテキスト適合度Ｍｃを算出する。例えば、情報処理サーバ２０は、コンテキストＣが水曜の夜にホーム画面を参照していることを示している場合、０．１７のコンテキスト適合度Ｍｃを算出する。そして、図１０に示す例では、コンテキスト適合度Ｍｃは、適合度が高いほどリスクが低く、適合度が低いほどリスクが高いことを示している。
【０１１７】  情報処理サーバ２０は、マクロの複数のインテント毎にフレーズ頻出度Ｆｐ及びコンテキスト適合度Ｍｃを算出すると、セキュリティリスクＲｍ及び実行レベルＬｅを算出する。図１０に示す例では、情報処理サーバ２０は、フレーズ頻出度Ｆｐが０．１、コンテキスト適合度Ｍｃが０．６７の場合、０．０３のセキュリティリスクＲｍと４．８４の実行レベルＬｅとを算出している。この場合、情報処理サーバ２０は、コンテキスト適合度Ｍｃのリスクが低く、フレーズ頻出度Ｆｐのリスクも低いので、インテントＭ１，Ｍ２，Ｍ３，Ｍ４を情報処理端末１０に即時実行させる。
【０１１８】  また、図１０に示す例では、情報処理サーバ２０は、フレーズ頻出度Ｆｐが０．１、コンテキスト適合度Ｍｃが０．４２の場合、０．０６のセキュリティリスクＲｍと４．７１の実行レベルＬｅとを算出している。この場合、情報処理サーバ２０は、コンテキスト適合度Ｍｃのリスクが中程度で、フレーズ頻出度Ｆｐのリスクが高いので、インテントＭ１，Ｍ２，Ｍ３，Ｍ４の実行リスクＲｆを加味する。その結果、情報処理サーバ２０は、実行リスクＲｆに基づいて、インテントＭ１，Ｍ３，Ｍ４を情報処理端末１０に即時実行させ、インテントＭ２についてはユーザＵに実行を確認する。
【０１１９】  また、図８に示す例では、情報処理サーバ２０は、フレーズ頻出度Ｆｐが０．９、コンテキスト適合度Ｍｃが０．１７の場合、０．７５のセキュリティリスクＲｍと１．２５の実行レベルＬｅとを算出している。この場合、情報処理サーバ２０は、コンテキスト適合度Ｍｃのリスクが高く、フレーズ頻出度Ｆｐのリスクも高いので、インテントＭ１，Ｍ２，Ｍ３，Ｍ４の実行リスクＲｆを加味する。その結果、情報処理サーバ２０は、実行リスクＲｆに基づいて、インテントＭ１のみを情報処理端末１０に即時実行させ、インテントＭ２，Ｍ３，Ｍ４についてはユーザＵに実行を確認する。
【０１２０】  以上のように、情報処理サーバ２０は、図１０に示すように、直近の操作を取り消す要素機能がマクロにある場合、フレーズ頻出度Ｆｐ及びコンテキスト適合度Ｍｃのリスクの組み合わせに基づいて、マクロの即時実行すべき機能（インテント）を判定することができる。そして、情報処理サーバ２０は、セキュリティリスクＲｍが低いほどユーザＵへの実行確認を抑制し、セキュリティリスクＲｍが高くなるほどユーザＵへの実行確認を多くしている。さらに、情報処理サーバ２０は、ユーザＵの直近の操作を取り消す可能性がある機能の実行を確認している。すなわち、情報処理サーバ２０は、マクロ実行による直前の操作の意図しない取り消しを抑制することができる。
【０１２１】［ハードウェア構成］  上述してきた実施形態に係る情報処理サーバ２０、情報処理端末１０等の情報機器は、例えば図１１に示すような構成のコンピュータ１０００によって実現される。以下、実施形態に係る情報処理サーバ２０を例に挙げて説明する。図１１は、情報処理サーバ２０の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３００、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１２２】  ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１２３】  ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１２４】  ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【０１２５】  通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１２６】  入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光学記録媒体、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１２７】  例えば、コンピュータ１０００が実施形態に係る情報処理サーバ２０として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた情報処理プログラムを実行することにより、音声認識部２１０、意味解析部２２０、画像認識部２３０、センサ認識部２４０、判定部２５０、及び応答制御部２７０の各処理部の機能を実現する。また、ＨＤＤ１４００には、本開示に係る情報処理プログラムや、記憶部２６０内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１２８】  上記の本実施形態では、情報処理端末１０と情報処理サーバ２０とを備える情報処理システム１によって情報処理装置を実現する場合について説明したが、これに限定されない。例えば、情報処理装置は、情報処理端末１０で実現し、当該情報処理端末１０が情報処理サーバ２０の機能を備える構成としてもよい。
【０１２９】  上記の本実施形態では、情報処理サーバ２０は、コンテキスト適合度Ｍｃとフレーズ頻出度Ｆｐとに基づいてセキュリティリスクＲｍの度合いを判定する場合について説明したが、これに限定されない。例えば、情報処理サーバ２０は、コンテキスト適合度Ｍｃのみに基づいてセキュリティリスクＲｍの度合いを判定する構成としてもよい。この場合、情報処理サーバ２０は、マクロの機能実行指示にコンテキスト適合度Ｍｃの判定条件を設定しておき、当該機能実行指示を実行するか実行確認するかを判定すればよい。また、例えば、情報処理サーバ２０は、フレーズ頻出度Ｆｐのみに基づいてセキュリティリスクＲｍの度合いを判定する構成としてもよい。この場合、情報処理サーバ２０は、マクロの機能実行指示にフレーズ頻出度Ｆｐの判定条件を設定しておき、当該機能実行指示を実行するか実行確認するかを判定すればよい。また、情報処理サーバ２０は、コンテキスト適合度Ｍｃとフレーズ頻出度Ｆｐとの少なくとも一方を出力可能な構成としてもよい。
【０１３０】  上記の本実施形態では、情報処理端末１０の制御部１６０を実行部として機能させる場合について説明するが、これに限定されない。例えば、情報処理サーバ２０の応答制御部を実行部として機能させ、実行結果を情報処理端末１０で出力させる構成としてもよい。
【０１３１】  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１３２】  また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１３３】  また、コンピュータに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアに、情報処理サーバ２０が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【０１３４】  また、本明細書の情報処理サーバ２０の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理サーバ２０の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１３５】  なお、以下のような構成も本開示の技術的範囲に属する。（１）  少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロの実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定する判定部と、  前記判定部の判定結果に基づいて、前記マクロの実行の制御を変更する応答制御部と、  を備える情報処理装置。（２）  前記応答制御部は、  前記判定部によって判定された前記セキュリティリスクの度合いが変更条件を満たさない場合、前記マクロの実行を制御し、  前記判定部によって判定された前記セキュリティリスクの度合いが前記変更条件を満たす場合、前記マクロの実行を前記ユーザに確認する処理を実行する  前記（１）に記載の情報処理装置。（３）  前記判定部は、前記機能実行指示を実行することによって前記ユーザが受ける不利益の度合いを算出し、当該不利益の度合いに基づいて前記マクロの実行リスクの度合いを算出し、  前記応答制御部は、前記実行リスクに基づいて前記マクロの実行を前記ユーザに確認する処理を変更する  前記（１）または（２）に記載の情報処理装置。（４）  前記応答制御部は、前記実行リスクが高くなるに従って、前記マクロの実行を前記ユーザに確認する処理の優先度を高くする  前記（３）に記載の情報処理装置。（５）  前記判定部は、前記マクロの実行レベルを算出し、前記実行リスクが前記実行レベルよりも大きい場合、前記マクロの実行を前記ユーザに確認する処理を変更する  前記（３）または（４）に記載の情報処理装置。（６）  前記ユーザによって実行された操作を示す履歴データを記憶する記憶部をさらに備え、  前記判定部は、前記機能実行指示を実行することによって直前に前記ユーザによって実行された操作を取り消す可能性を判定し、  前記応答制御部は、直前に実行された前記操作を取り消す可能性がある場合、前記機能実行指示の実行を前記ユーザに確認する制御を行う  前記（１）から（５）のいずれかに記載の情報処理装置。（７）  前記判定部は、前記ユーザの主タスクへの集中度を算出し、  前記応答制御部は、前記集中度に応じて前記ユーザへの前記機能実行指示の実行確認の制御を変更する  前記（１）から（６）のいずれかに記載の情報処理装置。（８）  前記応答制御部は、前記集中度が第１閾値よりも高い場合、前記機能実行指示を遅延させる  前記（７）に記載の情報処理装置。（９）  前記応答制御部は、前記機能実行指示を遅延させている場合、前記ユーザからのキャンセルの指示を受けると、前記機能実行指示の実行を中止する  前記（８）に記載の情報処理装置。（１０）  前記応答制御部は、前記機能実行指示の遅延時間が経過すると、当該機能実行指示を実行させる  前記（８）または（９）に記載の情報処理装置。（１１）  前記応答制御部は、前記集中度が前記第１閾値以下の場合、前記ユーザへの前記機能実行指示の実行確認の制御を実行する  前記（８）から（１０）のいずれかに記載の情報処理装置。（１２）  前記判定部は、前記マクロの実行に関する前記ユーザのフレーズを認識した場合に取得した前記コンテキストと、前���マクロに紐付けられた前記ユーザの前記コンテキストとの適合度を算出する  前記（１）から（１１）のいずれかに記載の情報処理装置。（１３）  前記判定部は、前記マクロを呼び出す前記フレーズの過去の出現度に基づいて前記フレーズ頻出度を算出する  前記（１）から（１２）のいずれかに記載の情報処理装置。（１４）  前記応答制御部の制御によって前記マクロの前記機能実行指示を実行する実行部をさらに備える  前記（１）から（１３）のいずれかに記載の情報処理装置。（１５）  コンピュータが、  少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロ実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定し、  判定した判定結果に基づいて、前記マクロの実行の制御を変更する  情報処理方法。（１６）  情報処理端末と、前記情報処理端末と通信可能な情報処理サーバとを備え、  前記情報処理サーバは、  少なくとも１つの機能実行指示を含むマクロの実行に関するユーザのフレーズを認識した場合に、前記ユーザの状況を示すコンテキストの前記マクロ実行時の適合度及び前記フレーズが出現する頻出度の少なくとも一方に基づいて、前記マクロのセキュリティリスクの度合いを判定する判定部と、  前記判定部の判定結果に基づいて、前記マクロの実行の制御を変更する応答制御部と、  を備え、  前記情報処理端末は、前記応答制御部の制御によって前記マクロを実行する実行部を備える  情報処理システム。
【符号の説明】
【０１３６】  １  情報処理システム  １０  情報処理端末  ２０  情報処理サーバ  １１０  表示部  １２０  音声出力部  １３０  音声入力部  １４０  撮像部  １５０  センサ部  １６０  制御部  １７０  通信部  ２１０  音声認識部  ２２０  意味解析部  ２３０  画像認識部  ２４０  センサ認識部  ２５０  判定部  ２６０  記憶部  ２６１  機能テンプレート  ２６２  履歴データ  ２７０    応答制御部  Ｍ  マクロデータ
【図１】
2020039753.tif 000004
【図２】
2020039753.tif 000005
【図３】
2020039753.tif 000006
【図４】
2020039753.tif 000007
【図５】
2020039753.tif 000008
【図６】
2020039753.tif 000009
【図７】
2020039753.tif 000010
【図８】
2020039753.tif 000011
【図９】
2020039753.tif 000012
【図１０】
2020039753.tif 000013
【図１１】
2020039753.tif 000014
【国際調査報告】
2020039753.tif 000015
2020039753.tif 000016
2020039753.tif 000017