- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Colorfulword——WordNet浏览器作业报告-GoogleCode
Colorfulword——WordNet浏览器作业报告成员及贡献刘智猷(队长) 00948张泰之 00948徐源盛 00948安传恺责底层架构,完成wndata包. 主要工作在DataManager.java中,代码约500行;修改补全开源文件的相关函数约300行.需求分析 WordNet词典是目前世界上影响最大的词汇语义知识库,在自然语言处理、信息检索等领域有广泛应用.WordNet自带的浏览器相对简陋,无法充分直观展示WordNet词典中蕴含的词汇间复杂的关系。因此,我们需要一个操作更为简便,继承原有浏览器功能并拓展新功能的,界面美观,人性化,词条检索准确,词组之间关系可视化的浏览器.这样不仅满足普通查询的需求,还可以作为计算语言学研究的优秀辅助工具.总体设计在总体设计上如下图所示。虽然WordNet将其数据库设计为文本而不是二进制数据,虽然使得数据库文件具有了一定的可读性,但是也给程序的处理造成了一些不必要的麻烦。为了将数据库的每一行字符表示成一个程序中的逻辑实体,尽可能地减少读取文件,操作文本的编程工作,我们设立了最底层的DataMnager,负责给上层提供一个关于数据库的抽象层,使得上层功能可以将数据库中的每个条目看成一个实体而不是一个字符串。在这一基础上,Browser类实现了本项目作为一个词典的基本功能。作为主窗口,其任务就是将监听到的响应的用户请求分派给合适的对象,并将对象的结果处理成用户友好的形式显示。例如,当用户在查词框键入按键时,将当前的前缀分发给Class Trie对应的实例,并将其返回的结果添加到待选提示框内。另一个例子是当用户查词时,该类使用DataManager中的lookup方法,得到单词所在的所有Synset,再将这些Synset转换成可以理解的文本显示。项目的另一部分与Synset的颜色有关。我们设计了一个基于人机交互的Synset染色算法。通过这个算法,希望可以给每个Synset染上一个“符合”其含义的颜色。这里的“符合”要打上双引号是因为这一说法并没有一个完美的标准。在染色的基础上,我们设计了GraphExplorer作为查看以Synset之间的关系为边,以Synset为顶点的经过染色的图的查看器。需要说明的是,在设计和考察WordNet浏览器时,Rochester大学开发的,GPLv3开源协议下发布的URCSWordNet浏览器(/research/cisd/wordnet/)对设计者提供了很大的帮助,在此表示感谢。本项目中有一些文件直接来自于上述项目,我们会在介绍具体实现时逐一指出。具体实现wndata包这个包中的需要文件既DataManager.java.其余文件均是对WordNet数据库中某个实体的结构化对应。这一对应很多时候是机械的,为此,我们直接选用了上面提到的URCSWordNet浏览器中的代码。但是为了适应本程序独特的数据结构,我们独创了读入和处理数据的方法,集中体现在DataManager.java中,引用其余文件仅仅是为了避免重复劳动,借用其代码表示Synset,SynsetFrame,SynsetPointer,PartofSpeech,IndexEntry,等必备的类的属性.而且我们添加或改写了对应的构造函数,equals函数,返回属性值的函数,保留了原开源程序结构清晰,面向对象性强的优点,又发现和解决了原来开源程序读取文件中存在的bug.有一点需要提及的是,由于编码差异,本包文件中的注释可能无法正常显示。以下是每个文件的详细说明WordSense.java: 记录单词和lex_id,较开源程序对于部分形容词我们还添加了放置位置的属性,修改了构造函数.WordNetReader.java: 开源程序的读取,本程序没有使用.WordNetFileReader.java :开源程序的读取,本程序没有使用SynsetPointer.java: 记录data文件中表示不同synset之间关系的四元元素组,较开源程序改写了构造函数,添加了返回各个属性的函数SynsetFrame.java : 保存动词的f_num和w_num属性(详见说明文档),较开源程序添加了构造函数.Synset.java: Synset是处理单词的基本单位,本类保存了与之相关的rotectedintoffset;(在data文件中的位置)protectedintlex_filenum;protected PartOfSpeech ss_type;(词性)protectedintw_cnt;(synset中的单词数)protected WordSense[] words;(Synset中的单词)protectedintlex_id;protectedintp_cnt;(关系数目
文档评论(0)