(57)【要約】  １つ以上のプロセッサ及びメモリを備える電子機器は、デジタルアシスタントを用いて着信通信に自動的に応答するための手順を含む。いくつかの実施形態では、機器はユーザからの発語入力を取得し、発語入力を取得したことに応じて、機器は、発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する。命令を記憶した後に、機器はそれぞれの送信者からの着信通信を取得する。機器は、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定し、それぞれの送信者は１人以上の指定された送信者のうちの１人であると判定すると、機器は、命令に従って、指定されたアクションを実行し、その後、命令を自動的に削除する。
2016534616.tif 000002
【特許請求の範囲】
【請求項１】
デジタルアシスタントに、着信通信に自動的に応答させるための方法であって、前記方法は、
１つ以上のプロセッサ及びメモリを各々有する１つ以上の電子機器において、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む、方法。
【請求項２】
前記発語入力が命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
前記方法は、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定することを含み、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することを含む、請求項１に記載の方法。
【請求項３】
前記１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである，請求項２に記載の方法。
【請求項４】
前記着信通信は電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記音声メッセージの少なくとも一部は前記ユーザの音声の録音である、請求項４に記載の方法。
【請求項６】
前記音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである、請求項４又は５に記載の方法。
【請求項７】
前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を実行することを含み、前記命令を記憶することは、前記命令をテキストとして記憶することを含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記指定されたアクションを実行することは、
前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項１から３及び７のいずれか一項に記載の方法。
【請求項９】
前記伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項８に記載の方法。
【請求項１０】
前記伝達することは、前記着信通信と同じ通信手段を用いる、請求項８又は９に記載の方法。
【請求項１１】
前記作成することは、前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項８から１０のいずれか一項に記載の方法。
【請求項１２】
前記コンテクスト情報は、前記ユーザに関連付けられるロケーション情報、パターン情報、又は行動情報のうちの１つ以上を含む、請求項１１に記載の方法。
【請求項１３】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記電子機器の前記ユーザに関連付けられた連絡先のリストに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１４】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者に関連付けられた発信者ＩＤに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１５】
前記着信通信の前記送信者に関連付けられたアドレスを特定することを含み、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記通信の前記それぞれの送信者に関連付けられた前記アドレスに基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１６】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の前記内容に基づいて、前記送信者は前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から１２のいずれか一項に記載の方法。
【請求項１７】
前記着信通信は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項１から３及び７から１６のいずれか一項に記載の方法。
【請求項１８】
前記アクションは、
音声メッセージを前記送信者へ送信すること、
ＳＭＳメッセージを前記送信者へ送信すること、
ＭＭＳ若しくは写真を前記送信者へ送信すること、
電子メールを前記送信者へ送信すること、
イベント招待状を前記送信者へ送信すること、
１つ以上のカレンダー項目を前記送信者と共有すること、及び
１つ以上のカスタム属性を前記送信者と共有すること、
からなる群から選択される、請求項１から３及び７から１６のいずれか一項に記載の方法。
【請求項１９】
前記実行すること及び削除することは、前記電子機器の前記ユーザからの更なる再検討又は命令なしに自動的に実行される、請求項１から１８のいずれか一項に記載の方法。
【請求項２０】
前記指定されたアクションを実行することは、
第１のサブアクションを実行すること、及び
前記第１のサブアクションと異なる第２のサブアクションを実行すること、
を含む、請求項１から１９のいずれか一項に記載の方法。
【請求項２１】
前記命令は失効期間を更に指定し、
前記方法は、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過したと判定すると、前記命令を自動的に削除することを含む、請求項１から２０のいずれか一項に記載の方法。
【請求項２２】
前記それぞれの送信者は第１のそれぞれの送信者であり、前記方法は、
前記第１のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間は経過していないと判定すると、前記命令の削除を見送ることと、
前記第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を取得することと、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記失効期間が経過していないと判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む、請求項２１に記載の方法。
【請求項２３】
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、デジタルアシスタントを動作させるための命令を含み、前記命令は、１つ以上のプロセッサを備える電子機器によって実行されると、前記電子機器に、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項２４】
１つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記１つ以上のプログラムは、１つ以上のプロセッサを備える電子機器によって実行されると、前記電子機器に、請求項１から２２に記載の方法のうちのいずれかを実行させる命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項２５】
電子機器であって、
１つ以上のプロセッサと、
デジタルアシスタントを動作させる命令を記憶するメモリと、
を備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記プロセッサに、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む動作を実行させる、電子機器。
【請求項２６】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶するメモリと、を備える電子機器であって、前記１つ以上のプログラムは、請求項１から２２に記載の方法のうちのいずれかを実行する命令を含む、電子機器。
【請求項２７】
電子機器であって、
ユーザからの発語入力を取得する手段と、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する手段と、
前記命令を記憶した後に有効にされる、それぞれの送信者からの着信通信を取得する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると有効にされる、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する手段と、
を備える、電子機器。
【請求項２８】
請求項１から２２に記載の方法のうちのいずれかを実行する手段を備える、電子機器。
【請求項２９】
電子機器に使用するための情報処理装置であって、
ユーザからの発語入力を取得する手段と、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する手段と、
前記命令を記憶した後に有効にされる、それぞれの送信者からの着信通信を取得する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると有効にされる、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する手段と、
を備える、情報処理装置。
【請求項３０】
請求項１から２２に記載の方法のうちのいずれかを実行する手段を備える、電子機器において使用するための情報処理装置。
【請求項３１】
ディスプレイと、メモリと、前記メモリ内に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサとを備える電子デバイス上のグラフィカルユーザインタフェースであって、請求項１から２２に記載の方法のいずれかに従って表示されるユーザインタフェースを備える、グラフィカルユーザインタフェース。
【請求項３２】
電子機器であって、
ユーザからの発語入力を取得するように構成される音声受け取りユニットと、
前記音声受け取りユニットに結合される処理ユニットと、
を備え、前記処理ユニットは、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定し、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得し、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定し、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する、
ように構成される、電子機器。
【請求項３３】
前記発語入力は命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
前記処理ユニットは、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定するように構成され、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することを含む、請求項３２に記載の電子機器。
【請求項３４】
前記１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３３に記載の電子機器。
【請求項３５】
前記着信通信は電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項３２から３４のいずれか一項に記載の電子機器。
【請求項３６】
前記音声メッセージの少なくとも一部は前記ユーザの音声の録音である、請求項３５に記載の電子機器。
【請求項３７】
前記音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである、請求項３５又は３６に記載の電子機器。
【請求項３８】
前記処理ユニットは、前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を実行するように構成され、前記命令を記憶することは、前記命令をテキストとして記憶することを含む、請求項３２から３７のいずれか一項に記載の電子機器。
【請求項３９】
前記指定されたアクションを実行することは、
前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項３２から３４及び３８のいずれか一項に記載の電子機器。
【請求項４０】
前記伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３９に記載の電子機器。
【請求項４１】
前記伝達することは、前記着信通信と同じ通信手段を用いる、請求項３９又は４０に記載の電子機器。
【請求項４２】
前記作成することは、前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項３９から４１のいずれか一項に記載の電子機器。
【請求項４３】
前記コンテクスト情報は、前記ユーザに関連付けられるロケーション情報、パターン情報、又は行動情報のうちの１つ以上を含む、請求項４２に記載の電子機器。
【請求項４４】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記電子機器の前記ユーザに関連付けられた連絡先のリストに基づいて、前記それぞれの送信者は前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３２から４３のいずれか一項に記載の電子機器。
【請求項４５】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者に関連付けられた発信者ＩＤに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３２から４３のいずれか一項に記載の電子機器。
【請求項４６】
前記処理ユニットは、前記通信の前記送信者に関連付けられたアドレスを特定するように構成され、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記通信の前記それぞれの送信者に関連付けられた前記アドレスに基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３２から４３のいずれか一項に記載の電子機器。
【請求項４７】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の前記内容に基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３２から４３のいずれか一項に記載の電子機器。
【請求項４８】
前記着信通信は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３２から３４及び３８から４７のいずれか一項に記載の電子機器。
【請求項４９】
前記アクションは、
音声メッセージを前記送信者へ送信すること、
ＳＭＳメッセージを前記送信者へ送信すること、
ＭＭＳ若しくは写真を前記送信者へ送信すること、
電子メールを前記送信者へ送信すること、
イベント招待状を前記送信者へ送信すること、
１つ以上のカレンダー項目を前記送信者と共有すること、及び
１つ以上のカスタム属性を前記送信者と共有すること、
からなる群から選択される、請求項３２から３４及び３８から４７のいずれか一項に記載の電子機器。
【請求項５０】
前記実行すること及び前記削除することは、前記機器の前記ユーザからの更なる再検討又は命令なしに自動的に実行される、請求項３２から４９のいずれか一項に記載の電子機器。
【請求項５１】
前記指定されたアクションを実行することは、
第１のサブアクションを実行すること、及び
前記第１のサブアクションと異なる第２のサブアクションを実行すること、
を含む、請求項３２から５０のいずれか一項に記載の電子機器。
【請求項５２】
前記命令は失効期間を更に指定し、
前記方法は、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過したと判定すると、前記命令を自動的に削除することを含む、請求項３２から５１のいずれか一項に記載の電子機器。
【請求項５３】
前記それぞれの送信者は第１のそれぞれの送信者であり、
前記処理ユニットは、
前記第１のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過していないと判定すると、前記命令の削除を見送り、
前記第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を取得し、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定し、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記失効期間が経過していないと判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する、
ように構成される、請求項５２に記載の電子機器。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２０１３年８月６日に出願され、ＡＵＴＯ−ＡＣＴＩＶＡＴＩＮＧ  ＳＭＡＲＴ  ＲＥＳＰＯＮＳＥＳ  ＢＡＳＥＤ  ＯＮ  ＡＣＴＩＶＩＴＩＥＳ  ＦＲＯＭ  ＲＥＭＯＴＥ  ＤＥＶＩＣＥＳと題する、米国仮特許出願第６１／８６２，９２７号からの優先権を主張する。同出願はその全体が全ての目的のために本明細書において参照により組み込まれている。
【技術分野】
【０００２】
開示される実施形態は概してデジタルアシスタントシステムに関し、より詳細には、着信通信に自動的に応答することに関する。
【背景技術】
【０００３】
人間の個人的なアシスタントとちょうど同じように、デジタルアシスタントシステムは、要求されたタスクを実行し、要求された助言、情報、又はサービスを提供することができる。デジタルアシスタントシステムのユーザの要求を達成する能力は、デジタルアシスタントシステムが、要求又は命令を正確に理解することに依存する。自然言語処理における近年の進歩は、ユーザが自然言語を使って口頭又はテキストの形式でデジタルアシスタントシステムと対話することを可能にした。このようなデジタルアシスタントシステムは、ユーザの入力を解釈してユーザの意図を推測し、推測された意図を実施可能なタスク及びパラメータに変換し、タスクを実行するべく動作を実行するか又はサービスをデプロイし、ユーザが理解できる出力を生成することができる。理想的には、デジタルアシスタントシステムによって生成される出力は、ユーザとデジタルアシスタントシステムとの間の自然言語による対話中に表現されたユーザの意図を実現すべきである。
【０００４】
デジタルアシスタントシステムがユーザ要求に対して満足のいく応答を生成する能力は、デジタルアシスタントシステムが利用できる自然言語処理、知識ベース及び人工知能に依存する。更に、数多くのサードパーティシステム及びサービスが現在存在するが、デジタルアシスタントシステムが、１人以上の指定された送信者からの着信通信の受信に応じて、指定されたアクションを自動的に実行するための効率的な手段はない。
【発明の概要】
【０００５】
本明細書において開示される実施形態は、１人以上の指定された送信者からの着信通信の受信に応じて、指定されたアクションを自動的に実行するようにデジタルアシスタントを動作させるための方法、機器、システム、及び非一時的コンピュータ可読記憶媒体を提供する。
【０００６】
いくつかの実施形態は、デジタルアシスタントに、着信通信に自動的に応答させる方法を提供する。本方法は、１つ以上のプロセッサ及びメモリを各々含む１つ以上の電子機器において実行される。まず、ユーザからの発語入力を取得する。発語入力を取得したことに応じて、発語入力は、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する。その後、命令を記憶する。命令を記憶した後に、それぞれの送信者からの着信通信を取得する。それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定する。それぞれの送信者は１人以上の指定された送信者のうちの１人であると判定すると、命令に従って、指定されたアクションを実行する。その後、命令を自動的に（即ち、人の介入なしに）削除する。
【０００７】
いくつかの実施形態では、発語入力は命令を含むかどうかを判定することは、発語入力は、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含む。それぞれの送信者は１人以上の指定された送信者のうちの１人であり、着信通信は１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、命令に従って、指定されたアクションを実行する。その後、命令を自動的に（即ち、人の介入なしに）削除する。
【０００８】
いくつかの実施形態では、１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【０００９】
いくつかの実施形態では、着信通信は電話呼であり、指定されたアクションは、音声メッセージを送信することである。
【００１０】
いくつかの実施形態では、音声メッセージの少なくとも一部はユーザの音声の録音である。
【００１１】
いくつかの実施形態では、音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである。
【００１２】
いくつかの実施形態では、本方法は、発語入力をテキストに変換するために発語入力に対する自然言語処理を実行することを含み、命令を記憶することは、命令をテキストとして記憶することを含む。
【００１３】
いくつかの実施形態では、指定されたアクションを実行することは、命令に従ってそれぞれの送信者への応答を作成すること、及び応答を送信者へ伝達すること、を含む。
【００１４】
いくつかの実施形態では、伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【００１５】
いくつかの実施形態では、伝達することは、着信通信と同じ通信手段を用いる。
【００１６】
いくつかの実施形態では、作成することは、命令に従って、コンテクスト情報に少なくとも一部基づいてそれぞれの送信者への応答を作成することを含む。
【００１７】
いくつかの実施形態では、コンテクスト情報は、ユーザに関連付けられるロケーション情報、パターン情報、又は行動情報のうちの１つ以上を含む。
【００１８】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、機器のユーザに関連付けられた連絡先のリストに基づいて、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む。
【００１９】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、それぞれの送信者に関連付けられた発信者ＩＤに基づいて、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む。
【００２０】
いくつかの実施形態では、本方法は、通信の送信者に関連付けられたアドレスを特定することを含み、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、通信のそれぞれの送信者に関連付けられたアドレスに基づいて、送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む。
【００２１】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、それぞれの送信者から受信された着信通信の内容に基づいて、送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む。
【００２２】
いくつかの実施形態では、指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【００２３】
いくつかの実施形態では、着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【００２４】
いくつかの実施形態では、アクションは、音声メッセージを送信者へ送信すること、ＳＭＳメッセージを送信者へ送信すること、ＭＭＳ若しくは写真を送信者へ送信すること、電子メールを送信者へ送信すること、イベント招待状を送信者へ送信すること、１つ以上のカレンダー項目を送信者と共有すること、並びに及び１つ以上のカスタム属性を送信者と共有すること、からなる群から選択される。
【００２５】
いくつかの実施形態では、実行すること、及び削除することは、機器のユーザからの更なる再検討又は命令なしに自動的に実行される。
【００２６】
いくつかの実施形態では、指定されたアクションを実行することは、第１のサブアクションを実行すること、及び第１のサブアクションと異なる第２のサブアクションを実行すること、を含む。
【００２７】
いくつかの実施形態では、命令は失効期間を更に指定し、本方法は、それぞれの送信者は１人以上の指定された送信者のうちの１人ではなく、失効期間は経過したと判定すると、命令を自動的に削除することを含む。
【００２８】
いくつかの実施形態では、それぞれの送信者は第１のそれぞれの送信者であり、本方法は、第１のそれぞれの送信者は１人以上の指定された送信者のうちの１人ではなく、失効期間は経過していないと判定すると、命令の削除を見送ることと、第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を取得することと、第２のそれぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することと、第２のそれぞれの送信者は１人以上の指定された送信者のうちの１人であり、失効期間は経過していないと判定すると、命令に従って、指定されたアクションを実行し、その後、命令を自動的に削除することと、を含む。
【００２９】
いくつかの実施形態によれば、非一時的コンピュータ可読記憶媒体は、１つ以上のプロセッサを備える電子機器によって実行されると、機器に上述の方法のいずれかの動作を実行させる命令を内部に記憶する。いくつかの実施形態によれば、電子機器は、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを含み、１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成され、１つ以上のプログラムは上述の方法のいずれかの動作を実行するための命令を含む。いくつかの実施形態によれば、ディスプレイと、メモリと、メモリ内に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサと、を備える電子機器上のグラフィカルユーザインタフェースであって、グラフィカルユーザインタフェースは、上述された方法のうちのいずれかに従って表示されるユーザインタフェースを含む。いくつかの実施形態によれば、電子機器は、上記に述べた方法のうちのいずれかの動作を実行する手段を含む。いくつかの実施形態によれば、電子機器において使用するための情報処理装置は、上記に述べた方法のうちのいずれかの動作を実行する手段を含む。
【００３０】
いくつかの実施形態によれば、電子機器は、ユーザからの発語入力を取得するように構成される音声受け取りユニットを含む。電子機器はまた、音声受け取りユニットに結合される処理ユニットを含む。発語入力を取得したことに応じて、処理ユニットは、発語入力は、１人以上の指定された送信者からのその後の着信通信の受信、及び第１のユーザからの命令に応じて、指定されたアクションを実行するための命令を含むかどうかを判定するように構成される。その後、処理ユニットは、命令を記憶するように構成される。命令を記憶した後に、処理ユニットは、それぞれの送信者からの着信通信を取得するように構成される。その後、処理ユニットは、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定するように構成される。それぞれの送信者は１人以上の指定された送信者のうちの１人であると判定すると、処理ユニットは、命令に従って、指定されたアクションを実行するように構成されるその後、処理ユニットは、命令を自動的に削除するように構成される。
【００３１】
本明細書で説明される主題の１つ以上の実施形態の詳細が、添付の図面及び以下の説明に記載される。本主題の他の特徴、態様、及び利点は、それらの説明、図面、及び特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【００３２】
【図１】いくつかの実施形態に係る、デジタルアシスタントが動作する環境を示すブロック図である。
【図２】いくつかの実施形態に係る、デジタルアシスタントクライアントシステムを示すブロック図である。
【図３Ａ】いくつかの実施形態に係る、デジタルアシスタントシステム又はそのサーバ部分を示すブロック図である。
【図３Ｂ】いくつかの実施形態に係る、図３Ａに示されるデジタルアシスタントの機能を示すブロック図である。
【図３Ｃ】いくつかの実施形態に係る、図３Ｂに示されるオントロジの一部を示す図である。
【図４】いくつかの実施形態に係る、１人以上の指定された送信者のうちの１人からの着信通信の受信に応じて、指定されたアクションを自動的に実行するためのオントロジの一部分の図である。
【図５】いくつかの実施形態に係る、デジタルアシスタントを動作させる例示的なプロセスのためのフロー図を示す。
【図６】いくつかの実施形態に係る、デジタルアシスタントを動作させる例示的なプロセスのためのフロー図を示す。
【図７】いくつかの実施形態に係る、電子デバイスの機能ブロック図である。
【発明を実施するための形態】
【００３３】
図１は、いくつかの実施形態に係るデジタルアシスタントの動作環境１００のブロック図である。用語「デジタルアシスタント」、「仮想アシスタント」、「インテリジェント自動アシスタント」、又は「自動デジタルアシスタント」は、口頭及び／又はテキスト形式の自然言語入力を解釈してユーザ意図を推測し、推測されたユーザ意図に基づきアクションを実行する任意の情報処理システムを指す。例えば、推測されたユーザ意図に基づいて動作するために、システムは、以下のことのうちの１つ以上を実行することができる。推測されたユーザ意図を果たすように設計されたステップ及びパラメータを有するタスクフローを特定すること、推測されたユーザ意図からの特定の要求事項をタスクフロー内に入力すること、プログラム、方法、サービス、ＡＰＩ、若しくは同様のものを呼び出すことによってタスクフローを実行すること、並びに可聴（例えば、発語）及び／又は視覚形式のユーザへの出力応答を生成すること。
【００３４】
具体的には、デジタルアシスタント（ＤＡ、ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）は、少なくとも部分的に、自然言語コマンド、要求、陳述、叙述、及び／又は照会の形でユーザ要求を受け入れる能力を有する。通例、ユーザ要求はデジタルアシスタントによる情報回答又はタスクの実行のいずれかを求める。ユーザ要求への満足な応答は、要求された情報回答の提供、要求されたタスクの実行のいずれか、又はその２つの組み合わせとなる。例えば、ユーザはデジタルアシスタントに「私は今どこにいますか？」などの質問をすることができる。ユーザの現在のロケーションに基づき、デジタルアシスタントは、「あなたはセントラルパーク内にいます」と回答する場合がある。ユーザはまた、例えば、「今日午後４時に母に電話することを私に思い出させてください」と、タスクの実行を要求する場合がある。それに応じて、デジタルアシスタントは要求を確認し、次に、ユーザの電子スケジュール内に適当なリマインダ項目を作成してもよい。要求されたタスクの実行中、デジタルアシスタントは、長時間にわたって情報を複数回交換する連続的なダイアログにおいて、ユーザと対話する場合がある。情報又は種々のタスクの実行を要求するためにデジタルアシスタントと対話する方法は他にも数多く存在する。言葉による応答を提供し、プログラムされたアクションを取ることに加えて、デジタルアシスタントは、他の視覚又はオーディオ形式の応答も（例えば、テキスト、警報、音楽、ビデオ、アニメーション等として）提供する。
【００３５】
デジタルアシスタントの１つの例が、その開示全体が参照により本明細書に組み込まれる２０１１年１月１０日出願の「Ｉｎｔｅｌｌｉｇｅｎｔ  Ａｕｔｏｍａｔｅｄ  Ａｓｓｉｓｔａｎｔ」に対する出願人の米国実用特許出願第１２／９８７，９８２号に示されている。
【００３６】
図１に示されているように、いくつかの実施形態では、デジタルアシスタントはクライアント−サーバモデルに従って実装される。デジタルアシスタントは、ユーザ機器１０４ａ、１０４ｂ上で実行されるクライアント側部分１０２ａ、１０２ｂ（以後、「ＤＡクライアント１０２」）、及びサーバシステム１０８上で実行されるサーバ側部分１０６（以後、「ＤＡサーバ１０６」）を含む。ＤＡクライアント１０２は１つ以上のネットワーク１１０を通じてＤＡサーバ１０６と通信する。ＤＡクライアント１０２は、ユーザ対応入力及び出力処理、並びにＤＡサーバ１０６との通信等のクライアント側機能性を提供する。ＤＡサーバ１０６は、それぞれのユーザ機器１０４上に各々常駐する任意の数のＤＡクライアント１０２のためのサーバ側機能性を提供する。
【００３７】
いくつかの実施形態では、ＤＡサーバ１０６は、クライアント対応Ｉ／Ｏインタフェース１１２、１つ以上の処理モジュール１１４、データ及びモデル１１６、並びに外部サービスへのＩ／Ｏインタフェース１１８を含む。クライアント対応Ｉ／Ｏインタフェースはデジタルアシスタントサーバ１０６のためのクライアント対応入力及び出力処理を促進する。１つ以上の処理モジュール１１４はデータ及びモデル１１６を利用し、自然言語入力に基づきユーザの意図を判定し、推測されたユーザ意図に基づきタスク実行を実行する。いくつかの実施形態では、ＤＡサーバ１０６は、タスク完了又は情報取得のために、ネットワーク（単数又は複数）１１０を通じて外部サービス１２０と通信する。外部サービスＩ／Ｏインタフェース１１８はこのような通信を促進する。
【００３８】
ユーザ機器１０４の例としては、限定するものではないが、ハンドヘルドコンピュータ、無線携帯情報端末（Personal Digital Assistant、ＰＤＡ）、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セルラー電話、スマートフォン、拡張型汎用パケット無線サービス（Enhanced General Packet Radio Service、ＥＧＰＲＳ）携帯電話、メディアプレーヤ、ナビゲーション機器、ゲームコンソール、テレビ、遠隔制御装置、又はこれらのデータ処理機器のうちの任意の２つ以上の組み合わせ、あるいは他のデータ処理機器が挙げられる。ユーザ機器１０４に関する更なる詳細が、図２に示される例示的なユーザ機器１０４に関して提供されている。
【００３９】
ユーザ機器１０４は通信ネットワーク（単数又は複数）１１０を介して他の機器１３０と通信する。他の機器１３０は、ユーザ機器１０４のユーザと異なるユーザに関連付けられるコンピューティング機器（例えば、携帯電話、コンピュータ、又は１つ以上のプロセッサ、メモリ、及び通信インタフェースを備える任意のその他の電子機器）を含む。通信ネットワーク（単数又は複数）１１０の例としては、ローカルエリアネットワーク（Local Area Network、ＬＡＮ）、及びインターネットなどのワイドエリアネットワーク（Wide Area Network、ＷＡＮ）が挙げられる。通信ネットワーク（単数又は複数）１１０は、イーサネット（登録商標）、ユニバーサルシリアルバス（Universal Serial Bus、ＵＳＢ）、ファイヤワイヤ（登録商標）、移動通信用のグローバルシステム（Global System for Mobile Communications、ＧＳＭ（登録商標））、拡張データＧＳＭ環境（Enhanced Data GSM Environment、ＥＤＧＥ（登録商標））、符号分割多元接続（Code Division Multiple Access、ＣＤＭＡ）、時分割多元接続（Time Division Multiple Access、ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ボイスオーバーインターネットプロトコル（Voice Over Internet Protocol、ＶｏＩＰ）、Ｗｉ−ＭＡＸ（登録商標）、又は任意の他の好適な通信プロトコル等の、種々の有線又は無線プロトコルを含む、任意の周知のネットワークプロトコルを用いて任意選択的に実装される。
【００４０】
サーバシステム１０８は、１つ以上のスタンドアロンデータ処理装置、又はコンピュータの分散型ネットワーク上に実装される。いくつかの実施形態では、サーバシステム１０８は、また、様々な仮想機器及び／又はサードパーティサービスプロバイダ（例えば、サードパーティクラウドサービスプロバイダ）のサービスを利用して、サーバシステム１０８の基本的なコンピューティングリソース及び／又はインフラストラクチャリソースを提供する。
【００４１】
図１に示されるデジタルアシスタントはクライアント側部分（例えば、ＤＡクライアント１０２）及びサーバ側部分（例えば、ＤＡサーバ１０６）の両方を含むが、いくつかの実施形態では、デジタルアシスタントの機能は、ユーザ機器上にインストールされる独立型アプリケーションとして実装される。加えて、デジタルアシスタントのクライアント部分とサーバ部分との間の機能性の分配は実施形態よって異なり得る。例えば、いくつかの実施形態では、ＤＡクライアント１０２は、ユーザ対応入力及び出力処理機能のみを提供し、デジタルアシスタントの全ての他の機能性をバックエンドサーバに委ねるシンクライアントである。
【００４２】
図２は、いくつかの実施形態に係るユーザ機器１０４のブロック図である。ユーザ機器１０４は、メモリインタフェース２０２、１つ以上のプロセッサ２０４、及び周辺インタフェース２０６を含む。ユーザ機器１０４内の種々の構成要素は１つ以上の通信バス又は信号線によって結合される。ユーザ機器１０４は、周辺インタフェース２０６に結合される種々のセンサ、サブシステム、及び周辺機器を含む。センサ、サブシステム、及び周辺機器は情報を収集し、及び／又はユーザ機器１０４の種々の機能性を促進する。
【００４３】
例えば、向き、光、及び近接検知機能を促進するために、動きセンサ２１０、光センサ２１２、及び近接センサ２１４が周辺インタフェース２０６に結合される。関連機能を促進するために、測位システム（例えば、ＧＰＳ受信機）、温度センサ、生体測定センサ、ジャイロスコープ、コンパス、加速度計、及び同様のもの等の、１つ以上の他のセンサ２１６も周辺インタフェース２０６に接続される。
【００４４】
いくつかの実施形態では、カメラサブシステム２２０及び光学センサ２２２は、写真の撮影及びビデオクリップの録画等の、カメラ機能を促進するために利用される。無線周波数受信器及び送信器、並びに／又は光（例えば、赤外線）受信器及び送信器を含み得る、１つ以上の有線及び／又は無線通信サブシステム２２４を通じて、通信機能が促進される。オーディオサブシステム２２６をスピーカー２２８及びマイクロホン２３０に結合することにより、ボイス認識機能、ボイス複製機能、デジタル録音機能、及びテレフォニー機能等のボイス対応機能が促進される。
【００４５】
いくつかの実施形態では、Ｉ／Ｏサブシステム２４０も周辺インタフェース２０６に結合される。Ｉ／Ｏサブシステム２４０は、タッチスクリーンコントローラ２４２及び／又は他の入力コントローラ（単数又は複数）２４４を含む。タッチスクリーンコントローラ２４２はタッチスクリーン２４６に結合される。タッチスクリーン２４６及びタッチスクリーンコントローラ２４２は、例えば、容量性、抵抗性、赤外線、表面弾性波技術、近接センサアレイ、及び同様のもの等の複数のタッチ感知技術のうちの任意のものを用いて、接触並びにその移動若しくは中断を検出することができる。他の入力コントローラ（単数又は複数）２４４は、１つ以上のボタン、ロッカスイッチ、サムホイール、赤外線ポート、ＵＳＢポート、及び／又はスタイラスなどのポインタ機器などの、他の入力／制御機器２４８に結合することができる。
【００４６】
いくつかの実施形態では、メモリインタフェース２０２はメモリ２５０に結合される。メモリ２５０としては、高速ランダムアクセスメモリ、並びに／又は１つ以上の磁気記憶装置、１つ以上の光学記憶装置、及び／若しくはフラッシュメモリ（ＮＡＮＤ型若しくはＮＯＲ型）などの、不揮発性メモリを挙げることができる。
【００４７】
いくつかの実施形態では、メモリ２５０は、オペレーティングシステム２５２、通信モジュール２５４、グラフィカルユーザインタフェースモジュール２５６、センサ処理モジュール２５８、電話モジュール２６０、及びアプリケーション２６２を記憶する。オペレーティングシステム２５２は、基本システムサービスを処理する命令、及びハードウェア依存タスクを実行する命令を含む。通信モジュール２５４は、１つ以上の追加機器、１つ以上のコンピュータ及び／又は１つ以上のサーバとの通信を促進する。グラフィカルユーザインタフェースモジュール２５６はグラフィックユーザインタフェース処理を促進する。センサ処理モジュール２５８はセンサ関連の処理及び機能を促進する。電話モジュール２６０は電話関連のプロセス及び機能を促進する。アプリケーションモジュール２６２は、電子メッセージング、ウェブブラウジング、メディア処理、ナビゲーション、イメージング、並びに／又はその他のプロセス及び機能等の、ユーザアプリケーションの種々の機能性を促進する。
【００４８】
本明細書で説明されるように、メモリ２５０はまた、デジタルアシスタントのクライアント側機能性を提供するために、（例えば、デジタルアシスタントクライアントモジュール２６４内の）クライアント側デジタルアシスタント命令、並びに種々のユーザデータ２６６（例えば、ユーザ固有の語彙データ、設定データ、及び／若しくはユーザの電子アドレス帳、ｔｏ−ｄｏリスト、買い物リスト等のその他のデータ）も記憶する。
【００４９】
種々の実施形態では、デジタルアシスタントクライアントモジュール２６４は、ユーザ機器１０４の種々のユーザインタフェース（例えば、Ｉ／Ｏサブシステム２４４）を通じて音声入力（例えば、発語入力）、テキスト入力、タッチ入力、及び／又はジェスチャ入力を受け入れる能力を有する。デジタルアシスタントクライアントモジュール２６４はまた、オーディオ（例えば、発語出力）、視覚、及び／又は触覚形態の出力を提供する能力も有する。例えば、出力は、音声、音響、警報、テキストメッセージ、メニュー、グラフィック、ビデオ、アニメーション、振動、及び／又はそれらの組み合わせとして提供することができる。動作時、デジタルアシスタントクライアントモジュール２６４は、通信サブシステム２２４を用いてデジタルアシスタントサーバと通信する。
【００５０】
いくつかの実施形態では、デジタルアシスタントクライアントモジュール２６４は、ユーザ、現在のユーザ対話及び／又は現在のユーザ入力に関連付けられるコンテクストを確立するために、種々のセンサ、サブシステム及び周辺機器を利用してユーザ機器１０４の周囲環境から追加情報を収集する。いくつかの実施形態では、デジタルアシスタントクライアントモジュール２６４は、ユーザの意図の推測を助けるために、ユーザ入力とともにコンテクスト情報又はそのサブセットをデジタルアシスタントサーバに提供する。いくつかの実施形態では、デジタルアシスタントはまた、ユーザへの出力をどのように準備し、送出するのかを決定するためにコンテクスト情報を用いる。
【００５１】
いくつかの実施形態では、ユーザ入力に付随するコンテクスト情報は、照明、環境ノイズ、周囲温度、周囲環境の画像又はビデオ、及び同様のもの等の、センサ情報を含む。いくつかの実施形態では、コンテクスト情報はまた、ユーザ機器１０４の物理的状態（例えば、機器の向き、機器ロケーション、機器温度、電力レベル、速度、加速度、運動パターン、セルラー信号強度、等）も含む。いくつかの実施形態では、ユーザ機器１０４のソフトウェア状態に関する情報（例えば、実行中のプロセス、インストールされているプログラム、過去及び現在のネットワーク活動、バックグラウンドサービス、誤りログ、資源使用状況等）が、ユーザ入力に関連付けられるコンテクスト情報としてデジタルアシスタントサーバに提供される。
【００５２】
いくつかの実施形態では、デジタルアシスタントクライアントモジュール２６４は、デジタルアシスタントサーバからの要求に応じて、ユーザ機器１０４上に記憶されている情報（例えば、ユーザデータ２６６）を選択的に提供する。いくつかの実施形態では、デジタルアシスタントクライアントモジュール２６４はまた、デジタルアシスタントサーバ１０６による要求に応じて自然言語ダイアログ又はその他のユーザインタフェースを介してユーザから追加入力も引き出す。デジタルアシスタントクライアントモジュール２６４は、意図推測及び／又はユーザ要求内に表されているユーザの意図の達成においてデジタルアシスタントサーバ１０６を助けるために、追加入力をデジタルアシスタントサーバ１０６に渡す。
【００５３】
種々の実施形態では、メモリ２５０は追加の命令又はより少数の命令を含む。更に、ユーザ機器１０４の種々の機能は、１つ以上の信号処理回路及び／又は特定用途向け集積回路の形態を含む、ハードウェアの形態及び／又はファームウェアの形態で実装することができる。
【００５４】
図３Ａは、いくつかの実施形態に係る、例示的なデジタルアシスタントシステム３００のブロック図である。いくつかの実施形態では、デジタルアシスタントシステム３００はスタンドアロンコンピュータシステム上に実装される。いくつかの実施形態では、デジタルアシスタントシステム３００は複数のコンピュータにわたって分散される。いくつかの実施形態では、デジタルアシスタントのモジュール及び機能のいくつかはサーバ部分及びクライアント部分に分割される。この場合には、クライアント部分はユーザ機器（例えば、ユーザ機器１０４）上に常駐し、１つ以上のネットワーク（例えば、ネットワーク（単数又は複数）１１０）を通じてサーバ部分（例えば、サーバシステム１０８）と通信する。いくつかの実施形態では、デジタルアシスタントシステム３００は、図１に示されるサーバシステム１０８（及び／又はデジタルアシスタントサーバ１０６）の一実施形態である。デジタルアシスタントシステム３００はデジタルアシスタントシステムの単なる一例にすぎず、デジタルアシスタントシステム３００は、図示されているよりも多数又は少数の構成要素を有してもよく、２つ以上の構成要素を組み合わせてもよく、又は構成要素の異なる構成又は配置を有してもよいことに留意されたい。図３Ａに示される種々の構成要素は、１つ以上の信号処理回路及び／若しくは特定用途向け集積回路を含む、ハードウェア、１つ以上のプロセッサによって実行されるソフトウェア命令、ファームウェア、又はそれらの組み合わせの形態で実装されてもよい。
【００５５】
デジタルアシスタントシステム３００は、メモリ３０２、１つ以上のプロセッサ３０４、入力／出力（Ｉ／Ｏ）インタフェース３０６、及びネットワーク通信インタフェース３０８を含む。これらの構成要素は１本以上の通信バス又は信号線３１０を通じて互いに通信する。
【００５６】
いくつかの実施形態では、メモリ３０２は、高速ランダムアクセスメモリ並びに／又は不揮発性記憶媒体（例えば、１つ以上の磁気ディスク記憶装置、フラッシュメモリ装置、若しくは他の不揮発性固体メモリ装置）等の、非一時的コンピュータ可読記憶媒体を含む。
【００５７】
いくつかの実施形態では、Ｉ／Ｏインタフェース３０６は、ディスプレイ、キーボード、タッチスクリーン、及びマイクロホン等の、デジタルアシスタントシステム３００の入力／出力機器３１６をユーザインタフェースモジュール３２２に結合する。Ｉ／Ｏインタフェース３０６は、ユーザインタフェースモジュール３２２と協働して、ユーザ入力（例えば、音声入力、キーボード入力、タッチ入力等）を受け取り、それらを適宜に処理する。いくつかの実施形態では、（例えば、デジタルアシスタントがスタンドアロンユーザ機器上に実装される場合には）デジタルアシスタントシステム３００は、図２におけるユーザ機器１０４に関して説明されている構成要素及びＩ／Ｏ及び通信インタフェースの任意のものを含む。いくつかの実施形態では、デジタルアシスタントシステム３００はデジタルアシスタント実装のサーバ部分を表し、ユーザ機器（例えば、図２に示されるユーザ機器１０４）上に常駐するクライアント側部分を通じてユーザと対話する。
【００５８】
いくつかの実施形態では、ネットワーク通信インタフェース３０８は有線通信ポート（単数又は複数）３１２並びに／又は無線伝送及び受信回路機構３１４を含む。有線通信ポート（単数又は複数）は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ファイヤワイヤ（登録商標）、及び同様のもの等の１つ以上の有線インタフェースを介して通信信号を受信及び送信する。無線回路機構３１４は、通信ネットワーク及びその他の通信機器から／へＲＦ信号及び／又は光信号を受信及び送信する。無線通信は、ＧＳＭ、ＥＤＧＥ、ＣＤＭＡ、ＴＤＭＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ＶｏＩＰ、Ｗｉ−ＭＡＸ（登録商標）、又は任意のその他の好適な通信プロトコル等の、複数の通信規格、プロトコル及び技術のうちの任意のものを任意選択的に用いる。ネットワーク通信インタフェース３０８は、１つ以上のネットワーク（例えば、インターネット、イントラネット、セルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）等の無線ネットワーク、又はメトロポリタンエリアネットワーク（metropolitan area network、ＭＡＮ））を介した、デジタルアシスタントシステム３００、サーバシステム１０８、及び他の機器１３０の間の通信を可能にする。
【００５９】
いくつかの実施形態では、メモリ３０２、又はメモリ３０２の非一時的コンピュータ可読記憶媒体は、オペレーティングシステム３１８、通信モジュール３２０、ユーザインタフェースモジュール３２２、１つ以上のアプリケーション３２４、及びデジタルアシスタントモジュール３２６の全て又はサブセットを含むプログラム、モジュール、命令、及びデータ構造を記憶する。１つ以上のプロセッサ３０４はこれらのプログラム、モジュール、及び命令を実行し、データ構造から／へと読み出し／書き込みを行う。
【００６０】
オペレーティングシステム３１８（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又はＶｘＷｏｒｋｓなどの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶装置制御、電力管理など）を制御及び管理するための様々なソフトウェア構成要素及び／又はドライバを含み、様々なハードウェア、ファームウェア、及びソフトウェア構成要素間の通信を促進する。
【００６１】
通信モジュール３２０は、ネットワーク通信インタフェース３０８を通じた、デジタルアシスタントシステム３００、サーバシステム１０８、及び他の機器１３０（例えば、ユーザ機器１０４のユーザと異なるユーザに関連付けられるコンピューティング機器）の間の通信を促進する。例えば、通信モジュール３２０は、図２に示されるユーザ機器１０４の通信インタフェース２５４と任意選択的に通信する。通信モジュール３２０はまた、無線回路機構３１４及び／又は有線通信ポート３１２によって受信されたデータを処理するための種々の構成要素も含む。
【００６２】
ユーザインタフェースモジュール３２２はＩ／Ｏインタフェース３０６を介して（例えば、キーボード、タッチスクリーン、ポインティング装置、コントローラ、及び／又はマイクロホンから）ユーザからのコマンド及び／又は入力を受け取り、ディスプレイ上にユーザインタフェースオブジェクトを生成する。ユーザインタフェースモジュール３２２はまた、Ｉ／Ｏインタフェース３０６を介して（例えば、ディスプレイ、オーディオチャネル、スピーカー、タッチパッド等を通じて）、ユーザへの出力（例えば、発語、音声、アニメーション、テキスト、アイコン、振動、触覚フィードバック、光等）も準備及び配信する。
【００６３】
１つ以上のアプリケーション３２４は、１つ以上のプロセッサ３０４によって実行されるように構成されるプログラム及び／又はモジュールを含む。例えば、デジタルアシスタントシステムがスタンドアロンユーザ機器上に実装される場合には、１つ以上のアプリケーション３２４は、ゲーム、カレンダーアプリケーション、ナビゲーションアプリケーション、又は電子メールアプリケーション等の、ユーザアプリケーションを任意選択的に含む。デジタルアシスタントシステム３００がサーバファーム上に実装される場合には、１つ以上のアプリケーション３２４は、資源管理アプリケーション、診断アプリケーション、又はスケジューリングアプリケーションを任意選択的に含む。
【００６４】
メモリ３０２はまた、デジタルアシスタントモジュール３２６（又はデジタルアシスタントのサーバ部分）も記憶する。いくつかの実施形態では、デジタルアシスタントモジュール３２６は、以下のサブモジュール、又はそれらのサブセット若しくはスーパーセットを含む。即ち、入力／出力処理モジュール３２８、発語テキスト化（ｓｐｅｅｃｈ−ｔｏ−ｔｅｘｔ、ＳＴＴ）処理モジュール３３０、自然言語処理モジュール３３２、ダイアログフロー処理モジュール３４０、タスクフロー処理モジュール３４２、サービス処理モジュール３４６、及び自動応答モジュール３５０。これらのモジュールの各々は、デジタルアシスタント３２６の以下のデータ及びモデルのうちの１つ以上、又はそれらのサブセット若しくはスーパーセットへのアクセスを有する。オントロジ３３４、語彙索引３３６、ユーザデータ３３８、タスクフローモデル３４４、サービスモデル３４８、及びユーザログ３６０。
【００６５】
いくつかの実施形態では、デジタルアシスタントモジュール３２６内に実装された処理モジュール、データ及びモデルを用いて、デジタルアシスタントシステム３００は以下のもののうちの少なくともいくつかを実行する。ユーザから受け取った自然言語入力内に表されているユーザの意図を特定すること、ユーザの意図を完全に推測するために必要な情報を（例えば、単語、名前、意図等の曖昧さを除去することによって）積極的に引き出し、取得すること、推測された意図を実現するためのタスクフローを決定すること、及び推測された意図を実現するためのタスクフローを実行すること。いくつかの実施形態では、デジタルアシスタントはまた、種々の理由で満足な応答がユーザに提供されないか、又は提供できなかった場合に、適切な対応を取る。
【００６６】
いくつかの実施形態では、図３Ｂに示されるように、Ｉ／Ｏ処理モジュール３２８は、ユーザ入力（例えば、発語入力）を取得するため、及びユーザ入力への応答を（例えば、発語出力として）提供するために、図３ＡにおけるＩ／Ｏ機器３１６を通じてユーザと対話するか、又は、図３Ａにおけるネットワーク通信インタフェース３０８を通じてユーザ機器（例えば、図１におけるユーザ機器１０４）と対話する。Ｉ／Ｏ処理モジュール３２８は、ユーザ入力とともに、又はその受け取りの直後に、ユーザ入力に関連付けられるコンテクスト情報をユーザ機器から任意選択的に取得する。コンテクスト情報は、ユーザ入力に関連するユーザ固有のデータ、語彙、及び／又は設定を含む。いくつかの実施形態では、コンテクスト情報はまた、ユーザ要求が受け取られる時点における機器（例えば、図１におけるユーザ機器１０４）のソフトウェア及びハードウェア状態、並びに／又はユーザ要求が受け取られた時点におけるユーザの周囲環境に関する情報も含む。いくつかの実施形態では、Ｉ／Ｏ処理モジュール３２８はまた、ユーザ要求について、ユーザに補足質問を送り、ユーザから回答を受け取る。ユーザ要求がＩ／Ｏ処理モジュール３２８によって受け取られ、ユーザ要求が発語入力を包含する場合には、Ｉ／Ｏ処理モジュール３２８は発語入力を発語テキスト化変換のためにＳＴＴ処理モジュール３３０へ転送する。
【００６７】
ＳＴＴ処理モジュール３３０は、Ｉ／Ｏ処理モジュール３２８を通じて発語入力（例えば、音声記録内にキャプチャされたユーザ発言）を受信する。いくつかの実施形態では、ＳＴＴ処理モジュール３３０は、発語入力を、音素の列、並びに最終的には、１つ以上の言語で書かれた単語若しくはトークンの列として認識するために、種々の音響モデル及び言語モデルを用いる。発語テキスト化処理モジュール３３０は、隠れマルコフモデル、動的タイムワーピング（ＤＴＷ）ベースの発語認識、並びにその他の統計的及び／又は解析的技法等の、任意の好適な発語認識技法、音響モデル、及び言語モデルを用いて実装することができる。いくつかの実施形態では、発語テキスト化処理は、サードパーティサービスによって、又はユーザの機器上で少なくとも部分的に実行することができる。ＳＴＴ処理モジュール３３０が発語テキスト化処理（例えば、単語又はトークンの列）の結果を取得すると、ＳＴＴ処理モジュール３３０はその結果を意図の推測のために自然言語処理モジュール３３２へ渡す。
【００６８】
発語テキスト化処理についての更なる詳細が、２０１１年９月２０日に出願された、「Ｃｏｎｓｏｌｉｄａｔｉｎｇ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ  Ｒｅｓｕｌｔｓ」についての米国実用特許出願第１３／２３６，９４２号に記載されている。同出願の開示全体は本明細書において参照により組み込まれている。
【００６９】
デジタルアシスタントの自然言語処理モジュール３３２（時により本明細書において「自然言語プロセッサ」とも呼ばれる）は、ＳＴＴ処理モジュール３３０によって生成された単語又はトークンの列（又はトークン列）を獲得し、トークン列を、デジタルアシスタントによって認識される１つ以上の実施可能な意図に関連付けようと試みる。「実施可能な意図」は、デジタルアシスタントによって実行することができ、タスクフローモデル３４４内に実装される、関連付けられたタスクフローを有するタスクを表す。関連付けられたタスクフローは、タスクを実行するためにデジタルアシスタントが取る一連のプログラムされたアクション及びステップである。デジタルアシスタントの能力の範囲は、タスクフローモデル３４４内に実装され、記憶されているタスクフローの数及び種類に依存し、又は、換言すれば、デジタルアシスタントが認識する実施可能な意図の数及び種類に依存する。ただし、デジタルアシスタントの有効性はまた、自然言語で表現されたユーザ要求から正確な実施可能な意図（単数又は複数）を推測するデジタルアシスタントの能力にも依存する。
【００７０】
いくつかの実施形態では、ＳＴＴ処理モジュール３３０から取得されるトークン列に加えて、自然言語プロセッサ３３２はまた、ユーザ要求に関連付けられるコンテクスト情報も（例えば、Ｉ／Ｏ処理モジュール３２８から）受信する。自然言語プロセッサ３３２は、ＳＴＴ処理モジュール３３０から受信したトークン列内に包含されている情報を明らかにし、補完し、及び／又は更に明確にするために、コンテクスト情報を任意選択的に用いる。コンテクスト情報は、例えば、ユーザ設定、ユーザ機器のハードウェア及び／又はソフトウェア状態、ユーザ要求の前、最中、若しくは直後に集められたセンサ情報、デジタルアシスタントとユーザとの間の以前の対話（例えば、ダイアログ）、並びに同様のものを含む。
【００７１】
いくつかの実施形態では、自然言語処理はオントロジ３３４に基づく。オントロジ３３４は、多数のノードを包含する階層構造であり、各ノードは、「実施可能な意図群」又はその他の「属性群」のうちの１つ以上に関連する「実施可能な意図」又は「属性」のいずれかを表す。上述したように、「実施可能な意図」は、デジタルアシスタントが実行する能力を有するタスクを表す（すなわち、それは「実施可能」であるか、又は作用を及ぼされ得る）。「属性」は、実施可能な意図、又は別の属性の下位態様に関連付けられるパラメータを表す。オントロジ３３４内の実施可能な意図ノードと属性ノードとの間のリンクは、属性ノードによって表されるパラメータが、実施可能な意図ノードによって表されるタスクにどのように関連するのかを定義する。
【００７２】
いくつかの実施形態では、オントロジ３３４は実施可能な意図ノード及び属性ノードで構成される。オントロジ３３４内において、それぞれの実施可能な意図ノードは１つ以上の属性ノードに直接又は１つ以上の中間属性ノードを介してリンクされる。同様に、それぞれの属性ノードは、１つ以上の実施可能な意図ノードに直接又は１つ以上の中間属性ノードを介してリンクされる。例えば、図３Ｃに示されるように、オントロジ３３４は「レストラン予約」ノード−実施可能な意図ノード−を任意選択的に含む。属性ノード「レストラン」、「日付／時間」（予約用）及び「参加人数」が、実施可能な意図ノード（例えば、「レストラン予約」ノード）にそれぞれ直接リンクされる。更に、属性ノード「料理」、「価格帯」、「電話番号」及び「ロケーション」は、属性ノード「レストラン」の下位ノードであり、中間属性ノード「レストラン」を介して「レストラン予約」ノードにそれぞれリンクされる。別の例として、図３Ｃに示されるように、オントロジ３３４は「リマインダ設定」ノード（例えば、別の実施可能な意図ノード）も含んでよい。属性ノード「日付／時間」（リマインダ設定用）及び「テーマ」（リマインダ用）は、「リマインダ設定」ノードにそれぞれリンクされる。属性ノード「日付／時間」は、レストラン予約をするタスク及びリマインダを設定するタスクの両方に関連しているため、属性ノード「日付／時間」はオントロジ３３４内において「レストラン予約」ノード及び「リマインダ設定」ノードの両方にリンクされる。
【００７３】
実施可能な意図ノードは、そのリンクされた属性ノードとともに、時として「ドメイン」として説明される。本説明では、各ドメインは、それぞれの実施可能な意図に関連付けられ、特定の実施可能な意図に関連付けられたノードのグループ（及びノード間の関係）を指す。例えば、図３Ｃに示されるオントロジ３３４には、オントロジ３３４内のレストラン予約ドメイン３６２の例及びリマインダドメイン３６４の例が含まれている。レストラン予約ドメインは、実施可能な意図ノード「レストラン予約」、属性ノード「レストラン」、「日付／時間」、及び「参加人数」、並びに下位属性ノード「料理」、「価格帯」、「電話番号」及び「ロケーション」を含む。リマインダドメイン３６４には、実施可能な意図ノード「リマインダ設定」、及び属性ノード「テーマ」及び「日付／時間」が含まれている。いくつかの実施形態では、オントロジ３３４は多くのドメインで構成される。各ドメインは、１つ以上の他のドメインと、１つ以上の属性ノードを任意選択的に共有する。例えば、「日付／時間」属性ノードは、レストラン予約ドメイン３６２及びリマインダドメイン３６４に加えて、多くの異なるドメイン（例えば、スケジューリングドメイン、旅行予約ドメイン、映画チケットドメインなど）に任意選択的に関連付けられる。
【００７４】
図３Ｃはオントロジ３３４内に２つの例示的なドメインを示しているが、他のドメイン（又は実施可能な意図）としては、例えば、「通話を開始する」、「道順を探す」、「会議をスケジュールする」、「メッセージを送信する」、及び「質問の回答を提供する」などが挙げられる。「メッセージを送信する」のドメインは、「メッセージを送信する」の実施可能な意図ノードに関連付けられ、「受信者（単数又は複数）」、「メッセージタイプ」、及び「メッセージ本文」などの属性ノードを任意選択的に更に含む。属性ノード「受信者」は、例えば、「受信者名」及び「メッセージアドレス」などの下位属性ノードによって任意選択的に更に定義される。
【００７５】
いくつかの実施形態では、オントロジ３３４は、デジタルアシスタントが理解し、作用する能力を有する全てのドメイン（及び、したがって実施可能な意図）を含む。いくつかの実施形態では、オントロジ３３４は、ドメイン若しくはノード全体を追加又は除去すること、又はオントロジ３３４内のノード間の関係を変更することなどによって、任意選択的に変更される。
【００７６】
いくつかの実施形態では、複数の関連する実施可能な意図に関連付けられるノードは、オントロジ３３４内の「上位ドメイン」の下に任意選択的にクラスタ化される。例えば、「旅行」上位ドメインは、旅行に関連する属性ノード及び実施可能な意図ノードのクラスタを任意選択的に含む。旅行に関連する実施可能な意図ノードは、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、「見所を探す」などを任意選択的に含む。同じ上位ドメイン（例えば、「旅行」上位ドメイン）の下の実施可能な意図ノードは、時により、多くの属性ノードを共有する。例えば、「航空券予約」、「ホテル予約」、「カーレンタル」、「道順を知る」、「見所を探す」についての実施可能な意図ノードは、属性ノード「出発場所」、「目的地」、「出発日／時間」、「到着日／時間」、及び「参加人数」のうちの１つ以上を時により共有する。
【００７７】
いくつかの実施形態では、オントロジ３３４内の各ノードは、そのノードによって表される属性又は実施可能な意図に関連する単語及び／又はフレーズのセットに関連付けられる。各ノードに関連付けられる単語及び／又はフレーズのそれぞれのセットは、そのノードに関連付けられるいわゆる「語彙」である。各ノードに関連付けられる単語及び／又はフレーズのそれぞれのセットは、ノードによって表される属性又は実施可能な意図に関連して語彙索引３３６内に記憶することができる。例えば、図３Ｂに戻ると、「レストラン」の属性についてのノードに関連付けられる語彙は、「食べ物」、「飲み物」、「料理」、「空腹」、「食べる」、「ピザ」、「ファーストフード」、「食事」などの単語を任意選択的に含む。別の例として、「通話を開始する（initiate a phone call）」という実施可能な意図のノードに関連付けられる語彙は、「電話する（call）」、「電話（phone）」、「ダイアルする（dial）」、「この番号に電話する（call this number）」、「〜に電話をかける（make a call to）」などの単語及びフレーズを任意選択的に含む。語彙索引３３６は異なる言語の単語及びフレーズを任意選択的に含む。
【００７８】
自然言語プロセッサ３３２は、ＳＴＴ処理モジュール３３０からトークン列（例えば、テキスト文字列）を受信し、どのノードがトークン列内の単語によって暗示されているのかを判定する。いくつかの実施形態では、トークン列内の単語又はフレーズが（語彙索引３３６を介して）オントロジ３３４内の１つ以上のノードに関連付けられることが分かれば、その単語又はフレーズはそれらのノードを「トリガ」又は「アクティブにする」ことになる。アクティブにされたノードの量及び／又は相対的重要度に基づき、自然言語プロセッサ３３２は、実施可能な意図のうちの１つを、ユーザがデジタルアシスタントに実行させようと意図したタスクとして選択することになる。いくつかの実施形態では、最も多く「トリガされた」ノードを有するドメインが選択される。いくつかの実施形態では、最も高い信頼値（例えば、その種々のトリガされたノードの相対的重要度に基づく）を有するドメインが選択される。いくつかの実施形態では、ドメインは、トリガされたノードの数及び重要度の組み合わせに基づき選択される。いくつかの実施形態では、ノードを選択する際には、デジタルアシスタントはユーザからの同様の要求を以前に正確に解釈したかどうか等の追加の因子も考慮される。
【００７９】
いくつかの実施形態では、デジタルアシスタントはまた、特定のエンティティの名前も語彙索引３３６内に記憶する。そのため、これらの名前の１つがユーザ要求内に検出されると、自然言語プロセッサ３３２は、その名前はオントロジ内の属性又は下位属性の特定のインスタンスを指していると認識できることになる。いくつかの実施形態では、特定のエンティティの名前は、企業、レストラン、人、映画、及び同様のものの名前である。いくつかの実施形態では、デジタルアシスタントは、ユーザのアドレス帳、映画データベース、ミュージシャンデータベース、及び／又はレストランデータベース等の、他のデータ源から特定のエンティティ名を検索し、これらを特定する。いくつかの実施形態では、自然言語プロセッサ３３２が、トークン列内の単語は特定のエンティティの名前（例えば、ユーザのアドレス帳内の名前）であると特定すると、その単語は、ユーザ要求のためにオントロジ内の実施可能な意図を選択する際に追加的な重要性を与えられる。
【００８０】
例えば、ユーザ要求内に単語「Ｍｒ．Ｓａｎｔｏ」が認識され、語彙索引３３６内にユーザのアドレス帳内の連絡先の１つとして姓「Ｓａｎｔｏ」が見つかった場合、このとき、ユーザ要求は、「メッセージを送信する」又は「通話を開始する」のドメインに対応する可能性が高い。別の例としては、単語「ＡＢＣ  Ｃａｆｅ」がユーザ要求内に見つかり、語彙索引３３６内にユーザの市内の特定のレストランの名前として用語「ＡＢＣ  Ｃａｆｅ」が見つかった場合、このとき、ユーザ要求は「レストラン予約」又は「レストランを探す」のドメインに対応する可能性が高い。
【００８１】
ユーザデータ３３８は、ユーザ固有の語彙、ユーザ設定、ユーザアドレス若しくはホームロケーション、ユーザの既定言語及び第２言語、ユーザのアドレス帳、並びに各ユーザに関するその他の短期的又は長期的情報等の、ユーザ固有の情報を含む。いくつかの実施形態では、自然言語プロセッサ３３２は、ユーザ入力内に包含されている情報を補完してユーザ意図を更に明確にするために、ユーザ固有の情報を用いる。例えば、ユーザ要求「私の誕生日パーティーに私の友人を招待してほしい」に対して、自然言語プロセッサ３３２は、誰が「友人」であり、いつ及びどこで「誕生日パーティー」が催されるのであろうかを判定するために、こうした情報をユーザの要求内で明示的に提供するようにユーザに要請する代わりに、ユーザデータ３３８にアクセスすることができる。
【００８２】
トークン文字列に基づくオントロジ検索のその他の詳細が、２００８年１２月２２日出願の「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓｅａｒｃｈｉｎｇ  Ｕｓｉｎｇ  ａｎ  Ａｃｔｉｖｅ  Ｏｎｔｏｌｏｇｙ」に対する米国実用特許出願第１２／３４１，７４３号に記載されている。同出願の開示全体は本明細書において参照により組み込まれている。
【００８３】
いくつかの実施形態では、自然言語プロセッサ３３２がユーザ要求に基づき、実施可能な意図（又はドメイン）を特定すると、自然言語プロセッサ３３２は、特定された実施可能な意図を表すように、構造化されたクエリを生成する。いくつかの実施形態では、構造化されたクエリは、実施可能な意図のためのドメイン内の１つ以上のノードのためのパラメータを含み、パラメータの少なくとも一部には、ユーザ要求内で指定される特定の情報及び要求事項が入力される。例えば、ユーザは「私のために７時に寿司屋で夕食の予約を取ってください」とＤＡに述べる。この場合には、自然言語プロセッサ３３２は、ユーザ入力に基づき、実施可能な意図を「レストラン予約」であると正確に特定することができてもよい。オントロジによれば、「レストラン予約」ドメインのための構造化されたクエリは、｛料理｝、｛時間｝、｛日付｝、｛参加人数｝、及び同様のもの等のパラメータを任意選択的に含む。いくつかの実施形態では、ユーザの発言内に包含されている情報に基づき、自然言語プロセッサ３３２はレストラン予約ドメインのための部分的な構造化されたクエリを生成する。ここでは、部分的な構造化されたクエリは、パラメータ｛料理＝寿司｝及び｛時間＝午後７時｝を含む。しかし、本例では、ユーザの発言は、ドメインに関連付けられる構造化されたクエリを完成するために十分な情報を包含していない。したがって、｛参加人数｝及び｛日付｝等のその他の必要パラメータは、現在利用可能な情報に基づいては、構造化されたクエリ内に指定されない。いくつかの実施形態では、自然言語プロセッサ３３２は、構造化されたクエリのいくつかのパラメータに、受信したコンテクスト情報を入力する。例えば、いくつかの実施形態では、ユーザが「私の近くの」寿司レストランを要求した場合には、自然言語プロセッサ３３２は、構造化されたクエリ内の｛ロケーション｝パラメータにユーザ機器１０４からのＧＰＳ座標を入力する。
【００８４】
いくつかの実施形態では、自然言語プロセッサ３３２は、（あらゆる入力済みのパラメータを含む）構造化されたクエリをタスクフロー処理モジュール３４２（時により本明細書において「タスクフロープロセッサ」と呼ばれる）に渡す。タスクフロープロセッサ３４２は、自然言語プロセッサ３３２から、構造化されたクエリを受信し、必要ならば、構造化されたクエリを完成させ、ユーザの最終的な要求を「完了する」ために必要とされるアクションを実行するように構成される。いくつかの実施形態では、これらのタスクを完成させるために必要な種々の手順はタスクフローモデル３４４内で提供される。いくつかの実施形態では、タスクフローモデル３４４は、ユーザから追加情報を取得するための手順、及び実施可能な意図に関連付けられるアクションを実行するためのタスクフローを含む。
【００８５】
上述したように、構造化されたクエリを完成させるために、タスクフロープロセッサ３４２は、追加情報を取得し、及び／又は潜在的に曖昧な発言の曖昧さを除去するために、ユーザとの追加のダイアログを開始することが時により必要になる。このような対話が必要となる場合には、タスクフロープロセッサ３４２は、ユーザとの対話に携わるためにダイアログフロー処理モジュール３４０（時により本明細書において「ダイアログプロセッサ」と呼ばれる）を呼び出す。いくつかの実施形態では、ダイアログプロセッサ３４０は、どのように（及び／又はいつ）ユーザに追加情報を求めるべきかを決定し、ユーザ応答を受け取り、これらを処理する。Ｉ／Ｏ処理モジュール３２８を通じてユーザに質問が提供され、ユーザから回答が受け取られる。いくつかの実施形態では、ダイアログプロセッサ３４０はオーディオ及び／又は視覚出力を介してユーザにダイアログ出力を提示し、口頭の又は物理的な（例えば、クリック）応答を介してユーザから入力を受け取る。上述の例を続けると、タスクフロープロセッサ３４２が、ドメイン「レストラン予約」に関連付けられる構造化されたクエリについての「参加者人数」及び「日付」情報を決定するためにダイアログプロセッサ３４０を呼び出すと、ダイアログプロセッサ３４０は、「何人分ですか？」及び「どの日にしますか？」等の質問を、ユーザに渡すために生成する。ユーザから回答を受け取ると、ダイアログプロセッサ３４０は、次に、構造化されたクエリに欠けている情報を追加するか、又は構造化されたクエリから欠けている情報を完成させるために、その情報をタスクフロープロセッサ３４２に渡すことができる。
【００８６】
タスクフロープロセッサ３４２が、実施可能な意図のための構造化されたクエリを完成すると、タスクフロープロセッサ３４２は、実施可能な意図に関連付けられる最終的なタスクの実行に進む。それに応じて、タスクフロープロセッサ３４２は、構造化されたクエリ内に包含されている具体的なパラメータに応じて、タスクフローモデル内のステップ及び命令を実行する。例えば、「レストラン予約」の実施可能な意図のためのタスクフローモデルは、レストランと連絡を取り、特定の時間に特定の参加人数のための予約を実際に希望するためのステップ及び命令を任意選択的に含む。例えば、｛レストラン予約，レストラン＝ＡＢＣ  Ｃａｆｅ，日付＝３／１２／２０１２，時間＝午後７時，参加人数＝５｝などの、構造化されたクエリを用いて、タスクフロープロセッサ３４２は以下のようなステップを任意選択的に実行する。（１）ＡＢＣ  Ｃａｆｅのサーバ又はＯＰＥＮＴＡＢＬＥ（登録商標）などのレストラン予約システムにログオンする、（２）日付、時間及び参加人数に関する情報をウェブサイト上のフォームに入力する、（３）フォームを送信する、及び（４）予約に関するカレンダー項目をユーザのカレンダー内に作成する。
【００８７】
いくつかの実施形態では、タスクフロープロセッサ３４２は、ユーザ入力内で要求されたタスクを完了するため、又はユーザ入力内で要求された情報の回答を提供するために、サービス処理モジュール３４６（時により本明細書において「サービスプロセッサ」と呼ばれる）の補助を用いる。例えば、サービスプロセッサ３４６は、電話をかけるため、カレンダー項目を設定するため、地図検索を呼び出すため、ユーザ機器上にインストールされているその他のユーザアプリケーションを呼び出すか若しくはそれと対話するため、並びにサードパーティサービス（例えばレストラン予約ポータル、ソーシャルネットワーキングウェブサイト、バンキングポータル等）を呼び出すか若しくはそれと対話するために、タスクフロープロセッサ３４２の代わりに動作することができる。いくつかの実施形態では、各サービスによって必要とされるプロトコル及びアプリケーションプログラミングインタフェース（application programming interface、ＡＰＩ）は、サービスモデル群３４８の中のそれぞれのサービスモデルによって指定され得る。サービスプロセッサ３４６は、サービスのための適当なサービスモデルにアクセスし、サービスモデルに係るサービスによって必要とされるプロトコル及びＡＰＩに従ってサービスの要求を生成する。
【００８８】
例えば、レストランがオンライン予約サービスを可能にしている場合には、レストランは、予約を行うために必要なパラメータ、及び必要なパラメータの値をオンライン予約サービスへ伝達するためのＡＰＩを指定するサービスモデルを提出することができる。タスクフロープロセッサ３４２によって要求されると、サービスプロセッサ３４６は、サービスモデルに記憶されているウェブアドレスを用いて、オンライン予約サービスとのネットワーク接続を確立し、必要な予約のパラメータ（例えば、時間、日付、参加人数）を、オンライン予約サービスのＡＰＩに従う形式でオンライン予約インタフェースへ送信することができる。
【００８９】
いくつかの実施形態では、ユーザの意図を推測して明確にし、ユーザ意図を更に明らかにして絞り込むための情報を取得し、ユーザの意図を達成するべく応答（例えば、ユーザへの出力又はタスクの完了）を最終的に生成するために、自然言語プロセッサ３３２、ダイアログプロセッサ３４０、及びタスクフロープロセッサ３４２は集合的かつ反復的に用いられる。
【００９０】
いくつかの実施形態では、ユーザの要求を達成するために必要なタスクが全て実行された後に、デジタルアシスタント３２６は確認応答を策定し、Ｉ／Ｏ処理モジュール３２８を通じてユーザへ応答を送信する。ユーザ要求が情報の回答を求めている場合には、確認応答は、要求されている情報をユーザに提示する。いくつかの実施形態では、デジタルアシスタントはまた、デジタルアシスタント３２６によって作成された応答にユーザは満足であるかどうかを指示するようにユーザに要求する。
【００９１】
自然言語プロセッサ３３２は、ユーザ機器１０４（図１）のユーザからの発語入力に対応するＳＴＴ処理モジュール３３０からのトークン列を受信する。いくつかの実施形態では、自然言語プロセッサ３３２は、発語入力は、１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令を含むと推測する。命令が、（１）１人以上の指定された送信者、及び（２）指定されたアクションを少なくとも含む場合には、命令は、以下において図４に関してより詳細に説明される、オントロジ３３４の自動応答ドメイン４００に関連付けられるタスクフローをトリガする。いくつかの他の実施形態では、自然言語プロセッサ３３２は、自動応答ドメイン４００とは別のそれぞれのドメインがトリガされたと推測し、デジタルアシスタント３２６は、それぞれのドメイン（例えば、上述されたレストラン予約ドメイン）に関連付けられるタスクフローモデルに進む。
【００９２】
いくつかの実施形態では、デジタルアシスタント３２６は自動応答モジュール３５０を含む。いくつかの実施形態では、自動応答モジュール３５０はタスクフロープロセッサ３４２の構成要素である。いくつかの他の実施形態では、自動応答モジュール３５０はタスクフロープロセッサ３４２から独立している。自動応答モジュール３５０は、自動応答ドメイン４００をトリガするユーザ要求を達成するためのステップを実行するように構成される。換言すれば、自動応答モジュール３５０は、自動応答ドメイン４００に関連するタスクフローを実行するように構成される。
【００９３】
自然言語プロセッサ３３２が、自動応答ドメイン４００がトリガされたと判定した後に、自動応答モジュール３５０は自然言語プロセッサ３３２から命令を取得し、１人以上の指定された送信者のうちの１人からのその後の着信通信の受信に応じて、指定されたアクションを実行するか、又は指定されたアクションを実行させる。いくつかの実施形態では、自動応答モジュール３５０は、命令モジュール３５２、判定モジュール３５４、作成モジュール３５６、及び実行モジュール３５８を含む。
【００９４】
命令モジュール３５２は、発語入力内に含まれる命令を、着信通信に応答するために記憶するように構成される。記憶される命令は、指定されたアクション及び１人以上の指定された送信者を少なくとも含む。いくつかの実施形態では、記憶される命令は、１つ以上の指定された通信の種類、命令のための失効期間、及び／又は命令の実行のための先行条件を任意選択的に含む。いくつかの実施形態では、命令モジュール３５２は、ユーザから受け取った命令を記憶するためのメモリを含む。いくつかの他の実施形態では、命令モジュール３５２は命令を、命令モジュール３５２から独立したメモリ内に記憶する。いくつかの実施形態では、発語入力（即ち、命令）内に含まれる場合には、命令モジュール３５２はまた、命令のための失効期間（若しくは継続期間）（例えば、次の２日以内、若しくは今日の午後５：００まで）、並びに指定されたアクションの実行に対する先行条件を記憶するように構成される。命令モジュール３５２はまた、指定されたアクションの実行又は失効期間の経過時に命令を自動的に削除するように構成される。いくつかの実施形態では、命令は、人の介入又は命令なしに、実行又は失効期間の経過時にすぐに削除される。
【００９５】
いくつかの実施形態では、ユーザ機器１０４は、通信ネットワーク（単数又は複数）１１０を介して、ユーザ機器１０４のユーザと異なるユーザに関連付けられる他の機器１３０のうちの１つからの着信通信を受信する。いくつかの実施形態では、判定モジュール３５４は、その後の着信通信の送信者（例えば、電話呼、ＳＭＳ、又は電子メールの送信者）は、命令内において指示された１人以上の指定された送信者のうちの１人であるかどうかを確認するように構成される。一実施形態では、判定モジュール３５４は、ユーザのアドレス帳に少なくとも一部基づいて、その後の着信通信の送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認する。例えば、判定モジュール３５４は、着信通信に対応する電話番号を、指定されたユーザに対応するユーザのアドレス内の電話番号と比較する。別の実施形態では、判定モジュール３５４は、その後の着信通信の送信者に関連付けられる発信者識別情報に少なくとも一部基づいて、その後の着信通信の送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認する。別の実施形態では、判定モジュール３５４は、その後の着信通信（例えば、ＶＯＩＰ通話又はその他のインターネットベースの通信）に関連付けられる電子メールアドレス（又はその他の一意な識別子）を特定し、特定された電子メールアドレスに少なくとも一部基づいて、その後の着信通信の送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認する。
【００９６】
更なる実施形態では、判定モジュール３５４は、その後の着信通信の後処理に少なくとも一部基づいて、その後の着信通信の送信者は１人以上の指定された送信者のうちの１人であるかどうかを確認する。例えば、判定モジュール３５４は、「こんにちは、Ｊｏｈｎ  Ｗｈｉｔｅです。折り返し私に電話をください。」などの音声メール又は音声メッセージ内に残された名前、電話番号、電子メールアドレス、又はその他の識別情報に基づいて、その後の着信通信の送信者の識別を判定又は推測する。別の例では、判定モジュール３５４は、電子メールの署名ブロック内の名前に基づいて、その後の着信通信の送信者の識別を判定する。別の例では、判定モジュール３５４は、「こんにちは、Ｊａｃｋ  Ｗｈｉｔｅです。今夜の演奏会のための所在地を折り返し私にテキストで送ってください。」などのＳＭＳ内に残された名前、電話番号、電子メールアドレス、又はその他の識別情報に基づいて、その後の着信通信の送信者の識別を判定する。
【００９７】
いくつかの実施形態では、判定モジュール３５４はまた、その後の着信通信は、命令によって指定された通信の種類のものであるかどうかを判定するように構成される。例えば、ユーザは「もし母がテキストを送ってきたら、私は帰宅中だと折り返し彼女にテキストを送ってほしい。」とＤＡに述べる。本例では、指定されたアクション（例えば、母にテキストを送る）は、テキストメッセージ又はＳＭＳが母から受信された時にのみ実行されるべきことになる。別の例では、ユーザは「もし私の妻から電話があったら、私はジムにいて、すぐに帰宅する予定だと彼女に知らせてほしい。」とＤＡに述べる。本例では、指定されたアクション（例えば、ユーザはジムにいて、すぐに帰宅する予定だとユーザの妻に知らせる）は、電話呼がユーザの妻から受信された時にのみ実行されるべきことになる。
【００９８】
いくつかの実施形態では、命令が失効期間を指示する場合には、判定モジュール３５４は、その後の着信通信は失効期間以内に受信されたかどうかを判定するように更に構成される。いくつかの実施形態では、命令が、指定されたアクションの実行に対する先行条件を指示する場合には、判定モジュール３５４は、先行条件は、その後の着信通信を受信するより先に、又はそれと同時に満足されているかどうかを判定するように更に構成される。
【００９９】
作成モジュール３５６は、発語入力内に含まれる命令に基づいてその後の着信通信への応答を作成するように構成される。いくつかの実施形態では、作成モジュール３５６は、応答を作成する際に、コンテクスト情報（例えば、ユーザに関連付けられるロケーション、過去のパターン若しくは行動、又はカレンダー）を利用する。例えば、ユーザ機器１０４のユーザが、「もし私の妻から私に連絡があったら、‘私は帰宅中だ’と折り返し彼女にテキストを送ってほしい」とＤＡに頼むと仮定する。本例では、（例えば、上述された手順のうちの１つに基づいて）その後の着信通信はユーザの妻から受信されたと判定した後に、デジタルアシスタントは、命令、及びユーザに関連付けられるロケーション情報に少なくとも一部基づいて、ユーザの妻へのテキストメッセージを作成する。例えば、作成モジュール３５６によって作成されるテキストメッセージは、「やあ、ハニー。僕は帰宅中だ。交通の状況では１５分ぐらいで着くはずだ」と述べる。本例では、１５分という期間は、デジタルアシスタントによって、ユーザの現在のロケーション、ユーザの自宅のロケーション、及び／又は現在の交通条件に基づいて推定される。
【０１００】
いくつかの実施形態では、実行モジュール３５８は、判定モジュール３５４が、その後の着信通信の送信者は１人以上の指定された送信者のうちの１人であると判定した後に、命令によって指定されたアクションを実行するように構成される。いくつかの他の実施形態では、実行モジュール３５８は、判定モジュール３５４が、その後の着信通信は１つ以上の指定された通信の種類のうちの１つであると判定した後に、命令によって指定されたアクションを実行させるように構成される。例えば、指定されたアクションは、音声メッセージを送信者へ送信すること、ＳＭＳ若しくはテキストメッセージを送信者へ送信すること、ＭＭＳを送信者へ送信すること、インスタントメッセージを送信者へ送信すること、電子メールを送信者へ送信すること、いくつかの他の形態の電子若しくは非電子通信を送信者へ送信すること、イベント若しくはカレンダー招待状を送信者へ送信すること、メディアコンテンツ（例えば、オーディオファイル、ビデオクリップ、写真、ＵＲＬ、若しくは同様のもの）を送信若しくは共有すること、１つ以上のカレンダー若しくは約束項目を送信者と共有すること、又は１つ以上の他のカスタム属性（例えば、ユーザによって定義された情報若しくはメディアコンテンツの他の項目）を送信者と共有することである。いくつかの実施形態では、実行モジュールは、デフォルトで、その後の着信通信と同じ通信手段を用いてその後の着信通信に応答するように構成される。
【０１０１】
デジタルアシスタントに関する更なる詳細が、２０１０年１月１８日出願の「Ｉｎｔｅｌｌｉｇｅｎｔ  Ａｕｔｏｍａｔｅｄ  Ａｓｓｉｓｔａｎｔ」と題された米国実用特許出願第１２／９８７，９８２号、及び同様に、２０１１年６月３日出願の「Ｇｅｎｅｒａｔｉｎｇ  ａｎｄ  Ｐｒｏｃｅｓｓｉｎｇ  Ｄａｔａ  Ｉｔｅｍｓ  Ｔｈａｔ  Ｒｅｐｒｅｓｅｎｔ  Ｔａｓｋｓ  ｔｏ  Ｐｅｒｆｏｒｍ」と題された米国実用特許出願第６１／４９３，２０１号に見いだすことができる。これらの出願の開示全体は本明細書において参照により組み込まれている。
【０１０２】
図４は、１人以上の指定された送信者のうちの１人からのその後の着信通信の受信に応じて、指定されたアクションを自動的に実行する実施可能な意図４０２（時により本明細書において「自動応答」の実施可能な意図とも呼ばれる）に関連付けられるオントロジ３３４内の自動応答ドメイン４００を示す。
【０１０３】
指定された送信者属性ノード４０４はその後の着信通信の送信者を指示する。いくつかの実施形態では、指定された送信者ノード４０４は、ユーザのアドレス帳内の名前、電話番号、電子メールアドレス、及び同様のものなどの、指定された送信者を特定する下位属性ノードを含む。指定されたアクションノード４０６は、指定された送信者からの着信通信が受信されると実行されるべきアクションを指示する。いくつかの実施形態では、指定されたアクションノード４０６は、自動応答内に含まれるべき詳細４１４（若しくは情報）、並びに実行されるべきアクションの種類４１６を特定する下位ノードを含む。
【０１０４】
いくつかの実施形態では、詳細下位ノード４１４は、自動応答内に含めるための、発語入力からのテキスト若しくは録音された語られた言葉、ユーザからのテキスト入力のデジタル化若しくはテキスト発語化バージョン、並びに／又はユーザ機器１０４（図１）の現在のロケーションを含む。いくつかの実施形態では、ユーザの要求が、自動応答メッセージを作成するために不十分な詳細又は命令を含む場合には、自動応答モジュール３５０（図３Ａ）は、ダイアログ処理モジュール３４０（図３Ａ）に、完全な自動応答メッセージを作成するために追加の詳細又は命令を引き出すためのユーザとのダイアログを開始させるように構成される。いくつかの他の実施形態では、ユーザの要求が、自動応答メッセージを作成するために不十分な詳細又は命令を含む場合には、自動応答モジュール３５０（図３Ａ）は、ダイアログ処理モジュール３５６（図３Ａ）に、自動応答メッセージを作成するために、命令内に含まれていないあらゆる非本質的な詳細を完成させるように構成される。例えば、作成モジュール３５６（図３Ａ）は、完全な自動応答メッセージを作成するために、ユーザのアドレス帳、ロケーション情報、パターン若しくは行動情報、ユーザログ、又はカレンダー項目などの、ユーザに関連付けられるコンテクスト情報を利用する。
【０１０５】
いくつかの実施形態では、アクションの種類下位ノード４１６は、音声メール若しくは音声メッセージ、ＳＭＳ若しくはテキストメッセージ、ＭＭＳ、電子メール、イベント招待状、メディアコンテンツ、１つ以上のカレンダー項目、又は１つ以上のカスタム属性を、指定された送信者へ／と、送信／共有することなどの、実行されるべきアクションの種類を指定する。いくつかの実施形態では、ユーザの要求は、ＤＡは指定された送信者へ情報を伝達するべきであると述べているが、通信手段を指定していない場合には、最も頻度が高いか、又はデフォルトかのどちらかの通信手段が応答メッセージのために用いられる。
【０１０６】
例えば、ユーザ機器１０４のユーザは「私の両親が私に連絡しようとしてきたら、私の新しいアパートの住所を彼らにテキストで送り、また、私から彼らに折り返し電話すると彼らに知らせてほしい。」とＤＡに述べる。この場合には、発語入力は、１人以上の指定された送信者（例えば、ユーザの両親のどちらか）、及び実行されるべき指定されたアクション（例えば、テキストメッセージを送信すること）を含むため、自然言語プロセッサ３３２（図３Ａ）は実施可能な意図を「自動応答」の実施可能な意図４０２として特定する。オントロジ３３４によれば、自動応答ドメイン４００のための構造化されたクエリは、｛指定された送信者４０４｝、｛詳細４１４｝、及び｛アクションの種類４１６｝などのパラメータを含む。例えば、｛自動応答、指定された送信者＝両親、詳細＝ユーザのアパートの住所及び「折り返し電話する」、アクションの種類＝ＳＭＳ又はテキストメッセージ｝などの、構造化されたクエリを用いて、タスクフロープロセッサ３４２（図３Ａ）又はその構成要素は以下のステップを実行する。即ち、（１）発語入力内に含まれる命令を記憶する、（２）その後の着信通信（例えば、テキストメッセージ若しくは電話呼）を受信する、（３）その後の着信通信の送信者は指定された送信者（例えば、ユーザの両親のどちらか）であるかどうかを判定する、（４）命令内において提供された詳細（若しくは情報）に従って応答テキストメッセージ（例えば、「私の住所は、１２３  Ｅｌｗｙｎｎ  Ｆｏｒｅｓｔ  Ｄｒｉｖｅ，Ｓｕｎｎｙｖａｌｅ，ＣＡ  ９４０８６です。手が空いたら折り返し電話します。」）を作成する、（５）テキストメッセージをユーザの両親の一方又は両方へ送らせる、並びに（６）テキストメッセージを送らせた後に命令を自動的に削除する。
【０１０７】
失効期間ノード４０８は、１人以上の指定された送信者からのその後の着信通信が受信されなければならない期間を指定する。例えば、ユーザ機器１０４のユーザは「もし次の３０分以内にＧａｒｙが私に連絡しようとしてきたら、今日私が会議に応じられる次の時間帯を彼に電子メールで送ってほしい。」とＤＡに述べる。この場合には、発語入力は、１人以上の指定された送信者（例えば、Ｇａｒｙ）、及び実行されるべき指定されたアクション（例えば、提案される会議時間を送信すること）を含むため、自然言語プロセッサ３３２（図３Ａ）は実施可能な意図を「自動応答」の実施可能な意図４０２として特定する。オントロジ３３４によれば、自動応答ドメイン４００のための構造化されたクエリは、｛指定された送信者４０４｝、｛詳細４１４｝、｛アクションの種類４１６｝、及び｛失効期間４０８｝などのパラメータを含む。例えば、｛自動応答、指定された送信者＝Ｇａｒｙ、詳細＝次に可能な会議時間、アクションの種類＝電子メール、失効期間＝３０分｝などの、構造化されたクエリを用いて、タスクフロープロセッサ３４２（図３Ａ）又はその構成要素は以下のステップを実行する。即ち、（１）発語入力内に含まれる命令を記憶する、（２）その後の着信通信（例えば、テキストメッセージ、電話呼、若しくは電子メール）を受信する、（３）その後の着信通信の送信者は指定された送信者（例えば、Ｇａｒｙ）であるかどうかを判定する、（４）その後の着信通信は失効期間以内に（例えば、命令を受け取ってから３０分以内に）受信されたかどうかを判定する、（５）命令及びユーザのカレンダー内において提供された詳細（若しくは情報）に従って応答電子メール（例えば、「やあ、Ｇａｒｙ。私のスケジュールによると、私が次に会ってもらえるのは今日の午後１時ＥＤＴです。」）を作成する、（６）電子メールをＧａｒｙへ送らせる、並びに（７）電子メールを送らせた後に命令を自動的に削除する。
【０１０８】
条件ノード４１０は、指定されたアクションを実行するより先に満足されなければならない条件を指定する。例えば、ユーザ機器１０４のユーザは「もしＳｕｚｉｅが私と連絡を取ろうとしてきたら、彼女の自宅の住所からＨａｌｆ  Ｍｏｏｎ  Ｂａｙへの行き方を彼女へ送信してほしい。ただし、それは、彼女が私に連絡してきた時にＨａｌｆ  Ｍｏｏｎ  Ｂａｙで７５°を超えていた場合だけです。」とＤＡに述べる。この場合には、発語入力は、１人以上の指定された送信者（例えば、Ｓｕｚｉｅ）、及び実行されるべき指定されたアクション（例えば、行き方を送信すること）を含むため、自然言語プロセッサ３３２（図３Ａ）は実施可能な意図を「自動応答」の実施可能な意図４０２として特定する。オントロジ３３４によれば、自動応答ドメイン４００のための構造化されたクエリは、｛指定された送信者４０４｝、｛指定されたアクション４０６｝、｛詳細４１４｝、及び｛先行条件４１０｝などのパラメータを含む。例えば、｛自動応答、指定された送信者＝Ｓｕｚｉｅ、指定されたアクション＝行き方を送信する、詳細＝Ｓｕｚｉｅの自宅住所からＨａｌｆ  Ｍｏｏｎ  Ｂａｙへの行き方、先行条件＝Ｓｕｚｉｅが連絡してきた時のＨａｌｆ  Ｍｏｏｎ  Ｂａｙの気温が７５°超｝などの、構造化されたクエリを用いて、タスクフロープロセッサ３４２（図３Ａ）又はその構成要素は以下のステップを実行する。即ち、（１）発語入力内に含まれる命令を記憶する、（２）その後の着信通信（例えば、テキストメッセージ、電話呼若しくは電子メール）を受信する、（３）その後の着信通信の送信者は指定された送信者（例えば、Ｓｕｚｉｅ）であるかどうかを判定する、（４）その後の着信通信の受信時に先行条件（例えば、Ｈａｌｆ  Ｍｏｏｎ  Ｂａｙの気温が７５°を超えている）は満足されているかどうかを判定する、（５）Ｓｕｚｉｅの自宅住所からＨａｌｆ  Ｍｏｏｎ  Ｂａｙへの行き方をＳｕｚｉｅへ（例えば、デフォルトか、若しくは最も頻度が高い通信手段を用いて）送信させる、並びに（６）行き方を送信させた後に命令を自動的に削除する。
【０１０９】
指定された着信通信の種類ノード４１２は、指定されたアクションを実行するためにその後の着信通信が受信されなければならない通信手段を指示する。いくつかの実施形態では、指定された着信通信の種類ノード４１２は、ＳＭＳ若しくはテキストメッセージ、電話呼、電子メール、ＶｏＩＰ、ビデオ通話、又は同様のものなどの通信手段を特定する下位ノードを含む。例えば、ユーザ機器１０４のユーザは「もしＶａｒｕｎが私にテキストを送ってきたら、私はあと１５分でオンラインになる予定だと彼に知らせてほしい。」とＤＡに述べる。この場合には、発語入力は、１人以上の指定された送信者（例えば、Ｖａｒｕｎ）、及び実行されるべき指定されたアクション（例えば、通知メッセージを送信すること）を含むため、自然言語プロセッサ３３２（図３Ａ）は実施可能な意図を「自動応答」の実施可能な意図４０２として特定する。オントロジ３３４によれば、自動応答ドメイン４００のための構造化されたクエリは、｛指定された送信者４０４｝、｛指定されたアクション４０６｝、｛詳細４１４｝、及び｛指定された着信通信の種類４１２｝などのパラメータを含む。例えば、｛自動応答、指定された送信者＝Ｖａｒｕｎ、指定されたアクション＝通知メッセージを送信する、詳細＝ユーザはあと１５分でオンラインになる予定、指定された着信通信の種類＝ＳＭＳ又はテキストメッセージ｝などの、構造化されたクエリを用いて、タスクフロープロセッサ３４２（図３Ａ）又はその構成要素は以下のステップを実行する。即ち、（１）発語入力内に含まれる命令を記憶する、（２）その後の着信通信（例えば、テキストメッセージ、電話呼若しくは電子メール）を受信する、（３）その後の着信通信の送信者は指定された送信者（例えば、Ｖａｒｕｎ）であるかどうかを判定する、（４）その後の着信通信は指定された着信通信の種類（例えば、ＳＭＳ若しくはテキストメッセージ）であるかどうかを判定する、（５）命令内において提供された詳細（若しくは情報）に従って応答メッセージ（例えば、「やあ、Ｖａｒｕｎ。私はあと１５分でオンラインになる予定です。」）を作成する、（６）通知メッセージをＤａｖｉｄへ（例えば、デフォルトか、若しくは最も頻度が高い通信手段を用いて）送信させる、並びに（７）通知メッセージを送信させた後に命令を自動的に削除する。
【０１１０】
図５は、いくつかの実施形態に係る、デジタルアシスタントを動作させる方法５００のフロー図を示す。いくつかの実施形態では、方法５００は、１つ以上のプロセッサと、メモリと、を含む電子機器（例えば、それぞれのＤＡクライアント１０２又はＤＡサーバ１０６、図１）において実行される。いくつかの実施形態では、方法５００は、図３Ａ〜図３Ｂに示されるデジタルアシスタント３２６において実行される。いくつかの実施形態では、方法５００は、電子機器の１つ以上のプロセッサによって実行されるメモリ（例えば、非一時的コンピュータ可読記憶媒体）内に記憶された命令のセットによって統御される。
【０１１１】
電子機器（例えば、ユーザ機器１０４）はユーザ機器１０４のユーザからの発語入力を受け取る（例えば、発語入力はＩ／Ｏ処理モジュール３２８（図３Ａ）において受け取られる）。例えば、ユーザは「もし、Ｃｈｒｉｓｔｉｎａがテキストを送ってきたら、私は現在車で向かっているところで、まもなく着くと彼女に知らせてほしい。」とデジタルアシスタント（ＤＡ）に述べる。その結果として、Ｉ／Ｏ処理モジュール３２８（図３Ａ）は発語入力をＳＴＴ処理モジュール３３０（図３Ａ）へ送信する。発語入力を処理した後に、ＳＴＴ処理モジュール３３０（図３Ａ）は、発語入力を表すトークン列を自然言語プロセッサ３３２（図３Ａ）へ送信する。
【０１１２】
自然言語プロセッサ３３２はＳＴＴ処理モジュール３３０からトークン列を受信し、トークン列を、デジタルアシスタントによって認識される１つ以上の実施可能な意図に関連付けようと試みる（５０２）。
【０１１３】
いくつかの実施形態では、自然言語プロセッサ３３２は、発語入力は、１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令を含むかどうかを判定する（５０４）。命令が、（１）１人以上の指定された送信者（例えば、Ｃｈｒｉｓｔｉｎａ）、及び（２）指定されたアクション（例えば、通知応答）を少なくとも含む場合には、命令は、オントロジ３３４の自動応答ドメイン４００に関連付けられるタスクフローをトリガする。
【０１１４】
発語入力は、１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令を含まないと判定すると（「いいえ」の分岐）、デジタルアシスタントは、自動応答ドメイン４００に関連付けられるタスクフローと異なるタスクフロー（例えば、上述されたレストラン予約ドメイン）に関連付けられる１つ以上の他のプロセスを実行する（５０６）。
【０１１５】
発語入力は、１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令を含むと判定すると（「はい」の分岐）、デジタルアシスタントは、命令はその命令のための失効期間を含むかどうかを判定する（５０８）。
【０１１６】
命令はその命令のための失効期間を含むと判定すると（「はい」の分岐）、デジタルアシスタントは失効期間を記憶する（５１０）。例えば、命令モジュール３５２（図３Ａ）は、命令のための失効期間を、命令モジュール３５２内に含まれるか、又はそれから独立したメモリ内に記憶する。
【０１１７】
失効期間を記憶した後に（「はい」の分岐）、又は命令はその命令のための失効期間を含まないと判定すると（「いいえ」の分岐）、デジタルアシスタントは、命令は指定されたアクションの実行に対する先行条件を含むかどうかを判定する（５１２）。
【０１１８】
命令は先行条件を含むと判定すると（「はい」の分岐）、デジタルアシスタントは先行条件を記憶する（５１４）。例えば、命令モジュール３５２（図３Ａ）は、先行条件を、命令モジュール３５２内に含まれるか、又はそれから独立したメモリ内に記憶する。
【０１１９】
先行条件を記憶した後に（「はい」の分岐）、又は命令は先行条件を含まないと判定すると（「いいえ」の分岐）、デジタルアシスタントは、受信された発語入力内に含まれる命令は完全であるかどうか（即ち、命令は、指定されたアクションを実行するために十分な詳細又は情報を含むかどうか）を判定する（５１６）。
【０１２０】
命令は不完全であると判定すると（「いいえ」の分岐）、自動応答モジュール３５０は、ダイアログ処理モジュール３４０（図３Ａ）に、指定されたアクションを実行するために完全な詳細又は命令を集めるためのユーザとのダイアログを開始させる（５１８）。例えば、ユーザは「もしＴｏｎｙから電話があったら、彼に映画の時間を電子メールで知らせてほしい。」とＤＡに頼む。本例では、ユーザは、特定の映画の題名、並びに開始時間についての日付若しくは時間範囲（単数又は複数）の指示を怠った。この場合には、自動応答モジュール３５０は、ダイアログ処理モジュール３４０に、映画の題名、及びユーザがＴｏｎｙに開始時間を送信したい日付を決定するためのユーザとのダイアログを開始させる。
【０１２１】
命令は完全であると判定すると（「はい」の分岐）、デジタルアシスタントは、１人以上の指定された送信者及び指定されたアクションを少なくとも含む命令を記憶する（５２０）。例えば、命令モジュール３５２（図３Ａ）は、１人以上の指定された送信者及び指定されたアクションを、命令モジュール３５２内に含まれるか、又はそれから独立したメモリ内に記憶する。
【０１２２】
図６は、いくつかの実施形態に係る、デジタルアシスタントを動作させる方法６００のフロー図を示す。いくつかの実施形態では、方法６００は、１つ以上のプロセッサと、メモリと、を含む電子機器（例えば、それぞれのＤＡクライアント１０２又はＤＡサーバ１０６（図１））において実行される。いくつかの実施形態では、方法６００は、図３Ａ〜図３Ｂに示されるデジタルアシスタント３２６において実行される。いくつかの実施形態では、方法６００は、電子機器の１つ以上のプロセッサによって実行されるメモリ（例えば、非一時的コンピュータ可読記憶媒体）内に記憶された命令のセットによって統御される。
【０１２３】
１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令を記憶した後に、電子機器（例えば、ユーザ機器１０４（図１））はそれぞれの送信者からの着信通信を受信する（６０２）。例えば、着信通信は、電子メール、電話呼、ビデオ通話、ＶＯＩＰ通話、ＳＭＳ若しくはテキストメッセージ、ＭＭＳ、音声メッセージ、並びに同様のもののうちの１つである。
【０１２４】
デジタルアシスタントは、１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令はトリガされたかどうかを判定する（６０４）。自動応答モジュール３５０（図３Ａ）又はその構成要素（例えば、判定モジュール３５４（図３Ａ））は、それぞれの送信者は、命令内に含まれる１人以上の指定された送信者のうちの１人であるかどうかを判定する。上述されたように、その後の着信通信のそれぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定するための複数の手順が存在する。いくつかの実施形態では、自動応答モジュール３５０（図３Ａ）又はその構成要素（例えば、判定モジュール３５４（図３Ａ））はまた、着信通信は、命令によって指定された通信の種類のものであるかどうかを判定する。
【０１２５】
１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令はトリガされたと判定すると、方法６００は「はい」の分岐に従って、ステップ６１２（あるいは、命令が失効期間及び／若しくは先行条件を含む場合には、ステップ６０６若しくは６０８の一方、又は、いくつかの実施形態では、ステップ６１０）へ進む。例えば、それぞれの送信者は１人以上の指定された送信者のうちの１人であり、場合によっては、着信通信は１つ以上の指定された通信の種類のうちの１つを利用している。１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令はトリガされていないと判定すると、方法６００は「いいえ」の分岐に従ってステップ６０２へ進み、別の着信通信を受信し、判定プロセスを繰り返す。
【０１２６】
いくつかの実施形態では、命令が失効期間を含む場合には、デジタルアシスタント又はその構成要素（例えば、判定モジュール３５４（図３Ａ））は、失効期間は経過したかどうかを判定する（６０６）。着信通信を受信するより先に失効期間は経過したと判定すると、方法６００は「はい」の分岐に従ってステップ６１４へ進み、自動応答モジュール３５０（図３Ａ）又はその構成要素（例えば、命令モジュール３５２（図３Ａ））は命令を自動的に削除する。着信通信を受信するより先に失効期間は経過していないと判定すると、方法６００は「いいえ」の分岐に従ってステップ６１２（又は、いくつかの実施形態では、ステップ６０８若しくは６１０）へ進む。
【０１２７】
いくつかの実施形態では、命令が、指定されたアクションの実行に対する先行条件を含む場合には、デジタルアシスタント又はその構成要素（例えば、判定モジュール３５４（図３Ａ））は、先行条件は満足されたかどうかを判定する（６０８）。着信通信を受信するより先に、又はそれと同時に先行条件は満足されていないと判定すると、方法６００は「いいえ」の分岐に従ってステップ６０２へ進み、別の着信通信を受信し、判定プロセスを繰り返す。着信通信を受信するより先に、又はそれと同時に先行条件は満足されたと判定すると、方法６００は「はい」の分岐に従ってステップ６１２（又は、いくつかの実施形態では、ステップ６１０）へ進む。
【０１２８】
いくつかの実施形態では、デジタルアシスタント又はその構成要素（例えば、作成モジュール３５６（図３Ａ））はそれぞれの送信者へのカスタマイズされた応答を作成する（６１０）。カスタマイズされた応答は、命令内に含まれる詳細又は情報に従って作成され、任意選択的に、ユーザ機器１０４（図１）のユーザに関連付けられるコンテクスト情報（例えば、ユーザに関連付けられるロケーション、パターン若しくは行動情報又はカレンダー若しくはスケジュール）に基づく。例えば、ユーザは「もしＳｗａｐｎｉｌが私に連絡しようとしてきたら、私は会議中なので、今日の午後、私が手が空いている時間中の会議を提案すると彼に知らせてほしい」とデジタルアシスタントに頼む。本例では、その後の着信通信は（例えば、ユーザに関連付けられるアドレス帳に基づいて）Ｓｗａｐｎｉｌから受信されたと判定した後に、デジタルアシスタントは、「私は今会議中なので、午後４時に会ってクライアントの件について話し合いましょう」と述べるＳｗａｐｎｉｌへのメッセージを作成し、今日の午後の午後４時のためのカレンダー招待状をＳｗａｐｎｉｌへ送信する。本例では、ＤＡは、少なくとも一部、その日についてのユーザのカレンダー又はスケジュール（例えば、コンテクスト情報）によって、Ｓｗａｐｎｉｌへのメッセージを作成する。
【０１２９】
１人以上の指定された送信者からのその後の着信通信に自動的に応答するための命令はトリガされたと判定すると、デジタルアシスタントは指定されたアクションを実行する（６１２）。例えば、自動応答モジュール３５０（図３Ａ）又はその構成要素（例えば、実行モジュール３５８（図３Ａ））は、（例えば、ステップ６１０において作成モジュール３５６（図３Ａ）によって作成された）カスタマイズされた応答を、複数の通信手段のうちの１つを介してそれぞれのユーザへ送信する。いくつかの実施形態では、実行モジュールは、カスタマイズされた応答を、着信通信のために用いられたのと同じ通信手段を用いて送信する。例えば、指定されたアクションは、電子メール、電話呼、ビデオ通話、ＶＯＩＰ通話、ＳＭＳ若しくはテキストメッセージ、ＭＭＳ、音声メッセージ、又は同様のものを、指定された送信者へ送信することを含む。
【０１３０】
いくつかの実施形態では、実行モジュールは、ユーザからの更なる再検討又は命令なしに、指定されたアクションを実行するように構成される。いくつかの実施形態では、指定されたアクションを実行することは、第１のサブアクションを実行すること、及び第２のサブアクションを実行すること、を含む。例えば、ユーザは「もし私の妻から電話があったら、今夜、Ｃｙｒａｎｏ’ｓレストランで僕と会ってくれと言ってほしい。また、テキストを送信してから３０分後に、‘デートナイト’という題で午後７時のためのカレンダー招待状を彼女に送信してほしい。」とＤＡに頼む。本例では、ユーザの妻からの着信電話呼を受信したことに応じて、実行モジュール３５８（図３Ａ）は、命令内に含まれる第１のサブアクション（例えば、「今夜、Ｃｙｒａｎｏ’ｓで僕と会ってくれ。」と述べるテキストメッセージをユーザの妻へ送信すること）を実行するように構成される。そして、更に本例では、実行モジュール３５８（図３Ａ）はまた、テキストメッセージをユーザの妻へ送信してから３０分後に、命令内に含まれる第２のサブアクション（例えば、その晩の午後７時のための‘デートナイト’という題のカレンダー招待状をユーザの妻へ送信すること）を実行するように構成される。
【０１３１】
一例では、自動応答モジュール３５０（図３Ａ）は、命令を含む発語入力又は命令を受け取る以前に録音された発語入力からのユーザの音声の録音を含む音声メッセージを、指定された送信者へ送信することによって、指定された送信者からの着信電話呼に応答する。別の例では、自動応答モジュール３５０（図３Ａ）は、ユーザからのテキスト入力のデジタル化又はテキスト発語化バージョンである音声メッセージを、指定された送信者へ送信することによって、指定された送信者からの着信通信通話に応答する。
【０１３２】
指定されたアクションを実行した後に、電子機器は命令を自動的に削除する（６１４）。例えば、自動応答モジュール３５０（図３Ａ）又はその構成要素（例えば、命令モジュール３５２（図３Ａ））は、命令モジュール３５２（図３Ａ）内に含まれるか、又はそれから独立したメモリ内に記憶された命令を削除する。いくつかの実施形態では、命令モジュール３５２（図３Ａ）は、命令内に含まれる１人以上の指定された送信者及び指定されたアクションに加えて失効期間及び／又は先行条件を自動的に削除する。
【０１３３】
図５〜図６における動作について説明された特定の順序は単なる例示にすぎず、説明された順序が、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。
【０１３４】
いくつかの実施形態によれば、図７は、説明される様々な実施形態の原理に従って構成された、電子デバイス７００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図７で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に、支持する。
【０１３５】
図７に示されるように、電子機器７００は、ユーザからの発語入力を取得するように構成される音声受け取りユニット７０２を含む。いくつかの実施形態では、電子機器７００は、音声を生成するように構成されるスピーカユニット７０４と、情報を表示し、１つ以上のタッチ入力を受けるように構成されるタッチスクリーン表示ユニット７０６と、を任意選択的に含む。電子機器７００はまた、音声受け取りユニット７０２に結合される（並びにスピーカユニット７０４及びタッチスクリーン表示ユニット７０６に任意選択的に結合される）処理ユニット７０８を含む。いくつかの実施形態では、処理ユニット７０８は、命令判定ユニット７１０、記憶ユニット７１２、通信取得ユニット７１４、送信者確認ユニット７１６、実行ユニット７１８、削除ユニット７２０、通信の種類判定ユニット７２２、変換ユニット７２４、及び作成ユニット７２６を含む。
【０１３６】
処理ユニット７０８は、発語入力を取得したことに応じて、発語入力は、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを（例えば、命令判定ユニット７１０を用いて）判定し、命令を（例えば、記憶ユニット７１２を用いて）記憶するように構成される。処理ユニット７０８はまた、命令を記憶した後に、それぞれの送信者からの着信通信を（例えば、通信取得ユニット７１４を用いて）取得し、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）判定するように構成される。処理ユニット７０８は、それぞれの送信者は１人以上の指定された送信者のうちの１人であると判定すると、命令に従って、指定されたアクションを（例えば、実行ユニット７１８を用いて）実行し、その後、命令を（例えば、削除ユニット７２０を用いて）自動的に削除するように更に構成される。
【０１３７】
いくつかの実施形態では、発語入力は命令を含むかどうかを判定することは、発語入力は、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを（例えば、命令判定ユニット７１０を用いて）判定することを含み、処理ユニット７０８は、着信通信は１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを（例えば、通信の種類判定ユニット７２２を用いて）判定するように構成され、指定されたアクションを実行することは、それぞれの送信者は１人以上の指定された送信者のうちの１人であり、着信通信は１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、命令に従って、指定されたアクションを（例えば、実行ユニット７１８を用いて）実行し、その後、命令を（例えば、削除ユニット７２０を用いて）自動的に削除することを含む。
【０１３８】
いくつかの実施形態では、１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【０１３９】
いくつかの実施形態では、着信通信は電話呼であり、指定されたアクションは、音声メッセージを送信することである。
【０１４０】
いくつかの実施形態では、音声メッセージの少なくとも一部はユーザの音声の録音である。
【０１４１】
いくつかの実施形態では、音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである。
【０１４２】
いくつかの実施形態では、処理ユニット７０８は、発語入力をテキストに変換するために発語入力に対する自然言語処理（例えば、変換ユニット７２４を用いて）実行のために構成され、命令を記憶することは、命令をテキストとして記憶することを含む。
【０１４３】
いくつかの実施形態では、指定されたアクションを実行することは、命令に従ってそれぞれの送信者への応答を（例えば、作成ユニット７２６を用いて）作成すること、及び応答を送信者へ（例えば、実行ユニット７１８を用いて）伝達すること、を含む。
【０１４４】
いくつかの実施形態では、伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【０１４５】
いくつかの実施形態では、伝達することは、着信通信と同じ通信手段を用いる。
【０１４６】
いくつかの実施形態では、作成することは、命令に従って、コンテクスト情報に少なくとも一部基づいてそれぞれの送信者への応答を（例えば、作成ユニット７２６を用いて）作成することを含む。
【０１４７】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、機器のユーザに関連付けられた連絡先のリストに基づいて、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）確認することを含む。
【０１４８】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、それぞれの送信者に関連付けられた発信者ＩＤに基づいて、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）確認することを含む。
【０１４９】
いくつかの実施形態では、処理ユニット７０８は、通信の送信者に関連付けられたアドレスを（例えば、送信者確認ユニット７１６を用いて）特定するように構成され、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、通信のそれぞれの送信者に関連付けられたアドレスに基づいて、送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）確認することを含む。
【０１５０】
いくつかの実施形態では、それぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを判定することは、それぞれの送信者から受信された着信通信の内容に基づいて、送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）確認することを含む。
【０１５１】
いくつかの実施形態では、着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである。
【０１５２】
いくつかの実施形態では、アクションは、音声メッセージを送信者へ送信すること、ＳＭＳメッセージを送信者へ送信すること、ＭＭＳ若しくは写真を送信者へ送信すること、電子メールを送信者へ送信すること、イベント招待状を送信者へ送信すること、１つ以上のカレンダー項目を送信者と共有すること、並びに及び１つ以上のカスタム属性を送信者と共有すること、からなる群から選択される。
【０１５３】
いくつかの実施形態では、（例えば、実行ユニット７１８を用いて）実行すること、及び（例えば、削除ユニット７２０を用いて）削除することは、電子機器７００のユーザからの更なる再検討又は命令なしに自動的に実行される。
【０１５４】
いくつかの実施形態では、指定されたアクションを実行することは、第１のサブアクションを（例えば、実行ユニット７１８を用いて）実行すること、及び第１のサブアクションと異なる第２のサブアクションを（例えば、実行ユニット７１８を用いて）実行すること、を含む。
【０１５５】
いくつかの実施形態では、命令は失効期間を更に指定し、処理ユニット７０８は、それぞれの送信者は１人以上の指定された送信者のうちの１人ではなく、失効期間は経過したと判定すると、命令を（例えば、削除ユニット７２０を用いて）自動的に削除するように構成される。
【０１５６】
いくつかの実施形態では、それぞれの送信者は第１のそれぞれの送信者であり、処理ユニット７０８は、第１のそれぞれの送信者は１人以上の指定された送信者のうちの１人ではなく、失効期間は経過していないと判定すると、命令の削除を見送り、第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を（例えば、通信取得ユニット７１４を用いて）取得し、第２のそれぞれの送信者は１人以上の指定された送信者のうちの１人であるかどうかを（例えば、送信者確認ユニット７１６を用いて）判定し、第２のそれぞれの送信者は１人以上の指定された送信者のうちの１人であり、失効期間は経過していないと判定すると、命令に従って、指定されたアクションを（例えば、実行ユニット７１８を用いて）実行し、その後、命令を自動的に削除する、ように構成される。
【０１５７】
上述の説明は、説明目的のために、特定の実装形態を参照して説明した。しかし、上述の例示的な説明は、網羅的であること、又は、開示される実施態様を正確な形態に限定することを意図していない。上述の教示を考慮すれば、多くの修正及び変形が可能である。実施態様は、開示された思想の理念と実際の応用を最も良く説明するために、選択して説明し、それによって、当業者が、考えられる特定の用途に適した様々な変更を加えて、それを最も良く利用することができるようにしたものである。
【０１５８】
本明細書では、様々な要素を説明するために「第１」、「第２」などの用語が使用される場合があるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、「第１の発語入力」の全ての出現について一貫して名前が変更され、第２の発語入力の全ての出現について一貫して名前が変更される限り、説明の意味を変えることなく、第１の発語入力は第２の発語入力と呼ぶことができ、同様に、第２の発語入力は第１の発語入力と呼ぶことができるであろう。第１の発語入力及び第２の発語入力はどちらも発語入力であるが、それらは同じ発語入力ではない。
【０１５９】
本明細書で使用される用語は、特定の実施態様を説明する目的のためであり、特許請求の範囲を限定することを意図するものではない。説明される実施態様の説明及び添付の特許請求の範囲で使用されるように、単数形の「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことを意図している。本明細書で使用される時に、用語「及び／又は」が、関連する列挙された項目のうちの１つ以上の任意の全ての可能な組み合わせを指し、かつこれを含むことをもまた理解されたい。用語「ｃｏｍｐｒｉｓｅｓ（含む）」及び／又は「ｃｏｍｐｒｉｓｉｎｇ（含む）」が、本明細書で使用される場合、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらのグループの存在又は追加を除外しないことを更に理解されたい。
【０１６０】
本明細書で使用される時には、用語「ｉｆ」は、文脈に応じて、「時」又は「際に」又は、先に述べた条件が正しいとの「決定に応答して」又は「決定に従って」、「検出に応答して」を意味するものと解釈できる。同様に、「［先に述べた先行条件が正しい］と判定される場合」又は「［先に述べた先行条件が正しい］場合」、又は「［先に述べた先行条件が正しい］時」というフレーズは、先に述べた先行条件が正しいとの「判定に際して」、「の判定に際して」又は「判定に応じて」又は「判定に従って」又は「検出した際に」又は「検出に応じて」ということを意味するものと解釈できる。
【図１】
2016534616.tif 000003
【図２】
2016534616.tif 000004
【図３Ａ】
2016534616.tif 000005
【図３Ｂ】
2016534616.tif 000006
【図３Ｃ】
2016534616.tif 000007
【図４】
2016534616.tif 000008
【図５】
2016534616.tif 000009
【図６】
2016534616.tif 000010
【図７】
2016534616.tif 000011
【手続補正書】
【提出日】平成28年4月5日(2016.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタルアシスタントに、着信通信に自動的に応答させるための方法であって、前記方法は、
１つ以上のプロセッサ及びメモリを各々有する１つ以上の電子機器において、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む、方法。
【請求項２】
前記発語入力が命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
前記方法は、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定することを含み、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することを含む、請求項１に記載の方法。
【請求項３】
前記着信通信は電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項１に記載の方法。
【請求項４】
前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を実行することを含み、前記命令を記憶することは、前記命令をテキストとして記憶することを含む、請求項１に記載の方法。
【請求項５】
前記指定されたアクションを実行することは、
前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項１に記載の方法。
【請求項６】
前記作成することは、前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項５に記載の方法。
【請求項７】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記電子機器の前記ユーザに関連付けられた連絡先のリストに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１に記載の方法。
【請求項８】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者に関連付けられた発信者ＩＤに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１に記載の方法。
【請求項９】
前記着信通信の前記送信者に関連付けられたアドレスを特定することを含み、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記着信通信の前記それぞれの送信者に関連付けられた前記アドレスに基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１に記載の方法。
【請求項１０】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の前記内容に基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１に記載の方法。
【請求項１１】
前記アクションは、
音声メッセージを前記送信者へ送信すること、
ＳＭＳメッセージを前記送信者へ送信すること、
ＭＭＳ若しくは写真を前記送信者へ送信すること、
電子メールを前記送信者へ送信すること、
イベント招待状を前記送信者へ送信すること、
１つ以上のカレンダー項目を前記送信者と共有すること、及び
１つ以上のカスタム属性を前記送信者と共有すること、
からなる群から選択される、請求項１に記載の方法。
【請求項１２】
デジタルアシスタントを動作させるための命令を含むプログラムであって、前記命令は、１つ以上のプロセッサを備える電子機器によって実行されると、前記電子機器に、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記発語入力の前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記発語入力の前記命令に従って、前記指定されたアクションを実行し、その後、前記発語入力の前記命令を自動的に削除することと、
を含む動作を実行させる、プログラム。
【請求項１３】
前記発語入力が命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
デジタルアシスタントを動作させるための前記命令は、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定するために更に動作可能であり、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記発語入力の前記命令に従って、前記指定されたアクションを実行し、その後、前記発語入力の前記命令を自動的に削除することを含む、請求項１２に記載のプログラム。
【請求項１４】
電子機器であって、
１つ以上のプロセッサと、
デジタルアシスタントを動作させる命令を記憶するメモリと、
を備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記発語入力の前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記発語入力の前記命令に従って、前記指定されたアクションを実行し、その後、前記発語入力の前記命令を自動的に削除することと、
を含む動作を実行させる、電子機器。
【請求項１５】
前記発語入力が命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
デジタルアシスタントを動作させるための前記命令は、前記１つ以上のプロセッサに、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを更に判定させ、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記発語入力の前記命令に従って、前記指定されたアクションを実行し、その後、前記発語入力の前記命令を自動的に削除することを含む、請求項１４に記載の電子機器。
【請求項１６】
前記着信通信が電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項１４に記載の電子機器。
【請求項１７】
デジタルアシスタントを動作させるための前記命令は、前記１つ以上のプロセッサに、前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を更に実行させ、前記発語入力の前記命令を記憶することは、前記発語入力の前記命令をテキストとして記憶することを含む、請求項１４に記載の電子機器。
【請求項１８】
前記指定されたアクションを実行することは、
前記発語入力の前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項１４に記載の電子機器。
【請求項１９】
前記作成することは、前記発語入力の前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項１８に記載の電子機器。
【請求項２０】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の前記内容に基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１４に記載の電子機器。
【手続補正書】
【提出日】平成28年8月25日(2016.8.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタルアシスタントに、着信通信に自動的に応答させるための方法であって、前記方法は、
１つ以上のプロセッサ及びメモリを各々有する１つ以上の電子機器において、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む、方法。
【請求項２】
前記発語入力が命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
前記方法は、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定することを含み、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することを含む、請求項１に記載の方法。
【請求項３】
前記１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである，請求項２に記載の方法。
【請求項４】
前記着信通信は電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記音声メッセージの少なくとも一部は前記ユーザの音声の録音である、請求項４に記載の方法。
【請求項６】
前記音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである、請求項４に記載の方法。
【請求項７】
前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を実行することを含み、前記命令を記憶することは、前記命令をテキストとして記憶することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項８】
前記指定されたアクションを実行することは、
前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項１から３のいずれか一項に記載の方法。
【請求項９】
前記伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項８に記載の方法。
【請求項１０】
前記伝達することは、前記着信通信と同じ通信手段を用いる、請求項８に記載の方法。
【請求項１１】
前記作成することは、前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項８に記載の方法。
【請求項１２】
前記コンテクスト情報は、前記ユーザに関連付けられるロケーション情報、パターン情報、又は行動情報のうちの１つ以上を含む、請求項１１に記載の方法。
【請求項１３】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記電子機器の前記ユーザに関連付けられた連絡先のリストに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項１４】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者に関連付けられた発信者ＩＤに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項１５】
前記着信通信の前記送信者に関連付けられたアドレスを特定することを含み、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記着信通信の前記それぞれの送信者に関連付けられた前記アドレスに基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項１６】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の内容に基づいて、前記送信者は前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項１７】
前記着信通信は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項１から３のいずれか一項に記載の方法。
【請求項１８】
前記アクションは、
音声メッセージを前記送信者へ送信すること、
ＳＭＳメッセージを前記送信者へ送信すること、
ＭＭＳ若しくは写真を前記送信者へ送信すること、
電子メールを前記送信者へ送信すること、
イベント招待状を前記送信者へ送信すること、
１つ以上のカレンダー項目を前記送信者と共有すること、及び
１つ以上のカスタム属性を前記送信者と共有すること、
からなる群から選択される、請求項１から３のいずれか一項に記載の方法。
【請求項１９】
前記実行すること及び削除することは、前記電子機器の前記ユーザからの更なる再検討又は命令なしに自動的に実行される、請求項１から３のいずれか一項に記載の方法。
【請求項２０】
前記指定されたアクションを実行することは、
第１のサブアクションを実行すること、及び
前記第１のサブアクションと異なる第２のサブアクションを実行すること、
を含む、請求項１から３のいずれか一項に記載の方法。
【請求項２１】
前記命令は失効期間を更に指定し、
前記方法は、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過したと判定すると、前記命令を自動的に削除することを含む、請求項１から３のいずれか一項に記載の方法。
【請求項２２】
前記それぞれの送信者は第１のそれぞれの送信者であり、前記方法は、
前記第１のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間は経過していないと判定すると、前記命令の削除を見送ることと、
前記第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を取得することと、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記失効期間が経過していないと判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む、請求項２１に記載の方法。
【請求項２３】
デジタルアシスタントを動作させるための命令を含むプログラムであって、前記命令は、１つ以上のプロセッサを備える電子機器によって実行されると、前記電子機器に、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む動作を実行させる、プログラム。
【請求項２４】
プログラムであって、前記プログラムは、１つ以上のプロセッサを備える電子機器によって実行されると、前記電子機器に、請求項１から２２に記載の方法のうちのいずれかを実行させる命令を含む、プログラム。
【請求項２５】
電子機器であって、
１つ以上のプロセッサと、
デジタルアシスタントを動作させる命令を記憶するメモリと、
を備え、前記命令は、前記１つ以上のプロセッサによって実行されると、前記プロセッサに、
ユーザからの発語入力を取得することと、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することと、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することと、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することと、
を含む動作を実行させる、電子機器。
【請求項２６】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行される１つ以上のプログラムを記憶するメモリと、を備える電子機器であって、前記１つ以上のプログラムは、請求項１から２２に記載の方法のうちのいずれかを実行する命令を含む、電子機器。
【請求項２７】
電子機器であって、
ユーザからの発語入力を取得する手段と、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する手段と、
前記命令を記憶した後に有効にされる、それぞれの送信者からの着信通信を取得する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると有効にされる、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する手段と、
を備える、電子機器。
【請求項２８】
電子機器に使用するための情報処理装置であって、
ユーザからの発語入力を取得する手段と、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定する手段と、
前記命令を記憶した後に有効にされる、それぞれの送信者からの着信通信を取得する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定する手段と、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると有効にされる、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する手段と、
を備える、情報処理装置。
【請求項２９】
１つ以上のプロセッサと、前記１つ以上のプロセッサによって実行されるための１つ以上のプログラムであって、請求項１から２２に記載の方法のうちのいずれかを実行する命令を含む前記１つ以上のプログラムを記憶するメモリと、を備える、電子機器において使用するための情報処理装置。
【請求項３０】
ディスプレイと、メモリと、前記メモリ内に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサとを備える電子デバイス上のグラフィカルユーザインタフェースであって、請求項１から２２に記載の方法のいずれかに従って表示されるユーザインタフェースを備える、グラフィカルユーザインタフェース。
【請求項３１】
電子機器であって、
ユーザからの発語入力を取得するように構成される音声受け取りユニットと、
前記音声受け取りユニットに結合される処理ユニットと、
を備え、前記処理ユニットは、
前記発語入力を取得したことに応じて、前記発語入力が、１人以上の指定された送信者からのその後の着信通信の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定し、
前記命令を記憶した後に、それぞれの送信者からの着信通信を取得し、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定し、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する、
ように構成される、電子機器。
【請求項３２】
前記発語入力は命令を含むかどうかを判定することは、前記発語入力が、１人以上の指定された送信者からの１つ以上の指定されたその後の着信通信の種類の受信に応じて、指定されたアクションを実行するための命令を含むかどうかを判定することを含み、
前記処理ユニットは、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであるかどうかを判定するように構成され、
前記指定されたアクションを実行することは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記着信通信が前記１つ以上の指定されたその後の着信通信の種類のうちの１つであると判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除することを含む、請求項３１に記載の電子機器。
【請求項３３】
前記１つ以上の指定されたその後の着信通信の種類のそれぞれの指定されたその後の着信通信の種類は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３２に記載の電子機器。
【請求項３４】
前記着信通信は電話呼であり、前記指定されたアクションは、音声メッセージを送信することである、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項３５】
前記音声メッセージの少なくとも一部は前記ユーザの音声の録音である、請求項３４に記載の電子機器。
【請求項３６】
前記音声メッセージの少なくとも一部は入力テキストのデジタル化又はテキスト発語化バージョンである、請求項３４に記載の電子機器。
【請求項３７】
前記処理ユニットは、前記発語入力をテキストに変換するために前記発語入力に対する自然言語処理を実行するように構成され、前記命令を記憶することは、前記命令をテキストとして記憶することを含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項３８】
前記指定されたアクションを実行することは、
前記命令に従って前記それぞれの送信者への応答を作成すること、及び
前記応答を前記送信者へ伝達すること、
を含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項３９】
前記伝達することは、電話呼、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３８に記載の電子機器。
【請求項４０】
前記伝達することは、前記着信通信と同じ通信手段を用いる、請求項３８に記載の電子機器。
【請求項４１】
前記作成することは、前記命令に従って、コンテクスト情報に少なくとも一部基づいて前記それぞれの送信者への前記応答を作成することを含む、請求項３８に記載の電子機器。
【請求項４２】
前記コンテクスト情報は、前記ユーザに関連付けられるロケーション情報、パターン情報、又は行動情報のうちの１つ以上を含む、請求項４１に記載の電子機器。
【請求項４３】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記電子機器の前記ユーザに関連付けられた連絡先のリストに基づいて、前記それぞれの送信者は前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４４】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者に関連付けられた発信者ＩＤに基づいて、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４５】
前記処理ユニットは、前記着信通信の前記送信者に関連付けられたアドレスを特定するように構成され、
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記着信通信の前記それぞれの送信者に関連付けられた前記アドレスに基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４６】
前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定することは、前記それぞれの送信者から受信された前記着信通信の内容に基づいて、前記送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを確認することを含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４７】
前記着信通信は、電話呼、音声メッセージ、音声メール、ビデオ通話、ＳＭＳ、ＭＭＳ、ＶＯＩＰ通話、又は電子メールのうちの１つである、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４８】
前記アクションは、
音声メッセージを前記送信者へ送信すること、
ＳＭＳメッセージを前記送信者へ送信すること、
ＭＭＳ若しくは写真を前記送信者へ送信すること、
電子メールを前記送信者へ送信すること、
イベント招待状を前記送信者へ送信すること、
１つ以上のカレンダー項目を前記送信者と共有すること、及び
１つ以上のカスタム属性を前記送信者と共有すること、
からなる群から選択される、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項４９】
前記実行すること及び前記削除することは、前記電子機器の前記ユーザからの更なる再検討又は命令なしに自動的に実行される、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項５０】
前記指定されたアクションを実行することは、
第１のサブアクションを実行すること、及び
前記第１のサブアクションと異なる第２のサブアクションを実行すること、
を含む、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項５１】
前記命令は失効期間を更に指定し、
前記処理ユニットは、前記それぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過したと判定すると、前記命令を自動的に削除するよう構成される、請求項３１から３３のいずれか一項に記載の電子機器。
【請求項５２】
前記それぞれの送信者は第１のそれぞれの送信者であり、
前記処理ユニットは、
前記第１のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人ではなく、前記失効期間が経過していないと判定すると、前記命令の削除を見送り、
前記第１のそれぞれの送信者と異なる第２のそれぞれの送信者からの着信通信を取得し、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であるかどうかを判定し、
前記第２のそれぞれの送信者が前記１人以上の指定された送信者のうちの１人であり、前記失効期間が経過していないと判定すると、前記命令に従って、前記指定されたアクションを実行し、その後、前記命令を自動的に削除する、
ように構成される、請求項５１に記載の電子機器。
【国際調査報告】
2016534616.tif 000012
2016534616.tif 000013