深度解析 | 垂直搜索引擎構(gòu)建:一個(gè)例子(上)

0 評論 4553 瀏覽 23 收藏 18 分鐘

搜索引擎可以分為三類,元搜索引擎、綜合搜索引擎、垂直搜索引擎。元搜索引擎使用場景較少,綜合搜索引擎逐漸成熟,而許多垂直搜索引擎發(fā)展卻參差不齊。一方面,身處垂直行業(yè)的企業(yè)更關(guān)注業(yè)務(wù)發(fā)展,較少關(guān)注產(chǎn)品算法和策略。另一方面,網(wǎng)絡(luò)上關(guān)于搜索引擎的功能設(shè)計(jì)的文章汗牛充棟,而對搜索引擎的策略設(shè)計(jì)闡述卻是不常見。針對這種現(xiàn)象,本文將以互聯(lián)網(wǎng)房產(chǎn)為例,分享垂直搜索引擎的構(gòu)建策略和基本框架,希望可以為后來者帶來一些啟發(fā)。

01搜索引擎概述

1.1 房產(chǎn)搜索引擎的含義

房產(chǎn)搜索是為用戶提供房源信息檢索的搜索工具。用戶可以通過輸入樓盤、小區(qū)、地標(biāo)等關(guān)鍵詞來獲取自己需要的房源或資訊信息。

1.2 房產(chǎn)搜索引擎的數(shù)據(jù)來源

房產(chǎn)搜索引擎數(shù)據(jù)來源主要有兩個(gè)渠道:(1)用戶、企業(yè)、經(jīng)紀(jì)人發(fā)布或上傳;(2)基于爬蟲進(jìn)行站外抓取。

1.3 房產(chǎn)搜索引擎的特點(diǎn)

房產(chǎn)搜索的使命是連接人與房源,幫助用戶“”、“準(zhǔn)”、“”地搜集符合自身需求的信息?!翱臁敝冈L問和返回搜索結(jié)果的速度快;“準(zhǔn)”指返回精準(zhǔn)命中用戶需求的信息;“全”指返回多條滿足用戶需求的信息,使用戶有選擇余地。

深度解析 | 房產(chǎn)垂直搜索引擎構(gòu)建(上)

相比綜合搜索引擎Google、Bing、Baidu而言,房產(chǎn)搜索屬于垂直類搜索引擎,具備一些獨(dú)有的特點(diǎn):

1. 信息精準(zhǔn)

房產(chǎn)搜索數(shù)據(jù)專注房產(chǎn)領(lǐng)域 ,對房產(chǎn)信息的收集較為全面,同時(shí)通過標(biāo)簽構(gòu)建,用戶即便輸入意圖模糊的query也會(huì)返回符合用戶需求的結(jié)果。如搜索“朝陽”,相比綜合搜索引擎會(huì)返回地標(biāo)地圖、百科等信息,房產(chǎn)軟件則會(huì)命中地標(biāo)附近的各類房源信息、資訊等。

因此綜合類搜索引擎需要根據(jù)用戶屬性、行為日志等特征,對用戶的意圖識別作出更多的探索,而垂直類搜索引擎則需對用戶query進(jìn)行聚焦,在房產(chǎn)領(lǐng)域召回符合用戶信息的數(shù)據(jù)。

2. 更為便捷

如果使用Baidu等綜合搜索引擎,搜索房產(chǎn)信息,難以避免在結(jié)果中瀏覽大量與需求無關(guān)信息,從而浪費(fèi)時(shí)間。使用房產(chǎn)搜索則可以快速、輕松地找到符合自己需求的房源信息與資訊。

3. 多樣化的篩選和排序

房產(chǎn)搜索可提供多樣化的篩選和排序功能,例如用戶可按照地區(qū)、房源類型、面積、戶型、價(jià)格等多種條件進(jìn)行篩選和排序,以快速定位滿足自身需求的信息。

目前一些搜索引擎也在布局Item篩選垂直化,如京東,對許多熱銷品類篩選進(jìn)行定制化篩選,以滿足用戶個(gè)性化的需求。

深度解析 | 房產(chǎn)垂直搜索引擎構(gòu)建(上)

02 搜索引擎的作用

具備房源需求的用戶,往往在使用App前就有明確的需求畫像,比如想要在xx小區(qū)購買一套三居室,價(jià)格在500萬左右的二手房。這些用戶并不會(huì)無目的地瀏覽與需求無關(guān)的信息。因此,識別用戶的意圖并返回符合其需求的房源信息,是搜索的核心功能。此外,房產(chǎn)搜索還具備以下作用:

1. 體驗(yàn)提升

