用于众包人工翻译以提供具有附加内容的网页的翻译版本的技术的制作方法

文档序号:14033761阅读:346来源:国知局
用于众包人工翻译以提供具有附加内容的网页的翻译版本的技术的制作方法

相关申请的交叉引用

本申请要求于2015年8月26日提交的美国申请no.14/836,224的优先权权益。上述申请的全部公开通过引用并入本文。

本申请大体上涉及语言翻译,并且更具体涉及众包人工翻译以提供具有附加内容的网页的翻译版本的技术。



背景技术:

本文提供的背景描述是为了一般上呈现本公开的场境(context)的目的。在此背景技术章节中所描述的范围内,目前提到的发明人的工作以及在提交申请时除此之外可能不适格作为现有技术的说明的方面,既不被明确地也不被隐含地承认为针对本公开的现有技术。

大多数网页是用英语编写的。为了使非讲英语用户能够消费这些网页的内容,必须首先将网页从英语翻译成不同的目标语言。翻译可以由翻译人员(手动翻译)和/或由计算机系统(机器翻译)执行。虽然机器翻译通常更快更便宜,但手动翻译通常可以提供更高质量的翻译。不幸的是,专业的翻译人员能够非常昂贵。因此,获得这样的网页的从英语到其他目标语言的高质量的翻译是一项复杂的任务。此外,网页的开发者或发布者可能有很少激励或没有激励来将他们的网页翻译成较少使用的目标语言。



技术实现要素:

提出了一种计算机实现的技术。该技术可以包括从服务器向处于源语言的网页的开发者输出选择加入翻译特征的提议,所述翻译特征使得一个或多个其他用户能够将网页翻译成不同目标语言;由该服务器从该开发者接收选择加入该翻译特征的第一请求;以及响应于接收选择加入该翻译特征的该第一请求:由该服务器生成和存储网页的副本;由该服务器从该一个或多个其他用户获得该网页的至少一部分的从该源语言到该目标语言的翻译;由该服务器基于所获得的翻译来修改该网页副本以获得被翻译的网页,该被翻译的网页是该网页的翻译版本;由该服务器检测来自与该目标语言相关联的计算设备的对该网页的第二请求;以及响应于检测到该第二请求,从该服务器向该计算设备输出具有与该计算设备相关或与该计算设备相关联的用户相关的附加内容的该被翻译网页。

还提出了一种具有一个或多个处理器的被配置为执行操作的服务器和其上存储有指令的计算机可读介质,所述指令当由服务器的一个或多个处理器执行时使服务器执行操作。该操作可以包括向处于源语言的网页的开发者输出选择加入翻译特征的提议,所述翻译特征使得一个或多个其他用户能够将网页翻译成不同目标语言;从该开发者接收选择加入该翻译特征的第一请求;以及响应于接收选择加入该翻译特征的该第一请求:生成和存储网页的副本;从该一个或多个其他用户获得该网页的至少一部分的从该源语言到该目标语言的翻译;基于所获得的翻译来修改该网页副本以获得被翻译的网页,该被翻译的网页是该网页的翻译版本;检测来自与该目标语言相关联的计算设备的该网页的第二请求;以及响应于检测到该第二请求,向该计算设备输出具有与该计算设备相关或与该计算设备相关联的用户相关的附加内容的该被翻译网页。

在一些实施例中,该技术或操作还可以包括由该服务器将该网页识别为具有大于特定用户访问率的高流量网页和具有大于特定用户机器翻译请求率的高请求机器翻译网页中的至少一个,其中响应于将该网页识别为高流量网页和高请求机器翻译网页中的至少一个而执行输出该提议。在一些实施例中,该技术或操作还可以包括由该服务器从该计算设备拦截对该网页的该第二请求,其中输出具有广告的该被翻译的网页是响应于拦截该第二请求而执行的。

在一些实施例中,该技术或操作还可以包括基于与该附加内容的用户交互,由该服务器协调对该网页的开发者的货币报偿。在一些实施例中,该附加内容包括广告,并且该技术或操作还可以包括由该服务器检测由与该计算设备相关联的该用户对该广告的选择,其中协调该货币报偿是响应于检测到该广告选择而执行的。

