熱點評!為什么要進行信息檢索?信息檢索的本質
第一講 搜索
IR(信息檢索是什么樣的學科)
實質上是融合了文本及多媒體檢索、數據挖掘、機器學習和自然語言處理的綜合學科
(資料圖片僅供參考)
為什么要進行信息檢索?信息過載
搜索
搜索的過程
從大規模非結構化數據(通常是文本)的集合(通常保存在計算機上)中找出滿足用戶信息需求的資料(通常是文檔)的過程
信息檢索的本質
確定文檔和查詢之間的相關度是IR的核心問題
IR作為一門學科,是研究信息的獲取(acquisition)、表示(representation)、存儲(storage)、組織(organization)和訪問(access)的一門學問
信息檢索本質:給定一個查詢Q,從文檔集合C中,計算每篇文檔D與Q的相關度,并排序(Ranking)
什么是相關度
相關度是一個查詢和文檔相關的程度,形式上說,信息檢索中的相關度是一個**函數*f*,**輸入是查詢Q、文檔D和文檔集合C,返回的是一個實數值 R, R= f(Q,D,C)
相關度(relevance)不同于相似度(Similarity):
相關度通常只有相對意義
(1)相關取決于用戶的判斷,是一個主觀概念
(2)不同用戶做出的判斷很難保證一致
(3)即使是同一用戶在不同時期、不同環境下做出的判斷也不盡相同
定義“相關性”的兩個角度:(了解)
系統角度:系統輸出結果,用戶是信息的接受者。
用戶角度:觀察用戶對檢索結果的反應,是系統輸出向用戶需求的投射
現代信息檢索研究中仍然主要采用系統角度定義的主題相關性概念,當然也強調考慮用戶的認知因素
信息檢索模型
描述信息檢索中的文檔、查詢和它們之間關系(匹配函數)的數學模型
信息檢索主要技術
(1)文本分析(NLP)
(2)建立索引
(3)查詢,包括查詢分析(NLP),相關度計算(和信息檢索模型相關)
(4)排序(實驗室評價)
搜索引擎
工作原理
(1) 爬行和抓取
(2) 文本分析
(3)建立索引(可能會考的知識點:蜘蛛抓取的頁面文件分解、分析,并以巨大表格的形式存入數據庫,這個過程即是索引(index).搜索引擎的核心數據結構為倒排文件(也稱倒排索引))
(4)搜索詞處理 (5)排序 (6)用戶反饋
搜索引擎評價
(1) 覆蓋面 (2)更新周期 (3)響應速度 (4)排序結果是否滿足用戶的查詢要求
第二講 網絡爬蟲技術
爬蟲定義
一種自動獲取網頁內容的程序,從一個或若干初始網頁的**URL開始,獲取并解析它們,提取它們指向的URL,將提取的url放在隊列中,獲取隊列中的每個URL并重復此過程,直到滿足系統的一定停止條件**
通俗的講,也就是通過HTML源碼解析來獲得想要的內容
爬蟲必須具有的功能
4.1 禮貌性: Web服務器有顯式或隱式的策略控制爬蟲的訪問
只爬允許爬的內容、尊重 robots.txt
4.2 魯棒性: 能從采集器陷阱中跳出,能處理Web服務器的其他惡意行為
4.3 性能和效率:充分利用不同的系統資源,包括處理器、存儲器和網絡帶寬
優先抓取“有用的網頁”
4.4 分布式: 可以在多臺機器上分布式運行
?分布式帶來的問題
–哈希表判重
?解決方法:
–A、明確每臺下載服務器的分工,即一看到某個URL就知道交給哪臺服務器去執行
–B、批量處理,減少通信的次數
可擴展性: 添加更多機器后采集率應該提高
4.5 新鮮度: 對原來抓取的網頁進行更新
4.6功能可擴展性:支持多方面的功能擴展,例如處理新的數據格式、新的抓取協議等
爬取框架
3、搜索策略:深度優先, 廣度優先
實際應用的網絡爬蟲不是對網頁次序的簡單BFS或者BFS,而是一個相對復雜的下載優先級排序的方法,管理這個系統的叫做“調度系統”(Scheduler),會有一個Priority Queue。BFS成分更加多一些。
4、URL 判重
建立一個散列,其中存放訪問過每一個網址
在其中存放網址經過散列函數計算出的對應的固定長度的散列值
在平均情況下**O(1)**的時間內查找和更新占用O(n)空間的網址列表
利用哈希法,URL經過哈希函數得到哈希碼,判斷是否已經在散列中來判斷是否爬取過
爬蟲分類
?5.1基于整個Web的信息采集(Universal Web Crawling)
?傳統的采集方式
–作為門戶搜索引擎和大型的Web服務提供商的數據收集部分
–是指從一些種子URL擴充到整個Web的信息采集
?5.2 增量式Web信息采集 (Incremental Web Crawling )
?5.3 基于主題的Web信息采集(Focused Web Crawling )
?5.4 基于用戶個性化的Web信息采集(Customized Web Crawling )
?基于元搜索的信息采集(Metasearch Web Crawling)
常見的開源爬蟲
Nutch Heritrix
?包括全文搜索和Web爬蟲。
–包括爬蟲crawler和查詢searcher。
?Crawler主要用于從網絡上抓取網頁并為這些網頁建立索引。
Pandas模塊
lxml模塊
?lxml是一個HTML/XML的解析庫
?主要功能是如何解析和提取HTML/XML數據
第三講 網頁分析技術
網頁解析方法
–一種是將文檔看作字符流;
?正則表達式
–一種是將文檔看作樹結構。
?基于DOM
正則表達式
1、正則表達式的定義
正則表達式是對**字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。**
2、基于正則表達式的信息提取的步驟
(1)在獲取數據前應盡量去除無用部分(2)提取網頁內的鏈接(3)提取網頁標題(4)提取網頁內的文本
3、正則表達式的工具有哪些
Java java.util.regex包 Python的 re模塊
4、正則表達式匹配特點是什么
(1)正則表達式匹配速度快,
(2)但表達能力較弱,只具有正規文法的表示能力。
(3)在對網頁內容的信噪比要求不高的情況下可以使用基于正則表達式匹配的爬取程序
(4)受網頁噪音影響較大
DOM
5、什么叫做DOM
文檔對象模型(document object model,DOM),DOM將一個XML文檔轉換成一個對象集合,然后可以任意處理該對象模型。
DOM將HTML視為樹狀結構的元素,所有元素以及他們的文字和屬性可通過DOM樹來操作與訪問。
6、開源HTML解析器(能夠列出一兩種即可)
(1)JAVA:HTMLParser,jsoup
(2)C/C++:htmlcxx
(3)Python:Beautiful Soup
bs解析器
–使用自帶的html.parser解析,
?速度慢但通用
?soup = BeautifulSoup(html, “html.parser”)
–Html5lib
?不規范的html文本轉為規范的文本再進行解析
用瀏覽器的方式解析文檔
–lxml
?python的一個解析庫,
?支持HTML和XML的解析,
?支持XPath解析方式,
?而且解析效率非常高
?lxml只會局部遍歷
兩種方法比較
正則表達式匹配
(1)正則表達式匹配速度快,但表達能力較弱,只具有正規文法的表示能力。
(2)在對網頁內容的信噪比要求不高的情況下可以使用基于正則表達式匹配的爬取程序
HTML DOM樹
(1)提取HTML DOM樹提取在解析HTML時速度較慢,但其表達能力相當于上下文無關文法。
(2)在網頁自動分類等需要進行網頁去噪處理的情況時使用基HTMLDOM樹的爬取程序
Python爬蟲
?工作過程
–把URL地址中指定的網絡資源從網絡流中讀取出來,保存到本地
–過濾
Re
bs4
Scrapy shell
交互終端,不啟動爬蟲的情況下調試代碼
直接用來測試XPath或者CSS表達式,不用import響應模塊
查看運行的結果方便分析網頁,測試表達式是否獲取到了數據
python爬蟲框架 Scrapy
?快速、高層次的屏幕抓取和web抓取框架,
?用于抓取web站點并從頁面中提取結構化的數據。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2rmF6m42-1608430839949)(C:\Users\yandalao\AppData\Roaming\Typora\typora-user-images\image-20201216162520302.png)]
?爬蟲文件novel_spider.py
–分析需要提取的數據
?在parse方法中做數據的提取
?使用Xpath,從頁面的HTML Source里面選取要要抽取的數據
Xpath
?XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言
?XPath基于XML的樹狀結構,提供在數據結構樹中找尋節點的能力。
?xpath為scrapy中的解析方式
?xpath函數返回的為列表
–列表中存放的數據為Selector類型數據。
–解析到的內容被封裝在Selector對象中,需要調用extract()函數將解析的內容從Selector中取出
Scrapy項目
?制作 Scrapy 爬蟲 一共需要四步:
–新建項目 :新建一個新的爬蟲項目
–明確目標 (編寫items.py):明確你想要抓取的目標
?items.py: 需要提取的數據結構定義文件
–Item 定義結構化數據字段,用來保存爬取到的數據,
?修改novel_spider.py :分析需要提取的數據
–制作爬蟲 (spiders/xxspider.py):制作爬蟲開始爬取網頁
–存儲內容 (pipelines.py):設計管道存儲爬取內容
yield
?只要是數據持久化存儲,parse方法必須有返回值(也就是return后的內容)
–return items
?yield將函數轉換成生成器。我們可以理解成一種特殊的return方法。
?yield返回的是一個生成器,也是可迭代對象,有利于減小服務器資源
?生成器相當于一種方法而不是具體的信息,占用內存小。
爬取多個網頁
?start_urls
?起始爬取列表,可以是多個url
start_urls = (‘http://example.com/page1’, ‘http://example.com/page2’,)
爬取多層網頁
?解析函數的末尾,通過Request方法對下一個頁面手動發起請求
?**先提取二級頁面url,**再對二級頁面發送請求
比較
?request和bs4
–頁面級爬蟲,功能庫
–并行性考慮不足,性能較差
–重點在于頁面下載
?Scrapy
–網站級爬蟲,框架
–并行性好,性能較高
–重點在于爬蟲結構
元搜索引擎
?元搜索引擎又稱多搜索引擎
?通過一個統一的用戶界面幫助用戶在多個搜索引擎中選擇和利用合適的(甚至是同時利用若干個)搜索引擎來實現檢索操作,是對分布于網絡的多種檢索工具的全局控制機制
第四講 爬蟲與網站的博弈
本章知道每個方面的思路和所用工具就可
Robot 協議
?網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。
User-agent
?向訪問網站提供訪問者信息
?UA字符串在每次瀏覽器 HTTP 請求時發送到服務器!
–反爬蟲
IP屏蔽
–爬蟲:對策
?連接代理服務器
–寫了個IP代理池
?多個IP并行
? 增大爬取時間間隔
用戶登陸
?分析登陸過程的方法
?4.1發送post請求
?4.2分析post過程中隱藏的變量名
?4.3分析Cookie
–http 請求帶著Cookie
?它記錄了你的用戶ID,密碼、瀏覽過的網頁、停留的時間等信息,用于用戶身份的辨別
?流程
–**第一個網頁通過GET(****POST)參數提交參數
?參數序列化成字符串
?和基礎****url拼接
?Urllib.request.urlopen**()**
–后臺接受請求,生成cookie,發給用戶
–用戶帶著Cookie繼續訪問其他網頁
?4.4攜帶Cookie訪問已登陸網站
?保存cookie到文件
?從文件中讀取cookie并訪問
?利用cookie模擬登錄
模擬瀏覽器進行交互
selenium
?反爬蟲: 用戶登陸
–輸入用戶名–輸入口令
–點擊登陸按鈕
?Selenium用程序模擬整個操作過程
–忽略post或者get方式差異–不需要知道參數名字
處理Cookie:
?selenium獲取登錄****cookies,
–selenium有一個 get_cookies() 函數可以幫我們獲取當前網頁的cookie值
?保存cookies到文件
?并添加cookies自動登錄
AJAX 動態加載
?通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。
在不重新加載整個網頁的情況下,對網頁的某部分進行更新
驗證碼
?圖像識別
–6.1獲取圖片
?分析網頁下載圖片
?屏幕截圖
–6.2圖片處理Pillow與PIL模塊
–6.3獲取圖片中文字內容ocr
-6.4 圖片滑動驗證碼
第五講 詞項詞典
如何建立詞項詞典?
一、文檔解析(Parsing a document)
~~二、詞條化 (Tokenization)~~這倆不考
三、詞項歸一化 (Normalization)
四、詞干還原 (Stemming)
五、詞形歸并 (Lemmatization)
六、去掉停用詞 (Stop Words)
詞項歸一化
將文檔和查詢中的詞條“歸一化”成一致的形式(希望USA和U.S.A.之間也能形成匹配 )
歸一化的結果: 在IR系統的詞項詞典中,形成多個近似詞項的一個等價類
策略:建立同義詞擴展表
a) 為每個查詢維護一張包含多個詞的查詢擴展詞表
b) 在建立索引建構時就對詞進行擴展
詞干還原
a) 通常指去除單詞兩端詞綴的啟發式過程
b) 詞干還原能夠提高召回率,但是會降低準確率
詞形歸并
a) 利用詞匯表和詞形分析來減少屈折變化的形式,將其轉變為基本形式。
b) 詞形歸并可以減少詞項詞典中的詞項數量
詞干還原和詞形歸并的區別
a) 代表意義不同。
i. Stemming通常指很粗略的去除單詞兩端詞綴的啟發式過程。
ii. Lemmatization通常指利用詞匯表和詞形分析來去除屈折詞綴,從而返回詞的原形或詞典中的詞的過程。
b) 兩個過程的區別還在于:
i. 詞干還原在一般情況下會將多個派生相關詞合并在一起,
ii. 而詞形歸并通常只將同一詞元的不同屈折形式進行合并。
c) 詞干還原和詞形歸并,都體現了不同語言之間的差異性
d)詞干還原過程可能僅返回 s,
e)而詞形歸并過程將返回see或者saw,
停用詞
a) 應用太廣泛,區分度太低
b) 對這樣的詞搜索引擎無法保證能夠給出真正相關的搜索結果,難以幫助縮小搜索范圍,同時還會降低搜索的效率
消除停用詞的優缺點
a) 優點:
i. 停用詞消除可以減少term的個數
ii. 縮小搜索范圍,
iii. 提高搜索的效率
iv. 機器學習文本分類算法的文檔的預處理
b) 缺點:
i. 有時消除的停用詞對檢索是有意義的
如何確定停用詞
a) 查表法
b) 基于文檔頻率
第六講 中文分詞
分詞方法
a) 基于理解的分詞方法
NLP、語義分析、句法分析
b) 基于字符串匹配的分詞方法
查字典。
按照掃描方向:正向匹配和逆向匹配
按照掃描長度:最大匹配和最小匹配
a) 優點:簡單,占用資源少,可自定義詞庫
i. 程序簡單易行,開發周期短;
ii. 僅需很少的語言資源(詞表),
iii. 不需要任何詞法、句法、語義資源。
iv. 可以自定義詞庫,增加新詞
b) 缺點 : 效果差
i. Out of Vocabulary
ii. 歧義消解能力差;
iii. 切分正確率不高,一般在95%左右。
c) 基于統計的分詞方法
用字與字相鄰出現的頻率來反應成詞的可靠度,統計語料中相鄰出現的各個字的組合的頻度,當組合頻度高于某一個臨界值時,我們便可認為此字組可能構成一個詞語。
基于統計的分詞方法的優缺點:
a) 優點:
i. 分詞準確度高;
ii. 能夠平衡地看待詞表詞和未登錄詞的識別問題。
b) 缺點:
i. 局限性,會經常抽出一些共現頻度高、但并不是詞的常用字組
ii. 對常用詞的識別精度差,時空開銷大
iii. 學習算法的復雜度往往較高,計算代價較大,依賴手工定義的特征工程
基于HMM的中文分詞方法
HMM作用
用來描述一個含有隱含未知參數的馬爾可夫過程。
隱含狀態之間存在轉換概率;隱含狀態和可見狀態之間存在發射概率
HMM模型是一個五元組:
StatusSet: 狀態值集合
ObservedSet: 觀察值集合
TransProbMatrix: 轉移概率矩陣 A
EmitProbMatrix: 發射概率矩陣 B
–在某一狀態下對應到某字的概率–P(Observed[i]|Status[j])?基于觀察值只取決于當前狀態值這一假設?其實也是一個條件概率
InitStatus: 初始狀態分布
–句子的第一個字屬于{B,E,M,S}這四種狀態的概率
?HMM三要素[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZlhDCqDG-1608430839951)(image\image-20201216190517905.png)]
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BROKijaw-1608430839953)(image\image-20201216190525015.png)]
HMM模型可以用來解決三種問題
a) 模型參數學習問題
b) 預測問題
c) 評估觀察序列概率
HMM分詞
預測問題,也叫解碼問題
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NGSEDXN9-1608430839955)(image\image-20201216190642734.png)]
Viterbi 算法
如何分詞:將句子中的詞看成有可能四個狀態BMES,最后求出最有可能的狀態序列(根據路徑)。就分詞成功
一種動態規劃算法,它用于尋找最有可能產生 觀測事件 序列的維特比路徑——隱含狀態序列
?二維數組 weight[4] [7]
–4是狀態數(0:B,1:E,2:M,3:S),
–7是輸入句子的字數。
–P(Observed[i]|Status[j])
?比如 weight[0] [2] 代表 狀態B的條件下,出現‘市’這個字的可能性。
?二維數組 path[4] [15]
–path[0] [2] 代表 weight[0] [2]取到最大時,前一個字的狀態,
?比如 path[0] [2] = 1, 則代表 weight[0] [2]取到最大時,前一個字(也就是明)的狀態是E。
第七講 布爾模型與倒排索引
1、什么是信息檢索模型
信息檢索模型(IR model),依照用戶查詢,對文檔集合進行相關排序的一組前提假設和算法。IR模型可形式地表示為一個四元組< D, Q, F, R(qi,dj) >
D是一個文檔集合,Q是一個查詢集合,R(qi,dj) 是一個排序函數,它給查詢qi和文檔 dj 之間的相關度賦予一個排序值,F是一個框架,用以構建文檔,查詢以及它們之間關系的模型
2、基于內容的信息檢索模型有哪些?
? 集合論模型:布爾模型、模糊集合模型、擴展布爾模型
? 代數模型: 向量空間模型、廣義向量空間模型、潛在語義標引模型、神經網絡模型
? 概率模型: 經典概率論模型、推理網絡模型、置信(信念)網絡模型
? 深度學習模型
3、布爾模型是什么
一種簡單的檢索模型,建立在經典的集合論和布爾代數的基礎上
遵循兩條基本規則:
(1)每個索引詞在一篇文檔中只有兩種狀態:出現或不出現,對應權值為 0或1。
(2)每篇文檔:索引詞(0或1)的集合
進行查詢的時候,用布爾表達式進行匹配,計算二值的相關度。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Py4ldaW5-1608430839958)(image\image-20201217120733627.png)]
4、什么是bag of words 模型
在信息檢索中,Bag of words model假定
(1)對于一個文本,忽略其詞序和語法,句法,將其僅僅看做是一個詞集合,或者說是詞的一個組合,
(2)文本中每個詞的出現都是獨立的,不依賴于其他詞是否出現,在任意一個位置選擇一個詞匯都不受前面句子的影響而獨立選擇的。
5、搜索引擎的核心數據結構為倒排文件(Inverted Files)(也叫倒排索引)
6、什么是倒排索引
有詞項和倒排記錄組成,**詞項詞典:**對于每一個詞項,存儲所有包含這個詞項的文檔的一個列表。**倒排記錄表:**一個文檔用一個序列號docID來表示。
?建立索引的步驟:
–詞條序列Token Sequence
?(修改過的詞條,文檔ID)對 序列
–排序
?先按照詞條排序,
?再按照docID排序
–構建詞典和倒排表
?同一篇文檔中多次出現的詞被合并
?分割成詞典和倒排表
9、布爾檢索模型的特點是什么
優點:(1)查詢簡單,因此容易理解(下面的具體說明理解即可)
? 布爾模型也許是IR系統中的最簡單的模型
? 是近30年來最主要的商業搜索工具
? 當前使用的很多系統依然是使用的布爾模型
? 電子郵件,圖書館分類系統,mac osx的spotlight
(2)通過使用復雜的布爾表達式,可方便地控制查詢結果
? 同義關系 電腦 OR 計算機
? 詞組 數據 AND 挖掘
缺點 (1)準確匹配,信息需求的能力表達不足。不能輸出部分匹配的情況
(2)無權重設計 無法排序,
(3)用戶必須會用布爾表達式提問,一般而言,檢出的文檔或者太多或者太少。
(4) 很難進行自動的相關反饋
第八講 向量空間模型
排序檢索
系統根據文檔與query的相關性排序返回文檔集合中的文檔;有布爾查詢和自由文本查詢兩種方式
Jaccard 系數
? 一種常用的衡量兩個集合A,B重疊度的方法
? Jaccard(A,B) = |A ∩ B| / |A ∪ B|(回答這個公式即可)
? Jaccard(A,A) = 1
? Jaccard(A,B) = 0 if A ∩ B = 0
? 集合A和B不需要具有同樣的規模
–沒有考慮
?文檔長短
?詞項頻率(詞項在文檔中出現的次數)
?罕見詞比高頻詞的信息量更大,更加具有區分度
詞項頻率
詞項t在文檔d中出現的次數,記為tft,d)
一種替代原始tf的方法: 對數詞頻原始的詞頻tf以10為底取對數再加一
什么是idf:是逆文檔頻率,idft= log10(N/dft),df是文檔頻率,指出現詞項的文檔數目
文檔頻率 (Document frequency,df)
? 文檔頻率:出現詞項的文檔數目
? dft文檔集合中包含t的文檔數目
– 與詞項t包含的信息量成反比
– dft<= N(N是文檔的總數)
idf (inverse document frequency)逆文檔頻率
? idft= log10(N/dft)
– idft是反映詞項t的信息量的一個指標
– 用log (N/dft) 代替N/dft來抑制idf的作用
tf-idf是什么
是信息檢索中最著名的權重計算方法,表示t對于文檔d的重要程度,詞項t的tf-idf 由它的tf和idf組合而成 wt,d=(1+log tft,d) × log10(N/dft)
(理解一下和重要程度是否符合:tf-idf值隨著詞項在單個文檔中出現次數(tf)增加而增大,tf-idf值隨著詞項在文檔集中數目(df)增加而減小)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-s9lj0KLn-1608430839959)(image\image-20201217145033660.png)]
向量空間模型
是一個**|V|維實向量空間**(V是詞項集合,|V|表示詞項個數),空間的每一維都對應一個詞項,每篇文檔表示成一個基于tf-idf權重的實值向量,向量的維度是詞項的個數,文檔是空間中的點或者向量,這就是向量空間模型
向量相似度計算
余玄相似度:(認為cos(di,q) > cos(dj,q),夾角更小,所以di比dj與q更相關)
R(d,q) = cos(d,q) = d·q/|d|×|q|
文檔長度歸一化
?一個文檔向量除以它的L2 范數(Xi的平方和取根號)就是給這個文檔進行了長度歸一化
向量空間模型特點
優點:
(1)幫助改善了檢索結果。
(2)部分匹配的文檔也可以被檢索到。
(3)可以基于向量cosine 的值進行排序,提供給用戶。
缺點:
(1)這種方法假設標記詞是相互獨立的,但實際可能不是這樣,如同義詞、近義詞等往往被認為是不相關的詞
(2)維度非常高:特別是互聯網搜索引擎,空間可能達到千萬維或更高
(3)向量空間非常稀疏:對每個向量來說大部分都是0
第九講 檢索排序
精確top K檢索及其加速辦法
(一般)步驟:對每個文檔評分(余弦相似度),按照評分高低排序,選出前K個結果
如何加速:
方法一:快速計算余弦
方法二:堆排序法N中選K(不對所有文檔的評分結果排序而直接選出Top K篇文檔)只是縮減了排序這一步驟
方法三:提前終止計算 (不需要計算所有N篇文檔的得分
非精確top K檢索
簡答題不用細答,看看了解
基本思想:找一個文檔集合A,K< |A|<< N,利用A中的top K結果代替整個文檔集的top K結果
下面的策略就是為了縮減文檔的數量
? 策略一:索引去除(Index elimination)
只考慮那些詞項的idf 值超過一定閾值的文檔
只考慮包含多個查詢詞項
? 策略二:勝者表(Champion list) 每個詞項t對應tf值高的表
? 策略三:靜態得分 不僅相關,還權威,根據相關和權威度加權,對doc進行排序
? 策略四:影響度(Impact)排序 以詞項為單位,串行遍歷詞項的倒排索引表
? 策略五:簇剪枝方法—預處理
Pagerank算法
?隨機游走模型 是個一階馬爾可夫鏈
–用來描述不穩定的移動。
–移動節點隨機選擇一個方向和速度來從當前位置移動到新的位置
PageRank的思路:在隨機游走過程中訪問越頻繁的網頁越重要
PageRank的一般定義
?PageRank一般定義的想法是在基本定義的基礎上導入平滑項
一個一定平穩分布的馬爾可夫鏈:
M是轉移矩陣,–R 是n維向量,表示的就是有向圖的一般PageRank
R = d M R + 1 ? d n 1 R=d M R+\frac{1-d}{n} 1 R=dMR+n1?d1
?第一項表示(狀態分布是平穩分布時)依照轉移矩陣M訪問各個結點的概率,
?第二項表示完全隨機訪問各個結點的概率
第一項表示:?在任意一個網頁上,瀏覽者或者以概率d決定按照超鏈接隨機跳轉,這時以等概率從連接出去的超鏈接跳轉到下一個網頁第二項表示:?或者以概率(1-d)決定完全隨機跳轉,這時以等概率1/n跳轉到任意一個網頁?第二個機制保證從沒有連接出去的超鏈接的網頁也可以跳轉出。這樣可以保證平穩分布,即一般PageRank的存在,因而一般PageRank適用于任何結構的網絡。
對于一個節點A
P R ( A ) = ( P R ( B ) L ( B ) + P R ( C ) L ( C ) + P R ( D ) L ( D ) + ? ? ? ) d + 1 ? d N P R(A)=\left(\frac{P R(B)}{L(B)}+\frac{P R(C)}{L(C)}+\frac{P R(D)}{L(D)}+\cdots \cdot \cdot\right) d+\frac{1-d}{N} PR(A)=(L(B)PR(B)+L(C)PR(C)+L(D)PR(D)+???)d+N1?d
其中,PR(A)表示頁面A的級別,頁面Ti鏈向頁面A,L(Ti) 是頁面Ti 鏈出的鏈接數量
迭代算法
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-CgRIEJHX-1608430839960)(image\image-20201217155401700.png)]
HITS算法
了解思想就行
? 在HITS算法中,對每個網頁都要計算兩個值**:權威值(authority)與中心值(hub)**
HITS和PageRank的區別
a.HITS算法將重要性分為兩個值權威值(authority)與中心值(hub),PageRank只計算一個值
b.HITS和查詢有關系,PageRank算法和查詢無關
機器學習排序
步驟:
–人工標注訓練數據,給出文檔和查詢相關度
–文檔特征抽取、確定特征數量,文檔轉化為特征向量
–學習分類函數、
-在實際搜索系統中采用機器學習模型
它有以下3種方法:
(計算損失函數的方法,也是構造訓練集的方法)
單文檔方法
? PointWise Approach
? 損失函數評估單個 doc 的預測得分和真實得分之間差異
文檔對方法
? PairWise Approach
? 是判斷任意兩個文檔組成的文檔對是否滿足順序關系
文檔列表方法
? ListWise Approach
? 搜索結果列表整體作為一個訓練實例
第10講 信息檢索的評價
檢索評測基礎
、?信息檢索系統的目標是較少消耗情況下盡快、全面返回準確的結果。
測試集由一個文檔集、一組信息查詢實例、對應于每個信息查詢實例的**一組相關文檔(由專家提供)**所組成
無序評測
查全率和查準率
?無序檢索結果的評價
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ri4IinkS-1608430839961)(image\image-20201217161456944.png)]
? 查準率(Precision):返回的結果中真正相關結果的比率,也稱為查準率, P∈ [0,1]
? 召回率(Recall): 返回的相關結果數占實際相關結果總數的比率,也稱為查全率,R∈ [0,1] P = R R R R + R N R = R R R R + N R P=\frac{R R}{R R+R N} \quad R=\frac{R R}{R R+N R} P=RR+RNRRR=RR+NRRR 關于召回率的計算:增加一個緩沖池: ?對多個檢索系統的Top N個結果組成的集合進行人工標注,標注出的相關文檔集合作為整個相關文檔集合。查準率不變,召回率增大
精確率,不用它
平均
–宏平均(Macro Average): 對每個查詢求出某個指標,然后對這些指標進行算術平均
–微平均(Micro Average): 將所有查詢視為一個查詢,將各種情況的文檔總數求和,然后進行指標的計算
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pBY2WnOS-1608430839962)(image\image-20201217162720957.png)]
F值(F-measure)
? F值(F-measure):召回率R和查準率P的加權調和平均值,
? F1 標準則綜合了精度和查全率,將兩者賦予同樣的重要性來考慮。F1的計算由下面的公式決定(調和平均數) F ( i , j ) = 2 × recall ? ( i , j ) × precision ( i , j ) recall ? ( i , j ) + precision ? ( i , j ) F(i, j)=\frac{2 \times \operatorname{recall}(i, j) \times \text { precision}(i, j)}{\operatorname{recall}(i, j)+\operatorname{precision}(i, j)} F(i,j)=recall(i,j)+precision(i,j)2×recall(i,j)× precision(i,j)
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8TG2e0UG-1608430839963)(image\image-20201217162932501.png)]
調和平均值 F = 2 1 r + 1 p F=\frac{2}{\frac{1}{r}+\frac{1}{p}} F=r1+p12
排序評測
R-查準率是什么
? 計算序列中第R個位置文獻的查準率。在公式里指分母
? R是指與當前查詢相關的文檔總數.
? R=10, R-查準率=4/10;
? R=3, R-查準率=2/3
查準率/查全率曲線
橫軸查全率,縱軸查準率
曲線下的面積被稱為AP分數(Average precision score)
去掉鋸齒,對一x取最大y
Mean Average Precision (MAP)是什么
? 平均查準率均值
? MAP是多個查詢/排名的平均精度
? 在每個相關文檔位置上查準率的平均值,被稱為平均查準率Average Precision (AP)
也就是對每個查詢相關的R-查準率(在R位置上的那個文檔是相關的)累計求和取均值
NDCG是什么
一種總體觀察檢索排序效果的方法,利用檢索序列加和(每個搜索結果都要有個評價分,越高越好)的思路來衡量。
第11講 概率檢索模型
不考推導,只看思想,只有填空
看不懂,這點分,不要也罷
Probability ranking principle PRP概率排名原則
令x代表集合中的文檔。令R代表文件w.r.t.的相關性。給定(固定)查詢,令R = 1表示相關,而R = 0不相關。
? 概率檢索模型作為一個分類問題,
? 對于某個文檔d來說,如果其屬于相關文檔子集的概率大于屬于不相關文檔子集的概率,我們就可以認為這個文檔與用戶查詢q 是相關的。
? P(R=1|q,d)代表給定一個文檔D對應的相關性概率, ? P(R=0| q,d)則代表該文檔的不相關概率
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZfmzRkaD-1608430839964)(image\image-20201216194643050.png)]
概率檢索策略
估計每個詞項對相關性的貢獻合并以查找文檔相關性概率通過概率降低順序對文檔進行排序
BIM Binary Independence Model 二元獨立模型
Binary” =布爾值:文檔表示為詞項的二進制關聯向量
Independence:term在文檔中獨立出現
詞包模型
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lpCcQel0-1608430839965)(image\image-20201216195435537.png)]
BM25
BM25是信息索引領域用來計算query與文檔相似度得分的經典算法
不同于TF-IDF,BM25的公式主要由三個部分組成: ? query中每個單詞t與文檔d之間的相關性? 單詞t與query之間的相似性? 每個單詞的權重
目標:對術語頻率和文檔長度敏感,同時不添加太多參數
文件生成模型
使用多項式分布從詞典中獨立繪制單詞
詞項頻率(tf)的分布遵循二項式分布-由泊**松(Poisson)**近似
泊松模型
假設文檔中的詞頻(tfi)遵循泊松分布
?“固定間隔”表示文檔長度固定…認為大小恒定的文檔摘要?…稍后將修復
第12講 隱語義空間
奇異值分解需要了解,但是不考了
?用前r大的奇異值來近似描述矩陣
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-WX65Uzzn-1608430839966)(C:\Users\yandalao\AppData\Roaming\Typora\typora-user-images\image-20201220095654805.png)]
PCA主成分分析(回憶計算機視覺)
隱語義分析 LSA
什么是LSA
–使用統計計算的方法對大量的文本集進行分析,–從而提取出詞與詞之間潛在的語義結構,并用這種潛在的語義結構,來表示詞和文本,達到消除詞之間的相關性和簡化文本向量實現降維的目的
把高維的向量空間模型(VSM)表示中的文檔映射到低維的潛在語義空間中
基本步驟
(1)建立詞頻矩陣
(2)計算矩陣的奇異值分解
(3)對于每一個文檔d,用排除了SVD中消除后的詞的新的向量替換原有的向量
(4)用轉換后的矩陣進行文檔索引和相似度計算
LSA優點
(1)文檔和單詞都映射到同一個語義空間,所以可以計算文檔和文檔的相似度,詞項和詞項的相似度,詞項和文檔的相似度
(2)語義空間的維度明顯明顯少于源單詞-文章矩陣
?最關鍵的性質:每個奇異值對應的是每個“語義”維度的權重
?將不太重要的權重置為0,可以保留重要的信息,去掉一些信息“枝節”。。枝節信息可能會使本來應該相似的對象不相似
LSA缺點
a) 無法解決多義詞的問題
b) 特征向量的方向沒有對應的物理解釋
c) SVD的計算復雜度很高,而且當有新的文檔來到時,若要更新模型需重新訓練
d) 維數的選擇是ad-hoc的
e) LSA具有詞袋模型的缺點,即在一篇文章,或者一個句子中忽略詞語的先后順序
f) LSA的概率模型假設文檔和詞的分布是服從聯合正態分布的,但從觀測數據來看是服從泊松分布的
概率潛在語義分析 pLSA
什么是pLSA
a) PLSA是以統計學的角度來看待LSA,是基于雙模式和共現的數據分析方法延伸的經典的統計學方法
生成模型
?在概率統計理論中,
–生成模型是指能夠隨機生成觀測數據的模型,尤其是在給定某些隱含參數的條件下。它給觀測值和標注數據序列指定一個聯合概率分布
什么是主題模型?
一篇文檔(Document) 可以由多個主題(Topic) 混合而成每個Topic 都是詞匯上的概率分布每個詞都是由一個固定的 Topic 生成的
“文檔-詞項”的生成模型的訓練?
a) 按照概率選擇一篇文檔d
b) 選定文檔后,從主題分布中按照概率選擇一個隱含的主題類別p(z|d)
c) 選定后,從詞分布中按照概率p(w|z)選擇一個詞
PLSA生成文檔的過程?
a) pLSA中生成文檔的整個過程便是選定文檔生成主題,確定主題生成詞。
b) 自動地發現文檔集中的主題(分布)
i. 根據大量已知的文檔-詞項信息p(w|d) ,
ii. 訓練出文檔-主題p(z|d)和主題-詞項p(w|z)
EM算法
PLSA有哪些應用?
根據p(z|d)來的
a) 文本聚類
b) 文本分類
PLSA的優勢?
a) 定義了概率模型,而且每個變量以及相應的概率分布和條件概率分布都有明確的物理解釋
b) 相比于LSA隱含了高斯分布假設,pLSA隱含的Multi-nomial分布假設更符合文本特性
c) pLSA的優化目標是是KL-divergence最小,而不是依賴于最小均方誤差等準則
d) 可以利用各種model selection和complexity control準則來確定topic
pLSA不足
?隨著document和term 個數的增加,pLSA模型也線性增加,變得越來越龐大;
?PLSA可以生成其所在數據集的的文檔的模型,但卻不能生成新文檔的模型。
?EM算法需要反復的迭代,需要很大計算量;
?概率模型不夠完備
–不是完整的貝葉斯模型
–文檔-主題p(z|d)和主題-詞項p(w|z)是直接根據數據估計出來的,沒有進一步引入先驗
這兩點在LDA模型做了優化
LDA模型
什么是LDA模型?
a) 一個隱含狄利克雷分布的主題模型
和pLSA主題模型有什么區別
增加了狄利克雷的先驗知識,所有的參數都不是設定的,而是進行了全貝葉斯化,更符合實際的情況
GENSIM
Gensim是一個用于從文檔中自動提取語義主題的Python庫
?第一步、準備訓練語料
?第二步、預處理
–分詞(tokenize the documents)、去除停用詞和在語料中只出現一次的詞
?第三步、文本向量化
第13講 詞嵌入
重點:統計語言,表征學習
統計語言模型
什么是語言模型和統計語言模型?
a) 語言模型根據語言客觀事實而進行的語言抽象數學建模
b) 統計語言模型為上下文相關的特性建立數學模型
語言模型的公式
–S :一連串特定順序排列的詞ω1,ω2,…,ωn
a) S 的概率 P(S)等于每一個詞出現的概率相乘
b) P(S) =*P*(ω1)?*P*(ω2|ω1)?*P*(ω3|ω1,ω2)???*P*(ωn|ω1,ω2,…,ωn-1)
什么是n-gram語言模型?
N-1階馬爾可夫假設:
假定文本中的每個詞ωi和前面的N-1個詞有關,而與更前面的詞無關
對應的語言模型稱為N元模型(N-Gram Model)
統計語言模型、n-gram語言模型有什么應用
? 文本生成、機器翻譯
? 拼寫糾錯
? 語音識別
? 音字轉換
? 分詞
n-gram語言模型的缺點
a) 簡單有效
b) 只考慮了詞的位置關系,
c) 沒有考慮詞之間的相似度,詞語法和詞語義,
d) 還存在數據稀疏的問題
文檔重復檢測
判斷重復的思路:
–為每一個web文檔通過hash的方式生成一個指紋(fingerprint)。
–將高維的特征向量映射成一個f-bit的指紋(fingerprint),
通過比較兩篇文章的f-bit指紋的Hamming Distance來確定文章是否重復或者高度近似
shingl算法
?核心思想是將文件相似性問題轉換為集合的相似性問題
–給定正整數k及文檔d的一個詞項序列,可以定義文檔d的k-shingle為d中所有k個連續詞項構成的序列。
–a rose is a rose is a rose → 4-Grams
a_rose_is_a
rose_is_a_rose
is a rose is
a_rose_is_a …
直觀上看,如果兩個文檔的shingle集合幾乎一樣,那么它們就滿足近似重復
局部敏感哈希 LSH
局部敏感哈??梢杂脕斫稻S
MinHash的用處
a) 可以用來快速估算兩個集合的相似度。
b) 用于在搜索引擎中檢測重復網頁。
c) 它也可以應用于大規模聚類問題
SimHash的步驟
a) 分詞、hash、加權、合并、降維
w指的是每個term的權重
加權:遇到1則hash值和權值正相乘,遇到0則hash值和權值負相乘 例如W(CSDN) = 100101 4 = 4 -4 -4 4 -4 4
降維:對于n-bit簽名的累加結果,如果大于0則置1,否則置0
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IfucazqJ-1608430839967)(image\image-20201216220909219.png)]
相似度判斷:每篇文檔得到SimHash簽名值后,接著計算兩個簽名的海明距離即可
表征學習和詞嵌入
?表征學習:
–在機器學習中,表征學習是學習一個特征的技術的集合
–將原始數據轉換成為能夠被機器學習來有效開發的一種形式。
?向量
?嵌入(embedding)
–是一種可用于將離散變量表示成連續向量的方法。
神經網絡語言模型
NNLM
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7JBzTbHC-1608430839968)(image\image-20201217085938669.png)]
知道這個圖各部分意思,下面的word2vec就是改進了一下上面
word2vec
?對原始的NNLM模型做如下改造:
–移除前向反饋神經網絡中非線性的hidden layer( tanh 隱藏層),直接將中間層的embedding layer與輸出層的softmax layer連接;–忽略上下文環境的序列信息:輸入的所有詞向量均匯總到同一個embedding layer;–將future words納入上下文環境
?連續詞袋模型 CBOW
根據某個詞前面的C個詞或者前后C個連續的詞,來計算某個詞出現的概率
步驟,PPT非常清晰了
V是詞項數量,N是中間向量那個O的維度
具體步驟:
模型輸入:上下文的one hot表示方式
–1xV的向量
–V 詞匯表大小
輸入分別跟同一個VxN的大小的系數矩陣W1相乘得到C個1xN的隱藏層hidden layer,
然后C個取平均所以只算一個隱藏層
?隱藏層跟另一個NxV大小的系數矩陣W2相乘得到1xV的輸出層,
–這個輸出層每個元素代表的就是詞庫里每個詞的事后概率。
?輸出層需要跟ground truth也就是“coffee”的one hot形式做比較計算loss
?通過大量的數據迭代,使用梯度下降更新W和W’,來最小化loss函數,
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Yf0THKo1-1608430839969)(image\image-20201217090553751.png)]
?Skip-Gram Model
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-8BKqtI1Y-1608430839970)(file:///D:\360MoveData\Users\yandalao\Documents\Tencent Files\2922610627\Image\C2C\AB502D3E6C82F00132C9127A669EA5E0.jpg)]
Skip-Gram Model相反,是根據某個詞,然后分別計算它前后出現某幾個詞的各個概率
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dR2lyz5a-1608430839970)(image\image-20201217091825010.png)]
Skip-gram–名稱源于該模型在訓練時會對上下文環境里的word進行采樣
?基于成對的單詞來對神經網絡進行訓練,
–訓練樣本是 ( input word, output word ) 這樣的單詞對,
–input word和output word都是one-hot編碼的向量。
–最終模型的輸出是一個概率分布。
?輸出層使用了sotfmax。
?模型的本質:
計算輸入word和輸出word的余弦相似度,并進行softmax歸一化(想象一下softmax圖像,所有的值都被分配到[0,1]之間的數)
?直接對詞典里的 V 個詞計算相似度并歸一化,顯然是一件極其耗時的impossible mission。為了加快速度優化:
負采樣:–層次Softmax(Hierarchical Softmax)
word2vec應用
列出所有相似詞語列表和程序猿相似詞語,比如攻城獅,比如猝死
?詞匯的語義的類比皇帝-皇后=男-女
?尋找對應關系:男人——男孩 女人——女孩
第14講 圖片檢索
圖像檢索
跨媒體檢索Cross-MediaRetrieval
–不同媒體映射到同一低維度空間
?基于文本的[圖像檢索技術]TBIR
–查詢詞:文本
–搜索引擎
?爬蟲 圖片
?索引 圖片對應的文字,錨文本,URL
?基于圖像周圍文本的檢索
?基于鏈接錨文本的檢索
?基于內容的圖像檢索CBIR
–用戶輸入一張圖片,以查找具有相同或相似內容的其他圖片。
CBIR 的關鍵技術:圖像特征提取和特征匹配
圖像特征
?圖像的特征主要包括低層特征(Primitive Features)和語義特征(Semantic Features)
–低層視覺
?與圖像的具體類型或內容無關,
–顏色、形狀、紋理等
?某些先驗知識(或假設)
–人的面部特征
–指紋特征
圖片的特征有顏色特征、形狀特征、紋理特征
顏色特征
底層、直觀,魯棒性強
顏色特征的表示有幾種
? 1、顏色直方圖(Color Histogram)直方圖,就是CV教的那個,但是是對顏色來的,不是灰度
沒有體現空間信息,平移尺度旋轉不變性
? **2、顏色相關圖(Color Correlogram)**不考
? 3、顏色矩(Color Moment)
–在顏色直方圖的基礎上計算出每個顏色的矩估計
? 4、顏色一致性矢量(Color Coherence Vectors, CCV)
紋理特征
一般說紋理就是指在圖像中反復出現的局部模式和它們的排列規則
基于統計特征的紋理特征提取
1.灰度差分統計法
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DJPGNRYU-1608430839972)(image\image-20201217105234873.png)]
2.基于灰度共現矩陣的紋理特征 –常用統計量:對比度、相關度、方差、熵等
3.Tamura紋理特征
?Tamura紋理特征中所有紋理特征都在視覺上有意義。
–對比度(contrast)、粗糙度(coarseness)、方向性(directionality)對于圖像檢索尤為重要。
–線像度(1ine likeness)、規整度(regularity)和粗略度(roughness)。
基于信號處理方法描述紋理特征
–利用某種線性變換、濾波器或者濾波器組將紋理轉換到變換域,
–然后應用某種能量準則提取紋理特征。
形狀特征
有一定的語義信息
?基于輪廓的形狀描述符
鏈碼–差分結果第一位是原鏈碼最后一位和第一位相減的結果。–例如,對于4向鏈碼10030321的一階差分的結果為03031333
基于網格的方法
傅里葉描述子
–物體輪廓線表示成一個一維的輪廓線函數
–傅立葉級數中的一系列系數z(k)是直接與邊界曲線的形狀有關的,稱為傅立葉描述子.
?基于物體輪廓坐標序列的傅立葉描述子具有最佳的形狀識別性能.
感知哈希算法
?全局特征降維
(1)對每張圖片生成一個**“指紋”(fingerprint)字符串,也就是圖片的特征**
(2)然后比較不同圖片的指紋,結果越接近,就說明圖片越相似(用海明距離來計算)
(之前計算文檔相似度的局部敏感哈希也是用hash法,比較哈希碼的相似度來判斷文檔相似程度,都是用海明距離)
那么怎么將圖片變為哈希碼呢?
(1)均值Hash算法
縮小尺寸,收縮色彩度(比如300-64),計算所有像素的灰度平均值,閾值二值化,二值化結果為哈希值
(2)pHash算法
(3)顏色分布法–紅綠藍分別有4個區(顏色分段)
–總共可以構成64種組 4^3。
?任何一種顏色必然屬于這64種組合中的一種——特征為64維向量,計算余弦相相似度
(4)?內容特征法
(圖片二值化)–原圖轉成一張較小的灰度圖片,確定一個閾值,將灰度圖片轉成黑白圖片
–兩張圖片很相似,它們的黑白輪廓應該是相近的
?基于區域的形狀描述符
大津法Otsu’s method
a) 證明了 "類內差異最小"與"類間差異最大"是同一件事
b) 計算方法:
i. 灰度值小于閾值的像素為 n1 個,
ii. 大于等于閾值的像素為 n2 個
iii. w1 和 w2 表示這兩種像素各自的比重
iv. w1 = n1 / n
v. 類內差異 = w1(σ1的平方) + w2(σ2的平方)
vi. 類間差異 = w1w2(μ1-μ2)^2
圖像局部特征
LBP特征
局部二值模式 Local Binary Patterns,結合了紋理圖像結構和像素統計關系的紋理特征描述方法
LBP怎么構造
? LBP算子定義為在3*3的窗口內,
? 以窗口中心像素為閾值,將相鄰的8個像素的灰度值與其進行比較,若周圍像素值大于中心像素值,則該像素 點的位置被標記為1,否則為0。
? 3*3鄰域內的8個點經比較可產生8位二進制數(通常轉換為十進制數即LBP碼,共256種),即得到該窗口中心像 素點的LBP值,并用這個值來反映該區域的紋理信息。
LBP的應用中,如紋理分類、人臉分析等,采用LBP特征譜的統計直方圖作為特征向量用于分類識別??蓪⒁环鶊D片化為多個子區域,分別求每個子區域的統計直方圖。
HOG特征
關鍵詞:cell,梯度直方圖,行人檢測
HOG是什么?
a) 方向梯度直方圖,Histogram of Oriented Gradient, HOG
b) 一種在計算機視覺和圖像處理中用來進行物體檢測的特征描述子
c) 通過計算和統計圖像局部區域的梯度方向直方圖來構成特征
Hog特征結合 SVM分類器已經被廣泛應用于圖像識別中,尤其在行人檢測中獲得了極大的成功
HOG特征如何提???
a) 灰度化
b) 采用Gamma校正法對輸入圖像進行顏色空間的標準化(歸一化)
c) 計算圖像每個像素的梯度
d) 將圖像劃分成小cells
e) 統計每個cell的梯度直方圖
梯度直方圖,橫軸是梯度方向,y軸是在該梯度方向的梯度值的和
f) 將每幾個cell組成一個block
g) 將圖像image內的所有block的HOG特征descriptor串聯起來就可以得到該image的HOG特征descriptor了
HOG算法的優缺點?
a) 優點
i. 由于HOG是在圖像的局部方格單元上操作,所以它對圖像幾何的和光學的形變都能保持很好的不 變性,這兩種形變只會出現在更大的空間領域上。
ii. 其次,在粗的空域抽樣、精細的方向抽樣以及較強的局部光學歸一化等條件下,只要行人大體上能夠保持直立的姿 勢,可以容許行人有一些細微的肢體動作,這些細微的動作可以被忽略而不影響檢測效果。
iii. 因此HOG特征是特別適合于做圖像中的人體檢測的
SIFT
SIFT特征是什么
尺度不變特征轉換,Scale-invariant feature transform或SIFT,在空間尺度中尋找極值點,并提取出其位置、尺度、旋轉不變量。
SIFT特征和HOG特征好處
SIFT特征不只具有尺度不變性,即使改變旋轉角度,圖像亮度或拍攝視角,仍然能夠得到好的檢測效果,Hog沒有旋轉和尺度不變性
SIFT有哪幾個步驟
– 步驟一:建立尺度空間
? 即建立高斯差分(DoG)金字塔
– 步驟二:在尺度空間中檢測極值點,并進行精確定位和篩選
– 步驟三:特征點方向賦值,
? 完成此步驟后,每個特征點有三個信息:位置、尺度、方向
– 步驟四:計算特征描述子
SIFT特征的匹配是暴力匹配
圖像檢索算法
圖像檢索算法
a) 圖像檢索領域:將局部特征表示成全局特征的編碼
b) 通常繼承了局部特征的部分不變性,如對平移、旋轉、縮放、光照和遮擋等與語義相關不大的因素保持不變
三種經典的編碼
a) [BoW](http://yongyuan.name/blog/Bag of visual words model: recognizing object categories)
b) VLAD局部聚合向量
c) FV
BOF
圖像視為文檔,局部特征經過聚類后看作一個視覺詞匯(也就是詞)
BOF算法先求出特征點,再聚類生成類心,得到視覺詞匯,生成直方圖(橫軸視覺詞匯,縱軸頻數),再根據TF-IDF調整權重
查詢時,求夾角余弦
BOF算法流程
– 1.用surf算法生成圖像庫中每幅圖的特征點及描述符。
? surf算法是關鍵點計算和描述算法,作用和SIFT相似。
– 2.再用k-means算法對圖像庫中的特征點進行訓練,生成類心。
– 3.生成每幅圖像的BOF,
? 判斷圖像的每個特征點與哪個類心最近,最近則放入該類心,最后將生成一列頻數表,即初步的無權BOF(直方圖向量)。
– 4.通過tf-idf對頻數表加上權重,生成最終的bof。
? 因為每個類心對圖像的影響不同。比如超市里條形碼中的第一位總是6,它對辨別產品毫無作用,因此權重要減小。
? TF/IDF
– 5.對查詢圖像也進行3.4步操作,生成該圖的直方圖向量BOF。
– 6.將查詢圖像的Bof向量與圖像庫中每幅圖的Bof向量計算相似度
? 求夾角余弦。
Fisher vector
FV考慮了特征點到每個聚類中心的距離,也就是用所有聚類中心的線性組合去表示該特征點
–FV描述局部特征和GMM中心之間的平均一階和二階差異
VLAD特征
?可以認為VLAD是FV的簡化版本
?如同BOF先建立出含有k個visual word的codebook,只考慮離特征點最近的聚類中心
-采用的是計算出local descriptor和每個visual word(ci)在每個分量上的差距,將每個分量的差距形成一個新的向量來代表圖片
標簽:
相關推薦:
精彩放送:
- []天天通訊!阿彌陀佛是什么意思?佛教語有哪些?
- []今日熱門!10股轉增4股是利好還是利空
- []全球短訊!生產流水線有什么好處?生產流水線的好處是什么?
- []粉色罪孽的演員有哪些?粉色罪孽的演員資料介紹?
- []【linux】linux下iso文件的制做與解壓
- []車貸可以提前還款嗎
- []視焦點訊!Linux系統如何架設石器私服?Linux系統架設石器私服教程
- []世界快消息!js基礎知識:Promise鏈式調用
- []世界熱消息:工銀瑞信添益快線貨幣有風險嗎
- []【焦點熱聞】ipad怎么分屏方法?profile之springboot-maven解決方案
- []世界實時:機械設計制造類是什么專業?機械設計制造類主要課程有哪些?
- []快訊:松下KX-MB778CN多功能一體機驅動程序安裝教程
- []【華為G520-T10刷機包下載】官方最新升級
- []全球速讀:廣東清遠:國內首條磁浮旅游專線首車正式上線
- []maven(三)最詳細的profile的使用
- []世界簡訊:股市交易時間和規則111
- []熱點評!為什么要進行信息檢索?信息檢索的本質
- []天天熱訊:市盈率高好還是低好
- []每日時訊!攝像頭碼率是什么意思?攝像頭碼率性能怎樣?
- []地球水體的比例是多少?水域占地球表面積約多少比率?
- []【世界報資訊】收到這類快遞,趕緊扔!多地警方預警
- []【環球報資訊】華懋瑜一第1C期首張價單推80伙
- []【世界新要聞】晉控電力:公司有儲能項目的前期工作,公司新能源方面在運風電項目11個,光伏項目28個
- []環球熱推薦:陜西順馳建工施工不規范被處罰 涉及項目為北京山水匯豪苑
- []焦點信息:香港機場2月客運量飆升24倍
- []今日報丨成飛集成:公司已預約4月28日發布一季度報告
- []中復神鷹:2022年歸母凈利同比上漲117% 碳纖維龍頭持續受益國產替代
- []視焦點訊!常青科技:發行價估值偏低 高分子新材料特種單體領先企業或受追捧
- []天津津南城投完成發行8.8億元超短期融資券 利率7.45%
- []當前速讀:新疆交建:該項目不屬于公司主營業務范圍
- []快訊:首旅集團20億元中期票據將付息 利率4.30%
- []全球時訊:撤退性出血是什么顏色
- []【天天報資訊】股票20日均線怎么看
- []今日觀點!新航季開啟,國際機票不再“又貴又難買”了吧?
- []環球最新:五星級酒店高薪搶人:入職5天可預支工資,萬豪希爾頓服務員月薪可過萬
- []環球速遞!藍籌股是啥意思
- []全球今日訊!牛市熊市什么意思
- []全球球精選!海航航空集團夏航季計劃恢復、新開66條國際及地區航線
- []天天基金的錢取不出來怎么辦
- []三盛控股:由于2021年報及2022中報仍未刊發 將延遲刊發2022年報
- []主動式負載平衡器說明書的封面_主動式負載平衡器
- []當前關注:正海磁材:公司的發展戰略及經營計劃敬請關注公司將于3月28日披露的《2022年年度報告》相關內容
- []熱點在線丨成都興城人居15億元公司債將付息 利率4.27%
- []瑞豐銀行50億元可轉債收問詢函 要求說明不良貸款劃分是否真實謹慎
- []當前觀點:航天動力:公司產業技術源于航天液體火箭發動機的技術應用產業,產品主要涉及民用領域,軍品業務占比較低
- []央行全面降準0.25個百分點 預計釋放5500億元中長期資金
- []環球最資訊丨寶豐能源:2022年公司出口定制LLDPE9047H、PPHP500L兩個產品,填補了國內空白
- []天天新動態:深圳龍崗:平湖跨境電商產業園正式開工 計劃2025年建成交付
- []世界熱訊:東北證券:復盤美國的七次衰退 帶給了我們哪些啟示?
- []人工智能頻現牛股 基金經理欲罷不能
- []焦點資訊:籌碼集中度高好還是低好
- []觀速訊丨今年來平均回報超44% 游戲主題ETF“霸榜”
- []年報解讀 | 城投控股2022年營收下降7.88%至84.68億元,扣非歸母凈利上市以來首虧
- []全球最資訊丨恒源煤電:根據上市公司信息披露相關準則,公司會在定期報告中披露報告期末股東人數等信息
- []環球觀天下!碳酸鋰價格腰斬逼近成本線 產業鏈期盼需求回暖
- []環球今頭條!巴比食品:截止3月10日,公司股東總人數(戶)約為1萬
- []廣東:前2月社會消費品零售總額0.79萬億元 同比增長1.8%
- []【世界時快訊】龍洲股份:您的提問請查閱我們之前的
- []世界視訊!年報解讀| 綠城服務:2022年收入同比增長18.2% 權益股東應占溢利同比下降35.3%
- []世界今日報丨年報解讀 | SOHO中國2022年由虧轉盈,違約事件得到解決,將繼續出售若干商業物業
- []博舊改?佛山多個老舊農村自建房遭哄搶,溢價率達到驚人的434%!
- []環球微頭條丨社會工作者考試成績查詢時間(社會工作者考試成績查詢)
- []天天微速訊:邯鄲市望源房地產開發85%股權掛牌轉讓 底價1.1億元
- []全球熱門:明勤掛牌轉讓泉州振貿房產50%股權 底價6.5億元
- []焦點速遞!TD早報 | Expedia等平臺成為ChatGPT插件功能第一批啟用者;萬豪迎來亞太地區第1000家酒店開業里程碑
- []當前動態:潤滑劑是否會對身體造成傷害?能否長期用!使用前須知
- []焦點短訊!學平險貓抓狗咬能報銷多少錢,根據實際的產品而定
- []新華保險的康健華尊和康健華貴B的區別
- []全球即時看!珍酒李渡集團通過港交所聆訊 2022年收入585.59億元
- []當前頭條:車輛必買的4個險,車險購買方法
- []今日視點:香格里拉2022年收入14.62億美元 歸母綜合虧損1.59億美元
- []全球速看:保險公司一年存2萬存10年,一般是沒有問題的
- []世界熱點評!保險可以提前多久續保
- []今日最新!石器世界
- []瑞安建業2022年營收63.07億港元 歸母凈虧損2.32億港元
- []沃森生物:股份回購需要結合公司發展和市場情況,嚴格履行上市公司規范運作程序進行決策
- []全球最新:麗新發展中期收入24.67億港元 歸母凈虧損擴大至13.6億港元
- []短訊!丹寨縣黨建引領“五抓五不誤”抓實農業生產
- []復星旅文2022年收入137.78億元 歸母虧損縮窄至5.45億元
- []天天熱點!115元保險怎么買
- []今日熱聞!互惠保險怎么買
- []全球觀熱點:過渡性養老金是什么意思
- []養老一年交7000能領多少,交養老金的好處
- []每日時訊!行人被車撞死了應該賠償多少錢
- []訊息:個人交養老保險價格表,有以下2種
- []財信地產控股股東轉讓1.57億股上市公司股份 套現約9.2億元
- []焦點報道:個人保險買什么最好,分以下兩種情況
- []個人養老保險繳費明細,查詢方式有以下4種
- []公積金錯繳能退回嗎
- []全球百事通!人社部取消女干部和女工人,是真是假
- []阿特斯在科創板注冊生效:計劃募資40億元,比亞迪等為股東
- []實時:2022年補繳社保的最新政策,暫未發布
- []保險返點是什么意思怎么返點
- []保險一年交多少錢,視車型而定
- []環球熱資訊!商業險和三者險有啥區別
- []【世界熱聞】社保最多可以停幾個月,沒有具體的規定
- []世界消息!外高橋35億元定增申請獲上交所受理
- []全球看點:福星股份13.4億元定增事項收到深交所審核問詢函
- []世界播報:黃岡人力資源與社會保障局(黃岡人力資源與社會保障局)
- []復星集團宣布將在青島投資建設亞特蘭蒂斯文旅項目
- 互聯網應用接入QQ登錄時如何獲取codehttps?QQ互聯申請攻略
- 世界微速訊:學習web前端后發展前景怎么樣?薪資變化趨勢如何?
- 天天速遞!軟件測試活動中如何做好測試報告?軟件測試用例優秀例子
- 【速看料】如何在淘寶上挖掘關鍵詞?淘寶選關鍵詞的六種方法
- 全球新資訊:梅王王云山是不是中國著名畫家?王云山個人資料介紹?
- 碩思閃客精靈怎么導出flash(gif)動畫?flash游戲源文件疑難問題解答
- 江南水鄉有名的古鎮有哪些?江南六大古鎮資料介紹?
- 全球今熱點:數據驅動時代如何做數據分析?一次完整的數據分析流程是什么?
- 世界最資訊丨緬甸為什么叫撣邦?撣邦位于哪里?
- 當前消息!休閑娛樂體育項目有哪些?健身健美類休閑活動介紹?
- B站注冊資本增幅400%至5億 目前由陳睿全資持股
- 光源資本出任獨家財務顧問 沐曦集成電路10億元A輪融資宣告完成
- 巨輪智能2021年上半年營收11.24億元 期內研發費用投入增長19.05%
- 紅棗期貨尾盤拉升大漲近6% 目前紅棗市場總庫存約30萬噸
- 嘉銀金科發布2021年Q2財報 期內凈利潤達1.27億元同比增長208%
- 成都銀行2021上半年凈利33.89億元 期內實現營收同比增長17.27億元
- 汽車之家發布2021年第二季度業績 期內新能源汽車品牌收入增長238%
- 中信銀行上半年實現凈利潤290.31億元 期末不良貸款余額706.82億元
- 光伏概念掀起漲停潮交易價格創新高 全天成交額達1.29億元
- 上半年生物藥大增45% 關鍵財務指標好轉營收賬款持續下降
- 當前資訊!高送轉一般在幾月
- 環球精選!四上企業什么意思
- 美聯儲加息對a股的影響
- 視焦點訊!家鄉是我前進的動力,從非洲難民到NBA球員的加布里埃爾!
- 環球熱點評!MACD指標的優缺點
- 消息!滬股通增持股票意味著什么
- 世界熱頭條丨量比多少是最佳買入點
- 世界聚焦:神首集團是正規公司嗎
- 世界視點!10送10股是什么意思
- 頭條焦點:鄭州公積金新政:全面開展提取住房公積金按期付房租業務
- 雙方父母初次見面忌諱
- 中泰策略:如何把握創業板反彈的驅動與主線?
- 熱門看點:股票期權是什么意思
- 每日熱聞!兩大趨勢深刻影響MICE行業;在途商旅接入飛豬 | 一周商旅動態
- 今日看點:股票壓力位什么意思
- 同程旅行發布2022年財報 ;開始回血的航司為什么還要“隨心飛”? | 一周速覽
- 股票不能賣出怎么回事
- 退市的股票股民有賠償嗎
- 當前視點!【光與夜之戀同人】(陸沉)千年之戀⑥
- 全球即時:股東減持是什么意思
- 高凈值人群什么意思
- 微資訊!美股為何大跌
- 天天快消息!新股會破發嗎
- 股票一手是多少股
- 300開頭的是什么股票
- e招貸上征信嗎
- 【獨家】股本屬于什么科目
- 世界短訊!看股票哪個軟件好
- 每日熱聞!pdf通俗講是什么意思
- 微速訊:如何學會做生意賺錢_如何學會做生意
- 觀速訊丨私募大佬最新持倉!鄧曉峰大手筆押注資源行業 加倉這兩股!馮柳加倉恒順醋業
- 熱推薦:今日外國電影從小到大惡作劇(有一部外國電影講一對惡作劇情侶互相惡作劇想知道片名)
- 觀點:莫名我就喜歡你歌詞
- 【熱聞】必須有你的mp3
- 【世界速看料】外匯投資要樹立正確的短線操盤理念
- 焦點信息:深圳學區房市場時隔兩年又“熱”了:過戶量創近個5月新高,價格明顯回調
- 當前速遞!代替英語單詞怎么寫_代替英語
- 年報解讀④| 綠城服務:實現148.6億元營收,顯現高質量韌性發展
- 當前動態:募資60億!老牌組件龍頭加碼TOPCon電池等項目
- 光伏5.65GW!廣東發布今年重點項目清單
- 全球觀察:210組件累計出貨量超120GW,大尺寸產能全面破9成,210+N迎來強勁增長
- 拓斯達:1.如后續有明確的股權激勵實施計劃,公司將及時披露相關公告,請您關注公司相關動態
- realme 真我 11 Pro 5G / 11 Pro+ 5G 兩款手機通過TKDN認證
- 摩斯密碼怎么打漢字
- 【焦點熱聞】重大項目“跑起來” 經濟發展“熱起來”
- 天天播報:建行田國立:中國城鎮化仍有空間 房地產轉型需要長期資本支持
- 賭對了就一夜暴富?農村老舊自建房遭哄搶,溢價率驚人!原因只有兩個字…
- 焦點簡訊:罕見財報出錯!交易所出手:董事長等被通報批評
- 當前滾動:什么是現金股利
- 天天快播:創業板股票如何開通
- 股票怎么買入和賣出
- 今日精選:大額存單和理財哪個好
- 100萬的房子要交多少稅費
- 如何挑選好股票
- 萬科海外:2022年股東應占盈利約港幣2820萬元
- 【全球播資訊】廣東:1-2月房地產開發投資同比下降8.5% 商品房銷售面積下降0.2%
- 環球今日訊!牧原股份:下一步公司將不斷提高精細化管理水平,加強生產管理,進一步降低公司整體生產成本
- 首創城發:選舉劉永政為董事長
- 每日快報!時代天使2022年案例數微增:產品革新獲臨床認可,隱形矯治終端降價將替代更多固定矯治市場
- 今日關注:中國新城市:2022年實現收入5.91億元
- 環球熱推薦:股票跳空低開意味什么
- 天天熱文:股票創新低意味著什么
- 高安市屬于哪個省哪個市
- 世界今日報丨小羅:梅西是世界最佳,若他能回巴薩結束生涯就太好了
- 【環球快播報】688開頭的股票是什么板塊的
- 要聞速遞:樂事怎么了
- 深圳出臺住房公積金新規 購房者最高可多貸40%
- 當前關注:濮陽惠成:公司市場推廣穩步進行
- 【新要聞】恩格爾系數是什么意思
- 適合長期持有的股票推薦
- 天天資訊:農村戶口可以交靈活就業保險嗎
- 每日動態!xd的股票要不要賣
- 全球觀察:微軟市值是騰訊的幾倍
- 觀熱點:st退市會血本無歸嗎
- 世界看點:血壓什么時候測量比較準確
- 環球微資訊!借唄利息越來越高是怎么回事
- 【世界播資訊】生育津貼需要扣除工資嗎
- 環球熱議:剛需福音!廣州主城悄悄冒出個性價比新盤?!
- 糧食股票龍頭股有哪些
- 今日要聞!我想練歌有專門練歌軟件嗎
- 今頭條!智立方:公司持續關注相關技術發展及應用情況,目前暫未與Rokid發生業務關系
- 新資訊:業績領先或排名墊底 基金“押注式投資”加劇凈值波動
- 今日快看!2022年全國共有專任教師1880.36萬
- 焦點關注:國金證券:有望成核心主線 把握中小盤風格基金機遇
- 當前快訊:公募行業“新陳代謝”提速:又有基金發行失敗 年內66只基金清盤
- 首批72只公募基金披露2022年年度報告 知名基金經理4000字長文闡述投資策略
- CFTC商品持倉解讀:投機者增加黃金凈多頭頭寸
- 世界球精選!濱江服務:2022年實現收入19.82億元
- 全球觀點:西測測試:尊敬的投資公司的民機業務,主要是為各主機單位或者設備廠家提供適航檢測項目
- 股權爭奪戰有望落幕,中炬高新仍有虧損困局待解
- 德信服務2022年收入9.59億元 利潤同比增加13.6%
- 環球精選!德信服務:2022年總收入為人民幣9.58億元
- 全球今亮點!綠城服務:2022年實現收入148.56億元
- 全球訊息:建業新生活:2022年歸屬股東凈利潤5.62億元
- 赤芍功效作用_赤芍藥湯
- 地震、水災、化工廠爆炸……災難來臨怎么辦?江蘇災難醫學發展正穩步向前
- 天天信息:萊蒙國際預計2022年盈轉虧 錄得虧損約1.8億港元
- 當前頭條:眾安集團:2022年歸屬股東凈利潤1.86億元 同比增長約155.4%
- 【天天播資訊】明發集團預期2022年歸母利潤由18.8億降至0.3億-0.6億元
- 世界觀察:榮盛發展增發不超30億元股票申請收問詢函 稱將逐項落實并回復