(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-16
(45)【発行日】2023-06-26
(54)【発明の名称】動的エンドポイント通信チャネル
(51)【国際特許分類】
H04M 3/527 20060101AFI20230619BHJP
H04M 11/00 20060101ALI20230619BHJP
【FI】
H04M3/527
H04M11/00 302
(21)【出願番号】P 2021520408
(86)(22)【出願日】2019-10-15
(86)【国際出願番号】 US2019056204
(87)【国際公開番号】W WO2020081494
(87)【国際公開日】2020-04-23
【審査請求日】2021-06-10
(32)【優先日】2018-10-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】511094772
【氏名又は名称】ライブパーソン, インコーポレイテッド
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ソルター、ジェフ
(72)【発明者】
【氏名】ロカッシオ、ロベルト
【審査官】大橋 達也
(56)【参考文献】
【文献】米国特許出願公開第2015/0017616(US,A1)
【文献】米国特許出願公開第2014/0122522(US,A1)
【文献】欧州特許出願公開第03122001(EP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04M 1/00-11/00
G06F 13/00
G06F 16/00-17/00
G06Q 10/00-50/00
(57)【特許請求の範囲】
【請求項1】
記憶された命令を備える非一時的なコンピュータ可読媒体であって、前記命令は、接続管理システムに、
ユーザデバイスから、自然言語コミュニケーションを受信することと、
前記自然言語コミュニケーションのインテントを解釈することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信するソーシャルネットワークメンバーエンドポイントを自動的に決定すること、前記ソーシャルネットワークメンバーエンドポイントは、少なくとも1つのエージェントおよび少なくとも1人のソーシャルネットワークメンバーを含むエンドポイントの集合から選択される、と、
前記自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の第1の会話を促進することと、
前記自然言語コミュニケーションを前記ソーシャルネットワークメンバーエンドポイントに送ることと、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話においてアクショントリガに対応する新しいインテントを検出すること、ここにおいて、アクショントリガは、前記接続管理システムによってアクションが取られることを要求する、と、
を行わせるように実施される、非一時的なコンピュータ可読媒体。
【請求項2】
前記命令は、前記接続管理システムに、
現在のエンドポイントを備えるメッセージに基づいて通信セッションについての動的能力スコアを追跡することと、
前記動的能力スコアの変化に基づいて前記現在のエンドポイントから別のエンドポイントへ前記通信セッションを自動的に切り替えることと、
をさらに行わせる、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項3】
前記命令は、前記接続管理システムに、
前記アクショントリガ
に対応する前記新しいインテントの検出後に、前記第1の会話においてメッセージを提供すること
をさらに行わせる、請求項
1に記載の非一時的なコンピュータ可読媒体。
【請求項4】
前記命令は、前記接続管理システムに、
前記アクショントリガ
に対応する前記新しいインテントの検出後に、プライベートメッセージを前記ユーザデバイスに送ること、またはプライベートメッセージを前記ソーシャルネットワークメンバーエンドポイントに送ること
をさらに行わせる、請求項3に記載の非一時的なコンピュータ可読媒体。
【請求項5】
前記命令は、前記接続管理システムに、
前記アクショントリガ
に対応する前記新しいインテントの検出後に、前記第1の会話に第2のエンドポイントを追加することと、
前記第1の会話の一部である通信を、前記第2のエンドポイントに送ることと、
をさらに行わせる、請求項
1に記載の非一時的なコンピュータ可読媒体。
【請求項6】
前記命令は、前記接続管理システムに、
前記アクショントリガの検出後に、前記ソーシャルネットワークメンバーエンドポイントまたは前記第2のエンドポイントを前記第1の会話からドロップし、前記ドロップされたエンドポイントに前記第1の会話の一部である通信を送ることを中止すること
をさらに行わせる、請求項5に記載の非一時的なコンピュータ可読媒体。
【請求項7】
前記命令は、前記接続管理システムに、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が閉じられるべきであると決定することと、
前記第1の会話を閉じることと、
をさらに行わせる、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項8】
前記命令は、前記接続管理システムに、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が休止状態になったと決定することと、
前記第1の会話を再開するために、通信を前記第1の会話の一部として前記ユーザデバイスに送ることと、
をさらに行わせる、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項9】
前記命令は、前記接続管理システムに、
後続の自然言語コミュニケーションについて、前記ユーザデバイスからの通信を監視することと、
前記後続の自然言語コミュニケーションの前記インテントを解釈することと、
前記後続の自然言語コミュニケーションが前記第1の会話の一部ではないことを決定することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信する第2のエンドポイントを決定することと、
前記後続の自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記第2のエンドポイントとの間の第2の会話を開くことと、
前記後続の自然言語コミュニケーションを前記第2のエンドポイントに送ることと、
をさらに行わせる、請求項1に記載の非一時的なコンピュータ可読媒体。
【請求項10】
前記命令は、前記接続管理システムに、
追加の通信について、前記ユーザデバイスからの通信を監視し続けることと、
前記追加の通信が前記第1の会話に関係するか、または前記第2の会話に関係するかを決定することと、
前記追加の通信が前記第1の会話に関係するとき、前記追加の通信を前記ソーシャルネットワークメンバーエンドポイントに転送し、前記追加の通信が前記第2の会話に関係するとき、前記追加の通信を前記第2のエンドポイントに転送し、それによって、前記第1の会話および前記第2の会話を同時並行に維持することと、
をさらに行わせる、請求項9に記載の非一時的なコンピュータ可読媒体。
【請求項11】
コンピュータにより実装される方法であって、
ユーザデバイスから、自然言語コミュニケーションを受信することと、
前記自然言語コミュニケーションのインテントを解釈することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信するソーシャルネットワークメンバーエンドポイントを自動的に決定すること、前記ソーシャルネットワークメンバーエンドポイントは、少なくとも1つのエージェントおよび少なくとも1人のソーシャルネットワークメンバーを含むエンドポイントの集合から選択される、と、
前記自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の第1の会話を促進することと、
前記自然言語コミュニケーションを前記ソーシャルネットワークメンバーエンドポイントに送ることと、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話においてアクショントリガに対応する新しいインテントを検出すること、ここにおいて、アクショントリガは、接続管理システムによってアクションが取られることを要求する、と、
を備える、方法。
【請求項12】
現在のエンドポイントを備えるメッセージに基づいて通信セッションについての動的能力スコアを追跡することと、
前記動的能力スコアの変化に基づいて前記現在のエンドポイントから別のエンドポイントへ前記通信セッションを自動的に切り替えることと、
をさらに備える、請求項11に記載の方法。
【請求項13】
前記アクショントリガに対応する前記新しいインテントの検出後に、前記第1の会話においてメッセージを提供すること
をさらに備える、請求項11に記載の方法。
【請求項14】
前記アクショントリガに対応する前記新しいインテントの検出後に、プライベートメッセージを前記ユーザデバイスに送ること、またはプライベートメッセージを前記ソーシャルネットワークメンバーエンドポイントに送ること
をさらに備える、請求項13に記載の方法。
【請求項15】
前記アクショントリガに対応する前記新しいインテントの検出後に、前記第1の会話に第2のエンドポイントを追加することと、
前記第1の会話の一部である通信を、前記第2のエンドポイントに送ることと、
をさらに備える、請求項11に記載の方法。
【請求項16】
前記アクショントリガの検出後に、前記ソーシャルネットワークメンバーエンドポイントまたは前記第2のエンドポイントを前記第1の会話からドロップし、前記ドロップされたエンドポイントに前記第1の会話の一部である通信を送ることを中止すること
をさらに備える、請求項15に記載の方法。
【請求項17】
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が閉じられるべきであると決定することと、
前記第1の会話を閉じることと、
をさらに備える、請求項11に記載の方法。
【請求項18】
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が休止状態になったと決定することと、
前記第1の会話を再開するために、通信を前記第1の会話の一部として前記ユーザデバイスに送ることと、
をさらに備える、請求項11に記載の方法。
【請求項19】
後続の自然言語コミュニケーションについて、前記ユーザデバイスからの通信を監視することと、
前記後続の自然言語コミュニケーションの前記インテントを解釈することと、
前記後続の自然言語コミュニケーションが前記第1の会話の一部ではないことを決定することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信する第2のエンドポイントを決定することと、
前記後続の自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記第2のエンドポイントとの間の第2の会話を開くことと、
前記後続の自然言語コミュニケーションを前記第2のエンドポイントに送ることと、
をさらに備える、請求項11に記載の方法。
【請求項20】
追加の通信について、前記ユーザデバイスからの通信を監視し続けることと、
前記追加の通信が前記第1の会話に関係するか、または前記第2の会話に関係するかを決定することと、
前記追加の通信が前記第1の会話に関係するとき、前記追加の通信を前記ソーシャルネットワークメンバーエンドポイントに転送し、前記追加の通信が前記第2の会話に関係するとき、前記追加の通信を前記第2のエンドポイントに転送し、それによって、前記第1の会話および前記第2の会話を同時並行に維持することと、
をさらに備える、請求項19に記載の方法。
【請求項21】
システムであって、
ユーザデバイスから、自然言語コミュニケーションを受信する通信インターフェースと、
接続管理命令を実行するプロセッサとを備え、前記プロセッサは、
前記自然言語コミュニケーションのインテントを解釈することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信するソーシャルネットワークメンバーエンドポイントを自動的に決定すること、前記ソーシャルネットワークメンバーエンドポイントは、少なくとも1つのエージェントおよび少なくとも1人のソーシャルネットワークメンバーを含むエンドポイントの集合から選択される、と、
前記自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の第1の会話を促進することと、
前記自然言語コミュニケーションを前記ソーシャルネットワークメンバーエンドポイントに送ることと、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話においてアクショントリガに対応する新しいインテントを検出すること、ここにおいて、アクショントリガは、接続管理システムによってアクションが取られることを要求する、と、
を行うために前記接続管理命令を実行する、システム。
【請求項22】
前記プロセッサは、
現在のエンドポイントを備えるメッセージに基づいて通信セッションについての動的能力スコアを追跡することと、
前記動的能力スコアの変化に基づいて前記現在のエンドポイントから別のエンドポイントへ前記通信セッションを自動的に切り替えることと、
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項23】
前記プロセッサは、
前記アクショントリガに対応する前記新しいインテントの検出後に、前記第1の会話においてメッセージを提供すること
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項24】
前記プロセッサは、
前記アクショントリガに対応する前記新しいインテントの検出後に、プライベートメッセージを前記ユーザデバイスに送ること、またはプライベートメッセージを前記ソーシャルネットワークメンバーエンドポイントに送ること
を行うために前記接続管理命令をさらに実行する、請求項23に記載のシステム。
【請求項25】
前記プロセッサは、
前記アクショントリガに対応する前記新しいインテントの検出後に、前記第1の会話に第2のエンドポイントを追加することと、
前記第1の会話の一部である通信を、前記第2のエンドポイントに送ることと、
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項26】
前記プロセッサは、
前記アクショントリガの検出後に、前記ソーシャルネットワークメンバーエンドポイントまたは前記第2のエンドポイントを前記第1の会話からドロップし、前記ドロップされたエンドポイントに前記第1の会話の一部である通信を送ることを中止すること
を行うために前記接続管理命令をさらに実行する、請求項25に記載のシステム。
【請求項27】
前記プロセッサは、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が閉じられるべきであると決定することと、
前記第1の会話を閉じることと、
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項28】
前記プロセッサは、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が休止状態になったと決定することと、
前記第1の会話を再開するために、通信を前記第1の会話の一部として前記ユーザデバイスに送ることと、
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項29】
前記プロセッサは、
後続の自然言語コミュニケーションについて、前記ユーザデバイスからの通信を監視することと、
前記後続の自然言語コミュニケーションの前記インテントを解釈することと、
前記後続の自然言語コミュニケーションが前記第1の会話の一部ではないことを決定することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信する第2のエンドポイントを決定することと、
前記後続の自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記第2のエンドポイントとの間の第2の会話を開くことと、
前記後続の自然言語コミュニケーションを前記第2のエンドポイントに送ることと、
を行うために前記接続管理命令をさらに実行する、請求項21に記載のシステム。
【請求項30】
前記プロセッサは、
追加の通信について、前記ユーザデバイスからの通信を監視し続けることと、
前記追加の通信が前記第1の会話に関係するか、または前記第2の会話に関係するかを決定することと、
前記追加の通信が前記第1の会話に関係するとき、前記追加の通信を前記ソーシャルネットワークメンバーエンドポイントに転送し、前記追加の通信が前記第2の会話に関係するとき、前記追加の通信を前記第2のエンドポイントに転送し、それによって、前記第1の会話および前記第2の会話を同時並行に維持することと、
を行うために前記接続管理命令をさらに実行する、請求項29に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]本願は、2018年10月15日に出願された米国仮特許出願第62/745,552号の利益を主張し、これは、あらゆる目的のために、その全体が参照により本明細書に組み込まれている。
【技術分野】
【0002】
[0002]本開示は、一般に、人工知能(AI)を使用した通信処理に関する。より具体的には、通信チャネルにおけるエンドポイントを選択および管理するためのAIプラットフォームを展開するための技法が提供され、これは、顧客が、自然言語のクエリに回答するのに最も適したエンドポイントに関与すること(engage with)を可能にする。
【0003】
[0003]本開示は、添付の図面と併せて説明される。
【図面の簡単な説明】
【0004】
【
図1】[0004]
図1は、本技術のいくつかの態様による、ネットワークインタラクションシステムの例となる実施形態を示す。
【
図2】[0005]
図2は、本技術のいくつかの態様による、ネットワークインタラクションシステムの例となる実施形態を示す。
【
図3A】[0006]
図3Aは、本技術のいくつかの態様による、接続管理システムを含むネットワークインタラクションシステムの例となる実施形態を示す。
【
図3B】
図3Bは、本技術のいくつかの態様による、接続管理システムを含むネットワークインタラクションシステムの例となる実施形態を示す。
【
図3C】
図3Cは、本技術のいくつかの態様による、接続管理システムを含むネットワークインタラクションシステムの例となる実施形態を示す。
【
図4】[0007]
図4は、本技術のいくつかの態様による、接続コンポーネントの動作のプロトコルスタックマッピングの表現を示す。
【
図5】[0008]
図5は、本技術のいくつかの態様による、マルチデバイス通信交換システムの実施形態を表す。
【
図6】[0009]
図6は、本技術のいくつかの態様による、接続管理システムの例となる実施形態を示す。
【
図7】[0010]
図7は、本技術のいくつかの態様による、例となる方法の実施形態を示す。
【
図8】[0011]
図8は、本技術のいくつかの態様による、例となる方法の実施形態を示す。
【
図9A】[0012]
図9Aは、本技術のいくつかの態様による、例となる会話(conversations)において使用される、例となる接続を示す。
【
図9B】
図9Bは、本技術のいくつかの態様による、例となる会話において使用される、例となる接続を示す。
【
図9C】
図9Cは、本技術のいくつかの態様による、例となる会話において使用される、例となる接続を示す。
【
図9D】
図9Dは、本技術のいくつかの態様による、例となる会話において使用される、例となる接続を示す。
【
図10A】[0013]
図10Aは、本技術のいくつかの態様による、接続管理システムによって促進される通信のための例となるユーザインターフェースを示す。
【
図10B】
図10Bは、本技術のいくつかの態様による、接続管理システムによって促進される通信のための例となるユーザインターフェースを示す。
【
図11】[0014]
図11は、本技術のいくつかの態様による、コンピューティングシステムの例となる実施形態を示す。
【発明を実施するための形態】
【0005】
[0015]添付の図面では、同様のコンポーネントおよび/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプの様々なコンポーネントは、参照ラベルの後に、ダッシュと、同様のコンポーネント同士を区別する第2のラベルとを続けることによって区別され得る。本明細書において第1の参照ラベルのみが使用される場合、その説明は、第2の参照ラベルにかかわらず、同じ第1の参照ラベルを有する同様のコンポーネントのうちの任意の1つに適用可能である。
【0006】
[0016]次に続く説明は、(1つまたは複数の)実施形態の好ましい例のみを提供し、本開示の範囲、適用可能性、または構成を限定するようには意図されない。むしろ、(1つまたは複数の)実施形態の好ましい例の次に続く説明は、実施形態の好ましい例を実施することを可能にする説明を当業者に提供する。様々な変更が、添付の特許請求の範囲に記載されるような趣旨および範囲から逸脱することなく、要素の配置および機能において行われ得ることが理解される。
【0007】
[0017]本技術は、ユーザのタスクを支援するためのコンシェルジュ人工知能サービスに関する。「コンシェルジュ(concierge)」サービスという用語は、限られた数の単純なタスクしか実行することができず、かつ、それと通信するために厳格なプロトコルを必要とする、従来技術の仮想アシスタントと区別するために使用される。本明細書で説明されるコンシェルジュサービスは、例えば、テキストメッセージまたは他のメッセージングアプリケーションを含む、ネットワークデバイス上の任意の通信ユーザインターフェースを通じた通信によってタスクを受信し得る。受信された通信は、自然言語で受信され得る(すなわち、ウェイクワード、キーワード、特定のフレーズ、明示的にサービス名を指定すること(explicitly naming services)などを含む厳格なプロトコルへの準拠を必要としない)。
【0008】
[0018]コンシェルジュサービスは、受信された自然言語コミュニケーション(natural language communication)のインテントを決定し、ユーザのタスクを手助けするための適切なエンドポイントを決定し得、ネットワークデバイスと適切なエンドポイントとの間の会話を開き得る。エンドポイントは、エージェントの端末デバイス、ソーシャルネットワークユーザのネットワークデバイス、サービスのアプリケーションプログラミングインターフェース(API)、またはモノのインターネット(IOT)デバイスであり得る。
【0009】
[0019]いくつかの実施形態では、コンシェルジュサービスは、電話番号、IPアドレス、またはURLなどのパブリックアドレスに自然言語コミュニケーションをアドレス指定することによってコンタクトされ得る。
【0010】
[0020]いくつかの実施形態では、本技術のコンシェルジュサービスは、テキストメッセージングアプリケーションから発信された通信を受信し得る。テキストメッセージングアプリケーションは、いくつかの望ましくない特性(qualities)によって特徴付けられ得、例えば、会話にアドレスを追加または削除することができない、会話スレッドは厳密に線形であり、したがって、複数のトピックスレッドを区別することが困難であるなどである。コンシェルジュサービスは、関連付けられたネットワークデバイスを操作するユーザと、会話に追加または削除されるべき1つまたは複数のエンドポイントとの間の仲介者として機能することによって、この特性を克服し得る。加えて、コンシェルジュサービスが、テキストメッセージチェーンにおいて追加のまたは新しいインテントを検出すると、コンシェルジュサービスは、会話を線引きし、ユーザにとって明確な方法でメッセージを提示し得る。さらに、異なるエンドポイントが異なる会話に関連付けられているとき、本技術のコンシェルジュサービスは、それぞれの会話におけるエンドポイントに向けられたメッセージのみを、意図されたエンドポイントにルーティングし得る。
【0011】
[0021]本技術は、仮想アシスタント技術における欠陥に対処する。多くの場合、従来技術の仮想アシスタントは、タスクの支援を要求しているユーザが、タスクをどのように完了するかを仮想アシスタントに指示するために、厳格なプロトコルに準拠することを必要とする。例えば、従来技術の仮想アシスタントでは、ユーザがどのサービスがタスクを実行し得るかを仮想アシスタントに伝えることを必要とするか(例えば、「Lyftを使用して自宅まで送ってくれる車を呼ぶ」-ユーザは、乗車サービス名「Lyft」を指定する必要がある)、またはユーザが仮想アシスタントに特定のフレーズ(例えば、「『ニュース速報』をもらえますか?」。「ニュース速報」というフレーズは、1つまたは複数の設定されたニュースソースからの概要にリンクされた特定のフレーズである)を使用して、認識されたタスクを実行するように伝えることを必要とする。仮想アシスタントとインタラクトするこのような方法は、仮想アシスタントの有用性を、アシスタントおよびユーザがトレーニングされているタスクのみに限定する。現行の仮想アシスタントは、ユーザ要求から新たなタスクを有機的に学習することが妨げられており、代わりに、仮想アシスタントを提供する企業、および/または仮想アシスタントを通じてサービスを提供する企業が、仮想アシスタントを設定しなければならない。
【0012】
[0022]本技術は、厳格なプロトコルへの準拠を必要としない自然言語で与えられた要求を処理し得る。本技術は、ユーザのインテントを理解するために、自然言語処理技法を実行し得、適切なインテントに一致する利用可能なエンドポイントを選択し得る。したがって、本技術は、コンシェルジュサービスからの利益を得るために、ユーザがトレーニングされていることを必要としない。
【0013】
[0023]加えて、コンシェルジュサービスがユーザのインテントを処理する(handle)ためのサービスを知らないときも、要求が依然として処理され得るのに対し、従来技術の仮想アシスタントは、特定のサービスを識別することができないときは失敗する。従来技術の仮想アシスタントは、比較的少数の利用可能なタスクに限定されており、これらのタスクは、限られた複雑さのものである。従来技術の仮想アシスタントはまた、そうするように厳格に事前設定されていなければ、ユーザのインテントに基づいて複数のサービスを互いにリンクさせない。
【0014】
[0024]本技術はまた、プラットフォームにとらわれないことによって、従来技術の仮想アシスタントよりも改善されている。これは、重要な技術的意味をもつ。例えば、本技術は、より多くのユーザにサービス提供し得、したがって、機械学習アルゴリズムを動力源とするそのパフォーマンスは、それがより大きいデータセットでトレーニングされるので、よりロバストかつ正確である。
【0015】
[0025]本技術はまた、いくつかの技術的な効率性を考慮して設計されている。一例では、本技術は、「コンシェルジュ」人工知能サービスとインターフェースするために、標準的なメッセージングアプリケーションを利用する。これは、ユーザのネットワークデバイス上で新しいソフトウェアがダウンロードされおよび実行される必要がなく、コンシェルジュ人工知能サービスがサーバベースであり、したがって、人工知能の部分がユーザのネットワークデバイス上で機械学習によってトレーニングされるまたはインストールされる場合に比べてより頻繁に新しい機械学習に基づいて更新され得るという点で、効率性を提供する。
【0016】
[0026]本技術はまた、ユーザのネットワークデバイス上でよく見られる特定の問題を解決する。現代のネットワークデバイスは、多くの「アプリ(Apps)」を必要とし、各々がそれらの特定の目的のためのものである。これは、ユーザが、各アプリがどの機能を実行するかを覚えていなければならず、アプリを使用するためには、ユーザは正しいアプリを見つけるために、時として何百ものアプリを捜し回らなければならないという負の結果をもたらす。本技術は、他のユビキタスアプリ(すなわち、テキストメッセージングアプリケーション)において既に利用可能なユーザインターフェースを活用することによって、これらの欠点を克服する。
【0017】
[0027]これらおよび他の利点が、以下の説明から当業者には明らかになるであろう。
【0018】
[0028]
図1は、本明細書で説明されるある特定の実施形態および機能を実装およびサポートする、ネットワークインタラクションシステム100の一実施形態のブロック図を示す。ある特定の実施形態は、(ユーザ110によって操作され得る)ネットワークデバイス105と、(エージェント120によって操作され得る)端末デバイス115、(クライアント125によって操作される)クライアントデバイス130、(ソーシャルユーザ145によって操作され得る)ネットワークデバイス135、および/またはモノのインターネット(IOT)デバイス155などの、エンドポイント112との間の接続を確立することに関する。
【0019】
[0029]いくつかの実施形態では、ユーザ110は、ウェブサイトを閲覧している個人、またはリモートサーバ140によって提供されるオンラインサービスにアクセスしている個人であり得る。いくつかの実施形態では、ユーザ110は、サービスを代行してくれることを求めている個人であり得る。このようなサービスは、質問に対して回答を得ること、別のデバイス(IOTデバイス155など)を操作すること、タスクまたはサービスについてエージェントから手助けを得ること、取引を行うことなどを含み得る。
【0020】
[0030]クライアント125は、ウェブサイトまたはオンラインサービスを提供、運用(operates)、または運営する(runs)エンティティ、あるいは本明細書で説明されるように、クライアント125に利用可能なタスクを実行するために、このようなエンティティによって雇用またはアサインされた個人であり得る。
【0021】
[0031]エージェント120は、ウェブサイトまたはオンラインサービスに関するサポートまたは情報(例えば、オンラインストアで入手可能な製品に関する情報)をユーザ110に提供することをタスクとして課されたサポートエージェントまたは販売員などの個人であり得る。多数のエージェントのうち、エージェントのサブセットが、特定のクライアント125にサポートまたは情報を提供するのに適切であり得る。エージェント120は、クライアント125と提携していても、提携していなくてもよい。各エージェントは、1つまたは複数のクライアント125に関連付けられ得る。いくつかの非限定的な例では、ユーザ110は、パーソナルコンピューティングデバイスからオンラインストアでショッピングする個人であり得、クライアント125は、製品をオンラインで販売する企業であり得、エージェント120は、この企業によって雇用された販売員であり得る。様々な実施形態では、ユーザ110、クライアント125、およびエージェント120は、他の個人またはエンティティであり得る。
【0022】
[0032]ソーシャルユーザ145は、ユーザ110のソーシャルネットワークの一部である個人またはグループであり得る。ソーシャルユーザ145は、ユーザ110への直接的なつながり(connection)であり得るか、またはユーザ110から1次以上の隔たりがあるつながりであり得る。いくつかの実施形態では、ソーシャルユーザ145は、ユーザ110またはソーシャルユーザ145の要求によって、接続管理システム150に登録される。いくつかの実施形態では、ソーシャルユーザ145は、ユーザ110のソーシャルグラフに関係する情報を検索する(retrieve)許可を受信した後に、接続管理システム150に登録される。このような検索は、ユーザ110のインテントおよび/またはソーシャルユーザ145のインテントに従って、ならびにソーシャルメディアネットワークのポリシーに従って実行されるべきである。
【0023】
[0033]いくつかの実施形態では、ソーシャルユーザ145は、エージェント120でもあり得る。ソーシャルユーザが、接続管理システム150によって記録された特定のトピックの専門知識を有しているとき、ソーシャルユーザ145は、本明細書でより詳細に説明されるように、指定されたトピックについてはエージェント120と見なされ、他のトピックについてはソーシャルユーザ145と見なされ得る。
【0024】
[0034]
図1が単一のネットワークデバイス105、端末デバイス115、クライアントデバイス130、ネットワークデバイス135、およびIOTデバイス155のみを示している一方で、インタラクションシステム100は、複数または多数(例えば、数十、数百、または数千)もの、これらのタイプのデバイスのうちの1つまたは複数の各々を含み得る。同様に、
図1が単一のユーザ110、エージェント120、クライアント125、およびソーシャルユーザ145のみを示している一方で、インタラクションシステム100は、複数または多数もの、このようなエンティティのうちの1つまたは複数の各々を含み得る。したがって、所与のネットワークデバイスと通信するためにどのエンドポイントが選択されるべきかを決定することが必要であり得る。さらに複雑な問題として、リモートサーバ140もまた、ネットワークデバイス105との選択通信(select communications)を受信しおよびそれに応答するように構成され得る。
【0025】
[0035]接続管理システム150は、通信の戦略的ルーティングを促進(facilitate)し得る。接続管理システム150は、ユーザ110およびエンドポイント112と通信するためのコンシェルジュサービス152を提供し得る。コンシェルジュサービス152は、自然言語コミュニケーションを理解し、会話スレッドにおいて返答(replies)および質問を生成することと、受信された自然言語コミュニケーションの特性を接続管理システム150に知らせることと、のために使用される会話型インターフェースであり得る。
【0026】
[0036]通信は、(例えば、タイプ入力または音声入力などの、エンティティからの入力に基づいて定義された)コンテンツを有するメッセージを含み得る。通信はまた、送信デバイスに関するデータ(例えば、IPアドレス、アカウント識別子、デバイスタイプ、および/またはオペレーティングシステム)、宛先アドレス、クライアントの識別子、ウェブページまたはウェブページ要素(例えば、通信が生成されたときに訪問されているか、または別の方法で通信に関連付けられている、ウェブページまたはウェブページ要素)の識別子またはオンライン履歴データ、時間(例えば、時刻および/または日付)、および/または宛先アドレスなどの、追加のデータを含み得る。他の情報も通信に含められ得る。いくつかの実施形態では、接続管理システム150は、通信全体を別のデバイスにルーティングする。いくつかの実施形態では、接続管理システム150は、通信を修正(modifies)するか、または(例えば、当初の通信に基づいて)新しい通信を生成する。新しいまたは修正された通信は、メッセージ(またはその処理されたバージョン)、(例えば、送信デバイス、ウェブページまたはオンライン履歴、および/または時間に関する)追加のデータのうちの少なくともいくつか(または全て)、および/または接続管理システム150によって識別された他のデータ(例えば、特定のアカウント識別子またはデバイスに関連付けられたアカウントデータ)を含み得る。新しいまたは修正された通信は、他の情報も含み得る。
【0027】
[0037]戦略的ルーティングを促進することの一部は、ネットワークデバイス105と1つまたは複数の端末デバイス115との間の1つまたは複数の接続を確立、更新、および使用することを含み得る。例えば、ネットワークデバイス105から通信を受信すると、接続管理システム150は、(もしあれば)どのクライアントに通信が対応するかを推定し得る。クライアントを識別すると、接続管理システム150は、ネットワークデバイス105との通信のためにクライアントに関連付けられた端末デバイス115を識別し得る。いくつかの実施形態では、識別は、複数のエージェント(または、エキスパートもしくは代行者(delegates))の各々のプロファイルを評価することを含み得、複数のエージェントのうちの各エージェント(例えば、エージェント120)は、端末デバイス(例えば、端末デバイス115)に関連付けられている。評価は、ネットワークデバイスメッセージにおけるコンテンツに関連し得る。端末デバイス115の識別は、例えば、2010年3月17日に出願された米国特許出願第12/725,799号に記載された技法を含み得、これは、あらゆる目的のために、その全体が参照により本明細書に組み込まれている。
【0028】
[0038]いくつかの実施形態では、接続管理システム150は、ネットワークデバイス105と、クライアント(またはリモートサーバ140)に関連付けられたエンドポイント112との間に何らかの接続が確立されているかどうか、および確立されている場合には、その通信を含む一連の通信を交換するために、そのようなチャネルが使用されるべきかどうかを決定し得る。
【0029】
[0039]ネットワークデバイス105と通信するエンドポイント112を選択すると、接続管理システム150は、ネットワークデバイス105とエンドポイント112との間の接続を確立し得る。いくつかの実施形態では、接続管理システム150は、選択されたエンドポイント112にメッセージを送信し得る。メッセージは、ネットワークデバイス105と通信するために、提案された割当ての受諾を要求し得るか、またはそのような割当てが生成されたことを識別し得る。メッセージは、ネットワークデバイス105に関する情報(例えば、IPアドレス、デバイスタイプ、および/またはオペレーティングシステム)、関連付けられたユーザ110に関する情報(例えば、使用言語(language spoken)、クライアントとインタラクトした持続時間、スキルレベル、センチメント、および/またはトピック選好)、受信された通信、ネットワークデバイス105への通信を生成および送信するためのコード(例えば、クリック可能なハイパーリンク)、および/またはネットワークデバイス105への通信を生成および送信するための命令を含み得る。
【0030】
[0040]いくつかの実施形態では、ネットワークデバイス105とエンドポイント112との間の通信は、接続管理システム150を通じてルーティングされ得る。このような構成は、接続管理システム150が、通信交換を監視することと、いずれかのデバイスの非応答性または延長されたレイテンシなどの(例えば、規則に基づいて定義されるような)問題を検出することとを可能にし得る。さらに、このような構成は、通信の選択的または完全な記憶を促進し得、これは、後に、例えば、通信交換の品質を評価するために、および/または、特定の通信後ターゲット(post-communication targets)を促進するようにルーティング規則を更新または生成するための学習をサポートするために使用され得る。本明細書でさらに説明されるように、このような構成は、ユーザ110と1つまたは複数のエンドポイント112との間の会話の管理を促進し得る。
【0031】
[0041]いくつかの実施形態では、接続管理システム150は、リアルタイムで通信交換を監視し、ライブ通信に基づいて自動化されたアクション(例えば、規則ベースのアクション、人工知能由来のアクション(artificial intelligence originated actions)など)を実行し得る。例えば、接続管理システム150が、通信が特定の製品に関連すると決定すると、接続管理システム150は、製品に関する追加の情報(例えば、在庫製品の数量、製品に関連するサポート書類(support documents)へのリンク、または製品もしくは類似製品に関する他の情報)を含む追加のメッセージをエンドポイント112に自動的に送信し得る。
【0032】
[0042]いくつかの実施形態では、指定されたエンドポイント112は、接続管理システム150を通じて通信を中継することなく、ネットワークデバイス105と通信し得る。デバイス105、115の一方または両方は、通信監視および/またはデータ記憶を促進するために、特定の通信メトリックまたはコンテンツを接続管理システム150に報告してもよい(または報告しなくてもよい)。
【0033】
[0043]上述されたように、接続管理システム150は、選択通信をリモートサーバ140にルーティングし得る。リモートサーバ140は、所定の方法で情報を提供するように構成され得る。例えば、リモートサーバ140は、通信に応答して送信するために、定義された1つまたは複数のテキストパッセージ、音声記録(voice recording)、および/またはファイルにアクセスし得る。リモートサーバ140は、例えば、受信された通信の解析(例えば、セマンティックまたはマッピング解析)に基づいて、特定のテキストパッセージ、記録、またはファイルを選択し得る。
【0034】
[0044]接続管理システム150において実行されるルーティングおよび/または他の決定または処理は、1つまたは複数のクライアントデバイス130によって少なくとも部分的に定義されるかまたは提供されるデータおよび/または規則に基づいて実行され得る。例えば、クライアントデバイス130は、エージェントの優先順位付け、端末デバイスのタイプ、および/または、トピック/スキルマッチングを識別する通信を送信し得る。別の例として、クライアントデバイス130は、ルーティング決定に影響を及ぼす可能性のある様々な変数(例えば、言語互換性、予測応答時間、デバイスタイプおよび能力、ならびに/または端末デバイスの負荷バランシング)に適用するための1つまたは複数の重みを識別し得る。どの端末デバイスおよび/またはエージェントがクライアントに関連付けられるべきかは、動的であり得ることが理解されよう。クライアントデバイス130および/または端末デバイス115からの通信は、所与の端末デバイスおよび/またはエージェントがクライアントに関連付けられたものとして追加または削除されるべきであることを示す情報を提供し得る。例えば、クライアントデバイス130は、IPアドレスを有する通信と、そのアドレスを有する端末デバイスが、クライアント関連の端末デバイスを識別するリストに追加されるべきか、またはそのリストから削除されるべきかに関するインジケーションとを送信し得る。
【0035】
[0045]各通信(例えば、デバイス間、デバイスと接続管理システム150との間、リモートサーバ140と接続管理システム150との間、またはリモートサーバ140とデバイスとの間)は、1つまたは複数のネットワーク170上で行われ得る。オープンまたはクローズドネットワークの任意の組合せが、1つまたは複数のネットワーク170に含まれ得る。好適なネットワークの例は、インターネット、パーソナルエリアネットワーク、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはワイヤレスローカルエリアネットワーク(WLAN)を含む。他のネットワークも同様に好適であり得る。1つまたは複数のネットワーク170は、イントラネット、エクストラネット、またはそれらの組合せ内に完全に組み込まれ得るか、またはそれらを含み得る。いくつかの実施形態では、1つまたは複数のネットワーク170におけるネットワークは、Bluetooth(登録商標)またはBluetooth Low Energyチャネルなどの、短距離通信チャネルを含む。一実施形態では、2つ以上のシステムおよび/またはデバイス間の通信は、セキュアソケットレイヤ(SSL)またはトランスポートレイヤセキュリティ(TLS)などの、セキュア通信プロトコルによって達成され得る。加えて、データおよび/またはトランザクションの詳細は、限定はしないが、データ暗号化標準(DES)、トリプルDES、Rivest-Shamir-Adleman暗号(RSA)、Blowfish暗号、Advanced Encryption Standard(AES)、CAST-128、CAST-256、無相関化高速暗号(DFC:Decorrelated Fast Cipher)、Tiny Encryption Algorithm(TEA)、eXtended TEA(XTEA)、Corrected Block TEA(XXTEA)、および/またはRC5などのような、任意の便利な、既知の、または開発される方法に基づいて、暗号化され得る。
【0036】
[0046]ネットワークデバイス105、端末デバイス115、ネットワークデバイス135、IOTデバイス155、および/またはクライアントデバイス130は、例えば、ポータブル電子デバイス(例えば、スマートフォン、タブレット、ラップトップコンピュータ、またはスマートウェアラブルデバイス)、または非ポータブル電子デバイス(例えば、1つまたは複数のデスクトップコンピュータ、スマート家電、サーバ、および/またはプロセッサ)を含み得る。接続管理システム150は、ネットワークデバイス、端末デバイス、IOTデバイス、およびクライアントデバイスとは別個に収容され得るか、または(例えば、デバイス上のアプリケーションのインストールを介して)1つまたは複数のこのようなデバイスの一部であり得る。リモートサーバ140は、各デバイスおよび接続管理システム150とは別個に収容され得、および/または、別のデバイスまたはシステムの一部であり得る。
図1における各デバイス、サーバ、およびシステムが単一のデバイスとして示されている一方で、複数のデバイスが代わりに使用され得ることが理解されよう。例えば、ネットワークデバイスのセットが、単一のユーザから様々な通信を送信するために使用され得、またはリモートサーバ140は、サーバスタックを含み得る。
【0037】
[0047]ソフトウェアエージェントまたはアプリケーションは、図示されたデバイス、システム、またはサーバ上にインストールされ得、および/またはその上で実行可能であり得る。一事例では、ソフトウェアエージェントまたはアプリケーションは、様々な図示された要素が相補的な形で動作し得るように構成される。例えば、デバイス上のソフトウェアエージェントは、デバイス使用に関するデータを収集し、別個の接続管理システムに送信するように構成され得、別個の接続管理システム上のソフトウェアアプリケーションが、データを受信および処理するように構成され得る。
【0038】
[0048]
図2は、ネットワークインタラクションシステム200の別の実施形態のブロック図を示す。一般に、
図2は、ネットワークデバイス205が1つまたは複数の端末デバイス215と通信することを可能にするように構成および配置された様々なコンポーネントを示す。図示された事例は、3つのローカルエリアネットワーク235に含まれる9個の端末デバイス215を含む。
【0039】
[0049]いくつかの実施形態では、ネットワークデバイス205からの通信は、どの端末デバイスが通信を受信すべきかを少なくとも部分的にまたは完全に示す宛先データ(例えば、宛先IPアドレス)を含む。ネットワークインタラクションシステム200は、宛先データを処理し、適切なルーティングを促進し得る、1つまたは複数のインターネットワーク接続コンポーネント240および/または1つまたは複数のイントラネットワーク接続コンポーネント255を含み得る。
【0040】
[0050]各インターネットワーク接続コンポーネント245は、複数のネットワーク235に接続され得、複数のネットワークカードをインストールされ得る(例えば、各カードは異なるネットワークに接続される)。例えば、インターネットワーク接続コンポーネント245は、広域ネットワーク270(例えば、インターネット)および1つまたは複数のローカルエリアネットワーク235に接続され得る。図示された事例では、通信がネットワークデバイス205から端末デバイスのいずれかに送信されるためには、図示されたシステムでは、通信は、複数のインターネットワーク接続コンポーネント245によって処理されなければならない。
【0041】
[0051]インターネットワーク接続コンポーネント245が通信(または通信に対応するパケットのセット)を受信すると、インターネットワーク接続コンポーネント245は、この通信を宛先に関連付けられたネットワークに渡すルートの少なくとも一部を決定し得る。ルートは、例えば、(例えば、ルータにおいて記憶された)ルーティングテーブルを使用して決定され得、これは、事前に定義されたか、(例えば、別のルータからまたは別のデバイスからの)着信メッセージ(incoming message)に基づいて生成されたか、または学習された1つまたは複数のルートを含み得る。
【0042】
[0052]インターネットワーク接続コンポーネント245の例は、ルータ260およびゲートウェイ265を含む。インターネットワーク接続コンポーネント245(例えば、ゲートウェイ265)は、ネットワークシステムまたはプロトコル間で変換するように構成され得る。例えば、ゲートウェイ265は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)デバイスと、インターネットワークパケット交換/シーケンスパケット交換(IPX/SPX)デバイスとの間の通信を促進し得る。
【0043】
[0053]ローカルエリアネットワーク235において通信を受信すると、さらなるルーティングが依然として実行される必要があり得る。このようなイントラネットワークルーティングは、スイッチ280またはハブ285などの、イントラネットワーク接続コンポーネント255を介して実行され得る。各イントラネットワーク接続コンポーネント255は、(例えば、無線で、またはイーサネット(登録商標)ケーブルなどを介して有線で)複数の端末デバイス215に接続され得る。ハブ285は、それが接続されている各デバイスに対して、全ての受信された通信を繰り返すように構成され得る。次いで、各端末デバイスは、端末デバイスが宛先デバイスであるかどうか、または通信が無視されるべきであるかどうかを決定するために、各通信を評価し得る。スイッチ280は、通信を宛先端末デバイスのみに選択的に誘導する(direct)ように構成され得る。
【0044】
[0054]いくつかの実施形態では、ローカルエリアネットワーク235は、複数のセグメントに分割され得、その各々が、独立したファイアウォール、セキュリティ規則、およびネットワークプロトコルに関連付けられ得る。イントラネットワーク接続コンポーネント255は、イントラセグメントルーティングを促進するために、1つ、複数、または全てのセグメントの各々に提供され得る。ブリッジ290数のセグメント275にわたって通信をルーティングするように構成され得る。
【0045】
[0055]ネットワークにわたって、またはネットワーク内で通信を適切にルーティングするために、様々なコンポーネントが通信における宛先データを分析する。例えば、そのようなデータは、通信がどのネットワークにルーティングされるべきか、通信がネットワーク内のどのデバイスにルーティングされるべきか、または端末デバイスがどの通信を処理すべきか(または無視すべきか)を示し得る。しかしながら、いくつかの実施形態では、ネットワークデバイスからの通信に、どの端末デバイスが参加すべきか(またはどのネットワークが加わるべきかさえも)は直ぐには分からない。
【0046】
[0056]例として、端末デバイスのセットが、同様のタイプの応答通信を提供するように構成され得る。したがって、ネットワークデバイスからの通信におけるクエリは、どのネットワークデバイスに通信がルーティングされるかにかかわらず、同様の方法で応答され得ることが予期され得る。この仮定は、高いレベルで当てはまり得るが、端末デバイスに関係する様々な詳細は、他のものと比較して特定のルーティングが有利になることをもたらし得る。例えば、セット内の端末デバイスは、(例えば)どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的近接性および/またはネットワーク近接性、および/または、関連付けられたエージェントの特性(例えば、知識ベース、経験、使用言語、可用性、一般的な性格またはセンチメントなど)に関して互いに異なり得る。したがって、選択ルーティングは、ネットワークデバイス通信により正確におよび/または完全に応答する、より高速な応答を促進し得る。1つの問題点は、ネットワークデバイスを端末デバイスにマッピングする静的ルーティングが、通信のトピック、チャネルタイプ、エージェントの可用性などにおけるバリエーションを考慮できない場合があることである。
【0047】
[0057]
図3A、
図3B、
図3Cは、接続管理システムを含むネットワークインタラクションシステム300a、300b、300cの他の実施形態のブロック図を示す。図示されたシステム300a、300b、300cの各々は、簡略化のために2つのローカルエリアネットワーク235のみを示しているが、ローカルエリアネットワークの数を増やすために、実施形態が拡張され得ることが理解され得る。システム300a、300b、300cの各々は、接続管理システム150を含み、これは、どの端末デバイスがネットワークデバイス205と通信すべきかを識別し得、接続を確立および管理(例えば、維持するまたは閉じる)し得、交換において通信を再ルーティングするかどうかおよびいつ再ルーティングするかを決定し得る、などである。したがって、接続管理システム150は、ルーティング決定に影響を及ぼすために、通信、エージェントの可用性、端末デバイスまたはエージェントの能力などを動的にかつリアルタイムで評価するように構成され得る。
【0048】
[0058]
図3Aでは、接続管理システム150は、ネットワークデバイス205およびリモートサーバ340の各々に関連付けられる(例えば、接続管理システム150aは、ネットワークデバイス205に関連付けられ、接続管理システム150bは、リモートサーバ340に関連付けられる)。例えば、接続管理システム150aおよび/または接続管理システム150bは、それぞれネットワークデバイス205およびリモートサーバ340の各々にアプリケーションとしてインストールまたは記憶され得る。(1つまたは複数の)アプリケーションの実行は、例えば、ネットワークデバイス205との通信交換に参加するために選択される端末デバイス215を識別するための、ネットワークデバイス205とリモートサーバ340との間の通信を促進し得る。識別は、本明細書で開示される1つまたは複数の要因(例えば、可用性、通信のトピック/詳細レベルとエージェントまたは端末デバイスの知識ベースとの間のマッチング、予測レイテンシ、チャネルタイプの可用性など)に基づいて行われ得る。
【0049】
[0059]クライアントデバイス330は、ルーティング決定がどのように行われるべきか示すクライアントデータを提供し得る。例えば、そのようなデータは、特定の特性をどのように重み付けまたはマッチングさせるべきかに関するインジケーション、または制約もしくはバイアス(例えば、負荷バランシングまたは予測応答レイテンシに関係する)を含み得る。クライアントデータはまた、通信チャネルがいつ確立される(または閉じられる)べきか、または異なるネットワークデバイスに通信がいつ再ルーティングされるべきかに関する仕様も含み得る。クライアントデータは、通信ルーティングなどのための規則のような、様々なクライアント固有の規則を定義するために使用され得る。
【0050】
[0060]リモートサーバ340上で実行中の接続管理システム150bは、どの通信チャネルがサポートされているか、ネットワークデバイスへの地理的近接性および/もしくはネットワーク近接性、端末デバイスとの通信のレイテンシおよび/もしくは安定性、端末デバイスのタイプ、端末デバイスの能力、端末デバイス(またはエージェント)が所与のネットワークデバイス(またはユーザ)と以前に通信したことがあるかどうか、ならびに/または、関連付けられたエージェントの特性(例えば、知識ベース、経験、使用言語、可用性、一般的な性格またはセンチメントなど)のような、端末デバイスに関係する(例えば、所与のクライアントに関係する)様々なメトリックを監視し得る。したがって、通信管理システム150bは、メトリックに基づいてネットワークデバイスの通信により正確におよび/または完全に応答する、より高速な応答を促進するようにルーティングを選択することが可能となり得る。
【0051】
[0061]
図3Aに図示される例では、ネットワークデバイス205とリモートサーバ340との間の通信交換は、宛先アドレスの早期識別を促進し得る。次いで、ネットワークデバイス205は、後続の通信を誘導するために、宛先アドレスを使用し得る。例えば、ネットワークデバイス205は、(例えば、1つまたは複数のインターネットワーク接続および広域ネットワークを介して)リモートサーバ340に初期通信を送り得、リモートサーバ340は、1つまたは複数の対応するクライアントを識別し得る。次いで、リモートサーバ340は、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを識別し、それらの端末デバイスについてのメトリックを収集し得る。メトリックは、通信交換に関与させる端末デバイスを選択するために(例えば、リモートサーバ340によって)評価され得、端末デバイスに関係する情報(例えば、IPアドレス)が、ネットワークデバイス205に送られ得る。いくつかの実施形態では、リモートサーバ340は、様々な端末デバイスについてのメトリックを継続的または定期的に収集および評価し、評価結果をデータストアに記憶し得る。このような実施形態では、1つまたは複数の対応するクライアントに関連付けられた端末デバイスのセットを識別すると、リモートサーバ340は、データストアからの記憶された評価結果にアクセスし、記憶された評価結果に基づいて、通信交換に関与させる端末デバイスを選択し得る。
【0052】
[0062]
図3Bでは、接続管理システム150は、中継器および/または宛先アドレスとして機能するように構成され得る。したがって、例えば、ネットワークデバイス205のセットは、各々が接続管理システム150を宛先として識別する通信を送信し得る。接続管理システム150は、各通信を受信し得、端末デバイスのセットを(例えば、各端末デバイスについてのメトリックを生成するために)同時並行に監視し得る。監視および規則に基づいて、接続管理システム150は、それが各通信を中継し得る端末デバイス215を識別し得る。実施形態に応じて、端末デバイスの通信は、同様に、さらなる中継のために(例えば、接続管理システム150の)一定の宛先に誘導され得るか、または端末デバイスは、対応するネットワークデバイスと直接通信を開始し得る。これらの実施形態は、効率的なルーティングおよび徹底した通信の監視を促進し得る。
【0053】
[0063]
図3Cに図示される実施形態は、
図3Bのものと同様である。しかしながら、いくつかの実施形態では、接続管理システム150は、イントラネットワークコンポーネント(例えば、端末デバイス、イントラネットワーク接続、またはその他)に直接接続される。
【0054】
[0064]
図3A~
図3Cの多くのバリエーションが企図されることが理解されよう。例えば、接続管理システム150は、接続管理システム150(またはその一部)に対応するアプリケーションが、コンポーネントにインストールされるように、接続コンポーネント(例えば、インターネットワーク接続コンポーネント245またはイントラネットワーク接続コンポーネント255)に関連付けられ得る。アプリケーションは、例えば、独立に、または(例えば、1つまたは複数の他のコンポーネント、ネットワークデバイス、またはリモートサーバ上で実行中の)1つまたは複数の同様のまたは相補的なアプリケーションと通信することによって、実行し得る。
【0055】
[0065]
図4は、接続コンポーネントの動作のプロトコルスタックマッピング400の表現を示す。より具体的には、
図4は、様々な接続コンポーネントに対応する開放型システム間相互接続(OSI:Open Systems Interaction)モデルにおける動作の層を識別する。
【0056】
[0066]OSIモデルは、複数の論理層402~414を含み得る。これらの層は、層402~412がそれぞれ上位レベルをサービスし、層404~414がそれぞれ下位層によってサービスされるように、順序付けられたスタックで配置されている。OSIモデルは、物理層402を含む。物理層402は、パラメータの物理的通信(例えば、電気的、光学的、または電磁的)を定義し得る。物理層402はまた、接続を確立および閉じるためのプロトコルなどの接続管理プロトコルを定義する。物理層402は、フロー制御プロトコルおよび送信モードをさらに定義し得る。
【0057】
[0067]リンク層404は、ノード間通信を管理し得る。リンク層404は、エラー(例えば、物理層402における送信エラー)を検出および訂正し、アクセス許可を管理し得る。リンク層404は、媒体アクセス制御(MAC)層および論理リンク制御(LLC)層を含み得る。
【0058】
[0068]ネットワーク層406は、(例えば、データグラムとして)同じネットワーク内のノードにわたる(例えば、可変長の)データの転送を調整し得る。ネットワーク層406は、論理ネットワークアドレスを物理マシンアドレスに変換し得る。
【0059】
[0069]トランスポート層408は、送信品質および受信品質を管理し得る。トランスポート層408は、送信制御プロトコル(TCP)などの、データを転送するためのプロトコルを提供し得る。トランスポート層408は、送信用のデータパケットのセグメント化/非セグメント化を実行し得、層402、404、406において発生する送信エラーを検出し、それに対処し得る。セッション層410は、ローカルアプリケーションとリモートアプリケーションとの間の接続を開始、維持、および終了し得る。セッションは、リモートプロシージャインタラクションの一部として使用され得る。プレゼンテーション層412は、アプリケーション層またはネットワーク層によって受け付けられることが知られているデータタイプに基づいて、データを暗号化、解読、およびフォーマットし得る。
【0060】
[0070]アプリケーション層414は、通信を制御または管理するソフトウェアアプリケーションとインタラクトし得る。そのようなアプリケーションを介して、アプリケーション層414は、(例えば)宛先、ローカルリソースの状態もしくは可用性、および/または通信のコンテンツもしくはフォーマッティングを識別し得る。様々な層402、404、406、408、410、412、414は、利用可能かつ適用可能な場合、他の機能を実行し得る。
【0061】
[0071]イントラネットワーク接続コンポーネント422、424は、物理層402およびリンク層404において動作するように示されている。より具体的には、通信の受信および送信に関して動作が制御され得るように、ハブが物理層で動作し得る。ハブには、通信をアドレス指定するまたはデータをフィルタリングする能力がないため、それらは、上位レベルで動作する能力をほとんどまたは全く有していない。一方、スイッチは、それらがアドレス(例えば、MACアドレス)に基づいて通信フレームをフィルタリングすることが可能であるので、リンク層404で動作し得る。
【0062】
[0072]一方、インターネットワーク接続コンポーネント426、428は、上位レベル(例えば、層406、408、410、412、414)で動作するように示されている。例えば、ルータは、アドレス(例えば、IPアドレス)に基づいて通信データパケットをフィルタリングし得る。ルータは、パケットを適切なネットワークに誘導するように、アドレスに基づいて特定のポートにパケットを転送し得る。ゲートウェイは、ネットワーク層およびそれより上位で動作し得、同様のフィルタリングおよび誘導、ならびに(例えば、プロトコルまたはアーキテクチャにわたる)さらなるデータの変換を実行する。
【0063】
[0073]接続管理システム150は、様々な実施形態において、様々な層のうちの1つ、複数、全て、または任意のものとインタラクトし、および/またはその上で動作し得る。例えば、接続管理システム150は、どの端末デバイスとハブが通信するかを動的に調整するようにハブとインタラクトし得る。別の例として、接続管理システム150は、コンポーネントが宛先(例えば、MAC、論理、または物理)アドレスとしてどの端末デバイスを選択するかに影響を及ぼすように、ブリッジ、スイッチ、ルータ、またはゲートウェイと通信し得る。さらなる例として、接続管理システム150は、トランスポート層408上のデータパケットのセグメント化、セッション層410上のセッション持続時間、ならびに/または、プレゼンテーション層412上の暗号化および/もしくは圧縮を監視、制御、または指示し得る。いくつかの実施形態では、接続管理システム150は、特定の層で動作する機器(例えば、リンク層404で動作するスイッチ)と通信を交換すること(例えば、それにコマンドを送ること)によって、(例えば、ネットワークデバイスと端末デバイスとの間の)既存の通信を特定の方法でルーティングまたは修正することによって、および/または、既存の通信に基づいて特定の情報(例えば、新しい宛先アドレス)を含む新しい通信を生成することによって、様々な層とインタラクトし得る。したがって、接続管理システム150は、様々なデバイスとのインタラクションを介して、および/または様々なプロトコルスタック層での動作に影響を及ぼすことを介して、通信ルーティングおよびチャネル確立(あるいは、維持または終了)に影響を及ぼし得る。
【0064】
[0074]
図5は、一実施形態によるマルチデバイス通信交換システム500を表す。システム500は、様々なタイプの通信チャネル上で様々なタイプのエンドポイントと通信するように構成されたネットワークデバイス505を含む。
【0065】
[0075]図示される事例では、ネットワークデバイス505は、セルラネットワーク上で(例えば、基地局510を介して)通信を送信し得る。通信は、動作ネットワーク515にルーティングされ得る。動作ネットワーク515は、通信を受信し、どのエンドポイントが通信に応答すべきかを識別する接続管理システム150を含み得る。このような決定は、(例えば、コンテンツ分析またはクライアントを示すユーザ入力に基づいて)その通信が関係するクライアントを識別することと、クライアントに関連付けられた1つまたは複数のエンドポイントの各々について1つまたは複数のメトリックを決定することとに依存し得る。例えば、
図5では、エンドポイント530a、530b、530cの各クラスタは、異なるクライアントに対応し得る。エンドポイントは、地理的に同じ場所に配置され得るか、または分散され得る。メトリックは、記憶または学習されたデータおよび/またはリアルタイムの監視に基づいて(例えば、可用性に基づいて)決定され得る。
【0066】
[0076]接続管理システム150は、1つまたは複数のルータ525または他のインターネットワークもしくはイントラネットワーク接続コンポーネントを介して、様々なエンドポイントと通信し得る。接続管理システム150は、1つまたは複数のデータストアにおいて、通信、端末デバイスの動作、クライアント規則、および/またはユーザ関連のアクション(例えば、オンラインアクティビティ、アカウントデータ、購入履歴など)からの、またはそれらに関係するデータを収集、分析、および/または記憶し得る。このようなデータは、通信ルーティングに影響を及ぼし得る。
【0067】
[0077]特に、通信ルーティングおよび/または処理に影響を及ぼすために、様々な他のデバイスがさらに使用され得る。例えば、図示される事例では、接続管理システム150はまた、ウェブサーバ540にも接続される。したがって、接続管理システム150は、技術的製品詳細、ニュース、現在の提供製品、現在のまたは予測された天気などの、関心対象のデータを検索し得る。
【0068】
[0078]ネットワークデバイス505はまた、ウェブサーバ(例えば、ストリーミングウェブサーバ545を含む)に接続され得る。いくつかの実施形態では、そのようなサーバとの通信には、接続管理システム150との通信交換を開始するための初期オプションが提供される。例えば、ネットワークデバイス505は、特定のウェブページを訪問している間に、通信機会が利用可能であることを検出し得、そのようなオプションが提示され得る。
【0069】
[0079]通信システム500の1つまたは複数の要素がまた、ソーシャルネットワーキングサーバ550に接続され得る。ソーシャルネットワーキングサーバ550は、様々なユーザデバイスから受信したデータを集約し得る。したがって、例えば、接続管理システム150は、所与のトピックに対する一般的な(またはユーザ固有の)インテントを推定すること、または所与のユーザまたはユーザのクラスの一般的な挙動を推定することが可能であり得る。ソーシャルネットワーキングサーバ550はまた、1または複数のユーザのためのソーシャルグラフを維持し得る。ソーシャルグラフは、ソーシャルユーザの第1レベルのつながり(直接的なつながり)と、さらなるレベルのつながり(ユーザの直接的なつながりを介した間接的なつながり)とから成り得、これらの全てが、本明細書で説明される潜在的なソーシャルユーザ145であり得る。
【0070】
[0080]
図6は、接続管理システム150の一実施形態のブロック図を示す。メッセージ受信機インターフェース605が、メッセージを受信し得る。いくつかの実施形態では、メッセージは、例えば、ネットワークデバイスまたはエンドポイントなどのソースデバイス(例えば、接続管理システム150とは別個に収容されるか、または同じハウジング内に収容される)によって送信される通信の一部として受信され得る。いくつかの実施形態では、通信は、一連の通信または通信交換の一部であり得、これは、2つのデバイス(例えば、ネットワークデバイスおよびエンドポイント)間でルーティングされる一連のメッセージまたは通信交換を含み得る。このメッセージまたは通信交換は、デバイス間のインタラクションの一部であり得、および/またはそれを定義し得る。通信チャネルまたは動作チャネルは、デバイス間のルーティングおよび通信交換を促進するために使用される1つまたは複数のプロトコル(例えば、ルーティングプロトコル、タスク割り当てプロトコル、および/またはアドレス指定プロトコル)を含み得る。
【0071】
[0081]いくつかの実施形態では、メッセージは、ユーザインターフェースにおいて受信された入力に基づいて生成されたメッセージを含み得る。例えば、メッセージは、ボタンもしくはキーの押下または記録された音声信号、あるいは音声テキスト化ソフトウェアに基づいて生成されたメッセージを含み得る。一事例では、メッセージは、ネットワークデバイスが特定のアプリページまたはウェブページを提示していること、または特定の入力コマンド(例えば、キー順)を提供したことを検出した際に生成されるものなどの、自動的に生成されたメッセージを含む。メッセージは、通信交換を開始するためのものなどの、命令または要求を含み得る。
【0072】
[0082]いくつかの実施形態では、メッセージは、話されたものであるかタイプされたものであるかにかかわらず、自然言語コミュニケーションであり得る。本明細書で使用される場合、自然言語コミュニケーションとは、人間同士でコミュニケートするために使用される言語の通常使用を指し、特定の仮想アシスタントまたは人工知能ツールとコミュニケートするために必要とされるプロトコルで定義される言語の使用と対比される。自然言語コミュニケーションは、コミュニケーションが人工知能に向けられていることを人工知能ツールに知らせるためのウェイクワードの使用などの制約が不要であるべきである。加えて、自然言語コミュニケーションは、コミュニケーションをどのようにサービスするかを理解するために、ユーザが特定のキーワード、特定のフレーズを識別すること、または明示的にサービス名を指定することが不要であるべきである。
【0073】
[0083]本技術は自然言語コミュニケーションを利用する一方で、コミュニケーションは、特定のキーワード、特定のフレーズを識別し得、または明示的にサービス名を指定し得る。例えば、メッセージは、クライアントの識別子を含み得るか、またはそれに関連付けられ得る。例えば、メッセージは、クライアント(またはクライアントに関連付けられたデバイス)を明示的に識別し得、メッセージは、クライアントに関連付けられたウェブページまたはアプリを含み得るか、またはそれに関連付けられ得、メッセージは、クライアントに関連付けられた宛先アドレスを含み得るか、またはそれに関連付けられ得、あるいは、メッセージは、クライアントに関連付けられた(例えば、クライアントによって販売用に提供されている、クライアントによって販売された、またはクライアントがサービス提供するものである)アイテム(例えば、製品)またはサービスの識別を含み得るか、またはそれに関連付けられ得る。例として、ネットワークデバイスは、エージェントに通信を送信するオプションを提供し得る、特定のクライアントのアプリページを提示し得る。メッセージに対応するユーザ入力を受信すると、コンシェルジュサービス152に送られ得るメッセージと特定のクライアントの識別子とを含むように通信が生成され得る。
【0074】
[0084]処理エンジン610は、受信された通信および/またはメッセージを処理し得る。処理は、例えば、1つまたは複数の特定のデータ要素(例えば、メッセージ、クライアント識別子、ネットワークデバイス識別子、アカウント識別子など)を抽出することを含み得る。処理は、(例えば、特定のデバイスタイプ、オペレーティングシステム、通信チャネルタイプ、プロトコルおよび/またはネットワークと互換性があるように)フォーマットまたは通信タイプを変換することを含み得る。
【0075】
[0085]コンシェルジュサービス152は、(例えば、抽出または受信された)メッセージを評価し得る。評価は、例えば、メッセージについての1つまたは複数のインテントを識別することを含み得る。インテントの例は、(例えば)トピック、センチメント、複雑さ、および緊急性を含み得る。トピックは、限定はしないが、主題、製品、サービス、技術的問題、使用に関する質問、苦情、払い戻し請求、または購入依頼などを含み得る、インテントは、例えば、(例えば、キーワード、文構造、繰り返された単語、句読文字および/または冠詞でない単語を識別することによる)メッセージのセマンティック解析、(例えば、選択された1つまたは複数のカテゴリを有する)ユーザ入力、および/またはメッセージ関連の統計値(例えば、タイピング速度および/または応答レイテンシ)に基づいて決定され得る。
【0076】
[0086]いくつかの実施形態では、インテントは、質問を明確にすることを含み得る会話にユーザ110を従事させること(engaging)、または単に追加の情報を要求することによって、明確にされ得る。
【0077】
[0087]いくつかの実施形態では、コンシェルジュサービス152は、自然言語コミュニケーションを理解し、通信のインテントを認識し、ユーザをダイアログに従事させるために、会話型インターフェースを利用し得る。会話型インターフェースは、機械学習または深層学習アルゴリズムを使用してトレーニングされる、人工知能の一種である。言語を解釈することに加えて、会話型インターフェースはまた、ユーザと会話型インターフェースとの間のダイアログのコンテキストにおいて意味をなす質問およびステートメントを通じてユーザに返信し得る。会話型インターフェースは、「ボット」および「チャットボット」としても知られている。会話型インターフェースの一例は、Amazon Web ServicesによるLexとして知られている。
【0078】
[0088]いくつかの実施形態では、コンシェルジュサービス152は、メッセージについてのメトリックを決定し得る。メトリックは、例えば、文字数、単語数、大文字数、全て大文字の単語数、または特定の文字もしくは句読点(例えば、感嘆符、疑問符、および/またはピリオド)のインスタンスの数を含み得る。メトリックは、感嘆符(または疑問符)で終わる文の割合、全て大文字の単語の割合などの比率を含み得る。
【0079】
[0089]コンシェルジュサービス152は、メッセージ、メッセージメトリック、および/またはメッセージ統計値をメッセージデータストア620に記憶し得る。各メッセージはまた、対応するソースデバイス、宛先デバイス、ネットワークデバイス、エンドポイント、クライアント、1つまたは複数のカテゴリ、1つまたは複数のステージ、および/またはメッセージ関連の統計値を識別するデータなどの、他のデータ(例えば、メタデータ)に関連して記憶され得る。接続管理システム150の様々なコンポーネントは、クエリ応答メッセージ、メッセージメトリック、および/またはメッセージ統計値を検索するために、メッセージデータストア620をクエリし得る。
【0080】
[0090]インタラクション管理エンジン625は、どのエンドポイント112に通信がルーティングされるべきか、ならびに受信デバイスおよび送信デバイスがどのように通信すべきかを決定し得る。これらの決定の各々は、例えば、特定のネットワークデバイス(または特定のユーザに関連付けられた任意のネットワークデバイス)が、エンドポイント112のセットにおけるエンドポイント(例えば、接続管理システム150に関連付けられた任意のエンドポイント、または1つまたは複数の特定のクライアントに関連付けられた任意のエンドポイント)と以前に通信しことがあるかどうかに依存し得る。
【0081】
[0091]いくつかの実施形態では、ネットワークデバイス(または、同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が所与のエンドポイントと(例えば、クライアントに関する事柄について)以前に通信したことがあるとき、通信ルーティングは、一般的に、同じエンドポイントに向かってバイアスされ得る。ルーティングに影響を及ぼし得る他の要因は、例えば、以前の通信に関係して推測または識別されたユーザまたはエージェントのセンチメント、現在の通信のトピック(例えば、それが以前の通信のトピックおよび/または1つまたは複数のエンドポイント112に関連付けられた知識ベースに関連する程度)、エンドポイントが利用可能であるかどうか、および/またはエンドポイントの予測応答レイテンシを含み得る。このような要因は、絶対的に、または他のエンドポイント112に対応する同様のメトリックに対して相対的に考慮され得る。再ルーティング規則(例えば、クライアント固有の規則または一般的規則)が、エージェントの一貫性を断念する(forego)かどうかを決定するために、そのような要因がどのように評価され、重み付けされるべきか示し得る。
【0082】
[0092]ネットワークデバイス(または同じユーザもしくはアカウントに関連付けられた他のネットワークデバイス)が所与のエンドポイント112と(例えば、クライアントに関する事柄について)以前に通信したことがないとき、エンドポイント112の選択は、例えば、様々なエージェントの知識ベースが通信のトピックに対応する程度、所与の時間でのおよび/またはチャネルタイプ上での様々なエージェントの可用性、エンドポイント112のタイプおよび/または能力、ユーザとエージェントとの間の言語の一致、および/または性格分析などの要因に基づいて実行され得る。一事例では、規則は、これらのような1つまたは複数の要因に対するサブスコアと、各スコアに割り当てるべき重みとをどのように決定するかを識別し得る。重み付けされたサブスコアを組み合わせる(例えば、合計する)ことによって、各エージェントについてのスコアが決定され得る。次いで、エンドポイントの選択は、(例えば、高いスコアまたは最も高いスコアを選択するように)エンドポイント112のスコアを比較することによって行われ得る。
【0083】
[0093]デバイスがどのように通信すべきか決定することに関して、インタラクション管理エンジン625は、(例えば)エンドポイント112が(例えば)電子メール、オンラインチャット、SMSメッセージ、音声通話、ビデオチャットなどを介して通信に応答すべきかどうかを決定し得る。通信タイプは、例えば、(例えば、クライアントまたはユーザによって少なくとも部分的に定義される)通信タイプ優先順位リスト、(例えば、一貫性を促進するように)ネットワークデバイスから以前に受信された通信のタイプ、受信されたメッセージの複雑さ、ネットワークデバイスの能力、および/または、1つまたは複数のエンドポイント112の可用性に基づいて選択され得る。明らかに、いくつかの通信タイプは、(例えば、高速メッセージ応答が予期される)リアルタイム通信をもたらすことになる一方で、その他は、(例えば、メッセージ間の(例えば、数分または数時間の)遅延が許容可能である)非同期通信をもたらし得る。
【0084】
[0094]いくつかの実施形態では、通信タイプは、テキストメッセージングまたはチャットアプリケーションであり得る。これらの通信技術は、ユーザのネットワークデバイス上で新しいソフトウェアをダウンロードして実行する必要がないという利点を提供する。
【0085】
[0095]さらに、インタラクション管理エンジン625は、2つのデバイス間の連続チャネルが確立、使用、または終了されるべきかどうかを決定し得る。連続チャネルは、ネットワークデバイスから指定されたエンドポイントへの将来の通信のルーティングを促進するように構成され得る。このバイアスは、一連のメッセージにわたってさえも(例えば、数日、数週または数ヶ月)持続し得る。いくつかの実施形態では、(例えば、エージェントを識別する)連続チャネルの表現が、ネットワークデバイス上で提示される提示に含まれ得る。このようにして、ユーザは、効率を高めるために通信が一貫してルーティングされるべきであることを理解し得る。
【0086】
[0096]一事例では、スコアは、所与のネットワークデバイスおよびエンドポイント112に対応する接続スコアを決定するために、本明細書で説明される1つまたは複数の要因と(例えば、1つまたは複数の要因の各々についての重みを含む)規則とを使用して生成され得る。スコアは、全体的な一致または所与の通信もしくは一連の通信に固有の一致に関係し得る。したがって、例えば、スコアは、所与のエンドポイント112がネットワークデバイス通信に応答するのに適していると予測される程度を反映し得る。いくつかの実施形態では、スコア分析が、所与の通信をルーティングするエンドポイント112の各々を識別するために、および接続を確立、使用、または終了するかどうかを識別するために使用され得る。スコア分析がルーティング決定とチャネル決定との両方に対処するために使用されるとき、各決定に関連するスコアは、同じ、同様、または異なる方式で決定され得る。
【0087】
[0097]したがって、例えば、スコアが、長期一致の強度を予測するためのものであるか、特定のメッセージクエリに応答するためのものであるかに応じて、異なる要因が考慮され得ることが理解されよう。例えば、前者の場合には、全体的なスケジュールおよび時間帯の考慮が重要であり得、一方、後者の場合には、即時の可用性がより高く重み付けされ得る。1つのスコアが、単一のネットワークデバイス/端末デバイスの組合せに対して決定され得、または各々が所与のネットワークデバイスと異なるエンドポイント112との間の一致を特徴付ける複数のスコアが決定され得る。
【0088】
[0098]例として、クライアントに関連付けられた3つのエンドポイント112のセットが、潜在的な通信ルーティングについて評価され得る。スコアが、特定の通信に関する一致に関係する各々について生成され得る。最初の2つのエンドポイントの各々は、通信を送信したネットワークデバイスと以前に通信したことがあり得る。ネットワークデバイスからの入力は、第1のデバイスとの(1つまたは複数の)通信でのインタラクションに対する満足度を示したものであり得る。したがって、第1、第2、および第3のデバイスの(規則に従って計算された)過去のインタラクションサブスコアは、それぞれ、10、5、および0であり得る。(負の満足度の入力は、負のサブスコアをもたらし得る)。第3のエンドポイントのみが即時利用可能であることが決定され得る。第2のエンドポイントは、15分以内に応答のために利用可能になるが、第1のエンドポイントは、次の日まで応答のために利用可能にならないことが予測され得る。したがって、第1、第2、および第3のデバイスについての高速応答サブスコアは、1、3、および10であり得る。最後に、(エンドポイントに関連付けられた)エージェントが通信におけるトピックについて精通している程度が推定され得る。第3のエンドポイントに関連付けられたエージェントが、他の2つのデバイスに関連付けられたエージェントよりも精通していることが決定され得、サブスコアは3、4、および9になる。この例では、規則は、重み付けまたは正規化パラメータを含まず(ただし、他の事例では、規則が含む場合もある)、スコアは14、11、および19になる。したがって、規則は、最も高いスコアを有するデバイス、すなわち第3のエンドポイントにメッセージがルーティングされるべきであることを示し得る。特定のエンドポイントへのルーティングが失敗した場合、そのメッセージは、次に高いスコアを有するデバイスにルーティングされ得、以下同様である。
【0089】
[0099]スコアは、1つまたは複数の絶対閾値または相対閾値と比較され得る。例えば、通信がルーティングされ得るエンドポイントを選択するために、エンドポイント112のセットについてのスコアが、高いスコアを識別するために互いに比較され得る。別の例として、スコア(例えば、高いスコア)が、エンドポイントとの連続チャネルを確立するかどうかを決定するために、1つまたは複数の絶対閾値と比較され得る。連続チャネルを確立するための全体的な閾値は、所与の一連のメッセージにおいて通信を一貫してルーティングするための閾値よりも高くなり得る(ただし、そうなる必要はない)。全体的な閾値と、通信を一貫してルーティングするかどうかを決定するための閾値との間のこの差は、チャネルの拡張された有用性を仮定すると(given)、連続チャネルのコンテキストでは、強い一致が重要であるからであり得る。いくつかの実施形態では、連続チャネルを使用することについての全体的な閾値は、連続チャネルを確立するための閾値、および/または所与の一連のメッセージにおいて通信を一貫してルーティングするための閾値よりも低くなり得る(ただし、そうなる必要はない)。
【0090】
[00100]インタラクション管理エンジン625は、様々なコンテキストにおいて、アカウントエンジン630とインタラクトし得る。例えば、アカウントエンジン630は、デバイスに対応するアカウントを識別するために、アカウントデータストア635内のネットワークデバイスまたはエンドポイントの識別子をルックアップし得る。さらに、アカウントエンジン630は、以前の通信交換に関するデータ(例えば、回数(times)、(1つまたは複数の)関与した他のデバイス、チャネルタイプ、解決段階、(1つまたは複数の)トピックおよび/または関連付けられたクライアント識別子)、通信チャネルに関するデータ(例えば、1つまたは複数のクライアントの各々について、何らかのチャネルが存在するかどうか、各チャネルに関連付けられたエンドポイント、確立時間、使用頻度、最終使用日付、任意のチャネル制約および/またはサポートされる通信のタイプを示す)、ユーザまたはエージェントの選好または制約に関するデータ(例えば、端末デバイスの選択、応答レイテンシ、端末デバイスの一貫性、エージェントの専門知識、および/または通信タイプの選好もしくは制約に関連する)、および/または、ユーザまたはエージェントの特性に関するデータ(例えば、年齢、(1つまたは複数の)使用言語または選好の言語、地理的位置、関心など)を維持し得る。
【0091】
[00101]さらに、インタラクション管理エンジン625は、アカウントデータストア635が現在のチャネルデータを反映するように更新され得るように、アカウントエンジン630に様々な接続チャネルアクションを知らせ得る。例えば、チャネルを確立すると、インタラクション管理エンジン625は、アカウントエンジン630に確立を通知し、ネットワークデバイス、エンドポイント、アカウント、およびクライアントのうちの1つまたは複数を識別し得る。その後、アカウントエンジン630は、利用されているエージェントの一貫性をユーザが認識し得るように、チャネルの存在をユーザに通知し得る。
【0092】
[00102]インタラクション管理エンジン625は、クライアントマッピングエンジン640とさらにインタラクトし得、それは、通信を1つまたは複数のクライアント(および/または関連付けられたブランド)にマッピングし得る。いくつかの実施形態では、ネットワークデバイス自体から受信される通信が、クライアントに対応する識別子(例えば、クライアント、製品、サービス、ウェブページ、またはアプリページの識別子)を含む。識別子は、(例えば、クライアントマッピングエンジン640が検出し得る)メッセージの一部として含まれ得るか、またはメッセージ包含通信(message-inclusive communication)における他のデータとして含まれ得る。次いで、クライアントマッピングエンジン640は、クライアントおよび/またはクライアントの識別子に関する追加のデータを検索するために、クライアントデータストア645内の識別子をルックアップし得る。
【0093】
[00103]いくつかの実施形態では、メッセージは、特にいずれのクライアントにも対応しない場合がある。例えば、メッセージは、一般的なクエリを含み得る。クライアントマッピングエンジン640は、例えば、メッセージに対してセマンティック解析を実行し、1つまたは複数のキーワードを識別し、(1つまたは複数の)キーワードに関連付けられた1つまたは複数のクライアントを識別し得る。いくつかの実施形態では、単一のクライアントが識別される。いくつかの実施形態では、複数のクライアントが識別される。次いで、各クライアントの識別が、ユーザが(例えば、関連付けられたエンドポイントを介して)通信すべきクライアントを選択し得るように、ネットワークデバイスを介して提示され得る。
【0094】
[00104]クライアントデータストア645は、クライアントに関連付けられた1つまたは複数のエンドポイント112(および/またはエージェント)の識別を含み得る。端末ルーティングエンジン650が、ルーティング決定に影響を及ぼすために、1つ、複数、または全てのそのようなエンドポイント112(および/またはエージェント)の各々に関係するデータを検索または収集し得る。例えば、端末ルーティングエンジン650は、エンドポイントデータストア655を維持し得、それは、エンドポイント112のデバイスタイプ、オペレーティングシステム、通信タイプの能力、インストールされたアプリケーションアクセサリ、地理的位置、および/または識別子(例えば、IPアドレス)などの情報を記憶し得る。情報はまた、経験レベル、役職、スキルレベル、知識ベース(例えば、エージェントが精通しているトピック、および/または様々なトピックについての知識レベル)、性格メトリック、就業時間、(1つまたは複数の)使用言語、および/または人口統計情報などの、エージェント情報を含み得る。一部の情報は、動的に更新され得る。例えば、エンドポイントが利用可能であるかどうかを示す情報は、(例えば)エンドポイントからの通信(例えば、デバイスがスリープ状態にあるか、オフ/オンにされているか、アイドル状態/アクティブ状態にあるかを識別し、または入力が時間期間内に受信されたかどうかを識別する)、通信ルーティング(例えば、エンドポイントが通信交換に関与しているか、またはその一部であるように割り当てられているかを示す)、または通信交換が終了または開始したことを示す、ネットワークデバイスまたはエンドポイントからの通信に基づいて、動的に更新され得る。
【0095】
[00105]様々なコンテキストでは、1つまたは複数の通信交換に従事していることは、必ずしもエンドポイントが別の通信交換に従事するのに利用可能でないことを示すとは限らないことが理解されよう。通信タイプ(例えば、テキスト、メッセージ、電子メール、チャット、電話)、クライアントにより識別されたもしくはユーザにより識別された目標応答時間、および/または(例えば、一般的(generally)な、またはユーザに関する)システム負荷などの様々な要因が、エンドポイントがいくつの交換に関与し得るかに影響を及ぼし得る。
【0096】
[00106]インタラクション管理エンジン625が通信交換または接続に関与させるべきエンドポイントを識別したとき、インタラクション管理エンジン625は、端末ルーティングエンジン650に通知し得、それは、エンドポイントデータストア655から、宛先(例えば、IP)アドレス、デバイスタイプ、プロトコルなどのような、エンドポイントに関する任意の関連データを検索し得る。次いで、処理エンジン610は、特定のフォーマットを有し、特定のプロトコルに準拠するようになど、メッセージ包含通信を修正し得るか、または(メッセージを含む)新しい通信を生成し得る。いくつかの実施形態では、新しいまたは修正されたメッセージは、ネットワークデバイスに対応するアカウントデータ、メッセージクロニクル、および/またはクライアントデータなどの、追加のデータを含み得る。
【0097】
[00107]次いで、メッセージ送信機インターフェース660が、通信をエンドポイント112に送信し得る。送信は、例えば、別個のハウジングに収容されたデバイスへの有線または無線送信を含み得る。エンドポイント112は、接続管理システム150と同じまたは異なるネットワーク(例えば、ローカルエリアネットワーク)内のエンドポイントを含み得る。したがって、エンドポイント112に通信を送信することは、インターネットワークまたはイントラネットワーク接続コンポーネントに通信を送信することを含み得る。
【0098】
[00108](例えば、ユーザによって操作される)ネットワークデバイスとの通信セッション中に、本明細書で「コンシェルジュサービス」と呼ばれることもあるボットと、エンドポイント112との間で動的に切り替えるためのシステムおよび方法が提供される。いくつかの実装形態では、コンシェルジュサービス152は、ユーザと自律的にチャットするように構成され得る。さらに、コンシェルジュサービス152は、特定の能力のために構成され得る。能力の例は、データベースレコードを更新すること、ユーザに更新を提供すること、ユーザに関する追加のデータをエージェントに提供すること、ユーザのインテントを決定すること、およびインテントに基づいてユーザを宛先システムにルーティングすること、ユーザと通信しているエージェントに対する応答を予測または提案すること、1つまたは複数の追加のボットまたはエージェントを含むように通信セッションをエスカレートすること(escalating)、報告を生成すること、開かれた会話スレッドを追跡すること、ならびに他の好適な能力を含み得る。いくつかの実装形態では、コンシェルジュサービス152がチャットセッションにおいてユーザと通信している間、通信サーバが、チャットセッションをエンドポイント112に転送することを自動的かつ動的に決定し得る。例えば、コンシェルジュサービス152は、ある特定のタスク(例えば、ユーザに関連付けられたデータベースレコードを更新すること)に関してユーザと通信し得、一方、エンドポイント112は、より困難なタスク(例えば、技術的問題を解決するために通信チャネルを使用して通信すること)についてユーザと通信し得る。
【0099】
[00109]いくつかの実装形態では、コンシェルジュサービス152とエンドポイント112との間でチャットセッションを転送するかどうかを決定することは、通信セッションにおけるメッセージの、1つまたは複数の特性の分析に基づき得る。さらに、動的センチメントスコアがメッセージに対して生成され得る。例えば、センチメントスコアが、ユーザがコンシェルジュサービス152に不満を抱いていることを示す場合、システムは、コンシェルジュサービス152をエンドポイント112に自動的に切り替えて、ユーザと通信し得る。あらゆる目的のためにその全体が参照により本明細書に組み込まれている、2016年6月2日に出願された米国特許出願第15/171,525号を参照されたい。いくつかの例では、コンシェルジュサービス152とエンドポイント112との間で切り替えるかどうかを決定することは、ユーザからのプロンプトなしで実行され得る。決定は、チャットセッションにおける現在のメッセージの特性、以前のチャットセッションにおいてユーザによって送信された以前のメッセージの特性、会話における複数のメッセージにわたる特性(例えば、センチメント)の軌跡、またはユーザに関連付けられた追加の情報(例えば、プロファイル情報、選好情報、メンバーシップ情報、およびユーザに関連付けられた他の好適な情報)を含む、任意の数の要因に基づいて、通信サーバにおいて自動的に実行され得る。
【0100】
[00110]
図7は、ユーザ110とエンドポイント112との間の会話を開始および促進する、例となる方法を示す。方法は、接続管理システム150が、ユーザ110の制御下のネットワークデバイス105から自然言語コミュニケーションを受信する(702)と、開始する。上述されたように、自然言語コミュニケーションは、ウェイクワード、キーワード、特定のフレーズ、明示的にサービス名を指定することなどを含む厳格なプロトコルへの準拠を必要としない。
【0101】
[00111]接続管理システム150は、自然言語コミュニケーションのインテントを決定するために、受信された自然言語コミュニケーションを解釈し得る(704)。
図6に関して上述されたように、接続管理システム150は、コンシェルジュサービス152を使用してインテントを決定し得、これは、自然言語コミュニケーションを分類し、ダイアログでユーザに返信するようにトレーニングされた人工知能サービスの一種である。
【0102】
[00112]接続管理システム150は、(ステップ702からの)自然言語コミュニケーションを受信するエンドポイント112を自動的に決定し得る(706)。接続管理システム150は、自然言語コミュニケーションのインテントをエンドポイント112にマッチングすることによって、エンドポイント112を決定し得る(706)。
図6に関して説明されたように、いくつかの実施形態では、所与のインテントが、そのインテントおよび/またはトピックを処理するのに必要な専門知識を有する1つまたは複数のエージェント120にマッチングされ得る。
【0103】
[00113]例えば、エンドポイントデータストア655は、エンドポイント112と、それらのエンドポイント112が処理し得るトピックとの間の関係を含み得る。例えば、小売業者または小売業者のカテゴリから製品またはサービスを取得することに関係するインテントは、製品またはサービスを取得するために使用され得るシステムへのアクセスを有するエージェント120によって操作される端末デバイス115にマッピングされ得る(例えば、住宅リフォーム製品(home-improvement products)を購入することに関係するインテントは、住宅リフォーム製品を購入するために使用され得るシステムへのアクセスを有するエージェントによって操作される端末デバイスにマッピングされ得る)。いくつかの実施形態では、エンドポイントデータストア655は、特定のIOTデバイス155によって実行され得るサービスを記録し得る。例えば、エンドポイントデータストア655は、ユーザ110がスマートサーモスタットを有することを記録し得、接続管理システム150は、スマートサーモスタットが、ユーザ110による住居内の温度を制御するインテントに関係する自然言語コミュニケーションについての適切なエンドポイント112であることを決定し得る。
【0104】
[00114]いくつかの実施形態では、ソーシャルユーザ145がまた、特定の専門知識を有すると決定され得、これは、エンドポイントデータストア655に記録され得る。ソーシャルユーザ145が、自身を特定の専門知識を有していると指定するとき、または、本技術の接続管理システム150が、ソーシャルユーザ145がユーザ110からの特定のインテントを有する自然言語コミュニケーションに応答したことを観察し、ユーザ110が回答に満足したことが観察されたとき、ソーシャルユーザ145は、特定の専門知識を有すると決定され得る。
【0105】
[00115]接続管理システム150が、自然言語コミュニケーションを受信するエンドポイント112を自動的に決定した(706)後、接続管理システム150は、ネットワークデバイス105と、それが自然言語コミュニケーションのインテントを処理することができると決定された(706)エンドポイント112との間の会話を開き(708)、促進し得る。会話を開くこと(708)は、開かれようとしている会話をエンドポイントに通知するために、メッセージをエンドポイントに送ることを含み得る。いくつかの実施形態では、コンシェルジュサービス152は、ユーザ110との会話にエンドポイント112を参加させてもよいかどうかについて、エンドポイント112からの許可を求め得る。
【0106】
[00116]いくつかの実施形態では、会話は、メッセージがユーザ110からのみ送られたときでさえも存在し得る。例えば、機能を実行するためにIOTデバイス155に転送される単一のメッセージのみから成り得るときでさえも、会話が開かれ得る(708)。
【0107】
[00117]次いで、接続管理システム150は、ユーザ110が操作するネットワークデバイス105と、エンドポイント112(これは、ソーシャルユーザ145またはエージェント120によって操作され得る)との間の会話を開始するために、自然言語コミュニケーションを第1のエンドポイント112に送り得る(710)。
【0108】
[00118]接続管理システム150のコンシェルジュサービス152は、ネットワークデバイス105とエンドポイント112との間の後続の通信について会話を監視し得る(712)。いくつかの実施形態では、コンシェルジュサービス152は、アクショントリガを検出する(714)ために、会話を監視する(712)。アクショントリガは、接続管理システム150によってアクションが取られることを要求する任意のものであり得る。
【0109】
[00119]例えば、コンシェルジュサービス152が、ユーザとエンドポイントとの間の会話が特定の製品に言及していることを検出すると、コンシェルジュサービス152は、会話に特定の製品に関する情報を通信するアクションをトリガし得る。このような実施形態では、アクショントリガは、コンシェルジュサービス152に会話において積極的に話す役割を果たさせるものである。
【0110】
[00120]別の例では、コンシェルジュサービス152が、ユーザ110と端末デバイスとの間の会話が終了したと決定する(716)と、接続管理システム150は、会話を閉じる(718)ことによってアクションを取り得る。
【0111】
[00121]
図8は、アクショントリガが検出されたときの別の例を示す。
図8の方法は、
図7のステップ712の後に開始し、ここで、コンシェルジュサービス152は、ユーザ110とエンドポイント112との間の会話を監視しており(712)、アクショントリガを検出する(714)。コンシェルジュサービス152は、会話における後続の通信のインテントを解釈する(802)。
図8では、アクショントリガは、会話内の通信のインテントが進行中の会話に関係しないという決定(804)であり、新しいインテントがコンシェルジュサービス152によって検出されている。
【0112】
[00122]接続管理システム150は、新しいインテントを有する自然言語コミュニケーションを受信する異なるエンドポイント112を決定し得(806)、ネットワークデバイス105と異なるエンドポイント112との間の第2の会話を開き得る(808)。接続管理システム150は、新しいインテントを有する自然言語コミュニケーションを異なるエンドポイント112に送り得る(810)。
【0113】
[00123]
図8でのように、複数の会話が同時並行に発生しているとき、コンシェルジュサービス152は、第1の会話に関係するエンドポイント112または第2の会話に関係するエンドポイント112から受信される追加の通信と、ネットワークデバイス105から来る通信とを監視し続けて(812)、追加の通信が第1の会話に関連するか、または第2の会話に関連するかを決定する(814)。接続管理システム150は、追加の通信が第1の会話に関係するとき、追加の通信を第1の会話のエンドポイント112に転送し得(816)、追加の通信が第2の会話に関係するとき、追加の通信を第2の会話に関連付けられた第2のエンドポイント112に転送し得る。
【0114】
[00124]複数の会話スレッドが同時並行に発生しているとき、異なる通信スレッドを管理し、第1の会話に関連する通信が、第1の会話に関連付けられたエンドポイント112のみに送られることを確実にし、第2の会話に関連する通信が、第2の会話に関連付けられたエンドポイント112のみに送られることを確実にすることが、コンシェルジュサービス152および接続管理システム150の役割となる。いくつかの実施形態では、
図10Bに関して説明されるように、コンシェルジュサービス152が、ユーザ110に対して異なる会話スレッドを線引き(delineate)し得る。
【0115】
[00125]
図9A、
図9B、
図9C、および
図9Dは、どのように通信が会話において接続管理システム150によって管理されるかの例を示す。
【0116】
[00126]
図9Aは、1つまたは複数の会話における様々なエンティティ間の通信チャネルを示す。
図9Aでは、ユーザ110によって操作されるネットワークデバイス105は、第1の通信チャネル901上で接続管理システム150に通信を送る。ネットワークデバイス105と接続管理システム150との間の全ての通信は、通信が1つの会話に関係するか、または複数の会話に関係するかにかかわらず、通信チャネル901上で送信される。端末デバイス115は、エージェント120によって操作され、端末デバイス115と接続管理システム150との間の全ての通信は、通信チャネル905上で送信される。ネットワークデバイス135は、ソーシャルユーザ145によって操作され、ネットワークデバイス135と接続管理システム150との間の全ての通信は、通信チャネル903上で送信される。
【0117】
[00127]ネットワークデバイス105、ネットワークデバイス135、または端末デバイス115のいずれかからの任意の通信は、接続管理システム150に送られ、それは、どのデバイス(エンドポイント112および/またはネットワークデバイス105)が通信を受信すべきかを決定する。ほとんどのケースでは、会話においてアクティブである全てのデバイスが通信を受信すべきであるが、会話においてアクティブでないいかなるデバイスも通信を受信すべきではない。
【0118】
[00128]
図9Aが、エンティティ間の様々な通信チャネルを示す一方で、
図9Bは、ネットワークデバイス105と、接続管理システム150と、ネットワークデバイス135と、端末デバイス115との間の通信を含む会話910を示す。
図9Bに示されるように、会話910は、会話における全てのエンティティを接続する(joins)。
【0119】
[00129]
図9Cは会話910を示すが、
図9Cでは、端末デバイス115は、もはや会話に含まれておらず、
図9Cには表されていない。会話の監視中、コンシェルジュサービス152は、端末デバイス115がもはや会話に必要でないことを決定し、接続管理システム150は、この状態を、端末デバイス115を会話から削除するためのアクショントリガとして認識した。その結果、接続管理システムは、この会話における端末デバイス115に通信を転送することを中止する(discontinue)ことになる。
【0120】
[00130]
図9Dは、例となるマルチスレッド会話を示す。
図9Dでは、論理的会話が異なることを除いて、
図9Aに示されたものと同じ通信チャネルが使用され、接続管理システム150は、それに応じて通信を転送する。
図9Dでは、ネットワークデバイス105、接続管理システム150、およびネットワークデバイス135は、第1の会話915に従事している。これは、接続管理システム150が、ネットワークデバイス105からの通信が第1の会話915に関係すると決定することを必要とする。接続管理システムは、各通信のトピックが会話のトピック/インテントに適合するとき、通信が同じ会話に関係することを決定し得る。
【0121】
[00131]通信のタイミングは、どの会話に通信が意図されるかを決定するための追加の要因であり得る。ネットワークデバイス105が第1の会話915において通信を受信した直後に通信を送る場合、このネットワークデバイスの通信は、受信された通信に対する返答である可能性がより高くなり得る。
【0122】
[00132]別の要因は、所与の通信が、予期される通信にどの程度よく一致するかであり得る。コンシェルジュサービス152は、それ自体が会話における返答を生成し得る会話型インターフェースであるので、コンシェルジュサービス152は、第1の会話915(または別の会話)における以前の通信に対する応答である可能性について、応答を分析し得る。
【0123】
[00133]いくつかの実施形態では、通信は、@エンドポイントを含めることによって、会話のメンバーにアドレス指定され得、ここで、「エンドポイント」は、メッセージが意図される(1または複数の)ユーザである。いくつかの実施形態では、トピックは、#トピックを含むメッセージに含まれ得、ここで「トピック」は、会話のトピックまたは会話の他の識別子である。
【0124】
[00134]
図9Dはまた、ネットワークデバイス105と、端末デバイス115と、接続管理システム150との間の第2の会話920を示す。この場合も、ネットワークデバイス105へ向かうまたはネットワークデバイス105からの全ての通信は、ネットワークデバイス105と接続管理システム150との間の同じ通信チャネル上を通る。
【0125】
[00135]
図10Aは、ネットワークデバイス105上のテキストメッセージングアプリケーションによって提供される、例となるユーザインターフェース1002を示す。上述されたように、テキストメッセージングアプリケーションは、ネットワークデバイス105上の標準的なソフトウェアアプリケーションであり、接続管理システム150に関連付けられたエンティティによって提供される必要がない。
【0126】
[00136]
図10A(および
図10B)では、同じエンティティから来るメッセージは、同じ参照番号を有する。ユーザ110からのメッセージは1005とラベル付けされ、コンシェルジュサービス152からのメッセージは1007とラベル付けされ、予約エージェントからのメッセージは1011とラベル付けされ、ソーシャルユーザ1からのメッセージは1017とラベル付けされ、ホームサプライからのメッセージは1023とラベル付けされる。
【0127】
[00137]
図10Aに見られるように、ユーザは、コンシェルジュサービス152に要求を行うことによって会話を開始し得る。この例では、ユーザは、「マウイ島のホテルを探してもらえますか?」(1005-1)と尋ねている。コンシェルジュサービス152は、ユーザを予約エージェントに接続しようとしていることを返答する(1007-1)。
【0128】
[00138]いくつかの実施形態では、接続管理システム150は、コンテクスチュアルメッセージ(contextual message)1008をユーザインターフェース1002に挿入し得る。コンテクスチュアルメッセージ1008は、予約エージェントが会話に追加されたことをユーザに知らせ得る。しかしながら、いくつかのメッセージングアプリケーションは、コンテクスチュアルメッセージをサポートせず、そのような実施形態では、コンテクスチュアルメッセージは、提示されないか、またはコンシェルジュサービス152からのステートメントとして提示される必要があることが理解されよう。
【0129】
[00139]
図10Aの会話は、予約エージェントが会話に参加し、「カアナパリビーチのブランド名ホテルを予約しましょうか」(1011-1)と提案したときに継続する。
図10Aに見られるように、メッセージは、コンシェルジュサービス152からのものであるかのように見え得るが、メッセージは、予約エージェントを識別することによって始まる。ネットワークデバイス105上で会話を行うために使用されるテキストメッセージングアプリケーションが、コンシェルジュサービス152にメッセージを送り、また、コンシェルジュサービス152からメッセージを受信しているので、メッセージは、コンシェルジュサービス152からのものであるかのように見える。しかしながら、接続管理システム150は、端末デバイス115を使用して、予約エージェントからのメッセージを転送している。ユーザ110を混乱させることを回避するために、コンシェルジュサービス152以外の当事者から発信されるメッセージは、メッセージのソースを識別することによって始まり得る。
【0130】
[00140]いくつかの実施形態では、ネットワークデバイス105上のメッセージングアプリケーションは、ユーザインターフェース1002におけるメッセージが、コンシェルジュサービス152からのものとしてラベル付けされる代わりに、実際のソースでラベル付けされ得るように、コンシェルジュサービス152が特定のソースからのメッセージを指定することを可能にし得る、追加の機能をサポートし得る。メッセージはソースでラベル付けされ得るが、ユーザがそのようなエンドポイントと別個の関係を有し、そのエンドポイントについての連絡先情報を別個に知っていない限り、ユーザがシステム外でエージェント120またはソーシャルユーザ145またはクライアント125に連絡することができないように、そのソースについての基礎となる連絡先情報(underlying contact information)は秘密に保たれ得る。
【0131】
[00141]接続管理システム150は全ての会話のための仲介者であるので、接続管理システム150は、ユーザおよび/またはエンドポイントについての連絡先情報を知る必要がありかつこの情報をプライベートに保ち得る、唯一のエンティティである。
【0132】
[00142]ここまで、
図10Aの説明は、コンシェルジュサービス152(より具体的には、接続管理システム150)がどのようにユーザ110とエンドポイント112との間の仲介者として機能し得るかを示し、会話がどのようにネットワークデバイス105上のテキストメッセージングアプリケーションに現れ得るかを示してきた。
【0133】
[00143]
図10Aはまた、コンシェルジュサービス152が、別のエンドポイント112を会話に加わらせるためのアクショントリガなどのアクショントリガを検出するために、どのように会話を監視し得るかを示す。例えば、予約エージェントがホテルを提案した(1011-1)後、ユーザ110は、「私はそれを気に入るでしょうか?」(1005-2)と補足質問をし得、コンシェルジュサービス152は、これを予約エージェントの専門知識に適さない質問として認識し得る。したがって、接続管理システム150は、別のエンドポイント112が補足質問に回答するのにより適していることを決定し得る。
図10Aに示される例では、接続管理システム150は、ユーザのソーシャルネットワークがユーザのホテル選好に関する質問に回答するのに最適であり得ることを決定し、コンシェルジュサービス152は、ソーシャルネットワークのメンバーに尋ねようとしていることを会話のメンバーに知らせ得る(1007-2)。
【0134】
[00144]
図10Aには示されていないが、コンシェルジュサービス152は、ユーザ110への会話には示されない、エンドポイント112とのサイド会話(side conversations)を有し得る。例えば、コンシェルジュサービス152は、ユーザ110のソーシャルネットワークのメンバーに、それらのユーザのいずれかが予約エージェントによって提案されたホテルをよく知っているかどうかを尋ねるメッセージを送り得る。ソーシャルユーザのうちの1人がそのホテルをよく知っていると応答すると、コンシェルジュサービス152は、そのソーシャルユーザに、
図10Aに示される会話に加わる気があるかどうかを尋ね得る。ユーザ110のソーシャルネットワークのメンバーは、ユーザのソーシャルグラフ内の直接的なつながりまたは間接的なつながり(つながりのつながり)であり得ることが理解されよう。
【0135】
[00145]ソーシャルユーザ145が、ユーザ110と予約エージェントの会話に追加されることに同意したと仮定すると、コンシェルジュサービス152は、会話のメンバーにソーシャルユーザ145が会話に追加されることを知らせ得る(1010)。次いで、ソーシャルユーザ145は、提案されたホテルに関するその意見を提供し得る(1017)。
【0136】
[00146]再びコンシェルジュサービス152は、会話を監視し続け、コンシェルジュサービス152は、別のアクショントリガを検出し得、このケースでは、ソーシャルユーザ145がもはや会話に必要でないことである。したがって、接続管理システム150は、ソーシャルユーザ1を会話から削除し得、コンシェルジュサービス152は、会話内の他のメンバーに通知し得る(1012)。
【0137】
[00147]
図10Aに図示される会話は、様々な概念を示すために提供されるものであり、会話は、本技術を使用するユーザと予約エージェントとの間の会話の典型ではない場合があることが当業者には理解されよう。例えば、予約エージェントは、星評価などを含むホテルに関する追加の情報を提供し得た可能性が高く、コンシェルジュサービス152は、必ずしもメッセージ1005-2をソーシャルネットワークユーザの関与を必要とする性質のものであると見なすわけではない。
【0138】
[00148]
図10Bは、ネットワークデバイス105を使用するユーザ110が関与する2つの同時並行の会話を示す、例となるユーザインターフェース1020を示す。
図10Bはまた、同時並行の会話の各々が、それぞれの会話のエンドポイント112にどのように見え得るかを示す。
【0139】
[00149]インターフェース1020に見られるように、メッセージ1005-1、1007-1、1008、および1011-1は、
図10Aに図示されたものと同じである。しかしながら、メッセージ1005-3では、ユーザ110は、「グリルを購入したいのですが」と言っている。コンシェルジュサービス152は、その会話の監視を通じて、メッセージ1005-3のインテントを解釈し得、メッセージ1005-3が予約エージェントとの会話の一部ではないことを決定し得る。コンシェルジュサービス152は、異なるインテントを、第2の会話を開くためのアクショントリガとして認識し得る。コンシェルジュサービス152は、グリルに関係するトピックを有する第2の会話に関係するメッセージを識別する情報を含むメッセージ1007-3を送り得る。次いで、接続管理システム150は、メッセージ1023を送り得るホームサプライのエージェントを追加し得る(1022)。
【0140】
[00150]グリルに関する会話に関係する任意のメッセージは、会話2の一部として指定され、エンドポイント112のトピックおよび識別を含み得る。例えば、メッセージ1023は、グリルのトピックに関する会話2に関係し、「ガスグリルと木炭使用のグリル、どちらをお探しでしょうか?」と尋ねているホームサプライのエージェントからのものである。
【0141】
[00151]同じメッセージインターフェース1020において、第1の会話は継続し得る。例えば、メッセージ1011-2は、ホテルのトピックに関係する会話1の一部として識別され、予約エージェントからのものである。
【0142】
[00152]上述されたように、ユーザインターフェース1020は、ユーザ110と、同じアドレス(このケースでは、接続管理システム150)との間の全ての通信を同じチェーン内に示す標準的なテキストメッセージングアプリケーションのインターフェースであるので、全てのメッセージは、たとえそれらが異なる会話に関係し、異なる会話がユーザ110と、異なるエンドポイント112との間のものであったとしても、ユーザインターフェース1020に現れる。
【0143】
[00153]ユーザインターフェース1020が、ネットワークデバイス105へおよびネットワークデバイス105から送られる全てのメッセージを示す一方で、ユーザインターフェース1030は、第1の会話に関係するメッセージのみを示す。ユーザインターフェース1030は、予約エージェントによって操作される端末デバイス上に表示される。ユーザインターフェース1030は、標準的なテキストメッセージングアプリケーションのもの、または顧客を支援するために予約エージェントによって使用されるカスタムアプリケーションのものであり得る。
【0144】
[00154]上述されたように、接続管理システム150は、仲介者の役割を果たし、適切なエンドポイント112にメッセージを転送する。接続管理システム150は(コンシェルジュサービス152を使用して)各メッセージがどの会話に関係するかを決定するので、接続管理システム150は、ホテルのトピックに関する会話に関係するメッセージのみを予約エージェントに転送し得る。
【0145】
[00155]ユーザインターフェース1030に図示されるように、ホテルのトピックに関する第1の会話に関係する通信は、予約エージェントの視点から提示される。したがって、メッセージ1007-4は、ユーザ110がマウイのホテルに関心があることを予約エージェントに伝える、コンシェルジュサービス152からの通信である。
【0146】
[00156]メッセージ1007-4は、ユーザ110からのメッセージ1005-1と同じではないことに留意されたい。いくつかの実施形態では、接続管理システム150は、より良好なユーザ体験を提供するために、メッセージを再フォーマットまたは言い換え得る。
【0147】
[00157]また、インターフェース1030では、予約エージェントは、コンシェルジュサービス152がジムを追加したこと(1031)を見ることができ、後続のメッセージは、マウイのホテルを見つけることに関する第1の会話に関係するメッセージのみが提示されていることを除いて、インターフェース1020と同じである。接続管理システム150は、グリルを購入することに関する会話に関係するいかなるメッセージも、それらのメッセージが予約エージェントに無関係であるため、予約エージェントに転送しない。
【0148】
[00158]ユーザインターフェース1040は、グリルのトピックに関する第2の会話に関係する通信を図示し、ホームサプライのエージェントの視点から提示される。先と同様に、コンシェルジュサービス152は、ホームサプライのエージェントへのメッセージ1007-5で会話を開始し得、ホームサプライのエージェントにユーザ110が会話に追加されることを知らせ得る(1041)。
【0149】
[00159]
図10Aおよび
図10Bがテキストメッセージングインターフェースを示す一方で、いくつかの実施形態では、接続管理システム150は、デバイス間のテレフォニーコール、ボイスオーバーIPコール、またはビデオ会議を作成することによって、音声会話でネットワークデバイス105と1つまたは複数のエンドポイント112とを接続し得る。いくつかの実施形態では、各ユーザが、音声またはビデオ会話に参加することに同意し得る。
【0150】
[00160]加えて、
図10Aおよび
図10Bがテキスト通信を示す一方で、本技術のコンシェルジュサービス152は、音声入力を受信し、音声テキスト化サービスを使用して音声入力をテキストに変換し得る。同様に、コンシェルジュサービス152はまた、テキスト音声化サービスを使用して、ユーザ110へのテキストメッセージを読み上げ得る。
【0151】
[00161]本技術の別の目的は、任意の妥当なクエリまたはコマンドから、ユーザのインテントを実現可能であることである。クライアントデータストア645およびエンドポイントデータストア655は、多くの異なるトピックおよびインテントに関する多くのクライアントおよびエキスパートを含むロバストなデータベースであり得る一方で、接続管理システム150は、必ずしもユーザのインテントを実現するための好適なエンドポイント112を決定できるとは限らない。そのような事例では、接続管理は、ユーザ110のソーシャルネットワーク内の、手助け可能であり得るソーシャルユーザをポーリングし得る。いくつかの実施形態では、接続管理システム150はまた、ユーザのインテントを潜在的に実現させるためのネットワークのサイズを拡大するために、ソーシャルユーザのソーシャルユーザをポーリングし得る。接続管理システム150が、ユーザ110を支援するためのいずれのエンドポイント112も決定することができなかったときでさえも、満たされていないクエリ(unsatisfied queries)は、一般の人々(public)に回答を試みてもらうために、公開フォーラムに匿名で投稿され得る。
【0152】
[00162]本技術のコンシェルジュサービス152は、各会話についてのユーザのインテントを実現する際のパフォーマンスを分析および評価し続け得る。トピックのエキスパートとして認識されたエージェント120が、満足度の高いエキスパートのままであるのに十分な頻度でそのトピックに関連する会話を満足のいくように処理しなかったとき、そのエージェントは、そのトピックのエキスパートとして削除され得る。逆に、ソーシャルユーザ145がトピックに関連する会話を満足のいくように処理した場合、本技術のコンシェルジュサービス152は、ソーシャルユーザ145に、そのトピックを含む他の会話に参加するのに十分に精通しているかどうかを尋ね得る。ソーシャルユーザ145のパフォーマンスは監視され得、満足のいく働きをしているソーシャルユーザは、トピックに関連付けられたエージェントになり得る。ソーシャルユーザ145は、そのソーシャルユーザ145が承認されたエキスパートおよびエージェントになったトピックに関係しない会話については、ソーシャルユーザのままであり得ることに留意されたい。
【0153】
[00163]
図10Aおよび
図10Bで与えられた例は、比較的短い時間期間にわたって発生する(1つまたは複数の)会話の印象を与え得るが、いくつかの会話は、通信交換の間に長いインターバルを含み得る。例えば、ソーシャルユーザ145は、通信がそのソーシャルユーザ145によって受信された瞬間に利用可能でない場合があり、したがって、任意の応答を受信する際に遅延が存在し得る。長引いた会話は、時として忘れられ得る。したがって、コンシェルジュサービス152は、コンシェルジュサービス152が完了したと決定していない会話を定期的に追跡調査(follow up)し得る。このようにして、コンシェルジュサービス152は、インテントおよびトピックが忘れられないことを確実にするためのリマインダサービスとしても機能し得る。コンシェルジュサービス152が休止状態の会話を追跡調査するとき、コンシェルジュサービス152はまた、コンシェルジュサービス152が会話のインテントを実現することを可能にし得る、他の提案を提供し得るか、または追加の情報に関して問い合せ得る。
【0154】
[00164]会話の監視を通じて、コンシェルジュサービス152は、共通の質問および共通の回答を検出し得る。このような実施形態では、コンシェルジュサービス152は、いかなる他のエンドポイント112も従事させることなく、会話のインテントを満たすことを試みる初期通信(initial communications)を提供し得る。
【0155】
[00165]
図11は、コンピューティングシステム1100の一例を示し、これは、例えば、接続管理システム150、コンシェルジュサービス、ネットワークデバイス105、クライアントデバイス130、ネットワークデバイス135、もしくは端末デバイス115、またはそれらの任意のコンポーネントを構成する、任意のコンピューティングデバイスであり得、ここで、このシステムのコンポーネントは、接続1105を使用して互いに通信状態にある。接続1105は、バスを介した物理的な接続、またはチップセットアーキテクチャなどでのプロセッサ1110への直接接続であり得る。接続1105はまた、仮想接続、ネットワーク化された接続、または論理接続であり得る。
【0156】
[00166]いくつかの実施形態では、コンピューティングシステム1100は、本開示で説明された機能がデータセンタ、複数のデータセンタ、ピアネットワークなどの内に分散され得る分散システムである。いくつかの実施形態では、説明されたシステムコンポーネントのうちの1つまたは複数は、それに関してコンポーネントが説明される機能のうちのいくつかまたは全てをそれぞれ実行する多くのそのようなコンポーネントを表す。いくつかの実施形態では、コンポーネントは、物理デバイスまたは仮想デバイスであり得る。
【0157】
[00167]例となるシステム1100は、少なくとも1つの処理ユニット(CPUまたはプロセッサ)1110と、読取り専用メモリ(ROM)1120およびランダムアクセスメモリ(RAM)1125などの、システムメモリ1115を含む様々なシステムコンポーネントをプロセッサ1110に結合する接続1105とを含む。コンピューティングシステム1100は、プロセッサ1110に直接接続されるか、それに近接しているか、またはその一部として統合された高速メモリのキャッシュ1112を含み得る。
【0158】
[00168]プロセッサ1110は、任意の汎用プロセッサ、ならびに記憶デバイス1130に記憶され、プロセッサ1110を制御するように構成されたサービス1132、1134、および1136などの、ハードウェアサービスまたはソフトウェアサービスのみならず、ソフトウェア命令が実際のプロセッサ設計に組み込まれる専用プロセッサを含み得る。プロセッサ1110は、本質的には、完全に自己完結型のコンピューティングシステムであり得、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む。マルチコアプロセッサは、対称型または非対称型であり得る。
【0159】
[00169]ユーザインタラクションを可能にするために、コンピューティングシステム1100は、入力デバイス1145を含み、これは、音声用のマイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、モーション入力、音声などのような、任意の数の入力メカニズムを表し得る。コンピューティングシステム1100はまた、出力デバイス1135を含み得、これは、当業者に知られているいくつかの出力メカニズムのうちの1つまたは複数であり得る。いくつかの事例では、マルチモーダルシステムが、ユーザがコンピューティングシステム1100と通信するための複数のタイプの入力/出力を提供することを可能にし得る。コンピューティングシステム1100は、通信インターフェース1140を含み得、これは一般に、ユーザ入力およびシステム出力を支配(govern)および管理し得る。任意の特定のハードウェア構成(arrangement)上で動作することに制限はなく、したがって、ここでの基本的な機能は、改良されたハードウェアまたはファームウェア構成が開発されるにつれて、それらで容易に置き換えられ得る。
【0160】
[00170]記憶デバイス1130は、不揮発性メモリデバイスであり得、ハードディスク、または、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、および/もしくはこれらのデバイスの何らかの組合せなどの、コンピュータによってアクセス可能なデータを記憶し得る他のタイプのコンピュータ可読媒体であり得る。
【0161】
[00171]記憶デバイス1130は、そのようなソフトウェアを定義するコードがプロセッサ1110によって実行されると、それがシステムに機能を実行させる、ソフトウェアサービス、サーバ、サービスなどを含み得る。いくつかの実施形態では、特定の機能を実行するハードウェアサービスが、その機能を行うために、プロセッサ1110、接続1105、出力デバイス1135などのような、必要なハードウェアコンポーネントに関連してコンピュータ可読媒体に記憶されたソフトウェアコンポーネントを含み得る。
【0162】
[00172]特定の詳細は、実施形態の完全な理解を提供するために上記説明で与えられた。しかしながら、これら実施形態は、これらの特定の詳細なしに実施され得ることが理解される。例えば、これら実施形態を不必要な詳細で不明瞭にしないために、回路はブロック図で示され得る。他の事例では、周知の回路、プロセス、アルゴリズム、構造、および技法が、これら実施形態を不明瞭にすることを避けるために、不要な詳細なしで示され得る。
【0163】
[00173]上記で説明された技法、ブロック、ステップ、および手段の実装は、様々な方法で行われ得る。例えば、これらの技法、ブロック、ステップ、および手段は、ハードウェア、ソフトウェア、またはそれらの組合せで実装され得る。ハードウェア実装の場合、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタルシグナルプロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、上記で説明された機能を実行するように設計された他の電子ユニット、および/またはそれらの組合せの内で実装され得る。
【0164】
[00174]また、実施形態の一部は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として図示されるプロセスとして説明され得ることに留意されたい。フローチャートは、動作を順次プロセスとして説明し得るが、動作の多くは、並行して又は同時並行に実行され得る。加えて、動作の順序は並べ換えられ得る。プロセスは、その動作が完了したときに終了するが、図面に含まれていない追加のステップを有し得る。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、その終了は、関数が呼び出し関数または主関数に戻ることに対応する。
【0165】
[00175]さらに、実施形態は、ハードウェア、ソフトウェア、スクリプト言語、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、および/またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、スクリプト言語、および/またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などの機械可読媒体に記憶され得る。コードセグメントまたは機械実行可能命令は、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、スクリプト、クラス、または命令、データ構造、および/もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、および/またはメモリコンテンツを渡すことおよび/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、チケットパッシング、ネットワーク送信などを含む、任意の好適な手段を介して渡される、転送される、または送信されることができる。
【0166】
[00176]ファームウェアおよび/またはソフトウェア実装の場合、方法は、本明細書で説明された機能を実行するモジュール(例えば、プロシージャ、関数など)を用いて実装され得る。命令を有形に具現化する任意の機械可読媒体が、本明細書で説明された方法を実施する際に使用され得る。例えば、ソフトウェアコードは、メモリに記憶され得る。メモリは、プロセッサの内部またはプロセッサの外部に実装され得る。本明細書で使用される場合、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性、または他の記憶媒体を指し、いかなる特定のタイプのメモリもしくはメモリの数、またはメモリが記憶される媒体のタイプにも限定されるべきでない。いくつかの実施形態では、サービスは、クライアントデバイスのメモリおよび/またはコンテンツ管理システムの、1つまたは複数のサーバに存在するソフトウェアであり、プロセッサがサービスに関連付けられたソフトウェアを実行すると、1つまたは複数の機能を実行し得る。いくつかの実施形態では、サービスは、特定の機能を行うプログラムまたはプログラムの集合体である。いくつかの実施形態では、サービスは、サーバと見なされ得る。メモリは、非一時的なコンピュータ可読媒体であり得る。
【0167】
[00177]さらに、本明細書で開示されたように、「記憶媒体」、「記憶」、または「メモリ」という用語は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気RAM、コアメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および/または情報を記憶するための他の機械可読媒体を含む、データを記憶するための1つまたは複数のメモリを表し得る。「機械可読媒体」という用語は、限定はしないが、ポータブルまたは固定記憶デバイス、光記憶デバイス、ワイヤレスチャネル、および/または、(1つまたは複数の)命令および/またはデータを含むかまたは搬送する、記憶すること可能な様々な他の記憶媒体を含む。いくつかの実施形態では、コンピュータ可読記憶デバイス、媒体、およびメモリは、ビットストリームなどを含むワイヤレス信号またはケーブルを含み得る。しかしながら、言及された場合、非一時的なコンピュータ可読記憶媒体は、エネルギー、搬送波信号、電磁波、および信号自体などの媒体を明示的に除外する。
【0168】
[00178]機械可読命令が、機械にある特定の本発明のステップまたは機能を実行させるために利用されるとき、機械は、それ自体が特にそれらのステップまたは機能を実行するようにプログラムされた本発明の機械であると見なされ得る。例えば、マシンは、命令がない場合は、汎用コンピューティングデバイスと見なされる一方で、命令がある場合は、マシンは、本発明の機能のステップを行うように明示的に構成された専用デバイスと見なされる。
【0169】
[00179]これらの開示による方法を実施するデバイスは、ハードウェア、ファームウェア、および/またはソフトウェアを備え得、様々なフォームファクタのいずれかをとり得る。このようなフォームファクタの典型的な例は、サーバ、ラップトップ、スマートフォン、スモールフォームファクタパーソナルコンピュータ、携帯情報端末などを含む。本明細書で説明された機能はまた、周辺機器またはアドインカードにおいて具現化さ得る。このような機能はまた、さらなる例として、回路基板上の異なるチップ間で、または単一のデバイスにおいて実行される異なるプロセス間で実装され得る。
【0170】
[00180]命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースをサポートするための他の構造は、これらの開示で説明された機能を提供するための手段である。
【0171】
[00181]様々な例および他の情報が添付の特許請求の範囲内の態様を説明するために使用されたが、当業者は、多種多様な実装形態を導出するためにこれらの例を使用することが可能であるので、特許請求の範囲のいかなる限定も、このような例における特定の特徴または配置に基づいて暗示されるべきではない。さらに、一部の主題は、構造的特徴および/または方法のステップの例に特有の言語で説明されている場合があるが、添付の特許請求の範囲で定義される主題は、必ずしもこれらの説明された特徴または動作に限定されないことを理解されたい。例えば、そのような機能は、異なって分散され得るか、または本明細書で特定されたもの以外のコンポーネントで実行され得る。むしろ、説明された特徴およびステップは、添付の特許請求の範囲内のシステムおよび方法のコンポーネントの例として開示される。
【0172】
[00182]本開示の原理は、特定の装置および方法に関連して上記で説明されたが、この説明は、本開示の範囲の限定としてではなく、単に例としてなされたものであることを明確に理解されたい。
以下に、出願当初の特許請求の範囲に記載の事項を、そのまま、付記しておく。
[0172]
[00182]本開示の原理は、特定の装置および方法に関連して上記で説明されたが、この説明は、本開示の範囲の限定としてではなく、単に例としてなされたものであることを明確に理解されたい。
[書類名]特許請求の範囲
[C1]
記憶された命令を備える非一時的なコンピュータ可読媒体であって、前記命令は、接続管理システムに、
ユーザデバイスから、自然言語コミュニケーションを受信することと、
前記自然言語コミュニケーションのインテントを解釈することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信するソーシャルネットワークメンバーエンドポイントを自動的に決定すること、前記ソーシャルネットワークメンバーエンドポイントは、少なくとも1つのエージェントおよび少なくとも1人のソーシャルネットワークメンバーを含むエンドポイントの集合から選択される、と、
前記自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の第1の会話を促進することと、
前記自然言語コミュニケーションを前記ソーシャルネットワークメンバーエンドポイントに送ることと、
を行わせるように実施される、非一時的なコンピュータ可読媒体。
[C2]
前記命令は、前記接続管理システムに、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話においてアクショントリガを検出すること、ここにおいて、アクショントリガは、前記接続管理システムによってアクションが取られることを要求する、と、
をさらに行わせる、C1に記載の非一時的なコンピュータ可読媒体。
[C3]
前記命令は、前記接続管理システムに、
前記アクショントリガの検出後に、前記第1の会話においてメッセージを提供すること
をさらに行わせる、C2に記載の非一時的なコンピュータ可読媒体。
[C4]
前記命令は、前記接続管理システムに、
前記アクショントリガの検出後に、プライベートメッセージを前記ユーザデバイスに送ること、またはプライベートメッセージを前記ソーシャルネットワークメンバーエンドポイントに送ること
をさらに行わせる、C3に記載の非一時的なコンピュータ可読媒体。
[C5]
前記命令は、前記接続管理システムに、
前記アクショントリガの検出後に、前記第1の会話に第2のエンドポイントを追加することと、
前記第1の会話の一部である通信を、前記第2のエンドポイントに送ることと、
をさらに行わせる、C2に記載の非一時的なコンピュータ可読媒体。
[C6]
前記命令は、前記接続管理システムに、
前記アクショントリガの検出後に、前記ソーシャルネットワークメンバーエンドポイントまたは前記第2のエンドポイントを前記第1の会話からドロップし、前記ドロップされたエンドポイントに前記第1の会話の一部である通信を送ることを中止すること
をさらに行わせる、C5に記載の非一時的なコンピュータ可読媒体。
[C7]
前記命令は、前記接続管理システムに、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が閉じられるべきであると決定することと、
前記第1の会話を閉じることと、
をさらに行わせる、C1に記載の非一時的なコンピュータ可読媒体。
[C8]
前記命令は、前記接続管理システムに、
前記ユーザデバイスと前記ソーシャルネットワークメンバーエンドポイントとの間の後続の通信について、前記第1の会話を監視することと、
前記第1の会話が休止状態になったと決定することと、
前記第1の会話を再開するために、通信を前記第1の会話の一部として前記ユーザデバイスに送ることと、
をさらに行わせる、C1に記載の非一時的なコンピュータ可読媒体。
[C9]
前記命令は、前記接続管理システムに、
後続の自然言語コミュニケーションについて、前記ユーザデバイスからの通信を監視することと、
前記後続の自然言語コミュニケーションの前記インテントを解釈することと、
前記後続の自然言語コミュニケーションが前記第1の会話の一部ではないことを決定することと、
前記インテントに基づいて、前記自然言語コミュニケーションを受信する第2のエンドポイントを決定することと、
前記後続の自然言語コミュニケーションの前記インテントを処理するために、前記ユーザデバイスと前記第2のエンドポイントとの間の第2の会話を開くことと、
前記後続の自然言語コミュニケーションを前記第2のエンドポイントに送ることと、
をさらに行わせる、C1に記載の非一時的なコンピュータ可読媒体。
[C10]
前記命令は、前記接続管理システムに、
追加の通信について、前記ユーザデバイスからの通信を監視し続けることと、
前記追加の通信が前記第1の会話に関係するか、または前記第2の会話に関係するかを決定することと、
前記追加の通信が前記第1の会話に関係するとき、前記追加の通信を前記ソーシャルネットワークメンバーエンドポイントに転送し、前記追加の通信が前記第2の会話に関係するとき、前記追加の通信を前記第2のエンドポイントに転送し、それによって、前記第1の会話および前記第2の会話を同時並行に維持することと、
をさらに行わせる、C9に記載の非一時的なコンピュータ可読媒体。