ASE TeamProject spec – Translation & reward Milestone 2

我们的软件Translation & Reward马上就要进入beta版本的开发,在今天的例会中,我们最终敲定了软件构架,对M1的软件构件做了完善和改进。下面我会详细介绍我们软件最终的样式。

1、Introduction

在中国,有很多人渴望了解外国或是阅读外国的资料,但是并不是所有人都有足够的英语水平去驾驭他们所面对的英文信息。

这个时候,很多人就会求助于翻译。

微软的bing就提供翻译功能,甚至当你使用IE的时候,你可以在任何的英文网站中通过右键菜单的选项对全文进行翻译。

但是,机器翻译毕竟是死板的,很多时候翻译的效果差强人意,这时就要人工的对翻译结果进行校正。而我们要做的就是如何激励尽量多的人来帮助校正。在M1中我们已经完成了翻译模块的搭建。M2我们会重点完成对UI的完善和奖励系统的搭建。

2、Overview

相对与M1的原始计划,我们砍掉了主网站的搭建,所以我们的软件现在主要分为以下三个部分:

用户账户管理:用户拥有自己的账户,用以记录该用户所有的行为以及贡献。所有用户的所有信息均将存在服务器端。

翻译页面:针对用户选择的页面,提供网页的全文翻译。并允许用户对翻译进行修改和评价。用户的每次有效的操作都

会为用户积累相应的贡献值。

奖励系统:根据用户的贡献和彼此之间的要求关系,软件会建立奖励系统,激励更多的用户来使用该软件。每个人的被选择成为winner的可能性不光取决于自己的贡献,还取决于他所邀请的人的多少和贡献。

3、Personal

3.1、Alice ,一个中国学生,专业是生物,英语水平四级左右,经常要看paper,对一些翻译的paper中的句子,看一眼就知道是错的,但是不知道正确答案;想报告遇到的翻译错误,提高paper翻译质量,并不关心Reward;

3.2、Bob,也是一个中国学生,英语水平6级,在浏览一些翻译文章时,可以发现一些不对的地方,并提供合理的翻译,但翻译起来并不算是得心应手,主要是因为Reward才进行翻译;

3.3、Cathy ,中国人,英语专八水平,通过改进翻译来进一步提高自己的英语水平,觉得Reward是自己能力的体现;

4、User Using Scenario

下面我会结合软件已有的alpha版本,系统展示软件的使用场景。

首先,假如我是一个英语不太好的同学,但很想看一些英文网页,于是开始借助翻译软件。打开软件,输入用户名登陆,并输入自己想看网页的URL,就会在同一个窗体下同时出现

原网页和翻译后的网页。

 

我可以同时操纵两个网页,查看网页不同部分的内容。为了准确定位某句子的翻译,我将鼠标移到该句子处,另一网页的相对应的部分就会高亮显示,方便对应。

突然我发现可能某一句话翻译有问题,中文表述明显不通顺。我就点击翻译有问题,报告错误。如果报告该错误的用户达到一定数量,系统就会标注该错误,提醒往后的用户该翻译可能有问题。

很快我又发现以前曾经有人对该翻译提出过异议,并提出了自己的翻译,于是我就查看了

别人的翻译,为我认为最好的一个投了一票。

随着一段时间的学习,我的英语水平明显提高,我就开始对有问题的翻译给出我个人认为比较准确的翻译。

 

 

 

软件每隔一段时间就会根据用户贡献的多少以及用户之间的社会关系以概率选出一个winner,获得一定形式的奖励。至于奖励的具体内容,我们还在进一步讨论。

5、Feature Specification

    经过讨论,我们决定取消建立主网站的开发计划。其余M1阶段feature保持不变。M2阶段,我们将实现以下feature:

(1)窗口皮肤的设置:为用户提供可选择的皮肤,并提供更新功能使得窗口更加美观。这样可以防止用户因长期盯着一个简单的窗口而觉得枯燥。

(2)网页下载功能(备选):考虑到软件的主要使用群体是那些对外文阅读有障碍的用户,当他看到一个翻译后的网页时,如果觉得网页信息很有价值,可以选择下载网页,在本机保留翻译结果,留待以后查看。

  (3)新窗口打开网页:因为我们软件主要针对的是网页翻译,所以软件应首先具备基本的浏览器功能。alpha版本目前只能打开一个网页,如果打开新网页就会覆盖前一网页。所以在beta版本我们会完善软件浏览器的功能,使得用户能够像使用正常浏览器一样使用我们的软件。

