當前位置:首頁 » 操作系統 » 做演算法引擎

做演算法引擎

發布時間: 2023-02-07 12:00:59

Ⅰ 有贊搜索引擎實踐(演算法篇)

註:轉自於 有贊

在上篇文章(工程篇)中, 我們介紹了有贊搜索引擎的基本框架. 搜索引擎主要3個部件構成. 第一, hadoop集群, 用於生成大規模搜索和實時索引; 第二, ElasticSearch集群, 提供分布式搜索方案; 第三, 高級搜索集群, 用於提供商業搜索的特殊功能.

商業電商搜索由於搜索的特殊性, 獨立的ElasticSearch集群是無法滿足多樣的演算法需求的, 我們在搜索的各個部件上都有相應的演算法插件, 用於構建商業電商搜索引擎的演算法體系.

創建索引過程從原始數據創建倒排索引的過程. 這個過程中我們對商品(doc)進行分析, 計算商品靜態分, 並對商品進行相似度計算. 商品的靜態分對於提升搜索引擎質量起到至關重要的作用, 相當於網頁搜索的pagerank, 想像一下如果沒有pagerank演算法, 網頁搜索的質量會有多麼差. 在電商搜索中, 最常見的問題是相似商品太多, 必須在建立索引過程中就對商品間的相似度進行預計算, 以便在檢索過程中進行有效去重.

創建索引的過程如下.

step 1. 計算每個doc的靜態分
step 2. 計算兩兩doc的相似度
step 3. 根據相似度和其他信息對數據進行分庫
step 4. 建立ES索引

檢索過程是搜索引擎接收用戶的query進行一系列處理並返回相關結果的過程. 商業搜索引擎在檢索過程中需要考慮2個因素: 1) 相關性 2) 重要性.

相關性是指返回結果和輸入query是否相關, 這是搜索引擎基本問題之一, 目前常用的演算法有BM25和空間向量模型. 這個兩個演算法ElasticSearch都支持, 一般商業搜索引擎都用BM25演算法. BM25演算法會計算每個doc和query的相關性分, 我們使用Dscore表示.

重要性是指商品被信賴的程度, 我們應該吧最被消費之信賴的商品返回給消費者, 而不是讓消費之自己鑒別. 尤其是在商品充分競爭的電商搜索, 我們必須賦予商品合理的重要性分數, 才能保證搜索結果的優質. 重要性分, 又叫做靜態分, 使用Tscore表示.

搜索引擎最終的排序依據是:

Score = Dscore * Tscore

即綜合考慮靜態分和動態分, 給用戶相關且重要的商品.

檢索的過程大致抽象為如下幾個步驟.

step 1. 對原始query進行query分析
step 2. 在as中根據query分析結果進行query重寫
step 3. 在as中使用重寫後的query檢索es
step 4. 在es查詢過程中根據靜態分和動態分綜合排序
step 5. 在as中吧es返回的結果進行重排
step 6. 返回結果

下面幾章闡述幾個重點技術.

在電商搜索引擎裡面商品的靜態分是有網頁搜索裡面的pagerank同等的價值和重要性, 他們都是doc固有的和查詢query無關的價值度量. pagerank通過doc之間的投票關系進行運算, 相對而言商品的靜態分的因素會更多一些. 商品靜態計算過程和pagerank一樣需要解決如下2個問題: 1. 穩定性. pagerank可以保證一個網站不會因為簡單鏈接堆砌可以線性提升網站的排名. 同樣, 商品靜態分的計算不可以讓商品可以通過增加單一指標線性增加分值(比如刷單對搜索引擎的質量的影響).
2. 區分度. 在保證穩定性的基礎上商品靜態分要有足夠的區分度可以保證同樣搜索的條件下, 排在前面的商品的質量比排在後面的商品的質量高.

我們假設商品的靜態分有3個決定性因素, 1.下單數, 2. 好評率 3. 發貨速度

靜態分我們使用Tsocre表示, Tscore可以寫成如下形式:

Tscore = a * f(下單數) + b * g(好評率) + c * h(發貨速度)

a,b,c是權重參數, 用於平衡各個指標的影響程度. f,g,h是代表函數用於把原始的指標轉化成合理的度量.

首先, 我們需要尋找合理的代表函數.

z-score 標准化方法

這種方法非常不穩定, 假設一個奇異點是第二大的值的1000倍, 會讓大部分的值都集中在0~0.01, 同樣失去了歸一化的目的.

(圖三: log-zscore歸一化)

最後, 選擇合適的權重 經過log-zscore歸一化以後, 我們基本上吧f,g,h的表示的代表函數說明清楚. Tscore = a f(下單數) + b g(好評率) + c*h(發貨速度), 下一步就是確定a,b,c的參數. 一般有兩個方法:

a) 專家法. 根據我們的日常經驗動態調整權重參數;
b) 實驗法. 首先在專家的幫助下賦一個初始值, 然後改變單一變數的方法根據abtest的結果來動態調整參數.

商品標題去重在電商搜索中起到重要作用, 根據數據, 用戶通過搜索頁購買商品80%選擇搜索的前4頁. 商品標題的重復會導致重要的頁面沒有含金量, 極大降低了搜索的購買率.

舉個例子:

Title1:美味/香蕉/包郵/廣東/高州/香蕉/banana//無/催熟劑/

