(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-19
(45)【発行日】2022-07-27
(54)【発明の名称】リソースソート方法、ソートモデルをトレーニングする方法及び対応する装置
(51)【国際特許分類】
G06F 16/9538 20190101AFI20220720BHJP
【FI】
G06F16/9538
(21)【出願番号】P 2020193891
(22)【出願日】2020-11-20
【審査請求日】2020-11-20
(31)【優先権主張番号】202010478321.8
(32)【優先日】2020-05-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】ワン、シュオフアン
(72)【発明者】
【氏名】パン、チャオ
(72)【発明者】
【氏名】スン、ユ
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】中国特許出願公開第107402954(CN,A)
【文献】特開2021-179979(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
リソースソート方法であって、
マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを
コンピュータが構成し、
入力シーケンスにおける各要素に対して、単語埋め込み、位置埋め込み及び文埋め込みを含む埋め込み処理を
前記コンピュータが行い、
前記コンピュータが、
前記埋め込み処理の結果をソートモデルに入力して、前記ソートモデルによる前記各候補リソースのソートスコアを取得し、前記ソートモデルは変換モデルを採用して予めトレーニングすることにより得られることを含む方法。
【請求項2】
前記入力シーケンスにおいて前記マッチングされるアイテムと前記各候補リソースの情報との間にセパレータが挿入されており、
前記入力シーケンスにおける各要素はキャラクタ及び前記セパレータを含む請求項1に記載の方法。
【請求項3】
前記変換モデルは、1つ以上の符号化層及びマッピング層を含み、
前記符号化層は、入力された各要素のベクトル表現に対してアテンションメカニズム処理を行い、
前記マッピング層は、最後の層の符号化層に対して出力されたベクトル表現をマッピングして、前記各候補リソースのソートスコアを取得する、請求項1または2に記載の方法。
【請求項4】
前記マッチングされるアイテムはクエリアイテム又はユーザラベルを含み、
前記各候補リソースは、ウェブページリソース、ニュースリソース又はメディアリソースを含む請求項1~3のいずれか1項に記載の方法。
【請求項5】
ソートモデルをトレーニングする方法であって、
マッチングされるアイテム、前記マッチングされるアイテムに対応する少なくとも2つのサンプルリソース、及び各サンプルリソースのソート情報を含むトレーニングデータを
コンピュータが取得し、
前記トレーニングデータにより変換モデルをトレーニングして、前記ソートモデルを
前記コンピュータが取得することを含み、
前記ソートモデルを
前記コンピュータが取得することは、
前記マッチングされるアイテムと、前記少なくとも2つのサンプルリソースの情報と、において順に入力シーケンスを構成し、
入力シーケンスにおける各要素に対して埋め込み処理を行い、前記埋め込み処理は、単語埋め込み、位置埋め込み及び文埋め込みを含み、
前記埋め込み処理の結果を変換モデルの入力として、前記変換モデルにより各サンプルリソースに対するソートスコアを出力し、
前記ソートスコアにより前記変換モデルのパラメータを最適化し、
前記トレーニングの目的は、変換モデルによって出力された各サンプルリソースに対する前記ソートスコアが前記トレーニングデータにおけるソート情報に準拠することを含む、方法。
【請求項6】
前記入力シーケンスおいて前記マッチングされるアイテムと前記各サンプルリソースの情報との間にセパレータが挿入されており、
前記入力シーケンスにおける各要素はキャラクタ、及び前記セパレータを含む請求項5に記載の方法。
【請求項7】
前記変換モデルは、1つ以上の符号化層及びマッピング層を含み、
前記符号化層は、入力された各要素のベクトル表現に対してアテンションメカニズム処理を行い、
前記マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、入力シーケンスにおける各サンプルリソースに対するソートスコアを取得する、請求項5または6に記載の方法。
【請求項8】
前記少なくとも2つのサンプルリソースは、前記マッチングされるアイテムに対応する少なくとも1つの正のサンプルリソース及び少なくとも1つの負のサンプルリソースを含み、
前記トレーニングの目的は、前記変換モデルによって出力された正のサンプルリソースに対するソートスコアが負のサンプルリソースに対するソートスコアよりも優れることを含む請求項5~7のいずれか1項に記載の方法。
【請求項9】
前記ソートスコアにより前記変換モデルのパラメータを最適化するとともに、前記埋め込み処理で採用されるパラメータを最適化する、請求項5~8のいずれか1項に記載の方法。
【請求項10】
リソースソート装置であって、
マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを構成する入力モジュールと、
入力シーケンスにおける各要素に対して、単語埋め込み、位置埋め込み及び文埋め込みを含む埋め込み処理を行う埋め込みモジュールと、
前記埋め込み処理の結果をソートモデルに入力して、前記ソートモデルによる前記各候補リソースのソートスコアを取得するソートモジュールと、
を含み、
前記ソートモデルは変換モデルを採用して予めトレーニングすることにより得られる、
装置。
【請求項11】
前記入力モジュールは、さらに、前記入力シーケンスにおいてマッチングされるアイテムと前記各候補リソースの情報との間にセパレータを挿入し、
前記入力シーケンスにおける各要素はキャラクタ、及び前記セパレータを含む請求項10に記載の装置。
【請求項12】
前記変換モデルは、1つ以上の符号化層及びマッピング層を含み、
前記符号化層は、入力された各要素のベクトル表現に対してアテンションメカニズム処理を行い、
前記マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、前記各候補リソースのソートスコアを取得する、請求項10に記載の装置。
【請求項13】
前記マッチングされるアイテムはクエリアイテム又はユーザラベルを含み、
前記各候補リソースは、ウェブページリソース、ニュースリソース又はメディアリソースを含む請求項10~12のいずれか1項に記載の装置。
【請求項14】
ソートモデルをトレーニングする装置であって、
マッチングされるアイテム、前記マッチングされるアイテムに対応する少なくとも2つのサンプルリソース及び各サンプルリソースのソート情報を含むトレーニングデータを取得するためのデータ取得モジュールと、
前記トレーニングデータにより変換モデルをトレーニングして、前記ソートモデルを取得するモデルトレーニングモジュールと、
を含み、
前記モデルトレーニングモジュールは、
前記マッチングされるアイテムと、前記少なくとも2つのサンプルリソースの情報とにおいて順に入力シーケンスを構成する入力サブモジュールと、
入力シーケンスにおける各要素に対して、単語埋め込み、位置埋め込み及び文埋め込みを含む埋め込み処理を行う埋め込みサブモジュールと、
前記埋め込み処理の結果を変換モデルの入力として、前記変換モデルにより各サンプルリソースに対するソートスコアを出力するソートサブモジュールと、
前記ソートスコアにより前記変換モデルのパラメータを最適化する最適化サブモジュールと、
を備え、
前記トレーニングの目的は、前記変換モデルによって出力された各サンプルリソースに対するソートスコアがトレーニングデータにおけるソート情報に準拠することを含む、
装置。
【請求項15】
前記入力サブモジュールは、さらに、前記入力シーケンスにおいてマッチングされるアイテムと前記各サンプルリソースの情報との間にセパレータを挿入し、
前記入力シーケンスにおける各要素はキャラクタ、及び前記セパレータを含む請求項14に記載の装置。
【請求項16】
前記変換モデルは、1つ以上の符号化層及びマッピング層を含み、
前記符号化層は、入力された各要素のベクトル表現に対してアテンションメカニズム処理を行い、
前記マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、入力シーケンスにおける各サンプルリソースに対するソートスコアを取得する、請求項14または15に記載の装置。
【請求項17】
前記少なくとも2つのサンプルリソースは、マッチングされるアイテムに対応する少なくとも1つの正のサンプルリソース及び少なくとも1つの負のサンプルリソースを含み、
前記トレーニングの目的は、前記変換モデルによって出力された正のサンプルリソースに対するソートスコアが負のサンプルリソースに対するソートスコアよりも優れることを含む請求項14~16のいずれか1項に記載の装置。
【請求項18】
前記最適化サブモジュールは、
前記ソートスコアにより前記変換モデルのパラメータを最適化するとともに、
前記埋め込みサブモジュールが埋め込み処理を行うために採用されるパラメータを最適化する、請求項14~17のいずれか1項に記載の装置。
【請求項19】
電子機器であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されるメモリとを含み、
前記メモリには、前記少なくとも1つのプロセッサに実行可能なコマンドが記憶されており、前記少なくとも1つのプロセッサが請求項1~9のいずれか1項に記載の方法を実行できるように、前記コマンドが前記少なくとも1つのプロセッサによって実行される、電子機器。
【請求項20】
コンピュータに、
請求項1~9のいずれか1項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願、コンピュータアプリケーション技術の分野に関し、特に、人工知能での自然言語処理技術の分野に関連する。
【背景技術】
【0002】
コンピュータネットワークの急速な発展に伴い、ますます多くのユーザはコンピュータネットワークを介して様々なリソースを入手する。大量のリソースに直面すると、ソートの問題が生じ、つまり、リソースのソート結果に従ってリソースをユーザに送信する。例えば、検索エンジンにおいて、ユーザが入力したquery(検索アイテム)について、各ウェブページリソースをqueryとマッチングし、マッチング結果に従って各ウェブページリソースをソートした後に、ソート結果に従ってウェブページリソースを含む検索結果をユーザに返す必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本出願は、リソースソート方法、ソートモデルをトレーニングする方法及び対応する装置を提供する。
【課題を解決するための手段】
【0004】
第1の局面によれば、本出願は、リソースソート方法を提供し、
マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを構成し、
入力シーケンスにおける各要素(Token)に対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込み(Embedding)処理を行い、
Embedding処理の結果をソートモデルに入力して、ソートモデルによる各候補リソースのソートスコアを取得し、ソートモデルは変換(Transformer)モデルを採用して予めトレーニングすることにより得られることを含む。
【0005】
第2の局面によれば、ソートモデルをトレーニングする方法を提供し、
マッチングされるアイテム、マッチングされるアイテムに対応する少なくとも2つのサンプルリソース及び各サンプルリソースのソート情報を含むトレーニングデータを取得し、
トレーニングデータによりTransformerモデルをトレーニングしてソートモデルをトレーニングすることは、具体的に、
マッチングされるアイテムと、少なくとも2つのサンプルリソースの情報とにおいて順に入力シーケンスを構成し、
入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込みEmbedding処理を行い、
Embedding処理の結果をTransformerモデルの入力として、Transformerモデルにより各サンプルリソースに対するソートスコアを出力し、
ソートスコアによりTransformerモデルのパラメータを最適化し、トレーニングの目的は、Transformerモデルによって出力された各サンプルリソースに対するソートスコアがトレーニングデータにおけるソート情報に準拠することを含む、ことを含む。
【0006】
第3の局面によれば、本出願は、リソースソート装置を提供し、
マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを構成するための入力モジュールと、
入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込みEmbedding処理を行うための埋め込みモジュールと、
Embedding処理の結果をソートモデルに入力して、ソートモデルによる各候補リソースのソートスコアを取得するためのものであり、ソートモデルはTransformerモデルを採用して予めトレーニングすることにより得られるソートモジュールと、を含む。
【0007】
第4の局面によれば、本出願は、ソートモデルをトレーニングする装置を提供し、
マッチングされるアイテム、マッチングされるアイテムに対応する少なくとも2つのサンプルリソース及び各サンプルリソースのソート情報を含むトレーニングデータを取得するためのデータ取得モジュールと、
トレーニングデータによりTransformerモデルをトレーニングして、ソートモデルをトレーニングするためのモデルトレーニングモジュールと、を含んでおり、
モデルトレーニングモジュールは、具体的に、
マッチングされるアイテムと、少なくとも2つのサンプルリソースの情報とにおいて順に入力シーケンスを構成するための入力サブモジュールと、
入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embedding含む埋め込みEmbedding処理を行うための埋め込みサブモジュールと、
Embedding処理の結果をTransformerモデルの入力として、Transformerモデルにより各サンプルリソースに対するソートスコアを出力するためのソートサブモジュールと、
ソートスコアによりTransformerモデルのパラメータを最適化するためのものであり、トレーニングの目的は、Transformerモデルによって出力された各サンプルリソースに対するソートスコアがトレーニングデータにおけるソート情報に準拠することを含む最適化サブモジュールと、を含む。
【0008】
第5の局面によれば、本出願は電子装置をさらに提供し、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサと通信接続されるメモリとを含んでおり、
メモリには、少なくとも1つのプロセッサに実行可能なコマンドが記憶されており、少なくとも1つのプロセッサが上記のいずれか1項に記載の方法を実行できるように、コマンドが少なくとも1つのプロセッサによって実行される。
【0009】
第6の局面によれば、本出願は、コンピュータコマンドを記憶している非一時的コンピュータ可読記憶媒体をさらに提供し、コンピュータコマンドは、上記のいずれか1項に記載の方法をコンピュータに実行させるために用いられることを特徴とする非一時的コンピュータ可読記憶媒体。
【0010】
上記の技術案からわかるように、本出願で提供されるソート方式は、各候補リソース情報のソートスコアリングを総合的に考慮し、大域的最適化される結果を達成できることがわかる。そして、複数の候補リソースを含む場合について、ソートモデルは、すべての候補リソースのスコアを取得するために算出を一回実行するだけで済み、ソート効果を向上させるとともに、算出の複雑さを軽減する。
【0011】
上記の好適な形態が有する他の効果は、以下、具体的な実施例を結合して説明される。
【図面の簡単な説明】
【0012】
添付の図面は、この方案をよりよく理解するためのものであり、本出願の制限を構築するものではない。図面において、
【
図1】本発明の実施例を適応できる例示的なシステムアーキテクチャを示す。
【
図2】本出願の実施例1で提供されるリソースソート方法のフローチャートである。
【
図3】本出願の実施例1で提供されるソートモデルの原理模式図である。
【
図4】本出願の実施例2で提供されるソートモデルをトレーニングする方法フローチャートである。
【
図5】本出願の実施例で提供されるリソースソート装置の構成図である。
【
図6】本出願の実施例4で提供されるソートモデルをトレーニングする装置の構成図である。
【
図7】本出願の実施例を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0013】
以下、図面に基づいて、本出願の例示的な実施例を記述する。理解を容易にするために、本出願の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。当業者は、本出願の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。明らか、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0014】
図1は、本発明の実施例を適用できる例示的なシステムアーキテクチャを示す。
図1に示すように、システムアーキテクチャ100は、端末デバイス101、102、ネットワーク103及びサーバ104を含んでもよい。ネットワーク103は、端末デバイス101、102とサーバ105の間に通信リンクのメディアを提供するために用いられる。ネットワーク103は、有線、無線通信リンク又は光ファイバーケーブル等のような様々な接続タイプを含んでもよい。
【0015】
ユーザは、端末デバイス101、102を使ってネットワーク103によりサーバ104とインタラクティブを行うことができる。端末デバイス101、102には、例えば、マップアプリケーション、音声対話アプリケーション、ウェブページブラウザアプリケーション、通信アプリケーションなどのような様々なアプリケーションをインストールすることができる。
【0016】
端末デバイス101、102は、本出願にかかるリソースをサポート及び表示できるさまざまな電子デバイスであってもよく、スマートフォン、タブレットコンピュータ、スマートスピーカー、スマートウェアラブルデバイスなどを含むがこれらに限定されない。 本発明で提供される装置は、上記のサーバ104に設置され実行することができる。複数のソフトウェア又はソフトウェアモジュールとして実現されてもよいし(例えば、分散サービスを提供するために)、単一のソフトウェア又はソフトウェアモジュールとして実現されてもよく、ここで、具体に限定されない。
【0017】
例えば、リソースソート装置は上記のサーバ104に設置されて実行され、サーバ104は端末デバイス101又は102からの検索要求を受信することができ、検索要求はquery(検索アイテム)を含む。ソート装置は、本発明の実施例で提供される方式を使用してリソースのソートを行い、ソート結果に従って、ユーザに戻す検索結果を確定する。検索結果を端末デバイス101又は102に戻してもよい。
【0018】
また、例えば、リソースソート装置は上記のサーバ104に設置されて実行され、サーバ104は、端末デバイス101又は102からのユーザラベルを取得し、ユーザの好み、性別、地理的位置、年齢などのパーソナライゼーション情報を含む。ソート装置は本発明実施例で提供される方式をリソースのソートを行い、ソート結果に従って、ユーザに推奨するリソースを確定する。推奨されるリソース情報を端末デバイス101又は102に戻してもよい。
【0019】
サーバ104側にリソースデータベースを維持しており、リソースデータベースは、サーバ104にローカルに記憶されてもよいし、他のサーバに記憶されてサーバ104によって呼び出されてもよい。ローカル、也可以記憶する其他サーバ中由サーバ104進行転用されてもよい。
【0020】
また、例えば、ソートモデルをトレーニングする装置は上記のサーバ104に設置されて実行され、サーバ104はソートモデルをトレーニングする。
【0021】
サーバ104は、単一のサーバであってもよいし、複数のサーバからなるサーバグループであってもよい。
図1中の端末デバイス、ネットワーク及びサーバの数は単なる例示であることを理解されたい。実現の必要に応じて、任意の数の端末デバイス、ネットワーク及びサーバを有してもよい。
【0022】
従来の技術では、リソースをソートする際に、ソートモデルニーズは、各候補リソースと、マッチングされるアイテムとの間に2つずつマッチングする場合(例えば、類似度)を算出し、マッチングの場合に従って各候補リソースのスコアを取得する必要がある。例えば、検索エンジンにおいて、ユーザがqueryを入力したと、候補ウェブページごとに、各候補ウェブページとqueryとの類似度をそれぞれ算出し、類似度に従って各候補ウェブページのスコアを取得する必要がある。このソート方式は以下の欠点がある。
1)1つの候補リソースのスコアを算出する場合に、他の候補リソースは考慮されず、最終得られた結果は大域的最適ではない。
2)また、この方式は算出の複雑さが高く、N個の候補リソースが存在すると、ソートモデルは、ソートスコアの算出をN回行う必要があり、Nは1よりも大きい正の整数である。
【0023】
相応して、従来の技術において、ソートモデルをトレーニングする場合に、pairwise(ペアワイズ)のトレーニング方式を採用し、即ち、マッチングされるアイテムに対応する正のサンプルリソースと負のサンプルリソースのペアを構築し、マッチングされるアイテムと正のサンプルリソースの類似度、及びマッチングされるアイテムと負のサンプルリソースの類似度をそれぞれ算出して、正のサンプルリソースのスコア及び負のサンプルリソースのスコアを取得し、トレーニングの目的は、正のサンプルリソースのスコアと負のサンプルリソースのスコアとの差を最大化することである。ただし、このpairwiseのトレーニング方式は、トレーニングデータが限られた場合に、モデルが適切に機能し難い。
【0024】
これに鑑み、本出願で提供されるリソースソート方法及びソートモデルのトレーニング方法は、Transformerモデルに基づいて実現され、従来の技術に存在する欠陥を効果的に解決することができる。Transformerモデルは、2017年6月にGoogleチームより提案された自然言語処理の経典モデルである。この出願で提供される方法は、以下、実施例と併せて詳細に説明される。
【0025】
[実施例1]
図2は、本出願の実施例1で提供されるリソースソート方法のフローチャートであり、
図2に示すように、方法は、以下のステップを含むことができる。
【0026】
201において、マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを構成する。
【0027】
本出願は、リソース検索シナリオに適用されてもよいし、リソース推奨シナリオに適応されてもよい。リソース検索シナリオに適用される場合に、上記のマッチングされるアイテムはquery(検索アイテム)であってもよく、各候補リソースは、例えば、ウェブページリソース、ニュースリソース、メディアリソースなどのようなタイプのリソースであってもよい。例えば、ユーザが検索エンジンにqueryを入力すると、検索エンジンは、本実施例における方式を採用して各候補ウェブページをソートし、ソート結果に従って検索結果をユーザに戻し、構造の実施例において、これを例にとって説明し、この場合に、各候補リソースの情報は、各ウェブページのタイトル、要約、本文、アンカーテキスト、及びその他のクリックされたqueryなどを採用することができる。
【0028】
また、例えば、ユーザがビデオアプリケーションの検索エンジンにqueryを入力すると、検索エンジンは、本実施例における方式採用して各候補ビデオをソートし、ソート結果に従って検索結果をユーザに戻す。この場合に、各候補リソースの情報は、各ビデオのタイトル、要約、コメント、ラベルなどを採用することができる。
【0029】
リソース推奨シナリオに適用する場合に、例えば、ユーザがニュースアプリケーションを開くと、ニュースアプリケーションのサーバ側はユーザラベルを取得し、ユーザラベルは、例えば、ユーザの好み、性別、位置、年齢などのパーソナライゼーション情報を含んでもよい。そして、ニュースアプリケーションは、ユーザラベルを、マッチングされるアイテムとして、本実施例で提供される方式に従って各候補ニュースをソートし、ソート結果に従ってニュースをユーザに推奨する。この場合、各候補リソースの情報は各ニュースのタイトル、要約、本文などを採用することができる。
【0030】
なお、各候補リソース及びマッチングされるアイテムを区別するために、入力シーケンスにおいてマッチングされるアイテムと各候補リソースの情報との間にセパレータを挿入することができる。この場合に、入力シーケンスにおける各Token(要素)はキャラクタ及びセパレータを含む。
【0031】
例えば、ユーザがウェブページ検索を行う際にqueryを入力し、次に各候補リソースのタイトルを取得すると、それぞれがtitle1、title2、title3、title4、…として示されると仮定する。セパレータ[sep]を挿入した後に、入力シーケンスは、
query[sep1]title1[sep2]title2[sep3]title3[sep4]title4[sep5]…である。
【0032】
202において、入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含むEmbedding(埋め込み)処理を行う。
【0033】
本出願において、入力シーケンスにおける各要素に対して、Embedding処理を行う必要がある。
図3に示すように、Embedding処理は以下を含む。
【0034】
単語Embeddingは、各キャラクタ又はセパレータに対して単語ベクトル符号化を行って、単語ベクトル表現を取得する。
図3に示すように、query「苹果手機」と、各候補ウェブページtitle1「好吃的苹果」及びtitle2「iphone(登録商標)手機介紹」などの入力シーケンスを構成すると仮定する。各要素「苹」、「果」、「手」、「機」、「[sep1]」、「好」、「吃」…に対して、単語Embeddingをそれぞれ行う。
【0035】
位置Embeddingは、入力シーケンスにおける各キャラクタ又はセパレータの位置を符号化して、位置の表現を取得する。
図3に示すように、各キャラクタ及びセパレータを順に0、1、2、3、4などとして番号付けする。
【0036】
文Embeddingは、各キャラクタ又はセパレータの所属する文を符号化して、所属する文の符号化表現を取得する。
図3に示すように、「苹果手機」における各Tokenを「0」として、「[sep1]好吃的苹果」における各Token符号化を「1」、「[sep2]手機介紹」における各Tokenを「2」として符号化表現する等する。
【0037】
203において、Embedding処理の結果をソートモデルに入力して、ソートモデルによる各候補リソースのソートスコアを取得し、ソートモデルは、Transformerモデルを採用して予めトレーニングすることにより得られる。
【0038】
入力シーケンスにおいて、マッチングされるアイテムと各候補リソースの情報とが全体として符号化された後にソートモデルに入力される。本出願の実施例で提供されるソートモデルはTransformerモデルを採用する。なお、Transformerモデルは1つ以上の符号化層、及びマッピング層を含む。
図3に示すように、各符号化層はTransformer Block表現採用し、マッピング層はSoftmaxの方式を採用してもよい。
【0039】
符号化層は、入力された各Tokenのベクトル表現に対してアテンション(Attention)メカニズム処理を行うために用いられる。具体的に、各Transformer Blockは、自己アテンションの方式により各Tokenのベクトル表現を処理して、新しいベクトル表現を取得する。
【0040】
マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、各候補リソースのソートスコアを取得するために用いられる。
【0041】
図3中に示すように、最上層のTransformer Blockは、各Tokenのベクトル表現、即ち、セマンティック表現をSoftmax層に出力し、Softmax層によりマッピングして各ウェブページtitleのスコアを取得する。Transformer Blockの処理メカニズムに関して、本出願において詳細に説明されず、Transformerモデルの既存の自己アテンション処理メカニズムを使用する。
【0042】
以上の実施例で提供されるソート方式からわかるように、1つの候補リソース情報に対してソートスコアリングを行う場合に、他の候補リソース情報のソートスコアリングを総合的に考慮し、大域的最適化される結果を達成できる。そして、複数の候補リソースを含む場合について、ソートモデルは、すべての候補リソースのスコアを取得するために算出を一回実行するだけで済み、ソート効果を向上させるとともに、算出の複雑さを軽減する。
【0043】
上記のソートモデルのソートを実現するために、まず、ソートモデルをトレーニングする必要がある。以下、実施例2と併せてソートモデルのトレーニングプロセスについて詳細に説明する。
【0044】
[実施例2]
図4は、本出願の実施例2で提供されるソートモデルをトレーニングする方法フローチャートであり、
図4に示すように、方法は、以下のステップを含むことができる。
【0045】
401において、マッチングされるアイテム、マッチングされるアイテムに対応する少なくとも2つのサンプルリソース、及び各サンプルリソースのソート情報を含むトレーニングデータを取得する。
【0046】
本実施例において、トレーニングデータを取得する場合に、手動でラベル付けする方式を採用し、例えば、マッチングされるアイテムについて、一連のサンプルリソースを構成し、各サンプルリソースのソート情報を手動でラベル付けする。
【0047】
上記の手動でラベル付けする方式はコストが高いので、本出願の実施例において、好ましい方式を採用することができ、即ち、検索エンジンでのユーザの履歴クリック行為によりトレーニングデータを自動に生成する。例えば、検索エンジンから履歴検索ログを取得し、同一のquery(マッチングされるアイテムとして)に対応する検索結果を取得する。その中からユーザがクリックしたリソース情報と、クリックされていないリソース情報とを選んでサンプルリソースを構成し、なお、ユーザがクリックしたリソース情報はクリックされていないリソース情報よりも上位にソートされる。さらに、ユーザによるクリックされたリソース情報の閲覧時間に応じてクリックされたリソース情報のソートを確定し、例えば、閲覧時間が長いほど、ソートが高くなる。
【0048】
サンプルデータとして、例えば、query、queryに対応するウェブページのTitle1、Title2、Title3、Title4であり、なお、Title1>Title2>Title3>Title4のようにソートされる。
【0049】
さらに、別のサンプルデータであるマッチングされるアイテム、及びマッチングされるアイテムに対応する少なくとも1つの正のサンプルリソースと少なくとも1つの負のサンプルリソースを採用してもよい。例えば、query、queryに対応する正のサンプルウェブページTitle2、Title4、及びqueryに対応する負のサンプルウェブページTitle1、Title3である。
【0050】
402において、トレーニングデータによりTransformerモデルをトレーニングして、ソートモデルを取得する。具体的に、以下のステップを含むことができる。
【0051】
4021において、同一のトレーニングサンプルにおけるマッチングされるアイテムと、少なくとも2つのサンプルリソースの情報とにおいて順に入力シーケンスを構成する。
【0052】
同様に、各サンプルリソースの情報とマッチングされるアイテムとを区別するために、入力シーケンスにおいてマッチングされるアイテムと各サンプルリソースの情報との間にセパレータが挿入されており、この場合に、Tokenはキャラクタ及びセパレータを含む。
【0053】
例えば、同一のトレーニングサンプルには、query、及びqueryに対応するウェブページタイトルtitle1、title2、title3、title4、…を含む。セパレータ[sep]を挿入した後に、入力シーケンスは、
query[sep1]title1[sep2]title2[sep3]title3[sep4]title4[sep5]…として示される。
【0054】
4022において、入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込みEmbedding処理を行う。
【0055】
部分は、実施例1におけるステップ202と類似するので、ここで再度説明されない。
【0056】
4023において、Embedding処理の結果をTransformerモデルの入力として、Transformerモデルによりサンプルリソースのソートスコアを出力する。
【0057】
Transformerモデルの構成は
図3を参照でき、各層の処理は実施例における説明を参照し、ここで再度説明される。
【0058】
4024において、ソートスコアによりTransformerモデルのパラメータを最適化し、トレーニングの目的は、Transformerモデルによって出力された各サンプルリソースに対するソートスコアがトレーニングデータにおけるソート情報に準拠することを含む。
【0059】
トレーニングサンプルがquery、queryに対応するウェブページのTitle1、Title2、Title3、Title4であると、Title1>Title2>Title3>Title4のようにソートされる。Transformerモデルのパラメータを最適化する場合に、できるだけTransformerモデルによるTitle1、Title2、Title3、Title4のソートスコアも高から低になるようにする。
【0060】
トレーニングサンプルがquery、queryに対応する正のサンプルウェブページTitle2、Title4、及びqueryに対応する負のサンプルウェブページTitle1、Title3であると、そのトレーニングの目的は、Transformerモデルによって出力された正のサンプルリソースに対するソートスコアが負のサンプルリソースに対するソートスコアよりも優れることである。例えば、損失関数は、数式1として構築される。
【数1】
その中、qはトレーニングサンプルにおけるqueryを指し、Dはトレーニングサンプルにおけるqueryからなるセットであり、Title+は正のサンプルウェブページのタイトルを示し、Title-は負のサンプルウェブページのタイトルを示し、Score
Title-は負のサンプルウェブページのスコアを示し、Score
Title+は正のサンプルウェブページのスコアを示し、αは0から1の定数である。
【0061】
なお、好ましい実施形態として、上記のトレーニングプロセスにおいて、Transformerモデルのパラメータを最適化するとともに、Embedding処理で採用されるパラメータを最適化することもできる。即ち、単語Embedding、位置Embedding及び文Embeddingの処理で採用されるパラメータを最適化することにより、Embeddingの処理もが徐々に最適化されるようにする。
【0062】
また、上記のトレーニングプロセスにおいて、Transformerモデルのモデルパラメータはトレーニングの開始時に初期化し、次に、モデルパラメータを徐々に最適化してもよい。他の方式でプレトレーニングされたTransformerモデルのモデルパラメータを採用し、次に、上記のモデルトレーニングプロセスにおいて直接にプレトレーニングされたTransformerモデルのモデルパラメータに基づいて、上記の実施例で提供される方式を採用してさらにモデルパラメータを最適化してもよい。本出願では、Transformerモデルのプレトレーニング方式を制限しない。
【0063】
上記のトレーニング方式により、全ての候補リソース情報の大域的最適化を実現でき、即ち、Listwise(リストワイズ)という方式を採用して最適化し、1つの候補リソース情報に対してソートスコアリングを行う場合に、他の候補リソース情報のソートスコアリングを総合的に考慮し、大域的最適化される結果を学習できる。そして、本出願は、Transformerモデルに基づいて、ラベル付けデータが限られた場合に、理想的効果を獲得することもできる。
【0064】
以上、本出願で提供される方法について詳細に説明したが、以下、実施例と併せて本出願で提供される装置について詳細に説明する。
【0065】
[実施例3]
図5は本出願の実施例で提供されるリソースソート装置の構成図であり、
図5に示すように、装置は、入力モジュール01、埋め込みモジュール02及びソートモジュール03を含むことができる。なお、各構成モジュールの主たる機能は以下とおりである。
入力モジュール01は、マッチングされるアイテムと各候補リソースの情報とにおいて順に入力シーケンスを構成するために用いられる。
埋め込みモジュール02は、入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込みEmbedding処理を行うために用いられる。
ソートモジュール03は、Embedding処理の結果をソートモデルに入力して、ソートモデルによる各候補リソースのソートスコアを取得するためのものであり、なお、ソートモデルはTransformerモデルを採用して予めトレーニングすることにより得られる。
【0066】
さらに、入力モジュール01は、入力シーケンスにおいてマッチングされるアイテムと各候補リソースの情報との間にセパレータを挿入することができ、この場合に、Tokenはキャラクタ、及びセパレータを含む。
【0067】
なお、Transformerモデルは1つ以上の符号化層及びマッピング層を含む。具体的に、
図3を参照できる。
【0068】
符号化層は、入力された各要素のベクトル表現に対してAttentionメカニズム処理を行うために用いられる。
【0069】
マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、各候補リソースのソートスコアを取得するために用いられる。
【0070】
図3に示すように、最上層のTransformer Blockは、各Tokenのベクトル表現、即ち、セマンティック表現をSoftmax層に出力し、Softmax層によりマッピングして各ウェブページtitleのスコアを取得する。Transformer Blockの処理メカニズムに関して、本出願において詳細に説明せず、Transformerモデルの既存の自己アテンション処理メカニズムを使用した。
【0071】
本出願は、リソース検索シナリオに適用されてもよいし、リソース推奨シナリオに適応されてもよい。リソース検索シナリオに適用される場合に、上記のマッチングされるアイテムはquery(検索アイテム)であってもよく、各候補リソースは、例えば、ウェブページリソース、ニュースリソース、メディアリソースなどのようなタイプのリソースであってもよい。例えば、ユーザが検索エンジンにqueryを入力すると、検索エンジンは、本実施例における方式を採用して各候補ウェブページをソートし、ソート結果に従って検索結果をユーザに戻す。この場合に、各候補リソースの情報は、各ウェブページのタイトル、要約、本文、アンカーテキスト、及びその他のクリックされたqueryなどを採用することができる。
【0072】
また、例えば、ユーザがビデオアプリケーションの検索エンジンにqueryを入力すると、検索エンジンは、本実施例における方式採用して各候補ビデオをソートし、ソート結果に従って検索結果をユーザに戻す。この場合に、各候補リソースの情報は、各ビデオのタイトル、要約、コメント、ラベルなどを採用することができる。
【0073】
[実施例4]
図6は、本出願の実施例4で提供されるトレーニングソートモデルの装置構成図であり、
図6に示すように、装置は、データ取得モジュール00と、モデルトレーニングモジュール10とを含むことができる。
【0074】
データ取得モジュール00は、マッチングされるアイテム、マッチングされるアイテムに対応する少なくとも2つのサンプルリソース及び各サンプルリソースのソート情報を含むトレーニングデータを取得するために用いられる。
【0075】
本実施例において、トレーニングデータを取得する場合に、手動でラベル付けする方式を採用し、例えば、マッチングされるアイテムについて、一連のサンプルリソースを構成し、各サンプルリソースのソート情報を手動でラベル付けする。
【0076】
上記の手動でラベル付けする方式はコストが高いので、本出願の実施例において、好ましい方式を採用することができ、即ち、検索エンジンでのユーザの履歴クリック行為によりトレーニングデータを自動に生成する。例えば、検索エンジンから履歴検索ログを取得し、同一のquery(マッチングされるアイテムとして)に対応する検索結果を取得する。その中からユーザがクリックしたリソース情報と、クリックされていないリソース情報とを選んでサンプルリソースを構成し、なお、ユーザがクリックしたリソース情報はクリックされていないリソース情報よりも上位にソートされる。さらに、ユーザによるクリックされたリソース情報の閲覧時間に応じてクリックされたリソース情報のソートを確定してもよく、例えば、閲覧時間が長いほど、ソートが高くなる。
【0077】
サンプルデータとして、例えば、query、queryに対応するウェブページのTitle1、Title2、Title3、Title4であり、その中、Title1>Title2>Title3>Title4のようにソートされる。
【0078】
さらに、別のサンプルデータであるマッチングされるアイテム、及びマッチングされるアイテムに対応する少なくとも1つの正のサンプルリソースと少なくとも1つの負のサンプルリソースを採用してもよい。例えば、query、queryに対応する正のサンプルウェブページTitle2、Title4、及びqueryに対応する負のサンプルウェブページTitle1、Title3である。
【0079】
モデルトレーニングモジュール10は、トレーニングデータによりTransformerモデルをトレーニングして、ソートモデルを取得する。
【0080】
具体的に、モデルトレーニングモジュール10は、
マッチングされるアイテムと、少なくとも2つのサンプルリソースの情報とにおいて順に入力シーケンスを構成するための入力サブモジュール11を含むことができる。
【0081】
さらに、入力サブモジュール11は、入力シーケンスにおいてマッチングされるアイテムと各サンプルリソースの情報との間にセパレーを挿入することができる。この場合に、Tokenはキャラクタ、及びセパレータを含む。
【0082】
埋め込みサブモジュール12は、入力シーケンスにおける各要素Tokenに対して、単語Embedding、位置Embedding及び文Embeddingを含む埋め込みEmbedding処理を行うために用いられる。
【0083】
ソートサブモジュール13は、Embedding処理の結果をTransformerモデルの入力とし、Transformerモデルにより各サンプルリソースに対するソートスコアを出力するために用いられる。
【0084】
さらに、Transformerモデルは1つ以上の符号化層及びマッピング層を含む。
符号化層は、入力された各要素のベクトル表現に対してAttentionメカニズム処理を行うために用いられる。
マッピング層は、最後の符号化層に対して出力されたベクトル表現をマッピングして、入力シーケンスにおける各サンプルリソースに対するソートスコアを取得するために用いられる。
【0085】
最適化サブモジュール14は、ソートスコアによりTransformerモデルのパラメータを最適化するために用いられ、トレーニングの目的は、Transformerモデルによって出力された各サンプルリソースに対するソートスコアがトレーニングデータにおけるソート情報に準拠することを含む。
【0086】
トレーニングサンプルがquery、queryに対応するウェブページのTitle1、Title2、Title3、Title4であると、Title1>Title2>Title3>Title4のようにソートされる。Transformerモデルのパラメータを最適化する場合に、できるだけTransformerモデルによるTitle1、Title2、Title3、Title4のソートスコアも高から低になるようにする。
【0087】
トレーニングサンプルがquery、queryに対応する正のサンプルウェブページTitle2、Title4、及びqueryに対応する負のサンプルウェブページTitle1、Title3であると、そのトレーニングの目的は、Transformerモデルによって出力された正のサンプルリソースに対するソートスコアが負のサンプルリソースに対するソートスコアよりも優れることである。
【0088】
好ましい実施形態として、最適化サブモジュール14は、ソートスコアによりTransformerモデルのパラメータを最適化するとともに、埋め込みサブモジュール12を、Embedding処理を行うために採用されるパラメータを最適化する。
【0089】
本出願の実施例によれば、本出願は、さらに、電子機器、及びコンピュータ可読記憶媒体を提供する。
【0090】
図7に示すように、本出願の実施例によるソート方法、又はソートモデルをトレーニングする方法の電子機器のブロック図である。電子機器は、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子機器は、様々な形式のモバイル装置、例えば、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。明細書で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び/又は請求される本出願の実現を限定することが意図されない。
【0091】
図7に示すように、この電子機器は、一つ又は複数のプロセッサ701、メモリ702、及び各構成要素に接続するためのインターフェースを含み、高速インターフェース及び低速インターフェースを含む。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子機器内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力/出力装置(例えば、インターフェースに結合される表示装置)にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び/又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子機器が接続されてもよく、それぞれの装置が必要な操作の一部を提供する(例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする)。
図7において、一つのプロセッサ701を例にとる。
【0092】
メモリ702は、本出願で提供される非一時的コンピュータ可読記録媒体である。なお、メモリ記憶装置には、少なくとも1つのプロセッサが本出願で提供されるソート方法又はソートモデルをトレーニングする方法を実行するように、少なくとも1つのプロセッサに実行可能なコマンドが記憶されている。本出願の非一時的コンピュータ可読記録媒体は、本出願で提供されるソート方法又はソートモデルをトレーニングする方法をコンピュータに実行させるためのコンピュータコマンドが記憶されている。
【0093】
メモリ702は、非一時的コンピュータ可読記録媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本出願の実施例におけるソート方法又はソートモデルをトレーニングする方法に対応するプログラムコマンド/モジュールを記憶するために用いられる。プロセッサ701は、メモリ702に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の方法実施例におけるソート方法又はソートモデルをトレーニングする方法を実現する。
【0094】
メモリ702は、記憶プログラム領域及び記憶データ領域を含んでもよく、記憶プログラム領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、記憶データ領域は電子機器の使用により作成されたデータなどを記憶してもよい。また、メモリ702は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリ702は、プロセッサ701に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介してクエリワードqueryを解析する方法の電子機器に接続されてもよい。上記のネットワークの例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0095】
電子装置は、入力装置703及び出力装置704をさらに含むことができる。プロセッサ701、メモリ702、入力装置703及び出力装置704は、バス又は他の態様で接続されてもよく、
図7に、バスで接続されることを例にとる。
【0096】
入力装置703は、入力された数字又はキャラクタ情報を受信し、電子機器のユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置704は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含むことができる。表示装置は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、及びプラズマディスプレイを含み得るが、これらに限定されない。 いくつかの実施形態では、表示装置はタッチスクリーンであってもよい。
【0097】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向け集積回路(ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラム可能なシステム上で実行可能及び/又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【0098】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される)は、プログラマブルプロセッサの機械コマンドを含み、高水準のプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械コマンドを受け取る機械可読媒体を含むプログラマブルプロセッサに機械コマンド及び/又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械コマンド及び/又はデータを提供するために用いられる任意の信号を指す。
【0099】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス(例えば、マウスや、トラックボール)を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバック)であり得、ユーザからの入力は、任意の形態で(音響、発話、又は触覚による入力を含む)受信され得る。
【0100】
本明細書に説明されるシステムと技術の実施は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、グラフィカルユーザインターフェースもしくはウェブブラウザを通じて本明細書で説明されるシステムと技術的実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。ステムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0101】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント―サーバの関係にあるコンピュータプログラムによって生じる。
【0102】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本出願に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本出願で開示された技術案の望ましい結果を達成できる限り、ここで制限されない。
【0103】
上記の具体的な実施形態は本出願の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本出願の精神及び原則の範囲内で行われる修正、同等の置換、改善は、本出願の保護範囲内に含まれるべきである。