
1.本公开涉及计算机技术领域,尤其涉及用于提供文本的计算机辅助记忆的系统和方法。
背景技术:2.用户在试图记忆文本时,由于没有高效的工具,所以往往无法依靠计算机辅助记忆工具。存在一些可以帮助用户记忆长文本的应用。例如,一种应用通过重复播放文本来帮助用户记忆该文本。然后,该应用可以逐渐淡出一小部分文本的音频,让用户有机会读出部分文本,以测试用户的回忆。另一种应用逐步隐藏字句,直到文本全部消失,以帮助用户逐步记忆越来越多的文本。然而,这些解决方案中的每种解决方案都存在许多缺点。
3.虽然用于帮助用户记忆文本的系统取得了进展,但本领域仍需要改进的方法和系统。
技术实现要素:4.本发明一般涉及用于提供文本的计算机辅助记忆的方法和系统。为此,系统接收用户生成的音频数据(例如,语音、音乐等)。接收的音频数据被实时(即,当音频数据被接收时)转换为接收文本数据,并且该接收文本在被接收时显示在显示设备上。然后,系统识别与接收的音频数据相关的预期文本,该预期文本可以由用户指示或自动确定。一旦识别了预期文本,将接收文本与该预期文本进行比较,以识别接收文本与预期文本之间的一个或多个差异。然后,在显示设备上显示的接收文本内指示上述一个或多个差异。
5.本公开的一个实施例涉及一种由用户设备执行的方法。该方法包括:接收从用户设备的用户接收的音频数据;将音频数据转换为接收文本;将接收文本与预期文本进行比较,以确定接收文本与预期文本之间的一个或多个差异;在接收文本被翻译时在用户设备的显示器上呈现该接收文本;与接收文本相关联地指示接收文本与预期文本之间的一个或多个差异。
6.本公开的另一实施例涉及一种系统,该系统包括:处理器;包括指令的存储器,当由处理器执行时,指令使系统至少:接收从用户设备的用户接收的音频数据,将音频数据转换为接收文本,将接收文本与预期文本进行比较,以确定接收文本与预期文本之间的一个或多个差异,在接收文本被翻译时在显示器上呈现该接收文本,与接收文本相关联地指示接收文本与预期文本之间的一个或多个差异。
7.本公开的又一实施例涉及一种存储特定计算机可执行指令的非暂时性计算机可读介质,当由处理器执行时,指令使计算机系统至少:接收从用户设备的用户接收的音频数据,将音频数据转换为接收文本,将接收文本与预期文本进行比较,以确定接收文本与预期文本之间的一个或多个差异,在接收文本被翻译时在显示器上呈现该接收文本,与接收文本相关联地指示接收文本与预期文本之间的一个或多个差异。
8.与传统系统相比,本系统实现了许多益处。例如,本公开的实施例涉及以优于传统
技术的方式提供文本的计算机辅助记忆的方法和系统。更具体地,响应于接收用户的音频表现而提供实时视觉反馈使得用户能够快速纠正错误并防止形成不正确的习惯。此外,因为如果用户愿意,用户可以选择忽略视觉反馈,因此视觉反馈的干扰比音频反馈更少。此外,包括突出显示、纠错、以及相关图片的视觉信息可以帮助记忆任务,使得上述系统比传统系统更高效。结合下文和附图更详细地描述了本发明的这些实施例和其他实施例及其诸多优点和特征。
附图说明
9.图1描绘了根据至少一些实施例的用于提供文本的计算机辅助记忆的系统的说明性示例;
10.图2描绘了根据至少一些实施例的提供文本的计算机辅助记忆的系统的系统架构;
11.图3是示出根据本发明实施例的提供文本的计算机辅助记忆的方法的简化流程图;
12.图4描绘了根据本文描述的实施例的可以实现的特征的一些说明性示例;
13.图5描绘了根据至少一些实施例的用图像注释文本以辅助文本记忆的技术;
14.图6描绘了根据本文描述的实施例的演示可以实现的示例特征的一些示例图形用户界面;
15.图7示出了描述根据至少一些实施例的提供文本的计算机辅助记忆的过程的流程图;以及
16.图8示出了根据特定实施例的计算机系统的组件的示例。
具体实施方式
17.本发明一般涉及与提供文本的计算机辅助记忆有关的方法和系统。更具体地,本发明的实施例提供了响应于从用户设备的用户接收音频数据而向该用户提供实时视觉反馈的方法和系统。从用户接收的音频数据被转换为接收文本并打印在用户设备的显示器上。一旦被转换,系统识别与接收文本对应的预期文本。然后使用语言处理技术将接收文本与识别的预期文本进行比较,以识别接收文本与预期文本之间的多个差异。然后在打印在用户设备显示器上的文本内指示上述差异。
18.图1描绘了根据至少一些实施例的用于提供文本的计算机辅助记忆的系统的说明性示例。在图1中,用户设备102可用于接收来自用户的音频输入以及呈现对该音频输入的反馈。在一些情况下,用户设备可以与移动应用服务器104通信,移动应用服务器104可以进一步连接到网络106。
19.在示例中,用户设备102表示适当的计算设备,该计算设备包括一个或多个图形处理单元(graphical processing unit,gpu)、一个或多个通用处理器(general purpose processor,gpp)、以及存储计算机可读指令的一个或多个存储器,计算机可读指令可由处理器中的至少一个执行,以执行本公开的实施例的各种功能。例如,用户设备102可以是智能眼镜、智能手机、平板电脑、笔记本电脑、个人计算机、游戏控制台、或智能电视中的任何一个。用户设备102还包括至少一个输入传感器108,例如麦克风,其能够获得来自用户的音
频输入。在一些实施例中,用户设备102还可以包括附加的输入传感器,例如摄像头、陀螺仪、或加速度计。
20.用户设备102的至少一个输入传感器108可用于捕获音频数据110。音频数据110可以包括用户设备102的用户提供的可听数据(audible data)。例如,音频数据110可以包括用户提供的语音录音。在第二示例中,音频数据可以包括用户正在演奏的乐器的录音。可以在不将音频数据110保存到文件的情况下动态处理音频数据100。可以以任何合适的文件格式捕获音频数据110。例如,音频数据110可以被捕获为.wav文件、.mp3文件、.wma文件、或任何其他合适的音频文件格式。
21.然后,使用一个或多个音频识别技术(例如,语音识别)将音频数据110转换为表示接收文本112的文本数据。本领域技术人员应理解,本领域中存在许多可用的音频识别技术,这些技术能够用于将音频数据110转换为接收文本112。在一些实施例中,音频数据110在被接收时(即,实时地)转换为接收文本112。应注意,虽然文本被称为包括单词,但文本还可以包括音符。
22.一旦用户设备102获得了接收文本112,则将接收文本与预期文本114进行比较以识别差异116。接收文本112和预期文本114之间的差异、增量、或差别可以包括多个差异,这些差异都是上述文本的特定内容之间的差异。在一些情况下,差异可以是多了或少了一个或多个单词。在一些情况下,可以检测到以下差异:在接收文本112中使用的单词与预期文本114中的对应单词不同。从用户设备内的数据存储器118检索预期文本114。在一些实施例中,在获得音频数据110之前由用户选择预期文本。在一些实施例中,将接收文本112与数据存储器118中存储的多个不同的潜在预期文本进行比较,以将预期文本114识别为与接收文本112最接近的匹配文本。在一些实施例中,从与用户设备102通信的移动应用服务器104接收预期文本114。例如,移动应用服务器104可以向用户设备102提供一个或多个文本数据文件,以在本文描述的实施例中使用。在一些实施例中,可以从网络(例如,互联网)检索一个或多个文本数据文件116。
23.移动应用服务器104可以包括能够为本文所述的计算机辅助记忆应用提供后端支持的任何计算设备。在一些实施例中,这可以涉及识别文本文件并将文本文件提供给用户设备102。例如,用户可以指示他或她想要记忆的具体文本,并且移动应用服务器104可以检索与该文本相关联的文本文件,并将该文本文件提供给用户设备102。在一些实施例中,移动应用服务器104可以从用户设备102接收文本,从数据库或网络106识别最接近的匹配文本,检索与该最接近的匹配文本相关联的文本文件,并将该文本文件提供给用户设备102作为预期文本114。作为说明性示例,移动应用服务器104可以从用户设备102接收写着“八十七年前”的文本。在该说明性示例中,移动应用服务器104可以从接收文本识别葛底斯堡演说(gettysburg address)是最接近的匹配文本,并且因此很可能是用户的预期记忆目标。在该示例中,移动应用服务器104可用于检索葛底斯堡演说的文本文件,并将该文本文件提供给用户设备102。
24.在图1所示的用于提供文本的计算机辅助记忆的系统中,用户设备102用于在用户提供音频输入时接收来自用户的该音频输入,在用户设备102的显示器上显示与音频输入对应的接收文本,识别接收文本与预期文本之间的一个或多个差异,并将这些差异与显示的接收文本一起显示。在一些实施例中,这是在用户说话时实时完成的。这使希望记忆特定
文本的用户能够背诵该文本并接收对用户对该文本的回忆的即时反馈。
25.为了清楚起见,图1示出了特定数量的组件。然而,应理解,本发明的实施例可以包括多个上述组件。此外,本发明的一些实施例包括的组件可以少于或多于图1所示的所有组件。此外,图1中的组件可以使用任何合适的通信协议通过任何合适的通信介质(包括互联网)进行通信。
26.图2描绘了根据至少一些实施例的提供文本的计算机辅助记忆的系统的系统架构。在图2中,用户设备202可以与包括至少一个移动应用服务器204的多个其他组件通信。移动应用服务器204可以执行安装在用户设备上的移动应用所需的处理功能的至少一部分。用户设备202和移动应用服务器204可以是参照图1分别描述的用户设备102和移动应用服务器104的示例。
27.用户设备202可以是能够提供本文描述的能力的至少一部分的任何合适的电子设备。具体地,用户设备202可以是能够捕获来自用户的音频数据和/或在显示器上呈现对应的文本流的任何电子设备。在一些实施例中,用户设备能够与另一电子设备(例如,移动应用服务器204)建立通信会话,并向该电子设备发送数据或从该电子设备接收数据。用户设备可以包括下载和/或执行移动应用的能力。用户设备可以包括移动通信设备以及个人计算机和瘦客户端(thin-client)设备。例如,用户设备可以是一副智能眼镜、智能手机、个人数据助理(personal data assistant,pda)、或任何其他合适的手持设备。用户设备可以实现为自包含单元(self-contained unit),该自包含单元具有集成在用户设备中的各种组件(例如,输入传感器、一个或多个处理器、存储器等)。注意,在本公开中提及组件的“输出”或传感器的“输出”不一定意味着输出被传输到用户设备之外。各种组件的输出可以保留在定义用户设备的自包含单元中。
28.在一个说明性配置中,用户设备202可以包括至少一个存储器206和一个或多个处理单元(或处理器)208。处理器208可以适当地以硬件、计算机可执行指令、固件、或其组合来实现。处理器208的计算机可执行指令实现或固件实现可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行描述的各种功能。用户设备202还可以包括用于接收用户和/或环境输入的一个或多个输入传感器210。可以存在能够检测用户或环境输入的各种输入传感器210,例如加速度计、摄像器件、深度传感器、麦克风、全球定位系统(例如,gps)接收器等。
29.存储器206可以存储可在处理器208上加载和执行的程序指令,以及在执行这些程序期间生成的数据。根据用户设备202的配置和类型,存储器206可以是易失性存储器(例如随机存取存储器(random access memory,ram))和/或非易失性存储器(例如只读存储器(read-only memory,rom)、闪存等)。用户设备202还可以包括附加存储器212,例如可移动存储器或不可移动存储器(包括但不限于磁存储器、光盘、和/或磁带存储器)。盘驱动器及其相关联的计算机可读介质可以为计算设备提供计算机可读指令、数据结构、程序模块、以及其他数据的非易失性存储。在一些实现中,存储器206可以包括多种不同类型的存储器,例如静态随机存取存储器(static random access memory,sram)、动态随机存取存储器(dynamic random access memory,dram)、或rom。更详细地考虑存储器206的内容,存储器206可以包括操作系统214和用于实现本文公开的特征的一个或多个应用程序或服务,上述应用程序或服务至少包括移动应用216。存储器206还可以包括应用数据218,应用数据218
提供由移动应用216生成和/或由移动应用216消费的信息。在一些实施例中,应用数据218可以存储在数据库中。
30.出于本公开的目的,移动应用可以是安装在用户设备202上并从用户设备202执行的任何一组计算机可执行指令。用户设备的制造商或另一实体可以将移动应用安装在用户设备上。在一些实施例中,移动应用216可以使用户设备与为移动应用216提供后端支持的移动应用服务器204建立通信会话。移动应用服务器204可以维护与特定用户设备和/或用户相关联的帐户信息。在一些实施例中,可以要求用户登录到移动应用的帐户,以访问由移动应用216提供的功能。
31.根据至少一些实施例,移动应用216用于接收由用户提供的音频输入(例如,语音),并向用户呈现关于音频输入中的差异的信息。更具体地,移动应用216用于获得来自用户的音频数据,在用户设备102的显示器上显示与音频输入对应的接收文本,识别接收文本与预期文本之间的一个或多个差异,并将这些差异与显示的接收文本一起显示。
32.根据至少一些实施例,移动应用216可以接收来自输入传感器210的输出,并基于该输出生成音频文件。使用该信息,移动应用216可以生成文本文件。例如,移动应用216可以使用文本到语音转换应用来将接收的音频转换为对应的文本。然后可以将接收文本与预期文本进行比较,以识别接收文本与预期文本之间的一个或多个差异。然后,移动应用216使得接收文本与识别的一个或多个差异的指示一起在移动应用216的图形用户界面(graphical user interface,gui)内显示。移动应用216可以使用户能够完成用户对预期文本的背诵或重复预期文本中包括差异的部分。
33.用户设备202还可以包含使用户设备202能够与任何其他合适的电子设备通信的通信接口220。在一些实施例中,通信接口220可以使用户设备202能够与网络上(例如,专用网络上)的其他电子设备通信。例如,用户设备202可包括蓝牙
tm
无线通信模块,蓝牙
tm
无线通信模块允许用户设备与另一电子设备通信。用户设备202还可以包括输入/输出(input/output,i/o)设备和/或端口222,例如用于实现与键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等的连接。
34.在一些实施例中,用户设备202可以通过通信网络与移动应用服务器204通信。通信网络可以包括许多不同类型的网络(例如电缆网络、互联网、无线网络、蜂窝网络、以及其他专用和/或公共网络)中的任何网络或这些网络的组合。此外,通信网络可以包括多个不同的网络。例如,用户设备202可以使用无线局域网(wireless local area network,wlan)与无线路由器通信,然后无线路由器可以通过公共网络(例如,互联网)将通信路由到移动应用服务器204。
35.移动应用服务器204可以是用于代表用户设备202上的移动应用216执行一个或多个计算的任何计算设备或多个计算设备。在一些实施例中,移动应用216可以与移动应用服务器204周期性通信。例如,移动应用216可以从移动应用服务器204接收更新、推送通知、或其他指令。在一些实施例中,移动应用216和移动应用服务器204可以使用专有加密和/或解密方案来保护两者之间的通信。在一些实施例中,移动应用服务器204可由在托管的计算环境中实现的一个或多个虚拟机执行。托管的计算环境可以包括一个或多个快速提供和释放的计算资源,计算资源可以包括计算设备、网络设备、和/或存储设备。托管的计算环境也可以称为云计算环境。
36.在一个说明性配置中,移动应用服务器204可以包括至少一个存储器224和一个或多个处理单元(或处理器)226。处理器226可以适当地以硬件、计算机可执行指令、固件、或其组合来实现。处理器226的计算机可执行指令实现或固件实现可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行描述的各种功能。
37.存储器224可以存储在可在处理器226加载和执行的程序指令,以及在执行这些程序期间生成的数据。根据移动应用服务器204的配置和类型,存储器224可以是易失性存储器(例如随机存取存储器(ram))和/或非易失性存储器(例如只读存储器(rom)、闪存等)。移动应用服务器204还可以包括附加存储器228,例如可移动存储器或不可移动存储器(包括但不限于磁存储器、光盘、和/或磁带存储器)。盘驱动器及其相关联的计算机可读介质可以为计算设备提供计算机可读指令、数据结构、程序模块、以及其他数据的非易失性存储。在一些实现中,存储器224可以包括多种不同类型的存储器,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、或rom。更详细地考虑存储器224的内容,存储器224可以包括操作系统230和用于实现本文公开的特征的一个或多个应用程序或服务,上述应用程序或服务至少包括用于分析文本以识别文本文件之间的差异的模块(文本分析模块232)。存储器224还可以包括帐户数据234和文本文件数据236,帐户数据234提供与由上述系统维护的用户帐户相关联的信息,文本文件数据236维护可请求记忆的文本文件。文本文件数据236中存储的至少一些文本文件可以与特定用户帐户相关地存储。在一些实施例中,帐户数据234或文本文件数据236中的一个或多个可以存储在数据库中。
38.可移动和不可移动的存储器224和附加存储器228都是计算机可读存储介质的示例。例如,计算机可读存储介质可以包括通过用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据的信息的任何方法或技术实现的易失性或非易失性、可移动或不可移动介质。如本文所使用的,术语“模块”可以指由安装在移动应用服务器204上和/或从移动应用服务器204执行的计算系统(例如,处理器)执行的编程模块。移动应用服务器204还可以包含通信连接238,通信连接238允许移动应用服务器204与存储的数据库、另一计算设备或服务器、用户终端、和/或描述的系统的其他组件通信。移动应用服务器204还可以包括输入/输出(i/o)设备和/或端口240,例如用于实现与键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等的连接。
39.更详细地考虑存储器224的内容,存储器224可以包括文本分析模块232、包含帐户数据234的数据库、和/或包含文本文件数据236的数据库。
40.在一些实施例中,文本分析模块232可以用于结合处理器226来分析接收文本,以确定接收文本与预期文本之间的一个或多个差异。在一些实施例中,这可以是单词和句子的逐字比较。然而,这也可以是近似匹配(approximate matching),其中,近似匹配而不是完全匹配的字符串视为匹配的字符串。这可以使用一个或多个自然语言处理(natural language processing,nlp)技术(例如解析)分析单词和句子来完成。这可能会创建一个揭示单词之间的句法关系的解析树,该解析树可以包含可使用语义分析进行分析的语义。这样,添加附加单词(例如“你知道的”或“嗯”)或省略单词都不会显著影响比较的准确性。在一些实施例中,文本分析模块232可以将来自用户设备202的接收文本与预期文本进行比较,以将检测到的差异的指示提供给用户设备202。在一些实施例中,文本分析模块232可以将来自用户设备202的接收文本与来自文本文件数据236的多个可用文本进行比较,以识别
包括预期文本的文件,然后可以将该文件提供给用户设备202。
41.在一些实施例中,存储在文本文件数据库236中的一个或多个文本文件可以与特定用户和/或帐户相关联。例如,计划做演讲的用户可以将用于该演讲的文本文件上传到移动应用服务器204的文本文件数据库236。在一些情况下,该文本文件随后可被推送到用户的用户设备202。在另一示例中,用户可以突出显示他或她希望记忆的宗教文本的一部分。在该示例中,对用户突出显示的宗教文本的一部分的指示可以与该用户相关地存储。另外,应注意,一些语音到文本应用可能需要针对希望使用该应用的每个特定用户进行训练。因此,为了使用描述的系统,在一些情况下可能需要用户经历培训或训练过程。
42.图3是示出根据本发明实施例的提供文本的计算机辅助记忆的方法的简化流程图。结合作为本文描述的计算机系统的示例的计算机系统来描述该流程。流程的一些或全部操作可以通过计算机系统上的特定硬件实现和/或可以实现为存储在计算机系统的非暂时性计算机可读介质上的计算机可读指令。存储的计算机可读指令表示可编程模块,可编程模块包括可由计算机系统的处理器执行的代码。这种指令的执行将计算机系统配置为执行相应的操作。与处理器结合的每个可编程模块代表用于执行相应操作的装置。虽然以特定顺序说明操作,但应理解,特定顺序不是必须的并且可以省略、跳过和/或重新排序一个或多个操作。
43.当获得初始的接收文本时,过程300开始于302。如其他地方所描述的,通过使用一个或多个语音处理技术将接收的音频数据转换为文本数据来获得接收文本。
44.在304,过程300涉及识别和检索预期文本。在一些实施例中,通过由用户选择来识别预期文本。例如,用户可以选择记忆特定的语音。在302接收到初始的接收文本时,可以将接收文本与用户选择的语音进行比较。然后,如果接收文本的一些部分的文本与选择的语音的一部分的文本匹配,则该过程可以涉及将选择的语音识别为预期文本。在一些实施例中,过程300涉及通过从一组预期文本文件中识别最接近的匹配文本文件来识别预期文本。在这些实施例中,可以将若干文本文件中的文本与接收文本进行比较,以从若干文本文件中识别最接近的匹配文本文件。本领域技术人员将认识到,在该步骤中能够使用许多合适的文本比较技术。
45.在306,过程300涉及在从音频数据转换为附加文本时接收该附加文本。在一些实施例中,当从音频转换和接收附加文本时,附加文本从用户设备流式传输到移动应用服务器。在一些实施例中,在用户设备上处理接收的附加文本。在过程300中,在接收到接收文本时在用户设备的显示器上呈现该接收文本。因此,当用户说话时,他或她将看到他们说的话被实时打印到显示设备上。
46.在308,过程300涉及通过将附加文本与预期文本内的对应文本进行比较以确定两者是否匹配,来处理附加文本。在该比较期间,将附加文本与预期文本内的文本进行比较以识别两者之间的一个或多个差异(即,差别)。例如,可以将附加的单词和/或省略的单词识别为差异。也可能检测到以下差异:在接收文本中使用的单词与预期文本中的对应单词不同。在一些实施例中,评估识别的特定差异以确定差异的严重程度。例如,该过程可以涉及进行自然语言处理,以确定差异是否是重要的差异(即,会改变文本含义或使文本不清楚的差异)。如果没有识别到差异,或者任何检测到的差异的严重程度低于某个预定阈值,则认为接收文本与预期文本匹配。否则,该过程涉及在310提供校正。
47.在310,过程300涉及向用户提供校正。在检测到接收文本与预期文本之间的差异时,基于检测到的差异的类型来识别适当的校正。可以维护一组规则,该组规则指示应为可检测到的每种可用类型的差异提供何种类型的校正。例如,如果用户包括预期文本中不存在的附加单词,则当在用户设备的显示器上呈现时,该单词可以被划掉(例如,有一条线穿过该单词)。或者,如果用户未能包括预期文本中的单词,则该单词可以插入显示器上呈现的文本中,但使用不同的字体、颜色、或样式,来指示该单词是用户遗漏的。在本公开的其他地方(例如参考图6)提供了这种校正的示例。
48.在312,过程300涉及确定是否应该重复与预期文本的检测到差异的部分相关的背诵。在一些实施例中,该确定基于用户的行为而做出。例如,如果用户继续回忆差异之后的文本,那么该过程将不会重复,而是继续进行预期文本的下一部分。然而,如果该过程接下来接收到与预期文本匹配的文本,则该过程将返回到306,并重复比较接收到的附加文本与预期文本包含差异的部分。在一些实施例中,可以基于用户选择的偏好来确定上述过程是否在步骤312重复。
49.在314,过程300涉及确定是否到达预期文本的结尾。这可能涉及确定来自用户的最新的接收文本与包括在与预期文本相关联的文本文件的结尾的文本匹配。如果未到达预期文本的结尾,则该过程可以继续重复监测并处理来自306的附加文本。然而,如果过程300确实确定到达预期文本的结尾,则过程300可以在316结束。在一些实施例中,可以在到达预期文本的结尾时向用户提供统计信息。例如,可以向用户提供与在整个过程300中识别的差异的数量和/或严重程度相关的度量。可以以任何格式提供这样的度量。例如,可以向用户提供总百分比,该总百分比表示用户对预期文本的回忆与预期文本正确匹配的程度。
50.应理解,图3所示的特定步骤提供了根据本发明的实施例的提供文本的计算机辅助记忆的特定方法。如上所述,也可以根据替代实施例执行其他步骤序列。例如,本发明的替代实施例可以以不同的顺序执行上述步骤。此外,图3所示的各个步骤可以包括多个子步骤,这些子步骤可以以适用于各个步骤的各种顺序执行。此外,可以根据特定应用添加或删除附加步骤。本领域普通技术人员将认识到许多变化、修改、以及替代方案。
51.图4描绘了根据本文描述的实施例的可以实现的特征的一些说明性示例。在图4中,本文描述的系统和方法的至少一些特征被描绘为在用户设备402上实现。如图所示,示出了接收文本404以及对在接收文本与预期文本之间检测到的差异的校正406。应注意,在用户可听地背诵该用户对预期文本的回忆时,可以实时呈现接收文本404和校正406。
52.在一些实施例中,用户设备402可以包括能够获得用户设备402所在的环境408的图像的摄像器件。然后,可以在用户设备402的显示器上呈现所捕获的图像信息。或者,用户设备402可以是包括透明/半透明显示器的一副智能眼镜或另一设备,该透明/半透明显示器允许用户通过显示器查看环境408。在这些实施例中,可以呈现接收文本404,使得接收文本404在显示器上覆盖用户对环境408的视图的至少一部分。这有利地允许用户设备402的用户在关注其环境的同时使用描述的系统。这对于希望在行走时在一副智能眼镜上使用该系统的用户尤其有用。
53.在一些实施例中,用户设备402可以从捕获的图像信息获得手势信息。例如,用户设备402可以在捕获环境408的图像时,使用一个或多个物体识别技术将图像信息的一部分识别为包括手410。本领域技术人员将认识到,可以使用许多物体识别技术来实现这一点。
在识别环境408内的手410时,系统可以监测手410以确定用户设备402的用户是否执行了手势。为此,可以将由手410执行的一个或多个动作与手势存储库中存储的手势进行比较。如果确定手410执行了某个手势,则可以执行与该手势相关联的动作。例如,用户可以在摄像头前面移动他们的手,将手从显示器的右侧移动到显示器的左侧。一旦检测到该移动,手势存储库可以确定该移动与“返回”手势相关联,并且可以随后执行动作以恢复到预期文本的前一部分。因为语音命令可能不可用,因此这有利地允许用户设备402的用户在使用描述的系统时向该系统提供命令。
54.在一些实施例中,用户设备402可以检测环境内可能与覆盖在用户设备402的显示器上的文本形成对比的物体,并且可以适当地调整文本。例如,系统可以使用设备上的摄像头或其他传感器执行对环境408的分析,然后根据文本位置处的实际背景颜色/亮度自动调整文本部分的文本颜色和/或亮度。在这些实施例中,可能在环境408内检测到光源412(例如,光或窗)或深色物体414。在检测到这样的物体时,可以调整与物体412和/或414的位置对应的文本,以在不使背景变得模糊的情况下使该文本更加可见。为此,如416所示,可以移除或覆盖物体412和/或414的图像的一部分,使文本可见。在一些实施例中,文本可以被加粗或以其他方式强调。此外,可以将文本颜色改变为与环境408中的颜色形成对比的颜色。
55.图5描绘了根据至少一些实施例的用图像注释文本以辅助文本记忆的技术。在一些实施例中,系统可以使用诸如图像(例如,图形交换格式(graphics interchange format,gif)图像或图标)的助记符来注释预期文本502。为此,系统可以使用语言处理技术来确定预期文本502的部分504的主题和/或上下文。然后,系统可以识别与确定的主题和/或上下文相关的一个或多个助记符,例如图像506。一旦识别,助记符可以在对应部分504与预期文本502相关联。例如,预期文本502可以包括存储与预期文本502相关的信息的元数据。该元数据可以包括图像506(或可以访问图像506的位置)的指示以及图像506将相关联的预期文本502的部分504的指示。
56.在接收到背诵预期文本502的请求时,系统可以监测用户背诵预期文本502的进度,并且可以在适当的时间呈现注释的助记符。在一些实施例中,这涉及当用户到达预期文本502的部分504时显示图像506。在一些实施例中,这涉及在检测到预期文本502的相关部分504处的暂停时显示图像506,其中该暂停是指在某个预定时间量内未能接收到文本。在一些实施例中,这涉及在用户错误地背诵预期文本502的部分504时显示图像506。
57.图6描绘了根据本文描述的实施例的演示可以实现的示例特征的一些示例性图形用户界面(gui)。图6的gui描绘了许多场景602、604、以及606。场景602、604、以及606中的每个场景被描绘为一系列的gui表示(a-c)。
58.在一系列gui表示602描绘了示例场景,在该示例场景中,识别接收文本与预期文本之间的差异,其中,接收文本省略了预期文本内包括的一个或多个文本部分。在602(a),将用户提供的音频数据转换为接收文本数据并通过gui呈现。在602(b),随着音频数据的持续接收,更新通过gui呈现的接收文本以包括更新的接收文本。在602(c),将在602(b)呈现的接收文本与预期文本进行比较,以识别差异608,差异608是接收文本中省略且预期文本内包括的文本。如图所示,然后,修改在602(b)呈现的接收文本以在602(c)指示差异608。在一些实施例中,可以将差异608呈现为插入接收文本中的文本。在一些情况下,可以修改文本的颜色、亮度、大小、和/或格式以指示该文本是省略文本的差异。
59.在一系列gui表示604描绘了示例场景,在该示例场景中,识别接收文本与预期文本之间的差异,其中,接收文本具有与预期文本内包括的文本不匹配的一个或多个文本部分。在604(a),将用户提供的音频数据转换为接收文本数据并通过gui呈现。在604(b),随着音频数据的持续接收,更新通过gui呈现的接收文本以包括更新的接收文本。在604(c),将在604(b)呈现的接收文本与预期文本进行比较,以识别差异610,差异610是与预期文本内的对应文本不同的文本。如图所示,然后,修改在604(b)呈现的接收文本以在604(c)指示差异610。在一些实施例中,可以将差异610呈现为不属于接收文本内的文本。在一些情况下,可以修改文本的外观,以指示该文本是不同文本或附加文本的差异。例如,差异610的文本可以显示为划掉的文本,同时还呈现了正确的文本。
60.在一些实施例中,助记符可以与预期文本的各个部分相关联。在一系列gui表示606描绘了示例场景,在该示例场景中,使用了这样的助记符。在606(a),将用户提供的音频数据转换为接收文本数据并通过gui呈现。在606(b),随着音频数据的持续接收,通常将更新通过gui呈现的接收文本以包括更新的接收文本。然而,助记符612可以与最新的接收文本一起呈现。在一些实施例中,当到达与助记符612相关联的预期文本内的位置时,可以自动呈现助记符612。在一些实施例中,可以在检测到接收文本中的暂停或中断(例如,在某个阈值时间段内没有接收到附加接收文本)时呈现助记符612。如606(c)所示,一旦接收到与预期文本中与助记符612相关联的部分相匹配的附加接收文本,则可以从呈现中移除助记符612并替换为接收文本。
61.图7示出了描述根据至少一些实施例的提供文本的计算机辅助记忆的过程的流程图。图7描绘的过程700可以由用户设备(例如,图2的用户设备202)执行,用户设备可以与移动应用服务器(例如,图2的移动应用服务器204)通信。
62.当在用户设备702从用户接收音频数据时,过程700开始于702。例如,音频数据包括用户设备的用户所说的话或用户通过乐器演奏的音乐。
63.在704,过程700涉及将接收的音频数据转换为接收文本数据。本领域技术人员应理解,本领域中存在许多可用的音频识别技术,这些技术能够用于将音频数据转换为接收文本。
64.在706,过程700涉及将接收文本数据与预期文本数据进行比较,以识别一个或多个差异。这些差异都是接收文本数据的特定内容与预期文本数据之间的差异。在一些情况下,差异是多了或少了一个或多个单词。在一些情况下,检测到以下差异:在接收文本数据中使用的单词与预期文本数据中的对应单词不同。
65.在708,过程700涉及在从音频数据转换为接收文本时呈现该接收文本。该方法还涉及对预期文本执行一个或多个语言处理技术,基于一个或多个语言处理技术的结果识别与预期文本相关联的助记符(例如,图像),并且在用户设备的显示器上显示与预期文本相关联的助记符。该方法还涉及使用用户设备的一个或多个传感器捕获环境数据,并且基于环境数据调整呈现接收文本的文本样式。
66.在710,过程700涉及在呈现的文本内指示识别的差异。在一个示例中,接收文本与预期文本之间的一个或多个差异通过突出显示或划掉来指示。该方法还涉及:针对接收文本与预期文本之间的一个或多个差异中的每个差异呈现校正,该校正包括预期文本与对应差异对应的部分。
67.图8示出了根据特定实施例的计算机系统800的组件的示例。计算机系统800是上文描述的计算机系统的示例。虽然这些组件被示为属于同一计算机系统800,但是计算机系统800也可以是分布式的。
68.计算机系统800至少包括处理器802、存储器804、存储设备806、输入/输出外围设备(i/o)808、通信外围设备810、以及接口总线812。接口总线812用于在计算机系统800的各个组件之间通信、发送、以及传送数据、控制、以及命令。存储器804和存储设备806包括计算机可读存储介质,例如ram、rom、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、硬盘驱动器、cd-rom、光存储设备、磁存储设备、电子非易失性计算机存储器(例如flash
tm
存储器)、以及其他有形存储介质。任何这样的计算机可读存储介质可以用于存储实现本公开各方面的指令或程序代码。存储器804和存储设备806还包括计算机可读信号介质。计算机可读信号介质包括传播的数据信号,其中包含计算机可读程序代码。这种传播的信号采用多种形式中的任何一种,包括但不限于电磁、光学、或其任何组合。计算机可读信号介质包括不是计算机可读存储介质并且可以通信、传播或传输用于与计算机系统800结合使用的程序的任何计算机可读介质。
69.此外,存储器804包括操作系统、程序、以及应用。处理器802用于执行存储的指令,并且包括例如逻辑处理单元、微处理器、数字信号处理器、以及其他处理器。存储器804和/或处理器802可以被虚拟化并且可以在诸如云网络或数据中心的另一计算机系统内托管。i/o外围设备808包括用户接口,例如键盘、屏幕(例如触摸屏)、麦克风、扬声器、其他输入/输出设备、计算组件(例如图形处理单元、串行端口、并行端口、通用串行总线)、以及其他输入/输出外围设备。i/o外围设备808通过耦合到接口总线812的任何端口连接到处理器802。通信外围设备810用于促进计算机系统800和其他计算设备之间通过通信网络的通信,并且包括例如网络接口控制器、调制解调器、无线接口卡和有线接口卡、天线、以及其他通信外围设备。
70.虽然本主题已针对其特定实施例进行了详细描述,但应理解,本领域技术人员在获得对前述内容的理解后,可以容易地产生对这样的实施例的改变、变化和等同物。因此,应理解,本公开是为了示例而非限制的目的而呈现的,并且不排除包括对于普通技术人员来说是显而易见的对本主题的这种修改、变化和/或添加。实际上,本文描述的方法和系统可以以多种其他形式实施;此外,在不背离本公开的精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等价物旨在覆盖落入本公开的范围和精神内的此类形式或修改。
71.除非另有明确说明,否则应了解,贯穿本说明书的讨论使用诸如“处理”、“计算”、“运算”、“确定”和“识别”等术语是指计算设备(例如一个或多个计算机或类似的电子计算设备)的动作或过程,计算设备在计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备中操纵或转换表示为物理电子或磁量的数据。
72.本文讨论的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括提供以一个或多个输入为条件的结果的任何合适的组件布置。合适的计算设备包括访问存储的软件的基于微处理器的多用途计算机系统,该软件将计算机系统从通用计算装置编程或配置为实现本主题的一个或多个实施例的专用计算装置。任何合适的编程、脚本或其他类型的语言或语言的组合可用于在用于编程或配置计算设备的软件中实施本文中包含
的教导。
73.本文公开的方法的实施例可以在这样的计算设备的操作中执行。以上示例中呈现的框的顺序可以改变——例如,框可以被重新排序、组合和/或分解成子框。某些框或过程可以并行执行。
74.本文使用的条件性语言,例如“可以”、“可能”、“例如”等,除非另有明确说明,或在所使用的上下文中以其他方式理解,通常旨在传达某些示例包括而其他示例不包括某些特征、元素和/或步骤。因此,这种条件性语言通常并不意味着一个或多个示例以任何方式需要特征、元素和/或步骤,或者一个或多个示例必须包括用于在有或没有作者输入或提示的情况下决定是否包括或将在任何特定示例中执行这些特征、元素和/或步骤的逻辑。
75.术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包容性地使用,并且不排除其他元素、特征、动作、操作等。此外,术语“或”以其包容性(而不是排他性)使用,从而当例如用于连接元素列表时,术语“或”表示列表中的一个、一些或全部元素。此处使用的“适用于”或“用于”是指开放和包容性的语言,不排除适用于或用于执行附加任务或步骤的设备。此外,“基于”的使用意味着开放和包容,因为“基于”一个或多个列举的条件或值的过程、步骤、计算或其他动作实际上可以基于列举的之外的附加条件或值。类似地,“至少部分基于”的使用意味着开放和包容,因为“至少部分基于”一个或多个列举的条件或值的过程、步骤、计算或其他动作在实践中可以基于列举的附加条件或值。本文包括的标题、列表和编号仅是为了便于解释,并不意味着限制。
76.上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合使用。所有可能的组合和子组合旨在落入本公开的范围内。此外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与其相关的框或状态可以以其他适当的顺序来执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以组合在单个框或状态中。示例框或状态可以串行、并行或以某种其他方式执行。可以将框或状态添加到公开的示例中或从公开的示例中删除。类似地,本文描述的示例系统和组件可以被配置为与所描述的不同。例如,与公开的示例相比,可以添加、移除、或重新排列元素。