(4)窗口布局:在alpha版本中,窗口布局比较单一,原文网页和翻译后网页并排横向排列,这虽然方便用户对照翻译结果,但是势必影响单个网页的显示面积。所以我们会改进这一部分,允许用户在两个网页中灵活切换,可以选择原文网页,译文网页,或同时显示两网页,同时显示时可以选择横向排列或纵向排列,给用户更大的选择空间。

(5)两网页同步:为了方便查看网页,在窗口中对两网页的操作应该是同步的,比如在一个网页中拉动滚动条,另一个网页中的滚动条应该自动做相同的变化,目的是让用户方便对照原文和译文。此功能在alpha版已经实现了,但同步结果不甚准确,我们会继续改进。

(6)翻译问题:现有软件对原网页的文字抓取还存在问题,有的文字可能无法提出,所以就无法得到翻译结果,在beta中林睿同学会尝试使用新的算法解析网页。具体算法我们会在后续的文章中给出。

(7)弹出框:这是一个已发现的bug,javascript无法正常使用,导致弹出的小窗体无法消除。我们会在M2中解决这个问题。

(8)用户的账户管理:我们的软件需要用户注册使用,为了能吸引用户长期使用,我们决定在用户账户管理上做些文章,努力提升用户的存在感,让他们感觉此时此刻此景就是我在使用这样一个软件。主要任务包括给用户提供等级,全球排名,称号等等。

(9)密码保护:给用户提供账户安全服务,绝对不在服务器上使用明文密码,增加验证环节,确保使用安全。因为软件的最终版本是有reward的,所以必须要保障用户的账户安全。

(10)用户对系统贡献的衡量:

      用户在使用我们的产品的时候会有不同的行为,比如说注册,改进翻译等等。不同的行为会对我们系统产生不同的贡献,因此需要一个标准来衡量用户的行为究竟为系统作出了多少贡献,针对不同用户行为给出不同的贡献值,最后再将这些值转化成他们的Reward。

贡献来自以下几个方面:

    1.用户注册会获得一个特定的贡献奖励C1,每天登陆会获得贡献奖励C2
    2.用户指出一个翻译有问题,并且有足够多的人认为这个翻译的有问题,该用户会获得一定的贡献奖励C3
    3.用户选择了一个备选的翻译,并且这个翻译最后替换了原先的机器翻译,将会给用户C4的贡献奖励
    4.用户为一个句子输入了自己的翻译,并且这个翻译是有效的翻译而不是随便乱输入的一堆东西,该用户会获得C5贡献奖励。一旦这个翻译最后被选为最佳翻译来替换原来的机器翻译,他会再次获得C6的贡献奖励。
     5.用户如果举报某个翻译是胡乱写的,他可以对那个句子的翻译进行举报,经过管理员审核,发现那个翻译确实是胡乱的翻译,那么会对这个用户进行奖励C7.

      以上各个参数的具体值是多少,要经过我们的具体测试才能给出最后的确定值。当然,根据最后实测的结果,我们可以适当考虑将各个贡献奖励设置成一些函数,根据待翻译的句子的难度,以及有多少人对某个句子提出质疑,对为不同句子的翻译质量改进作出贡献的人给予不同的奖励。

(11) 贡献奖励的分配

      系统中,一旦有人为系统作出了贡献,那么邀请他加入的人和他邀请的人都会获得相应的奖励。假设系统中的某人A 获得了一定的奖励,那么和他关系比较近的人,比如说邀请他加入的人B,还有他的“好友”---即被A邀请的人C,D,都会获得相应的奖励。同理,如果说B,C,D为系统作出了贡献,A也会相应的获得贡献奖励。

(12)防止恶意翻译

      为了保证Reward的有效实现,系统将会对被举报的句子进行审核,如果发现该翻译的确是恶意翻译,即为了获得积分就胡乱对一个句子进行翻译,那么这个翻译会被删除并且系统会对进行恶意翻译的用户采取惩罚。

 

 

 

 

 

 

posted @ 2012-11-02 11:15  coderepublic  阅读(293)  评论(0编辑  收藏  举报