(58)【調査した分野】(Int.Cl.,DB名)
前記クリックエスケープモデルにおけるエスケープ辞書及び非エスケープ辞書はクエリ要求・検索結果Query−Title対のクリック数を学習することにより構築されることを特徴とする請求項1に記載の方法。
前記クリックエスケープモデルにおけるエスケープ辞書及び非エスケープ辞書はクエリ要求・検索結果Query−Title対のクリック数を学習することにより構築されることを特徴とする請求項11に記載の検索エンジン。
【発明を実施するための形態】
【0011】
以下、図面及び実施例を参照しながら、本願をさらに詳しく説明する。ただし、ここで説明する具体的な実施例は係る発明を解釈するためのものに過ぎず、本発明の範囲を制限するものではないことを理解すべきである。なお、説明の便宜上、図面に本発明と関連する部分のみが示されている。
【0012】
ただし、衝突がない限り、本願における実施例及び実施例における特徴は互いに組み合せてもよい。以下、図面を参照しながら実施例に基づいて本願を詳しく説明する。
【0013】
背景技術に記述されたように、テキスト検索では、通常、テキストの局所マッチングのせいで、エスケープ問題をもたらす。例えば、蚊取り線香を検索すれば、結果に蚊取り線香ボックスを含む場合があり、携帯電話を検索すれば、結果に携帯電話カバーを含む場合があり、常山(地名)を検索すれば、結果にジョウザンハクサイを含む場合がある等が挙げられる。このような問題はテキストを利用して写真を検索する場合に特に著しい。例えば、「スターA」の写真を検索する場合に、結果には、スターAの撮影写真、スターAの高解像度写真、スターAのコンサート、スターAの車等を含む。これらの結果には、スターAの車がエスケープされた結果であり、ユーザが望む結果ではない。
【0014】
従来技術の欠陥に鑑みて、本願の実施例は、上記エスケープ問題を解決するために、意味エスケープの程度に応じて検索結果をソートする手段を提供する。通常、検索過程で出てきた結果では、クリック回数が高い結果はユーザの望む結果である可能性が高い。言い換えれば、クリック回数が高い結果はユーザのクエリQueryに対して、エスケープが発生しない確率が非常に高い。逆に、何回も出てきたが、クリック回数が低いまたはクリックがない結果は通常ユーザが望まない結果であり、つまり、これらの結果はユーザのQueryに対してエスケープの発生する確率が非常に高い。さらに、エスケープされたデータを分析すると、多くのエスケープは隣接する前後の単語で発生し、距離が遠い前後の単語に対してほとんど影響しないことが分かった。従って、上記分析に基づいて、本願の各実施例に係る検索エンジンの実現方法を提案する。
【0015】
本願の実施例を適用できる例示的なシステムアーキテクチャ100を示す
図1を参照する。
【0016】
図1に示すように、システムアーキテクチャ100は、端末装置101、102、ネットワーク103及びサーバ104を含んでもよい。ネットワーク103は端末装置101、102とサーバ104との間に通信リンクを提供する媒体である。ネットワーク103は例えば有線、無線通信リンク又は光ファイバケーブル等の様々な接続タイプを含んでもよい。
【0017】
ユーザ110は、例えば情報検索、Webブラウジング、データダウンロード等の様々なサービスをアクセスするために、端末装置101、102を使用してネットワーク103を介してサーバ104と対話することができる。端末装置101、102には、様々なクライアントアプリケーションをインストールすることができ、例えばユニフォームリソースロケータURLクラウドサービスをアクセスできるアプリケーションが挙げられており、ブラウザ、セキュリティアプリケーション等を含むが、これらに限定されていない。
【0018】
端末装置101、102は様々な電子機器であってもよく、例えばスマートフォン、タブレットコンピュータ、携帯情報端末、電子書籍リーダー等の様々な持ち運び可能なポータブルデバイス、及びパソコン、スマートテレビ、クエリサービス端末等の様々な固定端末機器を含むが、これらに限定されていない。
【0019】
サーバ104は様々なサービスを提供するサーバであってもよい。サーバはユーザのサービス要求に応じてサービスを提供することができる。なお、1つのサーバが1種または多種のサービスを提供することができ、同一のサービスが複数のサーバにより提供することができる。本願の実施例では、係るサーバ104は検索サーバであってもよい。
【0020】
なお、
図1における端末装置、ネットワーク及びサーバの数は例示的なものに過ぎない。実際の必要に応じて、任意の数の端末装置、ネットワーク及びサーバを有してもよい。
【0021】
本願の実施例に係る検索エンジンの実現方法を記述するために、まず本願の実施例に提案されるクリックエスケープモデルの構築を記述する。前記で分析されたように、クリック回数が高い検索結果は対応するクエリQueryに対して、エスケープが発生しない確率が高く、クリック回数が低いまたはクリックがない検索結果は対応するQueryに対して、エスケープが発生する確率が高い。さらに、多くのエスケープは隣接する前後の単語において発生し、距離が遠い前後の単語に対してほとんど影響しない。従って、本願の実施例では、クエリ要求と検索結果(例えばウェブページタイトルで示す)Query−Title対のクリック数を学習するとともに、エスケープが発生した前後の単語を考慮することによりクリックエスケープモデルを構築する。具体的には、クリックエスケープモデルはエスケープ辞書及び/または非エスケープ辞書を含んでもよく、ここで、エスケープ辞書はエスケープが発生したと確定された検索結果の対応用語及びその前後の単語を含み、非エスケープ辞書はエスケープが発生していないと確定された検索結果の対応用語及びその前後の単語を含む。
【0022】
図2は本願の実施例に係るクリックエスケープモデルを構築する方法の例示的なフローチャートを示す。
【0023】
図2に示すように、ステップ210では、Query−Title対のクリック表示比を取得する。
【0024】
歴史Query−Title対を学習することによりクリックエスケープモデルを構築することができる。これらの歴史Query−Title対はQueryログに保存することができる。Queryログは例えば毎回のユーザクエリ会話に使用するクエリ要求Query、表示している検索結果及びユーザの検索結果へのクリック操作等を記録する。これらの検索結果は例えばウェブページタイトルTitleで表してもよく、従って、Query−Title対とはクエリ−検索結果対である。
【0025】
それぞれのQuery−Title対の表示状況及びクリック状況を統計することにより、Query−Title対のクリック表示比を取得することができる。ここでは、クリック表示比はクリック数と表示数との比であり、ここで、表示数は検索結果Titleがクエリ要求Queryに応じて表示される回数を示し、クリック数は検索結果Titleがクエリ要求Queryに応じて表示される時に、ユーザにクリックされる回数を示す。
【0026】
上記から明らかなように、クリック回数が高い検索結果は、対応するクエリQueryに対して、エスケープが発生しない確率が高く、クリック回数が低いまたはクリックがない検索結果は対応するQueryに対して、エスケープが発生する確率が高い。従って、Query−Title対のクリック表示比はTitleのQueryに対してのエスケープ度またはエスケープ確率を良好に表徴する。当業者は、例えば表示クリック比またはクリック回数に基づく他のパラメータでエスケープ度またはエスケープ確率を表してもよく、本願がこの点について制限しないことが理解可能である。
【0027】
続いて、ステップ220では、ワードアライメントを利用して検索結果TitleからクエリQuery語句における用語とアライメントする単語と隣接する前後の単語を取得する。
【0028】
それぞれのQuery−Title対に対して、まずQueryとTitleをそれぞれ単語分割してもよい。それからワードアライメントを利用して、Queryにおけるそれぞれの単語に対して、そのTitleにおける対応位置を見つける。ここでのワードアライメントは同義アライメントも含む。例えば、完全に対応する単語が出ていないと、その同義語を考慮する。最後に、TitleからQueryにおける最初のワード及び最後のワードとアライメントする単語と隣接する前後の単語を取得する。
【0034】
情報検索では、これらの機能語の別称は、ストップワード(stopword)である。ストップワードと呼ばれるのはテキスト処理過程でこれらの機能語を発見したと、直ちに処理を停止して当該機能語を除去するからである。これらの単語を除去してインデックス量を減少させ、検索効率を増やし、且つ検索の効果を向上させる。ストップワードは主に英文の文字、数字、数学の文字、句読点及び使用頻度が高い単一漢字等を含む。
【0035】
図2に戻り、ステップ230では、クリック表示比に応じてエスケープ辞書及び/または非エスケープ辞書を構築する。具体的には、クリック表示比が第1の閾値より低いQuery−Title対における対応用語及びその前後の単語をエスケープ辞書に加え、及び/またはクリック表示比が第2の閾値より高いQuery−Title対における対応用語及びその前後の単語を非エスケープ辞書に加える。第1の閾値は第2の閾値と同じであってもよく異なっていてもよい。
【0036】
履歴Query−Title対におけるそれぞれのQuery−Title対に対して
図2に示される処理を実行し、クリック表示比が第1の閾値より低いすべてのQuery−Title対における用語を累算し、また対応する前後の単語を合併することによりエスケープ辞書を作成することができ、すべてのクリック表示比が第2の閾値より高いQuery−Title対における用語を累算し、また対応する前後の単語を合併することにより非エスケープ辞書を作成することができる。上記エスケープ辞書及び非エスケープ辞書の生成過程では、Queryにおける用語を拡張していないため、ここで生成されたエスケープ辞書は生なエスケープ辞書と呼ばれてもよく、相応な非エスケープ辞書は生な非エスケープ辞書と呼ばれてもよい。
【0037】
代替的または追加的に、いくつかの実施例では、統計された前後の単語をより大きな範囲に拡張するために、Queryにおける用語の意味カテゴリーを汎化することにより、汎化エスケープ辞書及び/または汎化非エスケープ辞書を生成することができる。
【0039】
多種の方法で用語に対して意味カテゴリーの表記を行ってもよく、例えば、汎用の最大エントロピー分類器で用語を分類認識することができる。意味カテゴリーは例えば、エンターテイメントスター、スポーツスター、科技人物、観光名所、ビデオ、自動車、アニメーション、動物、植物等のカテゴリーを含んでもよいが、これらに限定されていない。
【0040】
続いて、表記された意味カテゴリーで生なエスケープ辞書及び生な非エスケープ辞書と対応する汎化エスケープ辞書及び汎化非エスケープ辞書を構築することができる。一実現形態では、生なエスケープ辞書/生な非エスケープ辞書における生な単語を汎化された意味カテゴリーに置き換えてもよく、それにより汎化エスケープ辞書/汎化非エスケープ辞書を生成する。
【0041】
以上は、本願の実施例に係るクリック意味モデルの構築を記述したが、以下、フローチャートを参照しながらクリック意味モデルに基づいて検索エンジンの検索結果を改善する手段を記述する。
【0042】
図4は本願の実施例に係る検索エンジンの実現方法の例示的なフローチャートを示。
図4に示される方法は検索エンジンが所在するサーバ(例えば
図1のサーバ104)で実行されてもよい。
【0043】
図4に示すように、ステップ410では、ユーザが入力したクエリ要求を受信する。
【0044】
ユーザは様々な端末装置(例えば
図1に示される端末装置101、102)により検索クエリを行うことができる。これらの端末装置はクエリ要求を入力するように、ユーザにユーザインタフェース(例えば、ブラウザインタフェース)を表示することができる。ユーザは例えばタッチパネル、電子ペン、キーボード、マイクロホン等の様々な入力ツールでクエリ要求を入力することができる。クエリ要求はテキストクエリ、音声クエリまたは他のタイプのクエリであってもよい。クエリ要求が非テキストクエリである場合に、光学式文字認識OCR、音声認識等の様々な適当な技術で、非テキストクエリをテキストクエリに変換することができる。続いて、端末装置は元に受信された又は変換されたクエリ要求を検索サーバ(例えば、
図1のサーバ104)に送信することができる。
【0045】
続いて、ステップ420では、受信されたクエリ要求にマッチした候補結果を検索する。
【0046】
多種の手法でクエリ要求にマッチした候補結果を検索してもよい。いくつかの実現形態では、テキストマッチング、例えば単語マッチングの方法でクエリ要求にマッチした候補結果を検索してもよい。単語マッチング方法のいくつかの常用のアルゴリズムは、例えば、BM25(Best Match、ベストマッチ)アルゴリズム、proximity(Term proximity scoring、用語近接得点)アルゴリズム等を含んでもよい。単語マッチングアルゴリズムで検索された文書とクエリ要求とのマッチング程度を計算し、さらにマッチング程度に基づいてクエリ要求にマッチした候補結果を提供することができる。上記検索方法は従来既知の様々なアルゴリズムで実現することができ、ここで省略する。
【0047】
さらに、ステップ430では、クリックエスケープモデルに基づいてクエリ要求と各候補結果との間の意味的な関連性を確定する。
【0048】
実際の検索では、クエリ要求にマッチした候補結果に対して、一般的には、一定数量の候補結果を選択して詳細な処理を行う。例えば、2000個の候補結果を選択して、これらの結果における各候補結果とクエリ要求との意味的な関連性を分析してもよい。
【0049】
図2及び
図3を参照しながら記述されたように、クリックエスケープモデルはクエリ要求と検索結果Query−Title対のクリック数を学習するとともに、エスケープが発生した前後の単語を考慮することにより構築される。具体的には、クリックエスケープモデルはエスケープ辞書及び/または非エスケープ辞書を含んでもよく、ここで、エスケープ辞書はエスケープが発生したと確定された検索結果の対応用語及びその前後の単語を含み、非エスケープ辞書はエスケープが発生していないと確定された検索結果の対応用語及びその前後の単語を含む。
【0050】
従って、クリックエスケープモデルに基づいて確定された意味的な関連性はQuery−Title対のクリック数を考慮するとともに、エスケープが発生した前後の単語を考慮し、それにより確定された意味的な関連性は候補結果のクエリ要求に対してのエスケープ確率を正確に表すことができる。クリックエスケープモデルに基づいて意味的な関連性を確定する詳細な方法は以下に記述される。
【0051】
最後に、ステップ440では、意味的な関連性に応じて候補結果をソートする。
【0052】
本ステップでは、各候補結果とクエリ要求の意味的な関連性の降順に応じて、検索して取得された候補結果をソートして表示し、このようにすると、前に表示されているものは常にクエリ要求と比較的に関連する検索結果であり、それによりユーザが表示されている検索結果から迅速に所望の関連文書を取得し、自分の検索ニーズを満たし、検索効率を向上させることができる。本ステップが必要に応じて他の順でソート処理を行ってもよいことを理解すべきである。
【0053】
図5は本願の実施例に係るクリックエスケープモデルに基づいてクエリ要求と候補結果との間の意味的な関連性を確定する方法の例示的なフローチャートを示す。すなわち、
図5は
図4におけるステップ430の例示的な実現形態を示す。
【0054】
図5に示すように、ステップ510では、クエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性を確定する。
【0055】
候補結果はすなわち様々なウェブページ情報であり、文書(document)で表してもよい。一般的に、文書は複数の語句からなり、構造から区分すると、例えばタイトル(Title)、アンカーテキスト(Anchor text)及び正文等を含む。タイトルは、文書のテーマを簡単で簡潔に記述する。アンカーテキストはアンカーテキストリンクとも称され、リンクの一形態であり、ハイパーリンクと類似し、キーワードを1つのリンクとして別のウェブページにアクセスするという形態のリンクはアンカーテキストと呼ばれる。アンカーテキストは実際にテキストキーワードとURLリンクとの関係を作ったものである。正文は一般的に多くの内容を含む。
【0056】
候補結果は一般的に多くの語句を有するため、クエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性をそれぞれ確定してもよい。これらの語句は、例えば、タイトル、アンカーテキスト、正文におけるコアセンテンス等から選ばれてもよい。正文におけるコアセンテンスは従来の既知技術または未来に開発される多種の手法で確定されてもよい。一実現形態では、正文中の一番目のセンテンスがそのコアセンテンスであると見なされてもよい。
【0057】
続いて、ステップ520では、確定されたクエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性に基づいてクエリ要求と当該候補結果との間の意味的な関連性を確定する。
【0058】
多種の手法によりクエリ要求と候補結果との間の最終の意味的な関連性を確定することができる。一実現形態では、確定された複数の意味的な関連性からその最大値をクエリ要求と当該候補結果との間の意味的な関連性として選択してもよい。他の実現形態では、確定された複数の意味的な関連性の平均値をクエリ要求と当該候補結果との間の意味的な関連性としてもよい。当業者は、他の関数関係で、確定された複数の意味的な関連性に基づいてクエリ要求と当該候補結果の最終の意味的な関連性を確定してもよく、本願はこの点について制限しない。
【0059】
ステップ510は本願の実施例に係るクエリ要求と候補結果のある1つの語句との間の意味的な関連性を確定する方法の例示的な実現形態を更に示す。この実現形態では、意味的な関連性は主に、語句の間のテーママッチング類似度及び語句の間のエスケープ要素の2つの部分からなる。
【0060】
具体的には、ステップ511では、あらかじめ構築されたクリックエスケープモデルに基づいて、センテンス間のテキストテーママッチングモデルを利用してクエリ要求と候補結果の語句との間のテーママッチング類似度を計算する。
【0061】
2つの語句の間のテーママッチング類似度は多種の計量方式で表徴することができる。いくつかの実現形態では、フレームワークが統一するベクトル空間モデル類似度計算方法で語句の間のテーママッチング類似度を計算してもよい。
【0062】
例えば、2つのセンテンスはそれぞれ以下のようなS1、S2で表してもよい。
【数1】
(1)
(2)
【0063】
上記の式では、センテンスを単語分割し、例えば1番目のセンテンスS1はm個の単語に分けられ、2番目のセンテンスS2はn個の単語に分けられる。分けられた単語に対して品詞性を表記することにより、各単語分割位置で1つの単語集合を取得する。例えば、1番目のセンテンスS1の単語分割位置
での単語集合は
である。当該単語集合は単語分割位置
と対応する原単語、関連単語及び小粒度構成部分を含む。
【0064】
本文では、関連単語は原単語の意味と同じ用語(または同義語と称される)または意味が近い用語を指し、関連単語と総称される。多種の方法、例えばQuery−Titleクリック対に基づく手法で、原単語の関連単語をマイニングしてもよい。上記の関連単語マイニング方法は従来既知の様々な方案で実現することができ、ここで省略する。
【0065】
センテンスを空間ベクトルとして表した後に、多種の計量方式で2つのベクトルの間の類似度、すなわち語句の間のテーママッチング類似度を計算することができる。これらの計量方式は、コサイン距離(またはコサイン類似度と称される)、ユークリッド距離、ピアソンPearson相関係数または補正されたPearson相関係数法を含むが、これらに限定されていない。これらの類似度または関連性の計算方法は本分野で既知のものである。以下、コサイン距離のみを例として詳しく説明する。
【0066】
コサイン距離はベクトル空間における2つのベクトル角のコサイン値を、2つの対象間のばらつきの大きさを測定する計量手段とするものである。例えば、下記の式で2つの語句の間のテーママッチング類似度を計算することができる。
【数2】
(3)
【0067】
は単語
の類似度重みを表し、
は2つのセンテンスが対応する重み係数にマッチしたか否かを表し、2つのセンテンスS1、S2の疑問文のタイプがマッチした場合に、対応する重み係数が第1値、例えば1であり、さもないと、第2値、例えば0.8である。
【0073】
図6は語句が上記のように処理された結果の概略図を示す。
【0076】
上記の式(3)に基づけば2つのセンテンスの間のテーママッチング類似度を計算することができる。
【0078】
本願の実施例では、あらかじめ構築されたクリックエスケープモデルに基づいて、センテンス間のテキストテーママッチングモデルを利用してクエリ要求と候補結果の語句との間のテーママッチング類似度を計算することは、クリックエスケープモデルを利用して候補結果の語句におけるいくつかの単語の類似度重みを調整することとして表してもよい。
【0079】
単語の初期類似度重みはテキストマイニング分野の既知技術で割り当てることができる。多重の重み割り当て手法を有してもよく、一般的に使用されるのは例えばTF−IDF(term frequency-inverse document frequency)を含む。
【0080】
TF−IDFは情報検索と情報マイニング用の通常の重みづけ技術である。検索、文献分類及び他の関連分野で幅広く応用されている。TF−IDFの主な思想は、ある単語またはフレーズが1つの文章に出現する頻度TFが高く、且つ他の文章に出現する頻度が非常に低い場合に、この単語又はフレーズが良好なカテゴリー区別能力を持つと見なされ、分類に適用される。TFターム頻度(Term Frequency)とはある1つの所定の用語が当該ファイル中に出現する回数である。IDF逆文書頻度(Inverse Document Frequency)の主な思想は、見出し語を含む文書が少なければ少ないほど、IDFが大きければ大きいほど、見出し語が良好なカテゴリー区別能力を持つと表明される。TF及びIDFを使用してある文章においてあるキーワードの重要性を計算することができる。TF及びIDFに基づいて、様々な関数関係で用語の重みを構成することができる。
【0081】
いくつかの実現形態では、用語の初期重みは下記の式で計算することができる。
【数3】
(4)
【0082】
その中、
は分割された単語
のターム頻度であり、分割された単語
が当該文書に出現する回数と当該文書の分割された単語の合計数との比として表してもよく、
は分割された単語
の逆文書頻度であり、Nは文書合計数であり、
は分割された単語
が出現した文書の数である。
【0083】
本願のいくつかの実施例では、各語句における分割された単語に対して初期重みを確定した後に、候補結果の語句におけるいくつかの分割された単語の類似度重みをクリックエスケープモデルに基づいて調整してもよい。
【0084】
図7は本願の実施例に係るクリックエスケープモデルに基づいて分割された単語の類似度重みを調整する方法の例示的なフローチャートを示す。
【0085】
図7に示すように、ステップ710では、ワードアライメントを利用して候補結果の語句からクエリ要求における用語とアライメントする単語と隣接する前の言葉及び後の言葉を確定する。当該ステップは上記の
図2を参照しながら記述したクリックエスケープモデルを構築するステップ220と類似するため、ここで省略する。
【0086】
続いて、ステップ720では、エスケープ辞書及び/または非エスケープ辞書に基づいて候補結果の語句における前の単語及び後の単語と対応する類似度重みを調整する。
【0087】
このステップでは、認識された隣接する前の単語及び隣接する後の単語に対して、これらの隣接する前の単語と隣接する後の単語の類似度重みを調整するように、エスケープ辞書及び非エスケープ辞書を調べる。
【0088】
具体的には、非エスケープ辞書は候補結果の語句における対応用語及びその隣接する前の単語または隣接する後の単語を含む場合に、当該隣接する前の単語または隣接する後の単語の類似度重みを下げる。エスケープ辞書は候補結果の語句における対応用語及びその隣接する前の単語または隣接する後の単語を含む場合に、当該隣接する前の単語または隣接する後の単語の類似度重みを上げる。非エスケープ辞書とエスケープ辞書はいずれも対応用語及びその隣接する前の単語または隣接する後の単語がない場合に、その類似度重みを調整しなくてもよい。
【0090】
用語の類似度重みをクリックエスケープモデルに基づいて調整した後に、以上に記述されたセンテンス間のテキストテーママッチングモデルでクエリ要求と候補結果の語句との間のテーママッチング類似度を計算することができる。
【0091】
例えば、下記の式でクエリ要求と候補結果の語句との間のテーママッチング類似度を計算することができる。
【数4】
(5)
【0093】
続いて、
図5に示すように、ステップ512では、クエリ要求と候補結果の語句との間のマッチング状况に基づいてエスケープ要素を確定する。
【0094】
ステップ511ではセンテンス間のテーママッチング類似度を確定する場合に、微視的に考慮すると、クリックエスケープモデルに基づいて具体的な用語の類似度重みを調整した。このステップ512では、クエリ要求と候補結果の語句との間のマッチング状况に基づき、すなわち、巨視的に考慮して1つのエスケープ要素を確定する。
【0095】
クエリ要求と候補結果の語句との間のマッチング状况は、例えば、クエリ要求における最も重要な用語が候補結果の語句に出現していない状況、前後の単語のマッチングが存在する状況及び前後の単語の完全なマッチングが存在していない状況を含んでもよい。
【0096】
クエリ要求における最も重要な用語が候補結果の語句に出現していない場合に、一般的に、両者の間の関連性が低く、及びエスケープの可能性が高いことを表す。この場合に、エスケープ要素を第1値、例えば0.7として確定することができる。クエリ要求における用語の重要性は上記のように確定された類似度重みに基づいて確定することができる。例えば、TF−IDF技術で確定された重みに基づいて直接に確定することができる。
【0097】
前後の単語のマッチングが存在するとは用語の字面マッチング以外に、候補結果に当該用語の隣接する前の単語または隣接する後の単語が更に存在することを指す。言い換えれば、この場合の候補結果もエスケープする可能性がある。従って、エスケープ要素を第1値より大きい第2値、例えば0.95として確定することができる。
【0098】
前後の単語の完全なマッチングが存在しないとは用語の字面マッチング以外に、候補結果に当該用語の隣接する前の単語及び隣接する後の単語が存在しないことを指す。言い換えれば、この場合の候補結果はエスケープする可能性がほとんどない。従って、エスープ要素を第2値より大きい第3値、例えば1として確定することができる。
【0099】
最後に、ステップ513では、エスケープ要素及びテーママッチング類似度に基づいてクエリ要求と候補結果の語句との間の意味的な関連性を計算する。
【0100】
エスケープ要素及びテーママッチング類似度に基づいて、多種の関数関係に応じて意味的な関連性を構築することができる。一実現形態では、下記の式でクエリ要求と候補結果の語句との間の意味的な関連性を計算することができる。
【0102】
ただし、図面には特定の順序で本発明の方法の操作を説明したが、当該特定の順序でこれらの操作を実行しなければならないこと、または所望の結果を達成するためにすべての提示された操作を実行しなければならないことを要求または暗示するわけではない。逆に、フローチャートに示されているステップは実行順序を変更してもよい。追加的または代替的に、いくつかのステップを省略したり、複数のステップを1つのステップに結合して実行したり、及び/または1つのステップを複数のステップに分けて実行したりしてもよい。
【0103】
更に、本願の実施例に係る検索エンジンの例示的な構造ブロック図を示す
図8を参照する。
【0104】
図8に示すように、検索エンジン800は受信ユニット810、検索ユニット820、意味的な関連性確定ユニット830及びソートユニット840を備える。
【0105】
受信ユニット810はユーザが入力したクエリ要求を受信するように配置されてもよい。検索ユニット820はクエリ要求にマッチした候補結果を検索するように配置されてもよい。意味的な関連性確定ユニット830はクリックエスケープモデルに基づいてクエリ要求と各候補結果との間の意味的な関連性を確定するように配置されてもよい。ソートユニット840は意味的な関連性に応じて候補結果をソートするように配置されてもよい。ここで、クリックエスケープモデルはエスケープ辞書及び/または非エスケープ辞書を含み、エスケープ辞書はエスケープが発生したと確定された検索結果の対応用語及びその前後の単語を含み、非エスケープ辞書はエスケープが発生していないと確定された検索結果の対応用語及びその前後の単語を含む。
【0106】
いくつかの実施例では、意味的な関連性確定ユニット830は、各候補結果に対して、クエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性を確定するための計算ユニット831を備えてもよく、ここで、語句は、候補結果のタイトル、アンカーテキスト及び正文におけるコアセンテンスのうちの少なくとも1つを含む。意味的な関連性確定ユニット830は確定されたクエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性に基づいてクエリ要求と候補結果との間の意味的な関連性を確定するための確定ユニット832を更に備える。
【0107】
いくつかの実現では、計算ユニット831は、クリックエスケープモデルに基づいて、センテンス間のテキストテーママッチングモデルを利用してクエリ要求と候補結果の語句との間のテーママッチング類似度を計算するためのテーママッチング類似度モジュール(図示せず)を備えてもよい。
【0108】
テーママッチング類似度モジュールは、具体的に、ワードアライメントを利用して候補結果の語句からクエリ要求における用語とアライメントする単語と隣接する前の単語及び後の単語を確定すること、エスケープ辞書及び/または非エスケープ辞書に基づいて候補結果の語句における前の単語及び後の単語と対応する類似度重みを調整すること、及び調整後の類似度重みに基づいて、センテンス間のテキストテーママッチングモデルを利用してクエリ要求と候補結果の語句との間のテーママッチング類似度を計算することに用いられてもよい。
【0109】
計算ユニット831は、クエリ要求と候補結果の語句との間のマッチング状况に基づいてエスケープ要素を確定するためのエスケープ要素モジュール(図示せず)を更に備えてもよい。
【0110】
エスケープ要素モジュールは、具体的に、マッチング状况はクエリ要求における最も重要な用語が候補結果の語句に出現していない状況である場合に、エスケープ要素を第1値として確定すること、マッチング状况は前後の単語のマッチングが存在している状況である場合に、エスケープ要素を第2値として確定すること、マッチング状况は前後の単語の完全なマッチングが存在していない状況である場合に、エスケープ要素を第3値として確定することに用いられてもよく、ここで、第1値が第2値より小さく、且つ第2値が第3値より小さい。
【0111】
計算ユニット831は、エスケープ要素及びテーママッチング類似度に基づいてクエリ要求と候補結果の語句との間の意味的な関連性を計算するための合成モジュール(図示せず)を更に備えてもよい。
【0112】
いくつかの実施例では、クリックエスケープモデルにおけるエスケープ辞書及び非エスケープ辞書はクエリ要求・検索結果Query−Title対のクリック数を学習することにより構築される。
【0113】
いくつかの実現形態では、エスケープ辞書及び非エスケープ辞書は、下記の方法で構築された生なエスケープ辞書及び生な非エスケープ辞書を含み、すなわち、Query−Title対のクリック表示比を取得するステップと、ワードアライメントを利用して検索結果からクエリ語句における用語とアライメントする単語と隣接する前後の単語を取得するステップと、クリック表示比が第1の閾値より低いQuery−Title対における対応の用語及びその前後の単語を生なエスケープ辞書に加えるステップと、クリック表示比が第2の閾値より高いQuery−Title対における対応の用語及びその前後の単語を生な非エスケープ辞書に加えるステップを含み、ここで、クリック表示比がクリック数と表示数との比であり、表示数は検索結果がクエリ要求に応じて表示される回数を指し、クリック数は検索結果がクエリ要求に応じて表示される時に、ユーザにクリックされた回数を指す。
【0114】
代替的または追加的に、エスケープ辞書及び非エスケープ辞書は下記の方法で構築された汎化エスケープ辞書及び汎化非エスケープ辞書を更に含み、すなわち、クエリ要求における用語に対して意味カテゴリーを表記するステップと、表記された意味カテゴリーを利用して生なエスケープ辞書及び生な非エスケープ辞書に対応する汎化エスケープ辞書及び汎化非エスケープ辞書を構築するステップを含む。
【0115】
検索エンジン800に記載された各ユニットまたはサブユニットは上記の方法のフローチャートを参照しながら記述した方法における各ステップと対応することが理解すべきである。従って、上記の方法に対して記述された操作及び特徴は同様に検索エンジン800及びそれに含まれるユニットに適用でき、ここで省略する。
【0116】
本願の実施例を実現するのに適用するサーバのコンピュータシステムの構造概略図を示す
図9を参照する。
【0117】
図9に示すように、コンピュータシステム900は、読み出し専用メモリ(ROM)902に記憶されているプログラム又は記憶部908からランダムアクセスメモリ(RAM)903にロードされたプログラムに基づいて様々な適当な動作及び処理を実行することができる中央処理ユニット(CPU)901を含む。RAM903には、システム900の操作に必要な様々なプログラム及びデータが更に記憶されている。CPU901、ROM902及びRAM903はバス904を介して互いに接続されている。入力/出力(I/O)インターフェース905もバス904に接続されている。
【0118】
キーボード、マウス等を含む入力部906、陰極線管(CRT)、液晶ディスプレイ(LCD)等及びスピーカ等を含む出力部907、ハードディスク等を含む記憶部908、及びLANカード、モデム等を含むネットワークインターフェースカードの通信部909は、I/Oインターフェース905に接続されている。通信部909は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ910は必要に応じてI/Oインターフェース905に接続される。リムーバブルメディア911、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリ等は、必要に応じてドライバ910に取り付けられ、ドライバ910から読み出されたコンピュータプログラムが必要に応じて記憶部908にインストールされる。
【0119】
特に、本願に開示されている実施例によれば、上記で
図2〜
図7を参照しながら記述された過程はコンピュータのソフトウェアプログラムとして実現することができる。例えば、本願に開示されている実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、
図2〜
図7の方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部909を介してネットワークからダウンロードしてインストールされ、及び/またはリムーバブルメディア911からインストールされることができる。
【0120】
図面におけるフローチャート及びブロック図は、本発明の各実施例に係るシステム、方法及びコンピュータプログラム製品による実現可能なアーキテクチャー、機能及び操作を示す。ここで、フローチャートまたはブロック図における各枠は1つのモジュール、プログラムセグメント、またはコードの一部を代表することができ、前記モジュール、プログラムセグメント、またはコードの一部は規定された論理機能を達成するための1つまたは複数の実行可能な命令を含む。なお、いくつかの代替実現形態として、枠に表記された機能は図面に表記された順序と異なる順序で実行してもよい。例えば、2つの接続に示される枠は実際的に、係る機能に応じて、ほぼ並行的に実行されてもよく、反対の順序で実行されてもよい。なお、ブロック図及び/またはフローチャートにおける各枠、及びブロック図及び/またはフローチャートにおける枠の組合せは規定された機能または操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、または、専用ハードウェアとコンピュータ命令の組合せで実行してもよい。
【0121】
本願の実施例に記述されたユニットまたはモジュールはソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記述されたユニットまたはモジュールをプロセッサに設定してもよく、これらのユニットまたはモジュールの名称はある場合に当該ユニットまたはモジュール自身を限定するものではない。
【0122】
一方、本願はコンピュータ可読記憶媒体を更に提供し、当該コンピュータ可読記憶媒体は上記した実施例における前記装置に含まれるコンピュータ可読記憶媒体であってもよく、独立に存在して、装置に組み立てされていないコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は1つ又は1つ以上のプログラムを記憶し、前記プログラムは1つ又は1つ以上のプロセッサで本願に記述された式の入力方法を実行することに用いられる。
【0123】
以上の記述は本願の最適実施例及び使用された技術的原理の説明に過ぎない。当業者が理解すべきであることは、本願に係る発明の範囲は上記した技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記の技術的特徴または同等の特徴の任意の組合せからなる他の技術的解決手段も含むべきである。例えば、上記の特徴と本願に開示された(これに限定されていない)類似の機能を持っている技術的特徴を互いに置き換えてなる技術案が挙げられる。
201:Query−Title対のクリック表示比を取得する
220:ワードアライメントを利用して検索結果からクエリ語句における用語とアライメントする単語と隣接する前後の単語を取得する。
230:クリック表示比が第1の閾値より低いQuery−Title対における対応用語及びその前後の単語を生なエスケープ辞書に加え、クリック表示比が第2の閾値より高いQuery−Title対における対応用語及びその前後の単語を生な非エスケープ辞書に加える。
S1 クエリ
S2 結果
410:ユーザで入力されたクエリ要求を受信する
420:クエリ要求にマッチした候補結果を検索する
430:クリックエスケープモデルに基づいてクエリ要求と各候補結果との間の意味的な関連性を確定する
440:意味的な関連性に応じて候補結果をソートする
510:クエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性を確定する
511:クリックエスケープモデルに基づいて、センテンス間のテキストテーママッチングモデルを利用してクエリ要求と候補結果の語句との間のテーママッチング類似度を計算する
512:クエリ要求と候補結果の語句との間のマッチング状况に基づいてエスケープ要素を確定する
513:エスケープ要素及びテーママッチング類似度に基づいてクエリ要求と候補結果の語句との間の意味的な関連性を計算する
520:確定されたクエリ要求と候補結果の1つまたは複数の語句との間の意味的な関連性に基づいてクエリ要求と候補結果との間の意味的な関連性を確定する
マッチングが成功した
マッチングが成功した
マッチングが成功した
710:ワードアライメントを利用して候補結果の語句からクエリ要求における用語とアライメントする隣接前文及び後文を確定する。
720:エスケープ辞書及び/または非エスケープ辞書に基づいて候補結果の語句における対応の前文及び後文の類似度重みを調整する。
810受信ユニット
820検索ユニット
840ソートユニット
830意味的な関連性確定ユニット
831計算ユニット
832確定ユニット
905I/Oインターフェース
906入力部
907出力部
908記憶部
909通信部
910ドライバ
911リムーバブルメディア