自然語言處理是一門結合了人工智慧及語言學的學科。在墨爾本大學攻讀碩士的第一年,我接觸到了自然語言處理這個學門,從此愛上了它,之後的研究也因此朝這方向走下去。這一次系列文的主要對象是給不熟悉人工智慧、機器學習等領域,卻抱有一探究竟之念頭的朋友們。在這次系列文的前方,我悄悄加入了「深入淺出」等字,意思是我不打算在文中鑽進機器學習、神經網路之應用,畢竟過去就曾有許多作者寫過像Hidden Markov Model, RNN, LSTM, …等眾多可以應用在自然語言處理的技術,若有需要我會在文中提到或引用這些文章讓大家參考,盡量以不重複的主題來書寫這個系列文。
如同我們前幾天所寫的倒排索引,多數搜尋引擎為了查詢的效率,會將索引儲存在記憶體當中。如此,需要足夠的記憶體才能夠將所有索引儲存起來。如果我們能夠從索引的資料型態...
今天我們要來實作倒排索引的空間壓縮。這裡我們會利用昨天文中介紹的VByte壓縮法壓縮倒排索引中的文件ID doc_ids 以及文件-詞頻列表 doc_term_...
這幾天我們都在「靜態」的情況下建構倒排索引,文集中的文件數不變、空間使用不會有太大變化,也沒有及時新增或修改。即便如此,要建構這樣的靜態索引還是可能會出現一些難...
搜尋的速度是影響使用者對一個搜尋引擎體驗的一個因素,對於活在2019的你來說,很難想像在Google Search時你要等兩秒(不包含網路封包傳送的時間)才能等...
今天我們要介紹用來提升查詢效率的WAND演算法。 在這個演算法中我們會為每一個字詞記錄一個數值,這個數值稱為maximum contribution。一個字詞的...
日常生活中,當我們在用搜尋引擎查詢時應該都經常受一個功能的輔助: 預測查詢,或稱為完成查詢,顧名思義,這功能用於輔助使用者完成他們的查詢。 完成查詢除了能輔助...
今明兩天要來說說,我們可以如何判斷和評估一個搜尋引擎的效果。 先從三個在統計學和機器學習領域基礎而重要的評估方式說起:準確率(Accuracy)、精確率(Pre...
昨天說到使用三種統計方法來評估搜尋引擎,分別是準確率、精確率以及召回率。今天我們要接著說到幾個搜尋引擎的衡量指標。 第一個方法稱為Precision@k,它衡量...
過去12天都在講搜尋引擎技術和資訊檢索,這幾天要拉回來繼續介紹自然語言處理界的常見任務了! 命名實體辨識(Named Entity Recognition),顧...
The president of the United States is Donald Trump. (美國總統是川普。) 資訊抽取技術在看到這句話時,會...