通過房產(chǎn)搜索引擎,用戶可以在平臺上快速、方便地找到滿足自身需求的房源信息,減少綜合搜索產(chǎn)生的信息過載。

2. 流量引導(dǎo)

根據(jù)相關(guān)數(shù)據(jù)統(tǒng)計(jì),在房產(chǎn)應(yīng)用中,主搜承載了首頁40%以上的流量,對流量轉(zhuǎn)化和收入提升有著十分重要的作用。通過搜索引流,有助于提升其他內(nèi)容曝光量,提高訂單(線索)轉(zhuǎn)化率。

3. 廣告創(chuàng)收

通過在搜索前、搜索中、和搜索后植入符合用戶或商業(yè)化需求的廣告,有助于提高用戶體驗(yàn)和帶來廣告收益。

4. 產(chǎn)生曝光

當(dāng)用戶意圖精度缺乏時(shí),對關(guān)鍵詞進(jìn)行拓展,可以使更多關(guān)聯(lián)房源被用戶瀏覽,從而滿足用戶潛在需求和提高長尾房源曝光率。

5.數(shù)據(jù)分析

搜索可以產(chǎn)生海量的用戶數(shù)據(jù),對用戶行為日志進(jìn)行時(shí)序對比、交叉分析可以解構(gòu)用戶需求,構(gòu)建用戶個(gè)人畫像、群體畫像等。此外,也可通過觀察搜索詞、搜索行為等數(shù)據(jù),分析房市熱點(diǎn),打造相關(guān)運(yùn)營內(nèi)容,營造良好的應(yīng)用生態(tài)環(huán)境。

03 房產(chǎn)搜索的框架搭建

實(shí)際上,搜索引擎是一個(gè)復(fù)雜的系統(tǒng),它需要通過搜索用戶輸入的查詢來從大量的數(shù)據(jù)中篩選出最符合用戶需求的結(jié)果。整個(gè)搜索引擎包括query理解、召回和排序、重排等多個(gè)模塊。下面將介紹房產(chǎn)搜索引擎的整體框架以及每個(gè)模塊的作用。

3.1 Query理解

Query理解可以被視為一種分析過程。對用戶輸入的query進(jìn)行預(yù)處理、分詞、糾錯(cuò)、擴(kuò)展、意圖識別、賦予權(quán)重等操作,再做為檢索條件進(jìn)行數(shù)據(jù)召回。

深度解析 | 房產(chǎn)垂直搜索引擎構(gòu)建(上)

這個(gè)過程可能比較復(fù)雜,我們可以通過一個(gè)例子來進(jìn)行簡單分析。例如,用戶輸入query為:“Chaoyang 兩居的二手房、”,可以進(jìn)行以下操作:

1. 預(yù)處理

預(yù)處理指對整個(gè)輸入query進(jìn)行簡單處理,將大小轉(zhuǎn)換為小寫、無意義符號去除停用詞去除、半角轉(zhuǎn)換、過長截?cái)?/strong>、繁轉(zhuǎn)簡等。通過上述方法,對數(shù)據(jù)進(jìn)行初步處理。

對上述query做預(yù)處理后可以得到:“chaoyang兩居二手房”

2. 分詞

分詞(Tokenization)指根據(jù)一些規(guī)則,將一段文本切換為若干個(gè)字或詞語的流程,如“永遠(yuǎn)有光芒”,可拆分為“永遠(yuǎn)/有/光芒”,這里的每一個(gè)字或詞可以看作一個(gè)輸入單元(Token),OpenAI的API的收費(fèi)標(biāo)準(zhǔn)便是按Token為單位計(jì)費(fèi)的。

常見的分詞工具有jieba、HanLPNLPIR、THULAC、IK Analyzer。值得一提的是,大多分詞工具也支持自定義詞典。對于垂直搜索引擎而言,結(jié)合分詞工具和自定義詞典切分自然語言十分方便。

通過使用分詞工具,我們可以將query可切分為“chaoyang”、“兩居”、“二手房”3個(gè)Token。

3. 糾錯(cuò)

糾錯(cuò)(Query Correction)是預(yù)處理中的重要流程之一,通過對用戶輸入的query進(jìn)行修正或重寫,提高搜索結(jié)果的精準(zhǔn)度。糾錯(cuò)一般包括以下幾種方法:拼寫檢查、詞典糾錯(cuò)基于上下文糾錯(cuò)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等方法。房產(chǎn)搜索引擎主要使用拼寫檢查、基于詞典糾錯(cuò)等方法。

關(guān)于機(jī)器學(xué)習(xí)或深度學(xué)習(xí),主要采用HMM、Seq2SeqTransformer、Pointer-Generator Networks等模型進(jìn)行改寫生成。另外,BERT的應(yīng)用也是不錯(cuò)的選擇,在工業(yè)界被廣泛應(yīng)用。

