【筆記】搜索引擎中的Query改寫(xiě)Keyword技術(shù)研究

技術(shù)文章鏈接:https://mp.weixin.qq.com/s/aW5NaF6-SqJXpkO687XdAw
發(fā)表于微信公眾號(hào):360搜索實(shí)驗(yàn)室
以下是對(duì)360搜索實(shí)驗(yàn)室發(fā)表的這篇技術(shù)文章的閱讀筆記。

背景

搜索引擎對(duì)關(guān)鍵詞形式的query返回結(jié)果好漾根,而對(duì)一般自然語(yǔ)言形式的query返回結(jié)果差到踏。需要將一般自然語(yǔ)言形式的query轉(zhuǎn)化成關(guān)鍵詞形式的query,其實(shí)是從一句話中提取關(guān)鍵詞昵济。

關(guān)鍵詞提取

抽取方式

  1. 分詞
  2. 計(jì)算詞語(yǔ)的重要程度智绸,計(jì)算方式有基于tf-idf和基于TextRank的
  3. 按照詞語(yǔ)的重要程度排序,挑選top n個(gè)詞語(yǔ)作為關(guān)鍵詞

基于tf-idf

tf:詞頻
idf:詞的區(qū)分能力
tfidf:詞的重要性访忿,tfidf高瞧栗,則選為關(guān)鍵詞。按照tf*idf排序海铆,挑選top n個(gè)詞語(yǔ)作為關(guān)鍵詞迹恐。

基于TextRank

借鑒PageRank
在k長(zhǎng)度窗口中詞的相鄰關(guān)系來(lái)得到PageRank的鏈接指向關(guān)系。所以如果一個(gè)詞V_i在這個(gè)k長(zhǎng)度窗口中只出現(xiàn)一次游添,則只有一個(gè)詞(w的前一個(gè)詞)指向V_i系草,它也只指向一個(gè)詞(V_i的后一個(gè)詞)。但是如果V_i在這個(gè)k長(zhǎng)度窗口出現(xiàn)多次唆涝,或者V_i在其他的k長(zhǎng)度窗口也出現(xiàn)了找都,則會(huì)有多個(gè)詞指向V_i,V_i也會(huì)指向多個(gè)詞廊酣。
迭代公式如下:


迭代公式.png

WS(V_j)表示詞V_j的重要性能耻;d是阻尼系數(shù),決定TextRank算法一次能影響多少亡驰;In(V_i)是指向該詞V_i的集合晓猛;Out(V_j)該詞V_j指向的詞的集合;w_ji表示詞V_j指向詞V_i的鏈接的權(quán)重凡辱。公式的計(jì)算結(jié)果得到WS(V_i)詞V_i的重要性戒职。
TextRank不斷迭代下去,每個(gè)詞V_i的重要性WS(V_i)會(huì)收斂透乾,趨于一個(gè)穩(wěn)定值洪燥,即得到詞V_i最終的重要性。
WS(V_i)高乳乌,則選為關(guān)鍵詞捧韵。按照WS(V_i)排序,挑選top n個(gè)詞語(yǔ)作為關(guān)鍵詞汉操。

生成方式

  1. 理解用戶原始query
  2. 生成與用戶原始query意思一致的關(guān)鍵詞
    利用深度學(xué)習(xí)文本生成技術(shù)來(lái)進(jìn)行關(guān)鍵詞抽取

seq2seq結(jié)構(gòu)

seq2seq結(jié)構(gòu).png

seq2seq結(jié)構(gòu)包括:
(1)encoder:將可變長(zhǎng)度的序列的信息(以<EOL>作為輸入序列的結(jié)束標(biāo)志)存放在一個(gè)固定長(zhǎng)度的向量里
(2)decoder:將encoder得到的固定長(zhǎng)度向量的信息解碼成可變長(zhǎng)度的序列(以<EOL>作為輸出序列的結(jié)束標(biāo)志)
nmt機(jī)器翻譯模型就是采用了這種seq2seq結(jié)構(gòu)再来。

seq2seq結(jié)構(gòu)的局限性

編碼和解碼之間的聯(lián)系只有一個(gè)固定長(zhǎng)度的向量。encoder要將整個(gè)序列的信息都?jí)嚎s到一個(gè)固定長(zhǎng)度的向量磷瘤,很有可能整個(gè)序列的信息無(wú)法都?jí)嚎s到這個(gè)向量里芒篷,而且即使是LSTM做為encoder搜变,仍然無(wú)法記住很久之前的信息,這個(gè)固定長(zhǎng)度的向量只能保留少部分先輸入的信息梭伐。

seq2seq結(jié)構(gòu)的改進(jìn):attention based seq2seq

attention其實(shí)是個(gè)矩陣痹雅,表示輸出時(shí)需要重點(diǎn)關(guān)注輸入的哪些部分。
attention based seq2seq結(jié)構(gòu)如下:


attention based seq2seq.png

attention矩陣計(jì)算公式為:


attention矩陣計(jì)算公式.png

