(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-05
(54)【発明の名称】呼び出しのための予測保留持続時間の決定および表示
(51)【国際特許分類】
H04M 3/42 20060101AFI20240829BHJP
【FI】
H04M3/42 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024506207
(86)(22)【出願日】2022-07-19
(85)【翻訳文提出日】2024-01-31
(86)【国際出願番号】 US2022037548
(87)【国際公開番号】W WO2023027832
(87)【国際公開日】2023-03-02
(32)【優先日】2021-08-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-12-02
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】チェルカラ,ジョセフ・ジョセフ
(72)【発明者】
【氏名】チェン,ホン
(72)【発明者】
【氏名】シェバノウ,アンドリュー・ジョージ
(72)【発明者】
【氏名】チオウ,レベッカ
(72)【発明者】
【氏名】ゴン,イーシュエン
(72)【発明者】
【氏名】ロビンソン,カーティス・レイ,ジュニア
(72)【発明者】
【氏名】ワン,イー
(72)【発明者】
【氏名】ガン,ユエ
(72)【発明者】
【氏名】ハルト,シャーロット
(72)【発明者】
【氏名】サン,ビン
【テーマコード(参考)】
5K201
【Fターム(参考)】
5K201BC01
5K201BC27
5K201CB05
5K201CB16
5K201CC01
5K201CC02
5K201DC02
5K201DC04
5K201EC06
5K201EF10
(57)【要約】
実装形態は、呼び出しのための予測保留持続時間の決定および表示に関する。いくつかの実装形態において、コンピュータが実行する方法は、標的エンティティの識別子を獲得することを含み、識別子は、第1の呼び出しデバイスによって、第1の呼び出しデバイスと標的エンティティとの間の呼び出しを開始するために使用可能である。呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間が決定される。保留持続時間は、1つまたは複数の呼び出しデバイスと標的エンティティとの間の以前の呼び出しに基づいて決定される。保留持続時間は、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの開始前に、第1の呼び出しデバイスによる表示のために提供される。
【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
標的エンティティの識別子を獲得することを含み、前記識別子は、第1の呼び出しデバイスによって、前記第1の呼び出しデバイスと前記標的エンティティとの間の呼び出しを開始するために使用可能であり、
前記方法は、前記呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、前記呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することをさらに含み、前記保留持続時間は、1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、
前記方法は、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスによって表示されるべき前記保留持続時間を提供することをさらに含む、コンピュータが実行する方法。
【請求項2】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスと通信状態にあるサーバデバイスによって実施され、前記識別子を獲得することは、前記サーバデバイスにおいて、前記第1の呼び出しデバイスへのユーザ入力に基づいて前記識別子を受信した前記第1の呼び出しデバイスから前記識別子を受信することを含み、表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって表示されるように前記保留持続時間を前記サーバデバイスから前記第1の呼び出しデバイスへ送信することを含む、請求項1に記載のコンピュータが実行する方法。
【請求項3】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって実施され、前記保留持続時間を決定することは、
保留持続時間を格納するデータ構造、または前記標的エンティティおよび前記特定の時刻を含む入力に応答して保留持続時間を出力する前記第1の呼び出しデバイスのローカルストレージに格納される機械学習モデルにアクセスすることを含む、請求項1に記載のコンピュータが実行する方法。
【請求項4】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって実施され、前記保留持続時間を決定することは、
通信ネットワークを介してサーバデバイスから前記保留持続時間を要求することと、
前記識別子を、前記第1の呼び出しデバイスから、前記識別子に基づいて前記保留持続時間を決定するサーバデバイスへ送信することと、
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスにおいて前記サーバデバイスから前記保留持続時間を受信することとを含み、
前記保留持続時間を要求することは、前記標的エンティティの前記識別子の完全版を獲得する前に実施される、請求項1に記載のコンピュータが実行する方法。
【請求項5】
前記保留持続時間を決定することは、機械学習モデルまたはデータ構造のうちの1つの使用に基づき、
前記機械学習モデルは、前記識別子および前記呼び出しの時刻を含む入力を受信し、前記呼び出しのための予測保留持続時間を示す結果を出力し、前記機械学習モデルは、識別子、前記以前の呼び出しの開始時刻、前記以前の呼び出しの呼び出し持続時間、および前記以前の呼び出しの保留持続時間を含む訓練データに基づいて訓練され、
前記データ構造は、エンティティのための予測保留持続時間を格納し、前記予測保留持続時間は、前記複数の以前の呼び出しに基づく、請求項1に記載のコンピュータが実行する方法。
【請求項6】
前記1つまたは複数の呼び出しデバイスは、複数のユーザと関連付けられた複数の呼び出しデバイスである、請求項1に記載のコンピュータが実行する方法。
【請求項7】
前記保留持続時間は、
前記1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の前記複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および
前記以前の呼び出しの複数の保留持続時間を示す保留持続時間データ
に基づいて決定される、請求項1に記載のコンピュータが実行する方法。
【請求項8】
前記複数の以前の呼び出しは、しきい値持続時間よりも長い呼び出し持続時間を有し、前記しきい値持続時間よりも短い呼び出し持続時間を有する呼び出しを除外し、前記複数の保留持続時間のうちの1つまたは複数の保留持続時間は、前記しきい値持続時間よりも長い前記呼び出し持続時間のうちの対応する呼び出し持続時間に基づく、請求項7に記載のコンピュータが実行する方法。
【請求項9】
前記複数の保留持続時間のうちの1つまたは複数の保留持続時間は、前記1つまたは複数の以前の呼び出しの前記呼び出し持続時間に基づいて前記1つまたは複数の保留持続時間を予測する関数に基づいて決定され、前記しきい値持続時間および前記関数は、前記識別子と関連付けられた前記標的エンティティのためにカスタマイズされる、請求項8に記載のコンピュータが実行する方法。
【請求項10】
前記特定の時刻を、前記保留持続時間の表示と関連して前記第1の呼び出しデバイスによって表示されるようにすることをさらに含み、前記特定の時刻は、前記現在の時刻より少なくとも1日先である、請求項1に記載のコンピュータが実行する方法。
【請求項11】
複数の見込み呼び出しのための複数の保留持続時間を決定することをさらに含み、前記複数の保留持続時間は、前記保留持続時間を含み、前記複数の保留持続時間の各々は、関連した見込み呼び出しが前記現在の時刻より先のそれぞれの呼び出し時刻において開始されるときの、前記関連した見込み呼び出しが前記人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、前記それぞれの呼び出し時刻は、互いと異なり、
前記方法は、前記複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることをさらに含む、請求項1に記載のコンピュータが実行する方法。
【請求項12】
前記複数の保留持続時間のうちの特定の保留持続時間、および前記特定の保留持続時間と関連付けられた特定の呼び出し時刻を有する見込み呼び出しを選択するユーザ入力を受信することと、
前記第1の呼び出しデバイスと関連付けられたカレンダ内に、前記選択された見込み呼び出しを前記特定の呼び出し時刻にスケジュールすることとをさらに含む、請求項11に記載のコンピュータが実行する方法。
【請求項13】
前記特定の呼び出し時刻が迫っていること、またはこれに達したことを示す通知が前記第1の呼び出しデバイスによって出力されるようにすることをさらに含む、請求項12に記載のコンピュータが実行する方法。
【請求項14】
前記第1の呼び出しデバイスが、前記特定の呼び出し時刻に、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しを自動的に開始することをさらに含む、請求項12に記載のコンピュータが実行する方法。
【請求項15】
前記保留持続時間が表示されるようにすることは、前記第1の呼び出しデバイスと前記標的エンティティとの間の第1の呼び出し中に実施され、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しは、第2の呼び出しであり、前記第1の呼び出しは、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記第2の呼び出しの開始を引き起こす前に開始される、請求項1に記載のコンピュータが実行する方法。
【請求項16】
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの終了後にユーザフィードバックのためのプロンプトが表示されるようにすることと、
前記保留持続時間の正確度を示す前記ユーザフィードバックを受信することと、
前記ユーザフィードバックに基づいて前記保留持続時間を決定するために使用されるデータ構造またはモデルを更新することとをさらに含む、請求項1に記載のコンピュータが実行する方法。
【請求項17】
呼び出しのための保留持続時間予測を提供するためのシステムであって、
命令を格納するメモリと、
前記メモリに結合される少なくとも1つのプロセッサとを備え、前記少なくとも1つのプロセッサは、動作を実施するために前記メモリから前記命令にアクセスするように構成され、前記動作は、
標的エンティティの識別子を獲得することを含み、前記識別子は、第1の呼び出しデバイスによって、前記第1の呼び出しデバイスと前記標的エンティティとの間の呼び出しを開始するために使用可能であり、
前記呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、前記呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することを含み、前記保留持続時間は、1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスによって表示されるべき前記保留持続時間を提供することを含む、システム。
【請求項18】
前記保留持続時間を決定する前記動作は、
前記1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の前記複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および
前記以前の呼び出しの複数の保留持続時間を示す保留持続時間データに基づく、請求項17に記載のシステム。
【請求項19】
前記少なくとも1つのプロセッサは、さらなる動作を実施し、前記さらなる動作は、
前記保留持続時間を含む複数の保留持続時間を決定することを含み、前記複数の保留持続時間の各々は、前記呼び出しが前記現在の時刻に対して見込まれるそれぞれの呼び出し時刻において開始されるときの、前記呼び出しが前記人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、前記それぞれの呼び出し時刻は、互いと異なり、
前記複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることを含む、請求項17に記載のシステム。
【請求項20】
命令が格納されている非一時的なコンピュータ可読媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに動作を実施させ、前記動作は、
標的エンティティの識別子を獲得することを含み、前記識別子は、第1の呼び出しデバイスによって、前記第1の呼び出しデバイスと前記標的エンティティとの間の呼び出しを開始するために使用可能であり、
前記呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、前記呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することを含み、前記保留持続時間は、複数の呼び出しデバイスと前記標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、前記複数の呼び出しデバイスは、複数のユーザと関連付けられ、
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスによって表示されるべき前記保留持続時間を提供することを含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
関連出願の相互参照
本出願は、2021年8月24日に出願された「Determination and Display of Estimated Hold Durations for Calls」という表題の米国仮特許出願第63/236,648号に対する優先権を主張する、2021年12月2日に出願された「Determination and Display of Estimated Hold Durations for Calls」という表題の米国特許出願第17/540,849号に対する優先権を主張するものであり、これらの両方は、それらの全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
背景
人々は、情報を獲得するため、サービスをスケジュールするためなど、企業または他のエンティティに電話をかけることが多々ある。自動応答では対処しにくい特定の要求またはサービスについては、エンティティの人間のエージェントが、典型的には、発呼者と話をする。多くのエンティティは、そのような情報およびサービスについて発呼者から受信される大量の呼び出しに対処することができず、よって、一部の発呼者に対しては、人間のエージェントが発呼者の呼び出しに応えることができるまで保留待ち行列で待つことを要求する。一部のエンティティは、人間のエージェントの待ち時間の予測を提供する。そのような予測は、数ある因子の中でも、現在保留待ち行列にいる発呼者の数および人間のエージェントの可用性に基づいて、エンティティによって決定される。
【0003】
本明細書に提供される背景技術の記載は、本開示の文脈を概して提示することを目的とする。この背景技術の章に説明される範囲での、ここに記載されている発明者の研究、ならびに出願時に別の形で先行技術としての資格を有しない説明の態様は、明示または黙示を問わず本開示に対する先行技術として認められるものではない。
【発明の概要】
【0004】
概要
本出願の実装形態は、呼び出しのための予測保留持続時間の決定および表示に関する。いくつかの実装形態において、コンピュータが実行する方法は、標的エンティティの識別子を獲得することを含み、識別子は、第1の呼び出しデバイスによって、第1の呼び出しデバイスと標的エンティティとの間の呼び出しを開始するために使用可能である。呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間が決定される。保留持続時間は、1つまたは複数の呼び出しデバイスと標的エンティティとの間の複数の以前の呼び出しに基づいて決定される。保留持続時間は、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの開始前に、第1の呼び出しデバイスによる表示のために提供される。
【0005】
本方法の様々な実装形態および例が説明される。例えば、いくつかの実装形態において、識別子を獲得すること、保留持続時間を決定すること、および表示されるべき保留持続時間を提供することは、第1の呼び出しデバイスと通信状態にあるサーバデバイスによって実施され、識別子を獲得することは、サーバデバイスにおいて、第1の呼び出しデバイスへのユーザ入力に基づいて識別子を受信した第1の呼び出しデバイスから識別子を受信することを含み、表示されるべき保留持続時間を提供することは、第1の呼び出しデバイスによって表示されるように保留持続時間をサーバデバイスから第1の呼び出しデバイスへ送信することを含む。いくつかの実装形態において、識別子を獲得すること、保留持続時間を決定すること、および表示されるべき保留持続時間を提供することは、第1の呼び出しデバイスによって実施され、保留持続時間を決定することは、保留持続時間を格納するデータ構造、または標的エンティティおよび特定の時刻を含む入力に応答して保留持続時間を出力する第1の呼び出しデバイスのローカルストレージに格納される機械学習モデルにアクセスすることを含む。いくつかの実装形態において、識別子を獲得すること、保留持続時間を決定すること、および表示されるべき保留持続時間を提供することは、第1の呼び出しデバイスによって実施され、保留持続時間を決定することは、通信ネットワークを介してサーバデバイスから保留持続時間を要求することと、識別子を、第1の呼び出しデバイスから、識別子に基づいて保留持続時間を決定するサーバデバイスへ送信することと、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの開始前に、第1の呼び出しデバイスにおいてサーバデバイスから保留持続時間を受信することとを含み、保留持続時間を要求することは、標的エンティティの識別子の完全版を獲得する前に実施される。
【0006】
いくつかの実装形態において、保留持続時間を決定することは、機械学習モデルまたはデータ構造の使用に基づき、機械学習モデルは、識別子および呼び出しの時刻を含む入力を受信し、呼び出しのための予測保留持続時間を示す結果を出力し、また、識別子、以前の呼び出しの開始時刻、以前の呼び出しの呼び出し持続時間、および以前の呼び出しの保留持続時間を含む訓練データに基づいて訓練され、データ構造は、エンティティのための予測保留持続時間を格納し、保留持続時間は、複数の以前の呼び出しに基づく。いくつかの実装形態において、1つまたは複数の呼び出しデバイスは、複数のユーザと関連付けられた複数の呼び出しデバイスである。
【0007】
いくつかの実装形態において、保留持続時間は、1つまたは複数の呼び出しデバイスと標的エンティティとの間の複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および以前の呼び出しの複数の保留持続時間を示す保留持続時間データに基づいて決定される。いくつかの例において、複数の以前の呼び出しは、しきい値持続時間よりも長い呼び出し持続時間を有し、しきい値持続時間よりも短い呼び出し持続時間を有する呼び出しを除外し、保留持続時間のうちの1つまたは複数は、しきい値持続時間よりも長い呼び出し持続時間のうちの対応する呼び出し持続時間に基づく。さらなる例において、1つまたは複数の保留持続時間は、1つまたは複数の以前の呼び出しの呼び出し持続時間に基づいて1つまたは複数の保留持続時間を予測する関数に基づいて決定され、しきい値持続時間および関数は、識別子と関連付けられた標的エンティティのためにカスタマイズされる。
【0008】
いくつかの実装形態において、本方法は、特定の時刻が、保留持続時間の表示と関連して第1の呼び出しデバイスによって表示されるようにすることをさらに含み、特定の時刻は、現在の時刻より少なくとも1日先である。
【0009】
いくつかの実装形態において、本方法は、複数の見込み呼び出しのための複数の保留持続時間を決定することをさらに含み、複数の保留持続時間は、保留持続時間を含み、複数の保留持続時間の各々は、関連した見込み呼び出しが現在の時刻より先のそれぞれの呼び出し時刻において開始されるときの、関連した見込み呼び出しが人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、それぞれの呼び出し時刻は、互いと異なり、本方法は、複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることをさらに含む。いくつかの実装形態において、本方法は、複数の保留持続時間のうちの特定の保留持続時間、および特定の保留持続時間と関連付けられた特定の呼び出し時刻を有する見込み呼び出しを選択するユーザ入力を受信することと、第1の呼び出しデバイスと関連付けられたカレンダ内に、選択された見込み呼び出しを特定の呼び出し時刻にスケジュールすることとをさらに含む。いくつかの例において、特定の呼び出し時刻が迫っていること、またはこれに達したことを示す通知が、第1の呼び出しデバイスによって出力される。いくつかの例において、第1の呼び出しデバイスと標的エンティティとの間の呼び出しは、第1の呼び出しデバイスによって特定の呼び出し時刻に自動的に開始される。
【0010】
いくつかの実装形態において、保留持続時間が表示されるようにすることは、第1の呼び出しデバイスと標的エンティティとの間の第1の呼び出し中に実施され、第1の呼び出しデバイスと標的エンティティとの間の呼び出しは、第2の呼び出しであり、第1の呼び出しは、第1の呼び出しデバイスと標的エンティティとの間の第2の呼び出しの開始を引き起こす前に開始される。いくつかの実装形態において、本方法は、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの終了後にユーザフィードバックのためのプロンプトが表示されるようにすることと、保留持続時間の正確度を示すユーザフィードバックを受信することと、ユーザフィードバックに基づいて保留持続時間を決定するために使用されるデータ構造またはモデルを更新することとをさらに含む。
【0011】
いくつかの実装形態において、呼び出しのための保留持続時間予測を提供するためのシステムは、命令を格納するメモリと、メモリに結合される少なくとも1つのプロセッサとを含み、少なくとも1つのプロセッサは、動作を実施するためにメモリから命令にアクセスするように構成される。動作は、標的エンティティの識別子を獲得することを含み、識別子は、第1の呼び出しデバイスによって、第1の呼び出しデバイスと標的エンティティとの間の呼び出しを開始するために使用可能であり、動作は、呼び出しが現在の時間に対して見込まれる特定の時刻に開始されるときの、呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することをさらに含み、保留持続時間は、1つまたは複数の呼び出しデバイスと標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、動作は、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの開始前に、第1の呼び出しデバイスによって表示されるべき保留持続時間を提供することをさらに含む。
【0012】
本システムの様々な実装形態において、保留持続時間を決定する動作は、1つまたは複数の呼び出しデバイスと標的エンティティとの間の複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および以前の呼び出しの複数の保留持続時間を示す保留持続時間データに基づく。いくつかの実装形態において、さらなる動作は、保留持続時間を含む複数の保留持続時間を決定することを含み、保留持続時間の各々は、呼び出しが現在の時刻に対して見込まれるそれぞれの呼び出し時刻において開始されるときの、呼び出しが人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、それぞれの呼び出し時刻は、互いと異なり、さらなる動作は、複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることをさらに含む。様々な実装形態において、動作は、上記方法の1つまたは複数の特徴を含み得る。
【0013】
いくつかの実装形態において、プロセッサによって実行されると、プロセッサに動作を実施させる命令が格納されている非一時的なコンピュータ可読媒体。動作は、標的エンティティの識別子を獲得することを含み、識別子は、第1の呼び出しデバイスによって、第1の呼び出しデバイスと標的エンティティとの間の呼び出しを開始するために使用可能であり、動作は、呼び出しが現在の時間に対して見込まれる特定の時刻に開始されるときの、呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することをさらに含み、保留持続時間は、複数の呼び出しデバイスと標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、複数の呼び出しデバイスは複数のユーザと関連付けられ、動作は、第1の呼び出しデバイスと標的エンティティとの間の呼び出しの開始前に、第1の呼び出しデバイスによって表示されるべき保留持続時間を提供することをさらに含む。様々な実装形態において、動作は、上記方法またはシステムの1つまたは複数の特徴を含み得る。
【図面の簡単な説明】
【0014】
【
図1】本明細書に説明される1つまたは複数の実装形態のために使用され得るシステム例のブロック図である。
【
図2】いくつかの実装形態による、見込み呼び出しのための予測保留持続時間を決定および表示するための方法例を例示するフロー図である。
【
図3】いくつかの実装形態による、いくつかの実装形態による、以前の呼び出しに基づいて見込み呼び出しのための保留持続時間を予測するために使用されるデータ構造および/またはモデルを構築するための方法例を例示するフロー図である。
【
図4】いくつかの実装形態による、標的エンティティへの見込み呼び出しのための保留持続時間を決定するための方法例を例示するフロー図である。
【
図5】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出しを開始する前に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図6】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出しを開始する前に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図7】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出しを開始する前に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図8】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出しを開始する前に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図9】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出し中に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図10】いくつかの実装形態による、見込み呼び出しのための保留持続時間が呼び出し中に表示される、呼び出しデバイスによって表示されるユーザインターフェースの概略図である。
【
図11】本明細書に説明される1つまたは複数の実装形態のために使用され得るデバイス例のブロック図である。
【発明を実施するための形態】
【0015】
詳細な説明
本明細書に説明される1つまたは複数の実装形態は、呼び出しのための予測保留持続時間の決定および表示に関する。様々な実装形態において、方法は、標的エンティティの識別子を獲得することを含む。識別子は、呼び出しデバイスと標的エンティティとの間の呼び出しを開始するために呼び出しデバイスによって使用され得、例えば、電話番号または他の識別子が、企業に接続して呼び出しを確立するためにダイヤルされ得る。呼び出しが人間のエージェントにマッチングされる前の予測時間量である1つまたは複数の保留持続時間が決定される。保留持続時間が決定される呼び出しは、現在の時刻の後の呼び出し時刻に開始される見込み呼び出しであり、現在進行中の呼び出しではない。保留持続時間は、例えば、標的エンティティに対して呼び出しデバイスの複数のユーザによって行われた以前の呼び出しに基づいて決定される。決定された保留持続時間は、呼び出しデバイスと標的エンティティとの間の見込み呼び出しの開始前に、呼び出しデバイスによって表示され得る。
【0016】
様々な追加の特徴が説明される。例えば、いくつかの実装形態において、保留持続時間を決定することは、呼び出しデバイスと通信状態にあるサーバによって実施され得、サーバは、保留持続時間を、表示されるように呼び出しデバイスに送信し得る。いくつかの実装形態において、識別子を獲得すること、ならびに保留持続時間を決定および表示することは、呼び出しデバイスによって実施され得る。様々な実装形態において、保留持続時間を決定することは、保留持続時間を格納するデータ構造にアクセスすることを含み得る。いくつかの実装形態において、標的エンティティおよび見込み呼び出しの呼び出し時刻など、見込み呼び出しの入力された呼び出し特性に応答して保留持続時間を出力する機械学習モデルが使用される。様々な実装形態において、データ構造および/またはモデルは、サーバ上、または呼び出しデバイスのローカルストレージ内に格納され得る。いくつかの実装形態において、クライアントデバイスは、標的エンティティの識別子の完全版を獲得する前に、サーバまたは他の遠隔デバイスから保留持続時間を要求し得る。
【0017】
いくつかの実装形態において、保留持続時間は、呼び出しデバイスと標的エンティティとの間の以前の呼び出しの呼び出し持続時間を示す呼び出し持続時間データ、および以前の呼び出しの保留持続時間を示す保留持続時間データに基づいて決定される。例えば、保留持続時間を決定するために使用される以前の呼び出しは、しきい値持続時間よりも長い呼び出し持続時間を有し、しきい値持続時間よりも短い呼び出し持続時間を有する呼び出しを除外する。以前の呼び出し保留持続時間のうちの1つまたは複数は、しきい値よりも長い、対応する呼び出し持続時間に基づき得る。いくつかの実装形態において、以前の呼び出し保留持続時間は、関数に基づき、しきい値持続時間および関数は、識別子と関連付けられた標的エンティティのためにカスタマイズされ得る。
【0018】
いくつかの実装形態において、見込み呼び出しのための複数の保留持続時間は、互いと異なる複数のそれぞれの呼び出し時刻に決定され、複数の保留持続時間は、それらのそれぞれの呼び出し時刻と関連して表示され得る。いくつかの実装形態において、ユーザ入力は、特定の保留持続時間および見込み呼び出し時刻を有する見込み呼び出しを選択することができ、選択された見込み呼び出しは、ユーザと関連付けられたカレンダ内に、その呼び出し時刻に自動的にスケジュールされる。例えば、特定の呼び出し時刻が迫っていること、もしくはそれに到達したことを示す通知が呼び出しデバイスによって出力され得るか、および/または選択された呼び出しは、特定の呼び出し時刻に呼び出しデバイスと標的エンティティとの間で自動的に開始される。
【0019】
説明された技術および特徴にはいくつかの利点が存在する。説明された実装形態は、まだ開始されていない見込み呼び出しのためのユーザの保留持続時間の予測を提供する。これは、現在進行中の呼び出しのための予測保留時間を提供するが、呼び出しのための保留持続時間情報を、その呼び出しが開始される前にユーザに提供しない以前のシステムとは異なる。見込み呼び出しのための保留持続時間の予測により、ユーザは、呼び出しをより効率的に計画およびスケジュールすることができ、そのような情報なしにエンティティを呼び出す場合よりも潜在的な不満は小さい。説明された技術は、たった今開始される呼び出しおよび/または未来の1つもしくは複数の時刻もしくは曜日に開始される呼び出しについて、予測保留持続時間をユーザに提供することができ、ユーザが自分のスケジュールおよび自分のデバイス使用のために最も簡便かつ最も効率的である時刻および曜日に呼び出しを計画することを可能にする。加えて、通知が、計画した呼び出しおよびそれらの呼び出しの保留持続時間に関連してユーザに提供され得る。
【0020】
さらには、本明細書に説明される様々な実装形態は、標的エンティティ(またはコールセンタのような関連エンティティ)から受信されるデータを必要とすることなく、ユーザが行った以前の呼び出しの呼び出し特性を使用して予測保留持続時間を決定する。例えば、そのようなデータは、例えば、エージェント、および標的エンティティもしくは関連エンティティによって実施される呼び出しの内部監視に基づいて、現在もしくは見込みのエージェント可用性を示し得、ならびに/または標的エンティティの人間のエージェントと話すために待っている保留待ち行列内の現在の発呼者の数を示し得る。本明細書に説明される技術は、そのようなエージェント可用性および現在の保留待ち行列データを使用することを必要としない。例えば、説明される技術は、現在のエージェント可用性データ、現在の保留待ち行列データ、または標的エンティティもしくは関連エンティティから受信される他のデータを使用する必要なしに、ユーザおよびユーザデバイスによる以前の呼び出しに関連したデータに基づいて保留持続時間を予測することができる。この以前の呼び出しデータは、デバイスによって自動的に決定された、ユーザフィードバックに基づいて決定された、および/または以前の呼び出しの呼び出し持続時間などの他の呼び出し特性に基づいて決定された以前の呼び出しの保留持続時間を含み得、したがって、今後の異なる曜日および時間における呼び出しのための保留持続時間のロバストな予測を提供する。故に、説明された技術は、以前の呼び出しデータが利用可能である任意の呼び出し、例えば、現在のエージェント可用性データも保留待ち行列データも利用可能ではない、もしくは知られていない時間におよび/またはそのようなエンティティに対して行われる呼び出しのための保留持続時間を予測するために使用され得る。
【0021】
1つまたは複数の説明された実装形態の技術的効果は、デバイスが結果を獲得するためにより少ない計算リソースを消費することである。例えば、説明された技術の技術的効果は、説明された技術または特徴のうちの1つまたは複数を提供しない以前のシステムと比較した際の、システム処理リソースおよび電力リソースの消費の低減である。例えば、そのような以前のシステムは、標的エンティティにおける人間のエージェントと接続しようとするためには、複数の異なる呼び出しを行うことをユーザに要求し得、各呼び出しは、ユーザが前もって知ることのない時間量にわたって保留することをユーザに要求する。ユーザは、しばしば、エージェントと接続する前に呼び出しを終了し、異なる時間に、今度は保留持続時間が短くなることを期待して、標的エンティティを再度呼び出すことを試みる。呼び出しに対するそのような複数回の試みは、システムリソースを無駄に消費する。本明細書に説明される特徴は、例えば、まだ開始されていない見込み呼び出しのための保留持続時間を表示し、ユーザがより効率的に呼び出しを行うことを可能にし、異なる呼び出し時刻における既知の保留持続時間を考慮し、こうして全体的に、開始される呼び出しをより少なくし、呼び出しデバイス、標的エンティティ、および呼び出しを可能にするために呼び出しデバイスと通信する他のデバイスの全体的な処理および電力要件を下げることによって、そのような欠点を低減し得る。
【0022】
さらには、いくつかの実装形態において、データ構造および/またはモデルは、保留持続時間を決定するために使用され得、ユーザによって呼び出しが行われる前に、および保留持続時間の決定の前に、構築および格納され得る。予め構築されたデータ構造および/またはモデルは、呼び出し中および呼び出し前の処理およびネットワーキングリソースの消費が低減されるように、ローカルストレージ、または遠隔デバイスとの効率的な通信を介して、呼び出しデバイスによってアクセスされ得る。対照的に、いくつかの以前のシステムは、現在の保留時間予測を決定するために標的エンティティにおける現在のエージェント可用性および/または保留待ち行列内の現在の発呼者数を示すデータを必要とし得、これは、追加のシステム処理およびネットワーキングリソースを必要とし得る。
【0023】
本明細書内の説明に付け加えて、ユーザは、もしも本明細書に説明されるシステム、プログラム、または特徴が、ユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、職業、ユーザ選好、ユーザの現在の場所、ユーザのメッセージ、ユーザによって行われた発信、またはユーザのデバイスに関する情報)の収集を可能にし得る場合、およびユーザがサーバからコンテンツまたは通信を送信される場合の両方に関して、ユーザが選択を行うことを可能にする制御を提供され得る。加えて、特定のデータは、それが格納または使用される前に、個人を特定できる情報が除去されるように1つまたは複数のやり方で取り扱われ得る。例えば、ユーザの身元は、個人を特定できる情報がユーザに対して決定されることができないように取り扱われ得るか、または、ユーザの地理的場所は、ユーザの特定の場所が決定されることができないように、場所情報が獲得される場合は(例えば、都市、郵便番号、または州レベルまで)一般化され得る。故に、ユーザは、ユーザに関してどんな情報が収集されるか、情報がどのように使用されるか、およびどんな情報がユーザに提供されるかに対して制御を有し得る。
【0024】
図1は、本明細書に説明されるいくつかの実装形態において使用され得る、例となるネットワーク環境100のブロック図を例示する。いくつかの実装形態において、ネットワーク環境100は、1つまたは複数のサーバデバイス、例えば、
図1の例内のサーバシステム102を含む。サーバシステム102は、例えば、ネットワーク130を通じて通信し得る。サーバシステム102は、サーバデバイス104、およびデータベース106または他のストレージデバイスを含み得る。ネットワーク環境100はまた、1つまたは複数のクライアントデバイス、例えば、クライアントデバイス120、122、124、および126を含み、これらは、ネットワーク接続130を介してサーバ102と、互いと、および/または他のデバイスと通信し得る。ネットワーク130は、インターネット、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、スイッチ、またはハブ接続などのうちの1つまたは複数を含む任意のタイプの通信ネットワークであり得る。いくつかの実装形態において、ネットワーク130は、例えば、ピアツーピアワイヤレスプロトコル(例えば、Bluetooth(登録商標)、Wi-Fi Directなど)を使用した、または1つのクライアントデバイスを他のクライアントデバイスに対するサーバとして機能させる、デバイス120-126間のピアツーピア通信を含み得る。2つのクライアントデバイス120と122との間のピアツーピア通信の一例が矢印132によって示される。
【0025】
例示を容易にするため、
図1は、サーバシステム102、サーバデバイス104、およびデータベース106のために1つのブロックを示し、クライアントデバイス120、122、124、および126のために4つのブロックを示す。サーバブロック102、104、および106は、複数のシステム、サーバデバイス、およびネットワークデータベースを表し得、ブロックは、示されるものとは異なる構成で提供され得る。例えば、サーバシステム102は、例えば、ネットワーク130を介して、他のサーバシステムと通信することができる複数のサーバシステムを表し得る。いくつかの実装形態において、サーバシステム102は、例えば、呼び出しサービス(例えば、ボイスオーバインターネットプロトコル(VOIP))を提供するクラウドホスティングサーバ(複数可)またはサーバ(複数可)を含み得る。いくつかの例において、データベース106および/または他のストレージデバイスは、サーバデバイス104とは別個であり、ネットワーク130を介してサーバデバイス104および他のサーバシステムと通信することができるサーバシステムブロック内に提供され得る。また、任意の数のクライアントデバイスが存在し得る。いくつかの例において、サーバシステム102は、ネットワーク接続130を通じてクライアントデバイスとワイヤレス通信し、このクライアントデバイスが、サーバモバイルデバイスからの信号によって有効化または補足され得る様々な特徴を提供する。
【0026】
サーバシステム102およびクライアントデバイス120-126は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、ポータブルまたはモバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビ、TVセットトップボックスまたはエンターテイメントデバイス、ウェアラブルデバイス(例えば、ディスプレイグラスまたはゴーグル、ヘッドマウントディスプレイ(HMD)、イヤホン、イヤーバッズ、フィットネスバンド、リストウォッチ、ヘッドセット、アームバンド、宝飾品など)、仮想現実(VR)および/または拡張現実(AR)対応デバイス、パーソナルデジタルアシスタント(PDA)、メディアプレイヤ、ゲームデバイスなど、幅広い用途に使用される任意のタイプのデバイスであり得る。一部のクライアントデバイスはまた、データベース106または他のストレージと同様のローカルデータベースを有し得る。他の実装形態において、ネットワーク環境100は、示される構成要素のすべてを有するわけではなく、および/または、本明細書に説明されるものの代わりに、もしくはそれに加えて、他のタイプの要素を含む他の要素を有し得る。
【0027】
様々な実装形態において、クライアントデバイス120-126は、それぞれのクライアントデバイスおよび/またはサーバシステム102上で実行されるアプリケーションを介してサーバシステム102と相互作用し得る。例えば、それぞれのクライアントデバイス120、122、124、および126は、サーバシステム102へ、およびサーバシステム102から、データを通信し得る。いくつかの実装形態において、サーバシステム102は、コンテンツデータ(例えば、音声、画像、動画、メッセージ、Eメールなど)、通知、コマンドなど、様々なデータをクライアントデバイスのすべてまたは特定のデバイスに送信し得る。各クライアントデバイスは、例えば、確認応答、データの要求、通知、ユーザコマンド、呼び出し要求など、適切なデータをサーバシステム102に送信し得る。いくつかの例において、サーバおよびクライアントデバイスは、テキストデータ、音声データ、動画データ、画像データ、または他のタイプのデータを含む様々な形態のデータを通信し得る。
【0028】
様々な実装形態において、エンドユーザU1、U2、U3、およびU4は、それぞれのクライアントデバイス120、122、124、および126を使用してサーバシステム102および/または互いと通信し得る。いくつかの例において、ユーザU1、U2、U3、およびU4は、それぞれのクライアントデバイスおよび/もしくはサーバシステム102上で実行されるアプリケーションを介して、ならびに/またはネットワークサービス、例えば、ソーシャルネットワークサービスもしくはサーバシステム102上に実装される他のタイプのネットワークサービスを介して、互いと交流し得る。いくつかの実装形態において、サーバシステム102は、各クライアントデバイスが、サーバシステム102および/またはネットワークサービスにアップロードされる通信コンテンツまたは共有コンテンツを受信することができるように、適切なデータをクライアントデバイスに提供し得る。いくつかの実装形態において、「ユーザ」は、1つまたは複数のプログラムまたは仮想エンティティ、ならびにシステムまたはネットワークとインターフェース接続をする人を含み得る。
【0029】
クライアントデバイス120、122、124、および/または126上のユーザインターフェースは、画像、動画、データ、および他のコンテンツ、ならびに通信(例えば、電話またはインターネット呼び出し、ビデオ会議、同期または非同期チャットなど)、プライバシー設定、通知、ならびに他のデータを含む、ユーザコンテンツおよび他のコンテンツの表示を可能にし得る。そのようなユーザインターフェースは、クライアントデバイス上のソフトウェア、サーバデバイス上のソフトウェア、ならびに/または、クライアントソフトウェアおよびサーバデバイス104上で実行するサーバソフトウェアの組み合わせ、例えば、サーバシステム102と通信状態にあるアプリケーションソフトウェアもしくはクライアントソフトウェアを使用して表示され得る。ユーザインターフェースは、クライアントデバイスまたはサーバデバイスの表示デバイス、例えば、タッチスクリーンまたは他の表示画面、プロジェクタなどによって表示され得る。いくつかの実装形態において、サーバシステム上で実行されるアプリケーションプログラムは、クライアントデバイスにおいてユーザ入力を受信するため、およびクライアントデバイスにおいて視覚データ、音声データなどのデータを出力するために、クライアントデバイスと通信し得る。
【0030】
サーバおよびクライアントデバイス上で実行する様々なアプリケーションおよび/またはオペレーティングシステムは、通信アプリケーション(例えば、音声呼び出し、ビデオ会議、チャット、または他の通信を接続および提供する)、Eメールアプリケーション、コンテンツデータの表示、プライバシー設定、通知、ブラウザなどを含む様々な機能を有効化し得る。ユーザインターフェースは、クライアントデバイス上で実行するアプリケーションもしくは他のソフトウェア、サーバデバイス上のソフトウェア、ならびに/またはクライアントソフトウェアおよびサーバ102上で実行するサーバソフトウェアの組み合わせ、例えば、サーバ102と通信状態にあるアプリケーションソフトウェアもしくはクライアントソフトウェアを使用して、クライアントデバイス上に表示され得る。ユーザインターフェースは、クライアントデバイスまたはサーバデバイスの表示デバイス、例えば、表示画面、プロジェクタなどによって表示され得る。いくつかの実装形態において、サーバ上で実行されるアプリケーションプログラムは、クライアントデバイスにおいてユーザ入力を受信するため、およびクライアントデバイスにおいて視覚データ、音声データなどのデータを出力するために、クライアントデバイスと通信し得る。いくつかの実装形態において、ネットワーク環境100の1つまたは複数のデバイス、例えば、サーバシステム102の1つまたは複数のサーバは、電子百科事典、ナレッジグラフ、1つまたは複数のデータベース、言葉、表現、符号、および他の情報のコーパス、ソーシャルネットワークアプリケーション(例えば、ソーシャルグラフ、友人用のソーシャルネットワーク、企業用のソーシャルネットワークなど)、場所または位置のためのウェブサイト(例えば、レストラン、自動車ディーラなど)、地図アプリケーション(例えば、地図の場所を調べるウェブサイト)、呼び出し特性およびデータなどを保持し得る。いくつかの実装形態において、サーバシステム102は、特定のタイプのコンテンツアイテム(例えば、テキストまたは画像)の分類子を含み得、特定のクラスのうちのいずれかが、受信したコンテンツアイテム内で検出されるかどうかを決定し得る。
【0031】
いくつかの実装形態は、コンピュータネットワークから切断されるか、またはこれに断続的に接続されるクライアントまたはサーバデバイス上に、本明細書に説明される1つまたは複数の特徴を提供し得る。いくつかの実装形態において、クライアントデバイスは、例えば、チャットまたは他のメッセージを介した、非同期通信のために、本明細書に説明されるような特徴および結果を提供し得る。
【0032】
機械学習モデルは、本明細書に説明されるようなサーバシステム102および/または1つもしくは複数のクライアントデバイス120-126によって使用され得る。いくつかの実装形態において、機械学習モデルは、ネットワークアーキテクチャに従って、例えば、1つまたは複数の層内に、配置される1つまたは複数のノードを伴う、ネットワークアーキテクチャを介して接続される様々なノードを伴う、および関連した重みを伴う、ニューラルネットワークであり得る。例えば、モデルの訓練ステージにおいて、モデルは、訓練データを使用して訓練され得、次いで推論ステージにおいて、訓練済みモデルは、入力データに基づいて出力を決定し得る。いくつかの実装形態において、モデルは、オフラインで、例えば、試験機関または他の環境内の試験デバイス上で訓練され得、訓練済みモデルが、モデルを実行するサーバに提供され得る。いくつかの実装形態において、訓練済みモデルは、デバイス上で局所的に再訓練もしくは更新され得るか、または訓練されていないモデルがデバイス上で訓練され得る。いくつかの実装形態において、ユーザの許可により、連合学習が、1つまたは複数の訓練済みモデルを更新するために利用され得、例えば、この場合、個々のサーバデバイスが各々、局所的なモデル訓練を実施し得、モデルに対する更新は、モデルの1つまたは複数の中央版を更新するために集められ得る。
【0033】
図2は、いくつかの実装形態による、見込み呼び出しのための予測保留持続時間を決定および表示するための方法例200を例示するフロー図である。いくつかの実装形態において、方法200は、サーバ、例えば、
図1に示されるサーバシステム102上で実行され得る。いくつかの実装形態において、方法200のブロックの一部またはすべては、1つもしくは複数のクライアントデバイス(例えば、
図1に示されるようなクライアントデバイス120、122、124、および/または126)、1つもしくは複数のサーバデバイス、および/またはサーバデバイスおよびクライアントデバイスの両方において実行され得る。説明された例において、方法200のブロックを実行するシステムは、1つまたは複数のプロセッサハードウェアまたは処理回路(「プロセッサ」)を含み、データベース106または他のアクセス可能なストレージなどの1つまたは複数のストレージデバイスにアクセスし得る。いくつかの実装形態において、1つまたは複数のサーバシステムの異なる構成要素は、異なるブロックまたはブロックの部分を実施し得る。
【0034】
いくつかの実装形態は、ユーザ入力に基づいて、方法200、またはその部分を開始し得る。ユーザは、例えば、方法200または方法200の特定のブロックの開始を、表示されたユーザインターフェースから選択していてもよい。いくつかの実装形態において、方法200またはその部分は、ユーザ入力を介したユーザによる指導に基づいて実施され得る。いくつかの実装形態において、方法200、または方法の部分は、デバイスによって自動的に開始され得る。例えば、方法(またはその部分)は、周期的に開始され得るか、または1つもしくは複数の特定のイベントもしくは条件の発生に基づいて開始され得る。例えば、そのようなイベントまたは条件は、そのデバイスもしくは他のデバイスによって実施されている1つもしくは複数の以前の呼び出し、方法200の最後の実施から経過した既定の時間期間、および/または方法200を実行するデバイスの設定において指定され得る1つもしくは複数の他のイベントもしくは条件、を示すデータを獲得することを含み得る。いくつかの例において、デバイス(サーバまたはクライアント)は、呼び出し特性データへのアクセスを伴って(ユーザの同意が受信される場合)、方法200を実施し得る。
【0035】
ブロック202において、ユーザの同意(例えば、ユーザの許可)が、方法200の実行においてユーザデータを使用するために獲得されているかどうかがチェックされる。例えば、ユーザデータは、ユーザ選好、ユーザ呼び出し特性データ、ユーザ選択された応答、デバイスのユーザインターフェース内の他のコンテンツ、またはコンテンツ収集物内の他のコンテンツデータアイテム(例えば、ユーザと関連付けられた呼び出し)、ユーザにより送信または受信されたメッセージ、ユーザのソーシャルネットワークおよび/または連絡先に関する情報、コンテンツ評価、ユーザの地理的場所、過去のユーザデータなどを含み得る。本明細書に説明される方法の1つまたは複数のブロックは、いくつかの実装形態においてユーザデータを使用し得る。
【0036】
ユーザの同意が、ユーザデータが方法200において使用され得る関連ユーザから獲得されている場合、ブロック204において、本明細書内の方法のブロックが、それらのブロックについて説明されるようなユーザデータの使用の可能性を伴って実行され得ることが決定され、方法は、ブロック208へと続く。ユーザの同意が獲得されていない場合、ブロック206において、ブロックが、ユーザデータの使用なしに実行されることになることが決定され、方法は、ブロック208へと続く。いくつかの実装形態において、ユーザの同意が獲得されていない場合、方法200の残りは実施されず、および/または、ユーザデータを使用する特定のブロックは実施されない。いくつかの実装形態において、ユーザの同意が獲得されていない場合、方法200のブロックは、ユーザデータの使用なしに、ならびに一般的なデータまたは好適にアクセス可能および好適に使用可能なデータを用いて、実行され得る。
【0037】
ブロック208において、保留持続時間のデータ構造および/またはモデルは、1つまたは複数のユーザの以前の呼び出し(例えば、電話呼び出し、音声呼び出し、またはオーバザトップ(OTT)サービスを介して行われる他の呼び出し)に関連するデータに基づいて構築される。データ構造またはモデルを使用して、保留持続時間は、以前の呼び出しが行われている様々なエンティティについて予測される。本明細書に言及されるように、呼び出しは、音声通信を可能にする、電話番号または他のアドレス情報(例えば、ユーザ名、Eメールアドレス、ユーザ識別子など、電話番号または他のアドレス情報にマッピングされるトークン、電話番号または他のアドレス情報のハッシュなど)など、エンティティと関連付けられた識別子を介して、様々なエンティティに対して行われる。エンティティは、様々な人、組織、企業、グループなどのいずれかを含み得る。
【0038】
いくつかの実装形態において、予測保留持続時間は、ユーザによって行われた以前の呼び出しの呼び出し特性を使用して決定され、標的エンティティ(またはコールセンタのような関連エンティティ)からのデータを必要としない。そのようなデータは、例えば、エージェント、および標的エンティティもしくは関連エンティティによって実施される呼び出しの内部監視に基づいて、現在もしくは見込みのエージェント可用性を示すデータ、および/または標的エンティティの人間のエージェントと話すために待機している保留待ち行列内の現在の発呼者の数を示すデータを含み得る。例えば、標的エンティティ(または関連エンティティ)は、様々な時間における人間のエージェントの可用性を追跡し、また保留中の発呼者の数を追跡し得るため、このデータに基づいて保留持続時間の予測を提供することができる。本明細書に説明される技術は、そのようなデータを使用する必要がなく、例えば、本明細書内の技術は、現在のエージェント可用性データ、現在の保留待ち行列データ、または標的エンティティもしくは関連エンティティから受信される他のデータを使用する必要なしに、ユーザデバイスの使用に基づく以前の呼び出しに関連したデータを使用することができる。故に、説明された技術は、ユーザ呼び出しデータが利用可能である任意の呼び出し、例えば、現在のエージェント可用性データも保留待ち行列データも利用可能ではない、もしくは知られていない時間に、および/またはそのようなエンティティに対して行われる呼び出しのための保留持続時間を予測するために使用され得る。
【0039】
ブロック208は、以下に説明されるように、標的エンティティに対する呼び出しを開始する前、ならびに現在の呼び出しおよび見込み呼び出しのための保留持続時間を決定および表示する前に、データ構造および/またはモデルを決定および格納する事前処理ブロックとして実施され得る。様々な実装形態において、データ構造またはモデルは、異なる形態にあり得る。例えば、いくつかの実装形態において、データ構造は、様々なエンティティの特定の識別子(例えば、電話番号または他のアドレス情報)のための、および呼び出し時刻などの他の呼び出し特性のための予測保留持続時間を示す、テーブル、グラフ、または他のデータ構造である。これらの予測保留持続時間は、1つまたは複数のユーザによってエンティティに対して行われた以前の呼び出しの様々な呼び出し特性に基づいて決定される。いくつかの実装形態において、ユーザによってエンティティに対して行われた以前の呼び出しのための呼び出し特性を示すデータに基づいて訓練され得る機械学習モデルなどのモデルが構築され得る。推論ステージにおいて、機械学習モデルは、1つまたは複数の呼び出し特性の入力に基づいて予測保留持続時間を出力し得る。
【0040】
保留持続時間のデータ構造およびモデルを構築するいくつかの例は、
図3を参照して以下に説明される。方法は、ブロック210へと続く。
【0041】
ブロック210において、呼び出しデバイスがデータ構造および/またはモデル(またはその部分)を呼び出しデバイスのローカルストレージに格納することになるかどうかが決定される。呼び出しデバイスは、エンティティに対して呼び出しを行うために使用され得るデバイス(例えば、
図1のクライアントデバイス120-126、または他のデバイス)である。いくつかの実装形態において、呼び出しデバイスは、エンティティのための予測保留持続時間を決定するために、呼び出しデバイスのローカルストレージ(例えば、ローカルメモリまたは他のローカルストレージデバイス)に格納されているデータ構造またはモデルにアクセスし得る。いくつかの実装形態において、テーブルまたはリストなどのデータ構造は、ローカルに格納され得、これは、特定のエンティティまたはエンティティ識別子について以前に決定された保留持続時間を格納する。呼び出しデバイスは、典型的には、ネットワークを通じて遠隔デバイスに格納されたデータにアクセスするよりも素早くそのようなデータ構造にアクセスすることができる。
【0042】
いくつかの実装形態において、機械学習モデルなどのモデル、演算グラフ、または他のモデルもしくはデータ構造は、呼び出しデバイスのローカルストレージに格納され得る。呼び出しデバイスは、ネットワーク接続を通じて遠隔デバイスによって提供されるモデルにアクセスする(またはモデルの使用および出力を要求する)必要なしに、モデルへの入力を提供し、モデルからの出力を獲得することによって、そのようなローカルモデルにアクセスし得る。故に、呼び出しデバイスは、呼び出しデバイスに対して少なくとも部分的にローカルに保留持続時間を決定するためにデータ構造および/またはモデルを伴って、ブロック212において準備され得る。
【0043】
呼び出しデバイスがデータ構造および/またはモデルをローカルストレージに格納しない場合、方法は、以下に説明されるように、ブロック214へと続く。例えば、呼び出しデバイスは、
図4を参照して説明されるように、予測保留持続時間を決定することが要求されるときに動的に遠隔デバイス上のデータまたはモデルにアクセスし得る。
【0044】
呼び出しデバイスがデータ構造および/またはモデル(またはその部分)をローカルストレージに格納することになる場合、方法は、ブロック212へと続き、そこで、データおよび/または1つもしくは複数のモデルは、遠隔デバイスからネットワークを通じて呼び出しデバイスによってダウンロードされ、呼び出しデバイスのローカルストレージに格納される。例えば、エンティティおよび/またはエンティティ識別子のための予測保留持続時間のデータ構造(またはその部分)は、ネットワークを通じて、サーバ、異なるクライアントデバイス、または他のデバイスなど、遠隔デバイスから獲得され得る。いくつかの実装形態において、遠隔デバイス上で利用可能なエンティティ名および/もしくはエンティティ識別子のサブセット、またはデータ構造の一部分は、呼び出しデバイスへの格納のために獲得され得る。例えば、ユーザによって呼び出しを行うために使用される最も人気のあるエンティティ識別子(例えば、最も頻繁に使用されるもの、特定の時間期間内に最も頻繁に使用されるもの、および/または呼び出しデバイスの同じ地理的場所もしくは領域に位置するか、もしくはユーザ/呼び出しデバイスと同様の他の特性を有するユーザによって最も頻繁に使用されるもの)が、呼び出しデバイスにダウンロードされ得る。いくつかの実装形態において、完全なデータ構造の一部分が、例えば、呼び出しデバイス上のより限られたローカルストレージに適応させるために、呼び出しデバイスにダウンロードされ得る。例えば、ユーザの国、または呼び出しデバイスが現在位置する国に位置するエンティティ識別子のための保留持続時間を提供するデータ構造の一部分がダウンロードされ得る。
【0045】
追加的または代替的に、モデル、またはモデルの一部分は、ネットワークを通じて遠隔デバイスから呼び出しデバイスのローカルストレージへダウンロードされ得る。モデル(例えば、機械学習モデル)のいくつかの例は、
図3を参照して説明される。いくつかの実装形態において、モデルの一部分が、例えば、呼び出しデバイス上のより限られたローカルストレージに適応させるために、呼び出しデバイスにダウンロードされ得る。例えば、ユーザの国、または呼び出しデバイスが現在位置する国にあるエンティティ識別子のための保留持続時間を決定する機械学習モデル構造の一部分がダウンロードされ得る。
【0046】
いくつかの実装形態において、データ構造および/またはモデルは、そのようなデータ構造および/またはモデルがブロック208において構築された後、呼び出しデバイスによって受信され得、例えば、各特定の時間期間後に定期的に発生する特定の条件に基づいて、データまたはモデルが遠隔デバイスにおいて更新されることに応答して(例えば、ユーザによって行われた最近の呼び出し、新規エンティティまたはエンティティ識別子を追加することなどに基づいて)など、新規データおよび/または新規モデル構成要素で定期的に更新され得る。いくつかの実装形態において、データ構造および/またはモデル(またはその部分)は、呼び出しデバイス上に構築され得、異なるデバイスからダウンロードされない。方法は、ブロック214へと続き得る。
【0047】
ブロック214において、標的エンティティの識別子は、呼び出しデバイスによって獲得される。識別子は、例えば、電話番号もしくは他の呼び出し名、または他のアドレス情報(例えば、ユーザ名、Eメールアドレス、ユーザ識別子など、電話番号または他のアドレス情報にマッピングされるトークン、電話番号または他のアドレス情報のハッシュなど)であり得る。エンティティ識別子は、呼び出しが呼び出しデバイスによって標的エンティティに対して開始されることを可能にする。エンティティ識別子は、様々な実装形態および/または事例においていくつかのやり方のうちのいずれかで獲得され得る。例えば、エンティティ識別子は、呼び出しデバイスのユーザからのユーザ入力を介して獲得され得る。そのようなユーザ入力は、ユーザが識別子を入力するために物理または仮想キーパッドのキーを選択することを含み得る。いくつかの例において、エンティティ識別子は、ユーザが呼び出しデバイスに格納される連絡先リスト内の連絡先入力を選択することに応答して獲得され得、これにより、その連絡先入力と関連付けられた識別子がストレージから自動的に取得され、使用のために提供されることを引き起こす。例えば、識別子は、呼び出しを開始するダイヤラアプリケーション、または呼び出しを開始することができる他のアプリケーションなど、呼び出しデバイス上で実行されるアプリケーションに入力または提供され得る。いくつかの他の例において、エンティティ識別子は、呼び出しデバイス上で実行される別のアプリケーションから、またはネットワークを通じて遠隔デバイスから獲得され得る。
【0048】
いくつかの例において、エンティティ識別子は、例えば、識別子が受信された時点で呼び出しを開始することなく標的エンティティに対する1つまたは複数の次回の呼び出しのための表示された保留持続時間を見るために、呼び出しとは独立して受信される。他の例において、エンティティ識別子は、現在の時刻において標的エンティティに対する呼び出しを直ちに開始するために受信され、例えば、識別子は、ダイヤラアプリケーション内に受信され、呼び出しを開始するための制御がユーザによって選択されるか、または呼び出しが呼び出しデバイスによって自動的に開始される。いくつかの実装形態において、エンティティ識別子は、標的エンティティに対する呼び出しが開始されている間、または開始された後に、(現在の)呼び出し中に受信され、例えば、エンティティ識別子は、すでに進行中であり得る現在の呼び出しを開始するために、またはすでに進行中である呼び出しとは異なる標的エンティティに対する第2の呼び出しを開始するために、呼び出しデバイスによって受信される。標的エンティティの識別子を獲得するいくつかの例は、
図4を参照して以下に説明される。
【0049】
ブロック216において、呼び出しが進行中であるかどうかが決定される。例えば、場合によっては、進行中の呼び出しは、例えば、ユーザがアプリケーション内の連絡先もしくは他の制御および/または呼び出しを開始するための呼び出し制御を選択することによって、ブロック214において標的エンティティの識別子を受信することに応答して開始された呼び出しであり得る。場合によっては、進行中の呼び出しは、ユーザによって以前に選択され、例えば、ブロック228を介して、方法200の以前の反復において指定の呼び出し時刻に開始された指定の呼び出しであり得る。進行中の呼び出しがない場合、方法は、以下に説明されるように、ブロック220へと続く。
【0050】
進行中の呼び出し(例えば、「現在の呼び出し」)が存在する場合、方法は、ブロック218へと続き、そこで、現在の呼び出しに関する予測保留持続時間が決定され、呼び出しデバイス上に表示される。保留持続時間は、呼び出しが呼び出し中に人間のエージェントにマッチングされる前の、例えば、人間のエージェントが利用可能であり、呼び出し中にユーザと話すために呼び出しに参加することができる前の予測時間量である。いくつかの実装形態において、保留持続時間は、データ構造から取得され得、保留持続時間は、呼び出し特性データに基づいて以前に決定されたものである。いくつかの実装形態において、保留持続時間は、ブロック210および212、ならびに
図3を参照して本明細書に説明されるように、1つまたは複数のモデル、例えば、機械学習モデルを使用して決定され得る。データ構造および/またはモデルは、呼び出しデバイスに対してローカルのストレージに格納され得るか、またはネットワーク接続を通じて遠隔デバイス上で呼び出しデバイスによって遠隔でアクセスされ得る。保留持続時間を決定するいくつかの例は、
図3および
図4を参照して説明される。例えば、ブロック218における現在の呼び出しのための保留持続時間は、以下に説明される、ブロック220における1つまたは複数の見込み呼び出しのための保留持続時間と同様に決定され得る。
【0051】
いくつかの実装形態において、呼び出しデバイスが標的エンティティによって現在の呼び出しにおいて保留されているかどうかが決定され得る。例えば、呼び出しがその後開始され、呼び出し接続が呼び出しデバイスと標的エンティティとの間で確立されており、ユーザが呼び出し中に人間のエージェントと話すことを要求または選択した後、呼び出しデバイスは、その呼び出しにおいてユーザと話すために直ちに対応可能である人間のエージェントがいないことに起因して、標的エンティティによって、例えば、標的エンティティの自動システムによって保留にされ得る。いくつかの実装形態において、保留持続時間は、現在の呼び出しが保留中である場合にのみ、ブロック218において決定および表示され得る。いくつかの実装形態において、保留持続時間は、現在の呼び出しが保留中であるかどうかにかかわらず、現在の呼び出しについてブロック218において決定および表示され得る。いくつかの実装形態において、ユーザは、例えば、呼び出しデバイスのユーザインターフェース内の表示された制御または選択肢を選択することによって、呼び出しが保留中である呼び出しデバイスを指定し得る。いくつかの実装形態において、呼び出しデバイスは、例えば、エンティティの自動システムが、呼び出しが保留中であることを示しているかどうかを、特定の言葉(例えば、「エージェントは10分以内に呼び出しに応答することができます。お待ちいただきありがとうございます」)により、または保留状態を示す音楽が流れていることにより決定するために発話認識技術を使用することによって、ユーザ入力または介在なしに、呼び出しが保留中であるかどうかを自動的に検出し得る。
【0052】
ブロック220において、1つまたは複数の予測保留持続時間が、呼び出し特性データおよび/またはモデルに基づいて決定され、保留持続時間は、現在の時刻よりも後の時刻に開始される標的エンティティに対する呼び出しデバイスによる1つまたは複数の見込み呼び出しと関連付けられたものである。いくつかの実装形態において、見込み呼び出しは、呼び出しデバイスによってまだ開始されていない呼び出しであり、呼び出しデバイスによって現在進行中であるいかなる呼び出しも含まない。例えば、見込み呼び出しのうちの1つまたは複数は、保留持続時間を決定および表示した(ブロック222にあるように)直後に開始され得るか、または今後の呼び出し時刻に、例えば、保留持続時間を表示してから数時間または数日後に開始され得る。
【0053】
いくつかの保留持続時間は、ブロック220において決定され得、各保留持続時間は、現在の時刻よりも後の異なる見込み呼び出し時刻に開始される、異なる見込み呼び出しと関連付けられている。保留持続時間は、呼び出し特性データに基づいて決定され、保留持続時間が以前に決定された後に格納されたデータ構造から取得され得る、および/または、1つもしくは複数のモデル、例えば、機械学習モデルに基づいて決定され得る。データ構造および/またはモデルは、呼び出しデバイスに対してローカルのストレージに格納され得るか、またはネットワーク接続を通じて遠隔デバイス上で呼び出しデバイスによって遠隔でアクセスされ得る。見込み呼び出しのための保留持続時間は、様々な例において、任意の呼び出しを開始する前に(例えば、呼び出し制御の選択の前に)、進行中の1つまたは複数の現在の呼び出し中、呼び出しが終了された後などに決定され得る。保留持続時間を決定するいくつかの例は、
図4を参照して説明される。
【0054】
ブロック222において、ブロック220において決定される保留持続時間は、例えば、保留持続時間が決定された見込み呼び出しの開始前に、呼び出しデバイスによって表示されるようにされる。例えば、見込み呼び出しの見込み時刻およびそれらの関連した予測保留持続時間は、ダイヤラアプリケーションのインターフェースなどの呼び出しデバイスのユーザインターフェース内に、または呼び出しデバイス上に表示されるメッセージもしくは通知内に表示され得る。呼び出しがまだ呼び出しデバイス上で開始されていない場合、見込み呼び出し時刻および保留持続時間は、ユーザが呼び出しを開始する前に見込み保留持続時間を見ることができるように、ダイヤラアプリケーションまたは他のアプリケーションのインターフェース内に(またはオペレーティングシステムによる通知として)表示され得る。保留持続時間がブロック220において決定されるとき、呼び出しが呼び出しデバイス上で現在進行中である場合、見込み呼び出し時刻および保留持続時間は、別個のウィンドウもしくは表示エリア内に、および/またはユーザが呼び出し中に呼び出し時刻および保留持続時間を見るための制御を選択することに応答して、表示され得る。いくつかの実装形態において、保留持続時間の図形表現が、例えば、棒グラフ、チャート、または他の表現として表示され得る。保留持続時間を表示するいくつかの例は、
図5~
図10を参照して以下に説明される。
【0055】
ブロック224において、ブロック218において表示される見込み呼び出し時刻のうちの1つまたは複数がユーザによって選択されているかどうかが決定される。いくつかの実装形態において、ブロック222において表示された予測保留持続時間と関連付けられる表示された見込み呼び出し時刻は、例えば、タッチスクリーンインターフェース、音声コマンド、または他のユーザ入力を介して、ユーザによって選択可能である。見込み呼び出し時刻がブロック224において選択されていない(または、いくつかの実装形態においては、それらが選択可能ではない)場合、方法は、以下に説明されるように、ブロック230へと続く。これらの呼び出し時刻のうちの1つまたは複数が選択される場合、方法は、ブロック226へと続き、そこで、選択された各呼び出し時刻と関連付けられる見込み呼び出しは、その時刻にスケジュールされる。いくつかの実装形態において、スケジューリングは、アプリケーション、例えば、ダイヤラアプリケーション、または通知を提供することができる他のアプリケーションにおいて、選択された呼び出し時刻をスケジュールすることを含み得る。いくつかの実装形態において、スケジューリングは、呼び出しデバイス上で実行するカレンダプリケーション内に見込み呼び出しの時刻にユーザのカレンダへの入力を追加することを含み得る。例えば、ユーザは、標的エンティティおよび標的エンティティを呼び出すためのスケジュールされた呼び出し時刻を示す入力を見るためにカレンダプリケーションまたは他のアプリケーションを開くことができる。スケジュールされた見込み呼び出しを再スケジュールするための選択肢もまた、いくつかの実装形態において、(例えば、ユーザインターフェース内の表示された制御により)提供され得る。
【0056】
ユーザが標的エンティティとの電話を開始するか、またはそこに存在する場合、いくつかの実装形態において、呼び出しデバイスは、ユーザが呼び出し中のある地点において保留中であるかどうかを自動的に検出し得る。例えば、これは、標的エンティティから呼び出しデバイスによって受信される発話データの検出に基づいて検出され得、その発話データをプログラムで分析する。いくつかの実装形態において、呼び出しデバイスは、例えば、エージェントまたはユーザによって話される特定の言葉、保留音楽の停止、または自動音声などにより、呼び出しが保留中である間に人間のエージェントが呼び出しに接続しており、その結果として、呼び出しがもはや保留中ではないかどうかを検出し得る。いくつかの実装形態において、呼び出しデバイスは、呼び出しがもはや保留中ではなく、人間のエージェントが呼び出しに接続されることを示す通知を、例えば、ユーザがそのような通知を要求していた場合、出力し得る。いくつかの実装形態において、呼び出しの保留持続時間は、以下に説明されるように、データ構造またはモデルを更新するために格納および使用され得る。方法は、ブロック228へと続き得る。
【0057】
ブロック228において、ブロック226においてスケジュールされた見込み呼び出しの呼び出し時刻に(またはこれに迫っているとき)、通知が表示され、および/または、呼び出しは、呼び出しデバイスによって自動的に開始される。例えば、見込み呼び出し時刻の前の既定の時間量において(例えば、5または10分前)、見込み呼び出しのための時刻にもうすぐ達することをユーザに知らせる通知が表示される。いくつかの実装形態において、通知は、この呼び出しのための予測保留持続時間を含み得る(元の予測保留持続時間が決定されて以降、データ構造またはモデルが追加の特性データにより更新されている場合、保留持続時間は更新され得る)。いくつかの実装形態において、次いで、ユーザは、例えば、ダイヤラアプリケーション、連絡先リストなどを介して、スケジュールされた呼び出しを手動で開始し得る。いくつかの実装形態において、例えば、ユーザがそうするための選択を入力していた場合、スケジュールされた呼び出しは、呼び出し時刻に呼び出しデバイスによって自動的に開始され得る。例えば、ダイヤラまたは呼び出しデバイス上の呼び出しアプリケーションは、ユーザ入力または介入なしにエンティティ識別子に自動的にダイヤルし得、開始されている呼び出しをユーザに通知し得る。方法は、ブロック230へと続き得る。
【0058】
ブロック230において、呼び出しデバイスの呼び出しが終了したかどうかが決定される。例えば、場合によっては、呼び出しは、ブロック216において検出された進行中の現在の呼び出しであり得る。場合によっては、呼び出しは、ブロック222における見込み保留持続時間の表示後に開始されていてもよい。場合によっては、呼び出しは、ブロック228において、またはその後に開始される見込み呼び出しであり得る。呼び出しが終了していない場合、方法は、呼び出しが進行中であるかどうかを決定するためにブロック216へと続き得、および/または、呼び出しデバイスは、追加のユーザ入力を待ち得る。
【0059】
呼び出しがブロック230において終了していた場合、方法は、ブロック232へと続き、そこで、呼び出しに関連する呼び出し特性データが獲得され、また、適切な場合、呼び出しの保留持続時間を決定するための1つまたは複数の技術は、そのデータに基づいて更新される。例えば、ユーザの許可により、呼び出し特性データは、呼び出しのための標的エンティティの識別子、呼び出しの持続時間、ユーザが呼び出しにおいて保留された場合に呼び出し中の保留持続時間、呼び出しの時刻(週の曜日、月の日付などを含む)、呼び出しが休日に行われたかどうか、および/または任意の他の呼び出しデバイス文脈情報などの特性を含み得る。この呼び出し特性データは、データ構造を更新するために使用され得、および/または、ユーザにより許可される場合、本明細書に説明されるように保留持続時間を決定するために使用されるモデルを更新するために提供され得る。例えば、データ構造が標的エンティティのための平均呼び出し持続時間および/または平均保留持続時間を含む場合、それらの平均は、終了した呼び出しからの呼び出し持続時間および保留持続時間を含むデータに基づいて調整され得る。モデルは、終了した呼び出しおよび追加のユーザ呼び出しからのデータを用いてさらに訓練および更新され得る。
【0060】
いくつかの実装形態において、フィードバックは、呼び出し中または呼び出し後にユーザから要求され得る。例えば、呼び出しデバイスの呼び出しログは、ログ内の終了した呼び出しと関連付けられた選択肢または制御を含み得、ユーザは、終了した呼び出しに関するフィードバックを入力するための制御を選択することができる。例えば、ユーザは、ユーザが終了した呼び出し中に保留された保留持続時間を、そのような保留持続時間が自動的に決定されなかった場合、入力するように要求され得る。いくつかの実装形態において、呼び出しデバイスは、保留持続時間の予測を呼び出しデバイスによって(例えば、本明細書に説明されるような発話認識技術に基づいて)自動的に決定されたものとして提示し、ユーザがその予測を確認すること、またはそれが誤っている場合はその予測を調整することを要求し得る。この様式では、より正確な保留持続時間が、以前の呼び出しに対して決定され得、故に、新規呼び出しの前に保留持続時間予測を決定することにおける正確性の改善を可能にする。
【0061】
図3は、いくつかの実装形態による、以前の呼び出しに基づいて見込み呼び出しのための保留持続時間を予測するために使用されるデータ構造および/またはモデルを構築するための方法例300を例示するフロー図である。例えば、方法300は、ユーザの以前の呼び出しに基づいて保留持続時間を決定するために、
図2のブロック208またはブロック208の一部分として実行され得る。いくつかの実装形態において、方法300は、例えば、
図2を参照して説明されるように見込みおよび/または現在の呼び出しのための保留持続時間を決定するために呼び出しデバイス(例えば、クライアントデバイスまたは他のデバイス)によってダウンロードされ得るか、またはアクセスされ得るデータ構造および/またはモデルを構築するために、サーバ、または呼び出しデバイス以外の他のデバイスによって実施され得る。いくつかの実装形態において、方法300は、呼び出しデバイス、例えば、クライアントデバイスによって実施され得るか、または方法の異なる部分は、それぞれサーバデバイスおよびクライアントデバイスによって実施され得る。
【0062】
方法は、ブロック302において開始する。ブロック302において、以前の呼び出し(以前の発呼者からの特定のユーザ許可を伴って、保留持続時間の決定、モデル訓練などの目的のために、格納され、利用可能にされる)を特徴付けるデータが獲得される。例えば、データは、様々なエンティティに対する1つまたは複数のユーザの間の呼び出しの呼び出し特性を含み得、呼び出し特性は、呼び出し特性のみが知られているように、呼び出しを行ったユーザとは切り離されている。例えば、以前の呼び出しは、呼び出し特性が、ユーザの同意により、通信ネットワークを通じて獲得される呼び出しデバイスを使用するユーザ人口によって行われていてもよい。呼び出し特性は、例えば、呼び出されたエンティティのエンティティ識別子(例えば、電話番号、呼び出しアドレス、または以前の呼び出しを介して標的エンティティに接続するために使用される他の識別子)、呼び出しの持続時間(呼び出しの開始または接続から呼び出しの終了または切断までの時間)、呼び出しの時刻(例えば、1日の時および/または分、週の曜日、年の日付)、各呼び出しが休日、ビジネスイベントの開始日などのイベント中(および/または直前)に行われたかどうか、各呼び出しが平日または週末に行われたかどうかなどを含み得る。
【0063】
いくつかの実装形態において、獲得された呼び出し特性は、以前の呼び出しにおいて発生した保留持続時間、例えば、ユーザが以前の呼び出し中に保留された時間期間の持続時間を含み得る。例えば、1つまたは複数の以前の呼び出し保留持続時間は、ユーザの同意が獲得されている場合、機械学習モデルによる発話認識などの技術または他の技術を使用した以前の呼び出しから記録される音声データ内の発話データの分析に基づいて、呼び出しデバイスによって(および/または接続された遠隔デバイスによって)自動的に決定され得る。例えば、発話認識技術は、特定の言葉について呼び出し音声を調査することによって、呼び出しが保留されるときを認識することができ、および/または他の技術は、他の音声(例えば、ユーザが保留中であることを示す自動呼び出し応答器によって話される言語、呼び出しが保留中であることを示す音楽再生など)について呼び出し音声を調査することができる。そのような技術はまた、ユーザがもはや保留中ではないとき、例えば、音声データ内の保留音楽が停止し、標的エンティティからの(異なる)音声が、人間のエージェントが呼び出しに接続されたことを示すためにユーザにより応答される呼び出しにおいて検出されるとき、ならびに人間のエージェントを示す標的エンティティから発話される言葉(例えば、「こんにちは」など)等を認識するために使用され得る。システムが、発呼者が保留される保留期間の開始およびその保留期間の停止を決定した後、これらの時間点の間の保留持続時間が、以前の呼び出しのために決定され得る。
【0064】
さらには、いくつかの実装形態において、以前の呼び出しの1つまたは複数の保留持続時間は、例えば、呼び出し中または呼び出しが終了した後(例えば、
図2のブロック232と同様に)、ユーザフィードバックに基づいて決定され得る。例えば、ユーザは、呼び出しが終了した後に予測保留持続時間を呼び出しデバイスに入力し得る。
【0065】
いくつかの実装形態において、以前の呼び出しのうちの1つまたは複数は、呼び出し音声内の検出によって、または上に説明されるようなユーザフィードバックによって決定されている保留持続時間と関連付けられなくてもよい。いくつかの実装形態において、保留持続時間は、ブロック306-314について以下に説明されるように、そのような保留持続時間を有さない以前の呼び出しについて予測され得る。方法は、ブロック304へと続き得る。
【0066】
ブロック304において、しきい値および関数が、すでに指定された保留持続時間を有さない以前の呼び出しの呼び出し持続時間を予測するために決定される。これらのしきい値および関数は、データがブロック302において獲得された以前の呼び出しのうちの少なくともいくつかのための保留持続時間を予測するために、以下に説明されるように使用され得る。例えば、しばしば保留持続時間は、呼び出しの呼び出し持続時間が特定のしきい値を上回る場合、呼び出しの呼び出し持続時間と概して相関され得る。しきい値を下回る呼び出し持続時間は、例えば、短い呼び出し持続時間における様々な変化する状況およびユーザ挙動に起因して、保留持続時間を示すものではない場合があり、例えば、ユーザは、保留して待つ代わりに、呼び出しを切断する傾向が強い場合がある。しきい値呼び出し持続時間は、以前の呼び出しのうちのどれが予測保留持続時間を決定することに使用されることになるかを決定するために使用され得る。いくつかの実装形態において、ブロック304において決定される関数は、呼び出し持続時間を予測保留持続時間へ変換する関数を含み得る。例えば、以前の呼び出しの呼び出し持続時間(しきい値を上回る)ならびに以前の呼び出しについて知られている任意の保留持続時間は、呼び出し持続時間と保留持続時間との関係性を決定するために分析され得る。呼び出し持続時間を保留持続時間へ変換する関数が決定され得る。
【0067】
いくつかの実装形態において、単一のしきい値および単一の関数が、すべての以前の呼び出しへの一般的適用のために決定され得る。いくつかの実装形態において、複数のしきい値および/または関数が決定され得、各々のしきい値および/または関数は、特定の標的エンティティ、以前の呼び出しの呼び出し時刻などを有する呼び出しなど、特定の呼び出し特性を有する呼び出しのために修正、カスタマイズ、または特殊化され得る。例えば、特定のエンティティに対する以前の呼び出し(そのような呼び出し特性が知られている)の呼び出し持続時間および保留持続時間に基づくと、特定のしきい値持続時間を上回る呼び出し持続時間が、その特定のエンティティに対する呼び出しのための保留持続時間により良好に相関されること、および特定のしきい値が、他のエンティティに対する以前の呼び出しから決定される一般的なしきい値よりも大きいことは明らかであり得る。故に、その特定のエンティティのための呼び出し持続時間のしきい値は、一般的なしきい値呼び出し持続時間よりも高い値に設定され得る。同様に、特定のエンティティに対する以前の呼び出しの呼び出し特性により、呼び出し持続時間と保留持続時間との関係性は、他のエンティティに対する以前の呼び出しに基づいた一般的関数について決定される関係性とは、特定のエンティティでは異なり得ることは明らかであり得る。故に、その関係性に特有である関数が決定され、その特定のエンティティに対する呼び出しと関連付けられ得る。例えば、いくつかの実装形態において、1つまたは複数のそのような修正されたしきい値は、特定の標的エンティティおよび/または他の呼び出し特性と関連付けられたそのようなしきい値を格納するデータ構造から取得され得る。方法は、ブロック306へと続き得る。
【0068】
ブロック306において、以前の呼び出しは、ブロック302において獲得される以前の呼び出しのセットから選択される。選択された以前の呼び出しは、関連した保留持続時間データを有さない。方法は、ブロック308へと続く。
【0069】
ブロック308において、選択された以前の呼び出しの呼び出し持続時間がしきい値呼び出し持続時間よりも大きいかどうかが決定される。例えば、しきい値呼び出し持続時間は、呼び出しが呼び出し持続時間と相関した保留持続時間を有する可能性の高い呼び出し持続時間であり得る。しきい値呼び出し持続時間を下回る呼び出し持続時間を有する呼び出しでは、保留持続時間は、同じように呼び出し持続時間に相関されない。いくつかの実装形態において、上に説明されるように、しきい値呼び出し持続時間は、例えば、選択された以前の呼び出しの標的エンティティにかかわらずブロック302において獲得されるすべての以前の呼び出しのために使用される一般的呼び出し持続時間である。いくつかの実装形態において、しきい値呼び出し持続時間は、ブロック304について上に説明されるように、例えば、標的エンティティおよび/または選択された以前の呼び出しの他の呼び出し特性に対してカスタマイズされる修正されたしきい値であり得る。
【0070】
呼び出し持続時間がしきい値呼び出し持続時間よりも大きいか、またはこれに等しい場合、方法は、以下に説明されるブロック312へと続く。呼び出し持続時間がしきい値呼び出し持続時間未満である場合、方法は、ブロック310へと続き、そこで、選択された以前の呼び出しは、方法300の目的のために無視され、例えば、その呼び出し特性は、標的エンティティのための予測保留持続時間を決定することには無視され、また予測保留持続時間を提供するモデルを訓練することには無視される。方法は、以下に説明されるブロック314へと続き得る。
【0071】
ブロック312において、選択された以前の呼び出しの呼び出し持続時間は、しきい値よりも大きいことが分かっており、故にその呼び出し特性は、保留持続時間を決定するために使用され得る。いくつかの実装形態において、保留持続時間は、保留持続時間関数を使用して、以前の呼び出しの対応する呼び出し持続時間に基づいて、選択された以前の呼び出しのために予測される。関数は、呼び出し持続時間と保留持続時間との関係性に基づいて、選択された以前の呼び出しのための予測保留持続時間への呼び出し持続時間の変換を決定することができる。保留持続時間関数は、ブロック308において使用されるしきい値を上回る呼び出し持続時間を有する以前の呼び出しに適用されるが、それは、そのような以前の呼び出しは保留持続時間に高相関される呼び出し持続時間を有することが分かっているためである。いくつかの実装形態において、関数は、ユーザ呼び出しから獲得される追加の以前の呼び出しデータに基づいて経時的に更新され得る。いくつかの例において、呼び出し持続時間と保留持続時間との関係性は、線形回帰であり、保留持続時間関数は、予測保留持続時間を獲得するために、呼び出し持続時間に対する第1の因数による乗算および/または第2の因数の加算により、この線形回帰を実行する。例えば、(初期)関数は、予測保留持続時間を獲得するために、(呼び出し持続時間*0.66-5.22)であり得る。
【0072】
いくつかの実装形態において、保留持続時間関数は、例えば、ブロック304について上に説明されるように、選択された以前の呼び出しの標的エンティティに対して、または他の呼び出し特性に対してカスタマイズされる、修正およびカスタマイズされた関数であり得る。例えば、そのような修正された関数は、特定の標的エンティティおよび/または他の呼び出し特性と関連付けられたそのような関数を格納するデータ構造から取得され得る。方法は、ブロック314へと続き得る。
【0073】
ブロック314において、保留持続時間とまだ関連付けられておらず、方法300においてまだ処理されていない、ブロック302において獲得された呼び出しのセット内に以前の呼び出しがまだ存在するかどうかが決定される。そうである場合、方法は、処理するべき別の以前の呼び出しを選択するためにブロック306へと続く。ブロック314において決定されるような処理するべき以前の呼び出しがもう存在しない場合、方法は、以下に説明されるブロック316へと続く。
【0074】
いくつかの実装形態において、以前の呼び出しのための保留持続時間の予測は、複数の技術を使用して決定され得、これらの技術の結果は、結果間に違いがある場合は、その違いを決定するために比較され得る。比較は、技術のうちの1つにおけるエラーの可能性を示し得、例えば、結果が劇的に異なる場合、保留持続時間は、再計算されるか、または無視され得る。
【0075】
ブロック316において、データ構造および/または訓練モデルは、以前の呼び出しの呼び出し特性を使用して決定され、呼び出し特性は、以前の呼び出しの保留持続時間を含む。データ構造を決定するためおよび/またはモデルを訓練するために使用される保留持続時間は、以前の呼び出しのために(例えば、自動保留検出および/またはユーザフィードバックにより)以前に決定された保留持続時間、ならびにブロック312において決定される予測保留持続時間を含み得る。決定されたデータ構造および/または訓練済みモデルは、新規呼び出し、例えば、現在および見込み呼び出しのための保留持続時間を決定するために使用され得る。
【0076】
いくつかの実装形態において、各標的エンティティおよびその標的エンティティのためのそれぞれの予測保留持続時間を含むデータを格納するテーブル、リスト、または他の構造を含み得るデータ構造が決定され得る。例えば、予測保留持続時間のうちの1つまたは複数は、標的エンティティを介してデータ構造内で検索され得、
図2について説明されるような標的エンティティに対する見込み(または現在の)呼び出しのための予測保留持続時間として提供され得る。いくつかの実装形態において、テーブルに格納される予測保留持続時間は、知られている、または以前の呼び出しから予測される標的エンティティのためのすべての以前の保留持続時間の平均として決定され得る。いくつかの実装形態において、予測保留持続時間は、代替的に、以前の保留持続時間の異なる組み合わせ、例えば、平均値、中央値などであり得る。いくつかの実装形態において、データ構造はまた、呼び出しの時刻、呼び出しの週の曜日、呼び出しが休日または別のイベント中に開始されるかどうかなど、見込み呼び出しのための保留持続時間を決定するためにデータ構造内で検索され得る様々な他の呼び出し特性を含み得る。特定の呼び出し時刻のための保留持続時間は、その呼び出し時刻(例えば、その呼び出し時刻のしきい値時間期間内)に開始された以前の呼び出しの保留持続時間に基づき得る。例えば、データ構造に格納される各エンティティについて、いくつかのこれらの呼び出し特性は、リスト化され得(例えば、1日の異なる時間、週の曜日など)、保留持続時間は、各呼び出し特性と、または呼び出し特性の1つもしくは複数の異なる組み合わせと関連付けられ得る。いくつかの例において、特定の呼び出し時刻を有する見込み呼び出しのための保留持続時間を決定するために、呼び出し時刻(および/または曜日)は、その呼び出しのための予測保留持続時間を決定するためにデータ構造内で検索される。
【0077】
いくつかの実装形態において、特定の見込み呼び出しのための保留持続時間は、利用可能な以前の呼び出しの一部のみの、例えば、利用可能な以前の呼び出しのセット全体のサブセットの、呼び出し特性に基づいて決定され得る。例えば、特定の呼び出し特性(特定の呼び出し時刻または標的エンティティなど)のための保留持続時間は、標準予測から外れることが分かっている場合がある。例えば、非標準のユーザ呼び出し挙動を有する日(例えば、休日または休前日)における特定の呼び出し時刻は、決定されている保留持続時間の呼び出し時刻のしきい値時間期間内の呼び出しなど、より最近の以前の呼び出しの呼び出し特性に基づいて決定され得る。例えば、使用された以前の呼び出しは、この1時間から特定の呼び出し時刻内に開始または発生していてもよい。
【0078】
いくつかの実装形態において、1つまたは複数のモデルは、以前の呼び出しまたはそのサブセットの呼び出し特性に基づいて訓練され得る。例えば、いくつかの実装形態において、モデルは、機械学習モデル、例えば、ネットワークアーキテクチャに従って、例えば、1つまたは複数の層内に、配置される1つまたは複数のノードを伴う、ネットワークアーキテクチャを介して接続される様々なノードを伴う、および関連した重みを伴う、ニューラルネットワークである。例えば、モデルの訓練ステージにおいて、モデルは、訓練データを使用して訓練され得、次いで推論ステージ(例えば、
図2に説明されるような)において、訓練済みモデルは、入力データに基づいて出力を提供し得る。いくつかの実装形態において、モデルは、オフラインで、例えば、試験機関または他の環境内の試験デバイス上で訓練され得、訓練済みモデルは、モデルを実行するサーバまたは呼び出しデバイスに提供され得る。いくつかの実装形態において、ユーザの許可により、連合学習が、1つまたは複数の訓練済みモデルを更新するために利用され得、例えば、この場合、個々のデバイスが各々、局所的なモデル訓練を実施し得、モデルに対する更新は、モデルの1つまたは複数の中央版を更新するために集められ得る。モデルに含まれ得る特徴の追加の例は、
図11に関して以下に説明される。
【0079】
機械学習モデルのための訓練データは、上に説明されるような以前の呼び出しのユーザ許可された呼び出し特性、例えば、呼び出されたエンティティの識別子、呼び出し持続時間、呼び出し時刻(例えば、1日の時および/または分、週の曜日など)、各呼び出しが平日に行われたか、または週末に行われたか、各呼び出しがイベント中(休日、ビジネスイベントの開始日など)に行われたかどうかを含み得る。いくつかの実装形態において、モデルは、特定の呼び出し時刻における呼び出しまたは他の特定の呼び出し特性を有する呼び出しのための保留持続時間を含む、以前の呼び出しが訓練データとして獲得されている任意の呼び出し時刻または標的エンティティのための保留持続時間を提供するために訓練データによって訓練される。例えば、モデルは、入力が、ユーザからの呼び出し量が大半の他の日よりも高くなり得る休前日に発生する見込み呼び出し時刻を示す場合、より長い予測保留持続時間を出力するように訓練され得る。
【0080】
図4は、いくつかの実装形態による、標的エンティティに対する見込み呼び出しのための保留持続時間を決定するための方法例400を例示するフロー図である。例えば、方法400は、識別子が呼び出しデバイスによって獲得されている
図2のブロック214において、および/または保留持続時間が標的エンティティに対する見込み呼び出しのために決定される
図2のブロック220において実行され得る。
【0081】
方法は、ブロック402において開始する。ブロック402において、予測保留持続時間が決定されることになる見込み呼び出しの呼び出し時刻が決定される。これは、保留持続時間が決定されることになる特定の呼び出し時刻および/または見込み呼び出しの数(量)を決定することを含み得る。決定されることになる各保留持続時間は、異なる見込み呼び出し時刻に開始される異なる見込み呼び出しと関連付けられ得る。見込み呼び出しの呼び出し時刻は、いくつかの因子のうちのいずれかに基づき得る。例えば、ユーザ設定または選好は、異なる見込み呼び出しもしくは保留持続時間がいくつあるか、および/またはそれらの見込み呼び出しの呼び出し時刻を示すために、ユーザによって提供(例えば、ダイヤラアプリケーションまたは他のアプリケーション内など呼び出しデバイス上で指定)されていてもよい。そのような選好は、例えば、保留持続時間が、異なる見込み日、ある1日(例えば、今日)、各曜日の特定の期間もしくは時間、週の特定の曜日などにおける呼び出し時刻を有する見込み呼び出しのために提供されることになるかどうかを示し得る。いくつかの実装形態において、見込み呼び出しの数および呼び出し時刻は、他の条件、例えば、ユーザのカレンダ内のデータ(例えば、ユーザが呼び出しを行うことができる時間および/または日を示す)、標的エンティティの既知の営業時間などに基づき得る。
【0082】
様々な例において、見込み呼び出しのための決定された呼び出し時刻は、様々な時刻であり得る。例えば、決定された呼び出し時刻は、標準的な平日および/または週末にわたる標的エンティティの営業時間に及び得る。さらなる例において、決定された呼び出し時刻は、例えば、1時間ごと、30分ごとなど、1日の範囲にわたって規則的に離間され得る。いくつかの実装形態において、決定された呼び出し時刻は、今日の標的エンティティの残りの営業時間に及ぶ(例えば、現在の時刻が標的エンティティの営業時間の終わり近くである場合、見込み呼び出しは、それら残りの営業時間内の呼び出し、および翌日またはその後数日の呼び出しを含み得る)。いくつかの実装形態において、ユーザの同意が獲得されている場合、決定された呼び出し時刻は、ユーザが行った標的エンティティに対する以前の呼び出し(例えば、その特性)の履歴に基づいた、各日の特定の時刻であり得る。例えば、ユーザが以前に午前9時から午前11時の間にしか標的エンティティに対して呼び出しを行っていない場合、その時間期間内の呼び出し時刻が見込み呼び出しのために決定され得る(また、例えば、他の呼び出し時刻は、決定されないか、またはユーザが他の呼び出し時刻についての要求を入力する場合は後で決定される)。さらなる例において、見込み呼び出し時刻は、特定の時刻における、または特定の時間期間内の以前の呼び出しの頻度に基づいて決定され得る。例えば、ユーザが(例えば、異なる日の)特定の時間期間内に行った呼び出しの数がしきい値数を超える場合、その時間期間内の見込み呼び出し時刻が決定され得る。別の例において、少なくとも最小またはしきい値呼び出し持続時間を有する標的エンティティに対する以前の呼び出しは、例えば、上の例および実装形態において、呼び出し時刻の決定に算入される条件を満たしており、ならびに/または、しきい値持続時間を下回る以前の呼び出しは、そのような呼び出し時刻決定には無視され得る。
【0083】
いくつかの実装形態において、上に説明される以前に呼び出した時間期間内の、および/または他の特性を有する決定された呼び出し時刻は、他の決定された呼び出し時刻よりも高い優先度を有するように指定され得る(いくつかの実装形態において、特定の数の優先度の低い呼び出し時刻もまた、決定され、ユーザのための追加選択肢として提供され得る)。例えば、優先度の高い呼び出し時刻と関連付けられた保留持続時間は、保留持続時間の初期またはデフォルト表示の一部であり得る一方、優先度の低い保留持続時間は、デフォルトでは隠され、ユーザから受信されるユーザ入力によって命令される場合に表示され得る。さらなる例において、情報を表示するための表示エリアが限られているときは、優先度の高い呼び出し時刻と関連付けられた保留持続時間は表示され得、他の、または優先度の低い保留持続時間は、表示されない。いくつかの実装形態において、呼び出し時刻および保留持続時間は、上に説明される1つまたは複数の因子に基づいて(例えば、標的エンティティに対する呼び出し時刻のユーザ履歴内の以前の呼び出しの特性に基づいて)ランク付けされ得、その結果として、決定された呼び出し時刻のセットの上位X個の呼び出し時刻/保留持続時間が表示され、Xは、5、10などであり得、下位の呼び出し時刻および保留持続時間は、表示されなくてもよい。方法は、ブロック404へと続く。
【0084】
ブロック404において、ユーザが、例えば、標的エンティティに対する呼び出しを開始するために、現在、標的エンティティのエンティティ識別子を呼び出しデバイスに入力しているかどうかが決定される。例えば、エンティティ識別子は、
図2のブロック214において獲得されている途中であり得、ユーザは、エンティティ識別子の入力をまだ完了していない。ユーザが、現在、エンティティ識別子を入力していない場合、方法は、以下に説明されるブロック412へと続く。
【0085】
ユーザが、現在、エンティティ識別子を入力している場合、方法は、ブロック406へと続き、そこで、エンティティ識別子の入力完了または獲得前に標的エンティティのための候補保留持続時間をプリフェッチするべきかどうかが決定される。例えば、いくつかの実装形態において、受信されているエンティティ識別子の部分は、完成されると複数の候補エンティティ識別子のいずれかの一部であり得るプレフィックスと見なされ得る。そのような候補識別子と関連付けられた候補保留持続時間は、遠隔デバイスからプリフェッチされ、完全な識別子が呼び出しデバイスにより獲得される前に呼び出しデバイスのローカルストレージに格納され得る。プリフェッチは、保留持続時間がローカルに格納される設定された候補保留持続時間から選択されるため、識別子が完成した後すぐに、完成した識別子のための保留持続時間が呼び出しデバイスにより表示されることを可能にする。例えば、そのようなプリフェッチは、呼び出しデバイスが見込み呼び出しのための保留持続時間を、サーバまたは他のデバイスなどの遠隔デバイスから獲得するいくつかの実装形態においては望ましい場合があり、例えば、この場合、保留持続時間を決定するためのデータ構造またはモデルは、呼び出しデバイスのローカルストレージに格納されない。保留持続時間が呼び出しデバイスのローカルストレージに格納されるデータ構造またはモデルを介して決定され得る実装形態において、保留持続時間の決定は、十分に素早いので、エンティティ識別子の完成前の候補保留持続時間のプリフェッチが必要とされなくてもよい。
【0086】
いくつかの実装形態において、候補保留持続時間のプリフェッチは、完全な識別子のしきい値部分が受信されている場合に実施される。いくつかの例において、完全なエンティティ識別子が10桁である場合、プリフェッチは、部分識別子の8桁目(または代替的に、9桁目)が受信される前ではなく、後に実施され得る。これは、候補の数が、完全な識別子が受信された後、一致する保留持続時間を決定する(以下に説明されるように)のに十分な比較的短い時間内に呼び出しデバイスにおいて受信され得るデータの量へと狭められることを可能にする。
【0087】
候補保留持続時間のプリフェッチが実施される予定がない場合、方法は、以下に説明されるブロック412へと続く。候補保留持続時間のプリフェッチが実施される予定である場合、方法は、ブロック408へと続き、そこで、候補保留持続時間は、ユーザによって入力された部分エンティティ識別子に基づいて、サーバなどの遠隔デバイスからプリフェッチされる。例えば、呼び出しデバイスは、遠隔デバイスに要求を送信し、ブロック404において受信された部分識別子に一致する候補エンティティ識別子のための候補保留持続時間を受信し得る。遠隔デバイスは、例えば、
図3において上に説明されるものと同様にデータ構造および/またはモデルを使用して保留持続時間を決定することができ、ネットワークを通じて呼び出しデバイスに保留持続時間を送信する。
【0088】
いくつかの実装形態において、大量の候補保留持続時間のサブセットが、呼び出しデバイスによってプリフェッチされることが、例えば、呼び出しデバイスまたは遠隔デバイスによって、決定される。例えば、候補保留持続時間のサブセットは、1つまたは複数の因子に基づいて決定されるような、ユーザによって入力される可能性の最も高い識別子であるエンティティ識別子と関連付けられ得る。例えば、可能性の最も高い識別子は、ユーザが以前に呼び出したエンティティがどれであるかを示す履歴データに基づき得、例えば、ユーザによって以前に呼び出された最も頻繁なおよび/または直近のエンティティの識別子は、受信した識別子である可能性が最も高いと見なされる。いくつかの実装形態において、ユーザの現在または最近の会話またはメッセージは、任意のエンティティについて言及したかどうかを決定する(および/または、エンティティによって提供されるサービスもしくは製品など、特定のエンティティに関連した話題について言及したかどうかを決定する)ために調査され得、その結果として、それらの言及されたエンティティの識別子は、受信した識別子に一致する可能性のある候補識別子としてサブセットの中に存在することが選択される。これらの可能性のある識別子と関連付けられた保留持続時間は、ユーザに表示されるべき最も可能性の高い保留持続時間の中に存在することが選択され、故に、呼び出しデバイスへとプリフェッチされる。方法は、ブロック410へと続く。
【0089】
ブロック410において、完全なエンティティ識別子が受信されており(例えば、ユーザは、標的エンティティの識別子を呼び出しデバイスに入力することを終了している)、完全な識別子に一致する保留持続時間が、候補保留持続時間から選択される。例えば、完全な識別子に一致しない候補保留持続時間は、廃棄され得る。いくつかの例において、ブロック404においてユーザが電話番号の最初の9桁を入力していた場合、それら9桁に一致するエンティティ識別子のための候補保留持続時間は、ブロック408において呼び出しデバイスへとフェッチされ得、またブロック410において、最終桁および10桁目が受信されており、そのエンティティ識別子と関連付けられた保留持続時間が選択される。方法は、上に説明されるように、選択された保留持続時間を表示するために、
図2のブロック222へと続き得る。
【0090】
ブロック412において、(完全な)エンティティ識別子が受信される。例えば、ユーザは、標的エンティティのエンティティ識別子を手動で入力することを終了していてもよく、または、エンティティ識別子は、呼び出しデバイス上で実行されるアプリケーションなどの異なるリソースから受信されていてもよい(例えば、ユーザの連絡先内の連絡先入力は、ユーザによって選択されており、表示された電話番号または他の呼び出し識別子は、アプリケーション内でユーザにより選択されるなど)。方法は、ブロック414へと続き得る。
【0091】
ブロック414において、呼び出し特性データが呼び出しデバイスのローカルストレージ内でキャッシュされるかどうかが決定される。例えば、呼び出し特性データは、エンティティ識別子およびそれらの識別子について予測されている保留持続時間を格納する1つまたは複数のデータ構造で提供され得、その例は、
図3のブロック316を参照して説明される。呼び出しデータが呼び出しデバイス上でローカルにキャッシュされない場合、方法は、以下に説明されるブロック418へと続く。呼び出しデータが呼び出しデバイス上でローカルにキャッシュされる場合、方法は、ブロック416へと続き、そこで、標的エンティティのエンティティ識別子および見込み呼び出し時刻は、ブロック402において決定される見込み呼び出しのための保留持続時間を決定するためにデータ構造(キャッシュされた呼び出し特性データ)内で検索される。方法は、上に説明されるように、決定された保留持続時間を表示するために、
図2のブロック222へと続き得る。
【0092】
ブロック418において、保留持続時間を決定するためのモデルが呼び出しデバイスのローカルストレージに格納されるかどうかが決定される。例えば、モデルは、呼び出し特性、例えば、標的エンティティ、呼び出し時刻などの入力に基づいて、予測保留持続時間を出力するように訓練されている機械学習モデルであり得、その例は、
図3のブロック316を参照して説明される。モデルが呼び出しデバイス上にローカルに格納されない場合、方法は、以下に説明されるブロック422へと続く。モデルが呼び出しデバイス上にローカルに格納される場合、方法は、ブロック420へと続き、そこで、標的エンティティのエンティティ識別子、見込み呼び出し時刻、および/または他の呼び出し特性など、見込み呼び出しの呼び出し特性は、モデルへと入力され、ブロック402において決定される見込み呼び出しのための保留持続時間を含む、モデルの出力が獲得される。方法は、上に説明されるように、決定された保留持続時間を表示するために、
図2のブロック222へと続き得る。
【0093】
ブロック422において、ブロック402において決定される見込み呼び出しの1つまたは複数の呼び出し特性は、サーバなどの遠隔デバイスに送信され、それらの呼び出しのための保留持続時間は、遠隔デバイスから獲得される。例えば、呼び出しデバイスは、標的エンティティの識別子およびブロック402において決定される見込み呼び出し時刻、ならびに保留持続時間を決定するために使用され得る他の情報(例えば、呼び出し時刻が休日に発生するかどうか、など)を、遠隔デバイスに送信し得る。遠隔デバイスは、例えば、
図3において上に説明されるものと同様にデータ構造および/またはモデルを使用して保留持続時間を決定することができ、ネットワークを通じて呼び出しデバイスに決定された保留持続時間を送信する。方法は、上に説明されるように、決定された保留持続時間を表示するために、
図2のブロック222へと続き得る。
【0094】
いくつかの実装形態において、ブロック420またはブロック422において使用されるものなどの訓練済みモデルは、例えば、
図2のブロック232を参照して上に説明されるように、追加データにより追加的に訓練または更新され得る。モデルは、呼び出しデバイス上でローカルに訓練され得るか、または遠隔デバイス上のモデルが、呼び出しデバイスから受信されるデータに基づいて訓練され得る。
【0095】
様々な実装形態において、ブロックのうちの1つまたは複数は、例えば、それらのブロックの特定の特徴が特定の実装形態において提供されない場合、方法400から省略され得る。例えば、モデルが保留持続時間を決定するためにデバイスによってローカルで使用され、かつ保留持続時間を決定するための他の説明された技術が使用されないいくつかの実装形態において、ブロック404-418および422は省略され得る。同様に、モデルが使用されないいくつかの実装形態において、ブロック418および420は省略され得る。
【0096】
本明細書に説明される方法、ブロック、および動作は、
図2~
図4に示される、もしくは説明されるものとは異なる順序で実施され得、および/または、適切な場合、(部分的にまたは完全に)他のブロックもしくは動作と同時に実施され得る。例えば、
図2のブロック216および218は、ブロック220-226の前、後、またはこれと少なくとも部分的に同時に、実施され得る。
図2のブロック230は、方法200内の様々な時点のいずれかにおいて実施され得る。他の例において、ブロック402、412、および416は、
図4の例に示されるものと少なくとも部分的に同時に、またはそれとは異なる順序で実施され得る。いくつかのブロックまたは動作は、データの1つの部分に対して実施され、また、後になって、例えば、データの別の部分に対して実施され得る。説明されたブロックおよび動作のすべてが、様々な実装形態において実施される必要があるわけではない。いくつかの実装形態において、ブロックおよび動作は、複数回、異なる順序で、および/または方法内の異なる時点において、実施され得る。
【0097】
本明細書に開示される1つまたは複数の方法は、例えば、任意のタイプのコンピューティングデバイス上で実行し得るスタンドアロンコンピュータプログラムとして、モバイルコンピューティングデバイス上で実行するモバイルアプリケーション(「アプリ」)としてなど、いくつかの環境およびプラットフォーム内で動作し得る。
【0098】
本明細書に説明される1つまたは複数の方法(例えば、200、300、および/または400)は、任意のタイプのコンピューティングデバイス上で実行され得るスタンドアロンプログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、例えば、リストウォッチ、アームバンド、宝飾品、ヘッドウェア、仮想現実ゴーグルまたはグラス、拡張現実ゴーグルまたはグラス、ヘッドマウント型ディスプレイなど、ラップトップコンピュータなど)上で実行するモバイルアプリケーション(「アプリ」)内で実行され得る。1つの例において、クライアント/サーバアーキテクチャが使用され得、例えば、モバイルコンピューティングデバイスは(クライアントデバイスとして)、ユーザ入力データをサーバデバイスに送信し、サーバから最終出力データを出力のため(例えば、表示のため)に受信する。別の例において、方法のすべての計算は、モバイルコンピューティングデバイス上のモバイルアプリ(および/または他のアプリ)内で実施され得る。別の例において、計算は、モバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で分けられ得る。
【0099】
1つの例において、クライアント/サーバアーキテクチャが使用され得、例えば、モバイルコンピューティングデバイスは(クライアントデバイスとして)、ユーザ入力データをサーバデバイスに送信し、サーバから最終出力データを出力のため(例えば、表示のため)に受信する。別の例において、すべての計算は、モバイルコンピューティングデバイス上のモバイルアプリ(および/または他のアプリ)内で実施され得る。別の例において、計算は、モバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で分けられ得る。
【0100】
本明細書に説明される方法は、コンピュータ上で実行され得るコンピュータプログラム命令またはコードによって実装され得る。例えば、コードは、1つまたは複数のデジタルプロセッサ(例えば、マイクロプロセッサまたは他の処理回路)によって実行され得、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、固い磁気ディスク、光学ディスク、固体メモリドライブなどを含む、磁気、光学、電磁気、または半導体記憶媒体などの非一時的なコンピュータ可読媒体(例えば、記憶媒体)を含む、コンピュータプログラム製品に格納され得る。プログラム命令もまた、例えば、サーバ(例えば、分散型システムおよび/またはクラウドコンピューティングシステム)から配信されるSoftware As A Service(SaaS)の形態で、電気信号内に含まれ、電気信号として提供され得る。代替的に、1つまたは複数の方法は、ハードウェア(論理ゲートなど)において、またはハードウェアおよびソフトウェアの組み合わせにおいて、実行され得る。例となるハードウェアは、プログラマブルプロセッサ(例えば、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス)、汎用プロセッサ、グラフィックプロセッサ、特定用途向け集積回路(ASIC)、および同様のものであり得る。1つまたは複数の方法は、システム上で実行するアプリケーションの一部もしくは構成要素として、または他のアプリケーションおよびオペレーティングシステムと併せて実行するアプリケーションもしくはソフトウェアとして実施され得る。
【0101】
図5は、いくつかの実装形態による、呼び出しのための保留持続時間が表示され得る呼び出しデバイスの表示画面によって表示されるユーザインターフェース例500の概略図である。例えば、インターフェース500は、クライアントデバイス、例えば、
図1に示されるクライアントデバイス120-126のうちの1つ、またはサーバデバイス、例えば、サーバシステム102など、異なるデバイスの表示デバイスによって、タッチスクリーン上に表示され得る。
【0102】
いくつかの実装形態において、ユーザインターフェース500は、他のデバイスに対する呼び出しを開始し、他のデバイスからの着呼に応答し、呼び出し接続を介して他のデバイスと通信する呼び出しアプリケーションプログラムと関連付けられ得る。この例では、標的エンティティの名前502が表示され、標的エンティティはユーザによって選択されている。標的エンティティのエンティティ識別子504は、エンティティ名502の近くに表示される。呼び出しインターフェース506も表示され、これは、標準数値キーパッド508、識別子入力フィールド510、および呼び出し制御512を含む。数値キーパッド508のキーは、入力フィールド510内に識別子514を、例えば、一度に1つの文字を、または他の実装形態においては複数の文字を入力するために、(例えば、タッチスクリーンまたは他の入力デバイスを介して)ユーザによって選択され得る。いくつかの実装形態において、識別子514は、例えば、ユーザが、インターフェース500が呼び出しデバイスによって表示されるようにする異なるアプリケーション(例えば、地図アプリケーション、ウェブブラウザなど)から標的エンティティを呼び出すことを選択することに応答して、呼び出しデバイスによって入力フィールド510内に自動的に入力され得る。呼び出し制御512は、ユーザによって選択される場合、呼び出しデバイスが、標的エンティティの識別子514にダイヤルし、標的エンティティに対する呼び出しを開始するようにさせ得る。
【0103】
ユーザインターフェース500はまた、保留持続時間表示エリア520を含み得、ここに予測保留持続時間に関連した情報が表示され得る。この例では、予測保留持続時間がエンティティ識別子504/514のために決定されているところであることを示すメッセージ522が表示エリア520に表示される。これは、例えば、呼び出しが識別子514を使用して標的エンティティに対して開始される前(またこの例では、呼び出し制御512がユーザによって選択される前)の、保留持続時間の事前呼び出し決定である。いくつかの実装形態において、メッセージ524は、例えば、保留持続時間が決定されていることを示すために、呼び出し制御512内に表示され得るか、またはこれと関連付けられ得る。
【0104】
図6は、いくつかの実装形態による、保留持続時間が呼び出しデバイスによって決定された後に表示される
図5のユーザインターフェース500の概略図である。この表示例は、識別子514を使用した標的エンティティに対する呼び出しの開始前である。保留持続時間は、本明細書に説明される技術のいずれかを使用して予測され得る。この例では、複数の保留持続時間は、複数の見込み呼び出しのために予測され、各呼び出しは異なる呼び出し時刻におけるものである。例えば、それぞれの保留持続時間は、標的エンティティが営業しており、発呼者と話すために人間のエージェントを提供することができる時間期間の各時間(午前7時、午前8時など)における呼び出しのために、呼び出しデバイスによって予測されている。これらは、現在の時刻の後の見込み呼び出し時刻を含む。現在の時刻の前の呼び出し時刻についての保留持続時間は、参照のために表示され得、および/または、いくつかの実装形態において、翌日のこれらの同じ呼び出し時刻において発生する予測保留持続時間を示すものであり得る。
【0105】
決定された保留持続時間の少なくともいくつかは、表示エリア520内に棒グラフ601で図形表示され、例えば、各縦棒602の高さは、保留持続時間の大きさを、表示されている他の予測保留持続時間の大きさに対して示すものである。この例では、選択された棒604は、それを他の棒602と視覚的に区別するために、異なる色、明るさ、または他の標示で強調され、この例では、現在の時刻を含む時間期間内に(例えば、現在の時刻はこの棒と関連付けられた時間期間に最も近い)行われる呼び出しである、特定の呼び出しのための保留持続時間を示す。加えて、保留持続時間標示606は、選択された棒604と視覚的に関連付けられ、選択された棒604によって示される保留持続時間をテキスト形式で示す。
【0106】
いくつかの実装形態において、保留持続時間が、示されるように単一の日について表示される場合、曜日ラベル610のセットが、棒グラフ601の近く、または別途これと視覚的に関連して、表示エリア520内に表示され得る。この例では、各ラベル610は、週の異なる曜日を示す。ラベル610の1つのラベル612は、棒グラフ601の保留持続時間が当てはまる曜日を示すために強調される。例えば、ラベル612は、太字で表示され、下線付きにされ、および/または別途他のラベル610から視覚的に区別され得る。いくつかの実装形態において、他のユーザ選択可能なラベル、例えば、選択可能な残りの日を伴う現在の月、選択可能な残りの月を伴う現在の年などが表示され得る。
【0107】
いくつかの実装形態において、要約メッセージ614が、例えば、棒グラフ501と視覚的に関連して(例えば、棒グラフ501に隣接して、またはこれの近くに)表示エリア520内に表示され得る。要約メッセージ614は、棒グラフ601に示される情報を要約し、例えば、棒グラフ601内の選択した呼び出し時刻において、または選択した呼び出し時刻の前および/もしくは後の特定の時間期間内に開始される呼び出しのための予測保留持続時間をテキスト形式で表示し得る。例えば、
図6では、選択した呼び出し時刻は、現在の時刻(または現在の時刻の直後の時刻)であり、メッセージ614は、選択した棒604と関連付けられた呼び出し時刻(例えば、この例では、午後12時)を示し得る。例えば、メッセージ614内の呼び出し時刻は、現在の時刻を含む時間期間を表す呼び出し時刻であり得る。いくつかの例において、棒602によって表される時間期間は、その棒についての表示された呼び出し時刻を中心とする1時間であり得るか、または他の実装形態においては他の時間期間であり得る。現在の時刻が次の棒602によって表される次の時間期間へと進むとき、選択された棒604およびメッセージ614は、それに応じて更新され得る。例えば、選択された棒604およびメッセージ614は、現在の時刻が次の時間期間(例えば、1つの例において、午後12時31分)へと進むとき、棒グラフ601の次の呼び出し時刻(例えば、午後1時)へと変更され得る。
【0108】
いくつかの実装形態において、メッセージ620もまた、棒グラフ601内の棒604の選択された呼び出し時刻と関連付けられた予測保留持続時間を示す呼び出し制御512内に、またはこれと関連して、表示され得る。
【0109】
図7は、いくつかの実装形態による、ユーザによって選択される異なる予測保留持続時間の例を示す
図6のユーザインターフェース500の概略図である。
図7のインターフェース500は、識別子514を使用した標的エンティティに対する呼び出しの開始前に表示される。この例では、ユーザは、ユーザ入力を介して、例えば、タッチスクリーン上の表示された棒702をタップして、棒グラフ601の異なる棒702を選択している。棒702は、選択に応答して、相応に視覚的に強調され、以前に選択された棒604は、もはや強調されない。保留持続時間標示606は、選択された棒702によって表される予測保留持続時間を示すために、選択に応答して更新される。
【0110】
図8は、いくつかの実装形態による、異なる予測保留持続時間がユーザによって選択される
図7のユーザインターフェース500の概略図である。
図8のインターフェース500は、識別子514を使用した標的エンティティに対する呼び出しの開始前に表示される。この例では、ユーザは、選択した曜日の見込み呼び出しのための保留持続時間を見るために、週のうちの異なる曜日(今日ではない)を選択している。例えば、ユーザは、選択された曜日と関連付けられた保留持続時間を表示させるために曜日ラベル610を選択し得る。いくつかの例において、ラベル802(次の土曜日)が、
図8においてユーザによって選択され、棒グラフ804を表示させる。棒グラフ804は、
図6および
図7に示される金曜日についての棒グラフ601と比較して、呼び出しのための保留持続時間の異なるセットを含む。いくつかの実装形態において、標的エンティティが呼び出しを受けることができない曜日(例えば、週末、休日などの営業時間外)が選択される場合、保留持続時間の棒グラフは、表示されず、標的エンティティがその曜日は人間のエージェントを呼び出しに接続しないことを示すメッセージに置き換えられる(例えば、日曜日がラベル610のために選択される場合、メッセージ「日曜定休」が表示され得る)。
【0111】
棒グラフ804は、
図6および
図7の棒グラフ601と同様に、選択された曜日の異なる呼び出し時刻における予測保留持続時間を含む。棒グラフ804の棒806が選択される。例えば、棒806は、ユーザ入力によって選択されていてもよく、または、異なる曜日ラベル610が選択されるときのデフォルト選択であってもよい(例えば、棒グラフ804内の第1または最も早期の棒が選択され得る)。棒806は、相応に視覚的に強調され、以前に選択された棒702は、もはや強調されない。保留持続時間標示606は、選択された棒806によって表される予測保留持続時間を示すために、選択に応答して更新される。
【0112】
他の実装形態において、保留持続時間は、他のやり方または形式で表示され得る。例えば、横棒グラフ、色分けされた数字もしくは領域、カレンダ形式、または他の図形表示が使用され得る。
【0113】
図9は、いくつかの実装形態による、保留持続時間が呼び出し中に表示され得る呼び出しデバイスの表示画面によって表示されるユーザインターフェース例900の概略図である。例えば、インターフェース900は、クライアントデバイス、例えば、
図1に示されるクライアントデバイス120-126のうちの1つ、またはサーバデバイス、例えば、サーバシステム102など、異なるデバイスの表示デバイスによって、タッチスクリーン上に表示され得る。
【0114】
インターフェース900は、標的エンティティのためのエンティティ識別子にダイヤルすることによって標的エンティティに対する呼び出しを開始した呼び出しデバイスによって表示される呼び出しインターフェースであり得る。例えば、呼び出しのステータス902が示される。予測保留持続時間904は、現在の呼び出し(例えば、本明細書に説明されるような)のために決定され、インターフェース900に表示され得る。加えて、保留持続時間制御906が表示され、保留持続時間が異なる呼び出し時刻における標的エンティティに対する見込み呼び出しのために表示されるようにするために、ユーザによって選択され得る。切断制御908が、現在の呼び出しを切るためにユーザによって選択され得る。
【0115】
いくつかの実装形態において、インターフェース900と同様のインターフェースが、標的エンティティに対する呼び出し接続の後に表示され得る。例えば、予測保留持続時間904および保留持続時間制御906は、発呼者および被呼者が呼び出しにおいて音声により通信している間、インターフェース900に表示され続け得る。予測保留持続時間904はまた、ユーザが標的エンティティによって保留される場合、表示され続け得る。例えば、ユーザ選択を受信する発話認識技術、または他の技術が、標的エンティティ(例えば、標的エンティティの自動音声メニュー)がユーザを保留にしたかどうかを検出するために、呼び出しデバイスによって使用され得る。保留されている間、予測保留持続時間904は、保留期間の時間が進行するにつれて、調整、例えば、低減され得る。保留持続時間制御906は、呼び出し中および/または保留されている間、ユーザによる選択のために表示され得、また利用可能であり得る。
【0116】
図10は、いくつかの実装形態による、見込み呼び出しのための保留持続時間が、呼び出しデバイスによって決定されており、呼び出し中にインターフェース900に表示される
図9のユーザインターフェース900の概略図である。この例では、保留持続時間表示エリア1002が、インターフェース900に表示され、表示エリア1002は、複数の見込み呼び出しのための保留持続時間を示す棒グラフ1004を含む。例えば、表示エリア1002は、ユーザが
図9に示されるように保留持続時間制御906を選択することに応答して表示され得るか、または、他の入力が、表示エリア1002を表示させるために受信され得る。
【0117】
棒グラフ1004は、
図6~
図8に関して上に説明される棒グラフと同様であり得る。例えば、複数の保留持続時間は、複数の見込み呼び出しのために予測され得、各見込み呼び出しが異なる呼び出し時刻を有する。ユーザは、上に説明されるものと同様に、曜日ラベル1006を選択して、選択された曜日についての保留持続時間を表示し得る。保留持続時間標示1008は、上に説明されるものと同様に、選択された保留持続時間をテキスト形式で示し得る。いくつかの実装形態において、要約メッセージ1010が、上に説明されるものと同様に、例えば、棒グラフ1004と視覚的に関連して、表示エリア1002内に表示され得る。
【0118】
いくつかの実装形態において、棒グラフ1004は、表示され続けてもよく、呼び出しが接続されるとき、および呼び出し中、例えば、発呼者および被呼者が話しているとき、発呼者が保留されているときなど、ユーザ選択に対応し得る。
【0119】
図11は、本明細書に説明される1つまたは複数の特徴を実装するために使用され得るデバイス例1100のブロック図である。1つの例において、デバイス1100は、クライアントデバイス、例えば、
図1に示されるクライアントデバイス120-126のいずれかを実装するために使用され得る。代替的に、デバイス1100は、サーバデバイス、例えば、サーバデバイス104などを実装し得る。いくつかの実装形態において、デバイス1100は、クライアントデバイス、サーバデバイス、または上記の組み合わせを実装するために使用され得る。デバイス1100は、任意の好適なコンピュータシステム、サーバ、または本明細書に説明されるような他の電子もしくはハードウェアデバイスであり得る。
【0120】
いくつかの実装形態において、デバイス1100は、プロセッサ1102、メモリ1104、およびI/Oインターフェース1106を含む。プロセッサ1102は、プログラムコードを実行し、デバイス1100の基本動作を制御するための1つまたは複数のプロセッサおよび/または処理回路であり得る。「プロセッサ」は、データ、信号、または他の情報を処理する任意の好適なハードウェアシステム、機構、または構成要素を含む。プロセッサは、1つまたは複数のコア(例えば、シングルコア、デュアルコア、またはマルチコア構成にある)を伴う汎用中央処理装置(CPU)を有するシステム、複数の処理装置(例えば、マルチプロセッサ構成にある)、グラフィック処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、複合プログラマブル論理デバイス(CPLD)、機能性を達成するための専用回路、ニューラルネットワークモデルベースの処理を実行するための特殊用途プロセッサ、ニューラル回路、行列計算(例えば、行列の乗算)のために最適化されるプロセッサ、または他のシステムを含み得る。
【0121】
いくつかの実装形態において、プロセッサ1102は、ニューラルネットワーク処理を実行する1つまたは複数のコプロセッサを含み得る。いくつかの実装形態において、プロセッサ1102は、データを処理して確率的な出力を生成するプロセッサであり得、例えば、プロセッサ1102によって生成される出力は、不正確であり得るか、または予測した出力からの範囲内で正確であり得る。例えば、プロセッサは、その関数を「リアルタイム」、「オフライン」、「バッチモード」などで実施し得る。処理の部分は、異なる時間および異なる場所で、異なる(または同じ)処理システムによって実施され得る。コンピュータは、メモリと通信状態にある任意のプロセッサであり得る。
【0122】
メモリ1104は、典型的には、プロセッサ1102によるアクセスのためにデバイス1100内に提供され、また、プロセッサによる実行のために命令を格納するのに好適であり、プロセッサ1102とは別個に位置する、および/またはそれと統合される、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能なリードオンリメモリ(EEPROM)、フラッシュメモリなどの任意の好適なプロセッサ可読記憶媒体であり得る。メモリ1104は、オペレーティングシステム1108、機械学習アプリケーション1130、他のアプリケーション1112、およびアプリケーションデータ1114を含む、プロセッサ1102によってサーバデバイス1100上で動作するソフトウェアを格納し得る。他のアプリケーション1112は、データ表示エンジン、通信アプリケーション(例えば、ダイヤラまたは呼び出しアプリケーション)、ウェブホスティングエンジン、画像表示エンジン、通知エンジン、ソーシャルネットワーキングエンジンなどのアプリケーションを含み得る。いくつかの実装形態において、機械学習アプリケーション1130および/または他のアプリケーション1112は各々、プロセッサ1102が本明細書に説明される関数、例えば、
図2、
図3、および/または
図4の方法の一部またはすべてを実施することを可能にする命令を含む。アプリケーションデータ1114は、以前の呼び出しの呼び出し時刻、呼び出し持続時間、保留持続時間、および他の特性を含む呼び出し特性、ならびに/または本明細書に説明されるような予測保留持続時間を決定するために使用され得るデータ構造(例えば、テーブル、リスト、グラフ)を含み得る。
【0123】
機械学習アプリケーション1130は、教師ありおよび/または教師なし学習が使用され得る1つまたは複数の名前付きエンティティ認識(NER)実装を含み得る。機械学習モデルは、マルチタスク学習ベースのモデル、従来のランダムフィールドを伴う残留タスク双方向LSTM(長短期メモリ)、静的NERなどを含み得る。本明細書に開示される1つまたは複数の方法は、例えば、任意のタイプのコンピューティングデバイス上で実行し得るスタンドアロンコンピュータプログラムとして、ウェブページを有するウェブアプリケーションとして、モバイルコンピューティングデバイス上で実行されるモバイルアプリケーション(「アプリ」)としてなど、いくつかの環境およびプラットフォーム内で動作し得る。
【0124】
様々な実装形態において、機械学習アプリケーション1130は、ベイズ識別器、サポートベクトルマシン、ニューラルネットワーク、または他の学習技術を利用し得る。いくつかの実装形態において、機械学習アプリケーション1130は、訓練済みモデル1134、推論エンジン1136、およびデータ1132を含み得る。いくつかの実装形態において、データ1132は、訓練データ、例えば、訓練済みモデル1134を生成するために使用されるデータを含み得る。例えば、訓練データは、ユーザによる以前の呼び出しの呼び出し特性(ユーザの同意が獲得されている場合)など、呼び出しのための保留持続時間を決定するためのモデルを訓練するのに好適な任意のタイプのデータを含み得る。訓練データは、機械学習のための訓練データとしての使用のために許可が提供されるデータなど、任意のソース、例えば、訓練のために特別にマークされるデータレポジトリから獲得され得る。1つまたは複数のユーザが機械学習モデル、例えば、訓練済みモデル1134を訓練するためにユーザそれぞれのユーザデータの使用を許可する実装形態において、訓練データは、そのようなユーザデータを含み得る。ユーザがユーザそれぞれのユーザデータの使用を許可する実装形態において、データ1132は、許可されたデータを含み得る。
【0125】
いくつかの実装形態において、訓練データは、訓練されている文脈におけるユーザ入力または活動に基づかないデータ、例えば、シミュレーションまたはモデルから生成されるデータなど、訓練の目的で生成される合成データを含み得る。いくつかの実装形態において、機械学習アプリケーション1130は、データ1132を除外する。例えば、これらの実装形態において、訓練済みモデル1134は、例えば、異なるデバイス上で生成され得、機械学習アプリケーション1130の一部として提供され得る。様々な実装形態において、訓練済みモデル1134は、モデル構造または形態、および関連重みを含むデータファイルとして提供され得る。推論エンジン1136は、訓練済みモデル1134のためのデータファイルを読み出し、訓練済みモデル1134内で指定されるモデル構造または形態に基づいてノード接続、層、および重みを伴うニューラルネットワークを実装し得る。
【0126】
機械学習アプリケーション1130はまた、1つまたは複数の訓練済みモデル1134を含む。例えば、そのようなモデルは、本明細書に説明されるような呼び出しのための予測保留持続時間を決定するための訓練済みモデルを含み得る。いくつかの実装形態において、訓練済みモデル1134は、1つまたは複数のモデル形態または構造を含み得る。例えば、モデル形態または構造は、線状ネットワーク、複数の層(例えば、入力層と出力層との間の「隠れ層」、各層が線状ネットワークである)を実装するディープニューラルネットワーク、畳み込みニューラルネットワーク(例えば、入力データを複数の部分またはタイルへと分け、または分割し、各タイルを1つまたは複数のニューラルネットワーク層を使用して別個に処理し、各タイルの処理から結果を集めるネットワーク)、Sequence to Sequenceニューラルネットワーク(例えば、入力として、文中の言葉、動画内のフレームなどの時系列データをとり、出力として、結果シーケンスを生成するネットワーク)など、任意のタイプのニューラルネットワークを含み得る。
【0127】
モデル形態または構造は、様々なノード間の接続および層内へのノードの整理を指定し得る。例えば、第1の層(例えば、入力層)のノードは、入力データ1132またはアプリケーションデータ1114としてデータを受信し得る。例えば、そのようなデータは、例えば、訓練済みモデルが保留持続時間を決定するために使用されるとき、以前の呼び出しの呼び出し特性、ならびに/または、以前の呼び出しおよび保留持続時間の予測に関するユーザからのフィードバックを含み得る。後続の中間層は、モデル形態または構造において指定される接続ごとに前の層のノードの出力を入力として受信し得る。これらの層は、隠れ層とも称され得る。最終層(例えば、出力層)は、機械学習アプリケーションの出力を生成する。例えば、出力は、インターフェースにおいて提供されることになる見込み呼び出し時刻における保留持続時間のセットであり得る。いくつかの実装形態において、モデル形態または構造はまた、各層内のノードの数および/またはタイプを指定する。
【0128】
異なる実装形態において、1つまたは複数の訓練済みモデル1134は、モデル構造または形態ごとに層内へ配置される複数のノードを含み得る。いくつかの実装形態において、ノードは、例えば、1つの入力を処理して1つの出力を生成するように構成される、メモリのない計算ノードであり得る。ノードによって実施される計算は、例えば、複数のノード入力の各々を重みで乗算し、加重和を獲得し、加重和をバイアスまたは切片値で調整してノード出力を生成することを含み得る。
【0129】
いくつかの実装形態において、ノードによって実施される計算はまた、調整された加重和にステップ/活性化関数を適用することを含み得る。いくつかの実装形態において、ステップ/活性化関数は、非線形関数であり得る。様々な実装形態において、そのような計算は、行列の乗算などの動作を含み得る。いくつかの実装形態において、複数のノードによる計算は、例えば、マルチコアプロセッサの複数のプロセッサコアを使用して、GPUの個々の処理装置を使用して、または特殊用途ニューラル回路を使用して、並行して実施され得る。いくつかの実装形態において、ノードは、メモリを含み得、例えば、1つまたは複数の先の入力を格納して、後続の入力を処理することに使用することができてもよい。例えば、メモリを伴うノードは、長短期メモリ(LSTM)ノードを含み得る。LSTMノードは、ノードが有限状態マシン(FSM)のように作用することを許す「状態」を維持するためにメモリを使用し得る。そのようなノードを伴うモデルは、例えば、文または段落中の言葉、動画内のフレーム、発話または他の音声など、時系列データを処理することに有用であり得る。
【0130】
いくつかの実装形態において、1つまたは複数の訓練済みモデル1134は、個々のノードのための埋め込みまたは重みを含み得る。例えば、モデルは、モデル形態または構造によって指定されるように層へと整理される複数のノードとして開始され得る。初期化では、それぞれの重みは、モデル形態ごとに接続されるノード、例えば、ニューラルネットワークの連続層内のノード、の各ペア同士の接続に適用され得る。例えば、それぞれの重みは、ランダムに割り当てられ得るか、またはデフォルト値へと初期化され得る。モデルは、次いで、例えば、データ1132を使用して訓練されて、結果を生成し得る。
【0131】
例えば、訓練は、教師あり学習技術を適用することを含み得る。教師あり学習において、訓練データは、複数の入力(例えば、呼び出し特性)、および各入力のための対応する予測出力(例えば、異なる呼び出し時刻における保留持続時間のセット)を含み得る。モデルの出力の予測出力との比較に基づいて、重みの値は、例えば、同様の入力が提供されるときモデルが予測出力を生成する確率が増加する様式で、自動的に調整され得る。
【0132】
いくつかの実装形態において、訓練は、教師なし学習技術を適用することを含み得る。教師なし学習においては、入力データのみが提供され得、モデルは、データを区別するように、例えば、入力データを複数のグループへと分類するように訓練され得、各グループは、何らかの様式で同様である入力データを含む。例えば、モデルは、互いに対して同様である呼び出し特性を決定または分類するように訓練され得る。
【0133】
別の例において、教師なし学習を使用して訓練されるモデルは、データソース内の呼び出しまたは言葉の使用に基づいて呼び出しまたは言葉を分類し得る。いくつかの実装形態において、教師なし学習は、例えば、機械学習アプリケーション1130によって使用され得る知識表現を生成するために使用され得る。様々な実装形態において、訓練済みモデルは、モデル構造に対応する、重みまたは埋め込みのセットを含む。データ1132が省略される実装形態において、機械学習アプリケーション1130は、例えば、機械学習アプリケーション1130の開発者、第三者などによる以前の訓練に基づく訓練済みモデル1134を含み得る。いくつかの実装形態において、訓練済みモデル1134のうちの1つまたは複数は各々、固定される、例えば、重みを提供するサーバからダウンロードされる、重みのセットを含み得る。
【0134】
機械学習アプリケーション1130はまた、推論エンジン1136を含む。推論エンジン1136は、異なる呼び出し時刻のための保留持続時間のセットなどの推論を提供するために、訓練済みモデル1134をアプリケーションデータ1114などのデータに適用するように構成される。いくつかの実装形態において、推論エンジン1136は、プロセッサ1102によって実行されるべきソフトウェアコードを含み得る。いくつかの実装形態において、推論エンジン1136は、プロセッサ1102が訓練済みモデルを適用することを可能にする回路構成(例えば、プログラマブルプロセッサのため、フィールドプログラマブルゲートアレイ(FPGA)のためなど)を指定し得る。いくつかの実装形態において、推論エンジン1136は、ソフトウェア命令、ハードウェア命令、または組み合わせを含み得る。いくつかの実装形態において、推論エンジン1136は、推論エンジン1136を起動するため、例えば、訓練済みモデル1134をアプリケーションデータ1114に適用して推論を生成するために、オペレーティングシステム1108および/または他のアプリケーション1112によって使用され得るアプリケーションプログラミングインターフェース(API)を提供し得る。
【0135】
機械学習アプリケーション1130は、いくつかの技術的利点を提供し得る。例えば、訓練済みモデル1134が教師なし学習に基づいて生成されるとき、訓練済みモデル1134は、入力データ、例えば、アプリケーションデータ1114から知識表現(例えば、数値表現)を生成するために推論エンジン1136によって適用され得る。例えば、保留持続時間を決定するために訓練されるモデルは、保留持続時間の表現を生成し得る。いくつかの実装形態において、そのような表現は、出力(例えば、ラベル、分類、予測特性など)を生成するための処理コスト(例えば、計算コスト、メモリ使用量など)を低減するのに役立ち得る。いくつかの実装形態において、そのような表現は、推論エンジン1136の出力から出力を生成する異なる機械学習アプリケーションに入力として提供され得る。
【0136】
いくつかの実装形態において、機械学習アプリケーション1130によって生成される知識表現は、例えば、ネットワークを通じて、さらなる処理を行う異なるデバイスに提供され得る。そのような実装形態において、データではなく知識表現を提供することは、技術的利益を提供し得、例えば、低減したコストでより高速のデータ送信を可能にし得る。
【0137】
いくつかの実装形態において、機械学習アプリケーション1130は、オフライン様式で実行され得る。これらの実装形態において、訓練済みモデル1134は、第1のステージで生成され得、機械学習アプリケーション1130の一部として提供され得る。いくつかの実装形態において、機械学習アプリケーション1130は、オンライン様式で実行され得る。例えば、そのような実装形態において、機械学習アプリケーション1130を起動するアプリケーション(例えば、オペレーティングシステム1108、他のアプリケーション1112のうちの1つまたは複数)は、機械学習アプリケーション1130によって生成される推論を利用し得、例えば、推論をユーザに提供し得、またシステムログ(例えば、ユーザによって許可されている場合、推論に基づいてユーザがとる行動、またはさらなる処理のための入力として利用される場合、さらなる処理の結果)を生成し得る。システムログは、定期的に、例えば、毎時、毎月、四半期ごとなどに生成され得、ユーザの同意を伴って、訓練済みモデル1134を更新するため、例えば、訓練済みモデル1134のための埋め込みを更新するために使用され得る。
【0138】
いくつかの実装形態において、機械学習アプリケーション1130は、機械学習アプリケーション1130が実行されるデバイス1100の特定の構成に適合することができる様式で実行され得る。例えば、機械学習アプリケーション1130は、利用可能な計算リソース、例えば、プロセッサ1102を利用する計算グラフを決定し得る。例えば、機械学習アプリケーション1130が、複数のデバイス上の分散型アプリケーションとして実行される場合、機械学習アプリケーション1130は、計算を最適化する様式で個々のデバイス上で実行されるべき計算を決定し得る。別の例において、機械学習アプリケーション1130は、プロセッサ1102が特定の数のGPUコア(例えば、1000)を伴うGPUを含むことを決定し、それに応じて推論エンジンを実行し得る(例えば、1000の個々のプロセスまたはスレッド)。
【0139】
いくつかの実装形態において、機械学習アプリケーション1130は、訓練済みモデルの集合を実装し得る。例えば、訓練済みモデル1134は、各々が同じ入力データに適用可能である複数の訓練済みモデルを含み得る。これらの実装形態において、機械学習アプリケーション1130は、例えば、利用可能な計算リソース、以前の推論での成功率などに基づいて、特定の訓練済みモデルを選択し得る。いくつかの実装形態において、機械学習アプリケーション1130は、複数の訓練済みモデルが適用されるように、推論エンジン1136を実行し得る。これらの実装形態において、機械学習アプリケーション1130は、例えば、各々の訓練済みモデルを適用することからの個々の出力を採点する投票技術を使用して、または1つもしくは複数の特定の出力を選択することによって、個々のモデルを適用することからの出力を組み合わせ得る。さらに、これらの実装形態において、機械学習アプリケーションは、個々の訓練済みモデルを適用するための時間しきい値(例えば、0.5ミリ秒)を適用し、その時間しきい値内で利用可能である個々の出力のみを利用し得る。時間しきい値内で受信されない出力は、利用されなくてもよく、例えば、廃棄され得る。例えば、そのような手法は、例えば、オペレーティングシステム1108または1つもしくは複数の他のアプリケーション1112によって機械学習アプリケーションを起動する間に指定される時間制限が存在するときに好適であり得る。
【0140】
異なる実装形態において、機械学習アプリケーション1130は、異なるタイプの出力を生成し得る。いくつかの実装形態において、機械学習アプリケーション1130は、起動アプリケーション、例えば、オペレーティングシステム1108または1つもしくは複数の他のアプリケーション1112によって指定される形式に基づいて出力を生成し得る。いくつかの実装形態において、起動アプリケーションは、別の機械学習アプリケーションであり得る。例えば、そのような構成は、敵対的生成ネットワークにおいて使用され得、この場合、起動機械学習アプリケーションは、機械学習アプリケーション1130からの出力を使用して訓練され、その逆もまた然りである。
【0141】
メモリ1104内のソフトウェアのいずれかは、代替的に、任意の他の好適な記憶場所またはコンピュータ可読媒体に格納され得る。加えて、メモリ1104(および/または他の接続されたストレージデバイス)は、1つもしくは複数のメッセージ、1つもしくは複数の分類法、電子百科事典、辞書、シソーラス、知識ベース、メッセージデータ、文法、ユーザ選好、ならびに/または本明細書に説明される特徴において使用される他の命令およびデータを格納し得る。メモリ1104および任意の他のタイプのストレージ(磁気ディスク、光学ディスク、磁気テープ、または他の有形媒体)は、「ストレージ」または「ストレージデバイス」と見なされ得る。
【0142】
I/Oインターフェース1106は、サーバデバイス1100を他のシステムおよびデバイスとインターフェース接続することを可能にするための機能を提供し得る。インターフェース接続されたデバイスは、デバイス1100の一部として含まれ得るか、または別々であり、デバイス1100と通信し得る。例えば、ネットワーク通信デバイス、ストレージデバイス(例えば、メモリ1104および/またはデータベース106)、および入力/出力デバイスは、I/Oインターフェース1106を介して通信し得る。いくつかの実装形態において、I/Oインターフェースは、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイク、カメラ、スキャナ、センサなど)および/または出力デバイス(表示デバイス、スピーカデバイス、プリンタ、モータなど)などのインターフェースデバイスに接続し得る。
【0143】
I/Oインターフェース1106に接続し得るインターフェース接続されたデバイスのいくつかの例は、1つまたは複数の表示デバイス1120および1つまたは複数のデータストア1138(上で論じられるような)を含み得る。コンテンツを表示するために使用され得る表示デバイス1120、例えば、明細書に説明されるような出力アプリケーションのユーザインターフェース。表示デバイス1120は、ローカル接続(例えば、表示バス)を介して、および/またはネットワーク化した接続を介してデバイス1100に接続され得、任意の好適な表示デバイスであり得る。表示デバイス1120は、LCD、LED、もしくはプラズマ表示画面、CRT、テレビ、モニタ、タッチスクリーン、3D表示画面、または他の視覚表示デバイスなど、任意の好適な表示デバイスを含み得る。例えば、表示デバイス1120は、モバイルデバイス上に提供される平坦な表示画面、ゴーグルもしくはヘッドセットデバイス内に提供される複数の表示画面、プロジェクタ、またはコンピュータデバイスのためのモニタ画面であり得る。
【0144】
I/Oインターフェース1106は、他の入力および出力デバイスにインターフェース接続し得る。いくつかの例としては、表示デバイス、プリンタデバイス、スキャナデバイスなどが挙げられる。いくつかの実装形態は、音、音声コマンドなどを捕捉するためのマイク、音を出力するためのオーディオスピーカデバイス、または他の入力および出力デバイスを提供し得る。
【0145】
例示を容易にするため、
図11は、プロセッサ1102、メモリ1104、I/Oインターフェース1106、ならびにソフトウェアブロック1108、1112、および1130の各々のために1つのブロックを示す。これらのブロックは、1つまたは複数のプロセッサまたは処理回路、オペレーティングシステム、メモリ、I/Oインターフェース、アプリケーション、および/またはソフトウェアモジュールを表し得る。他の実装形態において、デバイス1100は、示される構成要素のすべてを有さなくてもよく、および/または、本明細書に示されるものの代わりに、もしくはそれに加えて、他のタイプの要素を含む他の要素を有し得る。いくつかの構成要素は、本明細書内のいくつかの実装形態において説明されるようなブロックおよび動作を実施するものとして説明されるが、環境100、デバイス1100、同様のシステム、またはそのようなシステムと関連付けられた任意の好適なプロセッサもしくはプロセッサの任意の好適な構成要素または構成要素の組み合わせが、説明されるブロックおよび動作を実施し得る。
【0146】
説明は、特定の実装形態に関して説明されているが、これらの特定の実装形態は、単に例示であって制限ではない。例において例示される概念は、他の例および実装形態に適用され得る。
【0147】
上の説明に付け加えて、ユーザは、もしも本明細書に説明されるシステム、プログラム、または特徴が、ユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的行為もしくは活動、職業、ユーザの選好、またはユーザもしくはユーザのデバイスの現在の場所に関する情報)の収集を可能にし得る場合、およびユーザがサーバからコンテンツまたは通信を送信される場合の両方に関して、ユーザが選択を行うことを可能にする制御を提供され得る。加えて、特定のデータは、それが格納または使用される前に、個人を特定できる情報が除去されるように1つまたは複数のやり方で取り扱われ得る。例えば、ユーザの身元は、個人を特定できる情報がユーザに対して決定されることができないように取り扱われ得るか、または、ユーザの地理的場所は、ユーザの特定の場所が決定されることができないように、場所情報が獲得される場合は一般化され得る(例えば、都市、郵便番号、または州レベルまで)。故に、ユーザは、どんな情報がユーザに関して収集されるか、情報がどのように使用されるか、およびどんな情報がユーザに提供されるかに対して制御を有し得る。
【0148】
本開示に説明される機能ブロック、動作、特徴、方法、デバイス、およびシステムは、当業者には知られているように、統合され得るか、またはシステム、デバイス、および機能ブロックの異なる組み合わせへと分割され得ることに留意されたい。任意の好適なプログラミング言語およびプログラミング技術が、特定の実装形態のルーチンを実行するために使用され得る。手続き型またはオブジェクト指向など、異なるプログラミング技術が用いられ得る。ルーチンは、単一の処理デバイスまたは複数のプロセッサ上で実行し得る。ステップ、動作、または計算は、特定の順序で提示され得るが、順序は、異なる特定の実装形態においては変更され得る。いくつかの実装形態において、本明細書内で順次として示される複数のステップまたは動作は、同時に実施され得る。
【手続補正書】
【提出日】2024-03-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータが実行する方法であって、
標的エンティティの識別子を獲得することを含み、前記識別子は、第1の呼び出しデバイスによって、前記第1の呼び出しデバイスと前記標的エンティティとの間の呼び出しを開始するために使用可能であり、
前記方法は、前記呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、前記呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することをさらに含み、前記保留持続時間は、1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、
前記方法は、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスによって表示されるべき前記保留持続時間を提供することをさらに含む、コンピュータが実行する方法。
【請求項2】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスと通信状態にあるサーバデバイスによって実施され、前記識別子を獲得することは、前記サーバデバイスにおいて、前記第1の呼び出しデバイスへのユーザ入力に基づいて前記識別子を受信した前記第1の呼び出しデバイスから前記識別子を受信することを含み、表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって表示されるように前記保留持続時間を前記サーバデバイスから前記第1の呼び出しデバイスへ送信することを含む、請求項1に記載のコンピュータが実行する方法。
【請求項3】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって実施され、前記保留持続時間を決定することは、
保留持続時間を格納するデータ構造、または前記標的エンティティおよび前記特定の時刻を含む入力に応答して保留持続時間を出力する前記第1の呼び出しデバイスのローカルストレージに格納される機械学習モデルにアクセスすることを含む、請求項1に記載のコンピュータが実行する方法。
【請求項4】
前記識別子を獲得すること、前記保留持続時間を決定すること、および表示されるべき前記保留持続時間を提供することは、前記第1の呼び出しデバイスによって実施され、前記保留持続時間を決定することは、
通信ネットワークを介してサーバデバイスから前記保留持続時間を要求することと、
前記識別子を、前記第1の呼び出しデバイスから、前記識別子に基づいて前記保留持続時間を決定するサーバデバイスへ送信することと、
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスにおいて前記サーバデバイスから前記保留持続時間を受信することとを含み、
前記保留持続時間を要求することは、前記標的エンティティの前記識別子の完全版を獲得する前に実施される、請求項1に記載のコンピュータが実行する方法。
【請求項5】
前記保留持続時間を決定することは、機械学習モデルまたはデータ構造のうちの1つの使用に基づき、
前記機械学習モデルは、前記識別子および前記呼び出しの時刻を含む入力を受信し、前記呼び出しのための予測保留持続時間を示す結果を出力し、前記機械学習モデルは、識別子、前記以前の呼び出しの開始時刻、前記以前の呼び出しの呼び出し持続時間、および前記以前の呼び出しの保留持続時間を含む訓練データに基づいて訓練され、
前記データ構造は、エンティティのための予測保留持続時間を格納し、前記予測保留持続時間は、前記複数の以前の呼び出しに基づく、請求項1に記載のコンピュータが実行する方法。
【請求項6】
前記1つまたは複数の呼び出しデバイスは、複数のユーザと関連付けられた複数の呼び出しデバイスである、請求項1に記載のコンピュータが実行する方法。
【請求項7】
前記保留持続時間は、
前記1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の前記複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および
前記以前の呼び出しの複数の保留持続時間を示す保留持続時間データ
に基づいて決定される、請求項1に記載のコンピュータが実行する方法。
【請求項8】
前記複数の以前の呼び出しは、しきい値持続時間よりも長い呼び出し持続時間を有し、前記しきい値持続時間よりも短い呼び出し持続時間を有する呼び出しを除外し、前記複数の保留持続時間のうちの1つまたは複数の保留持続時間は、前記しきい値持続時間よりも長い前記呼び出し持続時間のうちの対応する呼び出し持続時間に基づく、請求項7に記載のコンピュータが実行する方法。
【請求項9】
前記複数の保留持続時間のうちの1つまたは複数の保留持続時間は、前記1つまたは複数の以前の呼び出しの前記呼び出し持続時間に基づいて前記1つまたは複数の保留持続時間を予測する関数に基づいて決定され、前記しきい値持続時間および前記関数は、前記識別子と関連付けられた前記標的エンティティのためにカスタマイズされる、請求項8に記載のコンピュータが実行する方法。
【請求項10】
前記特定の時刻を、前記保留持続時間の表示と関連して前記第1の呼び出しデバイスによって表示されるようにすることをさらに含み、前記特定の時刻は、前記現在の時刻より少なくとも1日先である、請求項1に記載のコンピュータが実行する方法。
【請求項11】
複数の見込み呼び出しのための複数の保留持続時間を決定することをさらに含み、前記複数の保留持続時間は、前記保留持続時間を含み、前記複数の保留持続時間の各々は、関連した見込み呼び出しが前記現在の時刻より先のそれぞれの呼び出し時刻において開始されるときの、前記関連した見込み呼び出しが前記人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、前記それぞれの呼び出し時刻は、互いと異なり、
前記方法は、前記複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることをさらに含む、請求項1に記載のコンピュータが実行する方法。
【請求項12】
前記複数の保留持続時間のうちの特定の保留持続時間、および前記特定の保留持続時間と関連付けられた特定の呼び出し時刻を有する見込み呼び出しを選択するユーザ入力を受信することと、
前記第1の呼び出しデバイスと関連付けられたカレンダ内に、前記選択された見込み呼び出しを前記特定の呼び出し時刻にスケジュールすることとをさらに含む、請求項11に記載のコンピュータが実行する方法。
【請求項13】
前記特定の呼び出し時刻が迫っていること、またはこれに達したことを示す通知が前記第1の呼び出しデバイスによって出力されるようにすることをさらに含む、請求項12に記載のコンピュータが実行する方法。
【請求項14】
前記第1の呼び出しデバイスが、前記特定の呼び出し時刻に、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しを自動的に開始することをさらに含む、請求項12に記載のコンピュータが実行する方法。
【請求項15】
前記保留持続時間が表示されるようにすることは、前記第1の呼び出しデバイスと前記標的エンティティとの間の第1の呼び出し中に実施され、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しは、第2の呼び出しであり、前記第1の呼び出しは、前記第1の呼び出しデバイスと前記標的エンティティとの間の前記第2の呼び出しの開始を引き起こす前に開始される、請求項1に記載のコンピュータが実行する方法。
【請求項16】
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの終了後にユーザフィードバックのためのプロンプトが表示されるようにすることと、
前記保留持続時間の正確度を示す前記ユーザフィードバックを受信することと、
前記ユーザフィードバックに基づいて前記保留持続時間を決定するために使用されるデータ構造またはモデルを更新することとをさらに含む、請求項1に記載のコンピュータが実行する方法。
【請求項17】
呼び出しのための保留持続時間予測を提供するためのシステムであって、
命令を格納するメモリと、
前記メモリに結合される少なくとも1つのプロセッサとを備え、前記少なくとも1つのプロセッサは、動作を実施するために前記メモリから前記命令にアクセスするように構成され、前記動作は、
標的エンティティの識別子を獲得することを含み、前記識別子は、第1の呼び出しデバイスによって、前記第1の呼び出しデバイスと前記標的エンティティとの間の呼び出しを開始するために使用可能であり、
前記呼び出しが現在の時刻に対して見込まれる特定の時刻に開始されるときの、前記呼び出しが人間のエージェントにマッチングされる前の予測時間量である保留持続時間を決定することを含み、前記保留持続時間は、1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の複数の以前の呼び出しに基づいて決定され、
前記第1の呼び出しデバイスと前記標的エンティティとの間の前記呼び出しの開始前に、前記第1の呼び出しデバイスによって表示されるべき前記保留持続時間を提供することを含む、システム。
【請求項18】
前記保留持続時間を決定する前記動作は、
前記1つまたは複数の呼び出しデバイスと前記標的エンティティとの間の前記複数の以前の呼び出しの複数の呼び出し持続時間を示す呼び出し持続時間データ、および
前記以前の呼び出しの複数の保留持続時間を示す保留持続時間データに基づく、請求項17に記載のシステム。
【請求項19】
前記少なくとも1つのプロセッサは、さらなる動作を実施し、前記さらなる動作は、
前記保留持続時間を含む複数の保留持続時間を決定することを含み、前記複数の保留持続時間の各々は、前記呼び出しが前記現在の時刻に対して見込まれるそれぞれの呼び出し時刻において開始されるときの、前記呼び出しが前記人間のエージェントにマッチングされる前のそれぞれの予測時間量を示し、前記それぞれの呼び出し時刻は、互いと異なり、
前記複数の保留持続時間が、それらのそれぞれの呼び出し時刻と関連して表示されるようにすることを含む、請求項17に記載のシステム。
【請求項20】
プロセッサによって実行されると、前記プロセッサに
請求項1~16のいずれか1項に記載の方法を実施させる
命令を備える、プログラム。
【国際調査報告】