在一些实施例中,该网页的该第二请求是具有包括该网页的对应搜索结果的搜索查询。在一些实施例中,该技术或操作还可以包括响应于接收到选择加入该翻译特征的该第一请求,由该服务器修改该网页副本的文档对象模型(dom)来包括用于提供该附加内容的javascript。

从下文提供的具体实施方式中,本公开的其它适用方面将变得显而易见。应当理解的是,具体实施方式和具体示施例仅旨在用于说明的目的,而不旨在限制本公开的范围。

附图说明

根据具体实施方式和附图将更全面地理解本公开,其中:

图1是根据本公开的一些实施方式的示例计算机系统的图;

图2是图1的示例服务器的功能框图;以及

图3是根据本公开的一些实施方式的,用于众包人工翻译以提供具有附加内容的网页的翻译版本的示例技术的流程图。

具体实施方式

虽然专业翻译人员能够非常昂贵,但是特定目标语言的其他母语使用者或熟练语言使用者也可以提供高质量的翻译。然而,使这些用户能够提供网页的手动翻译对于网页的开发者或发布者来说可能是困难的。传统技术可能要求开发者或发布者(以下称为“开发者”)将复杂的代码(例如,javascript)添加到网页上,该代码将人工翻译活动外包给翻译提供者。如本文所使用的术语“开发者”还可以涵盖控制网页的所有者或其他用户。开发者还可能负责与翻译提供者签约,包括确定报偿结构。因此,开发者可能有很少的激励或没有激励来使他们的网页能够翻译成不同的目标语言并且更具体而言,较少被使用的目标语言。

因此,提出了众包人工翻译以提供具有附加内容的网页的翻译版本的技术。这些技术可以是被动的(例如,自动供给)和简单的,通过将例如上手(onboarding)、技术集成、翻译供应商选择、和附加内容决策的活动减少到一次点击,从而使开发者的体验更容易,同时也为他们提供经由附加内容的潜在收入流。例如,这个附加内容可以改善在网页的翻译版本的用户体验。在一些实施方式中,该收入流可以经由放置在其网页的各个翻译版本上的广告来生成,并且可以基于这些广告的点击次数来报偿开发者。这些技术也代表了用于克服在计算机网络领域中特别出现的问题的源于计算机技术的方案:使网页开发者能够用很少甚至无需实施努力来获得其网页的高质量人工翻译。

现在参考图1,图示了示例计算机系统100的图。计算机系统100可以包括根据本公开的一些实施方式的示例服务器104。本文所用的术语“服务器”可以指代以并行或分布式架构操作的单个计算机或多个计算机。服务器104可以经由网络112与开发者计算设备108通信。网络112可以是局域网(lan)、例如互联网的广域网(wan)或其组合。开发者计算设备108可以与特定网页的开发者116相关联。服务器104还可以与进行请求的计算设备120通信,该计算设备120请求网页和多个翻译者计算设备124-1…124-n(n>1;统称为“翻译者计算设备124”)。翻译者计算设备124可以与多个翻译人员128-1…128-n(统称为“翻译人员128”)相关联。服务器104与开发者116、进行请求的用户122、和翻译人员128之间的任何通信,可以在服务器104和开发者计算设备108、进行请求的计算设备120、和翻译者计算设备124之间进行。

现在参考图2,图示了示例服务器104的功能框图。服务器104可以包括通信设备200、处理器204、和存储器208。通信设备200可以是被配置用于经由网络112进行通信的任何合适的设备,诸如收发器。存储器208可以是被配置为在服务器104处存储信息的任何合适的存储介质(闪存、硬盘等)。处理器204可被配置为控制服务器104的操作,包括:执行/加载服务器104的操作系统、经由通信设备200控制通信并且控制在存储器208的读/写操作。处理器204还可以被配置为执行本公开的技术的至少一部分,这将在下面更详细地讨论。本文所用的术语“处理器”可以指代以并行或分布式架构操作的单个处理器和多个处理器。

