IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッドの特許一覧

特許7379804検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体
<>
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図1
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図2
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図3
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図4
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図5
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図6
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図7
  • 特許-検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体
(51)【国際特許分類】
   G06F 16/953 20190101AFI20231108BHJP
【FI】
G06F16/953
【請求項の数】 24
(21)【出願番号】P 2022506430
(86)(22)【出願日】2020-05-28
(65)【公表番号】
(43)【公表日】2022-09-15
(86)【国際出願番号】 CN2020092742
(87)【国際公開番号】W WO2021128729
(87)【国際公開日】2021-07-01
【審査請求日】2022-02-14
(31)【優先権主張番号】201911373544.1
(32)【優先日】2019-12-27
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】フアン、ジジョウ
(72)【発明者】
【氏名】ワン、ハイフェン
(72)【発明者】
【氏名】ジャン、ウェイ
【審査官】原 秀人
(56)【参考文献】
【文献】米国特許出願公開第2019/0377738(US,A1)
【文献】特開2018-181326(JP,A)
【文献】山口 瑶子 外,Web閲覧履歴を用いたTV番組推薦システム,第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online],日本,電子情報通信学会データ工学研究専門委員会,2010年05月25日,pp. 1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コンピュータにより実行される、検索結果を決定する方法であって、
ユーザの現在のquery、第1の期間における前記ユーザの検索履歴情報、前記第1の期間より長い第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を取得して、検索結果ランキングモデルに入力し、前記検索結果ランキングモデルが前記候補検索結果に対する評価に基づいて、前記現在のqueryに対応する検索結果を決定するステップを含み、
前記検索結果ランキングモデルが前記候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記現在のqueryのベクトル表現と第1の期間における前記ユーザの検索履歴情報のベクトル表現との統合と、前記候補検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記現在のqueryのベクトル表現と第2の期間における前記ユーザの検索履歴情報のベクトル表現との統合と、前記候補検索結果のベクトル表現との間の類似度であ
ユーザが第2の期間内に検索したquery集合とクリックした検索結果集合とを取得し、前記query集合と前記検索結果集合とに対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行うことにより、第2の期間における前記ユーザの検索履歴情報のベクトル表現を取得するステップをさらに含む、
検索結果を決定する方法。
【請求項2】
第1の期間における前記ユーザの検索履歴情報は、同じセッションにおける前記現在のqueryの前のqueryシーケンスとqueryシーケンス内の各queryに対応するクリックされた検索結果を含む、
請求項1に記載の検索結果を決定する方法。
【請求項3】
第1の期間における前記ユーザの検索履歴情報のベクトル表現は、
前記queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現とに対して注意機構を使用して重み付け処理を行うことにより、取得される、
請求項2に記載の検索結果を決定する方法。
【請求項4】
前記候補検索結果は、関連ウェブページまたは関連エンティティを含み、
関連エンティティのベクトル表現は、前記関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である、
請求項1に記載の検索結果を決定する方法。
【請求項5】
検索結果ページに前記現在のqueryに対応する検索結果を表示するステップをさらに含む、
請求項1またはに記載の検索結果を決定する方法。
【請求項6】
コンピュータにより実行される、検索結果ランキングモデルをトレーニングする方法であって、
検索ログを使用してトレーニングサンプルを取得するステップであって、前記トレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含むステップと、
前記トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成するステップであって、前記ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を含み、前記ランキングモデルの出力は、各検索結果に対する評価を含み、前記ランキングモデルが各検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定され、前記第1の類似度は、前記サンプルqueryのベクトル表現と前記第1の期間内の検索履歴情報のベクトル表現との統合と、前記検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記サンプルqueryのベクトル表現と前記第2の期間内の検索履歴情報のベクトル表現との統合と、前記検索結果のベクトル表現との間の類似度であり、前記トレーニングターゲットは、検索結果のクリック状況と検索結果の評価との間の相関度を最大化することを含むステップと、
トレーニングされたランキングモデルを使用して、検索結果ランキングモデルを取得するステップと、を含
ユーザがサンプルqueryを入力する前の第2の期間内に検索するquery集合とクリックされた検索結果集合とを取得し、前記query集合と前記検索結果集合とに対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行うことにより、前記ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現を取得するステップをさらに含む、
検索結果ランキングモデルをトレーニングする方法。
【請求項7】
前記ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報は、同じセッション内の前記サンプルqueryの前のqueryシーケンスと、queryシーケンス内の各queryに対応するクリックされた検索結果を含む、
請求項に記載の検索結果ランキングモデルをトレーニングする方法。
【請求項8】
前記ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報のベクトル表現は、
前記queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現とに対して注意機構を使用して重み付け処理を行うことにより、取得される、
請求項に記載の検索結果ランキングモデルをトレーニングする方法。
【請求項9】
前記検索結果は、関連ウェブページまたは関連エンティティを含み、
関連エンティティのベクトル表現は、前記関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である、
請求項に記載の検索結果ランキングモデルをトレーニングする方法。
【請求項10】
前記検索結果は、第1類の検索結果と第2類の検索結果を含み、
前記ランキングモデルは、共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルを含み、
前記サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を前記共有ベクトルサブモデルに入力して、前記共有ベクトルサブモデルによって出力された前記サンプルqueryのベクトル表現と前記第1の期間内の検索履歴情報のベクトル表現との統合、及び前記サンプルqueryのベクトル表現と前記第2の期間内の検索履歴情報のベクトル表現との統合を取得し、
前記共有ベクトルサブモデルの出力及びサンプルqueryの第1類の検索結果を前記第1のランキングサブモデルに入力して、前記第1類の検索結果の評価を取得し、前記共有ベクトルサブモデルの出力及びサンプルqueryの第2類の検索結果を前記第2のランキングサブモデルに入力して、前記第2類の検索結果の評価を取得し、
前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行って、予め設定されたトレーニングターゲットを達成し、前記トレーニングターゲットは、第1類の検索結果のクリック状況と第1類の検索結果の評価との間の相関度を最大化することと、第2類の検索結果のクリック状況と第2類の検索結果の評価との間の相関度を最大化することと、を含み、
トレーニングが終了した後、前記第1のランキングサブモデル及び前記第2のランキングサブモデルのうちの一つと、前記共有ベクトルサブモデルを使用して、前記検索結果ランキングモデルを取得する、
請求項6~9のいずれか一項に記載の検索結果ランキングモデルをトレーニングする方法。
【請求項11】
前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行うステップは、
トレーニングの反復プロセス中に、毎回ランダムに前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新すること、または、
トレーニングの反復プロセス中に、毎回交互に前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新すること、または、
トレーニングの反復プロセス中に、毎回に前記第1のランキングサブモデルと前記第2のランキングサブモデルをトレーニングし、前記第1のランキングサブモデルと前記第2のランキングサブモデルの出力を使用してすべてのサブモデルのモデルパラメータを更新すること、を含む、
請求項10に記載の検索結果ランキングモデルをトレーニングする方法。
【請求項12】
検索結果を決定する装置であって、
ユーザの現在のquery、第1の期間における前記ユーザの検索履歴情報、前記第1の期間より長い第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を取得するための取得ユニットと、
前記現在のquery、第1の期間における前記ユーザの検索履歴情報、第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を検索結果ランキングモデルに入力して、前記検索結果ランキングモデルが前記候補検索結果に対する評価に基づいて、前記現在のqueryに対応する検索結果を決定するための決定ユニットと、を含み、
前記検索結果ランキングモデルが前記候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記現在のqueryのベクトル表現と、第1の期間における前記ユーザの検索履歴情報のベクトル表現との統合と前記候補検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記現在のqueryのベクトル表現と第2の期間における前記ユーザの検索履歴情報のベクトル表現との統合と、前記候補検索結果のベクトル表現との間の類似度であ
前記決定ユニットは、さらに、ユーザが第2の期間内に検索したquery集合とクリックした検索結果集合とを取得し、前記query集合と前記検索結果集合とに対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行うことにより、第2の期間における前記ユーザの検索履歴情報のベクトル表現を取得する、
検索結果を決定する装置。
【請求項13】
第1の期間における前記ユーザの検索履歴情報は、同じセッションにおける前記現在のqueryの前のqueryシーケンスとqueryシーケンス内の各queryに対応するクリックされた検索結果を含む、
請求項12に記載の検索結果を決定する装置。
【請求項14】
前記候補検索結果は、関連ウェブページまたは関連エンティティを含み、
関連エンティティのベクトル表現は、前記関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である、
請求項12に記載の検索結果を決定する装置。
【請求項15】
検索結果ランキングモデルをトレーニングする装置であって、
検索ログを使用してトレーニングサンプルを取得するためのサンプル取得ユニットであって、前記トレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含むサンプル取得ユニットと、
前記トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成するためのモデルトレーニングユニットであって、前記ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を含み、前記ランキングモデルの出力は、各検索結果に対する評価を含み、前記ランキングモデルが各検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定され、前記第1の類似度は、前記サンプルqueryのベクトル表現と前記第1の期間内の検索履歴情報のベクトル表現との統合と、前記検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記サンプルqueryのベクトル表現と前記第2の期間内の検索履歴情報のベクトル表現との統合と、前記検索結果のベクトル表現との間の類似度であり、前記トレーニングターゲットは、検索結果のクリック状況と検索結果の評価との間の相関度を最大化することを含むモデルトレーニングユニットと、
トレーニングされたランキングモデルを使用して、検索結果ランキングモデルを取得するためのモデル取得ユニットと、を含
前記モデルトレーニングユニットは、さらに、ユーザがサンプルqueryを入力する前の第2の期間内に検索するquery集合とクリックされた検索結果集合とを取得し、前記query集合と前記検索結果集合とに対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行うことにより、前記ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現を取得する、
検索結果ランキングモデルをトレーニングする装置。
【請求項16】
前記ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報は、同じセッション内の前記サンプルqueryの前のqueryシーケンスと、queryシーケンス内の各queryに対応するクリックされた検索結果を含む、
請求項15に記載の検索結果ランキングモデルをトレーニングする装置。
【請求項17】
前記検索結果は、第1類の検索結果と第2類の検索結果を含み、
前記ランキングモデルは、共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルを含み、
前記モデルトレーニングユニットは、具体的には、前記サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を前記共有ベクトルサブモデルに入力して、前記共有ベクトルサブモデルによって出力された前記サンプルqueryのベクトル表現と前記第1の期間内の検索履歴情報のベクトル表現との統合、及び前記サンプルqueryのベクトル表現と前記第2の期間内の検索履歴情報のベクトル表現との統合を取得し、前記共有ベクトルサブモデルの出力及びサンプルqueryの第1類の検索結果を前記第1のランキングサブモデルに入力して、前記第1類の検索結果の評価を取得し、前記共有ベクトルサブモデルの出力及びサンプルqueryの第2類の検索結果を前記第2のランキングサブモデルに入力して、前記第2類の検索結果の評価を取得し、前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行って、予め設定されたトレーニングターゲットを達成するために用いられ、前記トレーニングターゲットは、第1類の検索結果のクリック状況と第1類の検索結果の評価との間の相関度を最大化することと、第2類の検索結果のクリック状況と第2類の検索結果の評価との間の相関度を最大化することと、を含み、
前記モデル取得ユニットは、具体的には、前記モデルトレーニングユニットのトレーニングが終了した後、前記第1のランキングサブモデル及び前記第2のランキングサブモデルのうちの一つと、前記共有ベクトルサブモデルを使用して、前記検索結果ランキングモデルを取得するために用いられる、
請求項15または16に記載の検索結果ランキングモデルをトレーニングする装置。
【請求項18】
前記モデルトレーニングユニットが、前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行う時、具体的には、
トレーニングの反復プロセス中に、毎回ランダムに前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新すること、または、
トレーニングの反復プロセス中に、毎回交互に前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新すること、または、
トレーニングの反復プロセス中に、毎回に前記第1のランキングサブモデルと前記第2のランキングサブモデルをトレーニングし、前記第1のランキングサブモデルと前記第2のランキングサブモデルの出力を使用してすべてのサブモデルのモデルパラメータを更新すること、を実行する、
請求項17に記載の検索結果ランキングモデルをトレーニングする装置。
【請求項19】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが請求項1~のいずれかの一つに記載の検索結果を決定する方法を実行する、
電子機器。
【請求項20】
電子機器であって、
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが請求項6~11のいずれかの一つに記載の検索結果ランキングモデルをトレーニングする方法を実行する、
電子機器。
【請求項21】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、前記コンピュータに請求項1~のいずれかの一つに記載の検索結果を決定する方法を実行させる、
非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項22】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令は、前記コンピュータに請求項6~11のいずれかの一つに記載の検索結果ランキングモデルをトレーニングする方法を実行させる、
非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項23】
コンピュータに請求項1~のいずれかの一つに記載の検索結果を決定する方法を実行させる、
コンピュータプログラム。
【請求項24】
コンピュータに請求項6~11のいずれかの一つに記載の検索結果ランキングモデルをトレーニングする方法を実行させる、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は出願日が2019年12月27日であり、出願番号が201911373544.1であり、発明の名称が「検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体」である中国特許出願の優先権を主張する。
本出願はコンピュータアプリケーション技術の分野に関し、特に、インテリジェント検索の分野で検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体に関する。
【背景技術】
【0002】
近年、ユーザにより豊富な検索結果及びより良い検索体験を提供するために、主流の検索エンジンは、すべてユーザの検索に関連エンティティの推奨を提供する。例えば、ユーザが検索エンジンを使用してキーワード「シカゴ」を検索する場合、検索結果ページに図1に示すような関連エンティティ推奨を提供する。図1の左側部分に「シカゴ」のドキュメント検索結果を表示し、右側部分に「シカゴ」のエンティティ推奨結果(エンティティ推奨結果は、検索結果と見なすこともでき、入力した検索キーワードに関連するエンティティである)を表す。例えば、「サンフランシスコベイエリア」、「イリノイ州」、「テキサス州」、「オヘア国際空港」、「ミシガン湖」などの関連エンティティを推奨する。バイドゥを例にとると、関連エンティティ推奨の結果は、検索結果ページの右側の領域に表示し、もちろん、検索結果ページの他の領域に表示することもでき、複数のカテゴリの形式で関連エンティティを表示することもできる。
【0003】
しかし、従来の関連エンティティ推奨は、ユーザの現在の検索キーワードのみを考慮しており、同じ検索キーワードについて、すべてのユーザに対して同じ関連エンティティ推奨を行う。しかし、この状況では、曖昧な検索キーワードの関連エンティティが不正確の問題を解決することができない。例えば、ユーザの現在の検索キーワードは「シカゴ」である場合、ユーザが、都市、映画、それともオペラを指しているかを知ることができなくなるので、関連エンティティを推奨する時にユーザのニーズを正確に反映できないのは必然である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これに鑑みて、本開示は、ユーザのニーズをより正確に反映する検索結果をユーザに提供するために、検索結果を決定する方法、装置、機器、及びコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0005】
第1の態様によれば、本開示は、検索結果を決定する方法を提供し、当該方法は、
ユーザの現在のquery、第1の期間における前記ユーザの検索履歴情報、第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を取得して、検索結果ランキングモデルに入力し、前記検索結果ランキングモデルが前記候補検索結果に対する評価に基づいて、前記現在のqueryに対応する検索結果を決定するステップを含み、前記第2の期間は、前記第1の期間より長く、
前記検索結果ランキングモデルが前記候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記現在のqueryのベクトル表現と、第1の期間における前記ユーザの検索履歴情報のベクトル表現の統合と、前記候補検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記現在のqueryのベクトル表現と、第2の期間における前記ユーザの検索履歴情報のベクトル表現の統合と、前記候補検索結果のベクトル表現との間の類似度である。
【0006】
本開示の好ましい実施形態によれば、第1の期間における前記ユーザの検索履歴情報は、同じセッションにおける前記現在のqueryの前のqueryシーケンスとqueryシーケンス内の各queryに対応するクリックされた検索結果を含み、
第2の期間における前記ユーザの検索履歴情報は、前記ユーザが第2の期間内に検索したqueryとクリックされた検索結果を含む。
【0007】
本開示の好ましい実施形態によれば、第1の期間における前記ユーザの検索履歴情報のベクトル表現は、以下の方式で取得し、
前記queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現に対して注意機構を使用して重み付け処理を行って、第1の期間における前記ユーザの検索履歴情報のベクトル表現を取得する。
【0008】
本開示の好ましい実施形態によれば、第2の期間における前記ユーザの検索履歴情報のベクトル表現は、以下の方式で取得し、
ユーザが第2の期間内に検索したquery集合とクリックした検索結果集合を取得し、
前記query集合と検索結果集合に対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、
前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行って、第2の期間における前記ユーザの検索履歴情報のベクトル表現を取得する。
【0009】
本開示の好ましい実施形態によれば、前記候補検索結果は、関連ウェブページまたは関連エンティティを含み、
関連エンティティのベクトル表現は、前記関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である。
【0010】
本開示の好ましい実施形態によれば、当該方法は、
検索結果ページに前記現在のqueryに対応する検索結果を表示するステップをさらに含む。
【0011】
第2の態様によれば、本開示は、検索結果ランキングモデルをトレーニングする方法を提供し、当該方法は、
検索ログを使用してトレーニングサンプルを取得するステップであって、前記トレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含むステップと、
前記トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成するステップであって、前記ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を含み、前記ランキングモデルの出力は、各検索結果に対する評価を含み、前記ランキングモデルが各検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記サンプルqueryのベクトル表現と、前記第1の期間内の検索履歴情報のベクトル表現の統合と、前記検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記サンプルqueryのベクトル表現と、前記第2の期間内の検索履歴情報のベクトル表現の統合と、前記検索結果のベクトル表現との間の類似度であり、前記トレーニングターゲットは、検索結果のクリック状況と検索結果の評価との間の相関度を最大化することを含むステップと、
トレーニングされたランキングモデルを使用して、検索結果ランキングモデルを取得するステップと、を含む。
【0012】
本開示の好ましい実施形態によれば、前記ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報は、同じセッション内の前記サンプルqueryの前のqueryシーケンスと、queryシーケンス内の各queryに対応するクリックされた検索結果を含み、
前記ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報は、前記ユーザがサンプルqueryを入力する前の第2の期間内に検索するqueryとクリックされた検索結果を含む。
【0013】
本開示の好ましい実施形態によれば、前記ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報のベクトル表現は、以下の方式で取得し、
前記queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現に対して注意機構を使用して重み付け処理を行って、第1の期間における前記ユーザの検索履歴情報のベクトル表現を取得する。
【0014】
本開示の好ましい実施形態によれば、前記ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現は、以下の方式で取得し、
ユーザがサンプルqueryを入力する前の第2の期間内に検索するquery集合とクリックされた検索結果集合を取得し、
前記query集合と検索結果集合に対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、
前記単語集合に対して文ベクトルの分散ワードバッグPV-DBOWを使用してエンコーディング処理を行って、前記ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現を取得する。
【0015】
本開示の好ましい実施形態によれば、前記検索結果は、関連ウェブページまたは関連エンティティを含み、
関連エンティティのベクトル表現は、前記関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である。
【0016】
本開示の好ましい実施形態によれば、前記検索結果は、第1類の検索結果と第2類の検索結果を含み、
前記ランキングモデルは、共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルを含み、
前記サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を前記共有ベクトルサブモデルに入力して、前記共有ベクトルサブモデルによって出力された前記サンプルqueryのベクトル表現と前記第1の期間内の検索履歴情報のベクトル表現の統合、及び前記サンプルqueryのベクトル表現と前記第2の期間内の検索履歴情報のベクトル表現の統合を取得し、
前記共有ベクトルサブモデルの出力及びサンプルqueryの第1類の検索結果を前記第1のランキングサブモデルに入力して、前記第1の検索結果の評価を取得し、前記共有ベクトルサブモデルの出力及びサンプルqueryの第2類の検索結果を前記第2のランキングサブモデルに入力して、前記第2の検索結果の評価を取得し、
前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行って、予め設定されたトレーニングターゲットを達成し、前記トレーニングターゲットは、第1類の検索結果のクリック状況と第1類の検索結果の評価との間の相関度を最大化することと、第2類の検索結果のクリック状況と第2類の検索結果の評価との間の相関度を最大化することと、を含み、
トレーニングが終了した後、前記第1のランキングサブモデル及び前記第2のランキングサブモデルのうちの一つと、前記共有ベクトルサブモデルを使用して、前記検索結果ランキングモデルを取得する。
【0017】
本開示の好ましい実施形態によれば、前記第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行うステップは、
トレーニングの反復プロセス中に、毎回ランダムに前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新することと、または、
トレーニングの反復プロセス中に、毎回交互に前記第1のランキングサブモデルと前記第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新することと、または、
トレーニングの反復プロセス中に、毎回すべての前記第1のランキングサブモデルと前記第2のランキングサブモデルをトレーニングし、前記第1のランキングサブモデルと前記第2のランキングサブモデルの出力を使用してすべてのサブモデルのモデルパラメータを更新することと、を含む。
【0018】
第3の態様によれば、本開示は、検索結果を決定する装置を提供し、当該装置は、
ユーザの現在のquery、第1の期間における前記ユーザの検索履歴情報、第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を取得するための取得ユニットと、
前記現在のquery、第1の期間における前記ユーザの検索履歴情報、第2の期間における前記ユーザの検索履歴情報、及び現在のqueryの候補検索結果を検索結果ランキングモデルに入力して、前記検索結果ランキングモデルが前記候補検索結果に対する評価に基づいて、前記現在のqueryに対応する検索結果を決定するための決定ユニットであって、前記第2の期間は、前記第1の期間より長い決定ユニットと、を含み、
前記検索結果ランキングモデルが前記候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記現在のqueryのベクトル表現と、第1の期間における前記ユーザの検索履歴情報のベクトル表現の統合と、前記候補検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記現在のqueryのベクトル表現と、第2の期間における前記ユーザの検索履歴情報のベクトル表現の統合と、前記候補検索結果のベクトル表現との間の類似度である。
【0019】
第4の態様によれば、本開示は、検索結果ランキングモデルをトレーニングする装置を提供了し、当該装置は、
検索ログを使用してトレーニングサンプルを取得するためのサンプル取得ユニットであって、前記トレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含むサンプル取得ユニットと、
前記トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成するためのモデルトレーニングユニットであって、前記ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を含み、前記ランキングモデルの出力は、各検索結果に対する評価を含み、前記ランキングモデルが各検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、前記第1の類似度は、前記サンプルqueryのベクトル表現と、前記第1の期間内の検索履歴情報のベクトル表現の統合と、前記検索結果のベクトル表現との間の類似度であり、前記第2の類似度は、前記サンプルqueryのベクトル表現と、前記第2の期間内の検索履歴情報のベクトル表現の統合と、前記検索結果のベクトル表現との間の類似度であり、前記トレーニングターゲットは、検索結果のクリック状況と検索結果の評価との間の相関度を最大化することを含むモデルトレーニングユニットと、
トレーニングされたランキングモデルを使用して、検索結果ランキングモデルを取得するためのモデル取得ユニットと、を含む。
【0020】
第5の態様によれば、本開示は電子機器を提供し、含む:
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに前記少なくとも一つのプロセッサにより実行可能な命令が記憶されており、前記命令が前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサが上記の方法を実行する、
【0021】
第6態様によれば、本開示は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、前記コンピュータに上記の方法を実行させる。
【0022】
上記の技術案から、本開示は、検索結果を決定する時にユーザの短期検索履歴に反映される検索コンテキストの情報及び長期検索履歴に反映されるユーザ個別化の好みを総合的に考慮することによって、検索結果の正確性を向上させて、ユーザの検索ニーズにより適合するようにする。それがエンティティ推奨に適用する時、現在のqueryの曖昧さを解消することができ、ユーザ検索ニーズに適合するより正確な関連エンティティを提供することができる。
【0023】
上記の選択可能な方式が備える他の効果は、以下で具体的な実施例を組み合わせして説明する。
【図面の簡単な説明】
【0024】
図面は、本開示をより良く理解するためのものであり、本開示を限定しない。
図1】検索結果ページで関連エンティティ推奨を提供する例示的な図である。
図2】本開示の実施例1により提供される関連エンティティ推奨の方法のフローチャートである。
図3】本開示の実施例1により提供されるエンティティランキングモデルの概略構造図である。
図4】本開示の実施例2により提供されるエンティティランキングモデルをトレーニングする方法のフローチャートである。
図5】本開示の実施例3により提供されるエンティティランキングモデルの概略構造図である。
図6】本開示の実施例により提供される検索結果を決定する装置の構造図である。
図7】本開示の実施例により提供される検索結果ランキングモデルをトレーニングする装置の構造図である。
図8】本開示の実施例を実現するための電子機器のブロック図である。
【発明を実施するための形態】
【0025】
以下、図面に基づいて、本開示の例示の実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0026】
本開示により提供される方法は、コンピュータまたはプロセッサによって実行されるコンピュータシステムの検索エンジンに適用され、ユーザの履歴クエリを使用して検索結果を決定する効果を向上させるためにサーバ側に設けることができる。ユーザがブラウザまたはクライアントで現在のqueryを入力した後、ブラウザまたはクライアントは、現在のqueryをサーバ側に送信し、サーバ側は、本開示の実施例で提供される方法を使用して検索結果を決定した後、検索結果をブラウザまたはクライアントに送信する。本開示の実施例に関する検索結果は関連エンティティまたは関連ウェブページを含むことができる。つまり、本開示により提供される方式は、現在のqueryに対して関連エンティティ推奨を行うために使用することができ、現在のqueryに対して関連ウェブページ推奨を行うために使用することもできる。
【0027】
後続の実施例では、すべて現在のqueryに対して関連エンティティ推奨を行うことを例として、関連ウェブページを推奨する原理と類似する。以下は、実施例を組み合わせて本開示を詳細に説明する。
【0028】
実施例1
図2は、本開示の実施例1により提供される関連エンティティ推奨の方法のフローチャートである。図2に示すように、当該方法は、以下のようなステップを含むことができる。
201では、ユーザの現在のquery(検索キーワード)、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの候補関連エンティティを取得し、第2の期間は、第1の期間より長い。
【0029】
従来のエンティティ推奨システムは、現在のqueryのみに基づいて推奨し、現在のqueryは、ユーザが現在入力したqueryを指し、ユーザの実際の検索ニーズを理解できないため、関連エンティティ推奨が不正確になり、ユーザのニーズに満たさない。
【0030】
研究を通じて、検索履歴は非常に価値のある手がかりを提供することができ、これらの手がかりは、ユーザの実際のニーズをより適切に把握するのに役立ちことを見つけた。検索履歴は、短期(short-term)検索履歴と長期(long-term)検索履歴の2種類に分けられることができる。短期検索履歴は、本開示の第1の期間におけるユーザの検索履歴情報に対応することができ、長期検索履歴は、本開示の第2の期間におけるユーザの検索履歴情報に対応することができる。
【0031】
短期検索履歴は、現在のqueryと同じ検索セッションにある前のユーザの行爲を含むことができ、例えば、同じセッションにおける現在のqueryの前のqueryシーケンス及びqueryシーケンス内の各queryに対応するクリックされた検索結果である。クリックされた検索結果は、検索結果ページでクリックされたウェブページであってもよく、クリックされた関連エンティティであってもよい。短期検索履歴は、現在のqueryのコンテキスト情報と見なすことができ、それは、ユーザの短期的な即時の関心を反映することができる。ユーザが「シカゴ(芝加哥)」を検索する前に、同じセッションで「夢を追う女性」も検索した場合、ユーザは映画により興味を持つ確率が高い。同様に、その前にユーザがオペラに関連する検索結果、推奨エンティティをクリックした場合、ユーザは、オペラにより興味を持つ可能性がある。
【0032】
その中、上記の「セッション」(session)は、検索セッションを指し、ここで一つの広く使用されている検索セッションの決定方式を使用することができる。ユーザが第1の期間(例えば30分)の前に任意の検索行爲を行わなかった場合、当該第1の期間内の最初の検索行爲を今回のsessionの開始とすることができる。つまり、ユーザが30分以内に継続的な検索行爲がある場合、この30分以内の継続的な検索行爲は、すべて同じsessionに属する。
【0033】
長期検索履歴は、現在のqueryの前の第2の期間内のユーザのすべての検索行爲と指し、第2の期間内の当該ユーザのすべてのsession内のすべてのユーザ検索行爲を含み、入力されたquery、検索結果ページでクリックされたウェブページ、クリックされた関連エンティティを含む。長期検索履歴は、ユーザの長期的な内在的な関心の好みを反映する。一つのユーザが常にオペラに関連するqueryを検索し、オペラに関連するウェブページと関連エンティティをクリックし、ユーザが「シカゴ」を検索する場合、ユーザにオペラに関連するエンティティを推奨したほうがいい。長期検索履歴は、個人化されたエンティティ推奨システムを構築するのに非常に役立つ。
【0034】
本開示では、上記の第1の期間は、分レベル、時間レベル、例えば、30分を選択することができる。上記の第2の期間は、日レベル、月レベル、例えば、3ヶ月を選択することができる。
【0035】
本開示の実施例では、現在のqueryの候補関連エンティティの取得方式を限定せず、例えば、テキストセットから予め設定された長さのウィンドウ内で与現在のqueryと共起するエンティティを選択し、予め設定された共起回数を満たすエンティティを現在のqueryの候補関連エンティティとすることができる。
【0036】
202では、ユーザの現在のquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの候補関連エンティティをエンティティランキングモデルに入力して、エンティティランキングモデルが候補関連エンティティに対する評価に基づいて、現在のqueryの推奨関連エンティティを決定する。
【0037】
検索結果ランキングモデルが候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、第1の類似度は、現在のqueryのベクトル表現及び第1の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補関連エンティティのベクトル表現との間の類似度であり、第2の類似度は、現在のqueryのベクトル表現及び第2の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補関連エンティティのベクトル表現との間の類似度である。
【0038】
本開示の実施例では、エンティティランキングモデルを使用して現在のqueryの各候補関連エンティティを評価し、評価に基づいて現在のqueryの推奨関連エンティティを決定する。例えば、評価が一定の要求を満たす候補関連エンティティを推奨関連エンティティとすることができ、さらに、評価に基づいて推奨関連エンティティの表示位置に対してランキングする。その中、評価が一定の要求を満たすことは、評価が前のM個にランク付けされており、Mは予め設定された正の整数であるか、または、評価が予め設定された閾値を超えていることを含むことができる。
【0039】
本開示の実施例では、エンティティランキングモデルは、トレーニングデータを予めトレーニングすることで取得され、実施例2では、エンティティランキングモデルのトレーニング方法を詳細に説明する。
【0040】
トレーニングされたエンティティランキングモデルは、入力されたユーザの現在のquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの候補関連エンティティに対して、各候補関連エンティティに対する評価を出力することができる。エンティティランキングモデルの構造は、図3に示すように、一つのベクトルサブモデルと一つのランキングサブモデルで構成することができる。
【0041】
その中、現在の検索キーワードquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報をベクトルサブモデルの入力とし、ベクトルサブモデルは、現在のqueryのベクトル表現及び第1の期間におけるユーザの検索履歴情報のベクトル表現の統合を出力する。ベクトルサブモデルの出力及び現在のqueryの候補関連エンティティをランキングサブモデルの入力とし、ランキングモデルによって候補関連エンティティの評価を出力する。
【0042】
まず、ベクトルサブモデルを説明する:
入力された現在のqueryについて、図ではqとして表示し、ニューラルネットワークを介してエンコーディングし、当該現在のqueryのベクトル表現vを取得することができる。その中、ニューラルネットワークは、BiLSTM(Bidirectional Long short-term Memory、双方向長短期記憶ネットワーク)が好ましい。具体的には、検索クエリが与えられ、
【数1】
であり、単語wは、単語ベクトル行列によってベクトル表現に変換され、次に、一つの前向きLSTMと一つの後ろ向きLSTMを使用して、検索クエリqを暗黙ベクトル:
【数2】

