SlideShare a Scribd company logo
1 of 22
Identifying Users’ Topical Tasks
in Web Search
W. Hua, Y. Song, H. Wang, Z. Zhou, WSDM 2013
2013/06/30 SEXI2013読み会
@harapon
この論文の内容
 Search Taskはクエリとそのreformationで成り立つ
 task identificationはサーチエンジンにとって重要
• 価値のある情報を提供する
• ユーザーのサーチの意図を予測する
• ユーザーにクエリをサジェストする
 これまでのアプローチでは
• クエリのtemporal features (時間特徴量)
• lexical features (単語の特徴量)を用いる
 多くのクエリのreformationはtopicalなので,その
reformationは単語レベルでは同じではないかも
(問題1)
2
“flight to LA”に対して“cheap US flight“をサジェスト→やりやすい
“flight to LA”に対して“hotel in LA”をサジェスト→難しい
この論文の内容
 更に同じsearch session内であっても複数のタスク
が挟まれている場合があり,タイムスタンプに
よってクエリを時間順に並べることができない
(問題2)
 このような問題に対して,
• セマンティックレベルで2つのクエリを比較した類似度
をつくることで問題1に対処し,
• 時間的に離れたクエリ間においてSequential Cut and
Merge (SCM)アルゴリズムを提案し,問題2に対処した
3
3. ProBase
http://research.microsoft.com/en-us/projects/probase/
4
 bag-of-words表現と人間の理解の間にはギャップ
 セマンティックネットワーク
3.1 Knowledge Representation
 node
• entity (“Barack Obama”)
• concept (“President of America”)
• attribute (eg, “age”, “color”)
 edge
• isA relationship (“Barack Obama” isA “President of America”)
• isAttributeOf relationship
(“population” isAttributeOf “country”)
 Probaseのedgesは確率的情報の重み付け
• P(instance | concept)
• eg. P(“poodle”| “dogs”) > P(“pugs”|”dogs”)
• P(concept | instance), P(concept |
attribute), P(attribute | concept)も定義可能
 何十億のweb pageからひっぱってきて構築
5
4. Methodology
 task identificationは次の2つの問題に集約される
• 2つのクエリ間の類似性・関連性をどう定量化するか?
• 1つのクエリセッション内で類似クエリを効率的に
どうクラスター化するか?
 taskの定義
6
あるセッションがクエリ として与えられたとき,taskは
: クエリ のタイムスタンプ
: クエリ , の類似度
: 類似度の閾値
は連続していないかもしれない
4.1 Similarity Calculation
 クエリ類似度のために4種類の特徴量をつくる
• conceptual features
• lexical features
• template features
• temporal features
 特にconceptual featuresがメイン
• クエリ曖昧性の解消がモチベーション
• “apple”が「リンゴ(果物)」なのか「アップル(企業)」なのか
7
4.1.1 Conceptual Features
 クエリの背後にある概念を特徴量化する
 Step 1: Parsing
• クエリを単語に分割
• Probase内のinstance/attributeに写像される一番長い
単語列を用いる
• 同じ長さならより多くのconceptに繋がっている方
• クエリが”truck driving school pay after training”なら
”truck driving”, “school”, “pay”, “training”がProbaseに表れる
最も長いインスタンス.”driving”はダメ
• クエリが”tiger woods”なら
”tiger”, “woods“ではなく”tiger woods”
• このようにBoW表現よりも解釈しやすいクエリ
8
4.1.1 Conceptual Features
 Step 2: Conceptualization
• あるクエリをinstances/attributesの集合に写像
• これらのinstances/attributesを表す最も良いconceptを推測
• まず,以下を用いて候補となるconceptを特定する
• ここで,concept vector
• MはProbase内のconceptの総数
• 上位K位のconceptのみ選ぶ
9
4.1.1 Conceptual Features
 クラスター化
