首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

百度搜尋結果與右側廣告同步機制:關鍵字關聯推薦

     編輯:程式設計綜合問答

核心邏輯

百度搜尋「范冰冰」時,右側顯示其電影、歌曲等相關資訊廣告,而非隨機內容。這是**關鍵字觸發的關聯推薦系統**運作結果。

技術流程

  1. 查詢接收:用戶提交關鍵字 `q = "范冰冰"`。
  2. 檢索引擎:倒排索引快速找到包含「范冰冰」的網頁、新聞、圖片、視頻等文檔集合。
  3. 實體識別與知識圖譜:
    • 識別「范冰冰」為**實體**(Person、Celebrity)。
    • 從知識圖譜查詢該實體屬性:代表作、出生日期、配偶、標籤等。
  4. 廣告/推薦候選集生成:
    • **關鍵字匹配廣告**:廣告主針對「范冰冰」、「范冰冰電影」投放關鍵字廣告。
    • **實體屬性廣告**:針對實體屬性(如「演員」)投放泛娛樂廣告。
    • **個人化推薦**:結合用戶歷史行為(點擊、停留、搜尋歷史)排序。
  5. 排序與過濾:CTR 預估、出價、品質分、多樣性約束 → 最終展示順序。
  6. 頁面組裝:左側自然搜尋結果 + 右側知識卡片/廣告位 → 返回 HTML/JSON 給前端渲染。

關鍵技術點

  • 倒排索引:毫秒級檢索百億級文檔。
  • 知識圖譜:實體屬性關聯查詢(Neo4j、JanusGraph 等圖資料庫)。
  • 實時計算:Flink/Spark Streaming 處理用戶行為更新畫像。
  • 廣告引擎:DSP/SSP 即時競價 (RTB)、定向投放。

資料庫視角

簡化模型:

-- 關鍵字-廣告映射表
CREATE TABLE keyword_ad (
    keyword VARCHAR(100),
    ad_id BIGINT,
    bid DECIMAL(10,2),
    quality_score FLOAT
);

-- 實體屬性表
CREATE TABLE entity_attribute (
    entity_name VARCHAR(100),
    attribute VARCHAR(50), -- 'movie', 'song', 'spouse'
    value VARCHAR(200)
);

-- 查詢時
SELECT * FROM keyword_ad WHERE keyword = '范冰冰' ORDER BY bid * quality_score DESC;
SELECT value FROM entity_attribute WHERE entity_name = '范冰冰' AND attribute IN ('movie','song');

結論

搜尋結果與右側廣告同步,本質是**以搜尋關鍵字/識別實體為查詢條件**,從廣告庫、知識圖譜、個人化推薦系統中**即時檢索並排序**相關內容呈現。非「同步」而是「同一查詢觸發多路檢索」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved