CN103959283A - 交互文本编辑 - Google Patents
交互文本编辑 Download PDFInfo
- Publication number
- CN103959283A CN103959283A CN201280057310.6A CN201280057310A CN103959283A CN 103959283 A CN103959283 A CN 103959283A CN 201280057310 A CN201280057310 A CN 201280057310A CN 103959283 A CN103959283 A CN 103959283A
- Authority
- CN
- China
- Prior art keywords
- suggestion
- suggestions
- word
- paragraph
- text
- 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
- 230000002452 interceptive effect Effects 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000005236 sound signal Effects 0.000 claims abstract description 8
- 238000012937 correction Methods 0.000 claims description 42
- 230000008859 change Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 235000021162 brunch Nutrition 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 235000021152 breakfast Nutrition 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000010409 thin film Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
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/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/221—Announcement of recognition results
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
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)
- User Interface Of Digital Computer (AREA)
- Document Processing Apparatus (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
一种用于提供建议的方法,包括捕获包括话音的音频并且从话音识别引擎接收文本内容。话音识别引擎对音频信号执行话音识别以获得包括一个或者多个段落的文本内容。该方法也包括接收文本内容中的段落中的第一单词的部分的选择,其中段落包括多个单词并且取回可以潜在地替换第一单词的建议集合。来自建议集合的至少一个建议提供用于潜在地替换第一单词的多单词建议。该方法还包括在显示设备上显示建议集合,并且突出显示如在显示器上显示的文本内容的用于潜在地改变至来自建议集合的建议中的一个建议的部分。
Description
有关申请的交叉引用
本申请要求于2011年10月3日提交的第61/542,727号美国临时申请的优先权,通过引用将全部内容结合于此。
技术领域
本公开内容涉及在计算设备上编辑文本段落。
背景技术
文本编辑软件允许用户编辑文本正文以纠正拼写或者改正语法错误。
发明内容
这里描述的方法和***可以用来实施一种为用户改善编辑体验的文本编辑***。例如可以通过在统一界面中提供单词级和段落级建议来使编辑文本更高效。
在一个方面中,一种用于提供建议的方法包括捕获包括话音的音频并且从话音识别引擎接收文本内容。话音识别引擎对音频信号执行话音识别以获得包括一个或者多个段落的文本内容。该方法也包括接收文本内容中的段落中的第一单词的部分的选择,其中段落包括多个单词并且取回可以潜在地替换第一单词的建议集合。来自建议集合的至少一个建议提供用于潜在地替换第一单词的多单词建议。该方法还包括在显示设备上显示建议集合并且突出显示如在显示器上显示的文本内容的一部分,用于潜在地改变成来自建议集合的建议中的一个建议。
在另一方面中,一种***包括建议引擎和在显示设备上呈现的用户界面。建议引擎被配置用于响应于段落中的第一单词的部分的选择来取回用于改变第一单词的第一建议集合,并且从第一集合选择第二建议集合。来自第二建议集合的至少一个建议提供用于潜在地替换第一单词的多单词建议。用户界面被配置用于显示第二建议集合并且显示段落的用于潜在地改变成第二建议集合中的建议的突出显示的部分。
在另一方面中,本申请描述以一种在存储设备中有形地实施的包括计算机可读指令的计算机程序产品。指令被配置用于使一个或者多个处理器执行各种操作。操作包括接收段落中的第一单词的部分的选择并且取回用于改变第一单词的第一建议集合。操作也包括从第一集合选择第二建议集合,其中来自第二集合的至少一个建议提供用于第一单词的多单词建议。操作还包括使用用户界面来显示第二建议集合并且突出显示如在显示设备上显示的段落的用于潜在地改变成来自第二建议集合中的建议的部分。
实施方式可以包括以下各项中的一项或者多项:
取回建议集合还可以包括从可以潜在地改变来自段落的各种单词和单词组合的第一建议集合选择第二建议集合。第一建议集合可以包括可以潜在地改变段落的一个或者多个部分的单词和短语,一个或者多个部分包括第一单词。突出显示可以基于第二建议集合。可以确定与第二建议集合对应的全局纠正范围。全局纠正范围可以包括来自段落的可以潜在地被第二建议集合改变的所有单词。可以确定全局纠正范围为与在第二建议集合中的个别建议对应的纠正范围的并集。第二建议集合可以包括来自第一建议集合的预定数目的建议。预定数目可以依赖于在用户界面上的可用区域。可以基于建议在从第一集合导出的排行列表中的出现顺序从第一集合选择预定数目的建议。可以基于建议在从第一集合导出的排行列表中的出现顺序从第一集合选择预定数目的建议。显示建议集合也可以包括向来自第二集合的建议中的一个或者多个建议添加来自段落的一个或者多个单词,并且可视地区别添加的单词与建议中的其它单词。
建议储存库可以被配置用于存储与段落有关的建议并且向建议引擎提供存储的建议中的一个或者多个建议作为第一建议集合。建议引擎还可以被配置用于基于第二建议集合确定段落的突出显示的部分的范围。建议引擎还可以被配置用于确定与第二建议集合对应的全局纠正范围。建议储存库可以驻留于在其上实施建议引擎的计算设备上。显示设备可以是计算设备的部分。计算设备可以是智能手机。用户界面能够被配置用于显示预定数目的建议,并且建议引擎还可以被配置用于使第二建议集合的大小限于预定数目。建议引擎还可以被配置用于基于建议在从第一集合导出的排行列表中的出现顺序选择用于第二集合的预定数目的建议。建议引擎还可以被配置用于向第二集合中的建议中的一个或者多个建议添加来自段落的一个或者多个单词。用户界面还可以被配置用于显示第二集合,从而添加的单词可视地区别于建议中的其它单词。段落的突出显示的部分可以基本上对应于全局纠正范围。
这里描述的方法和***的实施方式可以展现以下优点中的一个或者多个优点:可以在单个用户界面中组合段落级和单词级建议。即使用户已经选择仅一个特定单词,仍然可以提供跨越邻近单词的建议。由于突出显示原有文本是基于最终显示的建议,所以容易传达建议可以影响或者改变的最大范围。单独的建议的每个单词可以被进行色编码或者另外标记以示出单词是否为建议的改变或者原有文本的部分。通过具有组合式界面,来自字典的单词级建议可以与提供短语级建议的更复杂(例如基于学习的)范例组合。
在附图和以下描述中阐述本发明的一个或者多个实施例的细节。本发明的其它特征、方面和优点将从描述、附图和权利要求中变得清楚。
附图说明
图1是文本编辑***的示例的框图。
图2是用于为文本编辑提供建议的示例操作序列的流程图。
图3A-3C是用于交互文本编辑的界面的示例。
图4是有助于交互文本编辑的移动设备的示例的示意表示。
图5是图示图4的设备的内部结构的框图。
图6示出可以用来实施这里描述的技术的计算设备和移动计算设备的示例。
在各种附图中的相似附图标记和标示指示相似要素。
具体实施方式
文本编辑***一般而言有助于对文本的正文或者段落的纠正或者其它改进。例如,文本编辑***可以提供用于纠正拼写错误的拼写检查功能。在一些情况下,文本编辑***可以提供对特定单词或者短语的一个或者多个备选建议。如果用户选择建议中的一个建议,则可以根据选择的建议来改变或者替换段落的对应单词或者部分。本申请描述一种用于在统一界面中一起提供单词级、段落级、语句级建议或者其它粒度的建议的方法和***。一般而言,显示的建议可以潜在地改变的原有文本的范围或者范围大于对应用户选择的范围或者范围。例如如果用户从给定的文本选择单词(或者甚至单词的部分),则显示的建议可以包括替换或者改变在选择的单词的邻域中的一个或者多个附加单词的短语。来自给定的显示集合的建议因此可以具有互不相同的长度。一般而言,可以在给定的建议集合中包括以下潜在改变类型中的一个或者多个潜在改变类型:按照单词改变或者替换单词、按照短语改变或者替换单词、按照单词改变或者替换短语以及按照短语改变或者替换短语。如这里所用的术语短语是指一组单词并且也可以包括完整语句。
这里描述的方法和***可以与若干应用、例如字处理器、电子邮件***、短信***或者需要编辑文本的其它应用结合使用。在一些实施方式中,这里描述的文本编辑***和方法可以与比如话音识别***或者光学字符识别(OCR)***的自动化文本识别***结合使用。
在一些实施方式中,给定的识别的文本串可能需要由用户手工纠正。例如口头输入“pictures of the Golden Gate Bridge at sunset”可以由文本识别***识别为“pictures of a Golden Gate bridge and sunset”。用户然后可以编辑从话音识别***返回的文本并且纠正错误。在这样的情况下,这里描述的文本编辑方法和***可以用于有助于更快速和更高效的文本编辑。通过提供不仅跨越选择的单词而且跨越附加单词的建议,即使在选择小得多的范围或者范围时仍然可以纠正更大文本块。
图1是可以用来提供如这里描述的组合式单词级和短语级建议的文本编辑***100的示例的框图。一般而言,***100包括建议引擎110,该建议引擎与建议储存库120通信以提供与如智能手机或者膝上型计算机的计算设备的图形用户界面140显示的段落130有关的文本编辑建议。建议储存库120可以被存储在存储设备上例如作为数据库。在一些实施方式中,在文本编辑***100与话音识别***结合使用时,建议引擎100与话音识别引擎115通信。话音识别引擎115可以接收话音输入作为音频信号并且基于输入来提供文本内容。在一些实施方式中,可以实施建议引擎110作为话音识别引擎115的部分。
话音识别引擎115是可以与这里描述的方法和***结合使用的文本识别***的示例。一般而言,文本识别***用来从反映包括单词或者其它符号的信息的输入信号(比如音频或者图像信号)提取文本。文本识别***可以例如包括机器学习***(例如隐藏马尔科夫模型、基于特征的线性回归或者人工神经网络),该机器学习***通过分析各自已经与已知文本串配对的许多示例输入信号来训练用来检测输入信号中的文本的模型,该已知文本串代表在该输入信号中反映的单词或者符号。用于这一目的的输入信号和文本串对集合通常称为训练数据。在一些实施方式中,可以从文本识别***的一个或者多个用户收集附加训练数据并且使用该附加训练数据以进一步精化文本识别***使用的模型。在许多用户(例如数以千计的用户)通过网络访问和利用文本识别***时,用户可以共同地是广大和成本高效的训练数据来源。在一些实施方式中,话音识别引擎115可以包括用于捕获代表话音的音频信号的音频捕获设备、比如麦克风。
段落130可以是来自各种来源和以各种形式的文本的正文。在一些实施方式中,段落130可以是文本识别***的输出。例如段落130可以是话音识别引擎115的输出。在一些实施方式中,段落130可以是字处理应用中的文本的正文。段落130也可以是例如电子邮件消息、用于短消息***(SMS)应用的消息、搜索查询、可填写表单或者有助于文本输入的其它应用的至少部分。一般而言,段落130包括可以编辑的电子文本。段落也可以是各种大小。例如段落130可以是自然段、语句或者甚至是单个单词。
一般而言,在用户界面(UI)140上显示段落130。UI140可以被呈现在例如移动设备的计算机屏幕或者显示器的显示设备上。UI140可以例如是图形用户界面(GUI)或者基于文本的界面。一般而言,UI140通过图形图标、可视指示符、文本或者其组合向用户表示信息和/或可用动作。在文本编辑***提供与段落130有关的一个或者多个建议时,也可以使用UI140来显示建议。例如可以使用可以与段落130的至少部分重叠的图形图标、比如下拉菜单来显示建议或者选项。通常,下拉菜单包括由建议引擎110提供的作为用户可选择选项的不同建议。下拉菜单可以包括一起显示的单词级以及短语级建议二者。
在一些实施方式中,UI140可以被配置用于基于由建议引擎110提供的用户可选择选项接受用户输入。用户可以通过选择图形图标、可视指示符或者文本串中的一项或者多项来选择选项。例如如果在触屏显示器上显现UI140,则用户可以通过触摸在UI140上呈现的选项之一来选择可用动作。相似地,也可以例如使用鼠标点击、键盘输入、语音命令或者另一形式的用户输入来选择经由UI140呈现的选项。
建议引擎110基于来自段落130的单词、短语或者其部分提供一个或者多个建议。在一些实施方式中,可以通过UI140选择并且向建议引擎110提供单词、短语或者其部分。基于选择,建议引擎110可以与建议储存库120通信以确定有关建议的列表并且向UI140提供用于显示的列表。可以在计算设备上实施建议引擎110为软件和硬件模块的任何组合。在一些实施方式中,可以在与执行和/或显现UI140的计算设备远程的计算设备中实施建议引擎110。在一些实施方式中,可以在相同计算设备上实施建议引擎110和UI140。
由建议引擎110从建议储存库120取回的建议集合(下文称为第一集合)可以由建议引擎110过滤,从而向UI140提供的第二建议集合未包括从建议储存库120取回的所有建议。建议引擎110可以用各种方式过滤第一集合。在一些实施方式中,建议引擎110可以从第一集合选择用于在第二集合中包括的预定数目的建议。可以例如基于在UI140上可用的用于显示第二集合的显示区域确定预定数目。例如如果在移动设备上显示UI140,则在第二集合中的建议数目可以比在比如桌面型监视器的更大屏幕上显示UI140时更低。可以用各种方式从第一集合选择预定数目的建议。例如建议引擎110可以基于从建议储存库120取回建议的顺序选择用于在第二集合中包括的建议。在一些实施方式中,建议引擎110可以基于一个或者多个排行算法对从建议储存库120取回的建议进行排行并且从排行列表选择预定数目的建议。建议储存库120也可以被配置用于按照排行顺序存储和/或提供建议。
排行可以基于各种标准,各种标准例如包括流行度、计算的使用可能性、单词数目或者用户偏好。例如如果对单词“lunch”的备选建议是“munch”、“brunch”、“crunch”和“breakfast”,并且单词“brunch”和“breakfast”基于使用流行度比“munch”和“crunch”排行更高,则“brunch”和“breakfast”可以被包括在第二集合中在“munch”和“crunch”前面。在一些实施方式中,建议引擎110可以被配置用于记录用户偏好并且使用记录的偏好(例如通过使用机器学习算法)作为反馈以提供将来第二集合。这样的反馈可以是用户专属或者通用二者。例如建议引擎110可以被配置用于跟踪特定用户的偏好历史并且基于偏好历史选择第二集合。在另一示例中,建议引擎110可以跟踪提供的建议的流行度并且使用该信息以选择第二集合。
由于第二建议集合可以包括单词以及短语,所以可以使用第二集合而改变的来自原有段落的单词数目可以从一个建议到另一建议变化。通过从第二集合选择特定建议而影响的改变的该组单词可以称为用于特定建议的纠正范围。如果每个纠正范围视为集合,则与在第二集合中的建议对应的所有纠正范围的并集形成用于第二集合的全局纠正范围。全局纠正范围指示在第二集合中提供的建议所影响的来自段落130的最大范围。由于全局纠正范围是与不同建议对应的所有个别纠正范围的并集,所以选择特定建议可以未改变在全局纠正范围中的所有单词。在一些实施方式中,建议引擎110也可以被配置用于基于为第二集合选择的建议在原有段落130中突出显示全局纠正范围。建议引擎110还可以附加地被配置用于对在每个建议中的哪个单词(或者哪些单词)是原有段落130的部分进行色编码。备选地,可以对就建议的在原有段落130中不存在的单词进行色编码。在一些实施方式中,可以对在原有段落130中出现的单词以及未出现的单词二者分离地进行色编码。以下参照图3A-3C举例说明突出显示和色编码操作。
建议引擎110与建议储存库120通信以基于用户选择的单词、短语、语句等或者其部分取回建议。建议储存库120可以包括提供单词级建议的来源(例如同义词、音素相似的单词或者反义词)以及提供短语级备选的来源(例如在含义和/或上下文方面相似的多组单词)。例如在文本编辑***100与话音识别***结合使用时,建议储存库120可以包括字典(用于单词级建议)以及来自话音识别服务器的备选短语级建议。在一些实施方式中,如果短语130的部分被(例如软件)确定为语法不正确,则短语级建议也可以包括基本上完整语句。一般而言,建议储存库120可以访问或者存储来自不同来源的建议并且向建议引擎110提供这样的建议。
在一些实施方式中,建议储存库120可以在执行建议引擎110和/或UI140的相同计算设备上驻留(例如作为数据库)。例如可以在执行建议引擎110的移动设备或者计算机上下载和存储建议全局列表。在一些实施方式中,建议储存库120可以在与执行建议引擎110的计算设备远离的计算设备(例如服务器)上驻留。在这样的情况下,建议引擎110可以与建议储存库120通信并且基于用户选择来取回建议。例如在文本编辑***100与话音识别***结合使用时,在用户口授文本时,话音识别服务器可以向建议引擎110供应用于单词或者短语的多个备选建议。
图2是描绘用于为文本编辑提供建议的示例操作序列的流程图200。在一些实施方式中,可以在建议引擎110处执行在流程图200中描绘的操作中的一些或者所有操作。在一些情况下,可以在多个计算设备内分布操作。例如在实施文本编辑***100为客户端-服务器架构时,可以在客户端执行操作中的一些操作而可以在服务器执行其它操作。备选地,可以在比如客户端的单个计算设备上执行所有操作。
操作可以包括从话音识别引擎接收文本内容(201)。文本内容可以基于使用比如麦克风的音频捕获设备而捕获的音频信号。音频信号代表话音并且可以从各种来源发射,该来源比如人类扬声器或者被配置用于记录和回放人类话音的电子设备。话音识别引擎从捕获的音频信号识别话音并且提供文本内容。文本内容可以接收各自可以包括一个或者多个单词的一个或者多个文本段落。
操作包括接收第一单词的部分的选择(202)。可以通过输入设备从用户接收选择。输入设备可以例如包括指示设备、比如鼠标、键盘或者触屏显示器。例如如果在触屏显示器上显现段落,则用户可以触摸(或者指向)单词或者其部分以产生选择。在一些实施方式中,选择也可以包括整个单词、单词组、短语或者语句。在一些实施方式中,选择可以例如在确定语句或者其部分语法不正确时由软件自动产生。
图3A-3C示出经由界面300的交互文本编辑的各种示例。图3A-3C的示例举例说明用于段落310的交互文本编辑。应当注意界面300(在移动设备上显现的界面)是参照图1描述的UI140的示例而不应当视为限制。在图3A的示例中,通过触摸或者指向单词“should”302来产生选择。可以通过触摸或者指向单词302的任何部分、例如字母“o”来选择单词302。在图3B中,通过触摸单词“for”320或者其部分来产生选择。在图3C中,通过触摸单词“we”330或者其部分来产生选择。
操作也包括取回用于潜在地改变或者替换第一单词的建议集合(204)。取回建议集合可以包括从例如从建议储存库120接收的另一集合(与参照图1描述的第一建议集合基本上相似)选择集合(与参照图1描述的第二建议集合基本上相似)。第一建议集合包括可以潜在地改变来自原有段落的一个或者多个单词的单词级建议以及短语级建议。潜在地改变的原有单词通常包括第一单词。在一些实施方式中,第一建议集合包括与段落310有关的所有可能建议。取回第一建议集合(204)因此可以包括解析消息310用于各种单词组合并且检查一个或者多个建议对于那些组合中的每个组合是否存在。例如可以解析段落310以提出以下第一建议集合:
1)Washer:Should we
2)Washer tomorrow:Washing today
3)Should:Show
4)we:me
5)we meet:me
6)Should we:Show
7)for:for brunch
8)meet for:to
10)we meet for:me to
在以上所示建议集合中,每个条目首先呈现可以替换的来自短语单词或者成组单词。这跟随有分离符号、比如“:”。在分离字符的右侧上呈现在建议储存库120中可用的对应建议。在分离字符的左侧上的一个或者多个单词代表将根据特定建议的选择而改变的部分、因此可以称为用于特定建议的纠正范围。在一些实施方式中,第一建议集合仅包括与选择、即第一单词有关的建议。在一些实施方式中,可以按照重要性顺序对第一建议集合进行排行。排行可以由建议模块110执行或者可以例如用在建议储存库120中存储建议的方式来预定义。在一些实施方式中,仅检查包括第一单词的组合寻找可用建议。
取回建议集合(204)也可以包括从第一集合选择第二集合。可以基于一个或者多个预定义规则从第一建议集合选择第二集合。例如可以基于选择、即第一单词选择第二建议集合。在图3A中所示示例中,第一单词是单词“should”302。在这一示例中,第二建议集合可以仅包括与单词302有关的建议、即“Should we:Show”和“Should:Show”。在图3B中所示示例中,第一单词是单词“for”320。因此,在这一示例中,第二建议集合可以仅包括“for:for brunch”、“meet for:to”和“we meet for:me to”。相似地,由于在图3C的示例中的第一单词是“we”330,所以对应地,第二建议集合包括“we:me”、“we meet:me”和“Should we:Show”。
在一些实施方式中,即使在更大数目的潜在建议可用时仍然在第二集合中包括预定数目的建议。可以例如在对应用户界面中可用的空间上判定预定数目。例如如果用于图3C中所示情况的预定数目为两个,则即使建议326原本已经符合条件被包括,仍然将已经在第二集合中仅包括建议322和324。在更大数目的建议可用于被包括时,可以例如基于在第二集合中包括的建议在排行列表中的位置、基于从建议储存库120的取回顺序或者随机选择第二集合中包括的建议。在一些实施方式中,选择第二建议集合(206)也可以基于机器学习算法,这些机器学习算法跟踪例如来自训练数据、反馈等的建议的使用。
操作也包括显示建议集合(206)。显示的建议集合可以与以上描述的第二建议集合基本上相同。可以显示第二建议集合作为在其上显现原有段落的相同UI(例如图1中所示UI140)的部分。在一些实施方式中,也可以在分离用户界面中显示第二建议集合。通常显示第二建议集合为下拉菜单、比如图3A中所示菜单303。在一些实施方式中,下拉菜单的大小可以依赖于在第二集合中的建议数目。备选地,可以预先确定下拉菜单的大小,并且可以基于在第二集合中的建议数目变化用于显示建议的字体大小。
在一些实施方式中,显示建议集合(206)也包括对在建议中的每个建议出现的单词进行色编码(或者使用另一技术来可视地区别这些单词)。色编码依赖于第二建议集合的全局纠正范围。通常对于给定的建议,用不同颜色显示与原有文本对应的单词集合和建议作为备选而提出的单词集合。如以上参照图1描述的那样,确定用于给定的第二集合的全局纠正范围为在集合中的个别建议的纠正范围的并集。例如在图3A中,用于建议306的纠正范围是“should we”,并且用于建议304的纠正范围是“should”。因此,用于这一示例的全局纠正范围(或者个别纠正范围的并集)是“should we”。一旦标识全局纠正范围,按照需要向个别建议前置附加或者后置附加单词,从而对应纠正范围变成等于全局纠正范围。在图3A的示例中,向建议304后置附加单词“we”以使对应纠正范围等于全局纠正范围。这在效果上意味着来自第二集合的任何个别建议如果被选择则替换原有文本中的整个全局纠正范围。可以用不同颜色显示向任何个别建议后置附加或者前置附加的单词以区别于作为对在原有文本中存在的单词的备选而提出的单词。例如在建议304中,用不同颜色或者阴影显示单词“show”(提出的备选)和单词“we”(是原有文本的部分)。
相似地,在图3B的示例中,全局纠正范围是“we meet for lunch”,并且对在建议322、324和326中的单词相应地进行色编码以反映哪些单词来自原有文本而哪些是建议的备选。例如建议322的色编码指示单词“we meet”在原有文本中出现,而“for brunch”是建议的备选短语。在图3C的示例中,全局纠正备选是“Should we meet”,并且对建议332、334和336相应地进行编码。
操作包括突出显示段落的用于潜在地改变成建议集合中的建议的部分(208)。突出显示的部分基本上等于用于对应建议集合的全局纠正范围。例如在图3A的示例中,突出显示308可视地区别对应全局纠正范围。相似地,图3B和3C图示对应全局纠正范围的突出显示,这些全局纠正范围又基于对应显示的建议集合来确定。应当注意如这里所用的术语突出显示是指可视地区别文本的部分与其余部分。突出显示因此例如包括下划线、粗体、斜体、使用区别字体或者背景或者用于区别文本的一个部分与其余部分的其它图形方式。
现在参照图4,图示移动设备400的示例的外观,该移动设备实施文本编辑***100的一个或者多个部分。简言之,设备400包括被配置用于执行指令的处理器以及其它部件,这些指令用于执行建议引擎的操作并且显现比如UI140的UI。在一些实施方式中,移动设备也可以包括建议储存库120。
更具体而言,设备400的硬件环境包括用于向用户显示文本、图像和视频的显示器401;用于向设备400中录入文本数据和用户命令的键盘402;用于指向、选择和调整在显示器401上显示的对象的指示设备404;天线405;网络连接406;相机407;麦克风409;以及扬声器410。虽然设备400示出外部天线405,但是设备400可以包括对用户不可见的内部天线。
显示器401可以显示组成用户界面的视频、图形、图像和文本,该用户界面用于设备400使用的软件应用和用来操作设备400的操作***程序。在可以在显示器401上显示的可能元素之中是向用户提醒存在新消息的新邮件指示符411;指示正在接收、发出或者出现电话呼叫的活跃呼叫指示符412;指示设备400当前用来传输和接收数据的数据标准的数据标准指示符414;比如通过使用信号强度条指示经由天线405接收的信号的强度测量的信号强度指示符415;指示剩余电池寿命的测量的电池生命指示符416;或者输出当前时间的时钟417。在一些实施方式中,参考图1描述的UI140能够被显现显示器401上。显示器401也可以是被配置用于充当输入设备以及输出设备二者的触屏显示器。
显示器401也可以示出代表可用于用户的各种应用的应用图标、比如web浏览器应用图标419、电话应用图标420、搜索应用图标421、联系人应用图标422、地图应用图标424、电子邮件应用图标425或者其它应用图标。在一个示例实施方式中,显示器401是能够有16位或者更佳颜色的四分之一视频图形阵列(QVGA)薄膜晶体管(TFT)液晶显示器(LCD)。
用户使用键盘(或者“键区”)402以录入命令和数据用于操作和控制操作***和应用,该操作***和这些应用提供与文本识别***的交互。键盘402包括标准键盘按钮或者与字母数字字符关联的键、比如在被独自选择时与字母数字字符“Q”和“W”关联、或者在与键429组合按压时与字符“*”和“1”关联的键426和427。单个键也可以基于操作***或者操作***调用的应用的状态而与特殊字符或者包括未标注功能的特殊功能关联。例如在应用需要输入数字字符时,独自选择键427可以使“1”被输入。
除了传统上与字母数字键区关联的键之外,键盘402也包括其它特殊功能键、比如使接收的呼叫被应答或者始发新呼叫的建立呼叫键430;使活跃呼叫终止的终止呼叫键431;使菜单在显示器401内出现的下拉菜单键432;使先前访问的网络地址再次被访问的后退导航键434;使活跃网页放置于收藏站点书签文件夹中或者使书签文件夹出现的收藏键435;使在设备400上调用的应用导航到预定网络地址的主页键436;或者提供多向导航、应用选择以及电源和音量控制的其它键。
用户使用指示设备404以选择和调整在显示器401上显示的图形和文本对象作为与设备400和在设备400上调用的应用的交互或者对设备400或者该应用的控制的部分。指示设备404是任何适当类型的指示设备并且可以是操纵杆、跟踪球、触板、相机、语音输入设备、与显示器401组合实施的触屏设备或者任何其它输入设备。在一些实施方式中,指示设备404可以例如在显示器401是触屏显示器时是显示器401的部分。
可以是外部天线或者内部天线的天线405是用于传输和接收射频(RF)信号的定向或者全向天线,这些RF信号实施点到点无线电通信、无线局域网(LAN)通信或者位置确定。天线405可以有助于使用专门化移动无线电(SMR)、蜂窝或者个人通信服务(PCS)频率频带的点到点无线电通信,并且可以使用任何数目的数据标准来实施数据传输。例如天线405可以允许使用以下无线技术在设备400与基站之间传输数据,该无线电技术诸如无线宽带(WiBro)、全球微波接入可互操作性(WiMAX)、3GPP长期演进(LTE)、超移动宽带(UMB)、时分-同步码分多址(TD-SCDMA)、时分-码分多址(TD-CDMA)、通用移动电信***(UMTS)、宽带码分多址(W-CDMA)、增强数据速率GSM演进(EDGE)、增强GPRS(EGPRS)、码分多址-2000(CDMA2000)、全球移动通信***(GSM)或者其它技术。经由W-CDMA、HSUPA、GSM、GPRS和EDGE网络的通信可以例如使用QUALCOMM MSM7200A芯片组而出现,该芯片组具有QUALCOMM RTR6285TM收发器和PM7540TM电源管理电路
无线或者有线计算机网络连接406可以是调制解调器连接、包括以太网的局域网(LAN)连接或者宽带广域网(WAN)连接、比如数字用户线(DSL)、线缆高速因特网连接、拨号连接、T-1线、T-3线、光纤连接或者卫星连接。网络连接406可以连接到LAN网络、公司或者政府WAN网络、因特网、电话网络或者其它网络。网络连接406使用有线或者无线连接器。示例无线连接器例如包括IEEE标准802.11无线连接器、BLUETOOTH无线连接器(比如BLUETOOTH版本1.2或者3.0连接器)、近场通信(NFC)连接器、正交频分复用(OFDM)超宽带(UWB)无线连接器、时间调制超宽带(TM-UWB)无线连接器或者其它无线连接器。示例有线连接器例如包括IEEE-1394FIREWIRE连接器、通用串行总线(USB)连接器(包括迷你型B USB接口连接器)、串行端口连接器、并行端口连接器或者其它有线连接器。在另一实施方式中,将网络连接406和天线405的功能集成为单个部件。
天线407允许设备400捕获数字图像并且可以是扫描仪、数字静止相机、数字视频相机或者其它数字输入设备。在一个示例实施方式中,相机407是利用互补金属氧化物半导体(CMOS)的4兆像素(MP)相机。
麦克风409允许设备400捕获声音并且可以是全向麦克风、单向麦克风、双向麦克风、射枪式麦克风或者将声音转换成电信号的其它类型的装置。麦克风409可以用来例如在用户在经由设备400的电话呼叫期间向另一用户讲话时捕获用户生成的声音。反言之,扬声器410允许设备将电信号转换成声音、比如电话应用程序生成的来自另一用户的语音或者从铃声应用程序生成的铃声。在一些实施方式中,可以使用麦克风409作为用于话音识别***的输入设备。
虽然在图4中图示设备400为手持设备,但是在更多实施方式中,设备400可以是膝上型计算机、工作站、中程计算机、大型机、嵌入式***、电话、桌面型PC、写字板计算机、PDA或者其它类型的计算设备。
图5是图示设备400的内部架构500的框图。该架构包括中央处理单元(CPU)501,其中处理包括操作***或者应用的计算机指令;提供用于在显示器401上显现视频、图形、图像和文本的通信接口和处理功能、提供内置控件(比如按钮、文本和列表)集合并且支持不同屏幕尺寸的显示器接口502;提供与键盘402的通信接口的键盘接口504;提供与指示设备404的通信接口的指示设备接口505;提供与天线405的通信接口的天线接口506;通过计算机网络连接406提供与网络的通信接口的网络连接接口507;提供用于从相机407捕获数字图像的通信接口和处理功能的相机接口508;提供用于使用麦克风409将声音转换成电信号并且用于使用扬声器410将电信号转换成声音的通信接口的声音接口509;随机存取存储器(RAM)510,其中在易失性存储器设备中存储计算机指令和数据用于由CPU501处理;只读存储器(ROM)511,其中在非易失性存储器设备中存储用于基本***功能的不变低级***代码或者数据,基本***功能诸如基本输入和输出(I/O)、启动或者从键盘402接收键击;存储介质512或者其它适当类型的存储器(如例如RAM、ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁盘、光盘、软盘、硬盘、可拆卸盒、闪存驱动),其中存储包括操作***514、应用程序515(例如按照需要包括web浏览器应用、小部件或者小配件引擎和/或其它应用)和数据文件516的文件;提供设备400的现实或者相对定位或者地理位置的导航模块517;提供用于向部件供电的适当交流(AC)或者直流(DC)的电源519;以及允许设备400通过电话网络传输和接收声音的电话子***520。构成设备和CPU510通过总线521相互通信。
CPU501可以是多个计算机处理器中的一个计算机处理器。在一个布置中,计算机CPU501是多于一个处理单元。RAM510与计算机总线521进行接口以便在执行比如操作***应用程序的软件程序和设备驱动器期间向CPU501提供快速RAM存储。更具体而言,CPU501从存储介质512或者其它介质向RAM510的场中加载计算机可执行过程步骤以便执行软件程序。在RAM510中存储数据,其中数据在执行期间由计算机CPU501访问。在一个示例配置中,设备400包括至少128MB的RAM和256MB的闪存。
存储介质512本身可以包括多个物理驱动单元、比如独立盘冗余阵列(RAID)、软盘驱动、闪存、USB闪存驱动、外部硬盘驱动、拇指驱动、笔驱动、钥匙驱动、高密度数字万用盘(HD-DVD)光盘驱动、内部硬盘驱动、蓝光光盘驱动或者全息数字数据存储装置(HDDS)光盘驱动、外部迷你型双列直插存储器模块(DIMM)同步动态随机存取存储器(SDRAM)或者外部微DIMM SDRAM。这样的计算机可读存储介质允许设备400访问在可拆卸和非可拆卸存储器介质上存储的计算机可执行过程步骤、应用程序等以从设备400卸载数据或者向设备400上上传数据。
可以在存储介质512、机器可读存储介质上有形地体现计算机程序产品。计算机程序产品包括在由机器读取时操作用于使数据处理装置在移动设备中存储图像数据的指令。在一些实施例中,计算机程序产品包括使数据处理装置收集和过滤来自文本识别***的用户的文本识别***纠正的指令。
操作***514可以是基于LINUX的操作***、比如移动设备平台:APPLE MAC OS X;MICROSOFT WINDOWS NT/WINDOWS2000/WINDOWS XP/WINDOWS MOBILE;多种UNIX风格的操作***;或者用于计算机或者嵌入式***的专用操作***。用于操作***514的应用开发平台或者框架可以是:BINARY RUNTIMEENVIRONMENT FOR WIRELESS(BREW);JAVA平台、微缩版(JAVA ME)或者JAVA2平台、使用SUN MICROSYSTEMSJAVASCRIPT编程语言的微缩版(J2ME);PYTHONTM、FLASH LITE或者MICROSOFT.NET Compact或者另一适当环境。
设备存储用于操作***514和应用程序515的计算机可执行代码,应用程序515比如电子邮件、即时消息接发、视频服务应用、地图应用、字处理、电子表格、演示、游戏、地图绘制、web浏览、JAVASCRIPT引擎或者其它应用。例如一个实施方式可以允许用户访问GMAIL电子邮件应用、即时消息接发应用、视频服务应用、地图绘制应用或者图像编辑和演示应用。应用程序515也可以包括小部件或者小配件引擎,如TAFRITM小部件引擎、如WINDOWSSIDEBAR小配件引擎或者KAPSULESTM小配件引擎的MICROSOFT小配件引擎、如KONFABULTORTM小部件引擎的YAHOO!小部件引擎、APPLE DASHBOARD小部件引擎、小配件引擎、KLIPFOLIO小部件引擎、OPERATM小部件引擎、WIDSETSTM小部件引擎、专用小部件或者小配件引擎或者为在桌面上的物理地激发的小应用提供主机***软件的其它小部件或者小配件引擎。
虽然有可能使用以上描述的实施方式来提供文本识别纠正的过滤,但是也有可能实施根据本公开内容的功能作为动态链接库(DLL)或者作为向其它应用程序的插件,应用程序诸如因特网web浏览器如FOXFIRE浏览器、APPLE SAFARI web浏览器或者MICROSOFT INTERNET EXPLORER web浏览器。
导航模块517可以比如通过使用全球定位***(GPS)信号、全球导航卫星***(GLONASS)、伽利略定位***、北斗卫星导航和定位***、惯性导航***、航位推测***或者通过访问数据库中的地址、网际协议(IP)地址或者位置信息来确定设备的绝对或者相对定位。导航模块517也可以用来比如通过使用一个或者多个加速度计来测量设备400的角位移、朝向或者速率。
图6示出可以与这里描述的技术使用的通用计算机设备600和通用移动计算机设备650的示例。计算设备600旨在于代表各种形式的数字计算机、比如膝上型计算机、桌面型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当计算机。计算设备650旨在于代表各种形式的移动设备、比如个人数字助理、蜂窝电话、智能手机和其它相似计算设备。这里所示部件、它们的连接和关系及其功能意味着仅为示例而并非意味着限制在本文中描述和/或要求保护的本发明的实施方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608以及连接到低速总线614和存储设备606的低速接口612。部件602、604、606、608、610和612中的每个部件使用各种总线来互连并且可以装配于公共同母板上或者以如适当的其它方式来装配。处理器602可以处理用于在计算设备600内执行的指令、包括在存储器604中或者在存储设备606上存储的用于在外部输入/输出设备、比如耦合到高速接口608的显示器616上显示用于GUI的图形信息的指令。在其它实施方式中,多个处理器和/或多个总线可以如适当的那样与多个存储器和存储器类型一起使用。也可以连接多个计算设备600而每个设备提供必需操作的部分(例如作为服务器组、成刀片服务器组或者多处理器***)。
存储器604存储计算设备600内的信息。在一个实施方式中,存储器604是一个或者多个易失性存储器单元。在另一实施方式中,存储器604是一个或者多个非易失性存储器单元。存储器604也可以是另一形式的计算机可读介质、比如磁盘或者光盘。
存储设备606能够提供用于计算设备600的海量存储装置。在一个实施方式中,存储设备606可以是或者包含计算机可读介质、比如软盘设备、硬盘设备、光盘设备或者带设备、闪存或者其它相似固态存储器设备或者如下设备的阵列,这些设备包括存储区域网络或者其它配置中的设备。计算机程序产品可以有形地体现于信息载体中。计算机程序产品也可以包含在执行时执行一种或者多种方法、比如以上描述的方法的指令。信息载体是计算机或者机器可读介质、比如存储器604、存储设备606、在处理器602上的存储器或者传播的信号。
高速控制器608管理用于计算设备600的带宽密集操作,而低速控制器612管理更低带宽密集操作。这样的功能分配仅为示例。在一个实施方式中,高速控制器608耦合到存储器604、显示器616(例如通过图形处理器或者加速器)并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口610。在该实施方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或者多个输入/输出设备、比如键盘、指示设备、扫描仪或者如交换机或者路由器的联网设备。
可以如该图中所示以多个不同形式实施计算设备600。例如可以实施它为标准服务器620或者多次实施于这样的服务器组中。也可以实施它为架式服务器***624的部分。此外,它可以实施于个人计算机、比如膝上型计算机622中。备选地,来自计算设备600的部件可以与比如设备650的移动设备(未示出)中的其它部件组合。这样的设备中的每个设备可以包含计算设备600、650中的一个或者多个计算设备,并且整个***可以由相互通信的多个计算设备600、650组成。
计算设备650包括处理器652、存储器664、比如显示器654的输入/输出设备、通信接口666和收发器668以及其它部件。设备650也可以具有用于提供附加存储装置的存储设备、比如微驱动或者其它设备。使用各种总线来互连部件650、652、664、654、666和668中的每个部件,并且部件中的若干部件可以装配于公共母板上或者以如适当的其它方式来装配。
处理器652可以执行计算设备650内的指令,这些指令包括在存储器664中存储的指令。可以实施处理器为包括分离以及多个模拟和数字处理器的芯片的芯片组。处理器可以例如提供设备650的其它部件的协调、比如控制用户界面、设备650运行的应用和设备650的无线通信。
处理器652可以通过控制接口658和耦合到显示器654的显示器接口656与用户通信。显示器654可以例如是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器或者其它适当显示器技术。显示器接口656可以包括用于驱动显示器654以向用户呈现图形和其它信息的适当电路装置。控制接口658可以从用户接收命令并且转换它们用于向处理器652提交。此外,可以提供外部接口662与处理器652通信以便实现设备650与其它设备的近区域通信。外部接口662可以例如在一些实施方式中提供有线通信,或者在其它实施方式中提供无线通信,并且也可以使用多个接口。
存储器664存储计算设备650内的信息。可以实施存储器664为一个或者多个计算机可读介质或媒介、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或者多项。也可以提供扩展存储器674,并且该扩展存储器674可以通过可以例如包括SIMM(单列直插存储器模块)卡接口的扩展接口672连接到设备650。这样的扩展存储器674可以提供用于设备650的额外存储空间或者也可以存储用于设备650的应用或者其它信息。具体而言,扩展存储器674可以包括用于实现或者补充以上描述的过程的指令并且也可以包括安全信息。因此例如可以提供扩展存储器674作为用于设备650的安全模块并且可以用允许安全使用设备650的指令来编程。此外,可以经由SIMM卡将安全应用与附加信息一起提供、比如以不可黑客方式将标识信息放置于SIMM卡上。
存储器可以例如包括如以下讨论的闪存和/或NVRAM存储器。在一个实施方式中,在信息载体中有形地体现计算机程序产品。计算机程序产品包含在执行时执行比如以上描述的方法的一种或者多种方法的指令。信息载体是计算机或者机器可读介质、比如存储器664、扩展存储器674、在处理器652上的存储器或者可以例如通过收发器668或者外部接口662接收的传播的信号。
设备650可以通过可以在必要时可以包括数字信号处理电路装置的通信接口666无线通信。通信接口666可以在各种模式或者协议、比如GSM语音呼叫、SMS、EMS或者MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS以及其它模式或者协议之下提供通信。可以例如通过射频收发器668出现这样的通信。此外,可以比如使用蓝牙、WiFi或者其它这样的收发器(未示出)来出现近程通信。此外,GPS(全球定位***)接收器模块670可以向设备650提供附加的与导航和位置有关的无线数据,该数据可以如适当的那样由在设备650上运行的应用使用。
设备650也可以使用音频编码解码器660来可听地通信,该编码解码器可以从用户接收口述信息并且将它转换成可用数字信息。音频编码解码器660可以类似地比如通过例如在设备650的手持设备中的扬声器为用户生成可听声音。这样的声音可以包括来自语音电话呼叫的声音、可以包括记录的声音(例如语音消息、音乐文件等)并且也可以包括由在设备650上操作的应用生成的声音。
可以如该图中所示以多个不同形式实施计算设备650。例如可以实施它为蜂窝电话680。也可以实施它为智能手机682、个人数字助理或者其它相似移动设备的部分。
可以在数字电子电路装置、集成电路装置、专用设计ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里描述的***和技术的各种实施方式。这些各种实施方式可以包括在可编程***上可执行和/或可解释的一个或者多个计算机程序中的实施方式,该可编程***包括可以是专门或者通用的至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该至少一个可编程处理器被耦合用于从存储***接收数据和指令以及向存储***传输数据和指令。
这些计算机程序(也称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实施。如这里所用,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑器件(PLD)),该计算机程序产品、装置和/或设备包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的***和技术可以实施于计算机上,该计算机具有用于向用户显示信息的显示器设备(例如CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的键盘和指示设备(例如鼠标或者跟踪球)。其它种类的设备也可以用来提供与用户的交互;例如向用户提供的反馈可以是任何形式的感官反馈(例如可视反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
这里描述的***和技术可以实施于如下计算***中,该计算***包括后端部件(例如作为数据服务器),或者包括中间件部件(例如应用服务器),或者包括前端部件(例如具有图形用户界面或者Web浏览器的客户端计算机,用户可以通过该图形用户界面或者Web浏览器与这里描述的***和技术的实施方式交互)或者这样的后端、中间件或者前端部件的任何组合。***的部件可以由任何数字数据通信形式或者介质(例如通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算***可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序产生客户端和服务器关系。
已经描述多个实施例。然而,将理解可以进行各种修改而不脱离本发明的精神实质和范围。例如文本识别***可以与文本识别纠正过滤器一起实施于移动设备(例如移动设备400)上。本地文本识别***可以通过用纠正进行训练来适应特定用户的话音或者笔迹模式,这些纠正是使用文本识别纠正过滤器而选择的。
此外,在各图中描绘的逻辑流程无需所示特定顺序或者依次顺序以实现希望的结果。此外,可以提供其它步骤或者从描述的流程消除步骤,并且可以向描述的***添加或者从描述的***去除其它部件。因而,其它实施例在所附权利要求的范围内。
Claims (27)
1.一种用于提供建议的方法,所述方法包括:
捕获包括话音的音频;
从话音识别引擎接收文本内容,其中:
所述话音识别引擎对所述音频信号执行话音识别以获得所述文本内容,并且
所述文本内容包括一个或者多个段落;
接收所述文本内容中的段落中的第一单词的一部分的选择,其中所述段落包括多个单词;
取回可以潜在地替换所述第一单词的可呈现建议集合,其中来自所述建议集合的至少一个建议提供用于潜在地替换所述第一单词的多单词建议;
在显示设备上显示所述建议集合;以及
突出显示如在所述显示器上显示的所述文本内容的用于潜在地改变至来自所述建议集合的所述建议中的一个建议的部分。
2.根据权利要求1所述的方法,其中取回所述可呈现建议集合包括:
从能够潜在地改变所述段落的第一建议集合选择第二建议集合。
3.根据权利要求2所述的方法,其中所述第一建议集合包括能够潜在地改变所述段落的一个或者多个部分的单词和短语,所述一个或者多个部分包括所述第一单词。
4.根据权利要求2所述的方法,其中所述突出显示基于所述第二建议集合。
5.根据权利要求4所述的方法,还包括确定与所述第二建议集合对应的全局纠正范围,所述全局纠正范围包括来自所述段落的可以潜在地被所述第二建议集合改变的所有所述单词。
6.根据权利要求5所述的方法,其中所述全局纠正范围被确定为与在所述第二建议集合中的个别建议对应的纠正范围的并集。
7.根据权利要求2所述的方法,其中所述第二建议集合包括来自所述第一建议集合的预定数目的建议。
8.根据权利要求7所述的方法,其中所述预定数目取决于在所述用户界面上的可用区域。
9.根据权利要求7所述的方法,其中基于所述建议在从所述第一集合导出的排行列表中的出现顺序从所述第一集合选择所述预定数目的建议。
10.根据权利要求2所述的方法,其中显示所述建议集合还包括:向来自所述第二集合的所述建议中的一个或者多个建议添加来自所述段落的一个或者多个单词;以及
可视地区别添加的所述单词与所述建议中的其它单词。
11.一种***,包括:
建议引擎,所述建议引擎被配置用于:
响应于段落中的第一单词的一部分的选择,取回用于改变所述第一单词的第一建议集合,并且
从所述第一集合选择第二建议集合,其中来自所述第二建议集合的至少一个建议提供用于潜在地替换所述第一单词的多单词建议;以及
用户界面,所述用户界面在显示设备上显现,所述用户界面被配置用于:
显示所述第二建议集合,并且
显示所述段落的用于潜在地改变至所述第二建议集合中的建议的突出显示的部分。
12.根据权利要求11所述的***,还包括:建议储存库,所述建议储存库被配置用于存储与所述段落有关的建议并且向所述建议引擎提供存储的所述建议中的一个或者多个建议作为所述第一建议集合。
13.根据权利要求11所述的***,其中所述建议引擎还被配置用于基于所述第二建议集合确定所述段落的突出显示的所述部分的区域。
14.根据权利要求11所述的***,其中所述建议引擎还被配置用于确定与所述第二建议集合对应的全局纠正范围,所述全局纠正范围包括来自所述段落的可以潜在地被所述第二建议集合改变的所有所述单词。
15.根据权利要求14所述的***,其中所述全局纠正范围被确定为与在所述第二建议集合中的个别建议对应的纠正范围的并集。
16.根据权利要求12所述的***,其中所述建议储存库驻留于在其上实施所述建议引擎的计算设备上。
17.根据权利要求16所述的***,其中所述显示设备是所述计算设备的部分。
18.根据权利要求16所述的***,其中所述计算设备是智能手机。
19.根据权利要求11所述的***,其中所述用户界面被配置用于显示预定数目的建议,并且所述建议引擎还被配置用于使所述第二建议集合的大小限制为所述预定数目。
20.根据权利要求19所述的***,其中所述建议引擎还被配置用于基于所述建议在从所述第一集合导出的排行列表中的出现顺序选择用于所述第二集合的所述预定数目的建议。
21.根据权利要求11所述的***,其中所述建议引擎还被配置用于向所述第二集合中的所述建议中的一个或者多个建议添加来自所述段落的一个或者多个单词。
22.根据权利要求21所述的***,其中所述用户界面还被配置用于显示所述第二集合,从而使得添加的所述单词可视地区别于所述建议中的其它单词。
23.根据权利要求11所述的***,其中从文本内容提供所述段落,所述文本内容接收自话音识别引擎。
24.一种在存储设备中有形地体现的包括计算机可读指令的计算机程序产品,所述指令被配置用于使一个或者多个处理器用以:
接收段落中的第一单词的一部分的选择;
取回用于改变所述第一单词的第一建议集合;
从所述第一集合选择第二建议集合,其中来自所述第二集合的至少一个建议提供用于所述第一单词的多单词建议;
使用用户界面来显示所述第二建议集合;以及
突出显示如在显示设备上显示的所述段落的用于潜在地改变至所述第二建议集合中的建议的部分。
25.根据权利要求24所述的计算机程序产品,其中所述指令还被配置用于使一个或者多个处理器确定与所述第二建议集合对应的全局纠正范围,所述全局纠正范围包括来自所述段落的可以潜在地被所述第二建议集合改变的所有所述单词。
26.根据权利要求25所述的计算机程序产品,其中所述段落的被突出显示的所述部分基本上对应于所述全局纠正范围。
27.根据权利要求24所述的计算机程序产品,其中所述指令还被配置用于使一个或者多个处理器用以:
向来自所述第二集合的所述建议中的一个或者多个建议添加来自所述段落的一个或者多个单词;并且
可视地区别添加的所述单词与所述建议中的其它单词。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161542727P | 2011-10-03 | 2011-10-03 | |
US61/542,727 | 2011-10-03 | ||
US13/270,927 | 2011-10-11 | ||
US13/270,927 US8290772B1 (en) | 2011-10-03 | 2011-10-11 | Interactive text editing |
PCT/US2012/057313 WO2013052330A2 (en) | 2011-10-03 | 2012-09-26 | Interactive text editing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103959283A true CN103959283A (zh) | 2014-07-30 |
CN103959283B CN103959283B (zh) | 2016-12-21 |
Family
ID=46981816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280057310.6A Active CN103959283B (zh) | 2011-10-03 | 2012-09-26 | 用于交互文本编辑的方法、***和设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8290772B1 (zh) |
EP (1) | EP2579251B1 (zh) |
CN (1) | CN103959283B (zh) |
WO (1) | WO2013052330A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135725A (zh) * | 2014-08-01 | 2014-11-05 | 天津三星通信技术研究有限公司 | 一种短消息发送方法及便携式终端 |
CN106796785A (zh) * | 2014-10-22 | 2017-05-31 | 高通股份有限公司 | 用于产生声音检测模型的声音样本验证 |
CN107408109A (zh) * | 2015-01-06 | 2017-11-28 | 三词有限公司 | 用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法 |
CN110633461A (zh) * | 2019-09-10 | 2019-12-31 | 北京百度网讯科技有限公司 | 文档检测处理方法、装置、电子设备和存储介质 |
CN113065345A (zh) * | 2021-04-01 | 2021-07-02 | 南京维沃软件技术有限公司 | 信息处理方法和信息处理装置 |
US11810558B2 (en) | 2021-05-26 | 2023-11-07 | International Business Machines Corporation | Explaining anomalous phonetic translations |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318110B2 (en) * | 2011-09-09 | 2016-04-19 | Roe Mobile Development Llc | Audio transcription generator and editor |
US20130132079A1 (en) * | 2011-11-17 | 2013-05-23 | Microsoft Corporation | Interactive speech recognition |
US9235565B2 (en) * | 2012-02-14 | 2016-01-12 | Facebook, Inc. | Blending customized user dictionaries |
CN102750088B (zh) * | 2012-06-04 | 2017-01-25 | 华为终端有限公司 | 一种提示字符输入的方法和电子设备 |
US20140280109A1 (en) * | 2013-03-14 | 2014-09-18 | Google Inc. | User-Guided Term Suggestions |
US9489372B2 (en) * | 2013-03-15 | 2016-11-08 | Apple Inc. | Web-based spell checker |
US9256341B2 (en) | 2013-03-20 | 2016-02-09 | Microsoft Technology Licensing, Llc | Tracking changes in collaborative authoring environment |
US9122376B1 (en) * | 2013-04-18 | 2015-09-01 | Google Inc. | System for improving autocompletion of text input |
US20160210276A1 (en) * | 2013-10-24 | 2016-07-21 | Sony Corporation | Information processing device, information processing method, and program |
US10824787B2 (en) | 2013-12-21 | 2020-11-03 | Microsoft Technology Licensing, Llc | Authoring through crowdsourcing based suggestions |
US11514399B2 (en) | 2013-12-21 | 2022-11-29 | Microsoft Technology Licensing, Llc | Authoring through suggestion |
KR20150126193A (ko) * | 2014-05-02 | 2015-11-11 | 삼성전자주식회사 | 복수의 디스플레이를 이용한 컨텐츠 출력 방법 및 그 장치 |
US20150370345A1 (en) * | 2014-06-20 | 2015-12-24 | Lenovo (Singapore) Pte. Ltd. | Identifying one or more words for alteration of user input of one or more characters |
US10031899B2 (en) | 2014-07-02 | 2018-07-24 | Gracenote Digital Ventures, Llc | Computing device and corresponding method for generating data representing text |
US10019416B2 (en) * | 2014-07-02 | 2018-07-10 | Gracenote Digital Ventures, Llc | Computing device and corresponding method for generating data representing text |
KR20160021524A (ko) * | 2014-08-18 | 2016-02-26 | 엘지전자 주식회사 | 이동 단말기 및 이의 제어방법 |
US9953646B2 (en) | 2014-09-02 | 2018-04-24 | Belleau Technologies | Method and system for dynamic speech recognition and tracking of prewritten script |
US10268366B2 (en) | 2015-06-05 | 2019-04-23 | Apple Inc. | Touch-based interactive learning environment |
US10049655B1 (en) * | 2016-01-05 | 2018-08-14 | Google Llc | Biasing voice correction suggestions |
US9971758B1 (en) * | 2016-01-06 | 2018-05-15 | Google Llc | Allowing spelling of arbitrary words |
US11086883B2 (en) | 2016-04-15 | 2021-08-10 | Google Llc | Systems and methods for suggesting content to a writer based on contents of a document |
CN109313900A (zh) * | 2016-06-15 | 2019-02-05 | 索尼公司 | 信息处理设备和信息处理方法 |
JP6804909B2 (ja) * | 2016-09-15 | 2020-12-23 | 東芝テック株式会社 | 音声認識装置、音声認識方法及び音声認識プログラム |
US10089297B2 (en) * | 2016-12-15 | 2018-10-02 | Microsoft Technology Licensing, Llc | Word order suggestion processing |
US20180210872A1 (en) * | 2017-01-23 | 2018-07-26 | Microsoft Technology Licensing, Llc | Input System Having a Communication Model |
DK201770411A1 (en) * | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
US10614826B2 (en) * | 2017-05-24 | 2020-04-07 | Modulate, Inc. | System and method for voice-to-voice conversion |
US10789283B2 (en) * | 2017-06-14 | 2020-09-29 | Google Llc | Systems and methods for notifying an author of contextual suggested content |
US11468234B2 (en) * | 2017-06-26 | 2022-10-11 | International Business Machines Corporation | Identifying linguistic replacements to improve textual message effectiveness |
US11263399B2 (en) * | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
US10740555B2 (en) * | 2017-12-07 | 2020-08-11 | International Business Machines Corporation | Deep learning approach to grammatical correction for incomplete parses |
US10672392B2 (en) * | 2018-07-23 | 2020-06-02 | Motorola Solutions, Inc. | Device, system and method for causing an output device to provide information for voice command functionality |
US20220019737A1 (en) * | 2018-12-31 | 2022-01-20 | Llsollu Co., Ltd. | Language correction system, method therefor, and language correction model learning method of system |
US11437027B1 (en) * | 2019-12-04 | 2022-09-06 | Amazon Technologies, Inc. | Alternate natural language input generation |
US11996117B2 (en) | 2020-10-08 | 2024-05-28 | Modulate, Inc. | Multi-stage adaptive system for content moderation |
US20230066233A1 (en) * | 2021-08-31 | 2023-03-02 | Grammarly, Inc. | Intent-based suggestion of phrases in a text editor |
WO2023059561A1 (en) * | 2021-10-04 | 2023-04-13 | Grammarly Inc. | Intent-based suggestion of added phrases in a text editor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335571A (zh) * | 2000-06-23 | 2002-02-13 | 微软公司 | 一种从一个由随机输入方法产生的候选列表中进行过滤和选择的方法和*** |
US20050043949A1 (en) * | 2001-09-05 | 2005-02-24 | Voice Signal Technologies, Inc. | Word recognition using choice lists |
US20050203751A1 (en) * | 2000-05-02 | 2005-09-15 | Scansoft, Inc., A Delaware Corporation | Error correction in speech recognition |
US20110202836A1 (en) * | 2010-02-12 | 2011-08-18 | Microsoft Corporation | Typing assistance for editing |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5712957A (en) * | 1995-09-08 | 1998-01-27 | Carnegie Mellon University | Locating and correcting erroneously recognized portions of utterances by rescoring based on two n-best lists |
US5909667A (en) * | 1997-03-05 | 1999-06-01 | International Business Machines Corporation | Method and apparatus for fast voice selection of error words in dictated text |
US6182028B1 (en) * | 1997-11-07 | 2001-01-30 | Motorola, Inc. | Method, device and system for part-of-speech disambiguation |
US6424983B1 (en) * | 1998-05-26 | 2002-07-23 | Global Information Research And Technologies, Llc | Spelling and grammar checking system |
US6606598B1 (en) * | 1998-09-22 | 2003-08-12 | Speechworks International, Inc. | Statistical computing and reporting for interactive speech applications |
US6405170B1 (en) * | 1998-09-22 | 2002-06-11 | Speechworks International, Inc. | Method and system of reviewing the behavior of an interactive speech recognition application |
WO2004012431A1 (en) * | 2002-07-29 | 2004-02-05 | British Telecommunications Public Limited Company | Improvements in or relating to information provision for call centres |
US20070011012A1 (en) | 2005-07-11 | 2007-01-11 | Steve Yurick | Method, system, and apparatus for facilitating captioning of multi-media content |
US8768852B2 (en) | 2009-01-13 | 2014-07-01 | Amazon Technologies, Inc. | Determining phrases related to other phrases |
US8739055B2 (en) | 2009-05-07 | 2014-05-27 | Microsoft Corporation | Correction of typographical errors on touch displays |
-
2011
- 2011-10-11 US US13/270,927 patent/US8290772B1/en active Active
-
2012
- 2012-09-14 US US13/620,213 patent/US8538754B2/en active Active
- 2012-09-26 WO PCT/US2012/057313 patent/WO2013052330A2/en active Application Filing
- 2012-09-26 CN CN201280057310.6A patent/CN103959283B/zh active Active
- 2012-10-01 EP EP12186886.3A patent/EP2579251B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050203751A1 (en) * | 2000-05-02 | 2005-09-15 | Scansoft, Inc., A Delaware Corporation | Error correction in speech recognition |
CN1335571A (zh) * | 2000-06-23 | 2002-02-13 | 微软公司 | 一种从一个由随机输入方法产生的候选列表中进行过滤和选择的方法和*** |
US20050043949A1 (en) * | 2001-09-05 | 2005-02-24 | Voice Signal Technologies, Inc. | Word recognition using choice lists |
US20110202836A1 (en) * | 2010-02-12 | 2011-08-18 | Microsoft Corporation | Typing assistance for editing |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135725A (zh) * | 2014-08-01 | 2014-11-05 | 天津三星通信技术研究有限公司 | 一种短消息发送方法及便携式终端 |
CN106796785A (zh) * | 2014-10-22 | 2017-05-31 | 高通股份有限公司 | 用于产生声音检测模型的声音样本验证 |
CN107408109A (zh) * | 2015-01-06 | 2017-11-28 | 三词有限公司 | 用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法 |
CN107408109B (zh) * | 2015-01-06 | 2021-02-02 | 三词有限公司 | 用于基于电子装置处所接收的输入串建议一个或多个多词候选的方法 |
CN110633461A (zh) * | 2019-09-10 | 2019-12-31 | 北京百度网讯科技有限公司 | 文档检测处理方法、装置、电子设备和存储介质 |
CN110633461B (zh) * | 2019-09-10 | 2024-01-16 | 北京百度网讯科技有限公司 | 文档检测处理方法、装置、电子设备和存储介质 |
CN113065345A (zh) * | 2021-04-01 | 2021-07-02 | 南京维沃软件技术有限公司 | 信息处理方法和信息处理装置 |
US11810558B2 (en) | 2021-05-26 | 2023-11-07 | International Business Machines Corporation | Explaining anomalous phonetic translations |
Also Published As
Publication number | Publication date |
---|---|
US8538754B2 (en) | 2013-09-17 |
WO2013052330A2 (en) | 2013-04-11 |
EP2579251A1 (en) | 2013-04-10 |
CN103959283B (zh) | 2016-12-21 |
EP2579251B1 (en) | 2014-12-03 |
US20130085754A1 (en) | 2013-04-04 |
US8290772B1 (en) | 2012-10-16 |
WO2013052330A3 (en) | 2013-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103959283A (zh) | 交互文本编辑 | |
US10698604B2 (en) | Typing assistance for editing | |
CN103959282B (zh) | 用于文本识别***的选择性反馈 | |
CN104603772B (zh) | 移动电子设备及移动电子设备中的方法和*** | |
US7764837B2 (en) | System, method, and apparatus for continuous character recognition | |
US20100114887A1 (en) | Textual Disambiguation Using Social Connections | |
CN105308551B (zh) | 用于连续手势输入的多图形键盘 | |
US8384686B1 (en) | Constrained keyboard organization | |
CN103714333A (zh) | 终端装备中的用于识别字符的设备和方法 | |
CN104951099A (zh) | 一种基于输入法的展示候选项的方法和装置 | |
US9009624B2 (en) | Keyboard gestures for character string replacement | |
CN101876878A (zh) | 单词预测输入***及方法 | |
CN107491477A (zh) | 一种表情符号搜索方法及装置 | |
CN105283882B (zh) | 用于文本输入的装置及相关联的方法 | |
US10657326B2 (en) | Removable spell checker device | |
CN106095128A (zh) | 一种移动终端的文字输入方法及移动终端 | |
US11086410B2 (en) | Apparatus for text entry and associated methods | |
RU2525748C2 (ru) | Ввод текста с использованием двух алфавитов и функция выделения клавиш | |
US20200042104A1 (en) | System and Method for Cognitive User-Behavior Driven Messaging or Chat Applications | |
KR102219728B1 (ko) | 키패드를 이용한 키워드 검색 방법 및 장치 | |
CN105929978A (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 |
Address after: American California Patentee after: Google limited liability company Address before: American California Patentee before: Google Inc. |
|
CP01 | Change in the name or title of a patent holder |