(19)【発行国】日本国特許庁(JP)
【公報種別】再公表特許(A1)
(11)【国際公開番号】WO2014050002
(43)【国際公開日】20140403
【発行日】20160822
(54)【発明の名称】クエリ類似度評価システム、評価方法、及びプログラム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20160725BHJP
【FI】
   !G06F17/30 350C
   !G06F17/30 340B
【審査請求】未請求
【予備審査請求】未請求
【全頁数】18
【出願番号】2014538145
(21)【国際出願番号】JP2013005406
(22)【国際出願日】20130912
(31)【優先権主張番号】2012217118
(32)【優先日】20120928
(33)【優先権主張国】JP
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IS,JP,KE,KG,KN,KP,KR,KZ,LA,LC,LK,LR,LS,LT,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG,US,UZ
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.MySQL
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
【住所又は居所】東京都港区芝五丁目7番1号
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】村岡 優輔
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
(72)【発明者】
【氏名】楠村 幸貴
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
(72)【発明者】
【氏名】水口 弘紀
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
(72)【発明者】
【氏名】久寿居 大
【住所又は居所】東京都港区芝五丁目7番1号 日本電気株式会社内
(57)【要約】
[課題]検索意図と関係ない文書の類似を基にクエリの類似を判定してしまうために、検索意図が似ているクエリを判定できない。
[解決手段]第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定する検索結果ランキング手段と、重要度の付けられた2つの検索結果の類似度を、重要度が高い文書が類似するほど大きく計算するクエリ類似度計算手段と、を備えることにより、検索意図が同じであった場合の文書の類似を計算することにより課題を解決する。
【特許請求の範囲】
【請求項1】
第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定する検索結果ランキング手段と、
前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計算手段と、
を備えることを特徴とするクエリ類似度評価システム。
【請求項2】
前記検索結果ランキング手段は、
少なくとも前記第1のクエリと前記第2のクエリを含む複数のクエリの類似度を評価する際に、前記各クエリによって得られる結果の文書集合のそれぞれに対して、前記クエリの過去の文書集合の評価結果と今回の文書集合を比較することによって、当該文書集合に含まれる各文書の重要度を算出することを特徴とする請求項1に記載のクエリ類似度評価システム。
【請求項3】
前記クエリ類似度計算手段は、前記検索結果ランキング手段が、評価が高い文書と評価が低い文書それぞれの特徴語を特定し、評価が高い文書の特徴語の出現頻度が高い文書に対しては重要度を高く、評価が低い文書の特徴語の出現頻度が高い文書に対しては重要度を低く算出することを特徴とする請求項1または2に記載のクエリ類似度評価システム。
【請求項4】
前記検索結果ランキング手段は、評価が高い文書と評価が低い文書それぞれに付与されたメタデータを参照し、評価が高い文書とメタデータの値が近い文書ほど重要度を高く、評価が低い文書のメタデータと近い文書ほど重要度を低く算出することを特徴とする請求項1乃至3に記載のクエリ類似度評価システム。
【請求項5】
前記クエリ類似度計算手段は、検索結果集合1をS、検索結果集合2をS、文書dの検索結果集合1での重要度(検索結果集合1内の文書での総和が1となるように正規化されていることとする)をw(d)、文書dの検索結果集合2での重要度をw (d)、文書dと文書dの類似度をsim(d、d)として、アルゴリズム
【数1】
を用いてクエリ類似度を計算することを特徴とする請求項1乃至5に記載のクエリ類似度評価システム。
【請求項6】
第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの重要度を決定する検索結果ランキングステップと、前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計算ステップと、を備えることを特徴とするクエリ類似度評価方法。
【請求項7】
前記検索結果ランキングステップは、少なくとも前記第1のクエリと前記第2のクエリを含む複数のクエリの類似度を評価する際に前記各クエリによって得られる結果の文書集合のそれぞれに対して、前記クエリの過去の文書集合の評価結果と今回の文書集合を比較することによって、当該文書集合に含まれる各文書の重要度を算出することを特徴とする請求項6に記載のクエリ類似度評価方法。
【請求項8】
前記クエリ類似度計算ステップは、前記検索結果ランキングステップが、評価が高い文書と評価が低い文書それぞれの特徴語を特定し、評価が高い文書の特徴語の出現頻度が高い文書に対しては重要度を高く、評価が低い文書の特徴語の出現頻度が高い文書に対しては重要度を低く算出することを特徴とする請求項6または7に記載のクエリ類似度評価方法。
【請求項9】
前記検索結果ランキングステップは、評価が高い文書と評価が低い文書それぞれに付与されたメタデータを参照し、評価が高い文書とメタデータの値が近い文書ほど重要度を高く、評価が低い文書のメタデータと近い文書ほど重要度を低く算出することを特徴とする請求項6乃至8に記載のクエリ類似度評価方法。
【請求項10】
コンピュータによって、第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定し、前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計算ステップとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クエリ類似度評価システム、評価方法、プログラム及び記憶媒体に関する。
【背景技術】
【0002】
検索システムにおいては、ユーザが目的の文書を迅速に見つけ出せることが重要である。ここで、例えば、「mysqlでメモリサイズの設定方法を知りたい」、「mysqlでの検索速度を上げる方法を知りたい」といった、検索者が探している記述内容を検索意図と呼ぶこととする。
ユーザがクエリを入力した際、検索システムがユーザの検索意図に似ているクエリをユーザに推薦することや、検索意図が似ているクエリで目的の文書を上位とするような検索された結果の文書(以下、「検索結果文書」と記載する)に対するランキングは、検索意図を含む文書を探す場合に有効である。また、検索システムは、入力されたクエリの結果だけでなく、検索意図が似ているクエリの結果も表示することで、検索漏れを防ぐことができる。
また、ユーザが検索意図を含む文書を検索する際に、過去の検索時の文書へのアクセスログ、または評価ログを用いると、検索システムは検索結果文書に対するランキングを改善できるが、上記ログがすべてのクエリに対しては十分に存在しない場合がある。上記ログが十分でないクエリに対して、当該クエリのログだけでなく、検索意図が似ているクエリのログを用いることで、より多くのクエリに対して検索結果文書のランキングの改善が可能となる。
こうした応用のために、検索意図の似ているクエリを判定することが必要となる。複数のクエリに対し、検索意図が似ているかを判定するための手法として、それぞれのクエリの検索結果文書を利用する手法が知られている。検索結果文書を利用して、同様の検索意図を表すクエリを判定するシステムの一例が、非特許文献1に記載されている。
図11に示すように、非特許文献1に記載のクエリ類似度判定システムは、類似度を評価したいクエリ(クエリ1、クエリ2)それぞれの検索結果を取得する検索結果取得手段と、その検索結果の類似度を計算する検索結果類似度計算手段と、を有する。このような構成を有する従来のクエリ類似度判定システムは、次のように動作する。
まず、検索結果取得手段は、入力された2つのクエリそれぞれの検索結果文書を検索対象文書記憶部から取得する。次に、検索結果取得手段が取得した2つの検索結果文書の集合を入力とし、検索結果類似度計算手段は、検索結果文書の一致または文書に含まれる単語の一致に基づいて、一致する個数が多いほど大きく類似度を計算し、出力する。
【先行技術文献】
【非特許文献】
【0003】
非特許文献1:“Finding similar queries to satisfy searches based on query traces”, Zaiane, O. and Strilets, A., Advances in Object−Oriented Information Systems,(2002)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述の非特許文献1に記載されたクエリ類似度判定システムは、クエリから取得される検索結果の文書の類似度を算出するので、次のような問題点がある。その問題点は、閲覧されていない文書と、検索意図に沿っていない文書との一致によってクエリを類似していると判定してしまうことである。その結果、検索意図の似ていないクエリが不当に似ていると判定されてしまうという問題があった。言い換えれば、非特許文献1に記載されたクエリ類似度判定システムは、クエリの類似度を判定する精度が甘く、改善の余地がある。
そこで、本発明の目的の一例は、入力された複数のクエリの検索意図が似ているかを高い精度で判定するクエリ類似度評価システム、評価方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の一形態にかかるクエリ類似度評価システムは、第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定する検索結果ランキング手段と、前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計算手段と、を備える。
また、上記目的を達成するため、本発明の一形態にかかるクエリ類似度評価方法は、第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定する検索結果ランキングステップと、前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計算ステップと、を備える。
更に、上記目的を達成するため、本発明の一形態にかかるプログラムは、コンピュータによって、第1のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第1の重要度を決定し、第2のクエリが検索された複数の文書のそれぞれの評価結果に基づいて、前記複数の文書のそれぞれの第2の重要度を決定し、前記文書集合の各文書の第1及び第2の重要度に基づき、前記複数のクエリの類似度を計算するクエリ類似度計ステップとして機能させる。
【発明の効果】
【0006】
以上のように、本発明におけるクエリ評価システム、クエリ評価方法、及びプログラムによれば、検索意図が似ているクエリを高い精度で特定することができる。
【図面の簡単な説明】
【0007】
【図1】図1は、本発明を実施するための最良の形態の構成を示すブロック図である。
【図2】図2は、本発明を実施するための最良の動作を示す流れ図である。
【図3】図3は、本発明を実施するための最良の形態の構成を実現するコンピュータの一例を示すブロック図である。
【図4】図4は、検索対象文書記憶部31のデータの具体例を示す図である。
【図5】図5は、クエリ−評価記録記憶部32のデータの具体例を示す図である。
【図6】図6は、検索結果取得部21による出力の具体例を示す図である。
【図7】図7は、検索結果取得部21による出力の具体例を示す図である。
【図8】図8は、検索結果ランキング部22による出力の具体例を示す図である。
【図9】図9は、検索結果ランキング部22による出力の具体例を示す図である。
【図10】図10は、クエリ−評価記録記憶部32が記憶するデータの例を示す図である。
【図11】図11は、従来技術のブロック図である。
【発明を実施するための形態】
【0008】
発明を実施するための最良の形態について図面を参照して詳細に説明する。
本願で使用される用語「評価」は、検索エンジンの使用者が取った行動のうち、文書を求めていたか、求めていなかったかの手掛かりとなる行動を表す。評価とは、例えば、(1)検索中に文書が役に立ったかを使用者にアンケートした結果に基づく検索システムに登録された文書への評価、または(2)検索時の文書の閲覧である。アンケートや評価で「役に立つ」と回答されるという行動、および文書が使用者に閲覧されるという行動は、その文書を求めていたことを示す手掛かりであり、それぞれ評価が高いとする。逆に「役に立たなかった」と回答されるという行動、および画面に文書リンクを表示したにもかかわらず文書が使用者に閲覧されないという行動は、その文書を求めていなかったことを示す手掛かりであり、それぞれ評価が低いとする。
図1を用いて、本発明を実施するための最良の形態におけるクエリ類似度評価システムの構成について説明する。図1は、本発明を実施するための最良の形態の構成を示すブロック図である。
図1を参照すると、本発明を実施するための最良の形態におけるクエリ類似度評価システムは、検索結果取得部21、検索結果ランキング部22、クエリ類似度計算部23、検索対象文書記憶部31、クエリ−評価記録記憶部32から構成されている。
検索対象文書記憶部31は、検索システムで検索対象となる文書を記憶している。検索対象文書記憶部31は、例えば、文書テキストそのもの、文書に対して付けられたメタデータ(文書ID、文書の更新日時、筆者、特定のタグが付いたテキスト、文書を参照する文書のID、文書に付けられたスコア等)、文書テキスト中の単語に対して付けられた転置インデックス等を記憶する。
クエリ−評価記録記憶部32は、クエリとそのクエリに対する評価の記録(以下、「評価記録」と記載する)を互いに関連付けた情報を記憶する。クエリ−評価記録記憶部32は、例えば、図10に示すように、過去に検索エンジンに使用者から入力されたクエリ(以下、「クエリ」と記載する)と、当該クエリによって検索された文書、および当該文書への評価とを対応付けした情報を記録する。ここで、クエリ−評価記録記憶部32が記憶するデータは、例えば、検索システムで、クエリと閲覧された文書を記述したログを出力させることで、作成されることにより、あらかじめ記憶されておいてよい。
次に、本発明を実施するための最良の形態におけるクエリ類似度評価システムの動作について説明する。
検索結果取得部21は、検索対象文書記憶部31を参照し、2つのクエリ(第1のクエリ、第2のクエリ)に対する検索結果をそれぞれ特定する。例えば、検索されたクエリが文書中に含まれる文書を特定する。検索結果取得部21は、特定された2つの検索結果文書の集合(以下、「検索結果文書集合」または「検索結果文書集合1、検索結果集合2」と記載する)を、検索結果ランキング部22に出力する。検索結果ランキング部22は、検索結果取得部21が出力した2つのクエリとそれぞれに対応する2つの検索結果文書集合の組に対し、クエリ−評価記録記憶部32を参照して、クエリに対する評価記録が含まれるか否かを調べる。もし、いずれの評価記録もクエリ−評価記録記憶部32に含まれない場合、検索結果ランキング部22は、検索結果文書とクエリのみから計算されるランキングスコア(例えば、クエリ単語が含まれる回数、PageRank等の文書スコア)に基づいて2つの検索結果文書集合の各文書に対し重要度を算出し、クエリ類似度計算部23に算出した重要度を出力する。
いずれかの評価記録が、クエリ−評価記録記憶部32に含まれる場合、検索結果ランキング部22はクエリ−評価記録記憶部32を参照する。検索結果ランキング部22は、参照した結果を基に、2つの検索結果文書集合の各文書に対する重要度を算出する。例えば、検索結果ランキング部22は、クエリに対応する文書の評価が高くなるほど重要度がより高く、また文書の評価が低くなるほど重要度がより低くなるよう算出する。検索結果ランキング部22は、その算出した結果をクエリ類似度計算部23に出力する。
上記の重要度を算出する方法(以下、「重要度算出方法」と記載する)は、例えば、高評価された文書で出現頻度が高く、低評価された文書で出現頻度が低い語(特徴語)を特定し、並べ替えたい文書に対し、上で特定された単語の頻度が大きいほど高い重要度を算出する、という方法であってもよい。
また、重要度算出方法は、例えば、クエリと文書の組に対して、文書中のクエリキーワードの出現頻度、文書に付与されたメタデータ(文書の更新日時、文書の長さ等)の値を特徴ベクトルとして、入力文書の特徴ベクトルと、高評価された文書の特徴ベクトルとのユークリッド距離を計算し、距離が小さいほど高い重要度を算出する、という方法であってもよい。
もし、両方の評価記録がクエリ−評価記録記憶部32に含まれるならば、検索結果ランキング部22はそれぞれのクエリに対して、クエリ−評価記録記憶部32を参照する。検索結果ランキング部22は、参照した結果を基に、クエリに対応する評価された文書を上位に、評価されていない文書を下位にするように2つの検索結果文書集合を並べ替える。検索結果ランキング部22は、それぞれの並べ替えによる、2組の2つの検索結果文書集合の組をクエリ類似度計算部23に出力する。
クエリ類似度計算部23は、検索結果ランキング部22から出力された、1組または2組の並べ替えられた検索結果文書集合の組に対し、それぞれの文書で高い重要度を算出された文書同士の類似を重視するように、検索結果文書集合間の類似度を計算する。
[数1]
【0009】
数式1は、検索結果集合1をS、検索結果集合2をS、文書dの検索結果集合1での重要度をw(d)、文書dの検索結果集合2での重要度をw(d)、文書dと文書dの類似度をsim(d,d)で表したものである。
数式1は、検索結果集合1、検索結果集合2に含まれる文書の組み合わせそれぞれについて、検索結果集合1での重要度と、検索結果集合2での重要度との積が大きいほど大きい重みをつけて、類似度を足し合わせたものである。2組入力された場合には、数式1は、それぞれの組で計算された値の平均を用いる。
特に、sim(d,d)を文書の一致で判断する場合、類似度は以下の式で計算される。
[数2]
【0010】
数式2では、クエリ類似度計算部23は、文書のIDの一致により文書類似度を判断したが、文書内容の類似で判断してもよい。例えば、クエリ類似度計算部23は、文書本文の単語ベクトルのコサイン類似度や、メタデータの差分のノルムを用いてもよい。
[クエリ類似度評価システムの動作]
次に、本発明を実施するための最良の形態におけるクエリ類似度評価システムの動作について、図1を適宜参酌しつつ、図2を用いて説明する。なお、本発明の実施形態では、クエリ類似度評価システムを動作させることによってクエリ類似度評価方法が実施されるため、本発明の実施形態におけるクエリ類似度評価方法の説明は、以下のクエリ類似度評価システムの動作説明に代える。
次に、図2を参照して本発明を実施するための最良の形態におけるクエリ類似度評価システムの全体の動作について詳細に説明する。図2は、本発明の実施形態に係るクエリ類似度評価システムの処理を表すフローチャートである。
まず、検索結果取得部21は、2つのクエリに対する検索結果文書集合を、検索対象文書記憶部31から参照して特定し、2つのクエリとそれぞれのクエリに対する検索結果文書集合を検索結果ランキング部22に出力する(ステップA1)。
次に、ステップA1での2つのクエリとそれぞれの検索結果について、検索結果ランキング部22は、クエリ−評価記録記憶部32に、評価記録が存在するかどうかを判定する。クエリ−評価記録記憶部32に、評価記録が存在するならば、処理はステップA4に進む。クエリ−評価記録記憶部32に、評価記録が存在しないならば、処理はステップA3に進む(ステップA2)。
次に、検索結果ランキング部22は、ステップA1での2つのクエリとそれぞれのクエリに対する検索結果文書の集合に対し、重要度を算出する(ステップA3)。例えば、ステップA1での2つのクエリとそれぞれのクエリに対する検索結果ランキング部22は、検索結果文書の集合に対して、検索結果の並べ替えを行う等である。
次に、検索結果ランキング部22は、にステップA1での2つのクエリとそれぞれのクエリに対する検索結果文書の集合に対し、クエリ−評価記録記憶部32に存在する評価記録を特定する(ステップA4)。
次に、検索結果ランキング部22は、ステップA4で特定された、評価記録、クエリ、クエリに対する検索結果文書の集合に対し、クエリに対する検索結果文書の集合2つの各文書に対し、評価記録で評価された文書ほど高くなるように重要度を算出する。2つの各文書の評価記録が特定された場合には、検索結果ランキング部22は、2種類の重要度を算出する。検索結果ランキング部22は、それぞれの評価記録に基づき重要度を算出された、2つの検索結果文書集合の組、1組または2組を、クエリ類似度計算部23に出力する(ステップA5)。
次に、クエリ類似度計算部23は、ステップA3ないし、ステップA5での、1組または2組の2つの検索結果文書集合に対し、高い重要度の文書同士の類似を重視するよう、類似度を計算する。クエリ類似度計算部23は、2組の2つの検索結果文書集合が出力された場合には、部それぞれの組の類似度の平均を出力する(ステップA6)。
[プログラム]
本発明を実施するための最良の形態におけるクエリ類似度評価システムのプログラムは、コンピュータに、図2に示すステップA1〜A6を実行させるプログラムであればよい。このプログラムをコンピュータに導入し、実行することによって、本発明を実施するための最良の形態におけるクエリ類似度評価システムと、クエリ類似度評価方法と、を実現することができる。
[コンピュータ]
図3を用いて、本発明を実施するための最良の形態におけるクエリ類似度評価システムを実現するコンピュータについて説明する。図3は、本発明を実施するための最良の形態の構成を実現するコンピュータの一例を示すブロック図である。
図3は、本発明を実施するための最良の形態におけるクエリ類似度評価システムのハードウェア構成図である。図3に示すように、クエリ類似度評価システムは、例えばCPU(Central Processing Unit)1、RAM(Random Access Memory)2、記憶装置3、通信インターフェース4、入力装置5、出力装置6等を含む。
検索結果取得部21、検索結果ランキング部22等は、例えば、CPU1 が、プログラムをRAM2に読み出し、実行することによって実現される。検索結果取得部21、検索結果ランキング部22等が情報の送受信を行う動作は、例えばOS(Operating System)が提供する機能を使ってアプリケーションプログラムが通信インターフェース4を制御することによって実現される。記憶装置3は、例えば、ハードディスクや、フラッシュメモリである。入力装置5は、例えばキーボードやマウス等である。出力装置6は、例えばディスプレイ等である。
具体的な例を用いて本発明の実施形態の動作を説明する。
図4に示すように、検索対象文書記憶部31は、検索対象文書データを記憶している。ここで、図4に示す検索対象文書データは、例えば、6つの各文書に対してのデータ集合を示す。例えば、検索対象文書データは、文書のID、文書のタイトル、文書の更新日時が現在から何日前なのか、文書の被リンク数、文書の長さ(文字数)等の、データ集合である。
図5に示すように、クエリ−評価記録記憶部32は、クエリと当該クエリに対する評価記録(クエリ−評価記録)を記憶している。
ここで、図5に示すクエリ−評価記録は、例えば、クエリ「mysql メモリ 設定」を入力して検索している際に行われた評価1回につき、クエリ、評価された文書のID、評価内容(Goodなら探していた文書であることを表し、Badなら探していた文書と異なっていることを表す)等の、データ集合である。
以下、「mysql メモリ 設定」と「my.cnf cache size」の2つのクエリが入力された場合(case1)と、「mysql メモリ 設定」と、「mysql インデックス作成」の2つのクエリが入力された場合(case2)との、クエリ類似度を計算する際の具体的な処理を記述する。
case1においては、どちらのクエリもmysqlのメモリに関する設定方法の検索を意図しており、検索意図が似ている。case2においては、「mysql メモリ 設定」はメモリの設定方法の検索を意図しており、「mysql インデックス作成」はフィールドのインデックスの作成方法を意図しているため、検索意図が異なる。ただし、case2のクエリは、どちらも処理速度を上げるための方法であるため、同一の文書に記述があることもある。
まず、検索結果取得部21は、検索対象文書記憶部31を参照して、それぞれのクエリにより検索される文書を特定する。例えば、図6に示すように、例えば、case1の場合では、検索結果取得部21は、クエリが本文中に含まれる文書を特定し、クエリ「mysql メモリ 設定」に対しては文書ID 0、1、2、3、5の文書を、クエリ「my.cnf cache size」に対しては文書ID 0、2、3の文書を検索結果として特定する。
図7に示すように、例えば、case2の場合では、検索結果取得部21は、クエリ「mysql メモリ 設定」に対しては文書ID 0、1、2、3、5の文書を、クエリ「mysql インデックス作成」に対しては文書ID 0、1、4、5の文書を検索結果として特定する。検索結果取得部21は、それぞれのクエリと検索結果文書IDの集合を検索結果ランキング部22に出力する。
次に、検索結果ランキング部22は、クエリ−評価記録記憶部32を参照し、case1、case2ともに、検索結果取得部21によって出力された2つのクエリのうち、「mysql メモリ 設定」の評価記録のみが存在することを特定する。
ここでは、具体的な例として、クエリが完全に一致する評価記録を用いたが、以下のクエリ類似度を計算する際の具体的な処理では、クエリをキーワードに分解し(例えば、「mysql メモリ 設定」を「mysql」、「メモリ」、「設定」に分解)、キーワードが含まれる評価記録を用いるようにしても良い。
次に、検索結果ランキング部22は、評価記録が存在したクエリ「mysql メモリ 重い」の評価記録(評価記録ID 0、1)に基づき、評価記録で高評価の(Goodと評価された)文書ID3の文書の重要度を高く、評価記録で低評価の(Badと評価された)文書ID5の文書に重要度を低く出力された2つの検索結果のランキングを行う。
例えば、検索結果ランキング部22は、高評価の文書ID3の文書で頻度が高く、低評価の文書ID5の文書で頻度が低い語「buffer」、「pool」、「設定ファイル」を特徴語として特定し、「buffer」、「pool」、「設定ファイル」の本文での出現頻度の和を重要度として算出する。そして、図8に示すように、例えば、case1では、検索結果ランキング部22は、クエリ「mysql メモリ 設定」の検索結果文書集合と、クエリ「my.cnf cache size」の検索結果文書集合に対する、順位、文書ID、スコア等のランキング結果を得る。図9に示すように、例えば、case2では、検索結果ランキング部22は、クエリ「mysql メモリ 設定」の検索結果文書集合と、クエリ「mysql インデックス作成」の検索結果文書集合に対する、順位、文書ID、スコア等のランキング結果を得る。
ここで、検索結果ランキング部22の評価方法としては、逆に低評価された文書のみで頻度が高い語を特定し、その語の頻度が小さいほど大きい重要度を算出してもよい。また、検索結果ランキング部22の評価方法としては、メタデータを用い、高評価された文書のスコアを+1、低評価された文書のスコアを−1として、メタデータ(例だと、更新日時、被リンク数、長さ)からスコアを出力する関数を学習し、関数の出力する値を重要度としてもよい。
ここでは、検索結果Sの中での文書dの重要度は、検索結果S内での順位order(d)を利用して以下のように計算される。また、検索結果Sの中での文書dの重要度は順位order1(d)を、検索結果Sの中での文書dの重要度は順位order(d)を利用して計算される。
[数3]
【0011】
また、文書の重要度に基づいたクエリ類似度は、以下のように計算される。
[数4]
【0012】
[数5]
【0013】
数式5は、数式4に数式3を代入すると得られる式である。
次に、クエリ類似度計算部23は、検索結果ランキング部22から入力された図8または図9の重要度のついた検索結果文書2つを入力として、以下のように類似度を計算する。
[数6]
【0014】
case1の場合は、クエリ類似度計算部23は、数式6のように計算結果1.0を出力する。
[数7]
【0015】
case2の場合は、クエリ類似度計算部23は、数式7のように計算結果0.335を出力する。
従来手法の場合では、検索結果の共通の文書の割合では、case1でそれぞれの検索結果の3/5、3/3であり、平均すると0.8、case2ではそれぞれの検索結果の3/5、3/4であり平均すると0.675となり検索意図が異なるクエリに対しても、類似度を大きく計算してしまっていた。
一方、本発明の実施形態では、検索意図が同じcase1では1.0、検索意図が異なるcase2では0.335と、検索意図が異なるクエリに対してより小さい類似度を計算することができる。
以上、実施形態を用いて本願発明を説明したが、本願発明は、上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。この出願は、2012年9月28日に出願された日本出願特願2012−217118を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【0016】
本発明は、クエリ推薦システム、文書ランキングシステムといった用途に適用できる。
【符号の説明】
【0017】
1 CPU
2 RAM
3 記憶装置
4 通信インターフェース
5 入力装置
6 出力装置
21 検索結果取得部
22 検索結果ランキング部
23 クエリ類似度計算部
31 検索対象文書記憶部
32 クエリ−評価記録記憶部
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【国際調査報告】