• 次にあるクエリ内の複数のトピックを見つけるために
各クラスターが一つのトピックになるよう,
instance/attribituesをグループ化する
• eg. “alabama home insurance”なら”alabama”(“state”)と”home
insurance”(“insurance” and “benefits”)
• 重み付けグラフ をつくる
• 各edgeはnodeのconcept vector間のコサイン類似度
• 閾値より小さいコサイン類似度であればグラフから
edgeを除去し,instance/attributes clusterを表す
サブグラフを作成
• クラスター r:
10
: Tと一致するノード集
合,
: エッジ集合
4.1.1 Conceptual Features
 クエリ曖昧性問題の解消
• 各クラスターr内のinstance/attributesを
concept vector crでコンセプト化
• Naive Bayes fuctionによってクラスターr内の各
instance/attributesのconcept vectorの共通部分を計算
• ここでinstance/attributesはそれぞれ独立と仮定
• クラスターr内の共通コンセプトをランク付け
11
P(ck|tl
r): instance/attributes tl
rびconcept vector のk番目の値
P(ck): Probaseにおけるconcept ckのpopularity
4.1.1 Conceptual Features
 クエリ曖昧性解消の例
 クエリ全体のコンセプト化
• 曖昧性のないconcept vectorからコンセプト化
12
4.1.1 Conceptual Features
 Step 3: Calculating conceptual similarity
• 各クエリqのコンセプト化の結果(concept vector cq)か
ら,クエリ間のコサイン類似度を計算
13
クエリ
qi
単語列
単語列
単語列
instance/attributes集合
T = (t1, t2, …, tL)
t1 → c1
t2 → c2
tL → cL
concept vector
t2
t1 t3
t4
ti-1
ti ti+1
クラスター化
T1 → c1
Tr → cr
各クラスターの
concept vector
クエリqiの
concept vector
cq
一連の流れ
4.1.2 Lexical Features
 クエリ間のBoW類似度を表す2つの方法
• N-word Jaccard
• “the car james bond drive”を2-wordsでやると
[“the car”, “car james”, “james bond”, “bond drive”]
• N-char Jaccard
• 同様に文字単位で定義
14
vi : the N-word set of query qi
vi k : the term-frequency of the kth N-word in set vi
m, n : the size of set vi and vj
ki , kj : the indexes of that N- word in set vi and vj
vi ki
, vijkj
: the term frequencies of that common N-word in set vi and vj
4.1.3 Template Features
 Huang et al.(2009)の方法
 substring/superstring, add/remove
words, stemming, spelling correction, acronym and
abbreviation, etc.
 要はタイプミスや派生語の編集距離
 Levenshtein edit distance
15
ed(qi , qj) : the Levenshtein edit distance between query qi and qj
len(qi): the length of query qi
4.1.4 Temporal Features
 連続するクエリ間のtime interval
 時間的に近ければ近いほど同じタスクである確率
が高い
16
t(qi) : the time query qi is issued
d(qi): the dwelltime of query qi (the sum of dwelltimes of clicks after qi)
4.2 Task Identification
 Sequential Cut and Merge (SCM)
17
挟み込まれた場合に
対応できず
計算時間がかかる
over-merge
4.2 Task Identification
 Sequential Cut and Merge (SCM)
• まず,SCを適用し得られたtaskをsub taskと命名
• sub taskに含まれるクエリのBoWをマージし,新しい
クエリをつくる.これはsub taskを表現
• sub task集合でGCを適用.閾値以下のedgeをカット
• SCMのウリ
• SCの問題点(挟み込み)に対処
• GCに比べ,計算時間が少ない(上位概念でGCしているので)
18
5. Evaluation and Results
 2012年5月のある1日の商用ブラウザから得られた
セッションを抽出
 簡単のため,英語で書かれているUS住人で1つの
セッションに少なくとも10クエリあるセッション
にフィルタリング
 45813セッション得られて,600サンプルを人手
でラベル付け
19
5. Evaluation and Results
 Effectiveness of Classifiers and Features
20
Error Rate
5. Evaluation and Results
 Accuracy of Algorithms
 Computational Time
• 速い
21
GCはSCに比べてf measureで12.03%, jaccardで46.21%改善,
SCMはGCに比べて1.49%, jaccardで12.61%改善している
6. Conclusions
 Probaseを使ってconceptual featuresつくった
 これまでの特徴量と合わせて使うと
