论文部分内容阅读
eMule已经成为世界上最大并且最可靠的点对点文档共享客户端软件。毫无疑问eMule在资源共享方面发挥了极大地作用,然而在这些浩如烟海的资源中如何快速准确的找到所需要的资源,已经成为当前eMule急需解决的问题。传统的基于文件名的关键字搜索已不能满足要求,有效的解决方法是目前比较流行的语义搜索,本文正是从这一角度出发来进行研究的。语义研究,特别是词汇语义研究,已经成为目前自然语言处理领域的热点和前沿课题。词汇语义分析目前有两种研究方法,一是基于大规模语料库,另一个是基于语义词典。但是基于eMule文件名的词汇语义分析目前还没有人研究,因此本论文是一个全新的研究课题。重点分析出现在eMule文件名中的英语词汇之间的语义特征。本论文主要完成了四部分工作,首先对研究课题做需求分析;接着修改eMule源代码,从服务器上抓取文件名;然后对文件名做切词和统计处理;最后对切出的英文词汇作聚类和相似度分析,并用Matlab做仿真实验。本论文主要采用两种方法对构成eMule文件名的词汇进行研究,一是采用聚类分析的方法,二是采用词语相似度分析的方法。前者主要采用K-means聚类算法对这些词汇进行分类研究,并且采用了相异度分析法和特征值分析法两种不同的方法,对这些词汇作了层层递进分析;后者则是采用两向量夹角余弦的方法,求出构成eMule文件名的词汇之间的相似度,并与从文本文件中得到的词语相似度作对比分析。通过对构成eMule文件名的词汇做聚类和相似度分析,发现了其中具有规律性的结论。从聚类分析的角度来看,构成eMule文件名的英文单词确实被聚成了不同的类别,而聚类选择的特征值是文件类型,它将构成文件名的英文单词做了很好的区分。从词语相似度分析的角度来看,基于eMule文件名的词语相似度确实与基于文本文件的词语相似度有很大不同。而二者之所以有很大的不同是由于计算相似度的方法不同,研究的对象也不同。不管是对这些词汇做聚类还是相似度分析,都是为了能够找到这些词汇在语义上的远近关系。这样有利于在用户输入搜索关键词之后,eMule搜索引擎能够找到与之相似的词汇,从而达到语义搜索的目的,提高搜索效率。