Title2:美味/香蕉/廣東/高州/香蕉//非/粉蕉/包郵/

首先, 進行特徵向量化

這里用到 "bag of word" 技術, 將詞彙表作為空間向量的維度, 標題的每個term的詞頻作為這個feature的值. 以這個例子來說. 這個詞彙的維度為: 美味(0), 香蕉(1), 包郵(2), 廣東(3), 高州(4), banana(5),無(6), 催熟劑(7),非(8),粉蕉(9) 位置: 0,1,2,3,4,5,6,7,8,9

Title1: 1,2,1,1,1,1,1,1,0,0
Title2: 1,2,1,1,1,0,0,0,1,1

這個每個title都用一個固定長度的向量表示.

再次, 計算兩兩相似度

相似度一般是通過計算兩個向量的距離實現的, 不失一般性, 在這里我們使用1-cosine(x,y)來表示兩個向量的距離. 這是一個"All Pair Similarity"的問題, 即需要兩兩比較, 復雜度在O(n^2). 在商品量巨大的時候單機很難處理. 我們給出兩種方法用於實現"All Pair Similarity".

方法一: spark的矩陣運算.

方法二: map-rece 線性方法. 這個方法參考論文"Pairwise Document Similarity in Large Collections with MapRece". 可以實現幾乎線性的時間復雜度. 相對於矩陣運算在大規模(10億以上)pair similarity 運算上面有優勢. 這個方法簡單的描述如下: 首先, 按照倒排索引的計算方式計算每個term到doc的映射. 比如3個doc:

轉化為倒排格式, 這個需要一次mapper rece

然後, 對於value只有一個元素的過濾掉, 對於value大於2個doc的兩兩組合:

最後, 對於輸出進行聚合,value為重復次數和兩個doc乘積開根號的比.

對於2個title1, title2, 如果X(title1, title2) > 0.7 則認為title1和title2相似, 對於相似的兩個doc, 靜態分大的定義為主doc, 靜態分小的定義為輔doc. 主doc和輔doc分別建庫.

區別於網頁搜索(網頁搜索直接將輔doc刪除), 我們將主doc和輔doc分別建庫. 每一次搜索按比例分別搜主庫和輔庫, 並將結果融合返回. 這樣可以保證結果的多樣性.

店鋪去重和商品標題去重有點不同. 由於電商特定場景的需要, 不希望搜索結果一家獨大, 這樣會引發強烈的馬太效應. 店鋪去重不能使用如上的方法進行. 因為上面的方法的主要依據是文本相似, 在結果都相關的前提下, 進行適當的取捨. 但是店鋪去重不是這樣的特性.

設想一下, 如果我們根據店鋪是否相同, 把同一店鋪的商品分到主庫和從庫中, 如下圖所示.

A和B代表不同的店鋪.

在搜索香蕉的時候, 的確可以控制A店鋪結果的數量, 但是在搜索"梨"的時候就錯誤的吧B店鋪的梨排在前面了(假設A:梨比B:梨靜態分高).

搜索的過程每個桶平均分攤搜索任務的25%, 並根據靜態分合並成一頁的結果. 這樣同一保證結果的相對順序, 又達到了店鋪去重的目的.

如上圖所示, 搜索"香蕉", 雖然A店鋪有10個滿足需求的結果, 但是每頁搜索醉倒只有5個結果可以展示.

上面介紹了幾個建立索引過程中幾項技術, 檢索過程中的關鍵技術有很多. 其中最著名的是query分析技術. 我們使用的query分析技術主要包括核心詞識別, 同義詞拓展, 品牌詞識別等等. query分析技術大部分都是NLP研究范圍, 本文就不詳細闡述很多理論知識. 我們重點介紹同義詞拓展技術. 這個技術一般都需要根據自己的商品和和用戶日誌特定訓練, 無法像分詞技術和品牌詞識別一樣有標準的庫可以適用.

同義詞拓展一般是通過分析用戶session日誌獲取. 如果一個用戶輸入"蘋果手機"沒有得到想要的結果, 他接著輸入"iphone", 我們在"蘋果手機"和"iphone"之間創建一個轉移關系. 基於統計, 我們可以把用戶query創建一個相互聯系的權重圖.

用戶輸入query "蘋果手機", 根據query分析, "蘋果手機"有 "iphone" 0.8, "iphone 6" 0.5 兩個同義詞. 0.8和0.5分別表示同義的程度. 我們想要"蘋果手機", "iphone", "iphone 6" 3個query同時輸入, 並且按照同義的程度對不同的query賦予不同的權重. ElasticSearch提供的BoostingQuery可以支持這個需求. 參考: https://www.elastic.co/guide/en/elasticsearch/guide/current/ boosting query_clauses.html

原始query:

改寫後的Query

其他比如核心詞識別, 歧義詞糾正等方法差不多, 本文不做詳細闡述.

商業電商搜索演算法另外兩個重要技術, 一個是類目體系建立和應用,另一個是個性化技術. 這個兩項技術我們還處在探索階段. 類目體系我們主要使用機器學習的方法進行訓練, 個性化主要通過用戶畫像進行Query改寫來實現. 等我們上線有效果在與大家分享.

