欢迎来到天天文库
浏览记录
ID:35200731
大小:131.14 KB
页数:7页
时间:2019-03-21
《colorfulword——wordnet浏览器作业报告-googlecode》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Colorfulword——WordNet浏览器作业报告成员及贡献刘智猷(队长)00948张泰之00948徐源盛00948安传恺00948180负责底层架构,完成wndata包.主要工作在DataManager.java中,代码约500行;修改补全开源文件的相关函数约300行.需求分析WordNet词典是目前世界上影响最大的词汇语义知识库,在自然语言处理、信息检索等领域有广泛应用.WordNet自带的浏览器相对简陋,无法充分直观展示WordNet词典中蕴含的词汇间复杂的关系。因此,我们需要一个操作更为简便,继承原有浏览器功能并拓展新功能的,界面美观,人性化,词条检索准确,
2、词组之间关系可视化的浏览器.这样不仅满足普通查询的需求,还可以作为计算语言学研究的优秀辅助工具.总体设计在总体设计上如下图所示。虽然WordNet将其数据库设计为文本而不是二进制数据,虽然使得数据库文件具有了一定的可读性,但是也给程序的处理造成了一些不必要的麻烦。为了将数据库的每一行字符表示成一个程序中的逻辑实体,尽可能地减少读取文件,操作文本的编程工作,我们设立了最底层的DataMnager,负责给上层提供一个关于数据库的抽象层,使得上层功能可以将数据库中的每个条目看成一个实体而不是一个字符串。在这一基础上,Browser类实现了本项目作为一个词典的基本功能。作为主窗口
3、,其任务就是将监听到的响应的用户请求分派给合适的对象,并将对象的结果处理成用户友好的形式显示。例如,当用户在查词框键入按键时,将当前的前缀分发给ClassTrie对应的实例,并将其返回的结果添加到待选提示框内。另一个例子是当用户查词时,该类使用DataManager中的lookup方法,得到单词所在的所有Synset,再将这些Synset转换成可以理解的文本显示。项目的另一部分与Synset的颜色有关。我们设计了一个基于人机交互的Synset染色算法。通过这个算法,希望可以给每个Synset染上一个“符合”其含义的颜色。这里的“符合”要打上双引号是因为这一说法并没有一个完
4、美的标准。在染色的基础上,我们设计了GraphExplorer作为查看以Synset之间的关系为边,以Synset为顶点的经过染色的图的查看器。需要说明的是,在设计和考察WordNet浏览器时,Rochester大学开发的,GPLv3开源协议下发布的URCSWordNet浏览器(http://www.cs.rochester.edu/research/cisd/wordnet/)对设计者提供了很大的帮助,在此表示感谢。本项目中有一些文件直接来自于上述项目,我们会在介绍具体实现时逐一指出。具体实现wndata包这个包中的需要文件既DataManager.java.其余文件均
5、是对WordNet数据库中某个实体的结构化对应。这一对应很多时候是机械的,为此,我们直接选用了上面提到的URCSWordNet浏览器中的代码。但是为了适应本程序独特的数据结构,我们独创了读入和处理数据的方法,集中体现在DataManager.java中,引用其余文件仅仅是为了避免重复劳动,借用其代码表示Synset,SynsetFrame,SynsetPointer,PartofSpeech,IndexEntry,等必备的类的属性.而且我们添加或改写了对应的构造函数,equals函数,返回属性值的函数,保留了原开源程序结构清晰,面向对象性强的优点,又发现和解决了原来开源程
6、序读取文件中存在的bug.有一点需要提及的是,由于编码差异,本包文件中的注释可能无法正常显示。以下是每个文件的详细说明WordSense.java:记录单词和lex_id,较开源程序对于部分形容词我们还添加了放置位置的属性,修改了构造函数.WordNetReader.java:开源程序的读取,本程序没有使用.WordNetFileReader.java:开源程序的读取,本程序没有使用SynsetPointer.java:记录data文件中表示不同synset之间关系的四元元素组,较开源程序改写了构造函数,添加了返回各个属性的函数SynsetFrame.java:保存动词的
7、f_num和w_num属性(详见说明文档),较开源程序添加了构造函数.Synset.java:Synset是处理单词的基本单位,本类保存了与之相关的rotectedintoffset;(在data文件中的位置)protectedintlex_filenum;protectedPartOfSpeechss_type;(词性)protectedintw_cnt;(synset中的单词数)protectedWordSense[]words;(Synset中的单词)protectedintlex_id;protectedintp_cn
此文档下载收益归作者所有