【数3】
にそれぞれエンコーディングし、最後に
【数4】

【数5】
をスプライシングして検索クエリqのベクトル表現
【数6】
とする。その中、[;]は、ベクトルのスプライシングを表す。
【0043】
第1の期間におけるユーザの検索履歴情報について、図ではS
【数7】
として表示し、すなわちSは、同じセッションのqの前のqueryシーケンス
【数8】
及び対応するクリックされた検索結果によって
【数9】
を構成する。その中、Cは、クリックされたウェブページ及び/又はクリックされた関連エンティティを含むことができる。
【0044】
まず、各qをニューラルネットワーク(qと一致する方式を使用する)を介してエンコーディングしてベクトル表現
【数10】
を取得し、次に、C内のクリックされたウェブページをベクトル
【数11】
に表示し、C内のクリックされた関連エンティティをベクトル
【数12】
に表示し、その中、lは、C内のクリックされたウェブページの数であり、gは、C内のクリックされた関連エンティティの数である。クリックされたウェブページの各ベクトル表現を決定する時、ニューラルネットワークを使用して各クリックされたウェブページのタイトルをエンコーディングし、各クリックされたウェブページのベクトル
【数13】
をそれぞれ取得することができる。クリックされたエンティティの各ベクトル表現を決定する時、エンティティの識別子、名称、及びエンティティ記述のベクトル表現をスプライシングした後、一定のオフセットパラメータを組み合わせてアクティブ化処理を行った後に各クリックされたエンティティのベクトル表現
【数14】
を取得することができる。このようなエンティティのベクトル表現の決定方法は、OOV(Out-Of-Vocabulary、語彙外)問題と曖昧な問題を効果的に解決することができる。
【0045】
その中、エンティティ記述は、エンティティに対する「記述テキスト」として理解することができ、一つのエンティティの意味を記述するために用いられる。本開示では、エンティティに対応する百科事典エントリの最初の文を使用することができ、エンティティに対応する百科事典エントリの要約などを使用することもできる。
【0046】
次に、注意機構の重み付け平均方法に基づいて、
【数15】
を使用して
【数16】
のベクトル表現
【数17】
を生成することができる。具体的には、以下のような式を使用することができる。
【数18】
最後、Sのベクトル表現vは、以下のような式で取得することができる。
【数19】
その中、関数記号
【数20】
は、注意機構に基づく重み付け表示方法を表す。vは、モデルパラメータである、モデルトレーニングプロセス中に学習して取得する。
【0047】
第2の期間におけるユーザの検索履歴情報について、それが表すのはユーザの個別化の好みであるため、図ではuとして表示し、ユーザ表現と見なす。ユーザの第2の期間におけるquery集合Q、クリックされたウェブページ集合D、クリックされた関連エンティティ集合Eに対してそれぞれ単語セグメンテーション処理を行った後にそれぞれ単語集合
【数21】
を取得し、和集合を計算して
【数22】
を取得することができる。次に、単語集合Wに対してPV-DBOW(Distributed Bag of Words version of Paragraph Vector、文ベクトルの分散ワードバッグ)をしてエンコーディング処理して、各ユーザのベクトル表現(すなわちユーザの第2の期間内の検索履歴のベクトル表現)を取得することができる、図ではvとして表示する。その中、PV-DBOWは、既に現在の比較的に成熟した処理方式であり、単語集合を入力した場合、対応するベクトル表現を出力する。
【0048】
次に、vとvをスプライシングして、統合ベクトル表現vcqを取得する。もちろん、スプライシングに加えて、他のベクトル統合方式を使用することもできる。図では、FC
【数23】
は、ベクトルvとvを統合することを表す。vとvをスプライシングして、統合ベクトル表現vuqを取得する。もちろん、スプライシングに加えて、他のベクトル統合方式を使用することもできる。図では、FC
【数24】
は、ベクトルvとvを統合することを表す。
【0049】
これまでのところ、ベクトルサブモデルは、二つの統合ベクトル表現:vcqとvuqを出力する。
【0050】
以下は、ランキングサブモデルを説明する。
cq、vuq及び候補関連エンティティeをランキングサブモデルの入力とする。ランキングサブモデルは、第1の類似度と第2の類似度の二つの類似度を使用して候補関連エンティティeをランキングする。
【0051】
その中、第1の類似度は、現在のqueryのベクトル表現及び第1の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補関連エンティティのベクトル表現との間の類似度であり。第1の類似度
【数25】
は、以下の式を使用して計算することができる。
【数26】
その中、vは、関連エンティティeのベクトル表現を表示し、エンティティeの識別子、名称、及びエンティティ記述のベクトル表現をスプライシングした後、一定のオフセットパラメータを組み合わせてアクティブ化処理を行った後にエンティティeのベクトル表現vを取得することができる。
【0052】
は、vcqが全結合層(FC layer)を経てマッピングした後に取得されたベクトル表現であり、以下のような式を使用して計算して取得することができる。
【数27】
その中、Wは、パラメータ行列であり、bは、オフセットベクトルであり、
【数28】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0053】
第2の類似度は、現在のqueryのベクトル表現及び第2の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補関連エンティティのベクトル表現との間の類似度である。第2の類似度
【数29】
は、以下の式を使用して計算することができる。
【数30】
は、vuqが全結合層(FC layer)を経てマッピングした後に取得されたベクトル表現であり、以下のような式を使用して計算して取得することができる。
【数31】
その中、Wは、パラメータ行列であり、bは、オフセットベクトルであり、
【数32】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0054】
最終に、ランキングサブモデルが候補関連エンティティeを評価する時、上記の第1の類似度と第2の類似度を総合的に使用することができ、具体的には、以下のようにすることができる。
【数33】
その中、Wは、パラメータ行列であり、bは、オフセット値であり、
【数34】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0055】
候補関連エンティティeの
【数35】
が高いほど、対応する評価値が高くなる。
【0056】
203では、検索結果ページに決定された推奨関連エンティティを表示する。
【0057】
本開示の実施例では、現在のqueryの検索結果ページに推奨関連エンティティを表示することができる。例えば、現在のqueryの検索結果ページの右側の領域に推奨関連エンティティを表示する。もちろん、それ以外、検索結果ページの他の位置に表示することもでき、本開示は、推奨関連エンティティの検索結果ページ内の表示位置に対して限定しない。
【0058】
例えば、ユーザが現在のquery「シカゴ」を入力し、ユーザが同じsession内で「タイタニック」和「ムーラン・ルージュ」をさらに検索し、3ヶ月以内に大量の映画に関連する内容を検索及びクリックした。そうすると、本開示の実施例の方法により、query「シカゴ」に関連する候補関連エンティティには、映画に関連する候補関連エンティティの評価が高いため、映画に関連する候補エンティティを推奨関連エンティティとする。このような方式によって現在のquery内の曖昧さを排除することができ、コンテキストの情報を考慮するだけでなく、ユーザの長期検索履歴に反映された個別化の好みも考慮して、関連エンティティ推奨がユーザの実際のニーズにより適合することができる。
【0059】
従来の関連エンティティ推奨では、現在のquery「シカゴ」について、すべてのユーザに対してすべて同じ関連エンティティを推奨し、例えば、すべて都市「シカゴ」に関連するエンティティをデフォルトで推奨する。
【0060】
実施例2、
図4は、本開示の実施例2により提供されるエンティティランキングモデルをトレーニングする方法のフローチャートである。図4に示すように、当該方法は、以下のようなステップを含むことができる。
401では、検索ログを使用してトレーニングサンプルを取得する。
【0061】
取得されたトレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含み、第2の期間は、第1の期間より長い。
【0062】
本開示では、継続的に一定の期間内の検索ログを取得し、その中から上記のトレーニングサンプルを抽出する。
【0063】
実施例1と類似する意味では、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報は、サンプルqueryと同じ検索セッションにある前のユーザ行爲、例えば、同じセッション内のサンプルqueryの前のqueryシーケンス及びqueryシーケンス内の各queryに対応するクリックされた検索結果を含むことができるが、しかし好ましい実施形態として、トレーニングサンプル中にクリックされた検索結果を正の例とする以外に、クリックされてない検索結果を負の例として取得することもできる。検索結果は、検索結果ページにおけるウェブページであってもよく、関連エンティティであってもよい。
【0064】
ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報は、入力したquery、検索結果ページでクリックされたウェブページ、クリックされた関連エンティティを含む、第2の期間内の当該ユーザのすべてのsession内のすべてのユーザ検索行爲を含むことができる。
【0065】
402では、トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成する。
【0066】
その中、ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する関連エンティティを含む、ランキングモデルの出力は、各関連エンティティに対する評価を含む。
【0067】
ランキングモデルが各関連エンティティに対する評価は、第1の類似度と第2の類似度に基づいて決定し、第1の類似度は、サンプルqueryのベクトル表現及び第1の期間内の検索履歴情報のベクトル表現の統合とサンプルqueryに対応する関連エンティティのベクトル表現との間の類似度であり、第2の類似度は、サンプルqueryのベクトル表現と第2の期間内の検索履歴情報のベクトル表現の統合とサンプルqueryに対応する関連エンティティのベクトル表現との間の類似度である。
【0068】
トレーニングターゲットは、関連エンティティのクリック状況と関連エンティティの評価との間の相関度を最大化することを含む。
【0069】
本実施例では、図3に示すようなランキングモデルをトレーニングすることができ、サンプルqueryを図3のqとし、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報を図3のSとし、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報を図3のuとし、ベクトルサブモデルの処理を通じて、二つの統合ベクトル表現:vcqとvuqを取得することができ、その中、vcqは、qのベクトル表現vとSのベクトル表現vの統合によって取得され、vuqは、qのベクトル表現vとuのベクトル表現vの統合によって取得される。ベクトルサブモデルの具体的な処理プロセスは、実施例1の関連記載を参照することができ、ここでは説明を省略する。
【0070】
cq、vuq、及び関連エンティティeをランキングサブモデルの入力とし、ランキングサブモデルは、実施例1に記載の方式に従って第1の類似度
【数36】
と第2の類似度
【数37】
を取得した後、さらに、関連エンティティeの
【数38】
を取得し、
【数39】
に基づいて関連エンティティeの評価を出力する。関連エンティティeの
【数40】
が高いほど、対応する評価値が高くなる。
【0071】
トレーニングプロセス中に、pairwiseランキング学習及びランダム勾配降下法によってモデルパラメータの反復更新を行う。本開示の実施例では、当該ランキングサブモデルのトレーニングターゲットは、予め設定された損失関数を最小化する形式を使用することができる。損失関数lossは、トレーニングサンプルにおけるクリックされたエンティティの負の対数尤度関数を使用して決定することができ、例えば:
【数41】
その中、
【数42】
は、サンプルqueryのクリックされた関連エンティティである。
【数43】
は、エンティティランキングによって使用されるトレーニングサンプル集合である。
【0072】
【数44】
は、サンプルqueryの関連エンティティ集合、γは、予め設定されたパラメータである。
【0073】
トレーニングプロセス中に、lossを使用して勾配を計算し、反復停止条件を満たすまで、ランキングサブモデルのパラメータを反復的に更新することを続く。反復停止条件は、loss収束、lossが予め設定された閾値より小さいこと、または反復回数が予め設定された回数閾値に達することを含むことができるが、これらに限定しない。
【0074】
403では、トレーニングされたランキングモデルを使用して、エンティティランキングモデルを取得する。
【0075】
トレーニングが終了した後、図3に示すようなモデルをエンティティランキングモデルとして使用することができ、当該エンティティランキングモデルは、ベクトルサブモデルとランキングサブモデルを含む。
【0076】
上記のトレーニング方式以外に、本開示は、実施例3によって好ましいトレーニング方式を提供し、マルチタスク学習フレームワークを提出し、すなわちマルチタスクモデルの共同トレーニングの方式を使用してエンティティランキングモデルを取得する。
【0077】
実施例3、
エンティティランキングについては、ある程度にエンティティクリックデータがスパースである問題が存在するため、表示空間の制約によって、エンティティランキングモデルのエンティティランキングは、query最も頻繁に言及される意味に基づいてエンティティ推奨を行う傾向がある。曖昧さを持つqueryにとって、最も頻繁に言及される意味以外に、少ない及びあまり言及されていない意味に対応するエンティティクリックデータは、すべて非常にスパースである。ユーザの多様な情報のニーズをよりよく満たすために、多くの検索エンジンは、すべてユーザに多様な検索結果を提供する。したがって、ユーザが検索する場合、エンティティ推奨結果と比べて、ウェブページ検索結果から自分の情報のニーズにマッチングする結果を見つけることが簡単になる。本実施例では、全体的なモデルは、共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルを含むことができる。第1のランキングサブモデルは、上記の実施例2に記載されているランキングサブモデルを、主なタスクとして使用して関連エンティティランキングを行う。第2のランキングサブモデルは、補助タスクとして使用してウェブページランキングを行う。このようなマルチタスク学習のモデルトレーニングは、異なるタスクモデル間の関連を使用してモデルの拡張可能性とランキング効果を向上させることができる。
【0078】
本実施例では、トレーニングサンプルは、さらに、サンプルqueryに対応するウェブページ検索結果及びウェブページに対応するクリックされた状況を含む。
【0079】
具体的には、このようなモデルは、図5に示すように、実施例2と類似し、サンプルqueryを図5のqとし、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報を図5のSとし、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報を図5のuとし、ベクトルサブモデルの処理を通じて、二つの統合ベクトル表現vcqとvuqを取得し、その中、vcqは、qのベクトル表現vとSのベクトル表現vの統合によって取得され、vuqは、qのベクトル表現vとuのベクトル表現vの統合によって取得される。ベクトルサブモデルの具体的な処理プロセスは、実施例1の関連記載を参照することができ、ここでは説明を省略する。
【0080】
第1のランキングサブモデルは、実施例2のランキングサブモデルと類似し、vcq、vuq、及び関連エンティティeを第1のランキングサブモデルの入力とし、ランキングサブモデルは、実施例1に記載の方式に従って第1の類似度
【数45】
と第2の類似度
【数46】
を取得した後、さらに、関連エンティティeの
【数47】
を取得し、
【数48】
に基づいて関連エンティティeの評価を出力する。関連エンティティeの
【数49】
が高いほど、対応する評価値が高くなる。
【0081】
ベクトルサブモデルによって出力されたvcqとvuqも第2のランキングサブモデルの入力とし、同時にウェブページ検索結果d(後続に候補ウェブページと略称する)も第2のランキングサブモデルの入力とする。第2のランキングサブモデルは、第1の類似度と第2の類似度である二つの類似度を使用してdをランキングする。
【0082】
第2のランキングサブモデルにおける第1の類似度は、現在のqueryのベクトル表現及び第1の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補ウェブページのベクトル表現との間の類似度である。
【0083】
第1の類似度
【数50】
は、以下の式を使用して計算することができる。
【数51】
その中、vは、候補ウェブページdのベクトル表現を表す。
【0084】
は、vcqが全結合層(FC layer)を経てマッピングした後に取得されたベクトル表現であり、以下のような式を使用して計算して取得することができる。
【数52】
その中、Wは、パラメータ行列であり、bは、オフセットベクトルであり、
【数53】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0085】
第2の類似度は、現在のqueryのベクトル表現及び第2の期間におけるユーザの検索履歴情報のベクトル表現の統合と候補ウェブページのベクトル表現との間の類似度である。第2の類似度
【数54】
は、以下の式を使用して計算することができる。
【数55】
は、vuqが全結合層(FC layer)を経てマッピングした後に取得されたベクトル表現であり、以下のような式を使用して計算して取得することができる。
【数56】
その中、Wは、パラメータ行列であり、bは、オフセットベクトルであり、
【数57】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0086】
最終に、第2のランキングサブモデルが候補ウェブページdを評価する時、上記の第1の類似度と第2の類似度を総合的に使用することができ、具体的には、以下のようにすることができる。
【数58】
その中、Wは、パラメータ行列であり、bは、オフセット値であり、
【数59】
は、アクティブ化関数である。Wとbは、モデルパラメータであり、モデルトレーニングプロセス中に学習して取得する。
【0087】
候補ウェブページdの
【数60】
が高いほど、対応する評価値が高くなる。
【0088】
第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行う時、毎回ランダムに第1のランキングサブモデル、及び第2のランキングサブモデルから一つを選択してトレーニングすることができ、毎回交互に第1のランキングサブモデル、及び第2のランキングサブモデルから一つを選択してトレーニングすることもでき、次に、毎回選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新することができる。
【0089】
交互に選択するのを例とし、第1のランキングサブモデルを選択する時、トレーニングサンプルを使用してトレーニングして
【数61】
を取得した後、lossを計算し、lossを使用して共有ベクトルサブモデルと第1のランキングサブモデルのモデルパラメータを反復して更新し、次に、第2のランキングサブモデルを選択し、トレーニングサンプルを使用してトレーニングして
【数62】
を取得し、lossを計算し、lossを使用して共有ベクトルサブモデルと第2のランキングサブモデルのモデルパラメータを反復して更新し、これによって類推して、トレーニングターゲットに達する、例えば、loss、lossがすべて収束し、loss、lossは、すべて予め設定された閾値より小さいか、または反復回数が予め設定された回数閾値に達するまでに行う。
【0090】
【数63】
その中、
【数64】
は、サンプルqueryのクリックされたウェブページである。
【数65】
は、ウェブページランキング、すなわち第2のランキングサブモデルに対応するトレーニングサンプル集合である。
【0091】
【数66】
は、サンプルqueryの候補ウェブページ集合であり、γは、予め設定されたパラメータである。
【0092】
上記の共同トレーニング方式以外に、トレーニングの反復プロセス中に、第1のランキングサブモデル及び第2のランキングサブモデルを毎回トレーニングし、第1のランキングサブモデル、及び第2のランキングサブモデルの出力を使用してすべてのサブモデルのモデルパラメータを更新する。
【0093】
このような方式では、一つの統合した損失関数を使用することができ、例えば、
【数67】
その中、αは、ハイパーパラメータであり、実験値または経験値として手動的に設けることができる。
【0094】
毎回反復プロセスでlossを計算し、次に、トレーニングターゲットに達する、例えば、lossが収束し、lossが予め設定された閾値より小さいか、または反復回数が予め設定された回数閾値に達するまで、lossを使用して共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルのモデルパラメータを更新する。
【0095】
トレーニングが終了した後、共有ベクトルサブモデルと第1のランキングサブモデルを使用してエンティティランキングモデルを取得する。つまり、トレーニングプロセス中に、マルチタスクモデルの方式を使用してトレーニングし、すなわち第2のランキングサブモデルが第1のランキングサブモデルのトレーニングを補助するが、最終的に取得された関連エンティティ推奨を行うためのエンティティランキングモデルは、第2のランキングサブモデルを使用しない。
【0096】
なお、上記のマルチタスクモデルのトレーニング方式を使用してトレーニングした後、関連ウェブページランキングモデルを取得し、すなわち共有サブモデルと第2のランキングサブモデルを使用して関連ウェブページランキングモデルを取得することもできる。このような方式は、第1のランキングサブモデルが第2のランキングサブモデルのトレーニングを補助し、すなわち関連エンティティ推奨が関連ウェブページランキングを補助する。このように取得された関連ウェブページランキングモデルは、現在のquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの関連ウェブページ集合を入力した後、現在のqueryの関連ウェブページ集合における各関連ウェブページに対する評価を取得することによって、当該評価に基づいて表示しようとする現在のqueryの関連ウェブページを決定して、関連ウェブページの表示選択とランキングの根拠とすることができる。
【0097】
また、なお、上記の実施例は、関連エンティティと関連ウェブページをそれぞれ第1類の検索結果と第2類の検索結果とすることを例として説明するが、本開示は、この2種類の検索結果に限定せず、他の種類の検索結果を第1類の検索結果と第2類の検索結果とすることもできる。
【0098】
以上は、本開示により提供される方法を詳細に説明し、以下は、実施例を組み合わせて本開示により提供される装置を詳細に説明する。
【0099】
実施例4、
図6は本開示の実施例により提供される検索結果を決定する装置の構造図である。図6に示すように、当該装置は、取得ユニット01と決定ユニット02を含むことができ、表示ユニット03をさらに含むことができる。各構成ユニットの主な機能は、以下のようになる。
取得ユニット01は、ユーザの現在のquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの候補検索結果を取得するために用いられる。
【0100】
決定ユニット02は、現在のquery、第1の期間におけるユーザの検索履歴情報、第2の期間におけるユーザの検索履歴情報、及び現在のqueryの候補検索結果を検索結果ランキングモデルに入力して、検索結果ランキングモデルが候補検索結果に対する評価に基づいて、現在のqueryに対応する検索結果を決定するために用いられ、第2の期間は、第1の期間より長い。
【0101】
検索結果ランキングモデルが候補検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、第1の類似度は、現在のqueryのベクトル表現と、第1の期間におけるユーザの検索履歴情報のベクトル表現の統合と、候補検索結果のベクトル表現との間の類似度であり、第2の類似度は、現在のqueryのベクトル表現と、第2の期間におけるユーザの検索履歴情報のベクトル表現の統合と、候補検索結果のベクトル表現との間の類似度である。
【0102】
その中、第1の期間におけるユーザの検索履歴情報は、同じセッションにおける現在のqueryの前のqueryシーケンスとqueryシーケンス内の各queryに対応するクリックされた検索結果を含む。好ましくは、第1の期間におけるユーザの検索履歴情報のベクトル表現は、以下の方式で取得し、前記queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現に対して注意機構を使用して重み付け処理を行って、第1の期間におけるユーザの検索履歴情報のベクトル表現を取得する。
【0103】
第2の期間におけるユーザの検索履歴情報は、ユーザが第2の期間内に検索するqueryとクリックされた検索結果(例えばクリックのウェブページと関連エンティティ)を含むことができる。好ましくは、第2の期間におけるユーザの検索履歴情報のベクトル表現は、以下の方式で取得し、ユーザが第2の期間内に検索したquery集合とクリックした検索結果集合を取得し、query集合と検索結果集合に対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、単語集合に対してPV-DBOWを使用してエンコーディング処理を行って、第2の期間におけるユーザの検索履歴情報のベクトル表現を取得する。
【0104】
その中、上記の候補検索結果は、関連ウェブページまたは関連エンティティを含むことができる。
【0105】
関連エンティティのベクトル表現は、関連エンティティの識別子、名称、及びエンティティ記述の統合ベクトル表現である。
【0106】
決定ユニット02は、検索ランキングモデルが検索結果を決定する具体的なプロセスでは実施例1の関連記載を参照し、ここでは詳細に説明しない。
【0107】
表示ユニット03は、検索結果ページに現在のqueryに対応する検索結果を表示し、すなわち現在のqueryをに対応する検索結果は、検索結果ページに含まれてブラウザまたはクライアントに送信する。
【0108】
実施例5、
図7は、本開示の実施例により提供される検索結果ランキングモデルをトレーニングする装置の構造図である。図7に示すように、当該装置は、サンプル取得ユニット11、モデルトレーニングユニット12、およびモデル取得ユニット13を含むことができる。その中、各構成ユニットの主な機能は、以下のようになる。
サンプル取得ユニット11は、検索ログを使用してトレーニングサンプルを取得するために用いられ、トレーニングサンプルは、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、サンプルqueryに対応する検索結果、及び検索結果のクリック状況を含む。
【0109】
モデルトレーニングユニット12は、トレーニングサンプルを使用してランキングモデルをトレーニングして、予め設定されたトレーニングターゲットを達成するために用いられ、ランキングモデルの入力は、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を含み、ランキングモデルの出力は、各検索結果に対する評価を含み、ランキングモデルが各検索結果に対する評価は、第1の類似度と第2の類似度に基づいて決定し、第1の類似度は、サンプルqueryのベクトル表現と、第1の期間内の検索履歴情報のベクトル表現の統合と、検索結果のベクトル表現との間の類似度であり、第2の類似度は、サンプルqueryのベクトル表現と、第2の期間内の検索履歴情報のベクトル表現の統合と、検索結果のベクトル表現との間の類似度であり、トレーニングターゲットは、検索結果のクリック状況と検索結果の評価との間の相関度を最大化することを含む。
【0110】
モデル取得ユニット13は、トレーニングされたランキングモデルを使用して、検索結果ランキングモデルを取得するために用いられる。
【0111】
その中、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報は、同じセッション内のサンプルqueryの前のqueryシーケンスとqueryシーケンス内の各queryに対応するクリックされた検索結果を含む。
【0112】
ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報のベクトル表現は、以下の方式で取得し、queryシーケンス内の各queryのベクトル表現と、前記各queryに対応するクリックされた検索結果のベクトル表現に対して注意機構を使用して重み付け処理を行って、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報のベクトル表現を取得する。
【0113】
ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報は、ユーザがサンプルqueryを入力する前の第2の期間内に検索するqueryとクリックされた検索結果を含む。
【0114】
好ましくは、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現は、以下の方式で取得し、ユーザがサンプルqueryを入力する前の第2の期間内に検索するquery集合とクリックされた検索結果集合を取得し、query集合と検索結果集合に対して単語セグメンテーション処理を行った後に和集合を求めて、単語集合を取得し、単語集合に対してPV-DBOWを使用してエンコーディング処理を行って、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報のベクトル表現を取得する。
【0115】
モデルトレーニングユニット12が検索結果ランキングモデルをトレーニングする具体的な方式は、実施例2の関連記載を参照することができ、ここでは詳細に説明しない。
【0116】
好ましい実施形態とし、上記の検索結果は、第1類の検索結果と第2類の検索結果を含む。ランキングモデルは、共有ベクトルサブモデル、第1のランキングサブモデル、及び第2のランキングサブモデルを含む。
【0117】
モデルトレーニングユニット12は、具体的には、サンプルquery、ユーザがサンプルqueryを入力する前の第1の期間内の検索履歴情報、ユーザがサンプルqueryを入力する前の第2の期間内の検索履歴情報、及びサンプルqueryに対応する検索結果を共有ベクトルサブモデルに入力して、共有ベクトルサブモデルによって出力されたサンプルqueryのベクトル表現及び第1の期間内の検索履歴情報のベクトル表現の統合、及びサンプルqueryのベクトル表現と第2の期間内の検索履歴情報のベクトル表現の統合を取得し、共有ベクトルサブモデルの出力及びサンプルqueryの第1類の検索結果を第1のランキングサブモデルに入力して、第1の検索結果の評価を取得し、共有ベクトルサブモデルの出力及びサンプルqueryの第2類の検索結果を第2のランキングサブモデルに入力して、第2の検索結果の評価を取得し、第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行って、予め設定されたトレーニングターゲットを達成するために用いられ、トレーニングターゲットは、第1類の検索結果のクリック状況と第1類の検索結果の評価との間の相関度を最大化することと、第2類の検索結果のクリック状況と第2類の検索結果の評価との間の相関度を最大化することと、を含む。
【0118】
モデル取得ユニット13は、具体的には、モデルトレーニングユニットのトレーニングが終了した後、第1のランキングサブモデル、及び第2のランキングサブモデルのうちの一つと共有ベクトルサブモデルを使用して、検索結果ランキングモデルを取得するために用いられる。
【0119】
その中、モデルトレーニングユニット12が第1のランキングサブモデル及び第2のランキングサブモデルに対して共同トレーニングを行う時、具体的には、
トレーニングの反復プロセス中に、毎回ランダムに第1のランキングサブモデル、及び第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新することと、または、
トレーニングの反復プロセス中に、毎回交互に第1のランキングサブモデル、及び第2のランキングサブモデルから一つを選択してトレーニングし、選択されたサブモデルの出力を使用して選択されたサブモデルと共有ベクトルサブモデルのモデルパラメータを更新することと、または、
トレーニングの反復プロセス中に、毎回すべての第1のランキングサブモデル及び第2のランキングサブモデルをトレーニングし、第1のランキングサブモデル、及び第2のランキングサブモデルの出力を使用してすべてのサブモデルのモデルパラメータを更新することを実行する。
【0120】
このような方式でのモデルトレーニングユニット12が検索結果ランキングモデルをトレーニングする具体的なプロセスは、実施例3の記載を参照することができ、ここでは詳細に説明しない。
【0121】
本開示の実施例によれば、本開示は、電子機器および読み取り可能な記憶媒体をさらに提供する。
【0122】
図8に示すように、それは本開示の実施例に係る検索結果を決定する方法を実現する電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタル処理、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本開示の実現を制限することを意図したものではない。
【0123】
図8に示すように、当該電子機器は、一つ又は複数のプロセッサ801と、メモリ802と、高速インターフェースと低速インターフェースを含む各コンポーネントを接続するためのインターフェースと、を含む。各コンポーネントは、異なるバスで相互に接続され、共通のマザーボードに取り付けられるか、又は必要に基づいて他の方式で取り付けることができる。プロセッサは、外部入力/出力装置(インターフェースに結合されたディスプレイデバイスなど)にGUIの図形情報をディスプレイするためにメモリに記憶されている命令を含む、電子機器内に実行される命令を処理することができる。他の実施方式では、必要であれば、複数のプロセッサ及び/又は複数のバスを、複数のメモリとともに使用することができる。同様に、複数の電子機器を接続することができ、各電子機器は、部分的な必要な操作(例えば、サーバアレイ、ブレードサーバ、又はマルチプロセッサシステムとする)を提供することができる。図8では、一つのプロセッサ801を例とする。
【0124】
メモリ802は、本開示により提供される非一時的なコンピュータ読み取り可能な記憶媒体である。その中、前記メモリには、少なくとも一つのプロセッサによって実行される命令を記憶して、前記少なくとも一つのプロセッサが本開示により提供される検索結果を決定する方法を実行することができるようにする。本開示の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータが本開示により提供される検索結果を決定する方法を実行するためのコンピュータ命令を記憶する。
【0125】
メモリ802は、ストレージプログラム領域とストレージデータ領域とを含むことができ、その中、ストレージプログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータ領域は、検索結果を決定する方法を実現する電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダム存取メモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも一つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に設置されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介して検索結果を決定する方法を実現する電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定しない。
【0126】
メモリ802は、ストレージプログラム領域とストレージデータ領域とを含むことができ、その中、ストレージプログラム領域は、オペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶することができ、ストレージデータ領域は、検索結果を決定する方法を実現する電子機器の使用によって作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダム存取メモリを含むことができ、非一時的なメモリをさらに含むことができ、例えば、少なくとも一つのディスクストレージデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートストレージデバイスである。いくつかの実施例では、メモリ802は、プロセッサ801に対して遠隔に設置されたメモリを含むことができ、これらの遠隔メモリは、ネットワークを介して検索結果を決定する方法を実現する電子機器に接続されることができる。上記のネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びその組み合わせを含むが、これらに限定しない。
【0127】
検索結果を決定する方法を実現する電子機器は、入力装置803と出力装置804とをさらに含むことができる。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式を介して接続することができ、図8では、バスを介して接続することを例とする。
【0128】
入力装置803は、入力された数字又は文字情報を受信することができ、及びスマートバックミラーに基づくオーディオ再生処理方法を実現する電子機器のユーザ設置及び機能制御に関するキー信号入力を生成することができ、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、指示杆、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置804は、ディスプレイデバイス、補助照明デバイス(例えば、LED)、及び触覚フィードバックデバイス(例えば、振動モータ)などを含むことができる。当該ディスプレイデバイスは、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含むことができるが、これらに限定しない。いくつかの実施方式では、ディスプレイデバイスは、タッチスクリーンであってもよい。
【0129】
本明細書で説明されるシステムと技術の様々な実施方式は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現することができる。これらの様々な実施方式は、一つ又は複数のコンピュータプログラムで実施されることを含むことができ、当該一つ又は複数のコンピュータプログラムは、少なくとも一つのプログラマブルプロセッサを含むプログラム可能なシステムで実行及び/又は解釈されることができ、当該プログラマブルプロセッサは、特定用途向け又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及び命令を受信し、データ及び命令を当該ストレージシステム、当該少なくとも一つの入力装置、及び当該少なくとも一つの出力装置に伝送することができる。
【0130】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令、高レベルのプロセス及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語でこれらのコンピューティングプログラムを実施することを含む。本明細書に使用されるように、用語「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指し、機械読み取り可能な信号である機械命令を受信する機械読み取り可能な媒体を含む。用語「機械読み取り可能な信号」は、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意の信号を指す。
【0131】
ユーザとのインタラクションを提供するために、コンピュータ上でここで説明されているシステム及び技術を実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置は、ユーザとのインタラクションを提供するために用いられることもでき、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
【0132】
ここで説明されるシステム及び技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施方式とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットとを含む。
【0133】
コンピュータシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。
【0134】
上記の説明から分かるように、本開示の実施例により提供される方法、装置、機器、及びコンピュータ記憶媒体は、以下の利点を備えることができ、
1)本開示は、検索結果を決定する時にユーザの短期検索履歴に反映される検索コンテキストの情報及び長期検索履歴に反映されるユーザ個別化の好みを総合的に考慮することによって、検索結果の正確性を向上させて、ユーザの検索ニーズにより適合するようにする。それがエンティティ推奨に適用する時、現在のqueryの曖昧さを解消することができ、ユーザ検索ニーズに適合するより正確な関連エンティティを提供することができる。
【0135】
2)本開示は、検索結果ランキングモデルのトレーニングを行う時、マルチタスクモデル学習フレームワークによって、異なる検索結果間の補助トレーニングを実現し、例えば、関連ウェブページが関連エンティティのランキングモデルのトレーニングを補助する。したがって、異なるタスク間の関連を使用してモデルの拡張可能性と正確性を向上させる。
【0136】
3)本開示により使用されるマルチタスクモデル学習フレームワークは、補助タスク(すなわち第2のランキングサブモデルを第1のランキングサブモデルの補助タスクとする)によって主なタスク内のクリックデータがスパースである問題を緩和することができる。本開示のマルチタスクモデルフレームワークは、共有ベクトル表現によって知識マイグレーションを実現し、複数の関連タスクの共同学習は、モデルの一般化能力を向上させ、実験検証を経て、より良いトレーニング効果を取得することができる。
【0137】
4)短期検索履歴に反映される検索コンテキスト情報のベクトル化表現と長期検索履歴に反映されるユーザ個別化の好みのベクトル化表現に、query、クリックされた関連エンティティ、およびクリックされたウェブページを融合することによって、コンテキストとユーザの個別化の好みをよりよくモデル化し、データスパース問題をより良く緩和するようにする。
【0138】
上記に示される様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除することができることを理解されたい。例えば、本開示に記載されている各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案が所望の結果を実現することができれば、本明細書では限定されない。
【0139】
上記の具体的な実施方式は、本開示に対する保護範囲の制限を構成するものではない。当業者は、設計要求と他の要因に基づいて、様々な修正、組み合わせ、サブコンビネーション、及び代替を行うことができる。任意の本開示の精神と原則内で行われる修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれなければならない。
図1
図2
図3
図4
図5
図6
図7
図8