根據(jù)糾錯(cuò)規(guī)則,此處將query處理為“朝陽/兩居/二手房”。

4. 擴(kuò)展

擴(kuò)展(Expansion)一般指對用戶的query進(jìn)行擴(kuò)展,以便召回更多符合用戶需求的數(shù)據(jù)。擴(kuò)展通常有以下方法:

  • 同義詞擴(kuò)展:將查詢詞中的同近義詞進(jìn)行轉(zhuǎn)換或替換。如用戶輸入“北京九號線”可將詞語擴(kuò)展至“國家圖書館”、“郭公莊”等沿線站點(diǎn);
  • 模糊匹配擴(kuò)展:對查詢詞進(jìn)行模糊匹配,用來糾正潛在的拼寫或語法錯(cuò)誤相關(guān)詞擴(kuò)展。如對于“橡樹”可擴(kuò)展至“橡樹灣”;
  • 根據(jù)查詢詞的內(nèi)容和上下文:添加相關(guān)的查詢詞或?qū)傩?,以擴(kuò)展搜索結(jié)果。對于用戶輸入“學(xué)區(qū)房”可將其擴(kuò)展為包括標(biāo)題“xx學(xué)?!钡臋z索結(jié)果;
  • 基于用戶畫像的擴(kuò)展:根據(jù)用戶的歷史搜索行為、興趣偏好、地理位置等上下文信息,擴(kuò)展用戶查詢詞,以更好地匹配搜索結(jié)果。如,對于經(jīng)常瀏覽別墅的用戶,在對其“二手房”的搜索上可加上“別墅二手房”等關(guān)聯(lián)詞匯。

5. 意圖識別

意圖識別指通過各種方法,對用戶的query進(jìn)行分析,確定用戶需求的過程。用戶意圖可分為精準(zhǔn)意圖和模糊意圖。

精準(zhǔn)意圖識別一般根據(jù)用戶的query,檢索其用戶意圖精準(zhǔn)對應(yīng)的item。模糊意圖識別一般可以采用基于模板規(guī)則、行為統(tǒng)計(jì)反饋、深度學(xué)習(xí)等方法。由于方法較為繁雜,此處不做詳細(xì)介紹,若感興趣的讀者可自行檢索相關(guān)文章

通過意圖識別:我們可以得到query相關(guān)詞匯“朝陽”、“兩居”、“二手房”,代表的實(shí)體含義為 {Region:’朝陽’;House Type:’兩居’; House Status:’二手房’}。

6. 權(quán)賦

權(quán)賦是指在文本處理中對詞項(xiàng)(term)進(jìn)行權(quán)重計(jì)算和權(quán)重賦予的過程。權(quán)重計(jì)算通常使用TF-IDF、TF-DFBM25、概率模型隱語義分析、基于知識圖譜的算法等。

房產(chǎn)信息具備高度結(jié)構(gòu)話特征,因此在項(xiàng)目初期,使用權(quán)重計(jì)算的場景較為稀少。而在處理房產(chǎn)資訊的檢索時(shí),可以使用該方法,進(jìn)行數(shù)據(jù)處理。

7. 敏感信息

敏感信息:query分析中,對敏感信息(如違法、隱私)等信息進(jìn)行識別和過濾的過程。可通過基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)、基于深度學(xué)習(xí)的方法等實(shí)現(xiàn)

3.2 召回

召回是根據(jù)處理過的用戶query,在數(shù)據(jù)庫查詢符合條件數(shù)據(jù)的過程。召回是搜索引擎中的重要環(huán)節(jié),垂直搜索引擎亦不例外。召回策略決定著搜索結(jié)果的質(zhì)量。例如,用戶想要尋找北京的房源,若召回的是上海的房源,那么排序再好,也對用戶的需求解決沒有任何幫助。

除了召回策略外,數(shù)據(jù)質(zhì)量也至關(guān)重要。在互聯(lián)網(wǎng)房產(chǎn)行業(yè),房源數(shù)據(jù)主要來自用戶發(fā)布和商家發(fā)布,資訊的數(shù)據(jù)來源是多方的,包括企業(yè)發(fā)布、用戶發(fā)布、第三方公開資訊等。

除了內(nèi)容信息外,用戶行為和用戶日志數(shù)據(jù)也需進(jìn)行儲存,它們是召回策略的重要參考依據(jù)。

1. 數(shù)據(jù)儲存與加工