e_ij評(píng)估了第j個(gè)輸入h_j與第i個(gè)輸出s_{i-1}的match程度糊识;a_ij相關(guān)于是e_ij的歸一化結(jié)果绩社,其實(shí)就是e_ij的softmax值,得到0-1的值a_ij赂苗,a_ij仍然是衡量第j個(gè)輸入h_j與第i個(gè)輸出s_{i-1}的match程度愉耙。
attention based seq2seq運(yùn)用到機(jī)器翻譯任務(wù)時(shí),attention也被稱為對(duì)齊模型拌滋,比如“今天天氣真好”翻譯完“今天”之后朴沿, 注意力就會(huì)在“天氣”上,考慮應(yīng)該將“天氣”翻譯成什么詞败砂。相當(dāng)于將當(dāng)前翻譯的詞與新生成的詞進(jìn)行對(duì)齊赌渣。
attention based seq2seq廣泛應(yīng)用于機(jī)器翻譯,文本摘要和智能問(wèn)答等任務(wù)昌犹,但對(duì)于文本摘要坚芜,關(guān)鍵詞提取等任務(wù),其decoder部分仍然有很大的提升空間斜姥。

attention based seq2seq問(wèn)題

問(wèn)題一:

OOV(Out of Vocabulary)問(wèn)題
decoder產(chǎn)生的詞只能是來(lái)自 訓(xùn)練數(shù)據(jù)分詞得到的詞匯表鸿竖。測(cè)試時(shí)铸敏,測(cè)試集target句子中的詞有可能沒(méi)有在訓(xùn)練數(shù)據(jù)中出現(xiàn)缚忧,則decoder無(wú)法生成這些詞;測(cè)試集source句子中的詞有可能沒(méi)有在訓(xùn)練數(shù)據(jù)中出現(xiàn)杈笔,則encoder不認(rèn)識(shí)這些詞,無(wú)法對(duì)這些詞進(jìn)行編碼融师,會(huì)直接將其認(rèn)為是unknown “<unk>”,而直接輸出到target預(yù)測(cè)結(jié)果中,并保持在source中的位置房待。

問(wèn)題一的解決方法:pointer network

利用attention矩陣的softmax分布作為pointer指針敏簿,指針指向的輸入中的詞作為輸出绣硝,實(shí)際上是平衡了“抽取”(指針直接指向重要的詞)和“生成”兩種方式的優(yōu)點(diǎn)败许。

問(wèn)題二:

decoder過(guò)度依賴其輸入醋寝,也就是先前的總結(jié)詞嗅绰,會(huì)導(dǎo)致一個(gè)詞的出現(xiàn)觸發(fā)無(wú)盡的重復(fù)财边。

問(wèn)題二的解決方法:采用coverage機(jī)制

對(duì)前期注意力覆蓋的詞進(jìn)行懲罰慧库,防止用過(guò)的詞再被使用莺债。

綜合兩種解決方法:Pointer-Generator Network

Pointer-Generator Network.png

將輸入中詞的概率和詞表中詞的概率做一個(gè)加權(quán)和


image.png

當(dāng)詞語(yǔ)不在詞表中,則利用輸入中的attention分值進(jìn)行選取术健。能有效解決OOV問(wèn)題比被。
對(duì)于重復(fù)問(wèn)題,維護(hù)一個(gè)coverage向量泼舱,記錄之前所有attention和


image.png

在loss里加入這一項(xiàng),這樣可以對(duì)之前考慮過(guò)的詞進(jìn)行懲罰枷莉,防止重復(fù)娇昙。

結(jié)果對(duì)比

生成方式的訓(xùn)練數(shù)據(jù):qt對(duì),query和點(diǎn)擊的URL的title笤妙。將title作為輸入冒掌,query作為輸出。


結(jié)果對(duì)比.png

結(jié)論

生成方式要好于抽取方式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹲盘,一起剝皮案震驚了整個(gè)濱河市股毫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌召衔,老刑警劉巖铃诬,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異苍凛,居然都是意外死亡趣席,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)醇蝴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宣肚,“玉大人,你說(shuō)我怎么就攤上這事悠栓∶拐牵” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵惭适,是天一觀的道長(zhǎng)笙瑟。 經(jīng)常有香客問(wèn)我,道長(zhǎng)腥沽,這世上最難降的妖魔是什么逮走? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮今阳,結(jié)果婚禮上师溅,老公的妹妹穿的比我還像新娘。我一直安慰自己盾舌,他們只是感情好墓臭,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著妖谴,像睡著了一般窿锉。 火紅的嫁衣襯著肌膚如雪酌摇。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天嗡载,我揣著相機(jī)與錄音窑多,去河邊找鬼。 笑死洼滚,一個(gè)胖子當(dāng)著我的面吹牛埂息,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遥巴,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼千康,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了铲掐?” 一聲冷哼從身側(cè)響起拾弃,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎摆霉,沒(méi)想到半個(gè)月后豪椿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡斯入,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年砂碉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻两。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡增蹭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出磅摹,到底是詐尸還是另有隱情滋迈,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布户誓,位于F島的核電站饼灿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏帝美。R本人自食惡果不足惜碍彭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望悼潭。 院中可真熱鬧庇忌,春花似錦、人聲如沸舰褪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)占拍。三九已至略就,卻和暖如春捎迫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背表牢。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工窄绒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人初茶。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓颗祝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親恼布。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容