- 积分
- 18
- UID
- 8775
- 在线时间
- 小时
- 最后登录
- 1970-1-1
|
我是本科最后一年的学生。现在的毕设是要做一个基于Java技术的搜索引擎,实现检索本地磁盘某个文件夹中的约200个txt文件。程序应包括data representation, query formulation, matching, ranking以及GUI几部分. 我设计的过程是先从GUI的TextField里读取用户输入的query,然后程序要去除query中的像冠词,介词这种stopwords,并要进行porter stemming,即把单词的前缀后缀都去掉,(比方说connection和connective算是一个词). 把经过处理的query与经过同样处理的原文件(200个存在本地磁盘某个文件夹中的txt文件)用KMP算法进行matching, 如果匹配,则把文件名返回到用户界面,并按匹配词在该文件中以及其他文件中出现的频率排序。在该文件中出现频率越高同时在其他文件中出现频率越低,该文件名显示得就越靠前。
现在有这么几个问题。第一,inverted files(倒排文件)这种索引工作是不是应该在运行程序之前就做好呢?我看KMP算法一般都用在全文检索中,如果已经对原文做了索引,如何使用KMP? 难道是让query与inverted files去matching吗? 第二,我们要在project中运用clustering approach(聚类方法)。我不知道porter stemming算不算一种clustering approach呢?
我的导师推荐用Java. 但我是Java的初学者。我也上过sun的网站,看过class, package, method库,但好像对Java初学者来讲还不是那么的helpful. 我昨天晚上仅仅是一个在用户见面中加入一个文本框的问题,就研究了半天。这是在VB中trivially easy的东西,在Java里真是麻烦啊。我现在虽然对搜索引擎的设计有如上所述的这一套想法,但如何用Java来实现是个大问题。
渴望哪位热心人可以给我一些指导和帮助。不胜感激! |
|