搜索演算法是一個非常值得一個電商產品持續投入的技術. 一方面我們技術人員要有良好的技術背景, 可以借鑒很多成熟的技術, 避免重復造輪子; 另一方面, 每個產品的搜索都有自身的特點, 需要深入研究產品的特性給出合理的解決方案. 本文給出的案例都具有代表性, 靈活的運用搜索的各方面的技術. 另外, 商業搜索非常看重投入產出比, 我們也需要在眾多方案中尋找捷徑. 比如我們在做類目體系時候, 沒有投入大量的人力資源用於標注數據, 而是通過爬蟲爬取其他電商的數據進行參考, 從而節省了80%的人力資源. 由於筆者能力有限, 文中的方案不保證是問題的最優解, 如果有指正, 請聯系筆者( [email protected] ).

Ⅱ 幾種搜索引擎演算法研究

2.1Google和PageRank演算法
搜索引擎Google最初是斯坦福大學的博士研究生Sergey Brin和Lawrence Page實現的一個原型系統[2],現在已經發展成為WWW上最好的搜索引擎之一。Google的體系結構類似於傳統的搜索引擎,它與傳統的搜索引擎最大的不同處在於對網頁進行了基於權威值的排序處理,使最重要的網頁出現在結果的最前面。Google通過PageRank元演算法計算出網頁的PageRank值,從而決定網頁在結果集中的出現位置,PageRank值越高的網頁,在結果中出現的位置越前。
2.1.1PageRank演算法
PageRank演算法基於下面2個前提:
前提1:一個網頁被多次引用,則它可能是很重要的;一個網頁雖然沒有被多次引用,但是被重要的網頁引用,則它也可能是很重要的;一個網頁的重要性被平均的傳遞到它所引用的網頁。這種重要的網頁稱為權威(Authoritive)網頁。
前提2:假定用戶一開始隨機的訪問網頁集合中的一個網頁,以後跟隨網頁的向外鏈接向前瀏覽網頁,不回退瀏覽,瀏覽下一個網頁的概率就是被瀏覽網頁的PageRank值。

Ⅲ 做SEO優化如何應對搜索引擎演算法的更新

做白帽優化

Ⅳ 搜索引擎的排序演算法都有哪些是怎麼實現的

2.1基於詞頻統計——詞位置加權的搜索引擎
利用關鍵詞在文檔中出現的頻率和位置排序是搜索引擎最早期排序的主要思想,其技術發展也最為成熟,是第一階段搜索引擎的主要排序技術,應用非常廣泛,至今仍是許多搜索引擎的核心排序技術。其基本原理是:關鍵詞在文檔中詞頻越高,出現的位置越重要,則被認為和檢索詞的相關性越好。
1)詞頻統計
文檔的詞頻是指查詢關鍵詞在文檔中出現的頻率。查詢關鍵詞詞頻在文檔中出現的頻率越高,其相關度越大。但當關鍵詞為常用詞時,使其對相關性判斷的意義非常小。TF/IDF很好的解決了這個問題。TF/IDF演算法被認為是信息檢索中最重要的發明。TF(Term Frequency):單文本詞彙頻率,用關鍵詞的次數除以網頁的總字數,其商稱為「關鍵詞的頻率」。IDF(Inverse Document Frequency):逆文本頻率指數,其原理是,一個關鍵詞在N個網頁中出現過,那麼N越大,此關鍵詞的權重越小,反之亦然。當關鍵詞為常用詞時,其權重極小,從而解決詞頻統計的缺陷。
2)詞位置加權
在搜索引擎中,主要針對網頁進行詞位置加權。所以,頁面版式信息的分析至關重要。通過對檢索關鍵詞在Web頁面中不同位置和版式,給予不同的權值,從而根據權值來確定所搜索結果與檢索關鍵詞相關程度。可以考慮的版式信息有:是否是標題,是否為關鍵詞,是否是正文,字體大小,是否加粗等等。同時,錨文本的信息也是非常重要的,它一般能精確的描述所指向的頁面的內容。
2.2基於鏈接分析排序的第二代搜索引擎
鏈接分析排序的思想起源於文獻引文索引機制,即論文被引用的次數越多或被越權威的論文引用,其論文就越有價值。鏈接分析排序的思路與其相似,網頁被別的網頁引用的次數越多或被越權威的網頁引用,其價值就越大。被別的網頁引用的次數越多,說明該網頁越受歡迎,被越權威的網頁引用,說明該網頁質量越高。鏈接分析排序演算法大體可以分為以下幾類:基於隨機漫遊模型的,比如PageRank和Repution演算法;基於概率模型的,如SALSA、PHITS;基於Hub和Authority相互加強模型的,如HITS及其變種;基於貝葉斯模型的,如貝葉斯演算法及其簡化版本。所有的演算法在實際應用中都結合傳統的內容分析技術進行了優化。本文主要介紹以下幾種經典排序演算法:
1)PageRank演算法
PageRank演算法由斯坦福大學博士研究生Sergey Brin和Lwraence Page等提出的。PageRank演算法是Google搜索引擎的核心排序演算法,是Google成為全球最成功的搜索引擎的重要因素之一,同時開啟了鏈接分析研究的熱潮。
PageRank演算法的基本思想是:頁面的重要程度用PageRank值來衡量,PageRank值主要體現在兩個方面:引用該頁面的頁面個數和引用該頁面的頁面重要程度。一個頁面P(A)被另一個頁面P(B)引用,可看成P(B)推薦P(A),P(B)將其重要程度(PageRank值)平均的分配P(B)所引用的所有頁面,所以越多頁面引用P(A),則越多的頁面分配PageRank值給P(A),PageRank值也就越高,P(A)越重要。另外,P(B)越重要,它所引用的頁面能分配到的PageRank值就越多,P(A)的PageRank值也就越高,也就越重要。
其計算公式為:

