(57)【特許請求の範囲】
【請求項１】
通信サーバによって、ユーザから、コンテンツの検索要求を受信するステップと、
前記検索要求に応じて前記通信サーバによって、表示ウェブページ上の複数の選択可能なコンテンツ項目の形態で検索結果を得るステップであって、各々の選択可能なコンテンツ項目が、前記検索要求に関連付けられたそれぞれのウェブリソースへのリンクを含む、ステップと、
複数のウェブリソースの特性に関するデータベースから得られる情報に基づいて前記通信サーバによって、特定のウェブリソースが前記特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップと、
前記特定のウェブリソースに対して、前記表示ウェブページ上にチャットインタフェースを自動的に提供するステップであって、前記チャットインタフェースが、前記表示ウェブページ上の前記各々の選択可能なコンテンツ項目に隣接した表示のために前記通信サーバによって描画および／または制御される、ステップとを含み、
前記表示ウェブページからの前記チャットインタフェースとのユーザ対話に応答して、前記通信サーバによって、前記ユーザと、前記特定のウェブリソースに関連付けられた前記特定のサードパーティコンテンツプロバイダとの間のチャットセッションを開始し、
前記チャットセッションが、ｉ）前記通信サーバと前記ユーザとの間の第１のセッション、およびｉｉ）前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第２のセッションを備え、
通信システムによって、所定の期間の間前記チャットセッションのアクティビティがないと検出するステップと、
前記通信システムによって、前記第１のセッションまたは前記第２のセッションの少なくとも１つが終了したと検出するステップと、
前記通信システムによって、前記チャットセッションのコンテキストデータに基づいて、前記ユーザが前記チャットセッションを完了していないと判定するステップと、
前記データベースに、前記第１のセッションの全体を示すデータを記憶するステップと、
前記通信システムによって、前記第２のセッションが終了したとの検出に応じて、前記チャットセッションの一部として前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第３のセッションを開始するステップと、
前記通信システムによって、前記サードパーティコンテンツプロバイダに、前記ユーザが前記サードパーティコンテンツプロバイダとの前記チャットセッションを再開できるように前記第１のセッションの少なくとも一部分を示す前記データを提供するステップとをさらに含む、
方法。
【請求項２】
複数のウェブリソースに関するデータベースエントリを有するデータベースにデータ設定するステップであって、
前記複数のウェブリソースの各々に対して、
前記通信サーバにおいて、それぞれのウェブリソースの特性を示すデータを受信するステップと、
前記通信サーバによって、前記受信したデータに基づいて、前記それぞれのウェブリソースが前記それぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップと、
前記通信サーバによって、前記データベースに、前記それぞれのウェブリソースが前記機能性を有することを示すエントリを記憶するステップとを含む、データ設定するステップを更に含み、
前記データベースにデータ設定するための前記ステップが、前記データベースにまだ含まれていないウェブページに対するデータを獲得するために定期的に行われる、請求項１に記載の方法。
【請求項３】
前記通信サーバにおいて、前記ユーザから、前記チャットユーザインタフェースを通じて前記第１のセッションへの入力を受信するステップと、
前記通信サーバによって、前記サードパーティコンテンツプロバイダに、前記第２のセッションへの前記ユーザ入力を示すデータを提供するステップとを含む、
請求項１に記載の方法。
【請求項４】
前記特定のウェブリソースにアクセスする前記要求が音声入力を備える、請求項１に記載の方法。
【請求項５】
通信システムによって、前記ユーザから、前記第１のセッションにおいて第２の音声入力を受信するステップと、
前記サードパーティコンテンツプロバイダに、前記第２のセッションにおいて前記第２の音声入力のテキスト表現を示すデータを提供するステップと、
前記通信システムによって、前記サードパーティコンテンツプロバイダから、前記通信システムと前記サードパーティコンテンツプロバイダとの間の前記第２のセッションにおいて前記サードパーティコンテンツプロバイダからのテキスト入力を受信するステップと、
前記通信システムによって、前記ユーザに、前記第１のセッションにおいて前記サードパーティコンテンツプロバイダからの前記テキスト入力の音声表現を示すデータを提供するステップとを含む、
請求項４に記載の方法。
【請求項６】
前記チャットユーザインタフェースがチャットウィジェットである、請求項１に記載の方法。
【請求項７】
前記判定するステップが、
通信システムによって、前記ウェブリソースにアクセスするステップと、
前記通信システムによって、前記ウェブリソース上のウィジェットを特定するステップと、
前記通信システムによって、前記ウェブリソース上の前記ウィジェットのためのコードにおいて、前記ウェブリソースが前記ウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すタグを特定するステップとを含む、請求項６に記載の方法。
【請求項８】
前記ライブアシスタンスが前記特定のサードパーティコンテンツプロバイダを代表する人間によって提供される、請求項１に記載の方法。
【請求項９】
前記特定のウェブリソースに対して開始される複数のチャットセッションの各々に対して、通信システムによって、前記特定のウェブリソースに前記ユーザを導いた前記コンテンツ項目の一意の識別子に基づいて、前記チャットセッションに対するコンテンツ項目メトリック値を判定するステップと、
前記通信システムによって、前記コンテンツ項目メトリック値を使用して、前記コンテンツ項目メトリック値の提示を生成するステップと、
前記通信システムによって前記サードパーティコンテンツプロバイダに、表示のために前記提示を提供するステップとを含む、
請求項１に記載の方法。
【請求項１０】
前記判定するステップが、
通信システムによって、前記ウェブリソースにアクセスするステップと、
前記通信システムによって、前記ウェブリソースがアクセスされているウィンドウと別である新たなウィンドウが開いたと判定するステップと、
前記新たなウィンドウにおいて、前記ウェブリソースが前記ウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すテキスト語句を判定するステップとを含む、請求項１に記載の方法。
【請求項１１】
前記ユーザが、ネットワーク接続されたデバイスを通じて前記チャットセッションにアクセスする、請求項１に記載の方法。
【請求項１２】
前記ネットワーク接続されたデバイスがモバイルデバイスである、請求項１１に記載の方法。
【請求項１３】
前記ネットワーク接続されたデバイスがデスクトップデバイスである、請求項１１に記載の方法。
【請求項１４】
前記ネットワーク接続されたデバイスが画面を有しない、請求項１１に記載の方法。
【請求項１５】
前記開始するステップが、
前記通信サーバによって、前記サードパーティコンテンツプロバイダから、前記チャットセッションの前記第１のセッションに対する第１の一意のセション識別子を受信するステップと、
前記通信サーバによって、前記サードパーティコンテンツプロバイダに、前記第２のセッションを促進するために前記第１の一意のセション識別子を提供するステップとを含む、請求項１に記載の方法。
【請求項１６】
ネットワークに通信可能に接続されるデバイスと、
前記ネットワークに通信可能に接続されるサードパーティコンテンツプロバイダサーバと、
請求項１から１５のいずれか一項に記載の方法を実装するための動作を行う通信サーバとを備える、
システム。
【請求項１７】
少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに請求項１から１５のいずれか一項に記載の方法を実装するための動作を行わせる実行可能命令が符号化された少なくとも１つのコンピュータ可読記憶媒体。
【請求項１８】
複数のウェブリソースの各々に対して、
通信サーバにおいて、それぞれのウェブリソースの特性を示すデータを受信するステップと、
前記通信サーバによって、前記受信したデータに基づいて、前記それぞれのウェブリソースが前記それぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップと、
前記通信サーバによって、データベースに、前記それぞれのウェブリソースが前記機能性を有することを示すエントリを記憶するステップと、
前記通信サーバによって、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信するステップと、
前記通信サーバによって、前記特定のウェブリソースを表す前記データベースの記憶したエントリに基づいて、前記特定のウェブリソースが前記特定のウェブリソース上の特定のチャットユーザインタフェースを通じて前記特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップと、
前記通信サーバによって、前記ユーザと前記サードパーティコンテンツプロバイダとの間のチャットセッションを開始するステップとを含み、
前記チャットセッションが、ｉ）前記通信サーバと前記ユーザとの間の第１のセッション、およびｉｉ）前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第２のセッションを備え、
通信システムによって、所定の期間の間アクティビティがないと検出するステップと、
前記通信システムによって、前記第１のセッションまたは前記第２のセッションの少なくとも１つが終了したと検出するステップと、
前記通信システムによって、前記チャットセッションのコンテキストデータに基づいて、前記ユーザが前記チャットセッションを完了していないと判定するステップと、
前記データベースに、前記第１のセッションの全体を示すデータを記憶するステップと、
前記通信システムによって、前記第２のセッションが終了したとの検出に応じて、前記チャットセッションの一部として前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第３のセッションを開始するステップと、
前記通信システムによって、前記サードパーティコンテンツプロバイダに、前記ユーザが前記サードパーティコンテンツプロバイダとの前記チャットセッションを再開できるように前記第１のセッションの少なくとも一部分を示す前記データを提供するステップとをさらに含む、
方法。
【請求項１９】
前記通信サーバにおいて、前記ユーザから、前記チャットユーザインタフェースを通じて前記第１のセッションへの入力を受信するステップと、
前記通信サーバによって、前記サードパーティコンテンツプロバイダに、前記第２のセッションへの前記ユーザ入力を示すデータを提供するステップと、
前記ユーザと前記サードパーティコンテンツプロバイダとの間の前記チャットセッションの状態情報を維持するステップとを含む、
請求項１８に記載の方法。
【請求項２０】
前記特定のウェブリソースにアクセスする前記要求が音声入力を備える、請求項１８に記載の方法。
【請求項２１】
通信システムによって、前記ユーザから、前記第１のセッションにおいて第２の音声入力を受信するステップと、
前記サードパーティコンテンツプロバイダに、前記第２のセッションにおいて前記第２の音声入力のテキスト表現を示すデータを提供するステップと、
前記通信システムによって、前記サードパーティコンテンツプロバイダから、前記通信システムと前記サードパーティコンテンツプロバイダとの間の前記第２のセッションにおいて前記サードパーティコンテンツプロバイダからのテキスト入力を受信するステップと、
前記通信システムによって、前記ユーザに、前記第１のセッションにおいて前記サードパーティコンテンツプロバイダからの前記テキスト入力の音声表現を示すデータを提供するステップとを含む、
請求項２０に記載の方法。
【請求項２２】
前記開始するステップが、
前記通信サーバによって、前記サードパーティコンテンツプロバイダから、前記チャットセッションの前記第１のセッションに対する第１の一意のセション識別子を受信するステップと、
前記通信サーバによって、前記サードパーティコンテンツプロバイダに、前記第２のセッションを促進するために前記第１の一意のセション識別子を提供するステップとを含む、請求項１８に記載の方法。
【請求項２３】
前記要求が、ｉ）検索要求に応じて提示され、ｉｉ）前記特定のウェブリソースにリンクするコンテンツ項目の選択に応じて提供される、請求項１８に記載の方法。
【請求項２４】
前記チャットユーザインタフェースが、ｉ）前記検索要求に応答する結果およびｉｉ）前記コンテンツ項目を表示するウェブページ上に提示される、請求項２３に記載の方法。
【請求項２５】
前記チャットユーザインタフェースがチャットウィジェットである、請求項１８に記載の方法。
【請求項２６】
前記検出するステップが、
通信システムによって、前記ウェブリソースにアクセスするステップと、
前記通信システムによって、前記ウェブリソース上のウィジェットを特定するステップと、
前記通信システムによって、前記ウェブリソース上の前記ウィジェットのためのコードにおいて、前記ウェブリソースが前記ウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すタグを特定するステップとを含む、請求項２５に記載の方法。
【請求項２７】
前記ライブアシスタンスが前記特定のサードパーティコンテンツプロバイダを代表する人間によって提供される、請求項１８に記載の方法。
【請求項２８】
前記特定のウェブリソースに対して開始される複数のチャットセッションの各々に対して、通信システムによって、前記特定のウェブリソースに前記ユーザを導いたコンテンツ項目の一意の識別子に基づいて、前記チャットセッションに対するコンテンツ項目メトリック値を判定するステップと、
前記通信システムによって、前記コンテンツ項目メトリック値を使用して、前記コンテンツ項目メトリック値の提示を生成するステップと、
前記通信システムによって前記サードパーティコンテンツプロバイダに、表示のために前記提示を提供するステップとを含む、
請求項１８に記載の方法。
【請求項２９】
前記検出するステップが、
通信システムによって、前記ウェブリソースにアクセスするステップと、
前記通信システムによって、前記ウェブリソースがアクセスされているウィンドウと別である新たなウィンドウが開いたと判定するステップと、
前記新たなウィンドウにおいて、前記ウェブリソースが前記ウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すテキスト語句を判定するステップとを含む、請求項１８に記載の方法。
【請求項３０】
前記ユーザが、ネットワーク接続されたデバイスを通じて前記チャットセッションにアクセスする、請求項１８に記載の方法。
【請求項３１】
前記ネットワーク接続されたデバイスがモバイルデバイスである、請求項３０に記載の方法。
【請求項３２】
前記ネットワーク接続されたデバイスがデスクトップデバイスである、請求項３０に記載の方法。
【請求項３３】
前記ネットワーク接続されたデバイスが画面を有しない、請求項３０に記載の方法。
【請求項３４】
ネットワークに通信可能に接続されるデバイスと、
前記ネットワークに通信可能に接続されるサードパーティコンテンツプロバイダサーバと、
通信サーバであって、
複数のウェブリソースの各々に対して、
それぞれのウェブリソースの特性を示すデータを受信することと、
前記受信したデータに基づいて、前記それぞれのウェブリソースが前記それぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出することと、
データベースに、前記それぞれのウェブリソースが前記機能性を有することを示すエントリを記憶することと、
ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信することと、
前記特定のウェブリソースを表す前記データベースの記憶したエントリに基づいて、前記特定のウェブリソースが前記特定のウェブリソース上の特定のチャットユーザインタフェースを通じて前記特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定することと、
前記通信サーバによって、前記ユーザと前記サードパーティコンテンツプロバイダとの間のチャットセッションを開始することとを含む動作を行う、通信サーバとを備え、
前記チャットセッションが、ｉ）前記通信サーバと前記ユーザとの間の第１のセッション、およびｉｉ）前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第２のセッションを備え、
前記通信サーバがさらに、
所定の期間の間前記チャットセッションのアクティビティがないと検出することと、
前記第１のセッションまたは前記第２のセッションの少なくとも１つが終了したと検出することと、
前記チャットセッションのコンテキストデータに基づいて、前記ユーザが前記チャットセッションを完了していないと判定することと、
前記データベースに、前記第１のセッションの全体を示すデータを記憶することと、
前記第２のセッションが終了したとの検出に応じて、前記チャットセッションの一部として前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第３のセッションを開始することと、
前記サードパーティコンテンツプロバイダに、前記ユーザが前記サードパーティコンテンツプロバイダとの前記チャットセッションを再開できるように前記第１のセッションの少なくとも一部分を示す前記データを提供することとを含む動作を行う、
システム。
【請求項３５】
少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
複数のウェブリソースの各々に対して、
通信サーバにおいて、それぞれのウェブリソースの特性を示すデータを受信することと、
前記通信サーバによって、前記受信したデータに基づいて、前記それぞれのウェブリソースが前記それぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出することと、
前記通信サーバによって、データベースに、前記それぞれのウェブリソースが前記機能性を有することを示すエントリを記憶することと、
前記通信サーバによって、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信することと、
前記通信サーバによって、前記特定のウェブリソースを表す前記データベースの記憶したエントリに基づいて、前記特定のウェブリソースが前記特定のウェブリソース上の特定のチャットユーザインタフェースを通じて前記特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定することと、
前記通信サーバによって、前記ユーザと前記サードパーティコンテンツプロバイダとの間のチャットセッションを開始することとを含む動作を行わせる、実行可能命令が符号化された少なくとも１つのコンピュータ可読記憶媒体であって、
前記チャットセッションが、ｉ）前記通信サーバと前記ユーザとの間の第１のセッション、およびｉｉ）前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第２のセッションを備え、
前記通信サーバがさらに、
所定の期間の間前記チャットセッションのアクティビティがないと検出することと、
前記第１のセッションまたは前記第２のセッションの少なくとも１つが終了したと検出することと、
前記チャットセッションのコンテキストデータに基づいて、前記ユーザが前記チャットセッションを完了していないと判定することと、
前記データベースに、前記第１のセッションの全体を示すデータを記憶することと、
前記第２のセッションが終了したとの検出に応じて、前記チャットセッションの一部として前記通信サーバと前記サードパーティコンテンツプロバイダとの間の第３のセッションを開始することと、
前記サードパーティコンテンツプロバイダに、前記ユーザが前記サードパーティコンテンツプロバイダとの前記チャットセッションを再開できるように前記第１のセッションの少なくとも一部分を示す前記データを提供することとを含む動作を行う、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本文書は、リソースまたはコンテンツへのアクセスを提供するコンテンツプロバイダとユーザが通信できるチャットインタフェースに関する。チャットインタフェースは、コンテンツプロバイダにわたって一貫していないことがあり、異なる仕方で実装および提示されることがある。更には、従来のチャットインタフェースがモバイルデバイス上で提示されるときに、機能性の一部または全体が損失することもある。加えて、チャットセッションが切断されると、頼みとするものがほとんどない。
【発明の概要】
【課題を解決するための手段】
【０００２】
概して、本明細書に記載される主題の１つの革新的な態様は、通信サーバによって、ユーザからコンテンツの検索要求を受信するステップと、検索要求に応じて通信サーバによって、表示ウェブページ上の複数の選択可能なコンテンツ項目の形態で検索結果を得るステップであって、各々の選択可能なコンテンツ項目が、検索要求に関連付けられたそれぞれのウェブリソースへのリンクを含む、ステップとを含む方法で具象化可能である。本方法は、複数のウェブリソースの特性に関するデータベースから得られる情報に基づいて通信サーバによって、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップと、上記特定のウェブリソースに対して、表示ウェブページ上にチャットインタフェースを自動的に提供するステップであって、チャットインタフェースが、表示ウェブページ上のそれぞれの選択可能なコンテンツ項目に隣接した表示のために通信サーバによって描画および／または制御される、ステップとを含む。表示ウェブページからのチャットインタフェースとのユーザ対話に応答して、通信サーバは、ユーザと特定のウェブリソースに関連付けられた特定のサードパーティコンテンツプロバイダとの間のチャットセッションを開始する。
【０００３】
これらおよび他の実施形態は各々、以下の特徴の１つまたは複数を任意選択で含むことができる。一部の実装例では、本方法は、複数のウェブリソースに関するデータベースエントリを有するデータベースにデータ設定する（ｐｏｐｕｌａｔｅ）ステップを含む。データベースにデータ設定するステップは、上記複数のウェブページの各々に対して、通信サーバにおいて、それぞれのウェブリソースの特性を示すデータを受信するステップと、通信サーバによって、受信したデータに基づいて、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップと、通信サーバによって、データベースに、それぞれのウェブリソースが同機能性を有することを示すエントリを記憶するステップとを含む。データベースにデータ設定するためのステップは、データベースにまだ含まれていないウェブページに対するデータを獲得するために定期的に行われる。
【０００４】
一部の実装例では、チャットセッションは、通信サーバとユーザとの間の第１のセッション、および通信サーバとサードパーティコンテンツプロバイダとの間の第２のセッションを含む。一部の実装例では、本方法は、通信システムによって、所定の期間の間チャットセッションのアクティビティがないと検出するステップと、通信システムによって、第１のセッションまたは第２のセッションの少なくとも１つが終了したと検出するステップと、通信システムによって、チャットセッションのコンテキストデータに基づいて、ユーザがチャットセッションを完了していないと判定するステップと、データベースに、第１のセッションの全体を示すデータを記憶するステップと、通信システムによって、第２のセッションが終了したとの検出に応じて、チャットセッションの一部として通信サーバとサードパーティコンテンツプロバイダとの間の第３のセッションを開始するステップと、通信システムによって、サードパーティコンテンツプロバイダに、ユーザがサードパーティコンテンツプロバイダとのチャットセッションを再開できるように第１のセッションの少なくとも一部分を示すデータを提供するステップとを含むことができる。
【０００５】
一部の実装例では、本方法は、通信サーバにおいて、ユーザから、チャットユーザインタフェースを通じて第１のセッションへの入力を受信するステップと、通信サーバによって、サードパーティコンテンツプロバイダに、第２のセッションへのユーザ入力を示すデータを提供するステップとを含む。一部の実装例では、特定のウェブリソースにアクセスする要求は音声入力を含む。一部の実装例では、本方法は、通信システムによって、ユーザから、第１のセッションにおいて第２の音声入力を受信するステップと、サードパーティコンテンツプロバイダに、第２のセッションにおいて第２の音声入力のテキスト表現を示すデータを提供するステップと、通信システムによって、サードパーティコンテンツプロバイダから、通信システムとサードパーティコンテンツプロバイダとの間の第２のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力を受信するステップと、通信システムによって、ユーザに、第１のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力の音声表現を示すデータを提供するステップとを含む。
【０００６】
一部の実装例では、チャットユーザインタフェースはチャットウィジェットである。一部の実装例では、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップは、通信システムによって、ウェブリソースにアクセスするステップと、通信システムによって、ウェブリソース上のウィジェットを特定するステップと、通信システムによって、ウェブリソース上のウィジェットのためのコードにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すタグを特定するステップとを含む。
【０００７】
一部の実装例では、ライブアシスタンスは、特定のサードパーティコンテンツプロバイダを代表する人間によって提供される。
【０００８】
一部の実装例では、本方法は、特定のウェブリソースに対して開始される複数のチャットセッションの各々に対して、通信システムによって、特定のウェブリソースにユーザを導いたコンテンツ項目の一意の識別子に基づいて、チャットセッションに対するコンテンツ項目メトリック値を判定するステップを含む。本方法は、通信システムによって、コンテンツ項目メトリック値を使用して、コンテンツ項目メトリック値の提示を生成するステップと、通信システムによってサードパーティコンテンツプロバイダに、表示のために同提示を提供するステップとを含む。
【０００９】
一部の実装例では、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップは、通信システムによって、ウェブリソースにアクセスするステップと、通信システムによって、ウェブリソースがアクセスされているウィンドウと別である新たなウィンドウが開いたと判定するステップと、新たなウィンドウにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すテキスト語句を判定するステップとを含む。
【００１０】
一部の実装例では、ユーザは、ネットワーク接続されたデバイスを通じてチャットセッションにアクセスする。ネットワーク接続されたデバイスはモバイルデバイスであることができる。ネットワーク接続されたデバイスはデスクトップデバイスであることができる。一部の実装例では、ネットワーク接続されたデバイスは画面を有しない。
【００１１】
一部の実装例では、ユーザと特定のサードパーティコンテンツプロバイダとの間のチャットセッションを開始するステップは、通信サーバによって、サードパーティコンテンツプロバイダから、チャットセッションの第１のセッションに対する第１の一意のセション識別子を受信するステップと、通信サーバによって、サードパーティコンテンツプロバイダに、第２のセッションを促進するために第１の一意のセション識別子を提供するステップとを含む。
【００１２】
本明細書に記載される主題の別の革新的な態様は、ネットワークに通信可能に接続されるデバイスと、ネットワークに通信可能に接続されるサードパーティコンテンツプロバイダサーバと、上記したような方法を実装するための動作を行う通信サーバとを含むシステムで具象化可能である。
【００１３】
本明細書に記載される主題の更に別の革新的な態様は、少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサに上記したような方法を実装するための動作を行わせる実行可能命令が符号化された少なくとも１つのコンピュータ可読記憶媒体で具象化可能である。
【００１４】
本明細書に記載される主題の別の革新的な態様は、複数のウェブリソースの各々に対して、通信サーバにおいて、それぞれのウェブリソースの特性を示すデータを受信するステップと、通信サーバによって、受信したデータに基づいて、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップと、通信サーバによって、データベースに、それぞれのウェブリソースが同機能性を有することを示すエントリを記憶するステップとを含む方法で具象化可能である。本方法は、通信サーバによって、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信するステップと、通信サーバによって、特定のウェブリソースを表すデータベースの記憶したエントリに基づいて、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定するステップと、通信サーバによって、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始するステップとを含む。
【００１５】
一部の実装例では、チャットセッションは、通信サーバとユーザとの間の第１のセッション、および通信サーバとサードパーティコンテンツプロバイダとの間の第２のセッションを含む。本方法は、通信サーバにおいて、ユーザから、チャットユーザインタフェースを通じて第１のセッションへの入力を受信するステップと、通信サーバによって、サードパーティコンテンツプロバイダに、第２のセッションへのユーザ入力を示すデータを提供するステップと、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションの状態情報を維持するステップとを含む。本方法は、通信システムによって、所定の期間の間アクティビティがないと検出するステップと、通信システムによって、第１のセッションまたは第２のセッションの少なくとも１つが終了したと検出するステップと、通信システムによって、チャットセッションのコンテキストデータに基づいて、ユーザがチャットセッションを完了していないと判定するステップと、データベースに、第１のセッションの全体を示すデータを記憶するステップと、通信システムによって、第２のセッションが終了したとの検出に応じて、チャットセッションの一部として通信サーバとサードパーティコンテンツプロバイダとの間の第３のセッションを開始するステップと、通信システムによって、サードパーティコンテンツプロバイダに、ユーザがサードパーティコンテンツプロバイダとのチャットセッションを再開できるように第１のセッションの少なくとも一部分を示すデータを提供するステップとを含むことができる。
【００１６】
一部の実装例では、特定のウェブリソースにアクセスする要求は音声入力を備える。本方法は、通信システムによって、ユーザから、第１のセッションにおいて第２の音声入力を受信するステップと、サードパーティコンテンツプロバイダに、第２のセッションにおいて第２の音声入力のテキスト表現を示すデータを提供するステップと、通信システムによって、サードパーティコンテンツプロバイダから、通信システムとサードパーティコンテンツプロバイダとの間の第２のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力を受信するステップと、通信システムによって、ユーザに、第１のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力の音声表現を示すデータを提供するステップとを含む。
【００１７】
一部の実装例では、通信サーバによって、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始するステップは、通信サーバによって、サードパーティコンテンツプロバイダから、チャットセッションの第１のセッションに対する第１の一意のセション識別子を受信するステップと、通信サーバによって、サードパーティコンテンツプロバイダに、第２のセッションを促進するために第１の一意のセション識別子を提供するステップとを含む。
【００１８】
一部の実装例では、同要求は、検索要求に応じて提示され、特定のウェブリソースにリンクするコンテンツ項目の選択に応じて提供される。チャットインタフェースは、検索要求に応答する結果、およびコンテンツ項目を表示するウェブページ上に提示可能である。
【００１９】
一部の実装例では、チャットユーザインタフェースはチャットウィジェットである。一部の実装例では、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップは、通信システムによって、ウェブリソースにアクセスするステップと、通信システムによって、ウェブリソース上のウィジェットを特定するステップと、通信システムによって、ウェブリソース上のウィジェットのためのコードにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すタグを特定するステップとを含む。
【００２０】
一部の実装例では、ライブアシスタンスは、特定のサードパーティコンテンツプロバイダを代表する人間によって提供される。一部の実装例では、本方法は、特定のウェブリソースに対して開始される複数のチャットセッションの各々に対して、通信システムによって、特定のウェブリソースにユーザを導いたコンテンツ項目の一意の識別子に基づいて、チャットセッションに対するコンテンツ項目メトリック値を判定するステップと、通信システムによって、コンテンツ項目メトリック値を使用して、コンテンツ項目メトリック値の提示を生成するステップと、通信システムによってサードパーティコンテンツプロバイダに、表示のために同提示を提供するステップとを含む。
【００２１】
一部の実装例では、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出するステップは、通信システムによって、ウェブリソースにアクセスするステップと、通信システムによって、ウェブリソースがアクセスされているウィンドウと別である新たなウィンドウが開いたと判定するステップと、新たなウィンドウにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すテキスト語句を判定するステップとを含む。
【００２２】
一部の実装例では、ユーザは、ネットワーク接続されたデバイスを通じてチャットセッションにアクセスする。ネットワーク接続されたデバイスはモバイルデバイスであることができる。ネットワーク接続されたデバイスはデスクトップデバイスであることができる。一部の実装例では、ネットワーク接続されたデバイスは画面を有しない。
【００２３】
本明細書に記載される主題の更に別の革新的な態様は、ネットワークに通信可能に接続されるデバイスと、ネットワークに通信可能に接続されるサードパーティコンテンツプロバイダサーバと、動作を行う通信サーバとを含むシステムで具象化可能である。同動作は、複数のウェブリソースの各々に対して、それぞれのウェブリソースの特性を示すデータを受信することと、受信したデータに基づいて、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出することと、データベースに、それぞれのウェブリソースが同機能性を有することを示すエントリを記憶することとを含む。同動作は、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信することと、特定のウェブリソースを表すデータベースの記憶したエントリに基づいて、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定することと、通信サーバによって、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始することとを含む。
【００２４】
本明細書に記載される主題の別の革新的な態様は、少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサに動作を行わせる実行可能命令が符号化された少なくとも１つのコンピュータ可読記憶媒体で具象化可能である。同動作は、複数のウェブリソースの各々に対して、それぞれのウェブリソースの特性を示すデータを受信することと、受信したデータに基づいて、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出することと、データベースに、それぞれのウェブリソースが同機能性を有することを示すエントリを記憶することとを含む。同動作は、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信することと、特定のウェブリソースを表すデータベースの記憶したエントリに基づいて、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定することと、通信サーバによって、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始することとを含む。
【００２５】
本明細書に記載される主題は、以下の利点の１つまたは複数を実現するように特定の実施形態で実装可能である。メッセージングセッションを開始および維持するための提案されるシステムは、チャットインタフェースの機能性を提供するリソースを特定して、それと対話するための効率的で最適化された技術を提供する。提案される技術は、一態様では、ユーザインタフェース端末またはリソースもしくはコンテンツプロバイダによって提供されるチャットインタフェース機能性上で、ユーザによって使用中のブラウザ機能、サービスプロバイダまたはオペレーティングシステムにかかわらず、シームレスで、信頼できかつスケーラブルなチャットインタフェースを可能にするために、制御または通信サーバ／ゲートウェイによって描画および管理されるチャットセッションを含むチャットインタフェースを実装する。本システムは、ユーザとコンテンツプロバイダとの間のチャットセッションを開始および維持するために使用されるコンピューティングリソースの数を削減する。本システムは、切断されたチャットセッションを再確立するためにユーザとゲートウェイとの間およびコンテンツプロバイダとゲートウェイとの間の別々のセッションを維持してセッションデータを記憶することによって、チャットインタフェースをよりロバストにする。加えて、ゲートウェイは、一時的な接続の損失の場合にセッションを開いておくことができ、したがってチャット接続の信頼性を改善する。チャットセッションを開いておくことができずかつ再確立されなければならなくても、ユーザは、間断なくかつ前に確立されたチャットセッションを通じて既に提供されている冗長データを入力しなければならないことなく、再確立されるチャットセッションを続けることができる。加えて、コンテンツプロバイダのページにユーザをリダイレクトすることなくチャットインタフェースを提供することによって、本システムは、ユーザがチャット機能性を探すことに関連したネットワークトラフィックを軽減する。ユーザが、各コンテンツプロバイダのページ内でメッセージング機能性を探すときに、またはコンテンツプロバイダから切断されたときに、フラストレーションを経験することなくコンテンツプロバイダと接続および通信することができるので、本システムは、コンピュータ関連技術、チャットインタフェースの機能を改善する。
【００２６】
更には、ゲートウェイシステムは、厳密な統合を必要とすることなく複数のコンテンツプロバイダにチャット機能性をスケーリングする能力を提供することによって、コンピュータ関連技術の機能を改善する。本システムは、コンテンツプロバイダがそれぞれのチャットインタフェースに一定の個別性および制御を維持するのを可能にする。画面の使用なくチャット会話を行う本システムの能力は、ハンズフリー通信を可能にして、ユーザの負担を軽減する。加えて、本システムは、統合アプリケーションで更なる作用を行うためにチャットを後処理することができる。例えば、チャット会話内の応答が「私達は午後５時に会う約束を予定した。」であれば、本システムは、自動的にカレンダーイベントがあると検出してカレンダーエントリを追加し、既存の競合についてユーザに尋ね、そして様々な他の関連タスクを行うことができる。チャット会話から生じる作用がログに記録可能および／または解析のために提供可能であり、その結果は将来のチャットインタフェース提示を左右するために使用可能である。ネットワーク接続が遅いユーザがもはやコンテンツプロバイダのウェブページを訪問してページが描画されるよう要求することを求められないので、ゲートウェイシステムは、ユーザ待ち時間を削減する。その代わりに、通信だけが伝送されて、ネットワークトラフィックおよびレイテンシを軽減する。
【図面の簡単な説明】
【００２７】
【図１】ユーザが様々なデバイスを通じてコンテンツプロバイダに連絡できる環境例のブロック図である。
【図２】ユーザにチャットインタフェースを提供するために図示されるユーザインタフェース例である。
【図３】ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始および維持するための工程例のフローチャートである。
【図４】コンピューティングシステム例のブロック図である。
【発明を実施するための形態】
【００２８】
様々な図面における同様の参照番号および記号は同様の要素を示す。
【００２９】
本文書は、ユーザとユーザが通信しているコンテンツプロバイダとの間にゲートウェイを設けることによって通信セッションの接続強度および品質を改善する方法、システムおよびデバイスを説明する。ゲートウェイは、ユーザの一方の通信インタフェースにおいて受信されるコンテンツ（例えばメッセージ）をコンテンツプロバイダの他方の通信インタフェースに中継し、そしてセッションデータを維持することなくユーザとコンテンツプロバイダとの間で直接１つのセッションを提供し、その結果ユーザかコンテンツプロバイダかの側での切断がチャットセッションを再確立する能力なくセッションを終了させてしまうよりもむしろ、ユーザとコンテンツプロバイダとの間の会話に関する関連データを保存することによってセッション情報を維持する。
【００３０】
一部の状況では、クライアントデバイス間の会話が中断または切断されることがあり、助力を得ようとするユーザおよび助力を与えようとするコンテンツプロバイダにとってのフラストレーションを引き起こす。例えば、インターネット接続問題を処理することに関するアシスタンスのためにインターネットプロバイダに電話している顧客が、自分が話していた担当者から切断されることがある。顧客はかけ直そうとすることができるが、異なる担当者と接続されれば顧客は再び状況を説明しなければならず、結果として顧客にとっての全体的に非効率かつ煩わしい経験となる。ここで、ゲートウェイは、ユーザおよびコンテンツプロバイダが切断より前に提供した情報および達成された進展を回復しようとして費やす時間量を削減するために、ユーザとコンテンツプロバイダとの間の会話に関する特定のデータを検出および記憶できる。これは、チャットインタフェースの故障（例えば、接続の損失または通信リンクの他の遮断）がある場合に、チャットインタフェースを使用して既に通信されたデータの損失を防止することによって、コンピュータ関連技術である電子チャットアプリケーション／機能性も改善する。
【００３１】
電子文書とは、クライアントデバイスにおいて一組のコンテンツを提示するデータである。電子文書の例としては、ウェブページ、ワードプロセッシング文書、ポータブルドキュメントフォーマット（ＰＤＦ）文書、画像、ビデオ、検索結果ページおよびフィードソースを含む。モバイル、タブレットまたはデスクトップコンピューティングデバイス上にインストールされるアプリケーションなどの、ネイティブアプリケーション（例えば、「アプリ」）も電子文書の例である。電子文書は、ユーザによる消費のために提示されるデジタルコンポーネントを含む。
【００３２】
本文書を通して使用されるように、用語「デジタルコンポーネント」はデジタルコンテンツまたはデジタル情報の個別の単位（例えば、ビデオクリップ、オーディオクリップ、マルチメディアクリップ、画像、テキストまたは別のコンテンツの単位）を指す。デジタルコンポーネントは、単一のファイルとしてまたは一群のファイルで物理メモリデバイスに電子的に記憶可能であり、そしてデジタルコンポーネントは、ビデオファイル、オーディオファイル、マルチメディアファイル、画像ファイルまたはテキストファイルの形態をとり、かつ広告情報を含むことができ、その結果広告は一種のデジタルコンポーネントである。一般に、デジタルコンポーネントは、単一のプロバイダまたはソース（例えば、広告主、出版社または他のコンテンツプロバイダ）によって定義される（または、によって提供される）が、複数のソースからのコンテンツの組合せであり得る。複数の異なるソースからのデジタルコンポーネントが単一の電子文書（例えば、一群の様々な異なるデジタルコンポーネント）へ組み合わせ可能であり、そして異なるソースからの様々なデジタルコンポーネントの部分が、検索結果（または他のコンテンツの部分）から抽出された情報の単一のデジタルコンポーネントへ組み合わせ可能である。
【００３３】
検索エンジンが、コンテンツプロバイダの様々なウェブページにリンクする結果にユーザを導くことができる。ユーザは、例えば、特定のコンテンツプロバイダに対する対応するウェブページに提供される電話番号に電話することによってコンテンツプロバイダに連絡できる。別の例では、ユーザは、特定のコンテンツプロバイダに対する対応するウェブページに列記される特定のアドレス宛でコンテンツプロバイダに電子メールまたは郵送することによってコンテンツプロバイダに連絡できる。
【００３４】
一部の例では、ユーザは、特定のコンテンツプロバイダのウェブページに提供されるユーザインタフェースを通じてコンテンツプロバイダに連絡できる。ユーザインタフェースは、例えば、ユーザが特定のコンテンツプロバイダの担当者と通信できるチャットインタフェースであることができる。多くのウェブページが、チャットインタフェースにユーザを導くインタフェース要素の異なる配置を含む異なるフォーマットを有する。例えば、ウェブページは、チャットインタフェースにユーザを導くボタンを含むことができる。
【００３５】
チャットインタフェースは一般に、ユーザが自分と通信している相手方に伝送されることになる入力を提供できるテキストボックスを含む。加えて、ユーザ入力を提出および編集するための他のユーザインタフェース要素が一般にチャットインタフェースに含まれることがあり；そのようなユーザインタフェース要素は、ユーザインタフェースメニューを進むことによってアクセスされなければならない小さな要素であり得る。例えば、通常使用されるインタフェース要素としては、メッセージを送信するもしくはキーボードを切り替えるための小さなボタン、またはピクチャもしくはビデオデータなどの、送信するべきコンテンツを選択するためのメニューを含む。
【００３６】
一部のウェブページは、チャットインタフェースに達するためにウェブサイトツリーを進むことをユーザに求めることがある。例えば、ユーザがコンテンツプロバイダに連絡できるチャットインタフェースにユーザを導くユーザインタフェース要素が、コンテンツプロバイダのウェブサイトのメインページ以外のページに表示されることがある。ユーザインタフェース要素は、不明瞭な位置に設けられ、またはユーザがチャットインタフェースにアクセスするためにユーザインタフェース要素を選択するのに手間取るような大きさであり得る。
【００３７】
モバイルデバイス上の画面領域が一般にデスクトップクライアントデバイス上の画面領域より小さいので、チャットインタフェースは、モバイルデバイス上で使用するのが困難であり得る。例えば、スマートフォン上の画面領域は一般に、モニタ付きのデスクトップコンピュータ上の画面領域より小さい。デスクトップクライアントデバイス上で小さいユーザインタフェース要素は、モバイルデバイス上では何倍も小さくかつ選択するのがより困難であり得る。
【００３８】
一部の例では、ウェブページは、新たなウィンドウを開くチャットインタフェースへのリンクを提供できる。小さな画面付きのモバイルデバイス上で見ると、チャットインタフェースと対話することは困難であり得る。ユーザは、チャットインタフェースと対話するためにチャットインタフェースを操作することがほとんどできないかもしれず、ユーザにとってのフラストレーションを引き起こし、かつ多くのコンテンツプロバイダにとってチャットインタフェースを提供することの価値を低下させる。
【００３９】
ユーザとコンテンツプロバイダ担当者との間でチャットセッションが開始されると、チャットセッションの切断は一般に、切断が発生したときのユーザとコンテンツプロバイダ担当者との間の会話の同じ箇所に達するために、ユーザが自分がコンテンツプロバイダに既に提供したあらゆる情報を提供しなければならないことを意味する。例えば、チャットセッションのためのチャットインタフェースを通じて、特定の種類のアマチュア無線に対するサポートを探しているユーザは、自分が使用しているアマチュア無線の製造業者の担当者に、自分の登録番号、自分の所望の放送周波数および自分が抱えている問題の記述を提供できる。製造業者の担当者とのユーザのチャットセッションが切断されれば、ユーザは一般に、製造業者のウェブページに進み、製造業者のチャットインタフェースに自分を導くユーザインタフェース要素を見つけ、そして一旦新たなチャットセッションが確立されると、製造業者の別の担当者に自分が既に提示した情報（すなわち、自分の登録番号、自分の所望の放送周波数および自分が抱えている問題の記述）の全てを再び提供しなければならない。
【００４０】
本文書は、ユーザとコンテンツプロバイダとの間のチャットセッションを行って復元するために使用されるコンピュータリソースの量を削減する方法、システムおよびデバイスを説明する。一部の状況では、コンテンツプロバイダのウェブサイトは、チャットインタフェースにユーザを導き、そしてユーザとコンテンツプロバイダの担当者との間のチャットセッションを開始するユーザインタフェース要素を含む。例えば、トラクタ会社のウェブサイトが、トラクタ会社のライブ担当者にユーザを接続するためのボタンを含むことができる。ボタンは、ナビゲーションメニュー項目として、顕著にはトラクタ会社のウェブサイトのサポートまたは連絡先ページ上の主要な特徴として、またはトラクタ会社のウェブサイトを訪問している間のユーザの行動に基づいて現れる作用提案としてを含め、様々な仕方で表示可能である。
【００４１】
システムが、トラクタ会社などのコンテンツプロバイダが担当者とチャットするオプションを提供すると特定し、そしてコンテンツプロバイダのウェブサイトがチャットインタフェースを使用するオプションを提供することを示すデータを記憶する。ライブチャットセッションまたは回答のライブラリがメッセージング機械学習モデルを使用して構築された自動化チャットセッションなど、チャットセッションの機能性を提供するとしてウェブサイトが一旦特定されると、システムは、ウェブページがチャット機能性を提供することを示すことができる。例えば、システムは、ウェブサイトが現れる検索結果において、ウェブサイトがチャットセッションの機能性を提供することを示すことができる。
【００４２】
メッセージング機械学習モデルは、入力としてユーザからのおよびコンテンツプロバイダからの応答データを受けるモデルでよい。メッセージング機械学習モデルは、決定木、線形回帰モデル、ロジスティック回帰モデル、ニューラルネットワーク、分類器、サポートベクトルマシン、帰納的論理プログラミング、モデルの集合（例えば、バギング、ブースティング、ランダムフォレスト等などの技術を使用する）、遺伝的アルゴリズム、ベイジアンネットワーク等など、各種のモデルのいずれかを使用してよく、そして深層学習、パーセプトロン、結合規則、帰納論理学、クラスタリング、最大エントロピー分類、学習分類等など、各種の手法を使用して訓練可能である。一部の例では、メッセージング機械学習モデルは教師あり学習を使用してよい。他の例では、メッセージング機械学習モデルは教師なし学習を使用する。
【００４３】
ウェブページは、ユーザがコンテンツプロバイダとのチャットセッションを開始できるユーザインタフェース要素を提供できる。一旦ユーザがユーザインタフェース要素をコンテンツプロバイダとのチャットセッションを開始するように選択すると、システムは、チャットセッションを開始および促進するときに、使用するチャットセッションの特性を識別する。例えば、システムは、ユーザがチャットインタフェースに入力を提供するクライアントデバイスに対するデバイス識別子、クライアントデバイスとコンテンツプロバイダの特定の担当者との間の特定のセッションに対するセション識別子、およびコンテンツプロバイダの特定の担当者がチャットインタフェースにデータを入力するデバイスに対するデバイス識別子を記憶できる。
【００４４】
システムは、ユーザとコンテンツプロバイダとの間のチャットセッションのためのゲートウェイとして作用できる。システムは、ユーザとの第１のチャットセッションおよびコンテンツプロバイダとの第２の別のチャットセッションを行い、そして第１のチャットセッションおよび第２のチャットセッションにおいて提供される入力を示すデータを使用してユーザとコンテンツプロバイダとの間でメッセージを中継する。
【００４５】
本文書を通してテキストチャットインタフェースが論じられることになるが、本明細書で論じられる技術は、携帯情報端末などのコンピューティングデバイスを使用して開始される音声チャットセッションに適用可能である。例えば、携帯情報端末は、携帯情報端末のマイクロホンを通してユーザからオーディオ入力（例えば、口頭のクエリまたはコマンド）を受信し、そして携帯情報端末のスピーカによって出力されるオーディオを使用して、ユーザに検索結果および／または他の情報を提供してよい。携帯情報端末がディスプレイを含む、またはディスプレイもしくはディスプレイ上に情報を提示する別のデバイスに接続される（例えば、無線でもしくは有線で）コンピューティングデバイスで実装されれば、携帯情報端末は、検索結果および／またはオーディオ入力に関連する他の情報の１つまたは複数などの視覚情報も提示できる。携帯情報端末（ＰＤＡ）が複数の異なる物理デバイス（例えば、移動電話、タブレット、オーディオ／ビデオストリーミングデバイス、テーブルトップＰＤＡユニットおよび／または他のデバイス）にわたって実装可能であること、ならびに入力がデバイスの１つ（例えば、テーブルトップＰＤＡユニット）によって受信可能であり、そしてオーディオおよび／またはビジュアル出力がデバイスの異なる１つ（例えば、移動電話）によって提示可能であることに留意されたい。同様に、クエリまたはコマンドに応じて提供されている情報の一部がデバイスの１つによって出力されてよい（例えば、テーブルトップＰＤＡユニットによって出力される音声情報）一方で、情報の異なる部分（例えば、視覚情報）はデバイスの異なる１つ（例えば、移動電話またはオーディオ／ビデオストリーミングデバイスを含むディスプレイ）によって提示可能である。
【００４６】
オーディオ出力および／または視覚情報の一部として、ＰＤＡはユーザがチャットセッションを開始するオプションを提示できる。例えば、ＰＤＡは、ユーザにより多くの情報を提供できるエージェントに接続する、またはそれとチャットすることを望むかどうかをユーザに聞こえるように尋ねてよく、そしてユーザは、エージェントに接続する自分の要望を肯定して音声で応答できる（例えば、語「はい」または語「エージェントと接続して」と話すことによって）。ユーザがエージェントに接続する自分の要望を肯定することに応じて、ＰＤＡは、テキストチャットセッションを開始（例えば、モバイルデバイスを使用して）ならびに／またはエージェントに電話呼び出しを開始できる（例えば、インターネットプロトコル電話を経由して音声電話をかけるように構成される、例えば、モバイルデバイスおよび／もしくはテーブルトップＰＤＡユニットを使用して）。ユーザがエージェントに接続されると、本文書を通して論じられる技術は、チャットセッション（例えば、テキストまたは音声）の状態を維持するために使用可能であり、それによって、たとえチャットセッションが中断されても、チャットセッションがシームレスに続けられることを可能にする。音声チャットセッションの場合、音声対話をテキストへ変換するために音声認識技術が使用可能であり、その結果本明細書で論じられる技術は、それらの状況でも使用可能である。
【００４７】
図１は、ユーザがコンテンツプロバイダと通信できる環境例１００のブロック図である。環境例１００は、モバイルデバイス１０２、クライアントデバイス１０４、画面のないアシスタントデバイス１０６（例えば、テーブルトップＰＤＡユニット）、ゲートウェイ１１０、ウェブページ例１２０およびコンテンツプロバイダシステム１３０を含む。デバイス１０２、１０４および１０６は、ゲートウェイ１１０に、およびローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットまたはその組合せなどのネットワークを通じてコンテンツプロバイダシステム１３０に接続される。
【００４８】
モバイルデバイス１０２、クライアントデバイス１０４および画面のないアシスタントデバイス１０６は、各々ネットワークを通じてリソースを要求して受けることが可能である電子デバイスである。モバイルデバイス例１０２としては、携帯電話、スマートフォン、タブレット、およびユーザがネットワークを通じてコンテンツプロバイダに接続できる他の携帯型モバイルデバイスを含む。クライアントデバイス例１０４としては、パーソナルコンピュータ、モバイルワークステーションおよびラップトップコンピュータを含む。デバイス１０２、１０４および１０６は、ネットワークを通じたデータの送受信を促進するために、ウェブブラウザなどのユーザアプリケーションを典型的に含むが、クライアントデバイス１０４によって実行されるネイティブアプリケーションもネットワークを通じたデータの送受信を促進できる。
【００４９】
デバイス１０２、１０４または１０６は、ネットワークを通じて、検索エンジンなどの検索システムに検索クエリを提出できる。応答して、検索システムは、検索クエリに関連している電子文書を特定するために検索インデックスにアクセスする。検索システムは、検索結果の形態で電子文書を特定し、そして検索結果ページでデバイス１０２、１０４または１０６に検索結果を返す。
【００５０】
検索結果は、特定の検索クエリに応答（例えば、関連）している電子文書を特定する検索システムによって生成されるデータであり、かつクライアントデバイスに検索結果とのユーザ対話に応じて指定されたネットワーク位置（例えば、ＵＲＬ）からデータを要求させるアクティブリンク（例えば、ハイパーテキストリンク）を含む。検索結果例としては、ウェブページタイトル、ウェブページから抽出されたテキストのスニペットまたは画像の一部分、およびウェブページのＵＲＬを含むことができる。別の検索結果例としては、ダウンロード可能なアプリケーションのタイトル、ダウンロード可能なアプリケーションを説明するテキストのスニペット、ダウンロード可能なアプリケーションのユーザインタフェースを描く画像、および／またはアプリケーションがデバイス１０２、１０４もしくは１０６にダウンロード可能である位置へのＵＲＬを含むことができる。
【００５１】
一部の状況では、検索システムは、提出された検索クエリに関連しているダウンロード可能なアプリケーションについての情報を提示するために、アプリケーションがクライアントデバイスにおけるインストールのためにダウンロード可能であるアプリケーションストア（またはオンラインポータル）の一部であることができる、またはそれと対話できる。他の電子文書の様に、検索結果ページは、デジタルコンポーネント（例えば、ビデオクリップ、オーディオクリップ、画像、または広告としてフォーマット可能である他のデジタルコンポーネント）が提示可能である１つまたは複数のデジタルコンポーネントスロットを含むことができる。
【００５２】
ゲートウェイ１１０は、チャットセッションを促進し、そしてバックエンドおよびフロントエンドを含む。ゲートウェイ１１０のバックエンドは、チャットセッションのためのインフラストラクチャを提供し、そしてコンテンツプロバイダおよびユーザと別々に通信する。例えば、バックエンドは、クライアントデバイスを通じてユーザによって入力されたデータを使用してコンテンツプロバイダとのチャットセッションを行う他に、コンテンツプロバイダの担当者によって入力されたデータを使用してユーザとのチャットセッションを行うことができる。バックエンドインタフェースは、特定のスクリプトアプリケーションプログラミングインタフェース（ＡＰＩ）、特定のアンドロイドアプリケーションパッケージ（．ａｐｋ）または様々な他の適切なパッケージなど、ユーザまたはコンテンツプロバイダが同意する共通フォーマットまたはパッケージであることができる。
【００５３】
ゲートウェイ１１０のフロントエンドは、ユーザおよびコンテンツプロバイダの一方が他方に伝送および提示されることになる入力を提供できるインタフェースであることができる。例えば、フロントエンドは、ユーザおよびコンテンツプロバイダに別々に提示されるチャットインタフェースであることができる。フロントエンドは、ユーザに合わせておよびコンテンツプロバイダに合わせてカスタマイズ可能であり、かつデフォルトプロフィール設定を有することができるかユーザまたはコンテンツプロバイダによって調節可能かである。例えば、ユーザに対するフロントエンドはより大きなテキストボックスおよび太字体を含むことができる一方で、コンテンツプロバイダに対するフロントエンドは、ユーザのデバイスのリモートアクセスおよび制御などの追加機能を含むことができる。
【００５４】
ゲートウェイ１１０は、メッセージング機能性を提供する各ウェブページを特定し、そしてウェブページが同機能性を提供することを示すデータを記憶する。メッセージング機能性を提供するウェブページの特定は一般に、検索要求の実行時によりもむしろウェブページが検索結果として提示される前に行われる。
【００５５】
メッセージング機能性を提供するウェブページは一般に、チャットセッションを開始するボタンなど、ユーザがメッセージングセッションを開始できるユーザインタフェース要素を含む。例えば、ウェブページ１２０は、ユーザがコンテンツプロバイダとのチャットセッションを開始するように選択できるボタン１２２を含むのを図示される。ウェブページ１２０は、主要なテキスト語句など、メッセージング機能性が提供またはサポートされているという様々な他の表示も含むことができる。例えば、ウェブページ１２０は、「今誰かとチャットする」と読めるテキストを含む。
【００５６】
ゲートウェイ１１０は、ユーザが特定のユーザインタフェース要素を選択すると新たなウィンドウを開かせるコードスニペットなど、ウェブページ１２０の或るスクリプト特徴を検出することによっても、ウェブページ１２０がメッセージングまたはチャット機能性を提供すると特定できる。ウェブページ１２０がチャット機能性を提供するかどうかを判定するために使用されてよいウェブページ１２０の別の特徴は、ウェブページ１２０が、異なるウェブサイトまたはプロバイダにリンクする、ウェブページ１２０に表示されるウィジェットを含むかどうかである。例えば、ウェブページ１２０は、それが公知のチャットサービスプロバイダと通信するウィジェットを提供していれば、おそらくチャット機能性を提供している。ウィジェットは、特定のクライアントデバイス、特定の事例、等に対する識別子など、他の通信情報に加えて特定のセッションに対する識別子を含むことができる。
【００５７】
メッセージングサービスを提供すると知られている或るドメインへのリンクなどの特徴も、ウェブページ１２０がおそらくメッセージング機能性を提供していることを示す。例えば、ウェブページが公知の自動化チャットサービスにリンクしていれば、ゲートウェイ１１０は、ウェブページ１２０をメッセージング機能性をサポートするとして標記できる。
【００５８】
ゲートウェイ１１０が初期検索要求を受信すると、ゲートウェイ１１０は、提示される検索結果がメッセージング機能性を提供するかどうかを判定するために記憶データにアクセスする。特定のウェブページがメッセージング機能性を提供していれば、ゲートウェイ１１０は、提供されるメッセージング機能性の種類を示し、かつ選択されると、検索結果ウェブページにユーザを導くことなくメッセージングセッションを開始する、検索結果と共に提示されることになるユーザインタフェース要素を生成する。
【００５９】
コンテンツプロバイダシステム１３０は、特定のコンテンツプロバイダと関連付けられ、そして検索クエリに応じてリソースを提供するネットワーク宛先であることができる。例えば、コンテンツプロバイダシステム１３０は、ユーザが特定のクエリに対して検索するときにダウンロードできる、ファイルなどのリソースをホストできる。コンテンツプロバイダシステム１３０は、コンテンツプロバイダの担当者がユーザと対話できるユーザインタフェースを含む。一部の例では、ユーザインタフェースはチャットインタフェースであり、それを通じて担当者はユーザとリアルタイムに通信できる。
【００６０】
ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間のチャットセッションを開始および維持するために使用されるコンピューティングリソースの数を削減する。加えて、ユーザがコンテンツプロバイダのウェブページに進む必要性を低減することによって、ゲートウェイ１１０は、ユーザがチャット機能性を探すことに、およびコンテンツプロバイダのウェブページに関するデータを伝送しなければならないことに関連したネットワークトラフィックを軽減する。
【００６１】
図２は、ユーザとコンテンツプロバイダとの間のチャットセッションのためのユーザインタフェース例２００である。チャットセッションは、システム１００など、ネットワークによって通信可能に接続される少なくとも２つのデバイスを含むシステムによって行われ得る。チャットセッションは、ゲートウェイ１１０などの通信ゲートウェイによって開始、促進および維持可能である。
【００６２】
検索クエリ２０２は、ユーザが関連結果を見ることに関心があるクエリを示す、検索エンジンなどの検索システムにユーザによって入力されたデータである。検索エンジンは、検索結果ページに結果２１０、２２０、２３０および２４０を提供できる。結果２１０、２２０、２３０および２４０の各々は、検索クエリ２０２に関連しており、一部の実装例では、検索クエリ２０２への関連性に基づいてランク付け可能である。
【００６３】
結果２１０、２２０、２３０および２４０は各々、関連コンテンツプロバイダとのチャットインタフェースにユーザを導くそれぞれのユーザインタフェース要素２１２、２２２、２３２および２４２を含む。ユーザインタフェース要素２１２、２２２、２３２および２４２は、各要素が提示される関連コンテンツプロバイダのウェブページに合わせてカスタマイズ可能である。カスタマイズは、フォント、テキストサイズまたは色など、特定の関連ウェブページの様々な属性に基づくことができる。例えば、ユーザインタフェース要素２１２、２２２、２３２および２４２は各々、それぞれの検索結果ウェブページ２１０、２２０、２３０および２４０に関連付けられたテーマを有する。
【００６４】
ユーザがユーザインタフェース要素２１２、２２２、２３２または２４２の１つを選択すると、ゲートウェイ１１０は、ユーザと対応する検索結果ウェブページ２１０、２２０、２３０または２４０を提供するコンテンツプロバイダとの間のチャットセッションを開始する。図２に図示される例では、ユーザは、検索結果ウェブページ２１０に関連付けられたユーザインタフェース要素２１２を選択する。チャットセッションはこのように描画され、したがってゲートウェイによって管理される。これは、ゲートウェイまたはゲートウェイに関連付けられたサーバが、ユーザおよび／またはコンテンツプロバイダによって現在使用中である特定のブラウザ、オペレーティングシステムおよび任意の他のユーザデバイスもしくはシステムにかかわらず、シームレスな方式でチャットセッションに関連付けられたスケーラビリティ、セキュリティ、信頼性およびストレージを保証するために、制御および任意の必要とされるプロトコルおよびデータ構造を実装することを可能にする。
【００６５】
一旦ユーザがユーザインタフェース要素２１２を選択すると、ゲートウェイ１１０は、検索結果ウェブページ２１０を提供するコンテンツプロバイダとのチャットセッションを開始する。ゲートウェイ１１０は、ウェブページ１２０および要素２１２を選択したユーザを識別し、そしてウェブページ１２０およびユーザの識別子を示すデータを記憶する。ゲートウェイ１１０は、セッションの長さ、ユーザとのチャットセッションに対する第１のセション識別子、コンテンツプロバイダとのチャットセッションに対する第２の別のセション識別子など、チャットセッションの様々な他の属性も記憶できる。
【００６６】
ゲートウェイ１１０が多くの異なるユーザとコンテンツプロバイダとの間の多くの異なる会話を管理するときにユーザとコンテンツプロバイダとの間のセッションを維持するために、ゲートウェイ１１０は、ユーザとの１つのセッションからコンテンツプロバイダとの別のセッションに応答を導く。ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間でメッセージを適切に転送するために、セション識別子を示す記憶データを使用する。
【００６７】
ゲートウェイ１１０は、様々なフォーマットの入力を受信し、入力をフォーマットし、そしてユーザとコンテンツプロバイダとの間のチャットセッションに入力を提供できる。例えば、ユーザは、コンテンツプロバイダとのチャットを開始するために特定の電話番号にテキストメッセージを送信できる。特定の電話番号はコンテンツプロバイダと関連付け可能であり、そして特定の電話番号でのテキストメッセージの受信は、コンテンツプロバイダとのチャットセッションの開始を引き起こすことができる。例えば、特定の電話番号でのテキストメッセージの受信は、システムをゲートウェイ１１０と交信し、そしてチャットセッションへの入力としてユーザ入力を提供するように起動できる。ユーザがコンテンツプロバイダから応答を受信すると、ゲートウェイ１１０は、ユーザにテキストメッセージとして応答を提供できる。ユーザはまた、テキストメッセージ、または電子メール、または様々な他の適切な通信方法を通じてコンテンツプロバイダに応答を提供できる。
【００６８】
ゲートウェイ１１０は、様々なフォーマットのユーザかコンテンツプロバイダかからの入力を処理できる。例えば、ユーザがモバイルデバイス１０２を使用してゲートウェイ１１０と対話し、そしてユーザインタフェース要素２１２をコンテンツプロバイダとの電子メール会話を開始するように選択すれば、コンテンツプロバイダとのチャットセッションが開始可能であり、そしてユーザ入力および応答は電子メールクライアントインタフェース内で提示可能である。
【００６９】
一部の実装例では、従来の会話があれば、ゲートウェイ１１０は、ユーザが入力を提供できる電話番号などの特定の識別子を提供できる。例えば、ユーザがコンテンツプロバイダに既に接続されている場合、ユーザ入力が、テキストメッセージアプリケーションまたは電子メールクライアントなどの異なるアプリケーションに提供されば、ゲートウェイ１１０は、コンテンツプロバイダに応じてユーザ入力を検出できる。ユーザの入力は次いで、会話に提供されることになる入力に変換可能である。
【００７０】
セッションが確立されるとき、ウェブページ２１０にユーザを導くことなくチャットインタフェースが提示可能であり、それによってネットワーク呼び出しの数および／またはチャットセッションを確立するために転送されるデータを削減する。例えば、チャットインタフェースは、検索結果ページ２０４に提示可能である。上記したように、チャットインタフェースは、ユーザがデータを入力できるユーザインタフェース要素を含むことができる。例えば、チャットインタフェースは、ユーザがコンテンツプロバイダに提供されることになる応答または質問を入力できるテキストボックス、およびユーザが入力を提出できるボタンを含むことができる。ファイル添付、画面共有等など、チャットインタフェース内に追加のインタフェース要素が設けられ得る。
【００７１】
チャットインタフェースは、ヘッドレスレンダリングなどの様々なレンダリング方法を使用して検索結果ページ２０４内に描画可能である。チャットインタフェースは、ユーザまたはコンテンツプロバイダからの入力を受信し、そして伝送のためにゲートウェイ１１０に入力を提供する。
【００７２】
セッションが確立されると、コンテンツプロバイダと交信するチャットインタフェース方法に対して、クリックスルー率、コンバージョン率、平均トラフィック、アクセスの時間等などの特定のメトリックが計算可能である。例えば、チャット機能性ユーザインタフェース要素に関連付けられたクリックスルー率が計算可能である。一部の実装例では、コンテンツプロバイダは、計算されたメトリックを使用して生成される報告にアクセスできる。例えば、コンテンツプロバイダは、チャットインタフェース方法の性能に関する報告、および報告されたメトリックに基づいてチャットインタフェースのためのキャンペーン予算を調整することを検討できる。
【００７３】
ゲートウェイ１１０が画面のないアシスタントデバイス１０６と共に使用されると、画面のないアシスタントデバイス１０６は、モバイルデバイス１０２および固定クライアントデバイス１０４と同じチャットセッションのためのインフラストラクチャを使用してユーザとコンテンツプロバイダとの間の会話を促進できる。しかしながら、画面のないアシスタントデバイス１０６が画面を含まないので、データを受信および出力する方法は追加のステップを含む。画面のないアシスタントデバイス１０６は、音声入力またはタッチ入力などの様々な種類の適切な入力を受信できる。例えば、画面のないアシスタントデバイス１０６は、画面のないアシスタントデバイス１０６のマイクロホンを通して口頭のコマンドを受信できる。口頭のコマンドは処理可能であり、そして音声入力を表すテキストデータが抽出可能である。一部の実装例では、画面のないアシスタントデバイス１０６が音声入力を処理する一方で、他の実装例では、ゲートウェイ１１０またはリモートシステムが音声入力を処理する。
【００７４】
ゲートウェイ１１０は次いで、コンテンツプロバイダとのセッションへの入力としてテキストデータを使用できる。ゲートウェイ１１０がコンテンツプロバイダから応答を受信すると、応答は、画面のないアシスタントデバイス１０６への入力が提供されたのと同じフォーマットで出力されるように処理可能である。例えば、画面のないアシスタントデバイス１０６が音声入力を受信した場合、画面のないアシスタントデバイス１０６は、音声データを含む出力用のデータを受信できる。
【００７５】
システム１００の例証的な使用法では、ユーザは、「ＡＢＣ社のカスタマーサービスと話したい」と言うことによってモバイルデバイス１０２に音声入力を提供できる。モバイルデバイス１０２は次いで、ユーザがメッセージングセッションを開始するのを可能にするユーザインタフェース要素と一緒にメッセージング機能性を提供するとして特定されるウェブページを含んでよい検索結果を表示できる。
【００７６】
ユーザは、異なるデバイス上でコンテンツプロバイダとの会話を続けることができる。例えば、ユーザがモバイルデバイス１０２上でコンテンツプロバイダとのメッセージングセッションを開始した場合、ユーザは、画面のないアシスタントデバイス１０６上でコンテンツプロバイダとの会話を続けることができる。ゲートウェイ１１０は、ユーザが入力を提供しているまたはメッセージングセッションにアクセスしているデバイスを検出し、そしてテキスト、音声、ピクチャ等などの適切な出力方法を選択できる。
【００７７】
ユーザとのおよびコンテンツプロバイダとの別々のセッションを使用してチャットセッションを維持することによって、ゲートウェイ１１０は、ユーザかコンテンツプロバイダかによって既に提供された情報を再入力および提供するために必要とされるコンピューティングリソースの量を削減する。例えば、ユーザは、間断なく、かつ既に確立されたチャットセッションを通じて既に入力されている冗長データを入力しなければならないことなく、チャットセッションを続けることができる。加えて、ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間のセッションを別々に維持することによってチャットセッションのロバスト性を改善し、その結果いずれのセッションの一時的な切断でもチャットセッションを終了させない。
【００７８】
一部の例では、ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間の会話が行われるにつれて会話からのデータを記憶することによって会話を保存する。ユーザおよびコンテンツプロバイダが切断されれば、ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間の会話を再確立するために、ユーザおよびコンテンツプロバイダが切断された箇所までの会話に対する記憶データの少なくとも一部を使用する。
【００７９】
チャットセッションが再確立されると、ゲートウェイ１１０は、ユーザとの既に行われた会話の箇所までコンテンツプロバイダに追いつくために、ユーザからの更なる入力なくコンテンツプロバイダとの会話を行う（またはコンテンツプロバイダに前のチャットセッションを提供する）ことができる。例えば、ゲートウェイ１１０は、ユーザが接続されるコンテンツプロバイダの次の担当者がユーザの状況を通知され、そのためユーザが既に提供された情報を繰り返すことなく担当者との自分の会話を続けることができるように、ユーザのデバイス情報および問題記述を示す記憶データを自動的に提供できる。ゲートウェイ１１０は、ユーザの既に提供された回答を使用して訓練された機械学習モデルを使用してコンテンツプロバイダの応答に対する回答を自律的に決定できる。機械学習モデルは、コンテンツプロバイダの応答を入力として受け、そして様々な適切な応答を出力できる。
【００８０】
一部の例では、ゲートウェイ１１０は、従来のメッセージングサービスプロバイダと統合され、そしてユーザが会話を離れたときなどの特定の箇所からユーザが会話を再び続けるのを可能にする特定のセッションデータを記憶することによってサーバ側統合を行う。例えば、一旦ゲートウェイ１１０が新たなメッセージングセッションを確立すると、ゲートウェイ１１０は、異なるコンテンツプロバイダ担当者に記憶データを提供できる。
【００８１】
一部の実装例では、ゲートウェイ１１０は、前の会話の箇所まで新たな担当者を更新することができない。例えば、特定の情報に対する新たな担当者の応答が前の担当者の応答と異なることがあり、そしてゲートウェイ１１０は、ユーザが前に担当者に提供することができた情報の全てをゲートウェイ１１０が提供できる方向に会話を進めることができないかもしれない。ゲートウェイ１１０がユーザが既に提供した情報の全てを提供することができないとき、ゲートウェイ１１０は、ユーザなしで行われる会話に対するコンテキストをユーザに提供できる。
【００８２】
ゲートウェイ１１０は、セッションデータまたはユーザ入力を記憶することによって、クライアント側統合も行うことができる。ゲートウェイ１１０は、会話が追いつかれたまたはゲートウェイ１１０ができる限りの更新されたときにユーザに記憶データを提供でき、その結果ユーザはコンテンツプロバイダ担当者の状況の理解に対するコンテキストを有する。
【００８３】
ゲートウェイ１１０は、ユーザが無活動であるまたは手が空いていないときを検出できる。例えば、ユーザが会議に出かけるまたはコンテンツプロバイダ担当者に通知することなく自分のデバイスをから離れれば、ゲートウェイ１１０は同事例を無活動と標記できる。ゲートウェイ１１０は、現在の会話の様々な特性に基づいて、ユーザが無活動であるかどうかを判定できる。そのような特性は、コンテンツプロバイダの最後の応答とユーザの最後の応答との間で経過する閾値期間、ユーザによって入力される或る語句、コンテンツプロバイダによって入力される或る語句、またはゲートウェイ１１０がアクセスするユーザに関連付けられた様々なイベントデータを含む。例えば、ユーザの会話中に会議がスケジュールされていれば、ゲートウェイ１１０は、ユーザが閾値時間量内に応答しない場合、ユーザが会議中であると判定できる。
【００８４】
会話が無活動と標記されると、ゲートウェイ１１０は、コンテンツプロバイダにユーザが不在であると通知できる。例えば、ユーザが無活動であると検出されれば、ゲートウェイ１１０は、コンテンツプロバイダ担当者に数分の間待って接続したままでいるよう依頼する応答を、ユーザに代わってコンテンツプロバイダ担当者に提供できる。
【００８５】
一部の例では、ゲートウェイ１１０は、事例を無活動の代わりに解決済と標記できる。例えば、ユーザが閾値時間量の間応答しないが、ユーザによって提供される応答において、ユーザが「すばらしい、これで十分、ありがとう」と応答するなど、コンテンツプロバイダがユーザの問題を解決したというしるしがあれば、ゲートウェイ１１０は同会話を解決済と標記できる。ゲートウェイ１１０またはユーザがコンテンツプロバイダと通信しているデバイス１０２、１０４もしくは１０６は、ユーザまたはコンテンツプロバイダからの入力に、問題が解決されたかどうかを明らかにするよう要求することもできる。例えば、画面のないアシスタントデバイス１０６は、ユーザとコンテンツプロバイダとの間の会話と別に、問題が解決されたかどうかを尋ねる音声出力をユーザに提供できる。ユーザが肯定応答を提供すれば、画面のないアシスタントデバイス１０６は応答をゲートウェイ１１０に提供でき、そしてゲートウェイ１１０は会話を解決済と標記でき、ユーザからの更なる応答を促すまたはその他引き出すことはない。
【００８６】
一部の例では、ゲートウェイ１１０は、ユーザが一時的に手が空いていないだけであれば、コンテンツプロバイダ担当者との会話を維持しようとすることができる。例えば、ユーザがモバイルデバイス１０２で電話を受ければ、ゲートウェイ１１０は、「すぐに戻ります、お待ちいただけますか？」など、ユーザに代わってコンテンツプロバイダに応答を提供できる。ゲートウェイ１１０は次いで、ユーザの次の応答までチャットセッションを維持しようとすることができる。
【００８７】
図３は、ユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始および維持するための工程例３００のフローチャートである。一部の実装例では、工程３００は、システム１００などのメッセージングシステムによって実装可能である。例えば、工程３００は、図１のゲートウェイ１１０によって実装可能である。一部の実装例では、工程３００は、非一時的コンピュータ可読媒体に記憶される命令として実装可能であり、そして命令が１つまたは複数のサーバによって実行されると、命令は、１つまたは複数のサーバに工程３００の動作を行わせることができる。
【００８８】
工程３００が開始すると、複数のウェブリソースの各々に対して、通信サーバがそれぞれのウェブリソースの特性を示すデータを受信する（３０２）。例えば、ゲートウェイ１１０は、ウェブページが特定の語句、ウィジェット、コードのスニペット等を含むかどうかを含め、特定のウェブページの特性を示すデータを受信できる。
【００８９】
工程３００は続いて、複数のウェブリソースの各々に対して、通信サーバが、受信したデータに基づいて、それぞれのウェブリソースがそれぞれのウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると検出する３０４。一部の例では、チャットユーザインタフェースはチャットウィジェットである。ライブアシスタンスは、特定のサードパーティコンテンツプロバイダの人間の担当者によって提供可能である。チャットユーザインタフェースは、検索要求に応答する結果、およびコンテンツ項目を表示するウェブページ上に提示可能である。一部の例では、ユーザは、ネットワーク接続されたデバイスを通じてチャットセッションにアクセスする。ネットワーク接続されたデバイスは、モバイルデバイス、デスクトップデバイス、または様々な他のネットワーク接続されたデバイスのいずれかであることができる。一部の例では、ネットワーク接続されたデバイスは画面を有しない。
【００９０】
一部の例では、検出することは、ウェブリソースにアクセスすることと、ウェブリソースがアクセスされているウィンドウと別である新たなウィンドウが開いたと判定することと、新たなウィンドウにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すテキスト語句を判定することとを含む。
【００９１】
一部の例では、検出することは、ウェブリソースにアクセスすることと、ウェブリソース上のウィジェットを特定することと、ウェブリソース上のウィジェットのためのコードにおいて、ウェブリソースがウェブリソース上のチャットユーザインタフェースを通じてサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供することを示すタグを特定することとを含む。
【００９２】
工程３００は続いて、複数のウェブリソースの各々に対して、通信サーバが、データベースに、それぞれのウェブリソースが同機能性を有することを示すエントリを記憶する（３０６）。例えば、ゲートウェイ１１０は、データベースに、特定のウェブページがメッセージング機能性を有することを示すエントリを記憶できる。
【００９３】
工程３００は続いて、通信サーバが、ユーザから、特定のサードパーティコンテンツプロバイダによってホストされる特定のウェブリソースにアクセスする要求を受信する（３０８）。例えば、ユーザは、特定のコンテンツプロバイダに関連付けられたウェブリソースにユーザを導く検索結果リンクを選択できる。一部の例では、要求は、検索要求に応じて提示され、特定のウェブリソースにリンクするコンテンツ項目の選択に応じて提供される。一部の例では、特定のウェブリソースにアクセスする要求は音声入力を備える。
【００９４】
工程３００は続いて、通信サーバが、特定のウェブリソースを表すデータベースの記憶したエントリに基づいて、特定のウェブリソースが特定のウェブリソース上の特定のチャットユーザインタフェースを通じて特定のサードパーティコンテンツプロバイダによるライブアシスタンスのための機能性を提供すると判定する（３１０）。
【００９５】
工程３００は続いて、通信サーバがユーザとサードパーティコンテンツプロバイダとの間のチャットセッションを開始する（３１２）。例えば、ゲートウェイ１１０は、ユーザとコンテンツプロバイダとの間のチャットセッションを開始できる。一部の例では、チャットセッションは、通信サーバとユーザとの間の第１のセッション、および通信サーバとサードパーティコンテンツプロバイダとの間の第２のセッションを含む。一部の例では、開始することは、サードパーティコンテンツプロバイダから、チャットセッションの第１のセッションに対する第１の一意のセション識別子を受信することと、通信サーバによって、サードパーティコンテンツプロバイダに、第２のセッションを促進するために第１の一意のセション識別子を提供することとを含む。
【００９６】
一部の例では、工程３００は、チャットユーザインタフェースを通じて第１のセッションへの入力を受信することと、サードパーティコンテンツプロバイダに、第２のセッションへのユーザ入力を示すデータを提供することとを含む。工程３００は、特定のウェブリソースに対して開始される複数のチャットセッションの各々に対して、特定のウェブリソースにユーザを導いたコンテンツ項目の一意の識別子に基づいて、チャットセッションに対するコンテンツ項目メトリック値を判定することと、コンテンツ項目メトリック値を使用して、コンテンツ項目メトリック値の提示を生成することと、サードパーティコンテンツプロバイダに、表示のために同提示を提供することとを更に含む。例えば、コンテンツ項目メトリック値は、チャット機能性に関連付けられたクリックスルー率を含むことができる。
【００９７】
一部の例では、工程３００は、所定の期間の間アクティビティがないと、および第１のセッションまたは第２のセッションの少なくとも１つが終了したと検出することを含む。工程３００は、チャットセッションのコンテキストデータに基づいて、ユーザがチャットセッションを完了していないと判定することと、データベースに、第１のセッションの全体を示すデータを記憶することとを含む。工程３００は続いて、第２のセッションが終了したとの検出に応じて、チャットセッションの一部として通信サーバとサードパーティコンテンツプロバイダとの間の第３のセッションを開始し、そして通信システムによって、サードパーティコンテンツプロバイダに、ユーザがサードパーティコンテンツプロバイダとのチャットセッションを再開できるように第１のセッションの少なくとも一部分を示すデータを提供できる。
【００９８】
一部の例では、工程３００は、ユーザから第１のセッションにおいて第２の音声入力を受信することを更に含む。工程３００は続いて、サードパーティコンテンツプロバイダに、第２のセッションにおいて第２の音声入力のテキスト表現を示すデータを提供する。工程３００は続いて、通信システムによって、サードパーティコンテンツプロバイダから、通信システムとサードパーティコンテンツプロバイダとの間の第２のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力を受信する。工程３００は続いて、ユーザに、第１のセッションにおいてサードパーティコンテンツプロバイダからのテキスト入力の音声表現を示すデータを提供できる。
【００９９】
図４は、上記した動作を行うために使用可能であるコンピュータシステム例４００のブロック図である。システム４００は、プロセッサ４１０、メモリ４２０、記憶デバイス４３０および入出力デバイス４４０を含む。部品４１０、４２０、４３０、４４０の各々は、例えば、システムバス４５０を使用して相互接続可能である。プロセッサ４１０は、システム４００内での実行のための命令を処理することが可能である。一実装例では、プロセッサ４１０はシングルスレッドプロセッサである。別の実装例では、プロセッサ４１０はマルチスレッドプロセッサである。プロセッサ４１０は、メモリ４２０にまたは記憶デバイス４３０に記憶される命令を処理することが可能である。
【０１００】
メモリ４２０は、システム４００内の情報を記憶する。一実装例では、メモリ４２０はコンピュータ可読媒体である。一実装例では、メモリ４２０は揮発性メモリユニットである。別の実装例では、メモリ４２０は不揮発性メモリユニットである。
【０１０１】
記憶デバイス４３０は、システム４００のための大容量記憶を提供することが可能である。一実装例では、記憶デバイス４３０はコンピュータ可読媒体である。様々な異なる実装例で、記憶デバイス４３０としては、例えば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを通じて共有される記憶デバイス（例えば、クラウド記憶デバイス）、または何らかの他の大容量記憶デバイスを含むことができる。
【０１０２】
入出力デバイスは、システム４００のための入出力動作を提供する。一実装例では、入出力デバイスは、１つまたは複数のネットワークインタフェースデバイス、例えばイーサネット（登録商標）カード、シリアル通信デバイス、例えばＲＳ−２３２ポート、および／または無線インタフェースデバイス、例えば８０２．１１カードを含むことができる。別の実装例では入出力デバイスは、入力データを受けて他の入出力デバイス、例えばキーボード、プリンタおよびディスプレイデバイス４６０に出力データを送るように構成されるドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビクライアントデバイス等など、他の実装例も使用可能である。
【０１０３】
処理システム例が図４に記載されたが、本明細書に記載される主題および機能動作の実装例は、他の種類のデジタル電子回路網で、または本明細書に開示される構造およびそれらの構造等価物を含め、コンピュータソフトウェア、ファームウェアもしくはハードウェアで、またはそれらの１つもしくは複数の組合せで実装可能である。
【０１０４】
電子文書（簡略して単に文書と称することにする）は必ずしもファイルに対応するわけではない。文書は、他の文書を保持するファイルの一部分に、当該文書に専用の単一のファイルに、または複数の連係ファイルに記憶されてよい。
【０１０５】
本明細書に記載される主題および動作の実施形態は、デジタル電子回路網で、または本明細書に開示される構造およびそれらの構造等価物を含め、コンピュータソフトウェア、ファームウェアもしくはハードウェアで、またはそれらの１つもしくは複数の組合せで実装可能である。本明細書に記載される主題の実施形態は、１つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはその動作を制御するために１つまたは複数のコンピュータ記憶媒体に符号化されたコンピュータプログラム命令の１つまたは複数のモジュールとして実装可能である。代替的に、または加えて、プログラム命令は、データ処理装置による実行のために適切な受信器装置に伝送するための情報を符号化するために発生される人工発生伝搬信号、例えば機械発生電気、光または電磁信号上に符号化可能である。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの１つもしくは複数の組合せであることができる、またはそれに含まれ得る。その上、コンピュータ記憶媒体が伝搬信号でないのに対して、コンピュータ記憶媒体は、人工発生伝搬信号に符号化されるコンピュータプログラム命令の供給源または供給先であることができる。コンピュータ記憶媒体は、１つまたは複数の別々の物理部品または媒体（例えば、複数のＣＤ、ディスクまたは他の記憶デバイス）であることもできる、またはそれに含まれ得る。
【０１０６】
本明細書に記載される動作は、１つまたは複数のコンピュータ可読記憶デバイスに記憶されたまたは他のソースから受信されたデータに対してデータ処理装置によって行われる動作として実装可能である。
【０１０７】
用語「データ処理装置」は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップまたは以上の複数のものもしくは組合せを含め、データを処理するための全ての種類の装置、デバイスおよび機械を包含する。装置は、専用論理回路網、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）を含むことができる。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォーム実行時環境、仮想マシンまたはそれらの１つもしくは複数の組合せを構成するコードも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの様々な異なるコンピューティングモデルインフラストラクチャを実現できる。
【０１０８】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られている）は、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含め、任意の形式のプログラミング言語で書かれ得、そしてそれは、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクトもしくはコンピューティング環境での使用に適する他のユニットとしてを含め、任意の形式に展開可能である。コンピュータプログラムは、ファイルシステムにおけるファイルに対応してよいが、しなくてもよい。プログラムは、他のプログラムもしくはデータ（例えば、マークアップ言語文書に記憶される１つもしくは複数のスクリプト）を保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または複数の連係ファイル（例えば、１つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイル）に記憶可能である。コンピュータプログラムは、展開されて１つのコンピュータ上で、または１つのサイトに設けられるもしくは複数のサイトにわたって分散されて通信ネットワークによって相互接続される複数のコンピュータ上で実行可能である。
【０１０９】
本明細書に記載される工程および論理フローは、１つまたは複数コンピュータプログラムを実行して、入力データを操作して出力を生成することによって作用を行う１つまたは複数のプログラマブルコンピュータによって行われ得る。工程および論理フローは、専用論理回路網、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によっても行われ得、そして装置もそれとして実装可能である。
【０１１０】
コンピュータプログラムの実行に適するプロセッサは、例として、汎用および専用マイクロプロセッサ両方を含む。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受けることになる。コンピュータの必須要素は、命令に従って作用を行うためのプロセッサ、ならびに命令およびデータを記憶するための１つまたは複数のメモリデバイスである。一般に、コンピュータは更に、データを記憶するための１つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスクまたは光ディスクを含む、または作動的に結合されて、それからデータを受けるもしくはそれにデータを転送するもしくは両方行うことになる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、例えば、いくつか挙げると、移動電話、携帯情報端末（ＰＤＡ）、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム（ＧＰＳ）受信器、またはポータブル記憶デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）フラッシュドライブ）に埋め込み可能である。コンピュータプログラム命令およびデータを記憶するのに適するデバイスとしては、例として、半導体メモリデバイス、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイス；磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク；光磁気ディスク；ならびにＣＤ  ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含め、全ての形態の不揮発性メモリ媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路網によって補足、またはそれに組み込み可能である。
【０１１１】
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタ、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピュータに実装可能である。ユーザとの対話を提供するために他の種類のデバイスも使用可能であり、例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであることができ、そしてユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取り可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、それから文書を受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信される要求に応じてウェブブラウザにウェブページを送信することによって、ユーザと対話できる。
【０１１２】
本明細書に記載される主題の実施形態は、バックエンド部品を、例えば、データサーバとして含む、あるいはミドルウェア部品、例えば、アプリケーションサーバを含む、あるいはフロントエンド部品、例えば、ユーザが本明細書に記載される主題の実装例と対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ、または１つもしくは複数のそのようなバックエンド、ミドルウェアもしくはフロントエンド部品の任意の組合せを含む、コンピューティングシステムで実装可能である。システムの部品は、デジタルデータ通信の任意の形態または媒体、例えば、通信ネットワークによって相互接続可能である。通信ネットワークの例としては、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、インターネットワーク（例えば、インターネット）ならびにピアツーピアネットワーク（例えば、アドホックピアツーピアネットワーク）を含む。
【０１１３】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、典型的に通信ネットワークを通じて対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で動いており、互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。一部の実施形態では、サーバはクライアントデバイスにデータ（例えば、ＨＴＭＬページ）を伝送する（例えば、クライアントデバイスと対話しているユーザにデータを表示してユーザからユーザ入力を受信する目的で）。クライアントデバイスにおいて生成されるデータ（例えば、ユーザ対話の結果）は、サーバにおいてクライアントデバイスから受信可能である。
【０１１４】
本明細書が多くの具体的な実装詳細を含むのに対して、これらは、いかなる発明のまたは特許請求され得るものの範囲へも限定としてでなく、むしろ特定の発明の特定の実施形態に固有の特徴の記述として解釈されるべきである。別々の実施形態の文脈で本明細書に記載される或る特徴が、組合せて単一の実施形態でも実装可能である。反対に、単一の実施形態の文脈で記載される様々な特徴が、別々に複数の実施形態でも、または任意の適切な下位組合せでも実装可能である。その上、特徴が或る組合せで作用すると上記され、しかもそのように最初に特許請求されるが、特許請求された組合せからの１つまたは複数の特徴が、一部の場合には、同組合せから削除可能であり、そして特許請求された組合せは、下位組合せまたは下位組合せの変形とされ得る。
【０１１５】
同様に、動作が特定の順序で図面に描かれるのに対して、これは、そのような動作が図示される特定の順序でもしくは順番に行われること、または望ましい結果を達成するために、全ての例示された動作が行われることを必要とすると理解されるべきでない。或る状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記した実施形態における様々なシステム部品の分離は、全ての実施形態においてそのような分離を必要とすると理解されるべきでなく、そして記載されたプログラムコンポーネントおよびシステムが一般に単一のソフトウェア製品に共に統合または複数のソフトウェア製品に実装可能であることが理解されるべきである。
【０１１６】
このように、主題の特定の実施形態が記載された。他の実施形態は以下の請求項の範囲内である。一部の場合には、請求項に列挙される作用は異なる順序で行われて、それでも望ましい結果を達成できる。加えて、添付の図に描かれる工程は、望ましい結果を達成するために、必ずしも図示される特定の順序または順番を必要とするわけではない。或る実装例では、マルチタスキングおよび並列処理が有利であり得る。
【符号の説明】
【０１１７】
１００  システム
１０２  モバイルデバイス、
１０４  クライアントデバイス
１０６  画面のないアシスタントデバイス
１１０  ゲートウェイ
１２０  ウェブページ
１２２  ボタン
１３０  コンテンツプロバイダシステム
２００  ユーザインタフェース
２０２  検索クエリ
２０４  検索結果ページ
２１０  検索結果ウェブページ
２２０  検索結果ウェブページ
２３０  検索結果ウェブページ
２４０  検索結果ウェブページ
２１２  ユーザインタフェース要素
２２２  ユーザインタフェース要素
２３２  ユーザインタフェース要素
２４２  ユーザインタフェース要素
４００  コンピュータシステム
４０２  プロセッサ
４０４  メモリ
４０６  記憶デバイス
【図１】
0006855584.tif 000002
【図２】
0006855584.tif 000003
【図３】
0006855584.tif 000004
【図４】
0006855584.tif 000005