服务器104可以识别与开发者116相关联的网页。在一些实施方式中,服务器104可以将网页识别为高流量网页和高请求机器翻译的网页中的至少一个。例如,将网页识别为高流量和/或高请求机器翻译可以基于与托管该网页的域相关联的统计信息。通过识别高流量和/或高请求机器翻译的网页,针对开发者116的选择加入(opt-in)本公开的翻译特征的提议可能更诱人。更具体而言,由于更多用户访问高流量或高请求机器翻译的网页,所以开发者116可能比其他选择加入翻译特征的网页更可能接收更多的货币报偿。本文中使用的术语“高流量”可以指代在特定时段期间接收大于一定访问数目(例如,特定用户访问率)的特定网页。类似地,本文所使用的术语“高请求”可以指代在特定时段期间接收大于一定数目的机器翻译请求(例如,特定用户机器翻译请求率)的特定网页。也可以使用其他合适的技术来识别网页,诸如基于开发者的先前活动。

在识别网页之后,服务器104可以确定开发者116是否愿意选择加入翻译特征。选择加入过程可以包括服务器104向开发者116传送提议来选择加入翻译特征。该提议可以是基于网络的提议(例如,在web浏览期间),或者可以经由诸如给网页的注册所有者的电子邮件或文本消息的其他电子介质来传输。在一些实施方式中,提议可以包括开发者116通过选择加入而可以预期的估计的收入量。然后,开发者116可以提供对该提议的响应。例如,响应可以是选择加入翻译特征的请求(也称为“第一请求”)。通过接收选择加入翻译特征的请求,服务器104可以执行一系列操作来实现翻译特征。该选择加入请求还可以核准服务器104生成并存储一个或多个网页的副本以作为翻译特征的一部分。

首先,服务器104可以生成并存储网页的副本。作为翻译特征的一部分,网页副本可以是由服务器单独存储和操纵的网页的相异副本。在一些实施方式中,服务器104可以修改网页副本的文档对象模型(dom)以包括用于提供附加内容的代码(例如,javascript)。附加内容可以是与进行请求的用户122相关的内容。仅作示例,附加内容可以是广告,其可以用于为开发者116产生收入,如下面更详细地讨论的。还可以提供其他附加内容,诸如可以基于进行请求的用户122的简档或搜索历史的链接、图像、文章等。在生成和存储网页副本之后,服务器104可以从翻译人员128获得网页的至少部分的翻译。这些翻译可以由翻译人员128使用任何合适的翻译捕获/输入技术来提供。例如,翻译人员128可以在查看网页的同时经由其web浏览器提供翻译。

服务器104可以基于接收到的翻译来修改网页副本。该修改可以包括用翻译替换网页副本的部分。在一些实施方式中,该修改可能仅在对每个特定翻译的准确性的某种验证之后才会发生。经修改的网页副本也可以称为被翻译的网页。如前所述,被翻译的网页(处于目标语言)与网页(处于源语言)被分开存储。响应于来自与目标语言相关联的计算设备(例如,进行请求的计算设备120)的对网页的请求,服务器104可以提供具有附加内容的被翻译的网页。可以例如基于计算设备的用户(例如,进行请求的计算设备120的进行请求的用户122)的语言偏好设置来确定与目标语言的这种关联。在一些实施方式中,服务器104可以拦截对网页的该请求(也称为“第二请求”)。

可以执行该拦截以使得第二请求不会到达与网页相关联的源服务器。相反,通过拦截第二请求,源服务器从不知道已经请求了网页,并且服务器104提供具有附加内容的被翻译的网页。在一些实施方式中,被翻译的网页的提供可以包括被翻译的网页是网页的翻译版本的信息或免责声明。如果进行访问的用户122在被通知之后不想查看被翻译的网页,则其第二请求可以被定向到网页的源服务器,从而将其重新定向到源语言的网页。在一些实施方式中,可以执行该拦截,因为服务器104可以与(i)基于web的搜索引擎——其中提供了搜索查询和/或(ii)具有地址栏的web浏览器——其中提供了搜索查询相关联。搜索查询可以具有包括网页的对应搜索结果。

在提供具有附加内容的被翻译的网页之后,可以发生与附加内容的用户交互。例如,该用户交互可以是广告的点进,其中进行请求的用户122选择广告并且被重新定向到与广告主相关联的另一网页。作为这种交互的交换,广告主可以提供货币报偿。这种货币报偿通常被提供给诸如与服务器104相关联的广告服务。然而,作为翻译特征的一部分,可以向开发者116提供与广告相关联的该货币报偿的至少一部分。替选地,对开发者116的货币报偿可以由广告服务直接支付。例如,作为选择加入过程的一部分,可以为开发者116创建支付账户,在其中基于与被翻译的网页上的附加内容(例如,广告)的持续交互来存入货币报偿。