PR(A):頁面A的PageRank值;
d:阻尼系數,由於某些頁面沒有入鏈接或者出鏈接,無法計算PageRank值,為避免這個問題(即LinkSink問題),而提出的。阻尼系數常指定為0.85。
R(Pi):頁面Pi的PageRank值;
C(Pi):頁面鏈出的鏈接數量;
PageRank值的計算初始值相同,為了不忽視被重要網頁鏈接的網頁也是重要的這一重要因素,需要反復迭代運算,據張映海撰文的計算結果,需要進行10次以上的迭代後鏈接評價值趨於穩定,如此經過多次迭代,系統的PR值達到收斂。
PageRank是一個與查詢無關的靜態演算法,因此所有網頁的PageRank值均可以通過離線計算獲得。這樣,減少了用戶檢索時需要的排序時間,極大地降低了查詢響應時間。但是PageRank存在兩個缺陷:首先PageRank演算法嚴重歧視新加入的網頁,因為新的網頁的出鏈接和入鏈接通常都很少,PageRank值非常低。另外PageRank演算法僅僅依靠外部鏈接數量和重要度來進行排名,而忽略了頁面的主題相關性,以至於一些主題不相關的網頁(如廣告頁面)獲得較大的PageRank值,從而影響了搜索結果的准確性。為此,各種主題相關演算法紛紛涌現,其中以以下幾種演算法最為典型。
2)Topic-Sensitive PageRank演算法
由於最初PageRank演算法中是沒有考慮主題相關因素的,斯坦福大學計算機科學系Taher Haveli-wala提出了一種主題敏感(Topic-Sensitive)的PageRank演算法解決了「主題漂流」問題。該演算法考慮到有些頁面在某些領域被認為是重要的,但並不表示它在其它領域也是重要的。
網頁A鏈接網頁B,可以看作網頁A對網頁B的評分,如果網頁A與網頁B屬於相同主題,則可認為A對B的評分更可靠。因為A與B可形象的看作是同行,同行對同行的了解往往比不是同行的要多,所以同行的評分往往比不是同行的評分可靠。遺憾的是TSPR並沒有利用主題的相關性來提高鏈接得分的准確性。
3)HillTop演算法
HillTop是Google的一個工程師Bharat在2001年獲得的專利。HillTop是一種查詢相關性鏈接分析演算法,克服了的PageRank的查詢無關性的缺點。HillTop演算法認為具有相同主題的相關文檔鏈接對於搜索者會有更大的價值。在Hilltop中僅考慮那些用於引導人們瀏覽資源的專家頁面(Export Sources)。Hilltop在收到一個查詢請求時,首先根據查詢的主題計算出一列相關性最強的專家頁面,然後根據指向目標頁面的非從屬專家頁面的數量和相關性來對目標頁面進行排序。
HillTop演算法確定網頁與搜索關鍵詞的匹配程度的基本排序過程取代了過分依靠PageRank的值去尋找那些權威頁面的方法,避免了許多想通過增加許多無效鏈接來提高網頁PageRank值的作弊方法。HillTop演算法通過不同等級的評分確保了評價結果對關鍵詞的相關性,通過不同位置的評分確保了主題(行業)的相關性,通過可區分短語數防止了關鍵詞的堆砌。
但是,專家頁面的搜索和確定對演算法起關鍵作用,專家頁面的質量對演算法的准確性起著決定性作用,也就忽略了大多數非專家頁面的影響。專家頁面在互聯網中占的比例非常低(1.79%),無法代表互聯網全部網頁,所以HillTop存在一定的局限性。同時,不同於PageRank演算法,HillTop演算法的運算是在線運行的,對系統的響應時間產生極大的壓力。
4)HITS
HITS(Hyperlink Inced Topic Search)演算法是Kleinberg在1998年提出的,是基於超鏈接分析排序演算法中另一個最著名的演算法之一。該演算法按照超鏈接的方向,將網頁分成兩種類型的頁面:Authority頁面和Hub頁面。Authority頁面又稱權威頁面,是指與某個查詢關鍵詞和組合最相近的頁面,Hub頁面又稱目錄頁,該頁面的內容主要是大量指向Authority頁面的鏈接,它的主要功能就是把這些Authority頁面聯合在一起。對於Authority頁面P,當指向P的Hub頁面越多,質量越高,P的Authority值就越大;而對於Hub頁面H,當H指向的Authority的頁面越多,Authority頁面質量越高,H的Hub值就越大。對整個Web集合而言,Authority和Hub是相互依賴、相互促進,相互加強的關系。Authority和Hub之間相互優化的關系,即為HITS演算法的基礎。
HITS基本思想是:演算法根據一個網頁的入度(指向此網頁的超鏈接)和出度(從此網頁指向別的網頁)來衡量網頁的重要性。在限定范圍之後根據網頁的出度和入度建立一個矩陣,通過矩陣的迭代運算和定義收斂的閾值不斷對兩個向量Authority和Hub值進行更新直至收斂。
實驗數據表明,HITS的排名准確性要比PageRank高,HITS演算法的設計符合網路用戶評價網路資源質量的普遍標准,因此能夠為用戶更好的利用網路信息檢索工具訪問互聯網資源帶來便利。
但卻存在以下缺陷:首先,HITS演算法只計算主特徵向量,處理不好主題漂移問題;其次,進行窄主題查詢時,可能產生主題泛化問題;第三,HITS演算法可以說一種實驗性質的嘗試。它必須在網路信息檢索系統進行面向內容的檢索操作之後,基於內容檢索的結果頁面及其直接相連的頁面之間的鏈接關系進行計算。盡管有人嘗試通過演算法改進和專門設立鏈接結構計算伺服器(Connectivity Server)等操作,可以實現一定程度的在線實時計算,但其計算代價仍然是不可接受的。
2.3基於智能化排序的第三代搜索引擎
排序演算法在搜索引擎中具有特別重要的地位,目前許多搜索引擎都在進一步研究新的排序方法,來提升用戶的滿意度。但目前第二代搜索引擎有著兩個不足之處,在此背景下,基於智能化排序的第三代搜索引擎也就應運而生。
1)相關性問題
相關性是指檢索詞和頁面的相關程度。由於語言復雜,僅僅通過鏈接分析及網頁的表面特徵來判斷檢索詞與頁面的相關性是片面的。例如:檢索「稻瘟病」,有網頁是介紹水稻病蟲害信息的,但文中沒有「稻瘟病」這個詞,搜索引擎根本無法檢索到。正是以上原因,造成大量的搜索引擎作弊現象無法解決。解決相關性的的方法應該是增加語意理解,分析檢索關鍵詞與網頁的相關程度,相關性分析越精準,用戶的搜索效果就會越好。同時,相關性低的網頁可以剔除,有效地防止搜索引擎作弊現象。檢索關鍵詞和網頁的相關性是在線運行的,會給系統相應時間很大的壓力,可以採用分布式體系結構可以提高系統規模和性能。
2)搜索結果的單一化問題
在搜索引擎上,任何人搜索同一個詞的結果都是一樣。這並不能滿足用戶的需求。不同的用戶對檢索的結果要求是不一樣的。例如:普通的農民檢索「稻瘟病」,只是想得到稻瘟病的相關信息以及防治方法,但農業專家或科技工作者可能會想得到稻瘟病相關的論文。
解決搜索結果單一的方法是提供個性化服務,實現智能搜索。通過Web數據挖掘,建立用戶模型(如用戶背景、興趣、行為、風格),提供個性化服務。

