某新聞資訊平台,在内容搜尋場景中需要滿足業務多樣化,個性化的需求,在query改寫配置好後,希望在排序階段進行優化,實作強大的相關性排序效果,提高使用者點選率。今天會結合幾個典型場景該如何來思考和設計排序因子,和大家詳解特征性函數的應用
Query在開放搜尋的執行流程

開放搜尋排序表達式配置
接下來給大家分析幾個常見的排序優化需求:
場景1:查詢詞和召回字段比對程度排序優化
案例:當使用者搜尋“藥品公司”,分詞數量為2個:藥品,公司,在召回結果包含的查詢詞分詞個數相同情況下,如何把title“藥品公司”排在“藥品杭州分公司”的前面那?
開放搜尋解決方案:應用排序相關性特征函數項field_match_ratio, 查詢詞的分詞個數與召回字段的總詞組字個數比值,比值越低,排序分越高.
詳細用法:
https://help.aliyun.com/document_detail/51287.htmlspm=a2c4g.11186623.6.626.64786ab8OOs7hM場景2: 标簽特征權重在“個性化”排序召回中的應用
案例: 當使用者搜尋"吃雞",可能是遊戲吃雞内容搜尋,也可以能是新聞内容搜尋,如何把使用者更感興趣的遊戲内容排到前面那?
開放搜尋解決方案:比對文檔和請求中的标簽tag_match 函數,用于對查詢語句和文檔做标簽比對,使用比對結果對文檔進行算分權重;
• 通過長時間的積累能獲知每個使用者的興趣标簽,可以和内容/商品标簽對應,做到“個性化”排序
• 實作對使用者感興趣的文章權重,把使用者更感興趣的内容/商品排到前面;
假設文檔内容共有如下10類型的标簽:
1-财經, 2-科技 ,3-體育 ,4-娛樂 ,5-時尚, 6-教育 ,7-旅遊 ,8-遊戲 ,9-科普 ,10-醫療
如果想将“8-遊戲”标簽的文檔在前面展示,可設定tag_match函數
适用場景:此函數不僅試用于内容搜尋場景,同樣适用商品搜尋場景,滿足個性化商品排序
其他案例和用法:
https://developer.aliyun.com/article/775488場景3:根據查詢詞在title和body的緊密程度排序優化
案例:搜尋"黑色幽默",意圖是搜尋title“周傑倫《黑色幽默》的歌曲”,但在資料庫裡有條文本body記錄為“下雨了,天空是灰黑色的,即便幽默的人此時也比較煩悶”,導緻這條記錄也被召回,并且排序也比較靠前, 如何将title字段的緊密度在排序中起主導作用?
開放搜尋解決方案:為了使這條不太相關的body記錄排序靠後,title字段排序靠前, 可以使用fieldterm_proximity函數擷取文檔緊密程度的得分來實作. 此函數用來表示關鍵詞分詞詞組在字段上的緊密程度,緊密度越高,排序分越高。精排公式寫為:fieldterm_proximity(title)*10 + fieldterm_proximity(body)
https://help.aliyun.com/document_detail/51281.html?spm=a2c4g.11186623.6.621.3c0938de1kdUfp場景4:内容時效性
案例:使用者對時間的敏感度越高,那麼越希望得到新的内容,内容的時效性和整體的滿意度直接相關,如何優化排序配置,滿足内容排序的時效性敏感度?
開放搜尋解決方案:運用函數timeliness--時效分,用于衡量文檔的新舊程度, 值越大表示時效性越好
https://help.aliyun.com/document_detail/51270.html?spm=a2c4g.11174283.6.636.121f5a19EWuQQM場景5:關鍵詞(分類、标題、作者)相關性排序優化
案例1:搜尋“子女”,優化前排序結果“女裝靴子/褲子/葉子”排在“預測子女性别”的前面,如何運用排序表達式優化把"子女"最相關的内容排序靠前那?
案例2: 在精排中對title和body進行文本算分,權重比為3:1
開放搜尋解決方案:在精排中進行文本算分,關鍵詞在字段上的文本比對度-text_relevance函數,比對度越高,分值越高,排序越靠前.
https://help.aliyun.com/document_detail/51280.html?spm=a2c4g.11186623.6.635.287e42c3whTeg9以上就是阿裡雲開放搜尋内容行業"排序表達式及特征函數”的應用案例,如果您對搜尋與推薦相關技術感興趣,歡迎加入釘釘群内交流~
【開放搜尋】新使用者活動:阿裡雲實名認證使用者享1個月免費試用
https://free.aliyun.com/product/opensearch-free-trial