现在参考图3,图示了使用自动化收入共享来众包人工翻译的示例技术300的流程图。在304,服务器104可以识别处于源语言(例如,英语)的网页。例如,服务器104可以将网页识别为高流量网页和/或高请求机器翻译的网页。在308,服务器104可以向网页的开发者116输出选择加入翻译特征的提议。如本文所讨论的,翻译特征可以(i)使翻译人员128能够将网页翻译成不同的目标语言,并且(ii)向开发者116提供货币报偿。在312,服务器104可以确定是否已经从开发者116接收到选择加入翻译特征的第一请求。如果是,则技术300可以进行到316。否则,技术300可以结束或返回到312。

在316,服务器104可以生成并存储网页副本。在320处,服务器104可以从翻译人员128获得网页的至少一部分从源语言到目标语言的翻译。在324,服务器104可以基于所获得的翻译来修改网页副本以获得被翻译的网页。在328处,服务器104可以确定进行请求的计算设备是否已经生成了对网页的第二请求。如果是,则技术300可以进行到332。否则,技术300可以结束或返回到328。在332,服务器104可以向进行请求的计算设备输出具有附加内容的被翻译的网页。在336处,服务器104可以可选地检测附加内容交互,并且基于用户交互,在340处向开发者116提供货币报偿。然后,技术300可以结束或返回到304。

除了获得网页的人工翻译之外,在一些实施方式中,本文的技术可以进一步提供允许翻译人员创建/添加先前不是由开发者创建的特定网页的一部分的附加内容。例如,这个新内容可能与目标语言有关或特定于目标语言。这种新内容的示例包括链接、文本、图片、和音频/视频。在一个实施方式中,这种新内容可以是全新的网页。这种新内容可以在网页的现有模板/结构中来实现(即如开发者所意图的)。新的内容可以被存储在云中(例如,在远程服务器处),但仍然可以按开发者最初的意图来无缝地充当网页的一部分。

本文所描述的技术也并不限定于网页。在其它实施方式中,这些技术可以扩展到基于web和本原(如移动)软件应用。在这样的应用中,文本字符串被表示为用户界面(ui)的一部分。在一个实施方式中,可以提供软件开发工具包(sdk),其使应用开发者能够使翻译人员能够翻译他们的应用的ui字符串。换言之,这个代码将与本文关于网页所讨论的javascript相同或相似的方式起作用。一旦添加到他们的应用中,云存储的翻译可以被检索并被并入运行的应用。例如,翻译的语言可能是基于用户的位置,并且用户还能够在语言之间切换。

提供示例实施例以使得本公开将是透彻的,并且将充分地把范围传达给本领域的技术人员。阐述了许多具体的细节——诸如具体组件、设备和方法的示例,以提供对本公开的实施例的透彻理解。对本领域技术人员显而易见的是,具体细节非必需被采用,示例实施例可体现为许多不同的形式并且二者都不应被解释为限制本公开的范围。在一些示例实施例中,公知的过程、公知的设备结构和公知的技术没有被详细描述。

本文所用的术语仅是为了描述具体示例实施例,并且不旨在是限制性的。如本文所用,单数形式“一”,“一个”和“该”旨在也可以包括复数形式,除非上下文另有清楚指示。术语“和/或”包括相关联所列的项目中的一个或多个的任意组合和所有组合。术语“包括”、“包含”和“具有”是包括性的,并且因此指定所陈述的特征、整体、步骤、操作、元素、和/或组件的存在,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元素、组件和/或它们的群组。在此描述的方法步骤、过程和操作不应被理解为必须要求它们以所讨论或图示的特定次序执行,除非名称指出了执行的次序。也应当理解的是,可以采用附加的或替选的步骤。

虽然在本文中可以使用术语第一、第二、第三等来描述各个元素、组件、区域、层和/或部分,但是这些元素、组件、区域、层和/或部分不应受限于这些术语。这些术语可以仅用于将一个元素、组件、区域、层或部分与另一区域、层或部分区分。本文所用的术语诸如“第一”、“第二”和其它数字术语,并不暗示顺序或次序,除非上下文清楚地指出。因此,下文所讨论的第一元素、组件、区域、层或部分可以被称为第二元素、组件、区域、层或部分,而不脱离示例实施例的教导。