Ⅳ 大數據運算的三種引擎是什麼有什麼區別

現在流行的開源引擎可不止三個,先羅列5個給你:
1)Hive,披著SQL外衣的Map-Rece。Hive是為方便用戶使用Map-Rece而在外面封裝了一層SQL,由於Hive採用了SQL,它的問題域比Map-Rece更窄,因為很多問題,SQL表達不出來,比如一些數據挖掘演算法,推薦演算法、圖像識別演算法等,這些仍只能通過編寫Map-Rece完成。
2) Impala:Google Dremel的開源實現(Apache Drill類似),因為互動式實時計算需求,Cloudera推出了Impala系統,該系統適用於互動式實時處理場景,要求最後產生的數據量一定要少。
3)Shark/Spark:為了提高Map-Rece的計算效率,Berkeley的AMPLab實驗室開發了Spark,Spark可看做基於內存的Map-Rece實現,此外,伯克利還在Spark基礎上封裝了一層SQL,產生了一個新的類似Hive的系統Shark。
4) Stinger Initiative(Tez optimized Hive):Hortonworks開源了一個DAG計算框架Tez,Tez可以理解為Google Pregel的開源實現,該框架可以像Map-Rece一樣,可以用來設計DAG應用程序,但需要注意的是,Tez只能運行在YARN上。Tez的一個重要應用是優化Hive和PIG這種典型的DAG應用場景,它通過減少數據讀寫IO,優化DAG流程使得Hive速度提供了很多倍。
5)Presto:FaceBook於2013年11月份開源了Presto,一個分布式SQL查詢引擎,它被設計為用來專門進行高速、實時的數據分析。它支持標準的ANSI SQL,包括復雜查詢、聚合(aggregation)、連接(join)和窗口函數(window functions)。Presto設計了一個簡單的數據存儲的抽象層,來滿足在不同數據存儲系統(包括HBase、HDFS、Scribe等)之上都可以使用SQL進行查詢。

Ⅵ 應屆生都年薪30w了,做AI工程師到底有哪些要求

