(57)【要約】  情報処理装置は、実行する機能を示す少なくとも１つの第１情報と第１情報に紐付けられた第２情報とを含むマクロデータ（Ｍ）の変更に関する変更メッセージをユーザ発話から抽出する抽出部（１３３）と、抽出部（１３３）が抽出した変更メッセージに基づいてマクロデータ（Ｍ）の変更対象を推定する推定部（１３４）と、推定部（１３４）が推定したマクロデータ（Ｍ）の変更対象を変更メッセージに基づいて変更する変更部（１３５）と、を備える。
2020039754.tif 000002
【特許請求の範囲】
【請求項１】
実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出する抽出部と、
前記抽出部が抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定する推定部と、
前記推定部が推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する変更部と、
を備える情報処理装置。
【請求項２】
前記推定部は、前記変更メッセージが前記マクロデータの前記第２情報に関するメッセージを含む場合、当該変更メッセージで変更可能な前記第２情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した前記第２情報を前記変更メッセージに基づいて変更する
請求項１に記載の情報処理装置。
【請求項３】
前記第２情報は、紐付けられた前記第１情報の設定項目情報と、当該設定項目情報の設定情報と、を含み、
前記変更部は、前記推定部が推定した前記第２情報の前記設定情報を前記変更メッセージに基づいて変更する
請求項２に記載の情報処理装置。
【請求項４】
前記推定部は、前記変更メッセージが前記マクロデータの複数の前記第２情報に関するメッセージである場合、当該変更メッセージで変更可能な複数の前記第２情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した複数の前記第２情報の変更を確認する処理を実行する
請求項２に記載の情報処理装置。
【請求項５】
前記推定部は、前記変更メッセージが前記マクロデータの前記第１情報の変更に関するメッセージを含む場合、前記第１情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した前記第１情報を前記変更メッセージに基づいて変更する
請求項１に記載の情報処理装置。
【請求項６】
前記推定部は、前記変更メッセージが前記マクロデータへの前記第１情報の追加であるか、前記マクロデータの前記第１情報の削除のメッセージであるかを推定し、
前記変更部は、
前記推定部によって前記変更メッセージが前記マクロデータへの前記第１情報の追加のメッセージと推定された場合、当該第１情報を前記マクロデータに追加し、
前記推定部によって前記変更メッセージが前記マクロデータの前記第１情報の削除のメッセージと推定された場合、当該第１情報を前記マクロデータから削除する
請求項５に記載の情報処理装置。
【請求項７】
前記変更部よって前記マクロデータを変更した履歴を示す履歴データを記憶する記憶部をさらに備え、
前記変更部は、前記変更メッセージと前記履歴データとに基づいて前記マクロデータを変更する
請求項１に記載の情報処理装置。
【請求項８】
前記抽出部は、前記マクロデータの実行の契機となる第１メッセージを前記ユーザ発話から抽出し、
前記変更部は、前記抽出部によって前記第１メッセージが抽出されたタイミングと前記履歴データとに基づいて前記マクロデータの機能に条件を付加する
請求項７に記載の情報処理装置。
【請求項９】
前記ユーザ発話を収集する収集部をさらに備え、
前記抽出部は、前記収集部が収集した前記ユーザ発話から、前記第１メッセージと前記変更メッセージとを抽出する
請求項８に記載の情報処理装置。
【請求項１０】
前記抽出部は、前記第１メッセージを含む前記ユーザ発話から前記変更メッセージを抽出する
請求項８に記載の情報処理装置。
【請求項１１】
前記抽出部によって前記第１メッセージが抽出されてから第１時間が経過するまでに、前記抽出部によって前記第１メッセージを含まない他の前記ユーザ発話から前記変更メッセージが抽出された場合、
前記推定部は、前記変更メッセージが抽出される直線の前記第１メッセージに対応する前記マクロデータの変更対象を当該変更メッセージに基づいて推定する
請求項８に記載の情報処理装置。
【請求項１２】
前記変更部は、前記マクロデータの変更内容をユーザに通知する
請求項１に記載の情報処理装置。
【請求項１３】
前記マクロデータを記憶する記憶部をさらに備え、
前記変更部は、前記記憶部に記憶している前記マクロデータを、変更後の前記マクロデータへ変更する制御を行う
請求項１に記載の情報処理装置。
【請求項１４】
前記変更部によって変更された前記マクロデータを実行する実行部をさらに備える
請求項１に記載の情報処理装置。
【請求項１５】
前記抽出部は、前記マクロデータの実行の契機となる第１メッセージを抽出し、
前記実行部は、前記抽出部によって前記第１メッセージが抽出され、前記変更メッセージが抽出されない場合、前記第１メッセージを契機として前記マクロデータを実行する
請求項１４に記載の情報処理装置。
【請求項１６】
コンピュータが、
実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出し、
抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定し、
推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年、発話による操作が可能な機器が広く普及している。また、上記のような機器を利用するユーザの利便性を高める技術も多く提案されている。例えば、特許文献１には、ユーザが所望する任意の操作を音声によって実行させることが可能な音声マクロ処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２５９１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、マクロの操作シーケンスがユーザの期待通りに登録されていない場合、当該マクロが利用されない可能性がある。このため、従来の技術では、登録済みのマクロを有効利用することが望まれている。【０００５】
そこで、本開示では、ユーザ発話によって登録済みのマクロを有効利用することができる情報処理装置及び情報処理方法を提案する。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出する抽出部と、前記抽出部が抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定する推定部と、前記推定部が推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する変更部と、を備える。【０００７】
また、本開示に係る一形態の情報処理方法は、コンピュータが、実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出し、抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定し、推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する。
【図面の簡単な説明】
【０００８】
【図１】本開示の実施形態に係る情報処理装置の構成例を示す図である。
【図２】実施形態に係る情報処理システムの構成例を示す図である。
【図３】実施形態に係る情報処理の手順の一例を示すシーケンス図である。
【図４】実施形態に係るマクロデータの一例を示す図である。
【図５】実施形態に係る情報処理システムの情報処理の一例を示す図である。
【図６】実施形態に係る情報処理システムの情報処理の他の一例を示す図である。
【図７】実施形態の変形例（１）に係る情報処理システムの動作の一例を示す図である。
【図８】実施形態の変形例（２）に係る情報処理システムの情報処理の一例を示す図である。
【図９】実施形態の変形例（２）に係るマクロデータの変更例を示す図である。
【図１０】実施形態の変形例（３）に係る情報処理システムの情報処理の一例を示す図である。
【図１１】情報処理サーバの機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１０】
（実施形態）
［実施形態に係る情報処理装置の概要］
図１は、本開示の実施形態に係る情報処理の概要を示す図である。本開示の実施形態に係る情報処理は、図１に示す情報処理システム１によって実行される。図１に示すように、情報処理システム１は、スマートスピーカー１０と、情報処理サーバ１００とを含む。情報処理システム１は、本開示に係る情報処理装置の一例である。スマートスピーカー１０と情報処理サーバ１００とは、例えば、ネットワークを介して通信したり、ネットワークを介さずに直に通信したりすることが可能な構成となっている。
【００１１】
スマートスピーカー１０は、いわゆるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）機器であり、情報処理サーバ１００と連携して、種々の情報処理を行う。スマートスピーカー１０は、ユーザ端末の一例である。スマートスピーカー１０は、例えばエージェント（Ａｇｅｎｔ）機器と称される場合がある。また、スマートスピーカー１０が実行する音声認識及び音声による応答処理等は、エージェント機能と称される場合がある。エージェント機能を有するエージェント機器は、スマートスピーカー１０に限らず、スマートフォン、タブレット端末、ゲーム機器等であってもよい。この場合、スマートフォンやタブレット端末は、スマートスピーカー１０と同様の機能を有するプログラム（アプリケーション）を実行することによって、上記のエージェント機能を発揮する。
【００１２】
実施形態において、スマートスピーカー１０は、集音した音声に対する情報処理を実行する。例えば、スマートスピーカー１０は、ユーザの発話を認識し、当該発話に対する情報処理を実行する。なお、図１の例では、スマートスピーカー１０は、スマートスピーカー１０を利用するユーザの一例であるユーザＵが居住する自宅に設置されているものとする。
【００１３】
なお、スマートスピーカー１０は、例えば、自宅内で生じた音を集音するのみならず、その他の各種情報を取得するための各種センサを有していてもよい。例えば、スマートスピーカー１０は、マイクロフォンの他に、空間上を取得するためのカメラや、照度を検知する照度センサや、傾きを検知するジャイロセンサや、物体を検知する赤外線センサ等を有していてもよい。
【００１４】
スマートスピーカー１０は、ユーザＵの発話を認識して、ユーザ発話に基づく情報処理を行う。例えば、スマートスピーカー１０は、ユーザ発話に応じて外部機器の制御を実行できる。外部機器は、スマートスピーカー１０と通信可能な電子機器である。外部機器は、例えば、ゲーム機器、テレビジョン、エアコンディショナー、照明装置、音響機器等を含む。スマートスピーカー１０は、外部機器に対して制御信号を無線通信によって出力して、外部機器の制御を実行可能な構成となっている。
【００１５】
図１に示す情報処理サーバ１００は、いわゆるクラウドサーバ（Ｃｌｏｕｄ  Ｓｅｒｖｅｒ）であり、スマートスピーカー１０と連携して情報処理を実行するサーバ装置である。情報処理サーバ１００は、スマートスピーカー１０が集音したユーザ発話を取得し、取得したユーザ発話を解析し、解析したユーザ発話に応じた情報処理の制御を実行する。そして、情報処理サーバ１００は、情報処理の実行をスマートスピーカー１０に要求できる。例えば、情報処理サーバ１００は、ユーザ発話に対応したマクロを実行したり、当該マクロの実行をスマートスピーカー１０に要求したりする。なお、マクロは、例えば、１又は複数の機能実行指示が登録され、マクロが呼び出されることで、当該機能を実行可能とする技術である。マクロは、例えば、アプリケーション、電子機器等に対する任意の機能、操作等を音声によって行わせることが可能な音声マクロを含む。
【００１６】
情報処理サーバ１００は、ユーザＵに係るマクロを示すマクロデータＭを管理している。マクロデータＭは、実行する機能を示すデータを含む。マクロデータＭは、実行する複数の機能と実行する順序とを示す構成となっている。例えば、マクロデータＭは、マクロの名称とインテント（意図）情報とエンティティ（実体）情報とを紐付けている。インテント情報は、例えば、機能を示す情報を含む。インテント情報は、第１情報の一例である。エンティティ情報は、紐付けられたインテント情報の実施で指定可能な情報（例えば、パラメータ等）、インテント情報の有効化するか無効化するかを示す情報等を含む。エンティティ情報は、第２情報の一例である。マクロデータＭは、１つのマクロの名称と複数のインテント情報とを紐付けてもよい。マクロデータＭは、１つの意図情報と複数のエンティティ情報とを紐付けてもよい。
【００１７】
図１に示す例では、情報処理サーバ１００は、マクロ名が“ＧＡＭＥ  Ｆｒｉｅｎｄ  Ｉｎｖｉｔａｔｉｏｎ”というマクロデータＭを管理している。マクロ名は、マクロデータＭの実行の契機となっている。マクロデータＭは、ＧＡＭＥに招待する友人のパーティを生成する機能を実行するマクロを示すデータである。マクロデータＭは、インテント情報Ｍ１１、インテント情報Ｍ１２及びインテント情報Ｍ１３を示している。インテント情報Ｍ１１は、友人を選択する機能（ＦｒｉｅｎｄＳｅｌｅｃｔ）を示している。インテント情報Ｍ１２は、メッセージを生成する機能（ＣｒｅａｔＭｅｓｓａｇｅ）を示している。インテント情報Ｍ１３は、パーティを生成する機能（ＣｒｅａｔＰａｒｔｙ）を示している。マクロデータＭは、インテント情報Ｍ１１、インテント情報Ｍ１２、インテント情報Ｍ１３の順序で機能を実行することを示している。
【００１８】
マクロデータＭは、インテント情報Ｍ１１とエンティティ情報Ｍ２１とを紐付けている。エンティティ情報Ｍ２１は、友人の名前を示す情報（ＦｒｉｅｎｄＮａｍｅ）を示している。例えば、エンティティ情報Ｍ２１は、友人の名前として、“Ｊｈｏｎ”、“Ｃａｒｔｅｒ”、“Ｂｅｎ”、“Ｊｏｅ”が設定されている。そして、マクロデータＭは、インテント情報Ｍ１２とエンティティ情報Ｍ２２とを紐付けている。エンティティ情報Ｍ２２は、メッセージ本体を示す情報（ＭｅｓｓａｇｅＢｏｄｙ）を示している。例えば、エンティティ情報Ｍ２２は、メッセージ本体として、“Ｇｏｏｄ  Ｍｏｒｎｉｎｇ”が設定されている。そして、マクロデータＭは、インテント情報Ｍ１３とエンティティ情報Ｍ２３とを紐付けている。エンティティ情報Ｍ２３は、パーティの名前を示す情報（ＰａｒｔｙＮａｍｅ）を示している。例えば、エンティティ情報Ｍ２３は、パーティの名前として、“ＧＡＭＥ  Ｐａｒｔｙ”が設定されている。
【００１９】
例えば、マクロデータＭが示すマクロの実行がユーザＵによって要求された場合、情報処理サーバ１００は、スマートスピーカー１０にマクロデータＭを実行させる。この場合、スマートスピーカー１０は、まず、インテント情報Ｍ１１の友人を選択する機能（ＦｒｉｅｎｄＳｅｌｅｃｔ）を実行する。その結果、情報処理サーバ１００は、エンティティ情報Ｍ２１の“Ｊｈｏｎ”、“Ｃａｒｔｅｒ”、“Ｂｅｎ”、“Ｊｏｅ”を友人として選択する。次に、スマートスピーカー１０は、インテント情報Ｍ１２のメッセージを生成する機能（ＣｒｅａｔＭｅｓｓａｇｅ）を実行する。その結果、スマートスピーカー１０は、エンティティ情報Ｍ２２の“Ｇｏｏｄ  Ｍｏｒｎｉｎｇ”をメッセージ本体とするメッセージを生成する。次に、スマートスピーカー１０は、インテント情報Ｍ１３のパーティを生成する機能（ＣｒｅａｔＰａｒｔｙ）を実行する。その結果、スマートスピーカー１０は、エンティティ情報Ｍ２３の“ＧＡＭＥ  Ｐａｒｔｙ”の名前のパーティを生成して“ＧＡＭＥ”を開始させる。
【００２０】
次に、図１に示す例では、ユーザＵは、“ＧＡＭＥ  Ｆｒｉｅｎｄ  Ｉｎｖｉｔａｔｉｏｎ”のマクロデータＭを変更しながら実行するために、ユーザ発話ＵＯ１を行っている。ユーザ発話ＵＯ１は、例えば、「“ＧＡＭＥ  Ｆｒｉｅｎｄ  Ｉｎｖｉｔａｔｉｏｎ”  ｗｉｔｈ  Ｌｅｔ‘ｓ  ｐｌａｙ  ｎｏｗ」を示している。すなわち、ユーザ発話ＵＯ１は、マクロ名と変更するメッセージとを含んでいる。
【００２１】
スマートスピーカー１０は、ユーザ発話ＵＯ１を集音すると、集音したユーザ発話ＵＯ１を示す発話データＤを情報処理サーバ１００に送信する。この場合、スマートスピーカー１０は、ユーザＵを識別するデータも情報処理サーバ１００に送信する。
【００２２】
情報処理サーバ１００は、発話データＤを受信すると、発話データＤを解析する。例えば、情報処理サーバ１００は、ユーザ発話ＵＯ１に基づく自動音声認識（ＡＳＲ：Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理と自然言語理解（ＮＬＵ：Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ）処理を行い、発話データＤを理解する。この場合、情報処理サーバ１００は、発話データＤからマクロ名を示す第１メッセージと、当該マクロデータＭの変更に関する第２メッセージとを抽出する。第２メッセージは、変更メッセージの一例である。この場合、情報処理サーバ１００は、発話データＤから“ＧＡＭＥ  Ｆｒｉｅｎｄ  Ｉｎｖｉｔａｔｉｏｎ”を第１メッセージとして抽出する。そして、情報処理サーバ１００は、発話データＤから“Ｌｅｔ‘ｓ  ｐｌａｙ  ｎｏｗ”を第２メッセージとして抽出する。なお、第２メッセージの抽出方法の一例については、後述する。
【００２３】
情報処理サーバ１００は、発話データＤからマクロ名の第１メッセージを抽出すると、当該マクロ名のマクロデータＭを取得する。情報処理サーバ１００は、発話データＤから抽出した第２メッセージと推定テーブルとに基づいて、マクロデータＭの編集対象を推定する。推定テーブルは、例えば、マクロデータＭのインテント情報とエンティティ情報とを推定するためのメッセージ、単語、類義語等の情報を有する。この場合、情報処理サーバ１００は、第２メッセージがメッセージ本体である可能性があるので、マクロデータＭの変更対象をエンティティ情報Ｍ２２と推定する。そして、情報処理サーバ１００は、推定したマクロデータＭの編集対象であるエンティティ情報Ｍ２２を第２メッセージに基づいて変更する。この場合、情報処理サーバ１００は、エンティティ情報Ｍ２２に設定された“Ｇｏｏｄ  Ｍｏｒｎｉｎｇ”を“Ｌｅｔ‘ｓ  ｐｌａｙ  ｎｏｗ”に変更する。情報処理サーバ１００は、変更したマクロデータＭ’が示すマクロの実行をスマートスピーカー１０に要求する。そして、スマートスピーカー１０は、変更後のマクロデータＭ‘を実行する。
【００２４】
例えば、スマートスピーカー１０は、マクロデータＭ’のインテント情報Ｍ１１の友人を選択する機能（ＦｒｉｅｎｄＳｅｌｅｃｔ）を実行する。その結果、スマートスピーカー１０は、エンティティ情報Ｍ２１の“Ｊｈｏｎ”、“Ｃａｒｔｅｒ”、“Ｂｅｎ”、“Ｊｏｅ”を友人として選択する。次に、スマートスピーカー１０は、インテント情報Ｍ１２のメッセージを生成する機能（ＣｒｅａｔＭｅｓｓａｇｅ）を実行する。その結果、スマートスピーカー１０は、変更したエンティティ情報Ｍ２２の“Ｌｅｔ‘ｓ  ｐｌａｙ  ｎｏｗ”をメッセージ本体とするメッセージを生成する。次に、スマートスピーカー１０は、インテント情報Ｍ１３のパーティを生成する機能（ＣｒｅａｔＰａｒｔｙ）を実行する。その結果、スマートスピーカー１０は、エンティティ情報Ｍ２３の“ＧＡＭＥ  Ｐａｒｔｙ”の名前のパーティを生成して“ＧＡＭＥ”を開始させる。
【００２５】
このように、実施形態に係る情報処理サーバ１００は、ユーザＵの発話によってマクロを実行する場合、マクロデータＭの実行の契機となる第１メッセージとは異なる第２メッセージに基づいてマクロデータＭを変更する。これにより、情報処理サーバ１００は、登録済みのマクロデータＭ３をユーザ発話に基づいて変更し、変更したマクロデータＭ３を実行することができる。また、ユーザは、マクロデータＭの実行の契機となる発話とともに、変更内容を発話すればよいので、マクロデータＭの変更を容易に実行できる。その結果、情報処理サーバ１００は、ユーザ発話によって登録済みのマクロデータＭを有効利用させることができるので、ユーザＵの利便性を向上させることができる。
【００２６】
例えば、登録済みのマクロデータＭは、ユーザＵの期待通りにマクロ化されていない場合、マクロのステップ数の増加、マクロが実行する機能の不足等により、マクロの効果が小さくなる可能性がある。マクロデータＭは、余計な機能が含まれていたり、期待する機能が含まれていなかったりした場合、ユーザＵによって利用されなくなる場合がある。本実施形態に係る情報処理サーバ１００は、ユーザ発話に基づいて、登録済みのマクロデータＭを修正しながら実行させることができるので、マクロデータＭを有効利用させることができる。その結果、ユーザＵは、希望する機能を実行させるマクロデータを新たに登録する必要がなくなる。
【００２７】
［実施形態に係る情報処理システムの構成例］
次に、実施形態に係る情報処理装置の一例として、スマートスピーカー１０、及び、情報処理サーバ１００を含む情報処理システム１の構成について説明する。図２は、実施形態に係る情報処理システム１の構成例を示す図である。図２に示すように、情報処理システム１は、スマートスピーカー１０と、情報処理サーバ１００とを含む。
【００２８】
［スマートスピーカー１０］
図２に示すように、スマートスピーカー１０は、集音部１２と、制御部１３といった各処理部を有する。制御部１３は、スマートスピーカー１０の動作を制御する。制御部１３は、送信部１４と、受信部１５と、実行部１６とを含む。各処理部は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等によって、スマートスピーカー１０内部に記憶されたプログラムがＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を作業領域として実行されることにより実現される。また、各処理部は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の集積回路により実現されてもよい。
【００２９】
集音部１２は、スマートスピーカー１０が備えるセンサ１１を制御することにより、音声を集音する。センサ１１は、例えばマイクロフォンである。なお、センサ１１は、ユーザの身体の向き、傾き、動きや移動速度等、ユーザの動作に関する各種情報を検知する機能が含まれてもよい。すなわち、センサ１１は、ユーザや周辺環境を撮像するカメラであったり、ユーザＵの存在を感知する赤外線センサであったりしてもよい。センサ１１は、ユーザＵの発話時の状況情報（コンテキスト）を検出してもよい。
【００３０】
集音部１２は、音声を集音するとともに、集音した音声を記憶部２０に記憶する。集音部１２は、収集部の一例である。記憶部２０は、集音した音声を一時的に記憶できる。記憶部２０は、例えば、ＲＡＭ、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等によって実現される。記憶部２０は、例えば、ユーザＵを識別可能な情報を記憶してもよい。
【００３１】
制御部１３は、集音部１２によって発話が集音された場合に、発話を示す発話データＤを情報処理サーバ１００に送信する制御を行う。制御部１３は、情報処理サーバ１００から要求されたマクロデータＭを実行する制御を行う。図２に示す例では、制御部１３は、送信部１４、受信部１５及び実行部１６の各処理部が実行する処理に基づき、各種機能を提供できる。
【００３２】
送信部１４は、有線又は無線ネットワーク等を介して各種情報を送信する。例えば、送信部１４は、発話が集音された場合に、発話データＤを情報処理サーバ１００に送信する。なお、送信部１４は、発話データＤのみならず、ユーザＵを識別するための識別データ等を情報処理サーバ１００に送信してもよい。
【００３３】
受信部１５は、情報処理サーバ１００によって生成された要求を受信する。例えば、受信部１５は、送信部１４によって送信された発話データＤにマクロ実行の契機となるメッセージが含まれていた場合、マクロ実行の要求を情報処理サーバ１００から受信する。受信部１５は、情報処理サーバ１００から音声データを受信してもよいし、テキストデータを受信してもよい。
【００３４】
実行部１６は、受信部１５によって受信された要求を実行するための制御を行う。例えば、実行部１６は、音声出力機能を有する出力部１７（例えばスピーカー等）から音声出力するよう制御する。なお、出力部１７がディスプレイである場合、実行部１６は、マクロ実行に応じたテキスト、画像等のデータをディスプレイに表示する制御処理を行ってもよい。実行部１６は、情報処理サーバ１００から要求されたマクロを実行する。
【００３５】
［情報処理サーバ１００］
次に、情報処理サーバ１００の構成の一例について説明する。図２に示すように、情報処理サーバ１００は、記憶部１２０と、制御部１３０と、を備える。制御部１３０は、取得部１３１と、音声認識部１３２と、抽出部１３３と、推定部１３４と、変更部１３５と、送信部１３６といった各処理部を有する。
【００３６】
記憶部１２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、スマートスピーカー１０から取得した発話データＤ等を記憶する。記憶部１２０は、マクロデータＭを記憶する。記憶部１２０は、ユーザＵに紐付けたマクロデータＭを記憶する。記憶部１２０は、推定テーブル１２１と、履歴データ１２２とを記憶する。推定テーブル１２１は、マクロデータＭのインテント情報とエンティティ情報とを推定するための文字列、単語、類義語等の情報を有し、マクロデータＭに紐付けられている。例えば、推定テーブル１２１は、インテント情報が示す機能に対応する単語、文字列、数値等の機能情報と、当該機能状態に類似する類義語等の類似情報と、を含む。そして、推定テーブル１２１は、エンティティ情報に対応するインテント情報が受け付ける単語、文字列、値等を示す情報を含む。履歴データ１２２は、ユーザＵの発話によって実行されたマクロデータＭの実行履歴を示す情報を含む。履歴データ１２２は、例えば、実行履歴として、実行したユーザＵを識別する情報、マクロデータＭを実行した状況を示すコンテキスト等を含む。
【００３７】
本実施形態では、情報処理サーバ１００は、マクロデータＭをユーザＵに紐付けて記憶部１２０に記憶する場合について説明するが、これに限定されない。例えば、情報処理サーバ１００は、他の記憶装置等に記憶したマクロデータＭを取得し、当該マクロデータＭを記憶部１２０に一時的に記憶してもよい。
【００３８】
制御部１３０の各処理部は、例えば、ＣＰＵやＭＰＵ等によって、情報処理サーバ１００内部に記憶されたプログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部１３０の各処理部は、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現されてもよい。
【００３９】
取得部１３１は、有線又は無線ネットワーク等を介して、スマートスピーカー１０から送信される発話データＤを取得する。例えば、取得部１３１は、スマートスピーカー１０によって発話データＤが送信された場合に、発話データＤを取得して記憶部１２０に記憶する。
【００４０】
音声認識部１３２は、取得部１３１によって取得された発話データＤを文字列に変換する。例えば、音声認識部１３２は、自動音声認識（ＡＳＲ）処理等を用いることができる。音声認識部１３２は、変換した文字列を記憶部１２０に記憶する。
【００４１】
抽出部１３３は、音声認識部１３２によって認識された文字列から、マクロデータＭの実行の契機となる第１メッセージとマクロデータＭの変更に関する第２メッセージとを抽出する。例えば、抽出部１３３は、自然言語理解（ＮＬＵ）処理等を用いて、音声認識部１３２によって認識された文字列を解析する。具体的には、抽出部１３３は、文字列の中にマクロデータＭのマクロ名が含まれているかを解析する。そして、抽出部１３３は、マクロ名を検出した場合、当該マクロ名を示す文字列を第１メッセージとして抽出し、当該文字列の中にマクロデータＭの変更に関する文字列が含まれているかを解析する。具体的には、抽出部１３３は、マクロ名に対応する推定テーブル１２１が示す文字列、単語、類義語等が含まれているかを解析する。そして、抽出部１３３は、変更に関する文字列、単語、数字等のメッセージを検出した場合、当該メッセージを第２メッセージとして抽出する。抽出部１３３は、変更に関するメッセージを検出できなかった場合、第２メッセージを抽出しない。また、抽出部１３３は、マクロ名に対応する文字列を第１メッセージとして抽出できた場合に、他の文字列を解析不能であった場合、その旨を推定部１３４に出力してもよい。
【００４２】
例えば、記憶部１２０は、マクロ名が「朝のニュースチェック」のマクロデータＭを記憶しているとする。そして、ユーザＵは、「朝のニュースチェックを１分で」と発話したとする。この場合、抽出部１３３は、マクロ名の「朝のニュースチェック」の文字列を第１メッセージ、「１分で」の文字列を第２メッセージとして抽出する。また、ユーザＵは、「朝のニュースチェックを午後で」と発話したとする。この場合、抽出部１３３は、マクロ名の「朝のニュースチェック」の文字列を第１メッセージ、「午後で」の文字列を第２メッセージとして抽出する。このように、抽出部１３３は、ユーザ発話から第１メッセージと第２メッセージとを抽出することで、ユーザＵのマクロデータＭの変更意思があるか否かを判定可能とすることができる。また、抽出部１３３は、第１メッセージを含むユーザ発話から第２メッセージを抽出することで、第２メッセージを抽出する精度を向上させることができる。
【００４３】
本実施形態では、抽出部１３３は、音声認識部１３２によって認識された文字列を解析する場合について説明するが、これに限定されない。例えば、抽出部１３３は、文字列を解析せずに、他の文字解析装置等が解析した文字列の解析結果を取得する構成としてもよい。
【００４４】
推定部１３４は、抽出部１３３が抽出した第２メッセージに基づいてマクロデータＭの変更対象を推定する。推定部１３４は、第２メッセージで変更可能なマクロデータＭの変更対象を推定する。例えば、推定部１３４は、第２メッセージとマクロ名に対応する推定テーブル１２１とを比較し、比較結果に基づいてマクロデータＭの変更対象を推定してもよい。そして、推定部１３４は、第２メッセージがマクロデータＭのエンティティ情報に関するメッセージである場合、マクロデータＭのエンティティ情報を変更対象と推定する。推定部１３４は、第２メッセージがマクロデータＭのインテント情報に関するメッセージである場合、マクロデータＭのインテント情報を変更対象と推定する。そして、推定部１３４は、第２メッセージと推定テーブル１２１とに基づいて、第２メッセージがマクロデータＭへのインテント情報の追加であるか、マクロデータＭのインテント情報の削除のメッセージであるかを推定する。
【００４５】
例えば、抽出部１３３によって第１メッセージが抽出されてから第１時間が経過するまでに、抽出部１３３によって前記第１メッセージを含まない新たなユーザ発話から第２メッセージが抽出される場合がある。第１時間は、例えば、２分から３分を含む。この場合、推定部１３４は、第２メッセージが抽出される直線の第１メッセージに対応するマクロデータＭの変更対象を当該第２メッセージに基づいて推定する。これにより、ユーザＵは、マクロ名を発話してから第１時間が経過するまでの間は、マクロデータＭを発話によって変更することができる。
【００４６】
変更部１３５は、推定部１３４が推定したマクロデータＭの変更対象を第２メッセージに基づいて変更する。変更部１３５は、推定部１３４が推定したエンティティ情報を第２メッセージに基づいて変更する。例えば、変更部１３５は、推定部が推定したエンティティ情報の設定情報を第２メッセージに基づいて変更する。具体的には、変更部１３５は、設定情報を追加、削除することで、マクロデータＭのエンティティ情報を示す機能を変更したり、機能を有効化、無効化したりする。変更部１３５は、推定部１３４が推定した複数のエンティティ情報の変更を確認する処理を実行できる。変更部１３５は、ユーザＵに変更を確認する音声データ等をスマートスピーカー１０に出力させることで、ユーザＵに変更内容等を確認できる。
【００４７】
変更部１３５は、推定部１３４が推定したインテント情報を第２メッセージに基づいて変更する。変更部１３５は、推定部１３４によって第２メッセージがマクロデータＭへのインテント情報の追加のメッセージと推定された場合、当該インテント情報をマクロデータに追加する。変更部１３５は、推定部１３４によって第２メッセージがマクロデータＭのインテント情報の削除のメッセージと推定された場合、当該インテント情報をマクロデータＭから削除する、あるいは無効化する。
【００４８】
変更部１３５は、第２メッセージと履歴データ１２２とに基づいてマクロデータＭを変更する機能を有する。変更部１３５は、抽出部１３３によって第１メッセージが抽出されたタイミングと履歴データ１２２とに基づいてマクロデータＭを変更する機能を有する。例えば、履歴データ１２２は、マクロデータＭを平日の朝に変更することを示している。この場合、変更部１３５は、ユーザＵから当該マクロデータＭの実行が要求された場合に、履歴データ１２２の変更内容に基づいてマクロデータＭを変更する。
【００４９】
変更部１３５は、記憶部１２０に記憶しているマクロデータＭを、変更後のマクロデータへ変更する機能を有する。例えば、マクロデータＭを変更した場合、マクロデータＭを変更する確率が判定閾値を超えていることを履歴データ１２２が示している場合、変更部１３５は、記憶部１２０に記憶しているマクロデータＭを変更後のマクロデータＭに置き換える。そして、変更部１３５は、マクロデータＭを置き換えたことをユーザＵに通知する。これにより、ユーザＵは、マクロデータＭを実行させる場合に、第２メッセージを発話する必要がなくなったことを理解できる。
【００５０】
送信部１３６は、有線又は無線ネットワーク等を介して、変更部１３５が変更したマクロデータＭ、実行要求等をスマートスピーカー１０に送信する。また、送信部１３６は、ユーザＵがマクロデータＭの実行の契機となる第１メッセージのみを発した場合、記憶部１２０のマクロデータＭ、実行要求等をスマートスピーカー１０に送信する。
【００５１】
［実施形態に係る情報処理の手順］
次に、図３を用いて、実施形態に係る情報処理の手順について説明する。図３は、実施形態に係る情報処理の手順の一例を示すシーケンス図である。図３に示す処理手順は、スマートスピーカー１０及び情報処理サーバ１００がプログラムを実行することによって実現される。
【００５２】
図３に示すように、スマートスピーカー１０は、集音部１２によってユーザＵの音声を収集する（ステップＳ１０１）。そして、スマートスピーカー１０は、集音した音声を示す発話データＤを情報処理サーバ１００に送信する（ステップＳ１０２）。
【００５３】
情報処理サーバ１００は、スマートスピーカー１０から発話データを取得する（ステップＳ２０１）。情報処理サーバ１００は、音声認識部１３２によって発話データを文字列に変換する（ステップＳ２０２）。情報処理サーバ１００は、抽出部１３３によって文字列からメッセージを抽出する（ステップＳ２０３）。例えば、発話データがマクロ名と当該マクロ名に付随するメッセージを含む場合、情報処理サーバ１００は、マクロ名を示す第１メッセージとその他を示す第２メッセージとを抽出する。例えば、発話データがマクロ名のみを含む場合、情報処理サーバ１００は、第１メッセージを抽出する。
【００５４】
情報処理サーバ１００は、発話データからマクロ名を抽出したか否かを判定する（ステップＳ２０４）。例えば、情報処理サーバ１００は、抽出部１３３によって第１メッセージが抽出されている場合に、マクロ名を抽出したと判定する。そして、情報処理サーバ１００は、マクロ名を抽出していないと判定した場合（ステップＳ２０４でＮｏ）、図３に示す処理手順を終了させる。また、情報処理サーバ１００は、マクロ名を抽出したと判定した場合（ステップＳ２０４でＹｅｓ）、処理をステップＳ２０５に進める。
【００５５】
情報処理サーバ１００は、記憶部１２０からマクロデータＭを取得する（ステップＳ２０５）。例えば、情報処理サーバ１００は、抽出した第１メッセージが示すマクロ名のマクロデータＭを取得する。そして、情報処理サーバ１００は、発話データから第２メッセージを抽出したか否かを判定する（ステップＳ２０６）。例えば、情報処理サーバ１００は、抽出部１３３によって第２メッセージが抽出されている場合に、第２メッセージを抽出したと判定する。
【００５６】
情報処理サーバ１００は、第２メッセージを抽出していないと判定した場合（ステップＳ２０６でＮｏ）、第１メッセージのみであるので、処理をステップＳ２０７に進める。情報処理サーバ１００は、マクロデータＭの実行をスマートスピーカー１０に要求する（ステップＳ２０７）。例えば、情報処理サーバ１００は、送信部１３６を介して、マクロデータＭを含む要求をスマートスピーカー１０に送信する。情報処理サーバ１００は、履歴データ１２２を更新する（ステップＳ２０８）。例えば、情報処理サーバ１００は、マクロデータＭを識別する情報、マクロデータＭを実行した日時、マクロデータＭを変更していないこと、マクロデータＭを実行したユーザＵ等を履歴データ１２２に記憶する。その後、情報処理サーバ１００は、待機状態になる。
【００５７】
スマートスピーカー１０は、受信部１５を介してマクロデータＭの要求を受信すると、実行部１６によってマクロデータＭを実行する（ステップＳ１１０）。その結果、スマートスピーカー１０は、登録されているマクロデータＭが示す機能をそのまま実行することになる。
【００５８】
また、情報処理サーバ１００は、第２メッセージを抽出したと判定した場合（ステップＳ２０６でＹｅｓ）、処理をステップＳ２１０に進める。情報処理サーバ１００は、推定部１３４によって第２メッセージに基づいてマクロデータＭの変更対象を推定する（ステップＳ２１０）。情報処理サーバ１００は、第２メッセージに基づいてマクロデータＭを変更する（ステップＳ２１１）。換言すると、情報処理サーバ１００は、マクロデータＭの変更対象を第２メッセージで変更する。情報処理サーバ１００は、マクロデータＭを変更すると、処理をステップＳ２１２に進める。
【００５９】
情報処理サーバ１００は、変更したマクロデータＭの実行をスマートスピーカー１０に要求する（ステップＳ２１２）。例えば、情報処理サーバ１００は、送信部１３６を介して、変更したマクロデータＭを含む要求をスマートスピーカー１０に送信する。情報処理サーバ１００は、履歴データ１２２を更新する（ステップＳ２１３）。例えば、情報処理サーバ１００は、マクロデータＭを識別する情報、マクロデータＭを実行した日時、マクロデータＭを変更したこと、マクロデータＭの変更内容、マクロデータＭを実行したユーザＵ等を履歴データ１２２に記憶する。
【００６０】
スマートスピーカー１０は、受信部１５を介して、変更されたマクロデータＭの要求を受信すると、実行部１６によって当該変更されたマクロデータＭを実行する（ステップＳ１２０）。その結果、スマートスピーカー１０は、変更されたマクロデータＭが示す機能を実行することになる。
【００６１】
また、情報処理サーバ１００は、履歴データ１２２の更新が終了すると、マクロデータＭが頻繁に変更されているか否かを判定する（ステップＳ２１４）。例えば、情報処理サーバ１００は、履歴データ１２２を参照し、マクロデータＭを変更した頻度が判定閾値を超えている場合、頻繁に変更されていると判定する。そして、情報処理サーバ１００は、頻繁に変更されていないと判定した場合（ステップＳ２１４でＮｏ）、図３に示す処理手順を終了させる。換言すると、情報処理サーバ１００は、記憶部１２０に記憶しているマクロデータＭを変更しない。
【００６２】
また、情報処理サーバ１００は、頻繁に変更されていると判定した場合（ステップＳ２１４でＹｅｓ）、処理をステップＳ２１５に進める。情報処理サーバ１００は、マクロデータ更新処理を実行する（ステップＳ２１５）。例えば、情報処理サーバ１００は、マクロデータ変更処理を実行することで、記憶部１２０に記憶しているマクロデータＭを変更後のマクロデータＭに置き換える。その後、情報処理サーバ１００は、待機状態となる。なお、マクロデータ変更処理は、マクロデータＭの変更をユーザＵに確認し、ユーザＵが了承した場合に、記憶部１２０に記憶しているマクロデータＭを更新する処理としてもよい。
【００６３】
［実施形態に係る情報処理システムの情報処理］
次に、図４乃至図６を用いて、実施形態に係る情報処理システム１の情報処理の一例について説明する。図４は、実施形態に係るマクロデータＭの一例を示す図である。図５は、実施形態に係る情報処理システム１の情報処理の一例を示す図である。図６は、実施形態に係る情報処理システム１の情報処理の他の一例を示す図である。
【００６４】
図４に示す一例では、情報処理サーバ１００は、マクロ名が“朝のニュースチェック”というマクロデータＭを管理している。マクロデータＭは、インテント情報Ｍ１１として、ＣＨＥＣＫ＿ＷＥＡＴＨＥＲが設定されている。ＣＨＥＣＫ＿ＷＥＡＴＨＥＲは、天気をチェックするモジュール（機能）の名称を示している。マクロデータＭは、インテント情報Ｍ１１のエンティティ情報Ｍ２１として、［ＡＲＥＡ：Ｔｏｋｙｏ］、［Ｔｏｗｎ：−−］が設定されている。エンティティ情報Ｍ２１は、例えば、ＡＲＥＡ、Ｔｏｗｎ等の設定項目情報と、当該設定項目情報の設定情報とを含んでいる。［ＡＲＥＡ：Ｔｏｋｙｏ］は、ＣＨＥＣＫ＿ＷＥＡＴＨＥＲのパラメータであり、チェックするエリアが東京であることを示している。［Ｔｏｗｎ：−−］は、ＣＨＥＣＫ＿ＷＥＡＴＨＥＲのパラメータであり、チェックするタウンが設定されていないことを示している。すなわち、インテント情報Ｍ１１のＣＨＥＣＫ＿ＷＥＡＴＨＥＲは、［ＡＲＥＡ：Ｔｏｋｙｏ］、［Ｔｏｗｎ：−−］が変更可能であることを意味している。
【００６５】
マクロデータＭは、インテント情報Ｍ１１の次のインテント情報Ｍ１２として、ＣＨＥＣＫ＿ＮＥＷＳが設定されている。ＣＨＥＣＫ＿ＮＥＷＳは、ニュースをチェックするモジュールの名称を示している。マクロデータＭは、インテント情報Ｍ１２のエンティティ情報Ｍ２２として、［ＳＲＣ：ＮＥＷＳ］、［ＴＩＭＥ：５ｍｉｎ］が設定されている。エンティティ情報Ｍ２２は、例えば、ＳＲＣ、ＴＩＭＥ等の設定項目情報と、当該設定項目情報の設定情報とを含んでいる。［ＳＲＣ：ＮＥＷＳ］は、ＣＨＥＣＫ＿ＮＥＷＳのパラメータであり、サーチする項目がニュースであることを示している。［ＴＩＭＥ：５ｍｉｎ］は、ＣＨＥＣＫ＿ＮＥＷＳのパラメータであり、５分版のニュースであることを示している。すなわち、インテント情報Ｍ１２のＣＨＥＣＫ＿ＮＥＷＳは、［ＳＲＣ：ＮＥＷＳ］、［ＴＩＭＥ：５ｍｉｎ］が変更可能であることを意味している。
【００６６】
マクロデータＭは、インテント情報Ｍ１２の次のインテント情報Ｍ１３として、ＣＨＥＣＫ＿ＳＣＨＥＤＵＬＥが設定されている。ＣＨＥＣＫ＿ＳＣＨＥＤＵＬＥは、ユーザＵのスケジュールをチェックするモジュールの名称を示している。マクロデータＭは、インテント情報Ｍ１３のエンティティ情報Ｍ２３として、［ＴＩＭＥ：ａｌｌ］が設定されている。エンティティ情報Ｍ２３は、例えば、ＴＩＭＥ等の設定項目情報と、当該設定項目情報の設定情報とを含んでいる。［ＴＩＭＥ：ａｌｌ］は、ＣＨＥＣＫ＿ＳＣＨＥＤＵＬＥのパラメータであり、今日の予定の全てを読み上げることを示している。すなわち、インテント情報Ｍ１３のＣＨＥＣＫ＿ＳＣＨＥＤＵＬＥは、［ＴＩＭＥ：ａｌｌ］が変更可能であることを意味している。
【００６７】
図５に示す場面ＳＣ１１では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックを１分で」と言うユーザ発話ＵＯ１１を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ１１を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ１１から第１メッセージと第２メッセージとを抽出する。状態Ｒ１１１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「１分で」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、第２メッセージが時間であるので、マクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］を変更対象と推定する。状態Ｒ１１２に示すように、情報処理サーバ１００は、マクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］を［ＴＩＭＥ：１ｍｉｎ］に変更する。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、東京の天気情報と１分版のニュースと今日の予定とをチェックしてユーザＵに通知する。
【００６８】
図５に示す場面ＳＣ１２では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックを東京の大崎で」と言うユーザ発話ＵＯ１２を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ１２を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ１２から第１メッセージと第２メッセージとを抽出する。状態Ｒ１２１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「東京の大崎で」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、第２メッセージが地名であるので、マクロデータＭのエンティティ情報Ｍ２１の［Ｔｏｗｎ：−−］を変更対象と推定する。状態Ｒ１２２に示すように、情報処理サーバ１００は、マクロデータＭのエンティティ情報Ｍ２１の［Ｔｏｗｎ：−−］を［Ｔｏｗｎ：Ｏｓａｋｉ］に変更する。換言すると、情報処理サーバ１００は、マクロデータＭのエンティティ情報Ｍ２１に［Ｔｏｗｎ：Ｏｓａｋｉ］の設定を追加する。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、東京の大崎の天気情報と５分版のニュースと今日の予定とをチェックしてユーザＵに通知する。
【００６９】
図５に示す場面ＳＣ１３では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックをニュースの時間帯指定なしで」と言うユーザ発話ＵＯ１３を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ１３を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ１３から第１メッセージと第２メッセージとを抽出する。状態Ｒ１３１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「ニュースの時間指定なしで」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、第２メッセージがニュースの時間指定に関するので、マクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］を変更対象と推定する。状態Ｒ１３２に示すように、情報処理サーバ１００は、マクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］を［ＴＩＭＥ：−−］に変更する。換言すると、情報処理サーバ１００は、マクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］の設定を削除する。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、東京の天気情報と１分版のニュースと今日の予定とをチェックしてユーザＵに通知する。
【００７０】
以上のように、実施形態に係る情報処理サーバ１００は、第２メッセージがマクロデータＭのエンティティ情報に関するメッセージを含む場合、当該第２メッセージで変更可能なエンティティ情報を変更する。これにより、情報処理サーバ１００は、第１メッセージとともに発せられた第２メッセージでマクロデータＭのエンティティ情報を変更することができる。その結果、情報処理サーバ１００は、マクロデータＭの機能の一部を音声で変更できるので、ユーザＵの利便性をさらに向上させることができる。
【００７１】
また、情報処理サーバ１００は、エンティティ情報Ｍ２１，Ｍ２２，Ｍ２３が設定項目情報とその設定情報とを含み、設定情報を変更する。これにより、情報処理サーバ１００は、設定項目に着目して第２メッセージの変更対象を推定できる。その結果、情報処理サーバ１００は、マクロデータＭのエンティティ情報の変更、追加、削除を行うことができるので、マクロデータＭを有効利用させることができる。
【００７２】
例えば、第２メッセージは、マクロデータＭの複数のエンティティ情報Ｍ２１，Ｍ２２，Ｍ２３に関するメッセージに関し、１つのエンティティ情報を推定できない場合がある。この場合、情報処理サーバ１００は、当該第２メッセージで変更可能な複数の前記第２情報を変更対象と推定し、当該変更対象を変更するかをユーザＵに確認すればよい。その結果、情報処理サーバ１００は、変更対象のエンティティ情報をユーザＵに確認し、当該エンティティ情報を変更できるので、マクロデータＭを変更する精度を向上させることができる。
【００７３】
図６に示す場面ＳＣ２１では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックを天気じゃなくて音楽再生で」と言うユーザ発話ＵＯ２１を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ２１を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ２１から第１メッセージと第２メッセージとを抽出する。状態Ｒ２１１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「天気じゃなくて音楽再生で」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、第２メッセージが天気の変更を示唆しているので、インテント情報Ｍ１１のＣＨＥＣＫ＿ＷＥＡＴＨＥＲを変更対象と推定する。情報処理サーバ１００は、例えば、音楽再生機能のモジュール、マクロデータＭ等を検索し、ＰＬＡＹ＿ＭＵＳＩＣのモジュールを検出している。そして、状態Ｒ２１２に示すように、情報処理サーバ１００は、インテント情報Ｍ１１のＣＨＥＣＫ＿ＷＥＡＴＨＥＲをＰＬＡＹ＿ＭＵＳＩＣに変更する。なお、情報処理サーバ１００は、インテント情報Ｍ１１をＰＬＡＹ＿ＭＵＳＩＣに変更する場合、エンティティ情報Ｍ２１の変更が必要な場合は、エンティティ情報Ｍ２１の設定も変更する。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、音楽を再生するとともに、チェックした５分版のニュースと今日の予定とをユーザＵに通知する。
【００７４】
図６に示す場面ＳＣ２２では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックと音楽再生」と言うユーザ発話ＵＯ２２を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ２２を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ２２から第１メッセージと第２メッセージとを抽出する。状態Ｒ２２１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「と音楽再生」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、第２メッセージがマクロデータＭへの音楽再生（インテント情報）の追加を示唆しているので、マクロデータＭを変更対象とする。情報処理サーバ１００は、例えば、音楽再生機能のモジュール、マクロデータＭ等を検索し、ＰＬＡＹ＿ＭＵＳＩＣのインテント情報を検出している。そして、状態Ｒ２２２に示すように、情報処理サーバ１００は、音楽再生のインテント情報を取得し、マクロデータＭにＰＬＡＹ＿ＭＵＳＩＣのインテント情報を追加する。なお、情報処理サーバ１００は、マクロデータＭに新たなインテント情報を追加する場合、当該インテント情報に紐付けられたエンティティ情報を合わせて追加してもよい。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。そして、状態Ｒ２２３に示すように、情報処理サーバ１００は、例えば、「今度から音楽再生も一緒に実行します」との音声をスマートスピーカー１０に出力させる。そして、情報処理サーバ１００は、記憶部１２０に記憶しているマクロデータＭを変更したマクロデータＭで更新する。その結果、スマートスピーカー１０は、チェックした天気と５分版のニュースと予定とをユーザＵに通知するとともに、音楽を再生する。その後、ユーザＵが「朝のニュースチェック」を発話すると、スマートスピーカー１０は、チェックした天気と５分版のニュースと予定とをユーザＵに通知するとともに、音楽を再生するようになる。
【００７５】
図６に示す場面ＳＣ２３では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックを予定なしで」と言うユーザ発話ＵＯ２３を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ２３を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ２３から第１メッセージと第２メッセージとを抽出する。状態Ｒ２２１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「を予定なしで」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、マクロデータＭのインテント情報Ｍ１３の省略であるので、当該インテント情報Ｍ１３を変更対象とする。そして、状態Ｒ２３２に示すように、情報処理サーバ１００は、インテント情報Ｍ１３のＣＨＥＣＫ＿ＳＣＨＥＤＵＬＥを省略するように変更する。例えば、情報処理サーバ１００は、インテント情報Ｍ１３を削除してもよいし、エンティティ情報Ｍ２３の設定情報をなしにしてインテント情報Ｍ１３をマスクしてもよい。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、チェックした天気と５分版のニュースとをユーザＵに通知する。
【００７６】
また、状態Ｒ２３３に示すように、情報処理サーバ１００は、例えば、「次から省きますか」との音声をスマートスピーカー１０に出力させることで、ユーザＵに登録済みのマクロデータＭを変更するかを確認している。例えば、ユーザＵが変更を希望した場合、情報処理サーバ１００は、記憶部１２０に記憶しているマクロデータＭを変更したマクロデータＭで更新する。例えば、ユーザＵが変更を希望しない場合、情報処理サーバ１００は、記憶部１２０に記憶しているマクロデータＭを変更しない。
【００７７】
以上のように、実施形態に係る情報処理サーバ１００は、第２メッセージがマクロデータＭのインテント情報（第１情報）の変更に関するメッセージを含む場合、当該第２メッセージで変更可能なインテント情報を変更する。これにより、情報処理サーバ１００は、第１メッセージとともに発せられた第２メッセージでマクロデータＭのインテント情報を変更することができる。その結果、情報処理サーバ１００は、マクロデータＭの機能の追加、削除を音声で変更できるので、ユーザＵの利便性をさらに向上させることができる。
【００７８】
また、情報処理サーバ１００は、第２メッセージがマクロデータＭへのインテント情報の追加のメッセージと推定した場合、当該エンティティ情報をマクロデータＭに追加する。情報処理サーバ１００は、第２メッセージがマクロデータＭのインテント情報の削除のメッセージと推定した場合、当該インテント情報をマクロデータＭから削除する。その結果、情報処理サーバ１００は、マクロデータＭが示す機能をユーザ発話によって追加、削除することができるので、ユーザＵの期待に応じた機能をスマートスピーカー１０に実行させることができる。その結果、情報処理サーバ１００は、ユーザ発話に基づいて基本のマクロデータＭから容易に動的な機能の変更を実現することができる。
【００７９】
［実施形態の変形例（１）］
次に、上記の図４及び図７を用いて、実施形態に係る情報処理システム１の情報処理の一例について説明する。図７は、実施形態の変形例（１）に係る情報処理システム１の動作の一例を示す図である。
【００８０】
図７に示す場面ＳＣ３１では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックと音楽」と言うユーザ発話ＵＯ３１を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ３１を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ３１から第１メッセージと第２メッセージとを抽出する。状態Ｒ３１１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「と音楽」を示す第２メッセージとを抽出する。そして、情報処理サーバ１００は、第２メッセージと推定テーブル１２１とに基づいて、マクロデータＭの変更対象を推定する。この場合、情報処理サーバ１００は、マクロデータＭへのインテント情報の追加であるが、音楽の再生なのか否かを推定することが困難であるとする。状態Ｒ３１２に示すように、情報処理サーバ１００は、「朝のニュースチェック」に関連する「音楽」を履歴データ１２２から検索し、ＰＬＡＹ＿ＭＵＳＩＣの追加と推定する。そして、状態Ｒ３１３に示すように、情報処理サーバ１００は、音楽再生のインテント情報を取得し、マクロデータＭにＰＬＡＹ＿ＭＵＳＩＣのインテント情報を追加する。なお、情報処理サーバ１００は、マクロデータＭに新たなインテント情報を追加する場合、当該インテント情報に紐付けられたエンティティ情報を合わせて追加してもよい。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。その結果、スマートスピーカー１０は、チェックした天気と５分版のニュースと予定とをユーザＵに通知するとともに、音楽を再生する。また、状態Ｒ３１４に示すように、情報処理サーバ１００は、「朝のニュースチェックと音楽」の発話の頻度が判定閾値を超えている場合、登録済みの記憶部１２０のマクロデータＭにＰＬＡＹ＿ＭＵＳＩＣのインテント情報を追加することで、記憶部１２０のマクロデータＭを変更する。
【００８１】
以上のように、実施形態の変形例（１）に係る情報処理サーバ１００は、第２メッセージの推定が困難である場合、第２メッセージと履歴データ１２２とに基づいてマクロデータＭを変更する。これにより、情報処理サーバ１００は、例えば、ユーザＵが発話を短縮したり、第２メッセージを収集できなかったりしても、マクロデータＭを実行した履歴に基づいて当該マクロデータＭを変更することができる。その結果、情報処理サーバ１００は、マクロデータＭの機能の変更する場合のユーザＵの利便性をさらに向上させることができる。
【００８２】
また、実施形態の変形例（１）に係る情報処理システム１は、マクロデータＭに新たなインテント情報を履歴データ１２２の頻度に基づいて追加する場合について説明したが、これに限定されない。例えば、情報処理システム１は、履歴データ１２２に基づいて、マクロデータＭのエンティティ情報を変更してもよい。具体的には、情報処理システム１は、図４に示すマクロデータＭのＣＨＥＣＫ＿ＮＥＷＳの１分版への変更が頻繁である場合、エンティティ情報Ｍ２２を［ＴＩＭＥ：１ｍｉｎ］に変更してもよい。
【００８３】
［実施形態の変形例（２）］
次に、上記の図４、図８及び図９を用いて、実施形態の変形例（２）に係る情報処理システム１の情報処理について説明する。図８は、実施形態の変形例（２）に係る情報処理システム１の情報処理の一例を示す図である。図９は、実施形態の変形例（２）に係るマクロデータＭの変更例を示す図である。
【００８４】
図８に示す場面ＳＣ４１では、ユーザＵは、図４に示すマクロデータＭを変更しながら実行させるために、「朝のニュースチェックと音楽再生」と言うユーザ発話ＵＯ４１を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ４１を示す発話データＤを情報処理サーバ１００に送信するとともに、ユーザＵの発話時のコンテキストＣを送信する。コンテキストＣは、ユーザ発話ＵＯ４１の発話時間、日時、曜日等の情報を含む。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ４１から第１メッセージと第２メッセージとを抽出する。情報処理サーバ１００は、受信したコンテキストＣを解析し、ユーザ発話ＵＯ４１が平日に発せられたことを特定する。状態Ｒ４１１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージと、「と音楽再生」を示す第２メッセージとを抽出し、コンテキストＣから「平日」を特定する。そして、情報処理サーバ１００は、状態Ｒ４１２に示すように、情報処理サーバ１００は、音楽再生のインテント情報を取得し、マクロデータＭにＰＬＡＹ＿ＭＵＳＩＣのインテント情報を追加する。なお、情報処理サーバ１００は、マクロデータＭに新たなインテント情報を追加する場合、当該インテント情報に紐付けられたエンティティ情報を合わせて追加してもよい。そして、情報処理サーバ１００は、変更したマクロデータＭをスマートスピーカー１０に実行させる。
【００８５】
また、情報処理サーバ１００は、履歴データ１２２を参照し、平日における「朝のニュースチェックと音楽再生」の発生頻度を求める。状態Ｒ４１３に示すように、情報処理サーバ１００は、「朝のニュースチェック」と「音楽再生」との実行頻度が高い場合、マクロデータＭのＰＬＡＹ＿ＭＵＳＩＣに「平日には」の条件を示すエンティティ情報を付加する。そして、状態Ｒ４１４に示すように、情報処理サーバ１００は、登録済みのマクロデータＭを更新する。その結果、「朝のニュースチェック」のマクロデータＭは、図９に示すように、インテント情報Ｍ１４とエンティティ情報Ｍ２４とが追加される。マクロデータＭは、インテント情報Ｍ１４として、ＰＬＡＹ＿ＭＵＳＩＣが設定されている。ＰＬＡＹ＿ＭＵＳＩＣは、音楽を再生するモジュール名である。マクロデータＭは、インテント情報Ｍ１４のエンティティ情報Ｍ２４として、［ＤＡＹ：ｕｓｕａｌ］が設定されている。［ＤＡＹ：ｕｓｕａｌ］は、ＰＬＡＹ＿ＭＵＳＩＣの条件であり、条件が平日であることを示している。
【００８６】
実施形態の変形例（２）では、情報処理サーバ１００は、登録済みのマクロデータＭに新たなインテント情報Ｍ１４及びエンティティ情報Ｍ２４を追加する場合について説明するが、これに限定されない。例えば、情報処理サーバ１００は、登録済みのマクロデータＭのインテント情報のエンティティ情報として条件を示すエンティティ情報を追加してもよい。
【００８７】
以上のように、実施形態の変形例（２）に係る情報処理サーバ１００は、ユーザ発話から第１メッセージが抽出されたタイミングと履歴データ１２２とに基づいてマクロデータを変更する。これにより、情報処理サーバ１００は、マクロデータＭを実行するタイミングとマクロデータＭの変更履歴とに基づいて、ユーザＵの習慣に応じた条件をマクロデータＭに付加することができる。その結果、情報処理サーバ１００は、ユーザＵが期待するマクロデータＭに変更することができるので、マクロデータＭの有効利用に貢献することができる。
【００８８】
また、実施形態の変形例（２）に係る情報処理システム１は、マクロデータＭに新たなインテント情報を追加する場合、種々異なる条件を付加することができる。例えば、情報処理システム１は、新たなインテント情報の条件として、ユーザＵに確認を条件としてもよい。この場合、情報処理システム１は、新たなインテント情報を追加した後、ユーザＵが「朝のニューステック」を発話した場合に、「音楽も聞きますか？」等の確認メッセージを通知してもよい。
【００８９】
また、実施形態の変形例（２）に係る情報処理システム１は、マクロデータＭに新たなインテント情報を追加する場合、複数の条件を組み合わせて付加することができる。例えば、ユーザＵが「朝のニュースチェックを１分で」を週末によく発話しているとする。この場合、情報処理システム１は、図４に示すマクロデータＭのエンティティ情報Ｍ２２の［ＴＩＭＥ：５ｍｉｎ］を［ＴＩＭＥ：１ｍｉｎ］に変更するとともに、「週末は」を示す条件を追加すればよい。
【００９０】
［実施形態の変形例（３）］
次に、上記の図４及び図１０を用いて、実施形態の変形例（３）に係る情報処理システム１の情報処理について説明する。図１０は、実施形態の変形例（３）に係る情報処理システム１の情報処理の一例を示す図である。
【００９１】
図１０に示す場面ＳＣ５１では、ユーザＵは、図４に示すマクロデータＭを実行させるために、「朝のニュースチェック」と言うユーザ発話ＵＯ５１を発している。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ５１を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ５１から第１メッセージと第２メッセージとを抽出する処理を行う。この場合、状態Ｒ５１１に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージのみを抽出する。そして、状態Ｒ５１２に示すように、情報処理サーバ１００は、「朝のニュースチェック」のマクロデータＭの実行をスマートスピーカー１０に要求する。その結果、スマートスピーカー１０は、チェックした天気、ニュース、今日の予定をユーザＵに通知する。
【００９２】
ユーザＵは、ユーザ発話ＵＯ５１を発してから第２時間経過した後に、「音楽再生」と言うユーザ発話ＵＯ５２を発している。例えば、第２時間は、第１時間（例えば、２，３分）よりも短い時間である。この場合、スマートスピーカー１０は、ユーザ発話ＵＯ５２を示す発話データＤを情報処理サーバ１００に送信する。情報処理サーバ１００は、受信した発話データＤを解析し、ユーザ発話ＵＯ５２から第１メッセージと第２メッセージとを抽出する処理を行う。状態Ｒ５２１に示すように、情報処理サーバ１００は、第１メッセージを抽出せずに、「音楽再生」を示す第２メッセージを抽出する。そして、情報処理サーバ１００は、第２メッセージが抽出される直前の第１メッセージに対するマクロデータＭの変更対象を推定する。その結果、状態Ｒ５２２に示すように、情報処理サーバ１００は、「朝のニュースチェック」を示す第１メッセージ、「音楽再生」を示す第２メッセージとして抽出する。そして、状態Ｒ５２３に示すように、情報処理サーバ１００は、音楽再生のインテント情報を取得し、マクロデータＭにＰＬＡＹ＿ＭＵＳＩＣのインテント情報を追加する。この場合、「朝のニュースチェック」のマクロデータＭは、スマートスピーカー１０によって実行されている。よって、状態Ｒ５２４に示すように、情報処理サーバ１００は、ＰＬＡＹ＿ＭＵＳＩＣの実行をスマートスピーカー１０に要求する。その結果、スマートスピーカー１０は、チェックした天気、ニュース、今日の予定をユーザＵに通知することに加え、音楽を再生する。
【００９３】
以上のように、実施形態の変形例（３）に係る情報処理サーバ１００は、第１メッセージが抽出されてから第１時間が経過するまでに、他のユーザ発話から第２メッセージと抽出した場合、直線の第１メッセージに対応するマクロデータの変更対象を当該第２メッセージに基づいて推定する。これにより、情報処理サーバ１００は、ユーザ発話に時間差が生じても、１つのマクロデータＭを変更することができる。その結果、情報処理サーバ１００は、ユーザＵが一度に全ての発話を行わなくても、ユーザＵが期待するマクロデータＭに変更することができるので、マクロデータＭの有効利用に貢献することができる。
【００９４】
［ハードウェア構成］
上述してきた実施形態に係る情報処理サーバ１００、スマートスピーカー１０等の情報機器は、例えば図１１に示すような構成のコンピュータ１０００によって実現される。以下、実施形態に係る情報処理サーバ１００を例に挙げて説明する。図１１は、情報処理サーバ１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３００、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【００９５】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【００９６】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【００９７】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【００９８】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【００９９】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光学記録媒体、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１００】
例えば、コンピュータ１０００が実施形態に係る情報処理サーバ１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた情報処理プログラムを実行することにより、取得部１３１、音声認識部１３２、抽出部１３３、推定部１３４、変更部１３５、送信部１３６等の機能を実現する。また、ＨＤＤ１４００には、本開示に係る情報処理プログラムや、記憶部１２０内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０１０１】
上記の本実施形態では、情報処理サーバ１００は、複数のユーザＵが共通のマクロデータＭを利用する場合に、ユーザＵごとにマクロデータＭを変更することができる。その結果、情報処理サーバ１００は、共通のマクロデータＭを複数のユーザＵの各々が期待に応じて変更できるので、共通のマクロデータＭを有効利用することができる。
【０１０２】
上記の本実施形態では、スマートスピーカー１０と情報処理サーバ１００とを備える情報処理システム１によって情報処理装置を実現する場合について説明したが、これに限定されない。例えば、情報処理装置は、スマートスピーカー１０で実現し、当該スマートスピーカー１０が情報処理サーバ１００の機能を備える構成としてもよい。
【０１０３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１０４】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１０５】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアに、情報処理サーバ１００が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【０１０６】
また、本明細書の情報処理サーバ１００の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、情報処理サーバ１００の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１０７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出する抽出部と、
前記抽出部が抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定する推定部と、
前記推定部が推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する変更部と、
を備える情報処理装置。
（２）
前記推定部は、前記変更メッセージが前記マクロデータの前記第２情報に関するメッセージを含む場合、当該変更メッセージで変更可能な前記第２情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した前記第２情報を前記変更メッセージに基づいて変更する
前記（１）に記載の情報処理装置。
（３）
前記第２情報は、紐付けられた前記第１情報の設定項目情報と、当該設定項目情報の設定情報と、を含み、
前記変更部は、前記推定部が推定した前記第２情報の前記設定情報を前記変更メッセージに基づいて変更する
前記（１）または（２）に記載の情報処理装置。
（４）
前記推定部は、前記変更メッセージが前記マクロデータの複数の前記第２情報に関するメッセージである場合、当該変更メッセージで変更可能な複数の前記第２情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した複数の前記第２情報の変更を確認する処理を実行する
前記（２）または（３）に記載の情報処理装置。
（５）
前記推定部は、前記変更メッセージが前記マクロデータの前記第１情報の変更に関するメッセージを含む場合、前記第１情報を前記変更対象と推定し、
前記変更部は、前記推定部が推定した前記第１情報を前記変更メッセージに基づいて変更する
前記（１）から（４）のいずれかに記載の情報処理装置。
（６）
前記推定部は、前記変更メッセージが前記マクロデータへの前記第１情報の追加であるか、前記マクロデータの前記第１情報の削除のメッセージであるかを推定し、
前記変更部は、
前記推定部によって前記変更メッセージが前記マクロデータへの前記第１情報の追加のメッセージと推定された場合、当該第１情報を前記マクロデータに追加し、
前記推定部によって前記変更メッセージが前記マクロデータの前記第１情報の削除のメッセージと推定された場合、当該第１情報を前記マクロデータから削除する
前記（５）に記載の情報処理装置。
（７）
前記変更部よって前記マクロデータを変更した履歴を示す履歴データを記憶する記憶部をさらに備え、
前記変更部は、前記変更メッセージと前記履歴データとに基づいて前記マクロデータを変更する
前記（１）から（６）のいずれかに記載の情報処理装置。
（８）
前記抽出部は、前記マクロデータの実行の契機となる第１メッセージを前記ユーザ発話から抽出し、
前記変更部は、前記抽出部によって前記第１メッセージが抽出されたタイミングと前記履歴データとに基づいて前記マクロデータの機能に条件を付加する
前記（７）に記載の情報処理装置。
（９）
前記ユーザ発話を収集する収集部をさらに備え、
前記抽出部は、前記収集部が収集した前記ユーザ発話から、前記第１メッセージと前記変更メッセージとを抽出する
前記（８）に記載の情報処理装置。
（１０）
前記抽出部は、前記第１メッセージを含む前記ユーザ発話から前記変更メッセージを抽出する
前記（８）または（９）に記載の情報処理装置。
（１１）
前記抽出部によって前記第１メッセージが抽出されてから第１時間が経過するまでに、前記抽出部によって前記第１メッセージを含まない他の前記ユーザ発話から前記変更メッセージが抽出された場合、
前記推定部は、前記変更メッセージが抽出される直線の前記第１メッセージに対応する前記マクロデータの変更対象を当該変更メッセージに基づいて推定する
前記（８）から（１０）のいずれかに記載の情報処理装置。
（１２）
前記変更部は、前記マクロデータの変更内容をユーザに通知する
前記（１）から（１１）のいずれかに記載の情報処理装置。
（１３）
前記マクロデータを記憶する記憶部をさらに備え、
前記変更部は、前記記憶部に記憶している前記マクロデータを、変更後の前記マクロデータへ変更する制御を行う
前記（１）から（１２）のいずれかに記載の情報処理装置。
（１４）
前記変更部によって変更された前記マクロデータを実行する実行部をさらに備える
前記（１）から（１３）のいずれかに記載の情報処理装置。
（１５）
前記抽出部は、前記マクロデータの実行の契機となる第１メッセージを抽出し、
前記実行部は、前記抽出部によって前記第１メッセージが抽出され、前記変更メッセージが抽出されない場合、前記第１メッセージを契機として前記マクロデータを実行する
前記（１４）に記載の情報処理装置。
（１６）
コンピュータが、
実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出し、
抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定し、
推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する
情報処理方法。
（１７）
ユーザ端末と、前記ユーザ端末と通信可能な情報処理サーバとを備え、
前記ユーザ端末は、
前記ユーザ発話を収集する収集部を備え、
前記情報処理サーバは、
実行する機能を示す少なくとも１つの第１情報と前記第１情報に紐付けられた第２情報とを含むマクロデータの変更に関する変更メッセージをユーザ発話から抽出する抽出部と、
前記抽出部が抽出した前記変更メッセージに基づいて前記マクロデータの変更対象を推定する推定部と、
前記推定部が推定した前記マクロデータの前記変更対象を前記変更メッセージに基づいて変更する変更部と、
を備える情報処理システム。
【符号の説明】
【０１０８】
１  情報処理システム
１０  スマートスピーカー
１１  センサ
１２  集音部
１３  制御部
１４  送信部
１５  受信部
１６  実行部
１７  出力部
１００  情報処理サーバ
１２０  記憶部
１２１  推定テーブル
１２２  履歴データ
１３１  取得部
１３２  音声認識部
１３３  抽出部
１３４  推定部
１３５  変更部
１３６  送信部
Ｍ  マクロデータ
【図１】
2020039754.tif 000003
【図２】
2020039754.tif 000004
【図３】
2020039754.tif 000005
【図４】
2020039754.tif 000006
【図５】
2020039754.tif 000007
【図６】
2020039754.tif 000008
【図７】
2020039754.tif 000009
【図８】
2020039754.tif 000010
【図９】
2020039754.tif 000011
【図１０】
2020039754.tif 000012
【図１１】
2020039754.tif 000013
【国際調査報告】
2020039754.tif 000014
2020039754.tif 000015
2020039754.tif 000016
2020039754.tif 000017