分類器の精度改善
 task identificationにもこれまでのアルゴリズムを
あわせたようなSCMアルゴリズムを使うと,
計算時間も同定精度も改善する
 今後の課題として
”celtics members”と”kevin garnette”が同じタスクに
されてしまう問題を解消したい
• 前者はNBAのチーム,後者はNBAのプレイヤー
22

More Related Content

Similar to Identifying Users’ Topical Tasks in Web Search

Abstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarAbstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarKodaira Tomonori
 
Complex Sequential Question Answering: Towards Learning to Converse Over Link...
Complex Sequential Question Answering: Towards Learning to Converse Over Link...Complex Sequential Question Answering: Towards Learning to Converse Over Link...
Complex Sequential Question Answering: Towards Learning to Converse Over Link...poppyuri
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺n_hidekey
 
Kaggle参加報告: Quora Insincere Questions Classification
Kaggle参加報告: Quora Insincere Questions ClassificationKaggle参加報告: Quora Insincere Questions Classification
Kaggle参加報告: Quora Insincere Questions ClassificationKazuki Fujikawa
 
Shibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてShibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてtnoda
 
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...marujirou
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringEiji Shinohara
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 
暗号化ベクトルデータベースのための索引構造
暗号化ベクトルデータベースのための索引構造暗号化ベクトルデータベースのための索引構造
暗号化ベクトルデータベースのための索引構造Junpei Kawamoto
 
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...Association for Computational Linguistics
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010Nobuaki Oshiro
 
静的型付け言語 Crystal
静的型付け言語 Crystal静的型付け言語 Crystal
静的型付け言語 Crystal5t111111
 
仕様記述言語の中の関数
仕様記述言語の中の関数仕様記述言語の中の関数
仕様記述言語の中の関数ardbeg1958
 
Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Ruo Ando
 
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLLINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLShinichiAoyagi
 

Similar to Identifying Users’ Topical Tasks in Web Search (16)

Abstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminarAbstractive Text Summarization @Retrieva seminar
Abstractive Text Summarization @Retrieva seminar
 
Complex Sequential Question Answering: Towards Learning to Converse Over Link...
Complex Sequential Question Answering: Towards Learning to Converse Over Link...Complex Sequential Question Answering: Towards Learning to Converse Over Link...
Complex Sequential Question Answering: Towards Learning to Converse Over Link...
 
大規模画像認識とその周辺
大規模画像認識とその周辺大規模画像認識とその周辺
大規模画像認識とその周辺
 
Kaggle参加報告: Quora Insincere Questions Classification
Kaggle参加報告: Quora Insincere Questions ClassificationKaggle参加報告: Quora Insincere Questions Classification
Kaggle参加報告: Quora Insincere Questions Classification
 
Shibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R についてShibuya.lisp #28: 仮題: R について
Shibuya.lisp #28: 仮題: R について
 
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...
Representation Learning Using Multi-Task Deep Neural Networks
for Semantic Cl...
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 
暗号化ベクトルデータベースのための索引構造
暗号化ベクトルデータベースのための索引構造暗号化ベクトルデータベースのための索引構造
暗号化ベクトルデータベースのための索引構造
 
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...
Jinan Xu - 2015 - Integrating Case Frame into Japanese to Chinese Hierarchica...
 
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 101010分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
 
静的型付け言語 Crystal
静的型付け言語 Crystal静的型付け言語 Crystal
静的型付け言語 Crystal
 
NLP2012
NLP2012NLP2012
NLP2012
 
仕様記述言語の中の関数
仕様記述言語の中の関数仕様記述言語の中の関数
仕様記述言語の中の関数
 
Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01Css2014 ruo ando_2014-10-23-01
Css2014 ruo ando_2014-10-23-01
 
LINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XMLLINQ 概要 + 結構便利な LINQ to XML
LINQ 概要 + 結構便利な LINQ to XML
 