1.數學基礎,要學習人工智慧,最基本的高數、線代、概率論必須掌握,至少也得會高斯函數、矩陣求導,明白梯度下降是怎麼回事,否則對於模型的基本原理完全不能理解,模型調參與訓練也就無從談起了。
2. 編程基礎,如果是做純演算法研究員,工程能力的要求不會太高,但也需要能寫源代碼;而對於做演算法引擎開發或是應用開發的工程師來說,代碼實現的能力高低就直接決定了工作產出的質量與效率了。所以,想做AI工程師的你需要熟練掌握至少一種編程語言,並掌握配套的工具、常用庫等。
3.機器學習基礎,人工智慧的熱潮來源於深度學習相關技術與應用的優異表現,所以招聘最熱的崗位無疑是機器學習演算法工程師。因此,機器/深度學習的經典演算法、常見的神經網路模型、模型調參和訓練技巧就需要盡可能多和深入地掌握了。
4.專業領域知識基礎,人工智慧主要應用領域可大致分為圖像、語音和NLP(自然語言處理)。無論是其中哪個領域,都有海量的專業知識需要去掌握,比如如果你想從事智能駕駛行業的機器視覺方面的工作,那麼你就需要掌握圖像相關的知識;而如果你想做一款智能音箱的演算法開發,你就需要掌握語音和NLP相關的知識。
5.具體行業的深度認知。任何應用場景都有自己獨特的數據結構,而一個能夠落地的AI應用自然離不開對於業務本身的深入理解。演算法工程師們需要清晰地把握一個AI系統由哪些模塊組成,相互關系是什麼,都用到哪些技術,解決什麼問題,才可能針對具體的問題展開實驗研究,從而進行優化。

Ⅶ 百度搜索引擎的演算法是怎樣的

衡量網頁質量的維度
網路搜索引擎在衡量網頁質量時,會從以下三個維度綜合考慮給出一個質量打分。下面會一一介紹這些影響網頁質量判斷的維度特徵:
• 內容質量
• 瀏覽體驗
• 可訪問性
一個訪問流暢,內容質量高且瀏覽體驗好的網頁具有較高的質量;反之,任何一個維度出現問題,都會影響網頁的整體質量。下面我們具體介紹下這三個維度。

衡量網頁質量的維度——內容質量

網頁主體內容是網頁的價值所在,是滿足用戶需求的前提基礎。網路搜索引擎評價網頁內容質量主要看其主體內容的好壞,以及主體內容是否可以讓用戶滿意。 不同類型網頁的主體內容不同,網路搜索引擎判斷不同網頁的內容價值時,需要關注的點也有區別,如:
• 首頁:導航鏈接和推薦內容是否清晰、有效。
• 文章頁:能否提供清晰完整的內容,圖文並茂更佳。
• 商品頁:是否提供了完整真實的商品信息和有效的購買入口。
• 問答頁:是否提供了有參考價值的答案。
• 下載頁:是否提供下載入口,是否有許可權限制,資源是否有效。
• 文檔頁:是否可供用戶閱讀,是否有許可權限制。
• 搜索結果頁:搜索出來的結果是否與標題相關。

網路搜索引擎考量網頁內容質量的維度非常多,最為重要的是:成本;內容完整;信息真實有效以及安全。下面我們通過舉例來感受一下網路搜索引擎是如何對網頁的內容質量進行分類的,請站長對比自己站點的頁面,站在搜索引擎和用戶的角度為自己打分:
1、內容質量好:
網路搜索引擎認為內容質量好的網頁,花費了較多時間和精力編輯,傾注了編者的經驗和專業知識;內容清晰、完整且豐富;資源有效且優質;信息真實有效;安全無毒;不含任何作弊行為和意圖,對用戶有較強的正收益。對這部分網頁,網路搜索引擎會提高其展現在用戶面前的機率。例如:
• 專業醫療機構發布的內容豐富的醫療專題頁面;
• 資深工程師發布的完整解決某個技術問題的專業文章;
• 專業視頻網站上,播放清晰流暢的正版電影或影視全集頁面;
• 知名B2C網站上,一個完整有效的商品購買頁;
• 權威新聞站原創或經過編輯整理的熱點新聞報道;
• 經過網友認真編輯,內容豐富的詞條;
• 問答網站內,回答的內容可以完美解決提問者的問題。

實例參考:

示例

內容質量

說明

case 3.1.1-1



專業醫療網站發布的豐富醫療專題頁面

case 3.1.1-2



資深工程師發布的完整解決某個技術問題的專業文章

case 3.1.1-3



專業視頻網站上,播放清晰流暢的正版影視全集頁面

case 3.1.1-4



京東的一個完整有效的商品購買頁

case 3.1.1-5



權威新聞站原創的熱點新聞的報道

case 3.1.1-6



經過網友認真編輯,內容豐富的網路詞條

case3.1.1-7



網路知道上,完美解決用戶問題的問答頁

2、內容質量中:
內容質量中等的網頁往往能滿足用戶需求,但未花費較多時間和精力進行製作編輯,不能體現出編者的經驗和專業知識;內容完整但並不豐富;資源有效但質量欠佳;信息雖真實有效但屬採集得來;安全無毒;不含作弊行為和意圖。在互聯網中,中等質量網頁其實是一個比較大的數量集合,種類面貌也繁雜多樣,網路搜索引擎在評價這類網頁時往往還要考慮其它非常多因素。在這里,我們僅部分舉例來讓各位感受一下:
• 論壇類網站里一個普通的帖子;
• 一個普通的問答網頁;
• 沒有進行任何編輯,直接轉載其它網站的新聞;
• 無版權信息的普通電影播放頁
• 採集知名小說網站的盜版小說頁。

實例參考:

示例

內容質量