如本文所使用的,术语模块可以指代以下、作为以下的一部分、或者包括以下:专用集成电路(asic);电子电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码或过程的联网集群或数据中心中的存储以及处理器或处理器的分布式网络(共享、专用或分组);提供所描述的功能的其它合适的组件;或如上中的一些或所有的组合,诸如在片上系统中。术语模块还可以包括存储由所述一个或多个处理器执行的代码的存储器(共享、专用或分组的)。

如以上所使用的,术语“代码”可以包括软件、固件、字节代码和/或微代码,并且可以指代程序、例程、功能、类和/或对象。如以上所使用的,术语“共享”,意指来自多个模块的一些或全部代码可以使用单个(共享)处理器来执行。此外,来自多个模块的一些或全部代码可以由单个(共享)存储器存储。如以上所使用的,术语“群组”意指来自单一模块的一些或全部代码可以使用一组处理器来执行。另外,来自单一的模块的一些或全部代码可以使用存储器群组存储。

本文所描述的技术可以由通过一个或多个处理器执行的一个或多个计算机程序来实施。该计算机程序包括存储在非瞬态有形计算机可读介质上的处理器可执行指令。计算机程序还可包括存储的数据。非瞬态有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。

上述描述的一些部分在对信息的操作的算法和符号表示方面介绍了本文所述的技术。这些算法描述和表示是由数据处理领域技术人员使用的来最有效地传达他们的工作的实质给其他本领域技术人员的手段。这些操作在从功能上或逻辑上被描述时,应当被理解为由计算机程序来实现。此外,将这些操作的布置称作模块或通过功能名称来称呼这些布置有时被证实是方便的且不失一般性。

除非特别指出,否则从上文讨论显而易见的是,应当理解的是,在整个说明书中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”或类似物的术语的讨论指代计算机系统或类似的电子计算设备的动作和过程,所述动作和过程对表示为在计算机系统存储器或寄存器或其它这样的信息存储器、传输或显示设备内的物理(电子)量的数据进行操纵和变换。

所描述的技术的某些方面包括在本文以算法的形式描述的过程步骤和指令。应当注意的是,所描述的过程步骤和指令可以在软件、固件或硬件中来体现,并且当体现在软件中时,可以被下载以驻留在通过实时网络操作系统使用的不同平台上并可以在不同平台上操作。

本公开还涉及一种用于执行本文中的操作的装置。该装置可以针对所需目的而被专门构造,或者它可以包括通用计算机,该通用计算机由存储在能够由计算机访问的计算机可读介质上的计算机程序选择性地激活或重新配置。这样的计算机程序可以被存储在有形的计算机可读存储介质,诸如但不限于:包括软盘、光盘、cd-rom、磁光盘的任何类型的盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic),或任何类型的适合于存储电子指令的介质,且均耦合到计算机系统总线。此外,在本说明书中提及的计算机可包括单个处理器或者可以是采用多处理器设计以提高计算能力的架构。

本文中所呈现的算法和操作并非固有地与任何特定计算机或其它装置相关。根据本文教导,各个通用系统也可配合程序使用,或者在构造更加专门的装置以执行所需的方法步骤时被证明为方便的。各种这些系统的所需结构与等同变形对本技术领域的技术人员将是显而易见的。另外,本公开并不参照任何特定的编程语言描述。应当理解的是,如本文所述各种编程语言可以用于实现本公开的教导,并且对特定语言的任何引用被提供用于对本发明的实现和最佳模式的公开。

本公开非常适合于各种拓扑结构的各种各样的计算机网络系统。在此领域内,大型网络的配置和管理包括:通过网络——诸如互联网——通信地耦合到不同的计算机和存储设备的存储设备和计算机。

实施例的前述描述是为了说明和描述的目的而提供的。其不旨在是穷尽的或限制本公开。具体实施例的个体元素或特征通常不局限于该特定实施例,但是在适用的情况下是可以互换的并且可以在所选择的实施例中使用,即使没有具体示出或描述。其也可以以多种方式变化。这些变化不被视为背离本公开,并且所有这种修改都旨在被包括在本公开的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1