专利名称:来自出版物的经ocr处理的文本和对应图像在客户端设备上的选择性显示的制作方法
技术领域:
本公开总体上地涉及光学字符识别(OCR)领域,特别是涉及显示使用OCR提取的文本以及显示从中提取该文本的原始图像。
背景技术:
随着越来越多的印刷文档被扫描并使用光学字符识别(OCR)技术被转换至可编辑文本,人们越来越多地使用计算机阅读此类文档。当在计算机屏幕上阅读文档时,用户通常更偏爱经OCR处理的版本而不是图像版本。与文档图像相比,经OCR处理的文本大小较小,并且由此可以更有效地通过计算机网络传输。经过OCR处理的文本还是可编辑的(例如,支持拷贝和粘贴)和可搜索的,并且可以被清晰地(例如,使用本地可用的字体)且灵活地(例如,使用调整适合于计算机屏幕的布局)显示,这提供了更好的阅读体验。上述优点尤其有益于那些偏爱在他们的移动设备(诸如,移动电话和音乐播放器)上阅读的用户。然而,在OCR处理的文本中经常存在错误。此类错误可能是由于文档中瑕疵、在扫描处理期间引入的赝像以及OCR引擎的缺点。这些错误可以干扰使用和享受经OCR处理的文本,并削弱此类文本的优势。由此,需要一种方式来实现使用经OCR处理的文本的益处, 同时将由OCR处理引入的错误的影响最小化。
发明内容
本公开的实施方式包括用于显示使用OCR从图形中提取的文本的方法(以及相应的系统和计算机程序产品)。在一个方面,针对经OCR处理的文本片段的集合而生成经OCR处理的文档。文档中的每个文本片段利用唯一地标识矩形图像片段的信息来标记,该矩形图像片段包括来自原始文档的图像序列中的原始文本图像中的文本片段。该文档还包括响应于用户选择而使得读者能够在经OCR处理的文本和相应图像片段之间切换文本片段的显示的程序代码。在另一方面,针对每个文本片段计算垃圾得分。经OCR处理的文档中的每个文本片段利用其垃圾得分来标记。当加载经OCR处理的文档时,嵌入的程序代码将每个文本片段的垃圾得分与阈值的值相比较。如果文本片段的垃圾得分低于该阈值,则程序代码显示文本片段。否则,程序代码显示图像片段以取代文本片段。用户可以通过选择文本片段而切换显示。在说明书中描述的特征和优点并非是全面包括的,尤其是,参考附图、说明书和权利要求书,许多附加特征和优点对于本领域普通技术人员是易见的。此外,应当注意,说明书中使用的语言是出于易读性和指示性目的而选择,而并非选择用于描绘和限制所公开的主题。
图1是根据本公开一个实施方式的计算环境的高层次框图;图2是例示出根据本公开一个实施方式的用于在图1中示出的计算环境中使用的计算机的示例的高层次框图;图3是例示出根据本公开一个实施方式的在文档服务系统内的模块的高层次框图;图4是例示出根据本公开一个实施方式的文档服务系统的操作的流程图;图5是例示出根据本公开一个实施方式的由文档服务系统生成的控制模块的操作的流程图;图6A至6C是例示出根据本公开一个实施方式的由文档服务系统生成的阅读web 页面的用户体验的截屏。
具体实施例方式在此描述的计算环境使得经过OCR处理的文档的读者能够方便地在经过OCR处理的文本片段和包括该文本片段的源图像的片段之间切换显示。附图以及下文的描述仅通过例示的方式描述了特定实施方式。从下文的描述中, 本领域技术人员将易于认识到,在不脱离在此描述的原理的情况下,可以使用在此例示的结构和方法的备选实施方式。现在将详细参考若干实施方式,该实施方式的示例在附图中例示出。应当注意,在任何可行处,类似或者相似的参考标号可以在附图中使用,并且可以指示类似或者相似的功能。系统环境图1是例示出根据本公开一个实施方式的计算环境100的高层次框图,该计算环境100用于将印刷出版物转换至经过OCR处理的文本、并如所期望地允许读者查看经OCR 处理的文本和相应的源图像。如所示出的,计算环境100包括扫描仪110、0CR引擎120、文档服务系统130和客户端设备140。仅示出了各实体中的一个以便使得当前的描述简化和清晰。在计算环境100中还可以存在其他实体。在某些实施方式中,OCR引擎120和文档服务系统130结合为单一实体。扫描仪110是硬件设备,配置用于光学地扫描印刷的出版物(例如,书本、报纸) 并将该印刷的出版物转换成数字文本图像。扫描仪110的输出被馈送至OCR引擎120中。OCR引擎120是硬件设备和/或软件程序,配置用于将源图像转换(或转化)为可编辑文本(下文中称为经OCR处理的文本)。OCR引擎120使用计算机算法处理源图像并生成相应的经OCR处理的文本。此外,OCR引擎120生成并输出描述包含在源图像中经OCR处理的文本的图像片段的位置信息。例如,对于每个文本片段(例如,段落、栏目、标题),OCR引擎120提供描述包围盒的值集合,该包围盒唯一地指定包含文本片段的源图像的片段。描述包围盒的值包括在χ轴和y轴上的矩形的左上角的二维坐标以及该矩形的宽度和高度。由此,该包围盒将源图像的区域唯一地标识为对应于文本片段的图像片段。在其他实施方式中,包围盒可以使用矩形以外的其他形状指定。OCR引擎120还可以生成测量经OCR处理的文本质量的置信度级别。此外,OCR引擎120可以生成诸如格式信息(例如,字体、字体大小、样式)的其他信息。OCR引擎120的示例包括ABBYY FineReader 0CR、AD0BE Acrobat Capture和MICROSOFT Office Document Imaging。OCR引擎120的输出被馈送至文档服务系统130。文档服务系统130是配置用于向用户提供印刷出版物的电子呈现的计算机系统。 文档服务系统130存储从OCR引擎120接收的信息,该信息包括经OCR处理的文本、源图像、 将经OCR处理的文本片段关联于源图像片段的位置信息以及置信度级别。在一个实施方式中,文档服务系统130使用所接收的信息,针对经OCR处理的文本的每个文本片段计算用于测量其整体质量的“垃圾得分”。此外,文档服务系统130包括可以由客户端设备140执行的控制模块132。控制模块132允许客户端设备140的用户选择性地切换文本片段和相应图像片段的显示,由此允许查看经OCR处理的文本或者从中生成该文本的印刷出版物的源图像的部分。在一个实施方式中,文档服务系统130向用户提供web站点以使用客户端设备140 如同web页面那样阅读经OCR处理的印刷出版物。一旦从客户端设备接收到印刷出版物特定部分的请求,则文档服务系统130生成包含该出版物的所请求部分的文档(例如,web页面)。在一个实施方式中,文档包括出版物的所请求部分(例如,书本的章节的文本)内的文本片段。此外,文档包括将文本片段与对应的图像片段相关联的位置信息,以及该文本片段的垃圾得分。文档还包括控制模块132。文档服务系统130向请求客户端设备140提供所生成的文档。客户端设备140是计算机系统,配置用于从文档服务系统130请求文档,以及作为响应而显示所接收的文档。此功能可以由诸如在客户端设备140上执行的web浏览器(例如,Microsoft Internet Explorer , Mozilla Firefoxn^PApple Safari )的阅读应用 142提供。阅读应用142执行从文档服务系统130接收的文档中所包括的控制模块132,该控制模块132转而允许用户在文本片段的显示和对应图像片段的显示之间切换文档的部分。扫描仪110与OCR引擎120可通信地连接;OCR引擎120与文档服务系统130可通信地连接;并且文档服务系统130与客户端设备140可通信地连接。连接中的任一项可以通过有线网络或无线网络进行。网络示例包括因特网、内联网、WiFi网络、WiMAX网络、移动电话网络或者其结合。计算机架构使用一个或者多个计算机来实现在图1示出的实体。图2是例示出示例计算机 200的高层次框图。计算机200包括耦合至芯片集204的至少一个处理器202。芯片集204 包括存储器控制器集线器220和输入/输出(1/0)控制器集线器222。存储器206和图形适配器212耦合至存储器控制器集线器220,并且显示器218耦合至图形适配器212。存储设备208、键盘210、指点设备214、网络适配器216耦合至1/0控制器集线器222。计算机 200的其他实施方式具有不同的架构。存储设备208是诸如硬件驱动、光盘只读存储器(⑶-ROM)、DVD或者固态存储器设备的计算机可读存储介质。存储器206保持由处理器202使用的指令和数据。指点设备 214是鼠标、轨迹球或者其他类型的指示设备,并与键盘210结合使用以向计算机系统200 输入数据。图形适配器212在显示器218上显示图像和其他信息。网络适配器212将计算机系统200耦合至一个或者多个计算机网络。
计算机200适用于执行用于提供在此描述的功能的计算机程序模块。如在此使用的,术语“模块”指代用于提供特定功能的计算机程序逻辑。因而,模块可以被实现为硬件、 固件和/或软件。在一个实施方式中,程序模块存储在存储设备208上,被加载到存储器 206中并且由处理器202执行。由图1的实体使用的计算机200的类型可以取决于由该实体所需要的实施方式和所需的处理能力而有所变化。例如,文档服务系统130可以包括多个在一起工作的刀片服务器以提供在此描述的功能。作为另一示例,客户端设备140可以包括具有有限处理能力的移动电话。计算机200可以不具有在此描述的某些组件,诸如键盘210、图形适配器212 和显示器218。文档服务系统的示例性架构概览图3是例示出根据一个实施方式的在文档服务系统130内的模块的详细视图的高层次框图。文档服务系统130的某些实施方式具有不同于在此所述的模块和/或具有其他模块。类似地,功能可以按照不同于在此描述的方式,根据其他实施方式而在模块之间分布。如所例示出的,文档服务系统130包括文本评估引擎310、代码生成模块320、文本生成模块330、输入/输出管理模块(在此称为I/O模块)340和数据存储350。文本评估引擎310基于由OCR引擎120提供的信息而生成文本片段的垃圾得分。 垃圾得分是测量文本片段的整体质量的数字值。在一个实施方式中,垃圾得分在0和100 的范围之间,其中0指示高文本质量,而100指示低文本质量。为了生成垃圾得分,文本评估引擎310的一个实施方式针对在文本片段中的每个字符而生成语言条件性字符概率的集合。每个语言条件性字符概率指示在文本片段中位于前部的字符和字符集合与语言模型相一致的程度。位于前部的字符集合通常限于较小数量 (例如,4-8个字符),使得基于该模型赋予复合词和其他联合词中的字符以强概率值。语言条件性字符概率可以与文本质量的其他指示符(例如,由OCR引擎120提供的置信度水平)相结合,以针对文本片段中的每个字符生成文本质量得分。此类值的计算允许文本质量的位置特定的分析。文本评估引擎310结合与文本片段中的字符相关联的文本质量得分的集合,以生成表征文本片段的质量的垃圾得分。文本评估引擎310可以将与文本片段中的字符相关联的文本质量得分求平均,以生成垃圾得分。代码生成模块320生成或者以其他方式提供控制文档在客户端设备140上的显示的控制模块132。在一个实施方式中,使用浏览器可执行代码(使用诸如JAVASCRIPT、 JAVA或者Perl的编程语言)来实现控制模块132。代码生成模块320可以包括或者与诸如Google Web工具集的应用通信,和/或提供允许开发者开发控制模块132的集成开发环境(IDE)。取决于实施方式,代码生成模块320可以存储控制模块132的预创建的实例,该控制模块132可以包括在向客户端设备140提供的文档中,或者在从文档服务系统130请求文档的客户端设备140时,可以实时地形成控制模块132。文本生成模块330生成向请求客户端设备140提供出版物的部分的文档。在一个实施方式中,所生成的文档是使用超文本标记语言(HTML)形成的web页面。其他的实施方式生成非web页面的文档,诸如便携文档格式(PDF)文档和/或使用HTML以外的语言形成的web页面。
为了生成文档,文本生成模块330标识由客户端设备140请求的出版物和部分,并且从数据存储350获取构成该部分的文本片段。文本生成模块330生成具有文本片段的文档,另外还利用将文本片段与来自源图像的相应图像片段进行相关的位置信息来标记该文档中的每个文本片段。文本生成模块330还利用其相关联的垃圾得分来标记每个文本片段。此外,文本生成模块330在文档中嵌入由代码生成模块320提供的控制模块132。文本生成模块330可以在当经OCR处理的文本变为可用时生成文档。备选的是,文本生成模块 330可以按需(例如,基于来自客户端设备140的请求)动态地生成文档。I/O模块340管理文档服务系统130的输入和输出。例如,I/O模块340把从OCR 引擎120接收的数据存储在数据存储350中,并且激活文本评估引擎310以生成相应的垃圾得分。作为另一示例,I/O模块340从客户端设备140接收请求,并激活生成模块330以作为响应而提供所请求的文档。如果文档服务系统接收针对图像片段的请求,则I/O模块 340从数据存储350获取图像片段,并将其提供给客户端设备140。在一个实施方式中,I/ 0模块340在向客户端设备140返回图像片段之前处理该图像片段。例如,I/O模块340可以基于显示文档的客户端设备140的屏幕分辨率,调整图像片段的大小和/或分辨率。数据存储350存储由文档服务系统130使用的数据。此类数据的示例包括经OCR 处理的文本和相关联的信息(例如,垃圾得分、位置信息)、源图像以及所生成的文档。数据存储350可以是关系数据库或者任何其他类型的数据库。文档和控制模块根据一个实施方式,文档服务系统130利用嵌入式控制模块132来生成文档。文档包括利用用于标识相应图像片段的信息而被标记的文本片段。还使用设计用于模拟源图像中的原始文本的格式信息来标记文本片段。此类格式信息可以包括字体、字体大小和样式(例如,斜体、粗体、带下划线)。控制模块132的一个实施方式包括处理与文档相关的事件的事件处理机。例如, 响应于文档被加载到客户端设备140处的web浏览器(on-load事件),控制模块132使用 HTML文本标记来生成所包括的文本片段的显示。作为另一示例,响应于对文本片段的用户选择,控制模块132在文本片段和对应的图像片段之间切换显示。在一个实施方式中,当web页面由web浏览器加载时,嵌入式控制模块将每个文本片段的垃圾得分与阈值进行比较,以确定文本片段是否具有足够的质量以用于显示。如果垃圾得分等于或者低于该阈值,则控制模块使用诸如以下HTML代码来显示文本片段<pid =‘pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40 ‘ ><i>The courtyard of the Sheriff' ;s house. A chapel. A shed in which is a blacksmith' ;s forge with fire. A prison near which is an anvil,before which Will Scarlet is at work making a sword. </i></p>上述html代码包括以斜体样式显示如下文字“77^ courtyard of
the Sheriff,s house. A chapel. A shed in which is a blacksmith's forge with fire. A prison near which is an anvil, before which Will Scarlet is at
work making a sword.“使用如下信息“id = ' pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40' ”来标记该段落,这指示对应的图像片段定位于页面40 (pageID. 40),第1段(paraID. 1),图像片段的左上角位于(103,454),该图像片段高度为696像素而长度为70像素,并且相关联的垃圾得分是40 (garbage. 40)。如果垃圾得分超过阈值,则控制模块132自动地获取图像片段,并使用诸如以下HTML代码来显示图像片段而不是文本片段<p id = ‘ pageID. 40. paraID. 1. box. 103. 454. 696. 70. garbage. 40 ‘ Ximgsrc = “ image ? bookID = 0123&pageID = 40¶ID = l&x = 103&y = 454&h = 696&w = 70 “ display ="100%" ></p>上述HTML代码获取包含与上述段落相同的文本的图像片段,并且在文本片段处显示图像片段。应当注意,bookID可以由文本生成模块330硬编码到文档中。阈值的值可以由用户设置或者在文档中预置。用户还可以指定文档是显示文本片段还是图像片段。例如,用户可以使用键盘或者指示设备来激活文本片段,或者在触敏屏上标记文本片段。响应于用户选择,控制模块 132动态地在文本片段和对应的图像片段之间切换显示。当显示从文本片段切换至图像片段时,控制模块132利用唯一地标识图像片段(例如,页面号、段号、包围盒)的信息,从文档服务系统130请求图像片段,向web页面中插入图像片段的图像标记,并且向向用户绘制该图像片段以取代经OCR处理的文本。即使文本片段没有被显示,其也被存储于本地变量中,使得当用户切换回来时可以容易地显示对应对文本。通常,当显示图像片段时,控制模块132配置为100%地显示,这指示图像将被重置尺寸为充满屏幕的整个宽度。然而,当文本片段(例如,简短表达或者诸如“第一章”的标题行)是非常短(例如,小于一行的50%)时,控制模块可以配置用于以与屏幕宽度类似的比例显示图像。文档服务系统方法论概览图4是根据本发明一个实施方式的用于文档服务系统130交互式地向由用户向客户端设备140提供文档以用于查看的方法400的流程图。其他实施方式可以以不同的顺序执行方法400的步骤。并且,其他实施方式可以包括在此描述的之外的不同步骤和/或附加步骤。文档服务系统130可以并发地和/或并行地执行方法400的步骤的多个实例。初始地,文档服务系统130从OCR引擎120接收经OCR处理的文本、源图像和相关联的信息(例如,位置信息、置信度水平M410)。文档服务系统130(例如,通过文本评估引擎310)计算每个经OCR处理的文本片段的垃圾得分020),并且(例如,通过代码生成模块 320)生成将被包括在文档中的控制模块132(430)。文档服务系统130从客户端设备140接收针对出版物的一部分(例如,书中的章节)的请求G40),从数据存储350获取构成所请求部分的文本片段,并生成诸如包括文本片段的web页面的文档(450)。利用包括位置信息和垃圾得分的相关属性来标记文本片段。 所生成的文档还包括控制模块132。文档服务系统130向请求所生成的文档的客户端设备 140发送该文档。如上所述,用户可以与文档交互以查看图像片段而非对应的文本片段。当在客户端设备140处执行的控制模块132接收到显示图像片段的请求时,该控制模块132向文档服务系统130传输具有唯一地标识该图像片段的图像请求。文档服务系统130接收图像请求G70),获取所请求的图像片段G80),并将该图像片段传输给客户端设备140以用于显示090)。该图像请求可以提供附加信息,诸如显示文档的屏幕的分辨率。在向客户端设备140传输经处理的图像片段用于显示(490)之前,文档服务系统130可以基于此类信息处理该图像片段(例如,重设大小、调整分辨率)。针对控制模块的方法论概览图5是根据一个实施方式例示出在文档中包括的控制模块132的操作500的流程图。当文档由应用来显示时,通过客户端设备140处的阅读应用142(例如,web浏览器) 来执行控制模块132。在备选实施方式中,控制模块132的功能通过阅读应用142自身来提供(例如,通过插件小应用提供)。因而,控制模块132不需要被包括在由文档服务系统 130向客户端设备140发送的文档中。如所示出的,当加载文档时,控制模块132生成文档的显示(510)。如上所述,控制模块132将每个文本片段的垃圾得分与阈值的值进行比较,以确定是显示文本片段还是显示对应的图像片段。控制模块132监视并且检测用户对所显示片段的选择(520)。控制模块132确定所选择的片段当前被显示为文本片段还是图像片段。如果所显示的片段是文本片段,则控制模块132请求对应的图像片段(540),接收所请求的图像片段(550),并且显示所接收的图像片段以取代文本片段(560)。否则,控制模块132以文本片段替换用于图像片段的图像标记(570)。在一个实施方式中,控制模块132在文档中本地存储未显示的文本片段(例如,在本地JavMcript变量中),使得在当用户将显示切换回到文本时不需要从文档服务系统130请求和获取文本片段。在显示切换之后,控制模块132恢复监视用户选择。示例图6A至图6C是根据本公开的一个实施方式示出了与文档交互的用户体验截屏。 在此示例中,文档是web页面。如图6A所示,用户使用APPLE iPHONE客户端获取针对标题为“A Christmas Carol =Being a Ghost of Christmas Past,,的经 OCR 处理的图书而生成的web页面。该web页面包括图书的第120-130页。用户期望查看段落610的图像片段,并点击该段落的显示。如图6B所示,作为响应,控制模块132利用间隙(interstitial)图像620替换段落610的文本片段。间隙图像 620示出文本“Loading original book image…(点击该图像以返回先前视图)”。间隙图像620被设计用于帮助用户理解动作,以及提供如何返回的清晰引导。例如,如果客户端设备140的网络连接情况差,则可能会花费一段时间来加载包含段落610的原始图像片段。 用户可以点击间隙图像620来取消动作,并恢复查看文本片段。间隙图像620还有助于减小所感知到的加载时间。如图6C所示,当获取图像片段630时,控制模块132切换到图像片段630以替换文本片段。用户继而可以再次点击以返回如图6A所示的文本片段。上述说明的某些部分以算法过程或操作的形式描述了实施方式。这些算法描述和表示通常由数据处理技术领域的技术人员使用,以向本领域其他技术人员有效地传递他们工作的实质。尽管这些操作以功能、计算或者逻辑方式描述,然而应当理解为可以由包括由处理器或者等效电子电路执行的指令、微代码等的计算机程序执行。而且,还证明了将这些功能操作的布置称为模块有时候是方便的。所描述的操作和他们相关联的模块也可以嵌入到软件、固件、硬件、或者任何他们的结合中。
如在此使用的,对于“一个实施方式”或者“一种实施方式”的任何引用意味着,与实施方式结合描述的特定元素、特征、结构或者特性被包括在至少一个实施方式中。在说明书中不同位置处出现的术语“在一个实施方式中”不必全指代相同的实施方式。可以使用表述“耦合”和“连接”及其变型来描述某些实施方式。应当理解,这些术语并不旨在作为彼此的同义词。例如,可以使用术语“连接”来描述某些实施方式,以指示两个或者更多元件物理地或者电气地彼此直接接触。在另一示例中,可以使用术语“耦合” 来描述某些实施方式,以指示两个或者更多元件物理地或电气地直接接触。然而,术语“耦合”还可以表示两个或者更多元件不是彼此直接地接触,而是彼此协作或者交互。实施方式不限于此内容。如在此使用的,术语“包括”、“包括了”、“包含”、“包含了”、“具有”、“具有了”或者其
任何其他变形旨在覆盖非排他性的包括。例如,包括一系列元件的处理、方法、物品或者装置不必仅限于那些元件,而是可以包括没有明确列出其他元件的或者对于此类过程、方法、 物品或者装置固有的其他元件。此外,除非相反地明确阐明,“或者”是指包含式的或者,而不是排他式的或者。例如,在符合以下任一项时满足条件A或B :A为真(或者存在)并且 B为假(或者不存在)、A为假(或者不存在)并且B为真(或者存在)、以及A和B两者均为真(或者存在)。此外,可以使用“ 一,,或者“ 一种,,来描述在此的实施方式的元件或者组件。这仅仅是出于方便并且为了给出了本公开的概括含义而使用。此描述将被解读为包括一个或者至少一个,并且除非很明显不是这样,否则该单数还可以包括复数。在阅读本公开时,本领域技术人员应当理解仍然有用于显示经OCR处理的文本的系统和过程的其他备选结构性和功能性设计。因而,尽管已经例示出和描述了特定实施方式和应用,应当理解,本发明不限于在此公开的精确构成和组件,并且在不脱离所附权利要求书定义的精神和范围的情况下,可以针对在此公开的方法和装置的布置、操作和细节做出对本领域技术人员易见的各种修改、改变和变形。
权利要求
1.一种用于显示出版物的计算机实现的方法,包括接收包括响应于对所述出版物的源图像执行光学字符识别(OCR)处理而生成的文本片段的文档;在用户所使用的客户端设备的显示器上显示一个或多个所述文本片段;响应于所述用户对所显示的文本片段的选择,获取与所选择的文本片段的源图像相对应的图像片段;以及在所述客户端设备的所述显示器上显示所述图像片段以取代所选择的文本片段。
2.根据权利要求1所述的计算机实现的方法,进一步包括响应于所述用户对所述图像片段的选择,在所述客户端设备的所述显示器上显示所述文本片段以取代所选择的图像片段。
3.根据权利要求1所述的计算机实现的方法,其中所述文档进一步包括指示相关联文本片段的质量的垃圾得分,以及其中显示一个或多个所述文本片段包括将所述相关联文本片段的所述垃圾得分与阈值的值进行比较;响应于所述垃圾得分低于所述阈值的值,显示所述相关联文本片段;以及响应于所述垃圾得分超过所述阈值的值,在所述客户端设备的所述显示器上显示与所述相关联文本片段相对应的图像片段以取代所述相关联文本片段。
4.根据权利要求1所述的计算机实现的方法,其中所述文档包括将所包括的文本片段与所述源图像的图像片段进行相关的位置信息,其中获取所述图像片段进一步包括标识所述所显示的文本片段在所述文档中的位置信息;以及传输针对所述图像片段的请求,所述请求包括所标识的所述位置信息。
5.根据权利要求4所述的计算机实现的方法,其中针对所述图像片段的所述请求被传输至远程服务器,并且所述图像片段从所述远程服务器被获取。
6.根据权利要求4所述的计算机实现的方法,其中所述位置信息描述所述源图像中显示对应的文本片段中所包含的文本的区域。
7.根据权利要求1所述的计算机实现的方法,进一步包括响应于所述用户对所显示的文本片段的所述选择,与所述文档相关联地存储所述所显示的文本片段。
8.一种编码有用于显示出版物的可执行计算机程序代码的计算机可读存储介质,所述计算机程序代码包括用于执行如下的程序代码接收包括响应于对所述出版物的源图像执行光学字符识别(OCR)处理而生成的文本片段的文档;在用户所使用的客户端设备的显示器上显示一个或多个所述文本片段;响应于所述用户对所显示的文本片段的选择,获取与所选择的文本片段的源图像相对应的图像片段;以及在所述客户端设备的所述显示器上显示所述图像片段以取代所选择的文本片段。
9.根据权利要求8所述的计算机可读存储介质,进一步包括用于以下的程序代码响应于所述用户对所述图像片段的选择,在所述客户端设备的所述显示器上显示所述文本片段以取代所选择的图像片段。
10.根据权利要求8所述的计算机可读存储介质,其中所述文档进一步包括指示相关联文本片段的质量的垃圾得分,以及其中用于显示一个或多个所述文本片段的程序代码包括用于以下的程序代码将所述相关联文本片段的所述垃圾得分与阈值的值进行比较;响应于所述垃圾得分低于所述阈值的值,显示所述相关联文本片段;以及响应于所述垃圾得分超过所述阈值的值,在所述客户端设备的所述显示器上显示与所述相关联文本片段相对应的图像片段以取代所述相关联文本片段。
11.根据权利要求8所述的计算机可读存储介质,其中所述文档包括将所包括的文本片段与所述源图像的图像片段相关联的位置信息,其中用于获取所述图像片段的程序代码进一步包括用于以下的程序代码标识所述所显示的文本片段在所述文档中的位置信息;以及传输针对所述图像片段的请求,所述请求包括所标识的所述位置信息。
12.一种用于向用户提供出版物的计算机实现的方法,包括接收包括响应于对所述出版物的源图像执行的光学字符识别(OCR)处理而生成的文本片段的文档,所述文档还包括指定与所述文本片段相对应的所述源图像的片段的位置信息;向客户端设备提供所述文档;以及响应于从所述客户端设备接收包括与所述文档中所包含的文本片段对应的图像片段的位置信息的请求,向所述客户端设备提供所述对应的图像片段。
13.根据权利要求12所述的计算机实现的方法,其中接收所述文档进一步包括生成指示相关联文本片段的质量的垃圾得分;以及生成所述文档以包括所述相关联文本片段和所述垃圾得分。
14.根据权利要求13所述的计算机实现的方法,其中生成相关联文本片段的所述垃圾得分进一步包括基于语言模型,计算所述相关联文本片段中的每个字符的语言条件性字符概率的集合;以及基于所述文本片段中的字符的语言条件性字符概率的集合,生成所述相关联文本片段的所述垃圾得分。
15.根据权利要求13所述的计算机实现的方法,进一步包括在所述文档中包括控制模块,所述控制模块适用于在所述客户端设备上执行以控制所述文档在所述客户端设备上的显示,以及响应于与所述客户端设备的用户的交互而生成针对与所述文本片段对应的图像片段的请求。
16.根据权利要求12所述的计算机实现的方法,其中所述位置信息描述所述源图像中显示对应的文本片段中所包括的文本的区域。
17.—种编码有用于向用户提供出版物的可执行计算机程序代码的计算机可读存储介质,所述计算机程序代码包括用于执行如下的程序代码接收包括响应于对所述出版物的源图像执行的光学字符识别(OCR)处理而生成的文本片段的文档,所述文档还包括指定与所述文本片段相对应的所述源图像的片段的位置信息;向客户端设备提供所述文档;以及响应于从所述客户端设备接收包括与所述文档中所包含的文本片段对应的图像片段的位置信息的请求,向所述客户端设备提供所述对应的图像片段。
18.根据权利要求17所述的计算机可读存储介质,其中用于获取所述文档的程序代码进一步包括用于如下的程序代码生成指示相关联文本片段的质量的垃圾得分;以及生成所述文档以包括所述相关联文本片段和所述垃圾得分。
19.根据权利要求18所述的计算机可读存储介质,其中用于生成相关联文本片段的所述垃圾得分的程序代码进一步包括用于如下的程序代码基于语言模型,计算所述相关联文本片段中的每个字符的语言条件性字符概率的集合;以及基于所述文本片段中的字符的语言条件性字符概率的集合,生成所述相关联文本片段的所述垃圾得分。
20.根据权利要求18所述的计算机可读存储介质,进一步包括用于如下的程序代码 在所述文档中包括控制模块,所述控制模块适用于在所述客户端设备上执行用以控制所述文档在所述客户端设备上的显示,以及用以响应于与所述客户端设备的用户的交互而生成针对与所述文本片段对应的图像片段的请求。
全文摘要
使用光学字符识别(OCR)处理从出版物的源图像提取文本。生成包括所提取文本的文本片段的文档。该文档包括对与所显示文档的用户交互进行响应的控制模块。响应于用户对所显示文本片段的选择,从源图像中获取对应的包括该文本的图像片段,并将绘制该图像片段以取代所选择的文本片段。用户可以再次将显示切换回文本片段。可以利用指示其质量的垃圾得分来标记每个文本片段。如果文本片段的垃圾得分超过阈值的值,则可以自动地代之以显示对应的图像片段。
文档编号G06K9/00GK102301380SQ201080005734
公开日2011年12月28日 申请日期2010年1月25日 优先权日2009年1月28日
发明者A·波帕特, F·豪根, V·兰纳卡 申请人:谷歌公司