魏 群,張春英
(華北理工大學(xué) 理學(xué)院,河北 唐山 063210)
信息檢索是智能專(zhuān)業(yè)的前沿課程,講授搜索引擎的核心理論和自然語(yǔ)言處理內(nèi)容,包括各種索引的技術(shù)和算法、倒排索引的壓縮技術(shù)、詞項(xiàng)權(quán)重計(jì)算、信息檢索的評(píng)價(jià)、文檔的聚類(lèi)技術(shù),介紹學(xué)科前沿技術(shù)、理論、發(fā)展趨勢(shì)和研究熱點(diǎn),重點(diǎn)突出課程的綜合性與知識(shí)的前沿性。信息檢索屬于較新課程,目前國(guó)內(nèi)高校開(kāi)設(shè)情況不一,不論教學(xué)模式、教學(xué)內(nèi)容、教學(xué)課件、實(shí)驗(yàn)資源等都不一致,尚處于探索階段,規(guī)范化課程和配套的實(shí)驗(yàn)比較缺乏,課程設(shè)計(jì)內(nèi)容更未涉及,迫切需要進(jìn)行相關(guān)課程與實(shí)踐方面的研究。
信息檢索系統(tǒng)介紹了智能專(zhuān)業(yè)信息檢索的基礎(chǔ)理論及各種新的處理技術(shù),主要介紹了智能信息檢索技術(shù)的基本概念、原理、分析方法以及智能信息檢索的原理性方法[1],是智能科學(xué)與技術(shù)專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)必修課程,共64 學(xué)時(shí)。授課結(jié)合理論研究和教學(xué)實(shí)踐,其中授課安排52 課時(shí),開(kāi)發(fā)實(shí)驗(yàn)12 學(xué)時(shí),另外安排課程設(shè)計(jì)20 學(xué)時(shí)。
課程教學(xué)內(nèi)容主要包括布爾檢索、詞項(xiàng)詞典及倒排記錄表、詞典及容錯(cuò)式檢索、索引構(gòu)建、索引壓縮、文檔評(píng)分、詞項(xiàng)權(quán)重計(jì)算及向量空間模型、一個(gè)完整搜索系統(tǒng)中的評(píng)分計(jì)算、信息檢索的評(píng)價(jià)、相關(guān)反饋及查詢(xún)擴(kuò)展、XML 檢索、概率檢索模型、基于語(yǔ)言建模的信息檢索模型、文本分類(lèi)及樸素貝葉斯方法、扁平聚類(lèi)、Web 搜索基礎(chǔ)、Web 采集及索引等[2]。
信息檢索課程具有較深的學(xué)習(xí)難度和廣度,無(wú)論對(duì)教師還是學(xué)生都提出了更高的要求和挑戰(zhàn)[3],在教學(xué)過(guò)程中有針對(duì)性地進(jìn)行了如下幾點(diǎn)改革。
1.2.1 夯實(shí)概率統(tǒng)計(jì)、線(xiàn)性代數(shù)和數(shù)據(jù)結(jié)構(gòu)理論基礎(chǔ),做好前期準(zhǔn)備
概率統(tǒng)計(jì)、線(xiàn)性代數(shù)和數(shù)據(jù)結(jié)構(gòu)是信息檢索課程的基礎(chǔ),尤其是概率統(tǒng)計(jì)對(duì)課程的掌握具有至關(guān)重要的作用,這些課程也是信息檢索課程的先導(dǎo)課程,但對(duì)學(xué)生而言必須溫故而知新,因此需要用一些課時(shí)復(fù)習(xí)和擴(kuò)展概率統(tǒng)計(jì)、線(xiàn)性代數(shù)和數(shù)據(jù)結(jié)構(gòu)的相關(guān)內(nèi)容[4],不能急功近利。
1.2.2 注重算法分析,結(jié)合具體的信息檢索實(shí)例
檢索算法的設(shè)計(jì)與分析是信息檢索課程的核心,貫穿授課內(nèi)容的始終,每個(gè)算法的講授需要清晰的流程。首先是算法產(chǎn)生的原因,即它能夠解決的問(wèn)題、基本原理和思想;然后重點(diǎn)講述算法構(gòu)成的四要素:輸入、輸出、數(shù)據(jù)結(jié)構(gòu)和處理過(guò)程;每一個(gè)算法最后都必須結(jié)合具體的實(shí)例來(lái)解析,否則學(xué)生很難理解和掌握。例如在文本分類(lèi)中,有多項(xiàng)式樸素貝葉斯方法和貝努利方法,這兩種方法較為復(fù)雜且容易混淆,必須針對(duì)一個(gè)訓(xùn)練集和測(cè)試集,采用這兩種方法分別進(jìn)行文本分類(lèi)的實(shí)際測(cè)試。通過(guò)這樣的實(shí)例分析,才能使學(xué)生更好地區(qū)分并掌握這兩種算法。
1.2.3 多種檢索算法進(jìn)行對(duì)比分析和交叉應(yīng)用,提高學(xué)生的實(shí)際應(yīng)用能力
信息檢索課程研究各種檢索算法,每種檢索算法各有特色和應(yīng)用領(lǐng)域,需要注意對(duì)比分析各自的優(yōu)缺點(diǎn)及應(yīng)用范圍,這樣能夠培養(yǎng)學(xué)生的實(shí)際應(yīng)用能力[5]。例如,信息檢索模型包括三種:布爾模型、向量空間模型、概率檢索模型,在檢索模型中三種模型既可以交叉運(yùn)用,又要注意分析類(lèi)比它們的異同,并在后面的課程設(shè)計(jì)中靈活應(yīng)用。
1.2.4 啟發(fā)和鼓勵(lì)學(xué)生進(jìn)行探索和研究,提高其創(chuàng)新能力
信息檢索課程內(nèi)容不同于其他傳統(tǒng)課程,涉及的技術(shù)和算法很新,有的尚未成熟,學(xué)生具有強(qiáng)烈的好奇心和求知欲,在授課過(guò)程中可以以此啟發(fā)和鼓勵(lì)學(xué)生進(jìn)行探索和研究。例如,在講到相關(guān)反饋及查詢(xún)擴(kuò)展的內(nèi)容時(shí),以圖像搜索為例,基于圖像搜索的復(fù)雜性,需要結(jié)合用戶(hù)的反饋計(jì)算出一個(gè)更好的查詢(xún)結(jié)果,這顯然增加了用戶(hù)的負(fù)擔(dān),把這個(gè)問(wèn)題交給學(xué)生討論。有的學(xué)生提出了結(jié)合深度學(xué)習(xí)提高圖像辨識(shí)度的方法,很有創(chuàng)新性,并在后面的課程設(shè)計(jì)中實(shí)現(xiàn)了這個(gè)想法。
實(shí)驗(yàn)環(huán)節(jié)應(yīng)突出對(duì)學(xué)生動(dòng)手解決實(shí)際問(wèn)題能力的培養(yǎng),要求實(shí)驗(yàn)題目的設(shè)置既要兼顧課程的獨(dú)特性又要考慮課程間的相關(guān)性。一個(gè)實(shí)驗(yàn)流程走下來(lái),學(xué)生不但能溫故,而且可知新,對(duì)開(kāi)發(fā)一個(gè)綜合性的智能信息檢索系統(tǒng)的方法將有更為深入的認(rèn)識(shí)和掌握[6]。
實(shí)驗(yàn)開(kāi)發(fā)設(shè)置在信息檢索課程中,對(duì)課程中的一些重要算法,需要通過(guò)相關(guān)實(shí)驗(yàn)實(shí)現(xiàn)這些算法,從而有助于教學(xué)內(nèi)容的理解和掌握,并為后面的課程設(shè)計(jì)打下了良好的基礎(chǔ)。開(kāi)發(fā)相關(guān)實(shí)驗(yàn)共12 學(xué)時(shí),采用Python 編程語(yǔ)言,具體安排如下。
(1)實(shí)驗(yàn)一:臨近搜索中兩個(gè)倒排記錄表的合并算法實(shí)現(xiàn)(2 學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握臨近搜索中兩個(gè)倒排記錄表的合并算法。
實(shí)驗(yàn)內(nèi)容:實(shí)現(xiàn)尋找兩個(gè)詞項(xiàng)在K 個(gè)詞之內(nèi)出現(xiàn)的可能性的算法。
(2)實(shí)驗(yàn)二:基于塊的排序索引算法實(shí)現(xiàn)(2學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握基于塊的排序索引算法,該算法將每個(gè)塊的倒排索引存入文件f1,f2,…fn 中,然后合并成文件fmerged。
實(shí)驗(yàn)內(nèi)容:編程實(shí)現(xiàn)將待合并的倒排記錄表合并成一個(gè)倒排記錄表文件。
(3)實(shí)驗(yàn)三:索引壓縮γ編碼的算法實(shí)現(xiàn)(2學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握索引壓縮的γ 編碼算法。
實(shí)驗(yàn)內(nèi)容:檢索系統(tǒng)中的倒排記錄表所占空間巨大,因此索引壓縮非常關(guān)鍵,γ 編碼能在更細(xì)的粒度上進(jìn)行編碼長(zhǎng)度的自適應(yīng)調(diào)整。本實(shí)驗(yàn)通過(guò)編程實(shí)現(xiàn)這個(gè)γ 編碼的過(guò)程。
(4)實(shí)驗(yàn)四:一個(gè)向量空間評(píng)分的快速算法實(shí)現(xiàn)(2 學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握信息檢索中向量空間評(píng)分的快速算法實(shí)現(xiàn)。
實(shí)驗(yàn)內(nèi)容:對(duì)搜索引擎來(lái)說(shuō),對(duì)文檔進(jìn)行評(píng)分和排序非常重要,本算法的目標(biāo)是實(shí)現(xiàn)對(duì)文檔的快速評(píng)分和排序,方法是簡(jiǎn)化余弦相似度中的權(quán)重。本實(shí)驗(yàn)需要編程實(shí)現(xiàn)這個(gè)算法。
(5)實(shí)驗(yàn)五:向量相似度的算法實(shí)現(xiàn)(2 學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握利用向量相似度計(jì)算文檔相似度得分的方法。
實(shí)驗(yàn)內(nèi)容:一個(gè)典型的檢索系統(tǒng)包括一批文檔組成的文檔集,每篇文檔表示成一個(gè)向量,本算法將實(shí)現(xiàn)在給定查詢(xún)的情況下,如何根據(jù)向量相似度來(lái)選擇得分最高的K 篇文檔。
(6)實(shí)驗(yàn)六:基于貝努利模型的NB 算法的訓(xùn)練及分類(lèi)過(guò)程實(shí)現(xiàn)(2 學(xué)時(shí))。
實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)實(shí)驗(yàn),使學(xué)生掌握基于貝努利模型的NB 文本分類(lèi)方法。
實(shí)驗(yàn)內(nèi)容:文本分類(lèi)對(duì)檢索系統(tǒng)來(lái)說(shuō)至關(guān)重要,基于貝努利模型的NB 文本分類(lèi)算法是有監(jiān)督的學(xué)習(xí)方法,其優(yōu)勢(shì)是速度快、精確率很高。本實(shí)驗(yàn)需要編程實(shí)現(xiàn)這個(gè)算法。
課程設(shè)計(jì)旨在鞏固學(xué)生在課堂上掌握的基礎(chǔ)知識(shí),并在實(shí)際應(yīng)用中鍛煉實(shí)際應(yīng)用能力[7]。根據(jù)信息檢索這門(mén)課程的內(nèi)容和特點(diǎn),我們制定了如下的課程設(shè)計(jì)方案。
利用所學(xué)知識(shí)并進(jìn)行擴(kuò)展,設(shè)計(jì)一個(gè)搜索引擎。采用Python 程序設(shè)計(jì)語(yǔ)言,根據(jù)已有的語(yǔ)料庫(kù)進(jìn)行分詞,再去掉停用詞和標(biāo)點(diǎn)符號(hào)等,生成文檔的詞典,接著根據(jù)詞典和文檔內(nèi)容生成詞項(xiàng)的倒排記錄表,然后根據(jù)搜索關(guān)鍵字,計(jì)算文檔的余弦相似度,最后列出按相似度排名的搜索結(jié)果。
經(jīng)過(guò)課程設(shè)計(jì)實(shí)踐,證明上述課程內(nèi)容和實(shí)驗(yàn)計(jì)劃的設(shè)置教學(xué)效果顯著。學(xué)生雖然底子較薄,信息檢索課程內(nèi)容較深,但在夯實(shí)基礎(chǔ)知識(shí)的同時(shí),學(xué)生的創(chuàng)造性得到了充分的拓展和激發(fā),取得了非常好的效果。學(xué)生設(shè)計(jì)搜索引擎,集思廣益,有不同的構(gòu)想。比如有的基于語(yǔ)料庫(kù)進(jìn)行檢索;有的先根據(jù)文檔提取主題,再進(jìn)行檢索;有的先爬蟲(chóng)相關(guān)內(nèi)容,再進(jìn)行檢索;有的是對(duì)圖片進(jìn)行檢索,先基于深度學(xué)習(xí)找出圖片相關(guān)特征,再進(jìn)行檢索。實(shí)踐證明,這一套課程教學(xué)、實(shí)驗(yàn)體系和課程設(shè)計(jì)三者結(jié)合的立體化體系開(kāi)發(fā)是合理和高效的,對(duì)智能專(zhuān)業(yè)信息檢索課程的建設(shè)具有很大的促進(jìn)作用。
3.3.1 設(shè)計(jì)思想
選取布爾模型和向量空間模型構(gòu)建搜索引擎——文本檢索模型。對(duì)于已知的文檔集,為每篇文檔進(jìn)行編碼,生成docID;使用分詞工具對(duì)每篇文檔進(jìn)行分詞處理,去除停用詞和標(biāo)點(diǎn)符號(hào),構(gòu)建每篇文檔的詞典;構(gòu)建文檔集詞典中的所有詞項(xiàng)的倒排記錄表。對(duì)于用戶(hù)查詢(xún),同樣使用分詞工具對(duì)查詢(xún)進(jìn)行分詞處理,并去除停用詞和標(biāo)點(diǎn)符號(hào),使用倒排記錄表選出相關(guān)文檔,利用余弦相似度方法對(duì)相關(guān)文檔評(píng)分,根據(jù)評(píng)分結(jié)果進(jìn)行文檔相關(guān)性排名,名次越靠前,則表明文檔相關(guān)性越高。
3.3.2 搜索引擎程序的執(zhí)行結(jié)果
輸入:查詢(xún)語(yǔ)句
輸出:關(guān)鍵詞;相關(guān)文檔;相關(guān)文檔的排名和余弦相似度
執(zhí)行結(jié)果見(jiàn)圖1。
從上面搜索引擎程序的執(zhí)行結(jié)果可以看出,兩次查詢(xún)排名第一的文檔與期望返回的文檔均一致,這證明了設(shè)計(jì)的搜索引擎達(dá)到了預(yù)期的目標(biāo),也驗(yàn)證了采用布爾和向量空間模型集合的檢索模型具有可行性。
3.3.3 搜索引擎程序的流程圖
搜索引擎程序的流程圖用圖形的形式表示程序的設(shè)計(jì)思路和執(zhí)行過(guò)程,見(jiàn)圖2。
智能科學(xué)與技術(shù)專(zhuān)業(yè)正迎來(lái)發(fā)展的黃金期,信息檢索作為主干專(zhuān)業(yè)課程,對(duì)其教學(xué)模式的研究和探索,重要性不言而喻。今后隨著時(shí)代的發(fā)展和新技術(shù)的出現(xiàn),還要不斷完善,尤其是加快教材及其配套實(shí)驗(yàn)、習(xí)題的建設(shè),這樣才能更好、更全面地提高教學(xué)效果。
圖1 搜索引擎的執(zhí)行結(jié)果
圖2 搜索引擎程序的流程圖