搜索引擎的質(zhì)量取決于搜索策略和數(shù)據(jù)質(zhì)量。低質(zhì)數(shù)據(jù)泛濫,對用戶的瀏覽體驗(yàn)造成了嚴(yán)重的負(fù)面影響。這是當(dāng)前中文搜索為人所詬病的原因之一。在Chatgpt、文心一言等AIGC工具迅速發(fā)展的情形下,這種影響將會(huì)愈發(fā)嚴(yán)重。因此,數(shù)據(jù)在存儲時(shí),除了本身實(shí)體屬性外,還需要引入一些額外的標(biāo)簽對數(shù)據(jù)質(zhì)量進(jìn)行多方面評價(jià)。

對于房源信息,數(shù)據(jù)庫通常會(huì)錄入房源的標(biāo)題、名稱、類型、位置、價(jià)格、戶型、面積、樓層、朝向、發(fā)布時(shí)間等字段,同時(shí)這些將這些數(shù)據(jù)做結(jié)構(gòu)化處理,方便搜索引擎和其他業(yè)務(wù)查詢。除此之外,也可以引入房源質(zhì)量評分、VR評分、戶型評分、評級等多維評價(jià)標(biāo)簽或指數(shù),作為召回策略的條件。

2. 召回方式

與大多搜索引擎系統(tǒng)一樣,房產(chǎn)搜索引擎通常采取多路召回策略,下面介紹幾種常用的召回策略:

  • 文本索引召回:文本索引通常使用倒排索引方式。預(yù)先構(gòu)建關(guān)鍵詞-包含關(guān)鍵詞文檔的索引,根據(jù)用戶輸入的關(guān)鍵詞,對房產(chǎn)數(shù)據(jù)庫中的已有的索引進(jìn)行檢索,查找包含關(guān)鍵詞的房源(文檔)信息。例如,用戶在平臺搜索“三室兩廳”,搜索引擎根據(jù)數(shù)據(jù)庫中查找包含“三室”和“兩廳”的文檔索引,從中返回符合搜索條件的房源信息并呈現(xiàn)給用戶。
  • 精準(zhǔn)召回:根據(jù)用戶輸入的召回條件,從房產(chǎn)數(shù)據(jù)庫中篩選出符合條件的房源信息,保證召回的準(zhǔn)確性和完整性。例如,用戶在房產(chǎn)平臺搜索“深圳市羅湖區(qū),90平米以下的二手房”。根據(jù)用戶輸入的query,不進(jìn)行糾錯(cuò)、擴(kuò)展等操作,優(yōu)先在數(shù)據(jù)庫中篩查找符合query的房源信息。
  • 同義詞改寫:將用戶輸入的query轉(zhuǎn)換為相似的同義詞,從而擴(kuò)大召回范圍,提高召回的覆蓋率。例如,當(dāng)用戶在房產(chǎn)平臺搜索“帶陽臺的房子”,搜索引擎可以將“陽臺”改寫為“露臺”,“陽光房”等同義詞,從而擴(kuò)大搜索范圍,提高召回率。
  • U2I:基于用戶歷史行為數(shù)據(jù),將用戶行為、偏好等信息作為召回條件之一,提高召回的個(gè)性化程度。比如經(jīng)常搜索小戶型房源的用戶,我們可以在召回時(shí)將“小戶型”(1或2室)加入到召回條件中,提高搜索結(jié)果的滿意度。
  • I2I:基于不同房源之間的相似度,將某個(gè)房源特征加入到召回條件中,推薦相似的房源信息。例如,用戶收藏了一套花園別墅。基于該房源的特征,比如位置、房型、面積、價(jià)格等,在搜索結(jié)果中適當(dāng)推薦其它具有相似特征的別墅給用戶。

除此之外,召回策略還包含向量召回、基于深度學(xué)習(xí)召回等方式,有興趣的讀者可以通過作者其他文章了解。

召回是從海量的物品庫里快速找出用戶可能感興趣的物品的過程,它決定了推薦系統(tǒng)的上限。如果召回的物品與用戶需求無關(guān),那么后面的排序就算再好也無法解決用戶需求。召回率越高,用戶就有更多的選擇空間,推薦系統(tǒng)就更能滿足用戶的需求。

除了分詞、召回的處理外,搜索引擎還涉及到排序評價(jià)等模塊,讀者朋友們可以通過點(diǎn)擊下方傳送門進(jìn)行查看。

傳送門:深度解析 | 垂直搜索引擎構(gòu)建:一個(gè)例子(下)

參考文獻(xiàn)

1 J Shen, R Lyu, X Ren, M Vanni, B Sadler. Mining Entity Synonyms with Efficient Neural Set Generation. AAAI,2019.

2 H Fei, S Tan, P Li. Hierarchical multi-task word embedding learning for synonym prediction. KDD,2019.

本文由 @知一 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!