




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、昆明理工大學(xué)信息工程與自動化學(xué)院學(xué)生實驗報告( 20142015學(xué)年第 1學(xué)期)課程名稱:信息檢索與搜索引擎技術(shù) 開課實驗室:信自樓445 2014 年12月 23日年級、專業(yè)、班計科111學(xué)號2姓名成績實驗項目名稱向量空間模型指導(dǎo)教師李衛(wèi)疆教師評語該同學(xué)是否了解實驗原理:A.了解B.基本了解C.不了解該同學(xué)的實驗?zāi)芰Γ篈.強 B.中等 C.差 該同學(xué)的實驗是否達到要求:A.達到B.基本達到C.未達到實驗報告是否規(guī)范:A.規(guī)范B.基本規(guī)范C.不規(guī)范實驗過程是否詳細記錄:A.詳細B.一般 C.沒有 教師簽名: 年 月 日一、 上機目的及內(nèi)容:給定文檔語料: d1: 北京安立文高新技術(shù)公司d2:
2、新一代的網(wǎng)絡(luò)訪問技術(shù)d3: 北京衛(wèi)星網(wǎng)絡(luò)有限公司d4: 是最先進的總線技術(shù)。d5: 北京升平衛(wèi)星技術(shù)有限公司的新技術(shù)有。設(shè)計一個針對這些文檔的信息檢索系統(tǒng)。具體要求是:1) 給出系統(tǒng)的有效詞匯集合(說明取舍原因)。2) 寫出d1和d2在VSM中的表示(使用tf*idf,寫出各項的數(shù)字表達式,具體數(shù)值不必實際計算出來)。3) 畫出系統(tǒng)的倒排文件示意圖。4) 按照向量夾角的余弦計算公式,給出針對查詢“技術(shù)的公司”的前3個反饋結(jié)果。二、 實驗原理給定文檔語料: d1: 北京安立文高新技術(shù)公司 d2: 新一代的網(wǎng)絡(luò)訪問技術(shù)d3: 北京衛(wèi)星網(wǎng)絡(luò)有限公司 d4: 是最先進的總線技術(shù)。d5: 北京升平衛(wèi)星技
3、術(shù)有限公司的新技術(shù)有。設(shè)計一個針對這些文檔的信息檢索系統(tǒng)。具體要求是:1) 給出系統(tǒng)的有效詞匯集合(說明取舍原因)。北京、安、立、文、高新、技術(shù)、公司、新、網(wǎng)絡(luò)、訪問、衛(wèi)星、有限、先進、總線、升、平的、是、最、有,這些詞作為停用詞不能加入系統(tǒng)的有效集合一、代,去除后并不影響原來句子語義的表達也不能算作系統(tǒng)的有效集合。2) 寫出d1和d2在VSM中的表示(使用tf*idf,寫出各項的數(shù)字表達式,具體數(shù)值不必實際計算出來)。 得到的矩陣:Termd1d2d3d4d5Term出現(xiàn)次數(shù)北京101013安100001立100001文100001高新100001技術(shù)110013公司101013新01001
4、2網(wǎng)絡(luò)011002訪問010001衛(wèi)星001012有限001012先進000101總線000101升000011平000011TFIDF=cikj=1tcijlogNnk說明:TF:表示詞項在該文檔或者查詢詞中出現(xiàn)的頻度。即該詞項出現(xiàn)次數(shù)除以該文檔的長度(所有詞的個數(shù))cik:表示詞項k在Di中的出現(xiàn)次數(shù)。j=1tcij:表示該文檔的長度(所有詞的個數(shù))IDF:表示詞項在文檔集合中的重要程度。一個詞項出現(xiàn)的文檔數(shù)越多,說明該詞項的區(qū)分度越差,其在文檔集合中的重要性就越低。N:表示集合中的文檔數(shù);nk:表示出現(xiàn)詞項k的文檔數(shù)。d1中各詞項的數(shù)字表達式“北京”的TFIDF=17log53“安”的T
5、FIDF=17log51“立”的TFIDF=17log51“文”的TFIDF=17log51“高新”的TFIDF=17log51“技術(shù)”的TFIDF=17log53“公司”的TFIDF=17log53d2中各詞項的數(shù)字表達式:“新”的TFIDF=17log52“網(wǎng)絡(luò)”的TFIDF=17log52“訪問”的TFIDF=17log51“技術(shù)”的TFIDF=17log533) 畫出系統(tǒng)的倒排文件示意圖。 4) 按照向量夾角的余弦計算公式,給出針對查詢“技術(shù)的公司”的前3個反饋結(jié)果。該部分由代碼實現(xiàn)。三、 實驗方法、步驟1 建立Java項目,2 建立DocumentStruct.java類文件并編輯3
6、 建立TextVector.java類文件并編輯,如圖4-1,圖4-2所示圖4-1圖4-24 建立TF.java類文件并編輯,如圖圖4-7所示圖4-45 建立IDF.java類文件并編輯,如圖圖4-5所示圖4-56 建立CaculateSim.java類文件并編輯,如圖4-6所示圖4-67 建立MainApp.java類文件并編輯,圖4-7所示圖4-78 完成后的項目文件夾如圖4-8所示圖4-89 運行結(jié)果如圖4-9所示-13-1. DocumentStruct.java代碼:packageacm.model;public class DocumentStruct publicDocument
7、Struct()this.documentID = 0;this.documentSimValue = 0;this.documentContent = None;this.documentName = None;publicDocumentStruct(int ID, double sim, String name, String content)this.documentID = ID;this.documentSimValue = sim;this.documentName = name;this.documentContent = content;public String getDo
8、cumentContent() returndocumentContent;public void setDocumentContent(String documentContent) this.documentContent = documentContent;public String getDocumentName() returndocumentName;public void setDocumentName(String documentName) this.documentName = documentName;public double getDocumentSimValue()
9、 returndocumentSimValue;public void setDocumentSimValue(double documentSimValue) this.documentSimValue = documentSimValue;publicintgetDocumentID() returndocumentID;public void setDocumentID(intdocumentID) this.documentID = documentID;publicDocumentStruct sortDocBySim(DocumentStruct docList)DocumentS
10、truct temp;for(inti=0; idocList.length-1; i+)for(int j=i; jdocList.length-1; j+)if(docListi.getDocumentSimValue() docListj.getDocumentSimValue() )temp = docListi;docListi = docListj;docListj = temp;returndocList;private String documentName;private String documentContent;private double documentSimVal
11、ue;privateintdocumentID;2. TextVector.java代碼:packageacm.model;public class TextVector publicTextVector(int dimension, int termCount, intdocumentTermCount, intdocumentCount, int documentContainTermCount)vectorWeight = new doubledimension;for(inti=0; idimension; i+)vectorWeighti = caculateWeight(termC
12、ounti, documentTermCount, documentCount, documentContainTermCounti);public double caculateWeight(inttermCount, intdocumentTermCount, intdocumentCount, intdocumentContainTermCount)TF termTF = new TF(termCount, documentTermCount);IDF termIDF = new IDF(documentCount, documentContainTermCount);termTF.ca
13、culateTF();termIDF.caculateIDF();return(termTF.getTf()*termIDF.getIdf();public double getVectorWeight() returnvectorWeight;public void setVectorWeight(double vectorWeight) this.vectorWeight = vectorWeight;private double vectorWeight;3. TF.java代碼packageacm.model;public class TF public TF()tf = 0.0;te
14、rmCount = 0;termInDocumentCount = 0;public TF(inttermCount, intdocumentTermCount)this.tf = 0.0;this.termCount = termCount;this.termInDocumentCount = documentTermCount;public void caculateTF()if(termInDocumentCount = 0)System.out.println(請先設(shè)置文檔總數(shù)!);return;this.tf = (double)termCount / (double)termInD
15、ocumentCount;public double getTf() returntf;publicintgetTermCount() returntermCount;public void setTermCount(inttermCount) this.termCount = termCount;publicintgetTermInDocumentCount() returntermInDocumentCount;public void setTermInDocumentCount(inttermInDocumentCount) this.termInDocumentCount = term
16、InDocumentCount;private double tf;privateinttermCount;privateinttermInDocumentCount;4. IDF.java代碼packageacm.model;public class IDF public IDF() idf = 0.0;documentContainTermCount = 0;documentCount = 0;public IDF(intdocumentCount, intdocumentContainTermCount)idf = 0.0;this.documentCount = documentCou
17、nt;this.documentContainTermCount = documentContainTermCount;publicintgetDocumentCount() returndocumentCount;public void setDocumentCount(intdocumentCount) this.documentCount = documentCount;publicintgetDocumentContainTermCount() returndocumentContainTermCount;public void setDocumentContainTermCount(
18、intdocumentContainTermCount) this.documentContainTermCount = documentContainTermCount;public double getIdf() returnidf;public void caculateIDF()if(documentContainTermCount = 0)System.out.println(請設(shè)置文檔的長度(所有詞的個數(shù))!);return;this.idf = Math.log10(double)this.documentCount / (double)this.documentContainT
19、ermCount);private double idf;privateintdocumentCount;privateintdocumentContainTermCount;5. CaculateSim.java代碼packageacm.model;public class CaculateSim publicCaculateSim(TextVector vector1, TextVector vector2)doublesimDividend=0.0, simDivider=0.0;double tempVector1=0.0, tempVector2=0.0;for(inti=0; iv
20、ector1.getVectorWeight().length; i+)simDividend += vector1.getVectorWeight()i * vector2.getVectorWeight()i;for(inti=0; ivector1.getVectorWeight().length; i+)tempVector1 += Math.pow(vector1.getVectorWeight()i, 2.0);tempVector2 += Math.pow(vector2.getVectorWeight()i, 2.0);simDivider = Math.sqrt(tempVe
21、ctor1*tempVector2);this.sim = simDividend / simDivider;public double getSim() returnsim;private double sim;6. MainApp.java代碼packageacm.model;public class MainApp public static void main(String args) intTermCount = 1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0, 1,0,0,0,0,0,1,0,1,0,
22、1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, 1,0,0,0,0,1,1,1,0,0,1,1,0,0,1,1, 0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0;intdocumentTermCount = 7, 7, 5, 6, 11, 3;intdocumentContainTermCount = 3,1,1,1,1,4,4,2,2,1,2,2,1,1,1,1;DocumentStruct docList = new DocumentStruct6;String documentContent = 北京安立文高新技術(shù)公司,新一代的網(wǎng)絡(luò)訪問技術(shù),北京衛(wèi)星網(wǎng)絡(luò)有限公司,是最先進的總線技術(shù)。,北京升平衛(wèi)星技術(shù)有限公司的新技術(shù)有。,技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 Meeting new people Lesson 5(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版(2024)英語三年級下冊
- 2 我學(xué)習我快樂 教學(xué)設(shè)計-2024-2025學(xué)年道德與法治三年級上冊統(tǒng)編版
- 8安全記心上 第一課時 平安出行(教學(xué)設(shè)計)-部編版道德與法治三年級上冊
- 股份合同范本
- 會所餐飲合同范本
- 菜地整治合同范本
- 出包合同范本
- 入股服裝合同范本
- 8《小心火災(zāi)》教學(xué)設(shè)計-2024-2025學(xué)年三年級上冊綜合實踐活動魯科版
- 紡織合同范本
- 學(xué)前兒童保育學(xué)(學(xué)前教育專業(yè))全套教學(xué)課件
- 畜牧養(yǎng)殖設(shè)備(共73張PPT)
- 消防安全每月防火檢查記錄
- 論文寫作與學(xué)術(shù)規(guī)范 課程教學(xué)大綱
- DB32/T 4443-2023 罐區(qū)內(nèi)在役危險化學(xué)品(常低壓)儲罐管理規(guī)范
- GB/T 678-2023化學(xué)試劑乙醇(無水乙醇)
- 新能源汽車電池石墨類負極材料一體化項目環(huán)境影響評價報告書
- 高中英語-what's in a name教學(xué)課件設(shè)計
- 小學(xué)家長接送學(xué)生協(xié)議書
- 小兒腹瀉病診療規(guī)范
- IT服務(wù)連續(xù)性實現(xiàn)指南
評論
0/150
提交評論