Identifying Users’ Topical Tasks in Web Search

  • 1. Identifying Users’ Topical Tasks in Web Search W. Hua, Y. Song, H. Wang, Z. Zhou, WSDM 2013 2013/06/30 SEXI2013読み会 @harapon
  • 2. この論文の内容  Search Taskはクエリとそのreformationで成り立つ  task identificationはサーチエンジンにとって重要 • 価値のある情報を提供する • ユーザーのサーチの意図を予測する • ユーザーにクエリをサジェストする  これまでのアプローチでは • クエリのtemporal features (時間特徴量) • lexical features (単語の特徴量)を用いる  多くのクエリのreformationはtopicalなので,その reformationは単語レベルでは同じではないかも (問題1) 2 “flight to LA”に対して“cheap US flight“をサジェスト→やりやすい “flight to LA”に対して“hotel in LA”をサジェスト→難しい
  • 3. この論文の内容  更に同じsearch session内であっても複数のタスク が挟まれている場合があり,タイムスタンプに よってクエリを時間順に並べることができない (問題2)  このような問題に対して, • セマンティックレベルで2つのクエリを比較した類似度 をつくることで問題1に対処し, • 時間的に離れたクエリ間においてSequential Cut and Merge (SCM)アルゴリズムを提案し,問題2に対処した 3
  • 5. 3.1 Knowledge Representation  node • entity (“Barack Obama”) • concept (“President of America”) • attribute (eg, “age”, “color”)  edge • isA relationship (“Barack Obama” isA “President of America”) • isAttributeOf relationship (“population” isAttributeOf “country”)  Probaseのedgesは確率的情報の重み付け • P(instance | concept) • eg. P(“poodle”| “dogs”) > P(“pugs”|”dogs”) • P(concept | instance), P(concept | attribute), P(attribute | concept)も定義可能  何十億のweb pageからひっぱってきて構築 5
  • 6. 4. Methodology  task identificationは次の2つの問題に集約される • 2つのクエリ間の類似性・関連性をどう定量化するか? • 1つのクエリセッション内で類似クエリを効率的に どうクラスター化するか?  taskの定義 6 あるセッションがクエリ として与えられたとき,taskは : クエリ のタイムスタンプ : クエリ , の類似度 : 類似度の閾値 は連続していないかもしれない
  • 7. 4.1 Similarity Calculation  クエリ類似度のために4種類の特徴量をつくる • conceptual features • lexical features • template features • temporal features  特にconceptual featuresがメイン • クエリ曖昧性の解消がモチベーション • “apple”が「リンゴ(果物)」なのか「アップル(企業)」なのか 7
  • 8. 4.1.1 Conceptual Features  クエリの背後にある概念を特徴量化する  Step 1: Parsing • クエリを単語に分割 • Probase内のinstance/attributeに写像される一番長い 単語列を用いる • 同じ長さならより多くのconceptに繋がっている方 • クエリが”truck driving school pay after training”なら ”truck driving”, “school”, “pay”, “training”がProbaseに表れる 最も長いインスタンス.”driving”はダメ • クエリが”tiger woods”なら ”tiger”, “woods“ではなく”tiger woods” • このようにBoW表現よりも解釈しやすいクエリ 8
  • 9. 4.1.1 Conceptual Features  Step 2: Conceptualization • あるクエリをinstances/attributesの集合に写像 • これらのinstances/attributesを表す最も良いconceptを推測 • まず,以下を用いて候補となるconceptを特定する • ここで,concept vector • MはProbase内のconceptの総数 • 上位K位のconceptのみ選ぶ 9
  • 10. 4.1.1 Conceptual Features  クラスター化 • 次にあるクエリ内の複数のトピックを見つけるために 各クラスターが一つのトピックになるよう, instance/attribituesをグループ化する • eg. “alabama home insurance”なら”alabama”(“state”)と”home insurance”(“insurance” and “benefits”) • 重み付けグラフ をつくる • 各edgeはnodeのconcept vector間のコサイン類似度 • 閾値より小さいコサイン類似度であればグラフから edgeを除去し,instance/attributes clusterを表す サブグラフを作成 • クラスター r: 10 : Tと一致するノード集 合, : エッジ集合
  • 11. 4.1.1 Conceptual Features  クエリ曖昧性問題の解消 • 各クラスターr内のinstance/attributesを concept vector crでコンセプト化 • Naive Bayes fuctionによってクラスターr内の各 instance/attributesのconcept vectorの共通部分を計算 • ここでinstance/attributesはそれぞれ独立と仮定 • クラスターr内の共通コンセプトをランク付け 11 P(ck|tl r): instance/attributes tl rびconcept vector のk番目の値 P(ck): Probaseにおけるconcept ckのpopularity
  • 12. 4.1.1 Conceptual Features  クエリ曖昧性解消の例  クエリ全体のコンセプト化 • 曖昧性のないconcept vectorからコンセプト化 12
  • 13. 4.1.1 Conceptual Features  Step 3: Calculating conceptual similarity • 各クエリqのコンセプト化の結果(concept vector cq)か ら,クエリ間のコサイン類似度を計算 13 クエリ qi 単語列 単語列 単語列 instance/attributes集合 T = (t1, t2, …, tL) t1 → c1 t2 → c2 tL → cL concept vector t2 t1 t3 t4 ti-1 ti ti+1 クラスター化 T1 → c1 Tr → cr 各クラスターの concept vector クエリqiの concept vector cq 一連の流れ
  • 14. 4.1.2 Lexical Features  クエリ間のBoW類似度を表す2つの方法 • N-word Jaccard • “the car james bond drive”を2-wordsでやると [“the car”, “car james”, “james bond”, “bond drive”] • N-char Jaccard • 同様に文字単位で定義 14 vi : the N-word set of query qi vi k : the term-frequency of the kth N-word in set vi m, n : the size of set vi and vj ki , kj : the indexes of that N- word in set vi and vj vi ki , vijkj : the term frequencies of that common N-word in set vi and vj
  • 15. 4.1.3 Template Features  Huang et al.(2009)の方法  substring/superstring, add/remove words, stemming, spelling correction, acronym and abbreviation, etc.  要はタイプミスや派生語の編集距離  Levenshtein edit distance 15 ed(qi , qj) : the Levenshtein edit distance between query qi and qj len(qi): the length of query qi
  • 16. 4.1.4 Temporal Features  連続するクエリ間のtime interval  時間的に近ければ近いほど同じタスクである確率 が高い 16 t(qi) : the time query qi is issued d(qi): the dwelltime of query qi (the sum of dwelltimes of clicks after qi)
  • 17. 4.2 Task Identification  Sequential Cut and Merge (SCM) 17 挟み込まれた場合に 対応できず 計算時間がかかる over-merge
  • 18. 4.2 Task Identification  Sequential Cut and Merge (SCM) • まず,SCを適用し得られたtaskをsub taskと命名 • sub taskに含まれるクエリのBoWをマージし,新しい クエリをつくる.これはsub taskを表現 • sub task集合でGCを適用.閾値以下のedgeをカット • SCMのウリ • SCの問題点(挟み込み)に対処 • GCに比べ,計算時間が少ない(上位概念でGCしているので) 18
  • 19. 5. Evaluation and Results  2012年5月のある1日の商用ブラウザから得られた セッションを抽出  簡単のため,英語で書かれているUS住人で1つの セッションに少なくとも10クエリあるセッション にフィルタリング  45813セッション得られて,600サンプルを人手 でラベル付け 19
  • 20. 5. Evaluation and Results  Effectiveness of Classifiers and Features 20 Error Rate
  • 21. 5. Evaluation and Results  Accuracy of Algorithms  Computational Time • 速い 21 GCはSCに比べてf measureで12.03%, jaccardで46.21%改善, SCMはGCに比べて1.49%, jaccardで12.61%改善している
  • 22. 6. Conclusions  Probaseを使ってconceptual featuresつくった  これまでの特徴量と合わせて使うと 分類器の精度改善  task identificationにもこれまでのアルゴリズムを あわせたようなSCMアルゴリズムを使うと, 計算時間も同定精度も改善する  今後の課題として ”celtics members”と”kevin garnette”が同じタスクに されてしまう問題を解消したい • 前者はNBAのチーム,後者はNBAのプレイヤー 22