說明

case 3.1.2-1



網易直接轉載了中國新聞網的一篇新聞。

case 3.1.2-2



文庫上網友上傳的「國慶放假安排」新聞

case 3.1.2-3



採集起點小說網的盜版小說站

case 3.1.2-4



網路貼吧里一個普通的帖子

3、內容質量差:
網路搜索引擎認為主體內容信息量較少,或無有效信息、信息失效過期的都屬於內容質量差網頁,對用戶沒有什麼實質性的幫助,應該減少其展現的機會。同時,如果一個網站內該類網頁的佔比過大,也會影響網路搜索引擎對站點的評級,尤其是UGC網站、電商網站、黃頁網站要尤其重視對過期、失效網頁的管理。例如:
• 已下架的商品頁,或已過期的團購頁;
• 已過有效期的招聘、交易頁面;
• 資源已失效,如視頻已刪除、軟體下載後無法使用等。

4、沒有內容質量可言:
沒有內容質量可言的網頁指那些製作成本很低,粗製濫造;從別處採集來的內容未經最起碼的編輯整理即放置線上;掛木馬等病毒;含有作弊行為或意圖;完全不能滿足用戶需求,甚至含有欺騙內容的網頁。例如:
• 內容空短,有很少量的內容,卻不能支撐頁面的主要意圖;
• 問答頁有問無答,或回答完全不能解決問題;
• 站內搜索結果頁,但沒有給出相關信息

除上述網頁外,欺騙用戶和搜索引擎的網頁在無內容質量可言集合里占很高比例。網路搜索引擎對作弊網頁的定義是:不以滿足用戶需求為目的,通過不正當手段欺騙用戶和搜索引擎從而獲利的網頁。目前互聯網上這部分網頁還屬少數,但作弊網頁的價值是負向的,對用戶的傷害非常大,對這類網頁,搜索引擎持堅決打擊態度。

衡量網頁質量的維度——瀏覽體驗
不同質量的網頁帶給用戶的瀏覽體驗會有很大差距,一個優質的網頁給用戶的瀏覽體驗應該是正向的。用戶希望看到干凈、易閱讀的網頁,排版混亂、廣告過多會影響用戶對網頁主體內容的獲取。在網路搜索引擎網頁質量體系中,用戶對網頁主體內容的獲取成本與瀏覽體驗呈反比,即獲取成本越高,瀏覽體驗越低。面對內容質量相近的網頁,瀏覽體驗佳者更容易獲得更高的排位,而對於瀏覽體驗差的網頁,網路搜索引擎會視情況降低其展現的機率甚至拒絕收錄。
影響用戶瀏覽體驗好壞的因素很多,目前網路搜索引擎主要從內容排版、廣告影響兩方面對網頁進行考量:
內容排版:用戶進入網頁第一眼看到的就是內容排版,排版決定了用戶對網頁的第一印象,也決定了用戶對內容獲取的成本。
廣告影響:網路搜索引擎理解網站的生存發展需要資金支持,對網頁上放置正當廣告持支持態度。網頁應該以滿足用戶需求為主旨,最佳狀態即「主體內容與廣告一起滿足用戶需求,內容為主,廣告為輔」,而不應讓廣告成為網頁主體。

下面我們通過舉例來感受一下網路搜索引擎是如何對網頁的瀏覽體驗進行分類的,站長可以據此對比檢驗自己站點的瀏覽體驗如何:
1、瀏覽體驗好:
頁面布局合理,用戶獲取主體內容成本低,一般具有以下特徵:
• 排版合理,版式美觀,易於閱讀和瀏覽;
• 用戶需要的內容占據網頁最重要位置;
• 能夠通過頁面標簽或頁面布局十分清楚地區分出哪些是廣告;
• 廣告不搶佔主體內容位置,不阻礙用戶對主要內容的獲取;

實例參考:

示例

瀏覽體驗

說明

case 3.2.1-1



招聘、房產等網站首頁也有很多廣告,但都是招聘相關的,瀏覽體驗是ok的。

case 3.2.1-2



文章頁,頁面布局合理,無廣告,排版好,結構合理

case 3.2.1-3



游戲首頁,排版美觀,布局合理,無廣告,瀏覽體驗優

2、瀏覽體驗差:
頁面布局和廣告放置影響了用戶對主體內容的獲取,提高了用戶獲取信息的成本,令用戶反感。包括但不僅限於以下情況:
• 正文內容不換行或不分段,用戶閱讀困難;
• 字體和背景顏色相近,內容辨別困難;
• 頁面布局不合理,網頁首屏看不到任何有價值的主體內容;
• 廣告遮擋主體內容;或者在通用解析度下,首屏都是廣告,看不到主體內容;
• 彈窗廣告過多;
• 影響閱讀的浮動廣告過多
• 點擊鏈接時,出現預期之外的彈窗;
• 廣告與內容混淆,不易區分;

衡量網頁質量的維度——可訪問性
用戶希望快速地從搜索引擎獲取到需要的信息,網路搜索引擎盡可能為用戶提供能一次性直接獲取所有信息的網頁結果。網路搜索引擎認為不能直接獲取到主體內容的網頁對用戶是不友好的,會視情況調整其展現機率。

