欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    信息检索与搜索引擎技术实验向量空间模型(9页).doc

    • 资源ID:39559624       资源大小:323KB        全文页数:9页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    信息检索与搜索引擎技术实验向量空间模型(9页).doc

    -信息检索与搜索引擎技术实验向量空间模型-第 9 页昆明理工大学信息工程与自动化学院学生实验报告( 20142015学年第 1学期)课程名称:信息检索与搜索引擎技术 开课实验室:信自楼445 2014 年12月 23日年级、专业、班计科111学号201110405138姓名成绩实验项目名称向量空间模型指导教师李卫疆教师评语该同学是否了解实验原理:A.了解B.基本了解C.不了解该同学的实验能力:A.强 B.中等 C.差 该同学的实验是否达到要求:A.达到B.基本达到C.未达到实验报告是否规范:A.规范B.基本规范C.不规范实验过程是否详细记录:A.详细B.一般 C.没有 教师签名: 年 月 日一、 上机目的及内容:给定文档语料: d1: 北京安立文高新技术公司d2: 新一代的网络访问技术d3: 北京卫星网络有限公司d4: 是最先进的总线技术。d5: 北京升平卫星技术有限公司的新技术有。设计一个针对这些文档的信息检索系统。具体要求是:1) 给出系统的有效词汇集合(说明取舍原因)。2) 写出d1和d2在VSM中的表示(使用tf*idf,写出各项的数字表达式,具体数值不必实际计算出来)。3) 画出系统的倒排文件示意图。4) 按照向量夹角的余弦计算公式,给出针对查询“技术的公司”的前3个反馈结果。二、 实验原理给定文档语料: d1: 北京安立文高新技术公司 d2: 新一代的网络访问技术d3: 北京卫星网络有限公司 d4: 是最先进的总线技术。d5: 北京升平卫星技术有限公司的新技术有。设计一个针对这些文档的信息检索系统。具体要求是:1) 给出系统的有效词汇集合(说明取舍原因)。北京、安、立、文、高新、技术、公司、新、网络、访问、卫星、有限、先进、总线、升、平的、是、最、有,这些词作为停用词不能加入系统的有效集合一、代,去除后并不影响原来句子语义的表达也不能算作系统的有效集合。2) 写出d1和d2在VSM中的表示(使用tf*idf,写出各项的数字表达式,具体数值不必实际计算出来)。 得到的矩阵:Termd1d2d3d4d5Term出现次数北京101013安100001立100001文100001高新100001技术110013公司101013新010012网络011002访问010001卫星001012有限001012先进000101总线000101升000011平000011说明:TF:表示词项在该文档或者查询词中出现的频度。即该词项出现次数除以该文档的长度(所有词的个数):表示词项k在Di中的出现次数。:表示该文档的长度(所有词的个数)IDF:表示词项在文档集合中的重要程度。一个词项出现的文档数越多,说明该词项的区分度越差,其在文档集合中的重要性就越低。N:表示集合中的文档数;:表示出现词项k的文档数。d1中各词项的数字表达式“北京”的“安”的“立”的“文”的“高新”的“技术”的“公司”的d2中各词项的数字表达式:“新”的“网络”的“访问”的“技术”的3) 画出系统的倒排文件示意图。 4) 按照向量夹角的余弦计算公式,给出针对查询“技术的公司”的前3个反馈结果。该部分由代码实现。三、 实验方法、步骤1 建立Java项目,2 建立DocumentStruct.java类文件并编辑3 建立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 运行结果如图4-9所示1. DocumentStruct.java代码:packageacm.model;public class DocumentStruct publicDocumentStruct()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 getDocumentContent() returndocumentContent;public void setDocumentContent(String documentContent) this.documentContent = documentContent;public String getDocumentName() returndocumentName;public void setDocumentName(String documentName) this.documentName = documentName;public double getDocumentSimValue() returndocumentSimValue;public void setDocumentSimValue(double documentSimValue) this.documentSimValue = documentSimValue;publicintgetDocumentID() returndocumentID;public void setDocumentID(intdocumentID) this.documentID = documentID;publicDocumentStruct sortDocBySim(DocumentStruct docList)DocumentStruct temp;for(inti=0; i<docList.length-1; i+)for(int j=i; j<docList.length-1; j+)if(docListi.getDocumentSimValue() <docListj.getDocumentSimValue() )temp = docListi;docListi = docListj;docListj = temp;returndocList;private String documentName;private String documentContent;private double documentSimValue;privateintdocumentID;2. TextVector.java代码:packageacm.model;public class TextVector publicTextVector(int dimension, int termCount, intdocumentTermCount, intdocumentCount, int documentContainTermCount)vectorWeight = new doubledimension;for(inti=0; i<dimension; i+)vectorWeighti = caculateWeight(termCounti, documentTermCount, documentCount, documentContainTermCounti);public double caculateWeight(inttermCount, intdocumentTermCount, intdocumentCount, intdocumentContainTermCount)TF termTF = new TF(termCount, documentTermCount);IDF termIDF = new IDF(documentCount, documentContainTermCount);termTF.caculateTF();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;termCount = 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("请先设置文档总数!");return;this.tf = (double)termCount / (double)termInDocumentCount;public double getTf() returntf;publicintgetTermCount() returntermCount;public void setTermCount(inttermCount) this.termCount = termCount;publicintgetTermInDocumentCount() returntermInDocumentCount;public void setTermInDocumentCount(inttermInDocumentCount) this.termInDocumentCount = termInDocumentCount;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 = documentCount;this.documentContainTermCount = documentContainTermCount;publicintgetDocumentCount() returndocumentCount;public void setDocumentCount(intdocumentCount) this.documentCount = documentCount;publicintgetDocumentContainTermCount() returndocumentContainTermCount;public void setDocumentContainTermCount(intdocumentContainTermCount) this.documentContainTermCount = documentContainTermCount;public double getIdf() returnidf;public void caculateIDF()if(documentContainTermCount = 0)System.out.println("请设置文档的长度(所有词的个数)!");return;this.idf = Math.log10(double)this.documentCount / (double)this.documentContainTermCount);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; i<vector1.getVectorWeight().length; i+)simDividend += vector1.getVectorWeight()i * vector2.getVectorWeight()i;for(inti=0; i<vector1.getVectorWeight().length; i+)tempVector1 += Math.pow(vector1.getVectorWeight()i, 2.0);tempVector2 += Math.pow(vector2.getVectorWeight()i, 2.0);simDivider = Math.sqrt(tempVector1*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,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 = "北京安立文高新技术公司","新一代的网络访问技术","北京卫星网络有限公司","是最先进的总线技术。","北京升平卫星技术有限公司的新技术有。","技术的公司"TextVectorqueryVector = new TextVector(16, TermCount5, documentTermCount5, 6, documentContainTermCount);for(inti=0; i<5; i+) TextVectortempVector = new TextVector(16, TermCounti,documentTermCounti, 6, documentContainTermCount);CaculateSimtempSim = new CaculateSim(tempVector, queryVector);DocumentStructtempDoc = new DocumentStruct(i+1, tempSim.getSim(), "文档"+(i+1), documentContenti);docListi = tempDoc;docList = docList1.sortDocBySim(docList);System.out.println("以"技术的公司"为查询关键字得到的前3个结果为:");for(inti=0; i<3; i+)System.out.println(i+1) + "."+ docListi.getDocumentName()+":"+docListi.getDocumentContent();四、 实验结果、分析和结论本次实验我学会了针对文档进行信息检索系统,向量空间模型是信息检索的一个重要方面,向量空间模型的建立能让你对信息有更好的把握,所以向量空间模型对我们以后信息检索至关重要,在编程方面我来遇到了很多的问题,这些都是在老师的帮助下完成的,在这次实验中我学到了很多。

    注意事项

    本文(信息检索与搜索引擎技术实验向量空间模型(9页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开