在搜尋技術中TF-IDF是個很基礎而重要的統計方式。什麼是TF-IDF呢?而又為什麼需要TF-IDF? TF-IDF的全名是Term Frequency - I...
語言是由文字組合出來的。作為一個人類,我們能夠將一篇文章分割成好幾個部分來閱讀和理解,為了讓電腦理解一篇文章,它也必須能夠這麼做。 第一步就在於文字的預處理和正...
什麼是資訊檢索呢?大家最清楚的例子莫過於網路搜尋引擎了。當你在Google Search上輸入一段你想查詢的字,作為一個使用者通常會跟搜尋引擎有以下的互動: (...
在Day 6的文章中,我們說到在進行搜尋時,我們首要關心的是查詢的詞與文件間的相似度。我用一個例子作為開端:假如我們有三個檔案,分別叫做doc1, doc2以及...
1. 預處理 今天的實作我們會使用華爾街日報的的文件集,我有預先將文件集切割成只有兩萬份文件的集合,這份文件集能夠從以下的code中下載。在今天的實作中,我們會...
日常生活中,當我們在用搜尋引擎查詢時應該都經常受一個功能的輔助: 預測查詢,或稱為完成查詢,顧名思義,這功能用於輔助使用者完成他們的查詢。 完成查詢除了能輔助...
昨天說到使用三種統計方法來評估搜尋引擎,分別是準確率、精確率以及召回率。今天我們要接著說到幾個搜尋引擎的衡量指標。 第一個方法稱為Precision@k,它衡量...
今天我們要介紹用來提升查詢效率的WAND演算法。 在這個演算法中我們會為每一個字詞記錄一個數值,這個數值稱為maximum contribution。一個字詞的...
如同我們前幾天所寫的倒排索引,多數搜尋引擎為了查詢的效率,會將索引儲存在記憶體當中。如此,需要足夠的記憶體才能夠將所有索引儲存起來。如果我們能夠從索引的資料型態...
今天我們要來實作倒排索引的空間壓縮。這裡我們會利用昨天文中介紹的VByte壓縮法壓縮倒排索引中的文件ID doc_ids 以及文件-詞頻列表 doc_term_...
今明兩天要來說說,我們可以如何判斷和評估一個搜尋引擎的效果。 先從三個在統計學和機器學習領域基礎而重要的評估方式說起:準確率(Accuracy)、精確率(Pre...
這幾天我們都在「靜態」的情況下建構倒排索引,文集中的文件數不變、空間使用不會有太大變化,也沒有及時新增或修改。即便如此,要建構這樣的靜態索引還是可能會出現一些難...
搜尋的速度是影響使用者對一個搜尋引擎體驗的一個因素,對於活在2019的你來說,很難想像在Google Search時你要等兩秒(不包含網路封包傳送的時間)才能等...