網路搜索引擎會從正常打開、許可權限制、有效性三方面判斷網頁的可訪問性,對於可以正常訪問的網頁,可以參與正常排序;對於有許可權限制的網頁,再通過其它維度對其進行觀察;對於失效網頁,會降權其展現機制甚至從資料庫中刪除。

1、可正常訪問的網頁
無許可權限制,能直接訪問所有主體內容的網頁。

2、有許可權限制的網頁
此類網頁分為兩種:打開許可權和資源獲取許可權
1)打開許可權:指打開網頁都需要登錄許可權,沒有許可權完全無法看到具體內容,普通用戶無法獲取或獲取成本很高,網路搜索引擎會降低其展現機率。不包括以登錄為主要功能的網頁。
2)資源獲取許可權:指獲取網頁主要內容,如文檔、軟體、視頻等,需要許可權或者需要安裝插件才能獲得完整內容。此時會分三種情況:
• 提供優質、正版內容的網站,由於內容建設成本很高,盡管查看全文或下載時需要許可權或安裝插件,但屬於用戶預期之內,網路搜索引擎也不認為許可權行為對用戶造成傷害,給予與正常可訪問頁面相同的對待。
• 對於一些非優質、非正版的資源,來自於用戶轉載甚至機器採集,本身成本較低,內容也不獨特,用戶獲取資源還有許可權限制——需要用戶注冊登錄或者付費查看,網路搜索引擎會根據具體情況決定是否調整其展現。
• 還有一些視頻、下載資源頁,也許自身資源質量並不差,但需要安裝非常冷門的插件才能正常訪問,比如要求安裝「xx大片播放器」,網路搜索引擎會懷疑其有惡意傾向。

實例參考:

示例

可訪問性

說明

case 3.2-1



CNKI上的一篇論文,收費才能下載,但有版權,瀏覽體驗好

case 3.2-2



優酷上一部新電影,需要付費才能觀看,瀏覽體驗好。

case 3.2-3



內容是來,但是需要登錄才能看更多

case 3.2-4



入黨申請書,本身就是轉載的,網上到處都是,但這個頁面仍然要求收費才能下載。

3、失效網頁
往往指死鏈和主體資源失效的網頁。網路搜索引擎認為這部分網頁無法提供有價值信息,如果站點中此類網頁過多,也會影響網路搜索引擎對其的收錄和評級。建議站長對此類網頁進行相應設置,並及時登錄網路站長平台,使用死鏈提交工具告知網路搜索引擎。
失效網頁包括但不僅限於:
• 404、403、503等網頁;
• 程序代碼報錯網頁;
• 打開後提示內容被刪除,或因內容已不存在跳轉到首頁的網頁;
• 被刪除內容的論壇帖子,被刪除的視頻頁面(多出現在UGC站點)

具體請參閱《網路搜索引擎網頁質量白皮書》,望採納!

Ⅷ 自己搭建一個搜索引擎系統,用來做實驗研究,難度大嗎該怎麼做求指導

難度很大。如果只是簡單的搜索,誰都做得到,但是就像你說的那些個演算法和改進很難,即使你天馬行空的想出一個解決問題的方法,你根本沒有辦法做壓力測試,因為你不可能擁有向網路這樣的平台給你測試。還是努力學好基本功,爭取加入網路或者有搜索引擎的公司,去公司里去偷積水成長才比較快。網上有些教程,你可以網路一下,把外圍的東西先了解一下,但是真正核心的東西,網路是不會放出來的。搜索引擎這東西和硬體有很大的關系。有什麼樣的硬體基礎決定了什麼樣的演算法。

Ⅸ Bai的搜索引擎是怎麼做的,有什麼演算法

現在不必要再花更多的精力去研究網路搜索引擎的演算法,注意新的搜索引擎的發展方向。中國醫療搜索引擎回答

Ⅹ 怎麼學會搜索引擎的演算法啊!做seo會引擎演算法很重要嗎

學會搜索引擎的演算法很重要。seoer了解了搜索引擎的演算法之後,就可以根據演算法來優化自己的網站,使自己的網站更加符合搜索引擎的規則,讓搜索引擎更容易收錄自己的網站。至於如何學會搜索引擎的演算法,這個需要你自己去研究搜索引擎的演算法,搜索引擎的演算法是在不斷的調整中,要不過大體的一些規則,你可以從一些書籍
論壇中可以學到。希望對你有幫助,想了解跟多的可以很我交流。

熱點內容
c語言退出程序函數 發布:2025-07-20 05:24:34 瀏覽:199
電腦怎麼訪問區域網伺服器 發布:2025-07-20 05:13:21 瀏覽:485
抖音mas演算法 發布:2025-07-20 04:54:54 瀏覽:522
媽媽會把手機圖案密碼設置成什麼 發布:2025-07-20 04:50:18 瀏覽:595
隨機編譯的項目 發布:2025-07-20 04:37:31 瀏覽:743
c語言判斷文件結束 發布:2025-07-20 04:30:23 瀏覽:506
android線程狀態 發布:2025-07-20 04:30:23 瀏覽:43
為什麼安卓刷抖音沒有蘋果流暢 發布:2025-07-20 04:29:39 瀏覽:28
50個網需要什麼伺服器 發布:2025-07-20 04:26:25 瀏覽:824
java技術方案 發布:2025-07-20 04:26:25 瀏覽:113