CN103959282A - 用于文本识别系统的选择性反馈 - Google Patents
用于文本识别系统的选择性反馈 Download PDFInfo
- Publication number
- CN103959282A CN103959282A CN201280056889.4A CN201280056889A CN103959282A CN 103959282 A CN103959282 A CN 103959282A CN 201280056889 A CN201280056889 A CN 201280056889A CN 103959282 A CN103959282 A CN 103959282A
- Authority
- CN
- China
- Prior art keywords
- text string
- text
- editing distance
- identification
- correction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Character Discrimination (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
Abstract
本说明书描述涉及各种媒体中的文本识别的技术。一般而言,可以在方法中体现在本说明书中描述的主题内容的一个方面,这些方法包括接收包括代表一个或者多个单词的数据的输入信号并且向文本识别系统传递输入信号,文本识别系统基于输入信号生成识别的文本串。这些方法还可以包括从文本识别系统接收识别的文本串。这些方法还可以包括向用户呈现识别的文本串并且基于来自用户的输入来接收纠正的文本串。这些方法还可以包括检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下。如果编辑距离在阈值以下,则可以向文本识别系统传递纠正的文本串以用于训练目的。
Description
技术领域
本公开内容涉及在各种媒体中的文本的识别。
背景技术
已经部署了能够检测音频话音信号并且将它们转换成有关文本的语音识别系统以允许用户通过语音命令与计算机交互。例如,语音识别系统已经用来使客户服务呼叫的应答和处理自动化。
已经部署了能够从图像提取文本的光学字符识别(OCR)系统以有助于在图像文件中存储的文本的复制和搜索。例如,OCR系统已经用来从被存储为可移植文档文件(PDF)的图像提取文本。
文本识别系统(例如,语音识别系统或者OCR系统)可以使用机器学习模型,这些机器学习模型使用大型训练数据集而被训练。例如,训练数据可以包括音频语音信号和配对的文本等效物或者标签。生成用来训练文本识别系统的数据集可能成本高。
发明内容
本说明书描述涉及在各种媒体中的文本的识别的技术。一般而言,可以在一种方法中体现在本说明书中描述的主题内容的一个方面,该方法包括接收输入信号,输入信号包括与一个或者多个单词对应的数据。该方法还可以包括向文本识别系统传递输入信号,文本识别系统基于输入信号生成识别的文本串。该方法还可以包括从文本识别系统接收识别的文本串。该方法还可以包括向用户呈现识别的文本串。该方法还可以包括基于来自用户的输入来接收纠正的文本串。该方法还可以包括检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下。该方法还可以包括如果编辑距离在阈值以下则向文本识别系统传递纠正的文本串以用于训练目的。
一般而言,可以在一种系统中体现在本说明书中描述的主题内容的一个方面,该系统包括数据处理装置和耦合到数据处理装置的存储器。存储器具有在其上存储的指令,指令在由数据处理装置执行时使数据处理装置执行操作,操作包括接收输入信号,输入信号包括与一个或者多个单词对应的数据。操作还可以包括向文本识别系统传递输入信号,文本识别系统基于输入信号生成识别的文本串。操作还可以包括从文本识别系统接收识别的文本串。操作还可以包括向用户呈现识别的文本串。操作还可以包括基于来自用户的输入来接收纠正的文本串。操作还可以包括检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下。操作还可以包括如果编辑距离在阈值以下则向文本识别系统传递纠正的文本串以用于训练目的。
一般而言,可以在一种移动设备中体现在本说明书中描述的主题内容的一个方面,该移动设备包括:麦克风,被配置用于接收输入信号,输入信号包括与一个或者多个单词对应的数据。移动设备还可以包括:无线网络接口,被配置用于向文本识别系统传输输入信号,文本识别系统基于输入信号生成识别的文本串。移动设备还可以包括:无线网络接口,被配置用于从文本识别系统接收识别的文本串。移动设备还可以包括:显示器,被配置用于向用户呈现识别的文本串。移动设备还可以包括:用户接口,被配置用于从用户接收对识别的文本串的一个或者多个编辑。移动设备还可以包括:模块,被配置用于基于识别的文本串和编辑来确定纠正的文本串。移动设备还可以包括:装置,用于检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下。移动设备还可以包括:无线网络接口,被配置用于如果编辑距离在阈值以下则向文本识别系统传递纠正的文本串以用于训练目的。
一般而言,可以在一种系统中体现在本说明书中描述的主题内容的一个方面,该系统包括被配置用于接收输入信号的接口,输入信号包括与一个或者多个单词对应的数据。该系统还可以包括被配置用于向文本识别系统传递输入信号的接口,文本识别系统基于输入信号生成识别的文本串。该系统还可以包括被配置用于从文本识别系统接收识别的文本串的接口。该系统还可以包括被配置用于向用户呈现识别的文本串的接口。该系统还可以包括被配置用于基于来自用户的输入来接收纠正的文本串的接口。该系统还可以包括用于检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下的接口。该系统还可以包括被配置用于如果编辑距离在阈值以下则向文本识别系统传递纠正的文本串以用于训练目的的接口。
一般而言,可以在一种存储软件的计算机可读介质中体现在本说明书中描述的主题内容的一个方面,该软件包括可由处理设备执行的指令,这些指令在这样的执行时使处理设备执行操作,这些操作包括接收输入信号,输入信号包括与一个或者多个单词对应的数据。这些操作还可以包括向文本识别系统传递输入信号,文本识别系统基于输入信号生成识别的文本串。这些操作还可以包括从文本识别系统接收识别的文本串。这些操作还可以包括向用户呈现识别的文本串。这些操作还可以包括基于来自用户的输入来接收纠正的文本串。这些操作还可以包括检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下。这些操作还可以包括如果编辑距离在阈值以下则向文本识别系统传递纠正的文本串以用于训练目的。
这些和其它实施例可以各自可选地包括以下特征中的一个或者多个特征。编辑距离可以代表Levenshtein距离。编辑距离可以代表将识别的文本串变换成纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。编辑距离可以是从识别的文本串产生纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在编辑距离中未被计数。编辑距离可以是插入的连续字符的最大数目。输入信号可以是听觉话音信号。输入信号可以是图像信号。文本识别系统可以由远程定位的服务器执行。文本识别系统可以由用户设备执行。向文本识别系统传递输入信号可以包括通过网络传输对输入信号编码的信号。检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下可以包括确定编辑距离并且比较编辑距离与阈值。检查在纠正的文本串与识别的文本串之间的编辑距离是否在阈值以下可以包括计算中间编辑距离值直至阈值被超过或者编辑距离被确定。基于来自用户的输入来接收纠正的文本串可以包括:接收数据,数据代表对识别的文本串的一个或者多个用户编辑;并且基于识别的文本串和编辑来确定纠正的文本串。编辑距离的单位可以代表字符的数目。编辑距离的单位可以代表音素的数目。编辑距离的单位可以代表单词的数目。阈值可以依赖于纠正的文本串的长度。阈值可以近似为纠正的文本串的长度的百分之五十。向用户呈现识别的文本串可以包括向用户设备传输识别的文本以用于向用户显示。向用户呈现识别的文本串可以包括在显示器上显示识别的文本。
可以实施本发明的具体实施例以实现以下优点中的一个或者多个优点。一些实现方式可以有助于基于文本识别系统的训练机器学习。一些实现方式可以从训练数据集滤除更不有用的数据,该训练数据集收集自用户。一些实现方式可以与通过提供用于训练目的的低成本数据来减少文本识别服务的成本一起通过提供用于训练目的的更可靠数据来提高文本识别服务的质量。一些实现方式可以有助于适配文本识别系统以适应个别用户的特性。
在附图和以下描述中阐述本发明的一个或者多个实施例的细节。本发明的其它特征、方面和优点将从描述、附图和权利要求变得清楚。
附图说明
图1是示例在线环境的框图。
图2A是用于收集和过滤来自文本识别系统的用户的文本识别训练数据的示例过程的流程图。
图2B是用于检查在识别的文本串与收集的文本串之间的编辑距离是否在阈值以下的示例模块的数据流程图。
图2C是用于确定在识别的文本串与纠正的文本串之间的编辑距离的示例过程的流程图。
图2D至图2G是用于检查编辑距离是否在阈值以下的示例过程的代码表。
图3是示例性移动设备的示意表示,该移动设备实施这里描述的文本识别纠正过滤器的实施例。
图4是图示图3的设备的内部架构的框图。
图5是图示由图3的设备使用的操作系统的示例性部件的框图。
图6是图示由图5的操作系统内核实施的示例性过程的框图。
图7示出可以用来实施这里描述的技术的计算机设备和移动计算机设备的示例。
在各种附图中的相似标号和标示指示相似要素。
具体实施方式
文本识别系统(例如,话音识别系统或者OCR系统)用来从反映信息的输入信号提取文本,该信息包括单词或者其它符号。文本识别系统可以包括机器学习系统(例如,隐马尔科夫模型、基于特征的线性回归、人工神经网络),该机器学习系统通过分析已经各自与已知文本串配对的许多示例输入信号来训练用来检测输入信号中的文本的模型,该已知文本串代表在该输入信号中反映的单词或者符号。用于这一目的的输入信号和文本串对的集合可以被视为训练数据。在一些实现方式中,可以从文本识别系统的一个或者多个用户收集附加训练数据并且使用该附加训练数据以进一步精化由文本识别系统使用的模型。在许多用户(例如,数千个用户)通过网络访问和利用文本识别系统时,用户可以共同地是训练数据的广大和成本高效来源。
可以通过反馈用户对给定的识别的文本串进行的纠正来提高文本识别系统的准确性。例如,话音识别服务的用户可以说出“金门大桥在日落时的图片”作为口头搜索查询的部分。话音识别服务可能识别“金门大桥和日落的图片”。用户然后可以编辑从话音识别服务返回的文本并且纠正服务所犯的错误。然后可以将所得的纠正的文本串与输入音频话音信号配对以形成可以由使训练数据成为服务的基础的话音识别系统使用的示例。
然而,在一些情况下,用户可以对识别文本进行显著改变或者甚至书写全新文本。这一境况可以例如由于输入信号中的低信噪比、用户错误或者如下而出现:用户进行编辑作为主要目的而不是训练话音识别系统,即输入用户打算说出的内容而不是用户实际说出的内容。在这样的情况下,向话音识别服务中反馈用户的编辑以用于用作训练数据可能没有帮助,因为新文本不再必然与原先口述的查询紧密有关。
在识别的文本串与从用户的编辑产生的纠正的文本串之间的编辑距离可以用来测量用户编辑的显著性。在两个文本串之间的编辑距离可以测量需要多少编辑操作以将一个文本改变成另一文本。例如,在两个文本串之间的Levenshtein距离是将一个文本串变换成另一文本串而需要的单字符插入、删除或者替换操作的最小数目。通常将仅考虑具有在预定义的阈值以下的编辑距离的用户纠正以用于将来的文本识别系统训练和改进。所有其它改变可以被视为太显著而无用。以这一方式,编辑距离计算和阈值化可以用来过滤从用户收集的纠正的文本串以提供更可靠的训练数据集。
图1是示例在线环境100的框图,在该在线环境100中,文本识别纠正过滤器可以用来选择性地收集用于文本识别系统的训练数据。在这一示例中,话音识别系统108是通过网络104可用于用户的口头搜索服务器系统101的部分。话音识别系统108可以包括它用来确定模型参数122的训练数据120。模型参数然后可以用来标识在音频输入信号中出现的单词。训练数据集可能庞大并且可以存储于存储系统130中。
用户从他们的设备134、136(例如,智能电话、平板计算设备、计算机等)访问口头搜索服务。用户可以使用他们的设备以通过提交应用命令140来与搜索服务器系统101交互。例如,移动设备136的用户可以向搜索服务器系统101提交口头搜索词项142。口头搜索词项可以包括音频输入信号并且使用接口102被接收并且被向请求处理器112传递。请求处理器112然后可以向话音识别系统108发送接收的请求的音频部分,话音识别系统108标识音频中的单词并且返回可以作为搜索查询而被使用的识别的文本串。然后向搜索引擎114传递所得的格式化的搜索查询,搜索引擎114搜索它的索引116并且向响应格式化器118输出搜索结果集。响应格式化器118可以生成响应网页或者其它类型的响应(例如,文本、影像等)。响应网页可以由接口102通过网络104向移动设备136传输。响应网页可以包括从识别的文本串和搜索结果146得到的文本搜索词项144的显示。移动设备的用户然后可以感知从用户的口头搜索词项产生的文本搜索词项中的错误。
此时,用户可以输入对文本搜索词项的纠正编辑并且重新提交查询作为纠正的搜索词项150。纠正的搜索词项150可以通过接口102由请求处理器112和文本识别纠正过滤器110二者接收。文本识别纠正过滤器110可以已经先前从话音识别系统108接收了从口头搜索词项142产生的识别的文本串。文本识别纠正过滤器110可以使用在从口头搜索词项产生的识别的文本串与纠正的搜索词项之间的一个或者多个编辑距离以评估纠正的搜索词项作为训练数据的可能值。文本识别纠正过滤器110可以将阈值应用于编辑距离以确定纠正的搜索词项是否应当由话音识别系统108用作训练数据。以这一方式选择的纠正的搜索词项可以可能地与对应的口头搜索词项一起向话音识别系统108传递并且被存储于存储设备130中以用于在将来的训练中用来调整模型参数122。
文本识别纠正过滤器110可以被实施为在处理装置(比如一个或者多个计算设备(例如,如图7中所示的计算机系统))上执行的软件、硬件或者软件与硬件的组合。
图2A是用于收集和过滤来自文本识别系统的用户的文本识别系统纠正的示例过程200的流程图。有助于用户与文本识别系统的交互,并且该交互导致由用户纠正识别的文本串。检查在识别的文本串与所得的纠正的文本串之间的编辑距离以确定距离是否在阈值以下。在这一布置中,滤除具有在阈值以上的距离的纠正的文本串。向文本识别系统传递具有在阈值以下的距离的纠正的文本串以进一步适配或者精化由文本识别系统使用的文本提取模型。
过程200例如可以由在图1的搜索服务器系统101中的文本识别纠正过滤器110实施。在一些实现方式中,搜索服务器系统101是数据处理装置,该数据处理装置包括被配置用于执行过程200的动作的一个或者多个处理器。例如,数据处理装置可以是计算设备(例如,如图7中所示)。在一些实现方式中,过程200可以由文本识别纠正过滤器实施,该文本识别纠正过滤器由用户的移动计算设备(例如,也在图7中图示)执行。例如,过程200可以由文本识别纠正过滤器552实施,文本识别纠正过滤器552由在图3至图6中描述的移动设备执行。在一些实现方式中,计算机可读介质可以包括指令,这些指令在由计算设备(例如,计算机系统)执行时使设备执行过程200的动作。
接收202包括信息的输入信号,该信息代表一个或者多个单词或者符号。例如,输入信号可以是向口头搜索服务输入的音频话音信号。在一些实现方式中,输入信号可以是图像文件,该图像文件包含印刷的单词(例如,来自书籍的记号或者页面)的图片。在输入信号中代表的单词或者符号可以是文本识别系统能够处理的任何语言(例如,英文或者中文)。
可以从用户设备134、136(例如,蜂窝电话)接收202输入信号。可以经由搜索服务器系统101的服务器系统接口部件102接收输入信号。在一些实现方式中,可以通过在用户设备上的麦克风(例如,麦克风309)接收202输入信号。在一些实现方式中。可以通过在用户设备上的相机(例如,相机307)接收202输入信号。
向文本识别系统传递204输入信号。在一些实现方式中,文本识别系统在远程服务器上运行。例如,传递204输入信号可以伴随有使用网络接口(例如,包括天线的无线网络接口)经由网络传输输入信号。在一些实现方式中,文本识别系统和与过程200相同的本地设备集成并且在该本地设备上运行。例如,传递204输入信号可以伴随有在特定存储器位置中存储输入信号或者向文本识别系统中传递指向输入信号的指针作为向应用编程接口函数的变元。
从文本识别服务器接收206识别的文本串。文本识别系统可以标识在输入信号中代表的单词或者其它符号并且生成识别的文本串,该识别的文本串是标识的单词或者符号的文本表示。例如,识别的文本串可以是根据标准字符编码方案(例如,美国信息互换标准代码(ASCII))编码的字符序列。可以用多种方式(例如,通过网络从远程服务器、通过解除引用指向存储器的指针等)接收206识别的文本串。
可以向用户呈现208识别的文本串。可以通过在用户设备的显示器(例如,液晶显示器)上渲染识别的文本串的可视表示来呈现识别的文本串。例如,可以在图3的显示器301上呈现识别的文本串。在一些实现方式中,向用户呈现可以伴随有向用户设备传输识别的文本串。例如,文本识别纠正过滤器110可以通过向远程用户设备136传输识别的文本来呈现208识别的文本。
可以接收210基于来自用户的输入的纠正的文本串。纠正的文本串可以是反映用户输入的根据标准字符编码方案(例如,ASCII)编码的字符序列。例如,被呈现识别的串的用户可以通过用户接口(例如,键区或者触屏显示器)输入对文本的编辑。可以通过解释用户的编辑命令并且将它们应用于识别的文本串的副本来确定纠正的文本串。例如,可以从通过在图3的移动设备上的键盘302输入的用户编辑得到纠正的文本串。在一些实现方式中,通过网络在来自远程设备的通信信号中接收210纠正的串。例如,文本识别纠正过滤器110可以通过接口102接收用户设备已经通过网络传输的纠正的文本串。
执行检查212以确定在识别的文本串与纠正的文本串之间的编辑距离是否在阈值以下。编辑距离可以提供两个文本串如何相似的指示。在一些实现方式中,确定编辑距离并且然后比较编辑距离与阈值,例如,图2B的数据流程。对于一些编辑距离(例如,Levenshtein距离),存在具有单调性质的用于计算编辑距离的算法,这些单调性质可以允许确定编辑距离是否将在已经完成完整编辑距离计算之前在阈值以下。在一些实现方式中,可以根据编辑距离计算算法计算中间值直至确定编辑距离必须超过阈值或者直至确定编辑距离,例如,图2的程序表。
可以定义和使用许多可能的编辑距离以评估串的相似性并且因此评估纠正的文本串作为用于文本识别系统的训练数据的可能的效用。一个示例是在两个文本部分(例如,单词、段落等)之间的Levenshtein距离,该Levenshtein距离被定义为将文本部分中的一个文本部分变换成另一文本部分而需要的允许的编辑操作的最小数目。对于Levenshtein距离,允许的编辑操作通常是插入单字符、删除单字符和替换单字符。关于图2C描述用于确定在识别的文本串与纠正的文本串之间的Levenshtein距离的示例过程。
在一些实现方式中,可以使用修改的Levenshtein距离,该修改的Levenshtein距离对单字符的插入和单字符的替换的最小数目计数而忽略在两个文本之间变换而需要的字符删除。这一修改的Levenshtein距离可以是在文本识别纠正过滤器中的有用编辑距离,因为有噪声的输入信号(例如,在话音音频信号中的背景噪声)可以在下层单词或者符号不存在(例如,在话音中的无声时段或者暂停)时在识别的文本中引起额外字符。这一境况可以使删除更常见并且信息量更少。关于图2D描述用于检查这一编辑距离的过程。
编辑距离的另一示例是形成纠正的文本串而插入的连续字符的最大数目。关于图2D描述的过程也检查插入的连续字符的最大数目。在一些实现方式中,可以检查多个编辑距离并且如果所有编辑距离在它们的相应阈值以下则可以选择纠正的文本串以用于训练。
可以按照多种单位测量编辑距离及其阈值。例如,话音识别系统可以返回编码的音素或者编码的单词的序列,该序列转而可以被表示为字符的序列。使用的编辑距离可以定义将对单音素或者单单词的插入、删除或者替换而允许的操作的集合。
阈值可以依赖于识别的文本串或者纠正的文本串的性质。例如,可以将用于编辑距离的阈值设置成纠正的文本串的长度的百分比(例如,50%)。在一些实现方式中,不同阈值可以用于使用的每个距离度量。例如,固定阈值(例如,15个字符)可以用于最大连续字符插入编辑距离。可以迭代地确定阈值的确切值,并且该值可以贯穿系统的生命保持灵活。对阈值的更新可以部分依赖于在用纠正数据训练之前和之后的用于文本识别系统的性能度量差异,该纠正数据是使用阈值的先前值而被收集的。
例如,搜索服务器系统101的文本识别纠正过滤器模块110可以检查212编辑距离。在图3至图6中所示的移动设备的文本识别纠正过滤器552可以检查212编辑距离。
如果编辑距离在阈值215以下,则选择纠正的文本串以用于用作用于文本识别系统的训练数据。在这一情况下,可以向文本识别系统传递216纠正的文本串以用于训练目的。与输入信号一样,可以用多种方式(例如,传输、向存储器复制等)传递216纠正的文本串,这些方式可以依赖于实施过程200的系统的性质及其与文本识别系统的关系。在一些实现方式中,文本识别系统可以基于纠正的文本串立即更新它的模型参数。在一些实现方式中,文本识别系统可以存储纠正的文本串以用于以后在训练中使用。在一些实现方式中,可以在向文本识别系统分批(例如,定期地或者在已经选择了某个数目的串之后)传递之前本地存储选择的纠正的文本串。
如果编辑距离并非在阈值以下215,则可以忽略纠正的文本串用于训练目的。过程200然后可以终止218或者在重启之前等待用于文本识别系统的新输入信号。
图2B是用于检查在识别的文本串与纠正的文本串之间的编辑距离是否在阈值以下的示例模块220的数据流程图。该图图示对示例性数据的检查。模块220接受识别的文本串(“Home”)和对应的纠正的文本串(“House”)。首先向编辑距离模块222中传递这两个文本串,编辑距离模块222确定在两个串之间的编辑距离。例如,编辑距离模块222可以实施过程250(图2C中所示)以确定在两个串之间的Levenshtein距离。在Home与House之间的Levenshtein距离为2。例如,可以通过插入“u”字符并且用“s”字符替换“m”字符将“home”变换成“house”。没有如下变换,这些变换使用允许的单字符编辑操作中的少于两个字符编辑操作以从“home”映射到“house”。因此,编辑距离模块222输出编辑距离2并且向阈值模块224传递该数量,阈值模块224比较编辑距离与阈值并且输出纠正的文本的分类。例如,分类可以是二元输出(例如,是或者否、零或者一),该二元输出指示编辑距离是否在阈值以下并且暗示地指示纠正的文本串是否可能对于训练有用。在这一示例中,由阈值模块224使用的阈值是纠正的文本串的长度的50%,在这一情况下为2.5。由于距离在阈值以下,所以阈值模块输出“是”分类,这转而由模块220输出。
例如,模块220可以被实施为搜索服务器系统101的文本识别纠正过滤器110的部分。模块220可以由移动设备300的文本识别纠正过滤器552实施。
图2C是用于确定在识别的文本串与纠正的文本串之间的Levenshtein距离的示例过程250的流程图。该过程依次构建距离(即,编辑操作的计数)的矩阵。每个元素的值将被设置成在具有与行编号和列编号对应的长度的两个串的前缀之间的Levenshtein距离。计算的矩阵的最后元素(末行、末列)的值是在完整的识别的文本串与完整的纠正的文本串之间的Levenshtein距离。
例如,过程250可以由搜索服务器系统101的文本识别纠正过滤器110实施。过程250可以由移动设备300的文本识别纠正过滤器552实施。
取回252纠正的文本串和识别的文本串,并且初始化254距离矩阵。距离矩阵的尺度依赖于两个文本串的长度并且等于一加上纠正的文本串的长度乘以一加上识别的文本串的长度。在该示例中,矩阵的行对应于纠正的文本串的字符并且而列对应于识别的文本串的字符。距离矩阵的第一行和第一列均对应于空串,即无字符的串。将第一行和列中的元素设置成在两个空串之间的距离,即零。将第一行中的剩余元素设置成识别的文本串的以与元素的列对应的字符作为结束的前缀的长度。相似地,将第一列中的剩余元素设置成纠正的文本串的以与元素的行对应的字符作为结束的前缀的长度。
在初始化之后,可以基于与行和列的个别字符是否匹配以及用于矩阵中的附近元素(即用于相同长度或者少一个字符的前缀)的距离值确定元素值。处理在与纠正的文本串的第一字符和识别的文本串的第一字符对应的第二行256、第二列258中开始。
比较260纠正的文本串的与当前行对应的字符与识别的文本串的与当前列对应的字符。如果两个字符等效,则将用于这一元素的距离设置262成为前一行、前一列中的元素而存储的值。否则,距离将通常被设置264成从在矩阵的前一元素中存储的值递增的值。可以将当前距离元素设置264成一加上在(前一行,前一列);(前一行,当前列);以及(当前行,前一列)中存储的距离的最小值。
如果在当前行中有待处理的更多列265,则转到258与识别的文本串的下一字符对应的下一列。如果没有256,则检查是否有待处理的更多行267。如果是,则转到256与下一字符对应的下一行。最后,在已经处理了所有行时,可以返回268末行、末列中的值作为在识别的文本串与纠正的文本串之间的Levenshtein距离。
图2D至图2G是用于检查编辑距离是否在阈值以下的示例过程的代码表。示例过程实际检查两个编辑距离。第一编辑距离是修改的Levenshtein距离,该修改的Levenshtein距离在识别的文本串与纠正的文本串之间的变换中允许删除、插入和替换编辑操作,但是在距离值中未对删除操作计数,即删除被视为自由操作。在一些实现方式中,可以在编辑距离中向其它编辑操作给予不同权值(例如,替换操作计数为2,插入操作计数为1,并且删除操作计数为零)。无需计算距离矩阵的具有比阈值更大的值的元素并且将其视为死端,因为从它们推导的后续值仅能相同或者更高。在距离矩阵的当前行中的所有值在阈值以上时,检查过程然后可以终止而可能未计算用于两个文本串的最终编辑距离并且返回编辑距离未在阈值以下的指示。示例代码表将用于第一编辑距离的阈值设置成纠正的文本串的长度的百分比(例如,50%)。
第二编辑距离是用来从识别的文本串推导纠正的文本串的连续字符插入操作的最大数目。示例代码表将用于第二编辑距离的阈值设置成固定值(例如,15个字符)。
图2D提供用于模块270的按照C++编程语言的高级类定义,模块270将检查这两个编辑距离是否均在它们的相应阈值以下。
getDistance函数280接受识别的文本串和纠正的文本串作为输入并且返回可以在阈值或者恰在阈值以上饱和的编辑距离。在图2E中提供getDistance函数280的全定义。
DeltaTable类290定义模块用来检查编辑距离是否在阈值以下的距离矩阵。由于距离矩阵行的结构,可以在检查计算进行中之时丢弃在前一行之前的行,由此节省存储器使用。在图2F中提供DeltaTable类290的全定义。
Delta类295定义对象的性质,这些性质可以用来跟踪模块在它检查编辑距离是否在它们的相应阈值以下时的状态。在图2G中提供Delta类295的全定义。
例如,模块270可以由搜索服务器系统101的文本识别纠正过滤器模块110实施。模块270可以由移动设备300的文本识别纠正过滤器552实施。
现在参照图3,图示了实施文本识别纠正过滤器110(图1中所示)的示例性移动设备300的外观。简言之,设备300包括处理器以及其它部件,该处理器被配置用于选择性地收集用户对文本识别串的纠正并且向文本识别系统传递它们以用于用作训练数据。
更具体而言,设备300的硬件环境包括用于向用户显示文本、图像和视频的显示器301;用于向设备300中录入文本数据和用户命令的键盘302;用于指向、选择和调整在显示器301上显示的对象的指点设备304;天线305;网络连接306;相机307;麦克风309;以及扬声器210。虽然设备300示出了外部天线305,但是设备300可以包括对用户不可见的内部天线。
显示器301可以显示组成用户界面的视频、图形、图像和文本,该用户界面用于由设备300使用的软件应用和用来操作设备300的操作系统程序。在可以在显示器301上显示的可能元素之中是向用户提醒存在新消息的新邮件指示符311;指示正在接收、拨打电话呼叫或者电话呼叫正发生的活跃呼叫指示符312;指示设备300当前用来传输和接收数据的数据标准的数据标准指示符314;比如通过使用信号强度条指示经由天线305接收的信号的强度的测量的信号强度指示符315;指示剩余电池生命的测量的电池生命指示符316;或者输出当前时间的时钟317。
显示器301也可以示出表示可用于用户的各种应用的应用图标,比如web浏览器应用图标319、电话应用图标320、搜索应用图标321、联系人应用图标322、地图绘制应用图标324、电子邮件应用图标325或者其它应用图标。在一个示例实现方式中,显示器301是能够有16位或者更佳颜色的四分之一视频图形阵列(QVGA)薄膜晶体管(TFT)液晶显示器(LCD)。
用户使用键盘(或者“键区”302)以录入命令和数据以操作和控制操作系统和应用,该操作系统和这些应用提供与文本识别系统的交互。键区302包括标准键盘按钮或者与字母数字字符关联的键,比如在被独自选择时与字母数字字符“Q”和“W”关联或者在与键329组合被按压时与字符“*”和“1”关联的键326和327。单个键也可以基于操作系统或者操作系统涉及到的应用的状态而与包括未标注功能的特殊字符或者功能关联。例如,在应用需要输入数字字符时,独自选择键327可以使“1”被输入。
除了传统上与字母数字键区关联的键之外,键盘302也包括其它特殊功能键,比如使接收的呼叫被应答或者发出新呼叫的建立呼叫键330;使活跃呼叫终止的终止呼叫键331;使菜单在显示器301内出现的下拉菜单键332;使先前访问的网络地址再次被访问的后退导航键334;使活跃网页被放置于收藏站点的书签文件夹中或者使书签文件夹出现的收藏键335;使在设备300上被调用的应用导航到预定网络地址的主页键336;或者提供多向导航、应用选择以及电源和音量控制的其它键。
用户使用指点设备304以选择和调整在显示器301上显示的图形和文本对象作为与设备300和在设备300上被调用的应用的交互或者对设备300或者该应用的控制的部分。指点设备304是任何适当类型的指点设备并且可以是操纵杆、跟踪球、触板、相机、语音输入设备、与显示器301组合被实施的触屏设备或者任何其它输入设备。
可以是外部天线或者内部天线的天线305是用于传输和接收射频(RF)信号的定向或者全向天线,这些RF信号实施点到点无线电通信、无线局域网(LAN)通信或者位置确定。天线305可以有助于使用专门化移动无线电(SMR)、蜂窝或者个人通信服务(PCS)频率频带的点到点无线电通信,并且可以实施使用任何数目或者数据标准的数据的传输。例如,天线305可以允许使用比如以下技术在设备300与基站之间传输数据:无线宽带(WiBro)、全球微波接入可互操作性(WiMAX)、3GPP长期演进(LTE)、超移动宽带(UMB)、高性能无线电城域网(HIPERMAN)、iBurst或者高容量空分多址(HC-SDMA)、高速OFDM分组接入(HSOPA)、高速分组接入(HSPA)、HSPA演进、HSPA+、高速上行链路分组接入(HSUPA)、高速下行链路分组接入(HSDPA)、通用接入网络(GAN)、时分-同步码分多址(TD-SCDMA)、演进-数据优化(或者仅演进数据)(EVDO)、时分-码分多址(TD-CDMA)、自由移动多媒体接入(FOMA)、通用移动电信系统(UMTS)、宽带码分多址(W-CDMA)、增强数据速率GSM演进(EDGE)、增强GPRS(EGPRS)、码分多址-2000(CDMA2000)、宽带综合调度增强网络(WIDEN)、高速电路交换数据(HSCSD)、通用分组无电服务(GPRS)、个人手持电话系统(PHS)、电路交换数据(CSD)、个人数字蜂窝(PDC)、CDMAone、数字高级移动电话系统(D-AMPS)、综合数字增强网络(IDEN)、全球移动通信系统(GSM)、DataTAC、Mobitex、蜂窝数字分组数据(CDPD)、Hicap、高级移动电话系统(AMPS)、北欧移动电话(NMP)、汽车无线电话(ARP)、Autotel或者公用自动化陆地移动(PALM)、移动电话系统D(MTD)、公用陆地移动电话(OLT)、高级移动电话系统(AMTS)、改进移动电话服务(IMTS)、移动电话系统(MTS)、一键通(PTT)或者其它通信计数。经由W-CDMA、HSUPA、GSM、GPRS和EDGE网络的通信可以例如使用QUALCOMM MSM7200A芯片集而出现,该芯片集具有QUALCOMM RTR6285TM收发器和PM7540TM电源管理电路。
无线或者有线计算机网络连接306可以是调制解调器连接、包括以太网的局域网(LAN)连接或者宽带广域网(WAN)连接(比如数字用户线(DSL)、线缆高速因特网连接、拨号连接、T-1线、T-3线、光纤连接或者卫星连接)。网络连接306可以连接到LAN网络、公司或者政府WAN网络、因特网、电话网络或者其它网络。网络连接306使用有线或者无线连接器。示例无线连接器例如包括红外线数据协会(IrDA)无线连接器、Wi-Fi无线连接器、光学无线连接器、电气和电子工程师协会(IEEE)标准802.11无线连接器、蓝牙无线连接器(比如蓝牙版本1.2或者3.0连接器)、近场通信(NFC)连接器、正交频分多路复用(OFDM)超宽带(UWB)无线连接器、时间调制超宽带(TM-UWB)无线连接器或者其它无线连接器。示例有线连接器例如包括IEEE-1394火线连接器、通用串行总线(USB)连接器(包括迷你型B USB接口连接器)、串行端口连接器、并行端口连接器或者其它有线连接器。在另一实现方式中,将网络连接306和天线305的功能集成到单个部件中。
相机307允许设备300捕获数字图像,并且可以是扫描仪、数字静止相机、数字视频相机或者其它数字输入设备。在一个示例实现方式中,相机307是利用互补金属氧化物半导体(CMOS)的3兆像素(MP)相机。
麦克风309允许设备300捕获声音,并且可以是全向麦克风、单向麦克风、双向麦克风、射枪麦克风或者将声音转换成电信号的其它类型的装置。麦克风309可以用来例如在用户在经由设备300的电话呼叫期间向另一用户讲话时捕获由用户生成的声音。反之,扬声器310允许设备将电信号转换成声音,比如由电话应用程序生成的来自另一用户的语音或者从铃声应用程序生成的铃声。另外,虽然在图3中将设备300图示为手持设备,但是在更多实现方式中,设备300可以是膝上型计算机、工作站、中程计算机、大型机、嵌入式系统、电话、台式PC、平板计算机、PDA或者其它类型的计算设备。
图4是图示了设备300的内部架构400的框图。该架构包括中央处理单元(CPU)401,其中处理包括操作系统或者应用的计算机指令;提供用于在显示器301上渲染视频、图形、图像和文本的通信接口和处理功能、提供内置控件(比如按钮、文本和列表)集合并且支持相异屏幕尺寸的显示器接口402;提供与键盘302的通信接口的键盘接口404;提供与指点设备304的通信接口的指点设备接口405;提供与天线305的通信接口的天线接口406;通过计算机网络连接306提供与网络的通信接口的网络连接接口407;提供用于从相机307捕获数字图像的通信接口和处理功能的相机接口408;提供用于使用麦克风309将声音转换成电信号并且用于使用扬声器310将电信号转换成声音的通信接口的声音接口409;随机存取存储器(RAM)410,其中在易失性存储器设备中存储计算机指令和数据以用于由CPU401处理;只读存储器(ROM)411,其中在非易失性存储器设备中存储用于基本系统功能(比如基本输入和输出(I/O)、启动或者从键盘302接收键击)的不变低级系统代码或者数据;存储介质412或者其它适当类型的存储器(如例如,RAM、ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁盘、光盘、软盘、硬盘、可去除盒、闪存驱动),其中存储包括操作系统414、应用程序415(例如,包括web浏览器应用、小部件或者小配件引擎和/或按照需要的其它应用)和数据文件416的文件;提供设备300的现实或者相对位置或者地理定位的导航模块417;提供用于对部件供电的适当交流(AC)或者直流(DC)的电源419;以及允许设备300通过电话网络传输和接收声音的电话子系统420。构成设备和CPU401通过总线421相互通信。
CPU410可以是多个计算机处理器之一。在一个布置中,计算机CPU401是多于一个处理单元。RAM410与计算机总线421对接以便在执行软件程序(比如操作系统应用程序)和设备驱动器期间向CPU401提供快速RAM存储。更具体而言,CPU401从存储介质412或者其它介质向RAM410的场中加载计算机可执行过程步骤以便执行软件程序。在RAM410中存储数据,其中数据在执行期间由计算机CPU401访问。在一个示例配置中,设备300包括至少128MB的RAM和256MB的闪存。
存储介质412本身可以包括多个物理驱动单元,比如独立盘冗余阵列(RAID)、软盘驱动、闪存、USB闪存驱动、外部硬盘驱动、拇指驱动、笔驱动、钥匙驱动、高密度数字万用盘(HD-DVD)光盘驱动、内部硬盘驱动、蓝光光盘驱动或者全息数字数据存储装置(HDDS)光盘驱动、外部迷你型双列直插存储器模块(DIMM)同步动态随机存取存储器(SDRAM)或者外部微DIMM SDRAM。这样的计算机可读存储介质允许设备300访问在可去除和非可去除存储器介质上存储的计算机可执行过程步骤、应用程序等以从设备300卸载数据或者向设备300上上传数据。
在存储介质412、机器可读存储介质上有形地体现计算机程序产品。计算机程序产品包括在由机器读取时操作用于使数据处理装置在移动设备中存储图像数据的指令。在一些实施例中,计算机程序产品包括使数据处理装置收集和过滤来自文本识别系统的用户的文本识别系统纠正的指令。
操作系统414可以是基于LINUX的操作系统,比如移动设备平台;APPLE MAC OS X;MICROSOFT WINDOWS NT/WINDOWS2000/WINDOWS XP/WINDOWS MOBILE;多种UNIX风格的操作系统;或者用于计算机或者嵌入式系统的专用操作系统。用于操作系统414的应用开发平台或者框架可以是:BINARY RUNTIMEENVIRONMENT FOR WIRELESS(BREW);JAVA平台、Micro Edition(JAVA ME)或者JAVA2平台、使用SUN MICROSYSTEMSJAVASCRIPT编程语言的Micro Edition(J2ME);PYTHONTM、FLASHLITE或者MICROSOFT.NET Compact或者另一适当环境。
设备存储用于操作系统414和应用程序415(比如电子邮件、即时消息接发、视频服务应用、地图绘制应用、文字处理、电子表格、演示、游戏、地图绘制、web浏览、JAVASCRIPT引擎或者其它应用)的计算机可执行代码。例如,一个实现方式可以允许用户访问GMAIL电子邮件应用、即时消息接发应用、视频服务应用、地图绘制应用或者成像编辑和演示应用。应用程序415也可以包括小部件或者小配件引擎(比如TAFRITM小部件引擎)、MICROSOFT小配件引擎(比如WINDOWS SIDEBAR小配件引擎或者KAPSULESTM小配件引擎)、YAHOO!小部件引擎(比如KONFABULTORTM小部件引擎)、APPLE DASHBOARD小部件引擎、小配件引擎、KLIPFOLIO小部件引擎、OPERATM小部件引擎、WIDSETSTM小部件引擎、专用小部件或者小配件引擎或者为在桌面上的物理地激发的小应用提供主机系统软件的其它小部件或者小配件引擎。
虽然有可能使用以上描述的实现方式来提供文本识别纠正的过滤,但是也有可能将根据本公开内容的功能实施作为动态链接库(DLL)或者作为向其它应用程序(比如因特网web浏览器如FOXFIRE浏览器、APPLE SAFARI web浏览器或者MICROSOFTINTERNET EXPLORER web浏览器)的插件。
导航模块417可以比如通过使用全球定位系统(GPS)信号、全球导航卫星系统(GLONASS)、伽利略定位系统、北斗卫星导航和定位系统、惯性导航系统、航位推算系统或者通过访问数据库中的地址、网际协议(IP)地址或者位置信息来确定设备的绝对或者相对定位。导航模块417也可以用来比如通过使用一个或者多个加速度计来测量设备300的角位移、朝向或者速率。
图5是图示了由设备300在操作系统414是移动设备平台的情况下使用的操作系统414的示例性部件的框图。操作系统414在保证关联的电话应用有响应并且不规则应用未引起操作系统的故障(或者“崩溃”)之时调用多个进程。使用任务切换,操作系统414允许在电话呼叫上之时切换应用而未丢失每个关联的应用的状态。操作系统414可以使用应用框架以鼓励部件的重用,并且通过组合指点设备和键盘输入并且通过允许转动来提供可伸缩用户体验。因此,操作系统可以在使用高级的、基于标准的web浏览器之时提供丰富图形系统和媒体体验。
一般可以将操作系统414组织成六个部件:内核500、库501、操作系统运行时502、应用库504、系统服务505和应用506。内核500包括允许软件(比如操作系统414和应用程序415)经由显示器402与显示器301交互的显示器驱动器507;允许软件与相机307交互的相机驱动器509;BLUETOOTH驱动器510;M-系统驱动器511;绑定器(IPC)驱动器512;USB驱动器514;允许软件经由键盘接口404与键盘302交互的键区驱动器515;WiFi驱动器516;允许软件经由声音接口409与麦克风309和扬声器310交互的音频驱动器517;以及允许软件与电源519交互并且管理电源519的电源管理部件519。
BLUETOOTH驱动器(在一个实现方式中基于BlueZBLUETOOTH栈,该BlueZ BLUETOOTH栈用于基于LINX的操作系统)提供对于头戴式受话器和免提设备、拨号联网、个人区域联网(PAN)或者音频流传输(比如通过高级音频分发简档(A2DP)或者音频/视频遥控简档(AVRCP))的简档支持。BLUETOOTH驱动器提供用于扫描、配对和解除配对以及服务查询的JAVA绑定。
库501包括媒体框架520,媒体框架520使用高效JAVA应用编程接口(API)层来支持标准视频、音频和静止帧格式(比如运动图象专家组(MPEG)-4、H.264、MPEG-1音频层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)、联合图象专家组(JPEG)和其它格式);表面管理器521;用于二维应用绘图的简单图形库(SGL)522;用于游戏和三维渲染的嵌入式系统开放图形库(OpenGLES)524;C标准库(LIBC)525;LIBWEBCORE库526;FreeType库527;SSL529;以及SQLite库530。
操作系统运行时502包括核心JAVA库531和Dalvik虚拟机532。Dalvik虚拟机532是运行定制的文件格式(.DEX)的定制虚拟机。
操作系统414也可以包括如图5中所示的移动信息设备简档(MIDP)部件,比如MIDP JAVA规范请求(JSR)部件、MIDP运行时和MIDP应用。MIDP部件可以支持在设备300上运行的MIDP应用。
关于图形渲染,系统范围构造器将OpenGL ES524和二维硬件加速器用于它的构造来管理表面和帧缓冲器并且操纵视窗转变。
Dalvik虚拟机器432可以与嵌入式环境一起被使用,因为它很高效地使用运行时存储器、实施CPU优化的字节代码解释器并且支持每设备的多个虚拟机进程。使用共享恒定池以减少存储器、使用只读结构以提高跨进程共享、使用简洁和固定宽度的指令以减少解析时间来设计定制文件格式(.DEX)以求运行时效率,由此允许在构建时间将安装的应用翻译成定制文件格式。设计关联的字节代码用于快速解释,因为基于寄存器而不是基于栈的指令减少存储器和调度开销,因为使用固定宽度的指令简化解析,并且因为16位代码单位使读取最少。
应用接口504包括视图系统534、资源管理器535、内容提供器537和文本识别纠正过滤器552。系统服务505包括状态栏539;应用起动器540;维护用于所有安装的应用的信息的包管理器541;提供与电话子系统420的应用级JAVA接口的电话管理器542;允许所有应用访问状态栏和屏上通知的通知管理器544;允许具有多个视窗的多个应用共享显示器301的视窗管理器545;以及在分离的进程中运行每个应用、管理应用生命周期并且维护跨应用历史的活动管理器546。
应用506包括起始应用547、拨号器应用549、联系人应用550和浏览器应用551。
电话管理器542提供事件通知(比如电话状态、网络状态、用户身份模块(SIM)状态或者语音邮件状态)、允许访问状态信息(比如网络信息、SIM信息或者语音邮件存在)、发起呼叫以及查询和控制呼叫状态。浏览器应用551在包括导航功能的完全、桌面式管理器中渲染网页。另外,浏览器应用551允许单列、小屏幕渲染,并且提供向其它应用中嵌入HTML视图。
图6是图示了由操作系统内核600实施的示例性过程的框图。一般而言,应用和系统服务在分离的进程中运行,其中活动管理器546在分离的进程中运行每个应用并且管理应用生命周期。应用在它们自己的进程中运行,但是许多活动或者服务也可以在相同进程中运行。按照需要启动和停止进程以运行应用的部件,并且可以终止进程以回收资源。向每个应用指派它自己的进程,该进程的名称是应用的包名称,并且可以向应用的个别部分指派另一进程名称。
一些进程可以是持续的。例如,可以在向设备300供电之时连续地执行与核心系统部件(比如表面管理器616、视窗管理器614或者活动管理器610)关联的进程。附加地,一些应用专属进程也可以是持续的。例如,与拨号器应用621关联的进程也可以是持续的。
一般可以将由操作系统内核600实施的进程分类为系统服务进程601、拨号器进程602、浏览器进程604和地图进程605。系统服务进程601包括与状态栏539关联的状态栏进程606;与应用起动器540关联的应用起动器进程607;与包管理器541关联的包管理器进程609;与活动管理器546关联的活动管理器进程610;与提供访问图形、局部化串和XML布局描述的资源管理器611关联的资源管理器进程611;与通知管理器544关联的通知管理器进程612;与视窗管理器545关联的视窗管理器进程614;与核心JAVA库531关联的核心JAVA库进程615;与表面管理器521关联的表面管理器进程616;与Dalvik虚拟机532关联的Dalvik虚拟机进程617;与LIBC库525关联的LIBC进程619;以及与文本识别纠正过滤器应用库552关联的文本识别纠正过滤器进程620。
拨号器进程602包括与拨号器应用549关联的拨号器应用进程621;与电话管理器542关联的电话管理器进程622;与核心JAVA库531关联的核心JAVA库进程624;与Dalvik虚拟机532关联的Dalvik虚拟机进程625;以及与LIBC库525关联的LIBC进程626。浏览器进程604包括与浏览器应用551关联的浏览器应用进程627;与核心JAVA库531关联的核心JAVA库进程629;与Dalvik虚拟机532关联的Dalvik虚拟机进程630;与LIBWEBCORE库526关联的LIBWEBCORE进程631;以及与LIBC库525关联的LIBC进程632。
地图进程605包括地图应用进程634、核心JAVA库进程635、Dalvik虚拟机进程636和LIBC进程637。显然地,一些进程(比如Dalvik虚拟机进程)可以在系统服务进程601、拨号器进程602、浏览器进程604和地图进程605中的一种或者多种进程内存在。
图7示出可以与这里描述的技术一起使用的通用计算机设备700和通用移动计算机设备750的示例。计算设备700旨在于代表各种形式的数字计算机,比如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当计算机。计算设备750旨在于代表各种形式的移动设备,比如个人数字助理、蜂窝电话、智能电话和其它相似计算设备。这里所示的部件、它们的连接和关系及其功能意味着仅为示例性而并非意味着限制在本文中描述和/或要求保护的本发明的实现方式。
计算设备700包括处理器702、存储器704、存储设备706、连接到存储器704和高速扩展端口710的高速接口708以及连接到低速总线714和存储设备706的低速接口712。部件702、704、706、708、710和712中的每个部件使用各种总线而被互连并且可以被装配于公共同母板上或者在适当时以其它方式而被装配。处理器702可以处理用于在计算设备700内执行的指令,这些指令包括在存储器704中或者在存储设备706上存储的用于在外部输入/输出设备(比如耦合到高速接口708的显示器716)上显示用于GUI的图形信息的指令。在其它实现方式中,多个处理器和/或多个总线可以在适当时与多个存储器和存储器类型一起被使用。也可以连接多个计算设备700,其中每个设备提供必需操作的部分(例如,作为服务器组、成组刀片服务器或者多处理器系统)。
存储器704存储计算设备700内的信息。在一个实现方式中,存储器704是一个或者多个易失性存储器单元。在另一实现方式中,存储器704是一个或者多个非易失性存储器单元。存储器704也可以是另一形式的计算机可读介质,比如磁盘或者光盘。
存储设备706能够提供用于计算设备700的海量存储。在一个实现方式中,存储设备706可以是或者包含计算机可读介质,比如软盘设备、硬盘设备、光盘设备或者带设备、闪存或者其它相似固态存储器设备或者如下设备的阵列,这些设备包括在存储区域网络或者其它配置中的设备。计算机程序产品可以有形地体现于信息载体中。计算机程序产品也可以包含在被执行时执行一种或者多种方法(比如以上描述的方法)的指令。信息载体是计算机或者机器可读介质,比如存储器704、存储设备706、在处理器702上的存储器或者传播的信号。
高速控制器708管理用于计算设备700的带宽密集操作,而低速控制器712管理更低带宽密集操作。这样的功能分配仅为示例。在一个实现方式中,高速控制器708耦合到存储器704、显示器716(例如,通过图形处理器或者加速器)并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口710。在该实现方式中,低速控制器712耦合到存储设备706和低速扩展端口714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或者多个输入/输出设备(比如键盘、指点设备、扫描仪)或者联网设备(比如交换机或者路由器)。
可以如图中所示以多个不同形式实施计算设备700。例如,它可以被实施为标准服务器720或者被多次实施于成组这样的服务器中。它也可以被实施为架式服务器系统724的部分。此外,它可以被实施于个人计算机(比如膝上型计算机722)中。备选地,来自计算设备700的部件可以与移动设备(未示出)(比如设备750)中的其它部件组合。这样的设备中的每个设备可以包含计算设备700、750中的一个或者多个计算设备,并且整个系统可以由相互通信的多个计算设备700、750组成。
计算设备750包括处理器752、存储器764、输入/输出设备(比如显示器754)、通信接口766和收发器768以及其它部件。设备750也可以具有用于提供附加存储的存储设备,比如微驱动或者其它设备。使用各种总线来互连部件750、752、764、754、766和768中的每个部件,并且部件中的若干部件可以被装配于公共母板上或者以如适当的其它方式被装配。
处理器752可以执行计算设备750内的指令,这些指令包括在存储器764中存储的指令。处理器可以被实施为包括分离的以及多个模拟和数字处理器的芯片的芯片集。处理器可以例如提供设备750的其它部件的协调,比如控制用户界面、由设备750运行的应用和设备750的无线通信。
处理器752可以通过控制接口758和耦合到显示器754的显示器接口756与用户通信。显示器754可以例如是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器或者其它适当显示器技术。显示器接口756可以包括用于驱动显示器754以向用户呈现图形和其它信息的适当电路。控制接口758可以从用户接收命令并且转换它们以用于向处理器752提交。此外,可以提供外部接口762以与处理器752通信以便支持设备750与其它设备的近区域通信。外部接口762可以例如在一些实现方式中提供有线通信或者在其它实现方式中提供无线通信,并且也可以使用多个接口。
存储器764存储计算设备750内的信息。存储器764可以被实施为一个或者多个计算机可读介质、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或者多项。也可以提供扩展存储器774并且该扩展存储器774可以通过可以例如包括SIMM(单列直插存储器模块)卡接口的扩展接口772连接到设备750。这样的扩展存储器774可以提供用于设备750的额外存储空间,或者也可以存储用于设备750的应用或者其它信息。具体而言,扩展存储器774可以包括用于实现或者补充以上描述的过程的指令,并且也可以包括安全信息。因此,例如,扩展存储器774可以被提供作为用于设备750的安全模块,并且可以编程有允许安全使用设备750的指令。此外,可以经由SIMM卡将安全应用与附加信息一起提供,比如以不可黑客方式将标识信息放置于SIMM卡上。
存储器可以如以下讨论的那样例如包括闪存和/或NVRAM存储器。在一个实现方式中,在信息载体中有形地体现计算机程序产品。计算机程序产品包含在被执行时执行一种或者多种方法(比如以上描述的方法)的指令。信息载体是计算机或者机器可读介质,比如存储器764、扩展存储器774、在处理器752上的存储器或者可以例如通过收发器768或者外部接口762接收的传播的信号。
设备750可以通过可以在必要时可以包括数字信号处理电路的通信接口766无线地通信。通信接口766可以在各种模式或者协议(比如GSM语音呼叫、SMS、EMS或者MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS以及其它模式或者协议)之下提供通信。可以例如通过射频收发器768发生这样的通信。此外,可以比如使用蓝牙、WiFi或者其它这样的收发器(未示出)来发生近程通信。此外,GPS(全球定位系统)接收器模块770可以向设备750提供附加的与导航和位置有关的无线数据,该数据可以如适当的那样由在设备750上运行的应用使用。
设备750也可以使用音频编码解码器760来可听地通信,编码解码器760可以从用户接收口述信息并且将它转换成可用数字信息。音频编码解码器760可以同样地比如通过例如在设备750的头戴式受话器中的扬声器生成用于用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音、可以包括记录的声音(例如,语音消息、音乐文件等)并且也可以包括由在设备750上操作的应用生成的声音。
可以如图中所示以多个不同形式实施计算设备750。例如,它可以被实施为蜂窝电话780。它也可以被实施为智能电话782、个人数字助理或者其它相似移动设备的部分。
可以在数字电子电路、集成电路、特殊地设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里描述的系统和技术的各种实现方式。这些各种实现方式可以包括在可编程系统上可执行和/或可解译的一个或者多个计算机程序中的实现方式,该可编程系统包括可以是特殊或者通用的至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该至少一个可编程处理器被耦合用于从存储系统接收数据和指令以及向存储系统传输数据和指令。
这些计算机程序(也被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言而被实施。如这里所用,术语“机器可读介质”、“计算机可读介质”指代用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),该计算机程序产品、装置和/或设备包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以被实施于计算机上,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的指点设备(例如,鼠标或者跟踪球)。其它种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如,可视反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
这里描述的系统和技术可以被实施于如下计算系统中,该计算系统包括后端部件(例如,作为数据服务器)或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有图形用户界面或者Web浏览器的客户端计算机,用户可以通过该图形用户界面或者Web浏览器来与这里描述的系统和技术的实现方式交互)或者这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序产生客户端和服务器关系。
已经描述了多个实施例。然而,将理解,可以进行各种修改而未脱离本发明的精神实质和范围。例如,文本识别系统可以与文本识别纠正过滤器一起被实施于移动设备(例如,移动设备300)上。本地文本识别系统可以通过用纠正的训练而适应特定用户的话音或者笔迹模式,这些纠正是使用文本识别纠正过滤器而被选择的。
此外,在各图中描绘的逻辑流程无需所示特定顺序或者依次顺序以实现希望的结果。此外,可以提供其它步骤或者从描述的流程消除步骤,并且可以向描述的系统添加或者从描述的系统去除其它部件。因而,其它实施例在所附权利要求的范围内。
Claims (104)
1.一种由数据处理装置执行的计算机实施的方法,所述方法包括:
记录输入信号,所述输入信号包括与一个或者多个单词对应的数据;
向文本识别系统传输所述输入信号,所述文本识别系统基于所述输入信号生成识别的文本串;
从所述文本识别系统接收所述识别的文本串;
向用户显示所述识别的文本串;
接收数据,所述数据代表对所述识别的文本串的一个或者多个用户编辑;
基于所述识别的文本串和所述用户编辑来确定纠正的文本串;
确定在所述纠正的文本串与所述识别的文本串之间的编辑距离;
比较所述编辑距离与阈值;以及
如果所述编辑距离在所述阈值以下,则向所述文本识别系统传输所述纠正的文本串。
2.根据权利要求1所述的方法,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
3.根据权利要求1所述的方法,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
4.根据权利要求1所述的方法,其中所述编辑距离是插入的连续字符的最大数目。
5.根据权利要求1所述的方法,其中所述输入信号是听觉话音信号。
6.根据权利要求1所述的方法,其中所述输入信号是图像信号。
7.根据权利要求1所述的方法,其中所述文本识别系统由远程定位的服务器执行。
8.根据权利要求1所述的方法,其中所述文本识别系统由用户设备执行。
9.根据权利要求1所述的方法,其中向文本识别系统传输所述输入信号包括:
通过网络传输对所述输入信号编码的信号。
10.根据权利要求1所述的方法,其中所述编辑距离的单位代表字符的数目。
11.根据权利要求1所述的方法,其中所述编辑距离的单位代表音素的数目。
12.根据权利要求1所述的方法,其中所述编辑距离的单位代表单词的数目。
13.根据权利要求1所述的方法,其中所述阈值依赖于所述纠正的文本串的长度。
14.根据权利要求13所述的方法,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
15.一种由数据处理装置执行的计算机实施的方法,所述方法包括:
接收输入信号,所述输入信号包括与一个或者多个单词对应的数据;
向文本识别系统传递所述输入信号,所述文本识别系统基于所述输入信号生成识别的文本串;
从所述文本识别系统接收所述识别的文本串;
向用户呈现所述识别的文本串;
基于来自所述用户的输入来接收纠正的文本串;
检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下;以及
如果所述编辑距离在所述阈值以下,则向所述文本识别系统传递所述纠正的文本串。
16.根据权利要求15所述的方法,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
17.根据权利要求15所述的方法,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
18.根据权利要求15所述的方法,其中所述编辑距离是插入的连续字符的最大数目。
19.根据权利要求15所述的方法,其中所述输入信号是听觉话音信号。
20.根据权利要求15所述的方法,其中所述输入信号是图像信号。
21.根据权利要求15所述的方法,其中所述文本识别系统由远程定位的服务器执行。
22.根据权利要求15所述的方法,其中所述文本识别系统由用户设备执行。
23.根据权利要求15所述的方法,其中向文本识别系统传递所述输入信号包括:
通过网络传输对所述输入信号编码的信号。
24.根据权利要求15所述的方法,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
确定所述编辑距离;以及
比较所述编辑距离与所述阈值。
25.根据权利要求15所述的方法,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
计算中间编辑距离值直至所述阈值被超过或者所述编辑距离被确定。
26.根据权利要求15所述的方法,其中基于来自所述用户的输入来接收纠正的文本串包括:
接收数据,所述数据代表对所述识别的文本串的一个或者多个用户编辑;以及
基于所述识别的文本串和所述编辑来确定纠正的文本串。
27.根据权利要求15所述的方法,其中所述编辑距离的单位代表字符的数目。
28.根据权利要求15所述的方法,其中所述编辑距离的单位代表音素的数目。
29.根据权利要求15所述的方法,其中所述编辑距离的单位代表单词的数目。
30.根据权利要求15所述的方法,其中所述阈值依赖于所述纠正的文本串的长度。
31.根据权利要求30所述的方法,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
32.根据权利要求15所述的方法,其中向用户呈现所述识别的文本串包括:
向用户设备传输所述识别的文本以用于向所述用户显示。
33.根据权利要求15所述的方法,其中向用户呈现所述识别的文本串包括:
在显示器上显示所述识别的文本。
34.一种系统,包括:
数据处理装置;以及
存储器,耦合到所述数据处理装置,具有在其上存储的指令,所述指令在由所述数据处理装置执行时使所述数据处理装置执行操作,所述操作包括:
接收输入信号,所述输入信号包括与一个或者多个单词对应的数据;
向文本识别系统传递所述输入信号,所述文本识别系统基于所述输入信号生成识别的文本串;
从所述文本识别系统接收所述识别的文本串;
向用户呈现所述识别的文本串;
基于来自所述用户的输入来接收纠正的文本串;
检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下;以及
如果所述编辑距离在所述阈值以下,则向所述文本识别系统传递所述纠正的文本串。
35.根据权利要求34所述的系统,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
36.根据权利要求34所述的系统,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
37.根据权利要求34所述的系统,其中所述编辑距离是插入的连续字符的最大数目。
38.根据权利要求34所述的系统,其中所述输入信号是听觉话音信号。
39.根据权利要求34所述的系统,其中所述输入信号是图像信号。
40.根据权利要求34所述的系统,其中所述文本识别系统由远程定位的服务器执行。
41.根据权利要求34所述的系统,其中所述文本识别系统由用户设备执行。
42.根据权利要求34所述的系统,其中向文本识别系统传递所述输入信号包括:
通过网络传输对所述输入信号编码的信号。
43.根据权利要求34所述的系统,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
确定所述编辑距离;以及
比较所述编辑距离与所述阈值。
44.根据权利要求34所述的系统,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
计算中间编辑距离值直至所述阈值被超过或者所述编辑距离被确定。
45.根据权利要求34所述的系统,其中基于来自所述用户的输入来接收纠正的文本串包括:
接收数据,所述数据代表对所述识别的文本串的一个或者多个用户编辑;以及
基于所述识别的文本串和所述编辑来确定纠正的文本串。
46.根据权利要求34所述的系统,其中所述编辑距离的单位代表字符的数目。
47.根据权利要求34所述的系统,其中所述编辑距离的单位代表音素的数目。
48.根据权利要求34所述的系统,其中所述编辑距离的单位代表单词的数目。
49.根据权利要求34所述的系统,其中所述阈值依赖于所述纠正的文本串的长度。
50.根据权利要求49所述的系统,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
51.根据权利要求34所述的系统,其中向用户呈现所述识别的文本串包括:
向用户设备传输所述识别的文本以用于向所述用户显示。
52.根据权利要求34所述的系统,其中向用户呈现所述识别的文本串包括:
在显示器上显示所述识别的文本。
53.一种系统,包括:
被配置用于接收输入信号的接口,所述输入信号包括与一个或者多个单词对应的数据;
被配置用于向文本识别系统传递所述输入信号的接口,所述文本识别系统基于所述输入信号生成识别的文本串;
被配置用于从所述文本识别系统接收所述识别的文本串的接口;
被配置用于向用户呈现所述识别的文本串的接口;
被配置用于基于来自所述用户的输入来接收纠正的文本串的接口;
用于检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下的装置;以及
被配置用于如果所述编辑距离在所述阈值以下则向所述文本识别系统传递所述纠正的文本串的接口。
54.根据权利要求53所述的系统,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
55.根据权利要求53所述的系统,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
56.根据权利要求53所述的系统,其中所述编辑距离是插入的连续字符的最大数目。
57.根据权利要求53所述的系统,其中所述输入信号是听觉话音信号。
58.根据权利要求53所述的系统,其中所述输入信号是图像信号。
59.根据权利要求53所述的系统,其中所述文本识别系统由远程定位的服务器执行。
60.根据权利要求53所述的系统,其中所述文本识别系统由用户设备执行。
61.根据权利要求53所述的系统,其中向文本识别系统传递所述输入信号包括:
通过网络传输对所述输入信号编码的信号。
62.根据权利要求53所述的系统,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
确定所述编辑距离;以及
比较所述编辑距离与所述阈值。
63.根据权利要求53所述的系统,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
计算中间编辑距离值直至所述阈值被超过或者所述编辑距离被确定。
64.根据权利要求53所述的系统,其中基于来自所述用户的输入来接收纠正的文本串包括:
接收数据,所述数据代表对所述识别的文本串的一个或者多个用户编辑;以及
基于所述识别的文本串和所述编辑来确定纠正的文本串。
65.根据权利要求53所述的系统,其中所述编辑距离的单位代表字符的数目。
66.根据权利要求53所述的系统,其中所述编辑距离的单位代表音素的数目。
67.根据权利要求53所述的系统,其中所述编辑距离的单位代表单词的数目。
68.根据权利要求53所述的系统,其中所述阈值依赖于所述纠正的文本串的长度。
69.根据权利要求68所述的系统,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
70.根据权利要求53所述的系统,其中向用户呈现所述识别的文本串包括:
向用户设备传输所述识别的文本以用于向所述用户显示。
71.根据权利要求53所述的系统,其中向用户呈现所述识别的文本串包括:
在显示器上显示所述识别的文本。
72.一种移动设备,包括:
麦克风,被配置用于接收输入信号,所述输入信号包括与一个或者多个单词对应的数据;
无线网络接口,被配置用于向文本识别系统传输所述输入信号,所述文本识别系统基于所述输入信号生成识别的文本串;
无线网络接口,被配置用于从所述文本识别系统接收所述识别的文本串;
显示器,被配置用于向用户呈现所述识别的文本串;
用户接口,被配置用于从所述用户接收对所述识别的文本串的一个或者多个编辑;
模块,被配置用于基于所述识别的文本串和所述用户编辑来确定纠正的文本串;
装置,用于检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下;以及
无线网络接口,被配置用于如果所述编辑距离在所述阈值以下则向所述文本识别系统传递所述纠正的文本串。
73.根据权利要求72所述的移动设备,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
74.根据权利要求72所述的移动设备,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
75.根据权利要求72所述的移动设备,其中所述编辑距离是插入的连续字符的最大数目。
76.根据权利要求72所述的移动设备,其中所述输入信号是听觉话音信号。
77.根据权利要求72所述的移动设备,其中所述输入信号是图像信号。
78.根据权利要求72所述的移动设备,其中所述文本识别系统由远程定位的服务器执行。
79.根据权利要求72所述的移动设备,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
确定所述编辑距离;以及
比较所述编辑距离与所述阈值。
80.根据权利要求72所述的移动设备,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
计算中间编辑距离值直至所述阈值被超过或者所述编辑距离被确定。
81.根据权利要求72所述的移动设备,其中所述编辑距离的单位代表字符的数目。
82.根据权利要求72所述的移动设备,其中所述编辑距离的单位代表音素的数目。
83.根据权利要求72所述的移动设备,其中所述编辑距离的单位代表单词的数目。
84.根据权利要求72所述的移动设备,其中所述阈值依赖于所述纠正的文本串的长度。
85.根据权利要求84所述的移动设备,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
86.一种存储软件的计算机可读介质,所述软件包括可由处理设备执行的指令,所述指令在这样的执行时使所述处理设备执行操作,所述操作包括:
接收输入信号,所述输入信号包括与一个或者多个单词对应的数据;
向文本识别系统传递所述输入信号,所述文本识别系统基于所述输入信号生成识别的文本串;
从所述文本识别系统接收所述识别的文本串;
向用户呈现所述识别的文本串;
基于来自所述用户的输入来接收纠正的文本串;
检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下;以及
如果所述编辑距离在所述阈值以下,则向所述文本识别系统传递所述纠正的文本串。
87.根据权利要求86所述的计算机可读介质,其中所述编辑距离代表将所述识别的文本串变换成所述纠正的文本串而需要的单字符插入、删除或者替换操作的最小数目。
88.根据权利要求86所述的计算机可读介质,其中所述编辑距离是从所述识别的文本串产生所述纠正的文本串而需要的来自允许的操作的集合的写入操作的最小数目,其中写入操作包括字符插入和字符替换,并且其中字符删除被允许但是在所述编辑距离中未被计数。
89.根据权利要求86所述的计算机可读介质,其中所述编辑距离是插入的连续字符的最大数目。
90.根据权利要求86所述的计算机可读介质,其中所述输入信号是听觉话音信号。
91.根据权利要求86所述的计算机可读介质,其中所述输入信号是图像信号。
92.根据权利要求86所述的计算机可读介质,其中所述文本识别系统由远程定位的服务器执行。
93.根据权利要求86所述的计算机可读介质,其中所述文本识别系统由用户设备执行。
94.根据权利要求86所述的计算机可读介质,其中向文本识别系统传递所述输入信号包括:
通过网络传输对所述输入信号编码的信号。
95.根据权利要求86所述的计算机可读介质,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
确定所述编辑距离;以及
比较所述编辑距离与所述阈值。
96.根据权利要求86所述的计算机可读介质,其中检查在所述纠正的文本串与所述识别的文本串之间的编辑距离是否在阈值以下包括:
计算中间编辑距离值直至所述阈值被超过或者所述编辑距离被确定。
97.根据权利要求86所述的计算机可读介质,其中基于来自所述用户的输入来接收纠正的文本串包括:
接收数据,所述数据代表对所述识别的文本串的一个或者多个用户编辑;以及
基于所述识别的文本串和所述编辑来确定纠正的文本串。
98.根据权利要求86所述的计算机可读介质,其中所述编辑距离的单位代表字符的数目。
99.根据权利要求86所述的计算机可读介质,其中所述编辑距离的单位代表音素的数目。
100.根据权利要求86所述的计算机可读介质,其中所述编辑距离的单位代表单词的数目。
101.根据权利要求86所述的计算机可读介质,其中所述阈值依赖于所述纠正的文本串的长度。
102.根据权利要求101所述的计算机可读介质,其中所述阈值近似为所述纠正的文本串的所述长度的百分之五十。
103.根据权利要求86所述的计算机可读介质,其中向用户呈现所述识别的文本串包括:
向用户设备传输所述识别的文本以用于向所述用户显示。
104.根据权利要求86所述的计算机可读介质,其中向用户呈现所述识别的文本串包括:
在显示器上显示所述识别的文本。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161540381P | 2011-09-28 | 2011-09-28 | |
US61/540,381 | 2011-09-28 | ||
US13/627,744 US8515751B2 (en) | 2011-09-28 | 2012-09-26 | Selective feedback for text recognition systems |
US13/627,744 | 2012-09-26 | ||
PCT/US2012/057916 WO2013049569A1 (en) | 2011-09-28 | 2012-09-28 | Selective feedback for text recognition systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103959282A true CN103959282A (zh) | 2014-07-30 |
CN103959282B CN103959282B (zh) | 2016-05-18 |
Family
ID=47912242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280056889.4A Active CN103959282B (zh) | 2011-09-28 | 2012-09-28 | 用于文本识别系统的选择性反馈 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8515751B2 (zh) |
EP (1) | EP2761502B1 (zh) |
CN (1) | CN103959282B (zh) |
AU (1) | AU2012315749B2 (zh) |
WO (1) | WO2013049569A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017075957A1 (zh) * | 2015-11-05 | 2017-05-11 | 乐视控股(北京)有限公司 | 一种识别率确定方法及装置 |
CN106847288A (zh) * | 2017-02-17 | 2017-06-13 | 上海创米科技有限公司 | 语音识别文本的纠错方法与装置 |
CN107430596A (zh) * | 2015-02-12 | 2017-12-01 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
CN108228705A (zh) * | 2016-12-09 | 2018-06-29 | 波音公司 | 直播视频反馈中的自动对象和活动跟踪设备、方法及介质 |
CN108417205A (zh) * | 2018-01-19 | 2018-08-17 | 苏州思必驰信息科技有限公司 | 语义理解训练方法和系统 |
CN109313489A (zh) * | 2016-03-18 | 2019-02-05 | 埃尔瓦有限公司 | 提供关于对用户输入的文本输入的软件启动改变的触觉反馈的系统和方法 |
CN109783811A (zh) * | 2018-12-26 | 2019-05-21 | 东软集团股份有限公司 | 一种识别文本编辑错误的方法、装置、设备及存储介质 |
CN110377885A (zh) * | 2019-06-14 | 2019-10-25 | 北京百度网讯科技有限公司 | 转换pdf文件的方法、装置、设备和计算机存储介质 |
CN110458918A (zh) * | 2019-08-16 | 2019-11-15 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110473523A (zh) * | 2019-08-30 | 2019-11-19 | 北京大米科技有限公司 | 一种语音识别方法、装置、存储介质及终端 |
CN110610001A (zh) * | 2019-08-12 | 2019-12-24 | 大箴(杭州)科技有限公司 | 短文本完整性识别方法、装置、存储介质及计算机设备 |
CN111985491A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 基于深度学习的相似信息合并方法、装置、设备及介质 |
CN112382289A (zh) * | 2020-11-13 | 2021-02-19 | 北京百度网讯科技有限公司 | 语音识别结果的处理方法、装置、电子设备及存储介质 |
CN113052156A (zh) * | 2021-03-12 | 2021-06-29 | 北京百度网讯科技有限公司 | 光学字符识别方法、装置、电子设备和存储介质 |
WO2022135254A1 (zh) * | 2020-12-22 | 2022-06-30 | 华为技术有限公司 | 一种编辑文本的方法、电子设备和系统 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098487B2 (en) * | 2012-11-29 | 2015-08-04 | Hewlett-Packard Development Company, L.P. | Categorization based on word distance |
US20150073790A1 (en) * | 2013-09-09 | 2015-03-12 | Advanced Simulation Technology, inc. ("ASTi") | Auto transcription of voice networks |
US9286526B1 (en) * | 2013-12-09 | 2016-03-15 | Amazon Technologies, Inc. | Cohort-based learning from user edits |
JP2016521383A (ja) * | 2014-04-22 | 2016-07-21 | キューキー インコーポレイテッドKeukey Inc. | 少なくとも一つの意味論的単位の集合を改善するための方法、装置およびコンピュータ読み取り可能な記録媒体 |
WO2015179493A1 (en) * | 2014-05-23 | 2015-11-26 | Centrillion Technology Holding Corporation | Methods for generating and decoding barcodes |
US9520128B2 (en) * | 2014-09-23 | 2016-12-13 | Intel Corporation | Frame skipping with extrapolation and outputs on demand neural network for automatic speech recognition |
US10609475B2 (en) | 2014-12-05 | 2020-03-31 | Stages Llc | Active noise control and customized audio system |
CN104572627B (zh) * | 2015-01-30 | 2018-01-23 | 深圳市华傲数据技术有限公司 | 基于信息熵的对象名称编辑距离计算方法及匹配方法 |
US10354006B2 (en) * | 2015-10-26 | 2019-07-16 | International Business Machines Corporation | System, method, and recording medium for web application programming interface recommendation with consumer provided content |
US20170337923A1 (en) * | 2016-05-19 | 2017-11-23 | Julia Komissarchik | System and methods for creating robust voice-based user interface |
US9980075B1 (en) | 2016-11-18 | 2018-05-22 | Stages Llc | Audio source spatialization relative to orientation sensor and output |
US9980042B1 (en) | 2016-11-18 | 2018-05-22 | Stages Llc | Beamformer direction of arrival and orientation analysis system |
US10945080B2 (en) | 2016-11-18 | 2021-03-09 | Stages Llc | Audio analysis and processing system |
KR102457811B1 (ko) * | 2016-11-21 | 2022-10-24 | 삼성전자주식회사 | 음성을 이용하여 송금하는 방법 및 장치 |
US11605081B2 (en) * | 2016-11-21 | 2023-03-14 | Samsung Electronics Co., Ltd. | Method and device applying artificial intelligence to send money by using voice input |
US10217020B1 (en) * | 2016-12-19 | 2019-02-26 | Matrox Electronic Systems Ltd. | Method and system for identifying multiple strings in an image based upon positions of model strings relative to one another |
US10296788B1 (en) | 2016-12-19 | 2019-05-21 | Matrox Electronic Systems Ltd. | Method and system for processing candidate strings detected in an image to identify a match of a model string in the image |
US10614826B2 (en) * | 2017-05-24 | 2020-04-07 | Modulate, Inc. | System and method for voice-to-voice conversion |
US10811007B2 (en) * | 2018-06-08 | 2020-10-20 | International Business Machines Corporation | Filtering audio-based interference from voice commands using natural language processing |
CN109447081B (zh) * | 2018-11-14 | 2021-07-23 | 广东小天才科技有限公司 | 一种光学字符识别数据集的获取方法及系统 |
CN109767081B (zh) * | 2018-12-25 | 2023-08-25 | 云南电网有限责任公司信息中心 | 电力工单表生成方法及装置 |
US11817080B2 (en) | 2019-09-03 | 2023-11-14 | Google Llc | Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model |
US11996117B2 (en) | 2020-10-08 | 2024-05-28 | Modulate, Inc. | Multi-stage adaptive system for content moderation |
CN112508541A (zh) * | 2020-12-30 | 2021-03-16 | 贵州人和致远数据服务有限责任公司 | 基于培训学员信息数据采集的便携式手机采集软件系统 |
JP2022137634A (ja) * | 2021-03-09 | 2022-09-22 | キヤノン株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US20220358152A1 (en) * | 2021-05-10 | 2022-11-10 | International Business Machines Corporation | Model performance through text-to-text transformation via distant supervision from target and auxiliary tasks |
CN113361253B (zh) * | 2021-05-28 | 2024-04-09 | 北京金山数字娱乐科技有限公司 | 识别模型训练方法及装置 |
US11379542B1 (en) * | 2021-06-25 | 2022-07-05 | metacluster lt, UAB | Advanced response processing in web data collection |
US11861923B2 (en) * | 2021-12-31 | 2024-01-02 | Huawei Technologies Co., Ltd. | Methods, apparatuses, and computer-readable storage media for image-based sensitive-text detection |
CN115361454B (zh) * | 2022-10-24 | 2023-03-24 | 北京智芯微电子科技有限公司 | 消息序列编码、解码、传输方法及编码、解码设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282072A (zh) * | 1999-07-27 | 2001-01-31 | 国际商业机器公司 | 对语音识别结果中的错误进行校正的方法和语音识别系统 |
CN101295293A (zh) * | 2007-04-29 | 2008-10-29 | 摩托罗拉公司 | 用于对表意字符的输入字符串进行自动纠错的方法 |
CN101655837A (zh) * | 2009-09-08 | 2010-02-24 | 北京邮电大学 | 一种对语音识别后文本进行检错并纠错的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253177B1 (en) * | 1999-03-08 | 2001-06-26 | International Business Machines Corp. | Method and system for automatically determining whether to update a language model based upon user amendments to dictated text |
US7113950B2 (en) * | 2002-06-27 | 2006-09-26 | Microsoft Corporation | Automated error checking system and method |
US8019602B2 (en) * | 2004-01-20 | 2011-09-13 | Microsoft Corporation | Automatic speech recognition learning using user corrections |
US8275618B2 (en) * | 2004-12-22 | 2012-09-25 | Nuance Communications, Inc. | Mobile dictation correction user interface |
US8352264B2 (en) | 2008-03-19 | 2013-01-08 | Canyon IP Holdings, LLC | Corrective feedback loop for automated speech recognition |
US8644488B2 (en) | 2008-10-27 | 2014-02-04 | Nuance Communications, Inc. | System and method for automatically generating adaptive interaction logs from customer interaction text |
-
2012
- 2012-09-26 US US13/627,744 patent/US8515751B2/en active Active
- 2012-09-28 WO PCT/US2012/057916 patent/WO2013049569A1/en active Application Filing
- 2012-09-28 CN CN201280056889.4A patent/CN103959282B/zh active Active
- 2012-09-28 EP EP12773185.9A patent/EP2761502B1/en active Active
- 2012-09-28 AU AU2012315749A patent/AU2012315749B2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1282072A (zh) * | 1999-07-27 | 2001-01-31 | 国际商业机器公司 | 对语音识别结果中的错误进行校正的方法和语音识别系统 |
CN101295293A (zh) * | 2007-04-29 | 2008-10-29 | 摩托罗拉公司 | 用于对表意字符的输入字符串进行自动纠错的方法 |
CN101655837A (zh) * | 2009-09-08 | 2010-02-24 | 北京邮电大学 | 一种对语音识别后文本进行检错并纠错的方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430596A (zh) * | 2015-02-12 | 2017-12-01 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
CN107430596B (zh) * | 2015-02-12 | 2020-09-25 | 微软技术许可有限责任公司 | 输入法编辑器的外部化执行 |
WO2017075957A1 (zh) * | 2015-11-05 | 2017-05-11 | 乐视控股(北京)有限公司 | 一种识别率确定方法及装置 |
CN109313489A (zh) * | 2016-03-18 | 2019-02-05 | 埃尔瓦有限公司 | 提供关于对用户输入的文本输入的软件启动改变的触觉反馈的系统和方法 |
CN108228705A (zh) * | 2016-12-09 | 2018-06-29 | 波音公司 | 直播视频反馈中的自动对象和活动跟踪设备、方法及介质 |
CN106847288B (zh) * | 2017-02-17 | 2020-12-25 | 上海创米科技有限公司 | 语音识别文本的纠错方法与装置 |
CN106847288A (zh) * | 2017-02-17 | 2017-06-13 | 上海创米科技有限公司 | 语音识别文本的纠错方法与装置 |
CN108417205A (zh) * | 2018-01-19 | 2018-08-17 | 苏州思必驰信息科技有限公司 | 语义理解训练方法和系统 |
CN109783811A (zh) * | 2018-12-26 | 2019-05-21 | 东软集团股份有限公司 | 一种识别文本编辑错误的方法、装置、设备及存储介质 |
CN109783811B (zh) * | 2018-12-26 | 2023-10-31 | 东软集团股份有限公司 | 一种识别文本编辑错误的方法、装置、设备及存储介质 |
CN110377885A (zh) * | 2019-06-14 | 2019-10-25 | 北京百度网讯科技有限公司 | 转换pdf文件的方法、装置、设备和计算机存储介质 |
CN110377885B (zh) * | 2019-06-14 | 2023-09-26 | 北京百度网讯科技有限公司 | 转换pdf文件的方法、装置、设备和计算机存储介质 |
CN110610001A (zh) * | 2019-08-12 | 2019-12-24 | 大箴(杭州)科技有限公司 | 短文本完整性识别方法、装置、存储介质及计算机设备 |
CN110610001B (zh) * | 2019-08-12 | 2024-01-23 | 大箴(杭州)科技有限公司 | 短文本完整性识别方法、装置、存储介质及计算机设备 |
CN110458918B (zh) * | 2019-08-16 | 2023-05-09 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110458918A (zh) * | 2019-08-16 | 2019-11-15 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110473523A (zh) * | 2019-08-30 | 2019-11-19 | 北京大米科技有限公司 | 一种语音识别方法、装置、存储介质及终端 |
CN111985491A (zh) * | 2020-09-03 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 基于深度学习的相似信息合并方法、装置、设备及介质 |
CN112382289A (zh) * | 2020-11-13 | 2021-02-19 | 北京百度网讯科技有限公司 | 语音识别结果的处理方法、装置、电子设备及存储介质 |
CN112382289B (zh) * | 2020-11-13 | 2024-03-22 | 北京百度网讯科技有限公司 | 语音识别结果的处理方法、装置、电子设备及存储介质 |
WO2022135254A1 (zh) * | 2020-12-22 | 2022-06-30 | 华为技术有限公司 | 一种编辑文本的方法、电子设备和系统 |
CN113052156A (zh) * | 2021-03-12 | 2021-06-29 | 北京百度网讯科技有限公司 | 光学字符识别方法、装置、电子设备和存储介质 |
CN113052156B (zh) * | 2021-03-12 | 2023-08-04 | 北京百度网讯科技有限公司 | 光学字符识别方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8515751B2 (en) | 2013-08-20 |
EP2761502B1 (en) | 2015-09-16 |
US20130080164A1 (en) | 2013-03-28 |
WO2013049569A1 (en) | 2013-04-04 |
CN103959282B (zh) | 2016-05-18 |
EP2761502A1 (en) | 2014-08-06 |
AU2012315749B2 (en) | 2014-05-22 |
AU2012315749A1 (en) | 2014-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959282A (zh) | 用于文本识别系统的选择性反馈 | |
US10721190B2 (en) | Sequence to sequence to classification model for generating recommended messages | |
US10680978B2 (en) | Generating recommended responses based on historical message data | |
CN111078479B (zh) | 一种内存检测模型训练的方法、内存检测的方法及装置 | |
CN102301358B (zh) | 使用社交联系的文本消歧 | |
EP2579251B1 (en) | Interactive text editing | |
US11308450B2 (en) | Generating personalized smart responses | |
US20200380309A1 (en) | Method and System of Correcting Data Imbalance in a Dataset Used in Machine-Learning | |
US11960354B2 (en) | Proactive learning of network software problems | |
US12001471B2 (en) | Automatic lot classification | |
CN110069769B (zh) | 应用标签生成方法、装置及存储设备 | |
CN112384909A (zh) | 利用无监督学习来改进文本到内容建议的方法和系统 | |
CN112400165A (zh) | 利用无监督学习来改进文本到内容建议的方法和系统 | |
CN109543014B (zh) | 人机对话方法、装置、终端及服务器 | |
KR20240055704A (ko) | 지정 항목 추천 방법 | |
CN111027854A (zh) | 一种基于企业大数据的综合画像指数生成方法及相关设备 | |
US10867130B2 (en) | Language classification system | |
CN113190646B (zh) | 一种用户名样本的标注方法、装置、电子设备及存储介质 | |
CN105955507B (zh) | 一种软键盘的显示方法以及终端 | |
CN112417874A (zh) | 命名实体的识别方法和装置、存储介质、电子装置 | |
US20230169110A1 (en) | Method and system of content retrieval for visual data | |
US20240233427A1 (en) | Data categorization using topic modelling | |
KR102181835B1 (ko) | 고 영향 노드의 결정 방법, 고 영향 노드의 결정 장치, 바이럴 마케팅에서의 마케팅 비용 최소화 방법 및 이를 수행하기 위한 시스템 | |
US20240231995A1 (en) | Proactive learning of network software problems | |
CN117689769A (zh) | 一种文字图片的处理方法、装置以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |