CN107430859B - 将输入映射到表单域 - Google Patents
将输入映射到表单域 Download PDFInfo
- Publication number
- CN107430859B CN107430859B CN201680020630.2A CN201680020630A CN107430859B CN 107430859 B CN107430859 B CN 107430859B CN 201680020630 A CN201680020630 A CN 201680020630A CN 107430859 B CN107430859 B CN 107430859B
- Authority
- CN
- China
- Prior art keywords
- text entry
- gram
- entry field
- target data
- grams
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/193—Formal grammars, e.g. finite state automata, context free grammars or word networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
Abstract
在一些实现中,在访问包括文本录入域的表单的同时接收用户输入。在一方面,一种过程可包括将用户输入映射至表单的域,并且以适当的信息填充所述表单的域。这种过程可允许用户通过生成输入语音的转录、确定与所述语音每一部分最佳对应的域,以及以所述适当信息填充每个域而使用语音输入填充表单。在一些示例中,本文所述的过程可降低用户输入组件上的负荷,可降低总功率消耗,并且可降低用户的认知负担。
Description
技术领域
本公开大体涉及自然语言处理,并且一个特定实施方式涉及利用由用户所提供的数据(诸如语音或文本输入)填写电子表单。
背景技术
语音辨识包括用于将说出的词转换为文本或其它数据的过程。例如,麦克风可以接受模拟信号,其被转换为数字形式,其然后被分为更小的分段。数字分段能够与口头语言的最小元素(被称为音素)相比较。基于该比较和那些声音被发出的场境(context)的分析,系统能够辨识语音。
为此目的,典型的语音辨识系统可以包括声学模型、语言模型和字典。简要地,声学模型包括可组合以产生词、短语等的集合的单独的声音的数字表示。语言模型分配词序列将在特定语句或短语中一起出现的概率。字典将声音序列转变为能够由语言模型理解的词。
使用语音辨识的一个方式是使用语音输入填充电子表单的字段。网站可以为用户提供表单来填写,其中,网站可以被配置成基于所接收到的输入的内容执行动作。
发明内容
一般而言,本说明书中所描述的主题的方面可以涉及用于将用户输入映射到表单的域和用于利用适当的信息填充表单的域的过程。该过程可以通过生成输入语音的转录、确定最好地对应于语音的每个部分的域、并且利用适当的信息填充每个域来允许用户使用语音输入更容易地填写表单。
手动地填写表单可能是耗费时间的过程,尤其因为用户可能每次其希望向新域中键入文本时都被要求提供输入。如此,如将理解到,在本文中所描述的过程和相关联的装置和系统可以用于减少所要求以便填写表单的用户输入的数目。清楚地,用户输入的数目的减少使得减少了装置/系统的用户接口组件上的负载;然而,其还可以减少用户与装置/系统交互的时间,进而可以减少在其上呈现表单的显示器活动的时间。被显示器和监视器所用的电力能够组成计算机系统或设备的总能量使用的重要部分,并且如此,减少显示器活动的时间可以导致减少的电力消耗。这可以在其中最小化电池电源的使用特别重要的移动设备中是特别有益的。
例如,考虑包括用户将在其中录入信息(诸如用户的名字、出生日期和家庭地址)的多个域的表单。取代要求用户选择每个域并且将对应的信息录入在所选择的域中,用户可以简单地大声地并且不以特定顺序说“Ryan Pond,1203 Forty-Fifth Street NewYork,8-5-1983”。响应于接收到用户的话语,在没有任何进一步的输入的情况下,系统可以确定“Ryan Pond”输入对应于“名字”域,“8-5-1983”输入对应于“出生日期”域,并且“1203Forty-Fifth Street New York”输入对应于“地址”域,并且可以利用其对应的信息自动地填充每个域。更新的表单可以被显示给用户。
如果以上过程与在其中用户被要求在表单的域之间手动地移动的系统相比较,将理解到所要求的用户输入的数目可以减少至少两个。另外,该过程可以减少用户上的认知负担(特别地在其中讲话输入可以以任何顺序提供的示例中)。
对于此处所讨论的系统采集关于用户的个人信息或可以利用个人信息的情况而言,用户可以被提供有控制程序或特征是否采集个人信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息)或者控制是否和/或如何从可以与用户更相关的内容服务器接收内容的机会。另外,在其被存储或被使用之前,某些数据可以以一个或多个方式匿名化,使得个人可辨识信息被移除。例如,用户的身份可以匿名化,使得没有个人可辨识信息可以被确定用于用户,或者用户的地理位置可以一般化,其中,位置信息被获得诸如到城市、邮政编码或州级,使得用户的特定位置不能确定。因此,用户可能能控制关于他或她的信息如何被采集并且如何由内容服务器使用。
在一些方面中,本说明书中所描述的主题可以被实现在方法中,其可以包括以下动作:在用户接口处呈现包括一个或多个文本录入域的表单,其中,每个文本录入域与相应的目标数据类型相对应;接收讲话输入;以及将表单的文本录入域中的一个或多个中的每一个文本录入域与讲话输入的转录的不同部分相关联。
该方面和其它方面的其它实施方式包括对应的系统、装置和计算机程序,其被配置成执行在计算机存储设备上编码的方法的动作。一个或多个计算机的系统可以借助于在操作中使得系统执行动作的被安装在系统上的软件、固件、硬件或其组合这样配置。一个或多个计算机程序可以借助于具有当由数据处理装置执行时使得装置执行动作的指令来这样配置。
这些其它版本可以各自可选地包括以下特征中的一个或多个。例如,实施方式可以包括:在用户接口处更新表单,其中,更新的表单的文本录入域中的一个或多个中的每一个文本录入域包括讲话输入的转录的不同部分。在一些实施方式中,讲话输入可以包括第一讲话输入部分,跟随有第二讲话输入部分。这些实施方式中的一些实施方式可以包括:在接收到第二讲话输入部分之前并且在用户接口处更新表单,其中,更新的表单的文本录入域中的一个或多个中的每一个文本录入域包括第一讲话输入部分的转录的不同部分。
在一些示例中,接收讲话输入并且将表单的文本录入域中的一个或多个中的每一个文本录入域与转录的不同部分相关联可以包括:接收第一讲话输入部分;将表单的特定文本录入域与第一讲话输入部分的转录的特定部分相关联;接收第二讲话输入部分;以及将表单的特定文本录入域与第一讲话输入部分和第二部分的转录的特定部分相关联,代替第一讲话输入部分的转录的特定部分。
在一些示例中,接收讲话输入并且将表单的文本录入域中的一个或多个中的每一个文本录入域与转录的不同的部分相关联可以包括:接收第一讲话输入部分;将表单的第一文本录入域与第一讲话输入部分的转录的特定部分相关联;接收第二讲话输入部分;以及将表单的文本录入域中的一个或多个中的每一个与第一讲话输入部分和第二部分的转录的不同部分相关联,包括(i)将表单的第二文本录入域与包括第一讲话输入部分的转录的特定部分的第一和第二讲话输入部分的转录的特定部分相关联,以及(ii)将表单的第一文本录入域和第一讲话输入部分的转录的特定部分去关联。
在一些示例中,接收讲话输入并且将表单的文本输入字段中的一个或多个中的每一个与转录的不同的部分相关联可以包括:接收第一讲话输入部分;将表单的文本录入域中的一个或多个中的每一个与第一讲话输入部分的转录的不同部分相关联,使得表单包括与所转录的文本相关联的文本录入域的第一集合;接收第二讲话输入部分;以及将表单的文本输入字段中的一个或多个中的每一个与第一和第二讲话输入部分的转录的不同部分相关联,使得表单包括与所转录的文本相关联的文本输入字段的第二集合,其中,文本录入域的第一集合与文本录入域的第二集合之间的差异至少取决于以下各项:(i)与表单的文本录入域相关联的相应的目标数据类型;(ii)第一讲话输入部分;和(iii)第一和第二讲话输入部分。
文本录入域的第一集合与文本录入域的第二集合之间的一个或多个差异还可以取决于与第一讲话输入部分的转录的部分相关联的数据类型以及与第一和第二讲话输入部分的转录的部分相关联的数据类型。文本录入域的第一集合与文本录入域的第二集合之间的这样的差异可以例如包括与所转录的文本相关联的文本录入域的数量和类型中的一个或多个。
在一些实施方式中,将表单的文本录入域中的一个或多个中的每一个与转录的不同的部分相关联并且在用户接口处更新表单可以包括:将文本录入域中的一个或多个的每个文本录入域与已被确定为对应于与文本录入域相关联的相应的目标数据类型的转录的不同部分相关联。在一些示例中,转录的不同的部分可以至少包括:第一部分,其包括单个文本词项;和第二部分,其包括多个文本词项。
在一些方面中,本说明书中所描述的主题可以被实现在方法中,其可以包括以下动作:获得包括各自与相应的目标数据类型相关联的一个或多个文本录入域的表单;接收包括一个或多个词的输入;根据一个或多个词生成多个n-gram;至少基于与特定文本录入域相关联的目标数据类型,从根据一个或多个词所生成的多个n-gram中间选择针对特定文本录入域的特定n-gram;以及利用特定n-gram填充特定文本录入域。还可以从例如场境或不与相应的文本录入域直接地相关联的其它信息推断与文本录入域相关联的相应的目标数据类型。在该场境中,n-gram可以是n个项(诸如音素、音节、文本字符和词)的连续序列。在一些实施方式中,结合这样的这些方法所描述的过程可以利用包括两个或多于两个词的输入来执行。
该方面和其它方面的其它实施方式包括对应的系统、装置和计算机程序,其被配置成执行在计算机存储设备上编码的方法的动作。一个或多个计算机的系统可以借助于在操作中使得系统执行动作的被安装在系统上的软件、固件、硬件或其组合这样配置。一个或多个计算机程序可以借助于具有当由数据处理装置执行时使得装置执行动作的指令这样配置。
这些其它版本可以各自可选地包括以下特征中的一个或多个。例如,实施方式可以包括:至少基于与特定文本录入域相关联的目标数据类型确定映射分值,映射分值指示特定文本录入域和与特定文本录入域不同的文本录入域中的一个或多个文本录入域将相应地被以特定n-gram和与特定n-gram不同的多个n-gram中的一个或多个填充的置信度。在这些实施方式中,至少基于与特定文本录入域相关联的目标数据类型从根据一个或多个词所生成的多个n-gram中间选择针对特定文本录入域的特定n-gram可以包括:至少基于映射分值,从根据一个或多个词所生成的多个n-gram中间选择针对特定文本录入域的特定n-gram。
实施方式可以包括:至少基于映射分值,从根据一个或多个词所生成的多个n-gram中间针对与特定文本录入域不同的文本录入域中的一个文本录入域选择与特定n-gram不同的n-gram中的一个n-gram;以及利用与特定n-gram不同的n-gram填充与特定文本录入域不同的文本录入域。
实施方式可以包括:接收表示由用户提供用于填充表单的数据的用户输入;以及确定用户输入的一个或多个转录假设,一个或多个转录假设包括一个或多个词。在这些实施方式中,接收包括一个或多个词的输入可以包括接收一个或多个转录假设。
在一些实施方式中,从一个或多个词生成多个n-gram可以包括:从一个或多个转录假设中的每一个生成一个或多个n-gram。而且,接收表示由用户提供用于填充表单的数据的用户输入可以包括:接收反映由用户所说的一个或多个词的话语的数据;以及确定用户输入的一个或多个转录假设包括确定用户所说的一个或多个词的一个或多个转录假设,其中一个或者更多转录假设包括一个或多个词。
实施方式可以包括:确定转录假设中的一个或多个中的每一个的一个或多个置信度分值,其各自指示正确地表示由用户所说的词中的一个或多个的相应的转录假设的一个或多个词中的置信度。在这些实施方式中,至少基于与特定文本录入域相关联的目标数据类型从根据一个或多个词所生成的多个n-gram中间选择特定文本录入域的特定n-gram可以包括:至少基于与特定文本录入域相关联的目标数据类型和与从其生成特定n-gram的特定转录假设相关联的一个或多个置信度分值,从根据一个或多个词所生成的多个n-gram中间选择特定文本录入域的特定n-gram。
实施方式可以包括:确定与表单的文本录入域相关联的相应的目标数据类型;以及基于与表单的文本录入域相关联的相应的目标数据类型,访问指示与相应的目标数据类型的词相关联的文法和词汇特性中的一个或多个的一个或多个目标数据类型模型。在一些方面中,至少基于与特定文本录入域相关联的目标数据类型从根据一个或多个词所生成的多个n-gram中间选择特定文本录入域的特定n-gram可以包括:至少基于与和特定文本录入域相关联的目标数据类型的词相关联的文法和词汇特性中的一个或多个以及与特定n-gram相关联的文法和词汇特性中的一个或多个,从根据一个或多个词所生成的多个n-gram中间选择特定文本录入域的特定n-gram。在一些实施方式中,可以从例如场境或不与相应的文本录入域直接地相关联的其它信息推断相应的目标数据类型。
在一些实施方式中,确定与表单的文本录入域相关联的相应的目标数据类型可以包括:至少基于与表单的文本录入域相关联的被包括在表单中的一个或多个标签,确定与表单的文本录入域相关联的相应的目标数据类型。
在附图和以下描述中阐述本说明书中所描述的主题的一个或多个实施例的细节。主题的其它潜在特征、方面和优点将从描述、附图和权利要求变得显而易见。
附图说明
图1和图2是用于将用户输入映射到表单的域并且利用系统中的适当的信息填充表单的域的示例性框架的概念图。
图3是用于将用户输入映射到表单的域并且利用适当的信息填充表单的系统的示图。
图4是将用户输入映射到表单的域并且利用适当的信息填充表单的域的示例过程的流程图。
图5是示例性计算设备的示图。
各种附图中的相同的附图标记指代相同的元件。
具体实施方式
图1是用于将用户输入映射到表单的域并且利用系统100中的适当的信息填充表单的域的示例性框架的概念图。更特别地,示图描绘了用户设备106和计算设备122,其共同地组成系统100。示图还描绘了用户设备106与计算设备122之间的数据流110,以及在各种阶段中由用户设备106所显示的表单108(被标记为表单108A到108F(相应地在时间顺序的阶段“A”到“F”中))。简单地,并且如下面更详细描述的,用户设备106可以显示表单108,其可以从用户102接收话语104,并且计算设备122可以从104的转录生成多个n-gram(n-gram),将n-gram映射到文本录入域140-148,并且可以利用适当的n-gram填充表单108。
用户设备106可以是移动计算设备、个人数字助理、蜂窝电话、智能电话、膝上型电脑、台式电脑、工作站和其它计算设备。用户设备106可以将表单显示给用户102。例如,用户设备106可以显示包括表单108的图形用户接口。表单可以是包括用于用户录入目标数据类型的用户输入的一个或多个标记域的文档。与每个文本录入域相关联的目标数据类型可以对应于每个文本录入域旨在接收的数据的类型或性质。例如,表单108可以包括:名字域140,其用于用户录入用户的名字;电话号码域142,其用于用户录入用户的电话号码;地址域144,其用于用户录入用户的地址;电子邮件域146,其用于用户录入用户的电子邮件地址;以及电子邮件确认域148,其用于用户录入用户的电子邮件地址。域可以是用户可以录入文本的文本录入域。
一旦访问表单108,系统100就识别与每个文本录入域140-148相关联的相应的目标数据类型。可以在计算设备122处或者本地在用户设备106处执行该识别过程。例如,域140可以被识别为用于接收用户的名字的域。这可以根据接近于表单108中的每个文本录入域所提供的标签来确定。例如,表单108可以包括接近于域140的“名字”文本标签。
用户设备106可以接收由用户102说出的输入词104的话语。例如,用户102可以说“1203 Forty-Fifth Street New York 2125519957 Ryan Pond rpond@example.com.”当用户102说话时,用户设备106可以实时记录用户的话语并且将记录的音频数据提供到计算设备122。计算设备122可以获得音频数据中的话语的转录假设。例如,当用户的话语的音频数据初始地由计算设备122接收时(例如,当用户102开始说话时),计算设备122可以将音频数据提供到语音辨识器,其产生指示可以形成所记录的话语的不同的假设的多个不同的组合的词格(word lattice)。在一些实施方式中,至少可以由用户设备106获得转录假设。在这些实施方式中,网络连接性对于用户设备106执行结合图1所描述的步骤可能不是必要的。
词格可以包括对应于词之间的可能的界限的多个节点。每对节点可以具有各自对应于不同词序列的一个或多个路径。例如,计算设备122可以通过分析从词格的开始节点(例如,对应于在其处用户102开始说话的点)到词格的结束节点(例如,对应于在其处最新的音频数据被接收的点)的路径来为所记录的话语确定每个适当的转录假设。在一些实施方式中,全部转录假设被系统100考虑。在其它实施方式中,其未全部被考虑。在这些实施方式中,所获得和/或所考虑的这样的转录假设可以是修剪的搜索空间的那些转录假设。这可以例如节省计算时间。
此外,语音辨识器可以指示其考虑的词中的哪一个最可能是正确的(例如,通过提供置信度分值和/或对单独词和假设二者进行排名)。在该示例中,当从用户设备106接收到附加的音频数据时,可以更新词格。例如,附加的音频数据可以使得词格扩展以包括附加的节点和基于附加的音频数据的节点之间的词。
计算设备122还能够确定形成从词格的开始节点到结束节点的路径的每个假设中的词序列。计算设备122可以针对每个假设生成一个或多个假设变型。每个假设变型可以包括从被包括在原始假设中的词序列所生成的一个或多个n-gram。在该场境中,n-gram是n个项(诸如音素、音节、文本字符和词)的连续序列。例如,所生成的n-gram可以包括被包括在相应的转录假设中的音素、音节、文本字符和词中的一个或多个。在一些实施方式中,在包括多个n-gram的假设变型中所包括的n-gram可以是n-gram序列。
在每个假设变型中所包括的n-gram可以是来自原始假设的词的变型。例如,每个假设变型中所包括的n-gram可以是以下各项中的一项或多项:这些词的短语或集合、这些词和/或这些词中的字符的连结、这些词本身以及这些词的分段。在一些实施方式中,计算设备122可以确定所考虑的每个转录假设的假设变型。正如上文所描述的其它过程一样,可以针对用户的话语实时执行假设变型生成过程。即,由于词格的假设随着附加的音频数据改变时,因此假设变型也如此。在一些实施方式中,全部可能假设变型被系统100考虑。在其它实施方式中,其未全部被考虑。在这些实施方式中,所确定和/或所考虑的这样的假设变型可以是修剪的搜索空间的那些假设变型。这可以例如节省计算时间。
计算设备122可以使用假设变型来确定表单108应该如何填充。特别地,计算设备122可以针对每个假设变型确定表单108可以利用假设变型的n-gram填充的各种方式。换句话说,计算设备122可以考虑假设变型n-gram到表单108的文本录入域的一一映射。所考虑的映射的数目可以至少部分地取决于给定假设变型中的n-gram的数目和在给定表单中所包括的文本录入域的数目。在一些实施方式中,全部可能的映射由系统100考虑。在其它实施方式中,其未全部被考虑。在这些实施方式中,所评价的这样的映射可以是修剪的搜索空间的那些映射。这可以例如节省计算时间。
对于所考虑的每个映射而言,计算设备122可以确定映射分值,其指示如果其文本录入域根据映射(例如,每个n-gram与每个n-gram被映射到的文本录入域配对有多么好)利用假设变型的n-gram填充则表单将被正确地填充的置信度。即,给定映射的映射分值反映n-gram表示用户102旨在向在该映射下每个n-gram已经与之配对的文本录入域提供的数据的可能性。
每个映射的映射分值可以基于假设变型的n-gram与每个n-gram相应地已映射到的文本录入域之间的对应性的一个或多个水平。在一些实施方式中,计算设备122可以确定映射中的每个n-gram到文本录入域对的相关性分值。
对于给定对的相关性分值可以至少基于以下各项:对于该对的文本录入域的目标数据类型、为从其生成该对的n-gram的词所提供的置信度分值和/或排名、对于假设变型的其它n-gram的相关性分值、n-gram的所估计的数据类型、已经由用户和/或他人填充的表单的样本、假设变型的n-gram序列中的n-gram的位置与表单108内的文本录入域的位置之间的对应性水平、用户信息以及从一个或多个搜索域所检索的信息。计算设备122可以基于针对映射中的一个或多个n-gram到文本录入域对所确定的一个或多个相关性分值,来确定映射分值。
例如,映射分值可以是针对给定映射所确定的相关性分值的平均。在一些实施方式中,映射分值可以是其相关性分值的加权平均。例如,对于n-gram和文本录入域对的相关性分值可以根据n-gram的所估计的重要性(例如,n-gram中的字符的数目相对于假设变型的长度)和/或文本录入域的所估计的重要性的水平(例如,基于文本录入域的填充是否是可选的)进行加权。而且,不同的权重可以被分配给映射分值所基于的参数,如上文所描述的。
在一些实施方式中,计算设备122可以利用机器学习系统来确定映射分值。例如,机器学习系统可以基于填充的表单样本、标记的表单样本和用户信息训练以辨识n-gram何时具有其被配对的文本录入域的目标数据类型。即,机器学习技术还可以被用于更准确地识别各种文本录入域的目标数据类型。机器学习系统可以能够学习用户典型地如何填写表单并且裁剪映射分值方案以反映其习惯。在一些实施方式中,机器学习技术可以被用于确定针对单独词和词格的假设二者的置信度分值和/或排名。在一些实施方式中,用户设备106可以利用机器学习系统(诸如结合计算设备122所描述的机器学习系统)来确定这样的映射分值。在这些实施方式中,网络连接性对于用户设备106执行结合图1所描述的步骤可能不是必要的。
一旦计算设备122已确定假设变型与将被考虑的表单108之间的每个映射的映射分值并且对于为每个转录假设所生成的每个假设变型已这样做,计算设备122就可以选择特定映射并且因此填充表单108。计算设备122可以基于映射分值而选择映射。在一些实施方式中,计算设备122可以选择在给定时间处具有最高映射分值的映射。在一些实施方式中,可以由用户设备106执行这样的映射选择。在这些实施方式中,网络连接性对于用户设备106执行结合图1所描述的步骤可能不是必要的。
计算设备122可以根据所选择的映射填充表单108的文本录入域。文本录入域可以实时填充(例如,当用户102说话时),或者可以当用户102已完成说话时填充。在其中用户设备106执行结合图1所描述的步骤的实施方式中,可以由用户设备106本地执行这样的文本录入域填充过程。在这些实施方式中,跟随获得或接收将文本录入域与转录部分相关联的信息,可以并发地或立即地更新表单108。在其它实施方式中,一旦已确定用户已完成提供输入,就可以更新表单108。在这些实施方式中,将文本录入域与转录部分相关联的过程可以仍然实时执行。在一些示例中,可以定期地更新表单108。在这些示例中,用户设备106可以根据文本录入域与转录部分之间的当前关联定期地更新表单108。即,在一些实施方式中,文本录入域与起因于这样的关联过程的转录部分之间的关联可以在如所显示的表单108中是显而易见的。在一些示例中,将文本录入域与转录部分相关联的过程还可以定期地执行。
在一些实施方式中,计算设备122可以修改映射。这可以包括利用附加信息替换在n-gram中所包括的信息或扩增这样的n-gram。例如,计算设备122可以确定文本录入域可以要求比用户102已提供的更多的信息、生成所要求的附加信息、并且利用附加信息扩增映射的n-gram。计算设备122还可以给该附加信息提供自动完成功能。在这些实施方式中,计算设备122可以利用经修改的映射的n-gram填充对应的文本录入域。在其中用户设备106执行结合图1所描述的步骤的实施方式中,可以由用户设备106本地执行这样的修改。
计算设备122可以给用户设备106提供用于表单108的更新的信息。在其中文本录入域实时被填充的实施方式中,当其说话时或在其说话之后不久,该特征可以使得用户102能够观看表单108变得填充有其信息。在这些实施方式中,在给定时间点处的表单108的状态代表针对直到该时间点所接收到的音频数据的n-gram到文本录入域的所选择的映射。在其中用户设备106执行结合图1所描述的步骤的实施方式中,用户设备106可以直接地提供用于表单108的更新的信息。在这些实施方式中,跟随获得或接收将文本录入域与转录部分相关联的信息,可以并发地或立即地更新表单108。在其它实施方式中,一旦已确定用户已完成提供输入,就可以更新表单108。在这些实施方式中,将文本录入域与转录部分相关联的过程可以仍然实时执行。在一些示例中,可以定期地更新表单108。在这些示例中,用户设备106可以根据文本录入域与转录部分之间的当前关联定期地更新表单108。即,在一些实施方式中,文本录入域与起因于这样的关联过程的转录部分之间的关联可以在如所显示的表单108中是显而易见的。在一些示例中,将文本录入域与转录部分相关联的过程还可以定期地执行。
在图1的示例中,用户102已访问表单108并且计算设备122已识别与每个文本录入域140-148相关联的相应的目标数据类型。阶段A代表在其处用户102开始说短语:“1203Forty-Fifth Street New York 2125519957 Ryan Pond rpond@example.com.”的点。更特别地,用户102说“1,”并且用户设备106记录用户102的话语。用户设备106通过网络将包括用户的话语的音频数据传送到计算设备122。
计算设备122可以为话语生成多个转录假设。如上文所描述的,所生成的每个假设可以被包括作为基于阶段A中所接收到的音频数据所生成的词格内的路径。计算设备122还可以生成一个或多个假设变型。例如,假设变型可以包括(i)“1,”和(ii)“Juan.”。即,“1”和“Juan”两者都是从相应假设中所包括的一个或多个词所生成的n-gram。
计算设备122可以(i)确定“1”与表单108之间的每个适当的映射的映射分值,以及(ii)确定“Juan”与表单108之间的每个适当的映射的映射分值。例如,计算设备122可以生成对于“1”和名字域140的映射分值、对于“1”和电话号码域142的映射分值、对于“1”和地址域144的映射分值、对于“1”和电子邮件域146的映射分值和对于“1”和电子邮件确认域148的映射分值。在该相同方案下,计算设备122将还确定对于“Juan,”和其它假设变型的映射分值。
计算设备122可以基于映射分值确定对于表单108应该选择哪个假设变型n-gram到文本录入域映射。在该示例中,计算设备122可以确定对于接收到的话语而言,最大映射分值对应于“Juan”和名字域140的映射。因为假设变型内的“Juan”n-gram的位置(例如,第一)与表单108内的名字域140的位置(例如,第一)之间的对应性的水平最高,所以如由该对应性水平积极地影响,“Juan”n-gram和文本录入域140的映射分值可能已比其它相对地更高。
如果计算设备122将认为“Juan”最可能是名字,则“Juan”和名字域140的映射分值将被积极地影响(例如,计算设备122已将“名字”识别为用于名字域140的目标数据类型)。出于至少三个原因,“Juan”和名字域140可以产生最大映射分值。利用这个,计算设备122可以利用“Juan,”填充名字域并且将更新的表单108A提供给用户设备106用于显示。在一些实施方式中,用户设备104接收将表单108的名字域140与“Juan.”相关联的信息。例如,这样的信息可以包括以下各项中的一项或多项:指示映射确定结果的信息、指示表单108将如何被填充的指令、对于表单108的更新和表单108的更新版本。用户设备106可以例如更新正被显示的表单,使得名字域140包括“Juan”(诸如更新的表单108A被显示)。
通过图1的阶段B,用户102已说“1203 Forty.”。用户设备106通过网络将该话语的音频数据传送到计算设备122。
图2是用于在系统100中在如与图1相关联地描述的阶段B处将用户输入映射到表单的域并且用适当的信息填充表单的域的示例性框架200的概念图。在一些实施方式中,与图2相关联地描述的过程可以至少部分地由计算设备122执行。在这些实施方式中,与图1和图2相关联地描述的过程也可以由与用户设备106和计算设备122中的一个或多个通信地耦合的其它云计算设备来处置或者执行。在其它实施方式中,与图2相关联地描述的过程可以部分地或完全地由用户设备106执行。在这些实施方式中,网络连接性可以不是用户设备106执行与图1和图2相关联地描述的步骤所必需的。
再次参考图1,计算设备122可以生成言语的多个转录假设。例如,这可以包括计算设备122用为阶段B所接收的音频数据更新词格,例如,在阶段A中为说出的输入的第一部分所产出的词格。在阶段B中更新的这样的词格将包括在阶段A至B中接收到的音频数据的词,例如说出的输入的第一和第二部分的音频数据的词。如上所述,计算设备122可以确定所记录的言语的全体的每个适当的转录假设,其可以形成可从词格的开始节点到结束节点——例如阶段A至阶段B——中取的至少一些路径中的每一个。
图2包括大体描绘词格与它产生的假设——例如H1至Hn——之间的关系的模型210。例如,在阶段B处更新的词格可以是词格212。词格212包括开始节点214a和结束节点214b。通过从214a到214b的每个路径呈现的词序列反映由词格212产生的每个适当的转录假设。在阶段B处的词格可以产生假设H1至Hn,其中n小于或者等于从214a到214b的路径的总数目。
计算设备122针对所记录的言语的每个转录假设生成一个或多个假设变体。图2包括大体描绘示例性假设——例如Hk与假设变体——例如HkV1至HkVi之间的关系的模型220。对于阶段B,示例性假设222由词格212产生。词222a-e——例如,“Juan”、“2”、“0”、“3”、“40”——形成从词格212的开始节点214a到结束节点214b的通过假设222所取的路径。词格212可实现的其它假设可以包括例如(i)“want”、“to”、“zero”、“the”、“Ford”、“E”和(ii)“1”、“2”、“zero”、“3”、“for”、“tea”。
由计算设备122针对假设222所生成的假设变体均可以包括从词222a-e生成的n-gram或n-gram的序列。包括在这样的假设变体中的每个n-gram可以是词222a-e中的任一个、由词222a-e中的任一个形成的短语、词222a-e中的任一个或词222a-e的字符的级联、词222a-e中的任一个的分段、及其组合。
计算设备122可以考虑假设变体n-gram到表单108的文本录入域的各个一对一映射。对于所考虑的每个映射,计算设备122可以确定映射分值,所述映射分值指示表单在其文本录入域根据映射用假设变体的n-gram填充的情况下将被正确地填写的置信度,例如,每个n-gram与它被映射到的文本录入域配对的程度。
图2包括模型230,其大体描绘示例性假设变体——例如HkVk、表单的文本录入域、以及针对示例性假设变体HkVk和表单的文本录入域的各种可能的映射——例如HkVkM1至HkVkMj——之间的关系,所述各种可能的映射中的每一个具有对应的映射分值。对于阶段B,示例性假设变体232从假设222生成。例如,假设变体232可以包括包含n-gram N222a和n-gram N222b-e的n-gram序列。在此示例中,假设变体232的n-gram序列中的第一n-gram——n-gram N222a简单地是词222a,例如“Juan”。假设变体232的n-gram序列中的第二n-gram——n-gram N222b-e是词222b——例如“2”、222c——例如“0”、222d——例如“3”和222e——例如“40”的级联。
由计算设备122考虑的假设变体232和表单108的每个映射可以对应于“Juan”被映射到文本录入域140-148中的一个并且“20340”被映射到文本录入域140-148中的另一不同的一个。计算设备122可以遍历假设变体的各个映射中的每一个并且确定每个对应的映射分值。这可以对于针对言语所开发的每个假设的每个假设变体来执行。计算设备122可以至少基于映射分值来确定所生成的假设变体中的哪一个最适合地映射到表单108的文本录入域和优选映射,或者表单108应该如何用包括在此序列中的n-gram填充,即,哪些文本录入域与哪些n-gram配对。
在此示例中,计算设备122可以确定假设变体232最适合地映射到表单108的文本录入域并且进一步确定所选择的映射包括用“Juan”n-gram——即n-gramN222a——填充名字域140,并且用“20340”n-gram——即n-gram N222b-e——填充电话号码域142。图2将此映射描绘为映射240。假设变体232到表单108的此特定映射的映射分值可以以与参考阶段A所描述的方式类似的方式受到n-gram序列中的第一n-gram——即“Juan”与表单108中的第一文本录入域——即名字域140之间的对应水平的正面影响。
类似地,例如映射分值基于的“20340”和电话号码域142的相关性分值也可以反映相对高的对应水平。在确定此特定n-gram到文本录入域对——即“20340”到电话号码域142——的相关性分值时,计算设备122可以认为“20340”最可能是电话号码的前五位数字。
首先,在“20340”在假设变体232内的位置与电话号码域142在表单108内的位置之间存在明确的对应。在位置对应之外,计算设备122可能已根据从搜索域中检索到的信息确定了“203”是相对常见的康涅狄格电话区域代码。由于至少这些原因,所选择的映射的映射分值可以已经比所生成的其它映射分值相对更高。
计算设备122还可以用附加信息扩增“20340”n-gram以进一步符合电话号码域142的目标数据类型。例如,此特定n-gram可以在第三位和第四位数字被扩增有连字符,例如,“203-40”,以更好地反映n-gram是电话号码的前五位数字。计算设备122可以用“203-40”修改的n-gram填充电话号码域142并且使“Juan”保持为用来填充名字域140的n-gram,并将经更新的表单108B提供给用户设备106。在一些实施方式中,用户设备106接收用于使表单108的电话号码域142与“203-40”相关联的信息。用户设备106可以例如将表单108A更新为108B以供显示。
通过图1的阶段C,用户102已说出“1203 Forty Fifth Street New York”。用户设备106通过网络将此言语的音频数据传送到计算设备122。计算设备122可以生成该言语的多个转录假设。这可以包括例如计算设备122用阶段C所接收的音频数据来更新词格。在阶段C中更新的这样的词格将包括在阶段A至C中接收到的音频数据的转录假设。
如上所述,计算设备122可以确定所记录的言语的全体的每个假设,其可以形成可从词格的开始节点到结束节点——例如阶段A至阶段C——中取的各种路径中的每一个。可以以与已经在上面描述的方式类似的方式为每个假设生成假设变体,并且利用这些假设变体来对于阶段C确定n-gram到文本录入域的合适的映射。
在此示例中,计算设备122确定优选映射包括用“1203 forty fifth streetNewark”填充地址域144。这意味着已被选择的映射对应于包括“1203 forty fifth streetNewark”的单个n-gram的假设变体,所述单个n-gram可能是包括在原始假设中找到的词的词的短语以及在原始假设中找到的字符和/或词的级联,例如“1203”。也就是说,计算设备122确定此特定n-gram是地址——其是针对地址域144所确定的目标数据类型——有相对较高的可能性。尽管n-gram和文本录入域的位置之间的对应,它们的数据类型之间的对应足够重要以在阶段C中产生高相关性分值。
在阶段C中更新的词格可能已将“Newark”和“New York”两者包括在词格的开始节点与结束节点之间的同一点处。在此示例中,提供给语音辨识器的言语的特性可能已指示用户102最可能说出“Newark”。也就是说,在“Newark”的词格中提供的置信分值可以已经高于“New York”的置信分值。在这方面,包括“Newark”的假设变体可能比包括“New York”的那些假设变体优选。
在填充表单108之前,计算设备122可以修改“1203 forty fifth street Newark”n-gram。例如,可以确定要将“forty fifth street”修改为写作“45th St.”。可以执行此修改以便更好地符合地址格式和/或使提供给地址域144的字符的数目最小化。在一些实施方式中,计算设备122可以识别文本录入域内的字符限制并且因此修改n-gram,使得满足字符限制。这样的修改可以包括缩写词。计算设备122可以向用户设备106提供更新的表单108C以供显示。在一些实施方式中,用户设备106接收用于使表单108的文本录入域140-148与输入104的转录部分——例如转录文本——相关联的信息。在此示例中,使表单108的文本录入域140-148与转录部分相关联的信息可以由用户设备106接收,其使表单108的名字域140和“Juan”脱离关联,使表单108的电话号码域142和“203-40”脱离关系,并且使表单108的地址域144与“1203 45th St.Newark”相关联。用户设备106可以例如将表单108B更新为表单108C以供显示。这样的关联在108B和108C的描绘中至少是明显的。
通过图1的阶段D,用户102已说出“1203 Forty Fifth Street New York 21”。用户设备106通过网络将此言语的音频数据传送到计算设备122。计算设备122可以生成该言语的多个转录假设。这可以包括例如计算设备122用为阶段D所接收的音频数据更新词格。在阶段D中更新的这样的词格将包括在阶段A至D中接收到的音频数据的候选转录。
如上所述,计算设备122可以确定所记录的言语的全体的每个假设,其可以形成可从词格的开始节点到结束节点——例如阶段A至阶段D——中取的各个路径中的每一个。可以以与已经在上面描述的方式类似的方式为每个假设生成假设变体,并且利用所述假设变体来为阶段D选择n-gram到文本录入域的映射。
在此示例中,计算设备122确定优选映射包括用“1203 forty fifth streetNewark”填充地址域144并且用“21”填充电话号码域142。除上述的修改之外,可以将“1203forty fifth street Newark”修改为不仅写作“1204 45th St.Newark”,而且进一步写作“1204 45th St.Newark,NJ”。
在阶段C处接收到“21”音频数据时,计算设备122可能已确定用户102已从提供地址继续进行至提供例如电话号码。例如,如果计算设备122曾预期在地址结束处提供州,则地址n-gram可能已被修改为包括最可能的州。计算设备122可能已利用来自搜索域的信息来确定与“Newark”相关联的州最可能是新泽西州或“NJ”。计算设备122可以向用户设备106提供更新的表单108D以供显示。在一些实施方式中,用户设备106接收用于使表单108的电话号码域142与“21”相关联的信息。例如,用户设备106可以将表单108C更新为表单109D以供显示。如上所述和图1中所图示,可以在每个阶段处或者在附加用户输入被接收和/或处理的时候修改表单108的文本录入域140-148与输入104的转录部分——例如转录文本——的关联域。
通过图1的阶段E,用户102已说出“1203 Forty Fifth Street New York2125519957 Ryan Pond r”。用户设备106通过网络将此言语的音频数据传送到计算设备122。计算设备122可以生成该言语的多个转录假设。例如,这可以包括计算设备122用为阶段E所接收的音频数据来更新词格。在阶段E中更新的这样的词格将包括在阶段A至E中接收到的音频数据的候选转录。
如上所述,计算设备122可以确定所记录的言语的全体的每个假设,其可以形成可从词格的开始节点到结束节点——例如阶段A至阶段E——中取的各个路径中的每一个。然后可以以与已经在上面描述的方式类似的方式为每个假设生成假设变体,并且利用这些假设变体来为阶段E选择n-gram到文本录入域的映射。
在此示例中,计算设备122确定优选映射包括用“1203 forty fifth street NewYork”填充地址域144、用“2125519957”填充电话号码域142并且用“Ryan Ponder”填充名字域140。在接收到“25519957”时,计算设备可能已确定“2125519957”最可能是电话号码。因此,包括与电话号码域142配对的此n-gram的映射的映射分值会已从此对应中受益。
如果例如计算设备122能够确定“2125519957”最可能是电话号码,并且此外确定此电话号码的区域代码是曼哈顿区域代码,例如“212”是曼哈顿、纽约、纽约的公共区域代码,则从“New York”而不是“Newark”生成的假设变体的映射分值可以升高。也就是说,计算设备122可以确定所提供的地址和电话号码很可能对应于同一地区。由于这个原因,所选择的映射可以包括用“1203 forty fifth street New York”的n-gram填充地址域142。地址n-gram可以被以与已经在上面描述的方式类似的方式修改,并且可以被进一步修改为指示地址位于曼哈顿西部,例如“1203 45th St.”
在此示例中,提供给语音辨识器的言语的特性可能已指示用户102最可能说处“Ponder”而不是随后是“r”的“Pond”。因此,所选映射的映射分值可能已有利地受到与词格中的“Ponder”相关联的置信分值和/或排名影响。计算设备122可以向用户设备106提供更新的表单108E以供显示。在一些实施方式中,用户设备106接收用于修改表单108的文本录入域140-148与输入104的转录部分——例如转录文本——的关联域的信息。例如,用户设备106可以将表单108D更新为表单108E以供显示。
通过图1的阶段F,用户102已说出“1203 Forty Fifth Street New York2125519957 Ryan Pond rpond@example.com”。用户设备106通过网络将此言语的音频数据传送到计算设备122。计算设备122可以生成该言语的多个转录假设。例如,这可以包括计算设备122用为阶段F所接收的音频数据更新词格。在阶段F中更新的这样的词格将包括在阶段A至F中接收到的音频数据的候选转录。
如上所述,计算设备122可以确定所记录的话语言语的全体的每个假设,其可以形成可从词格的开始节点到结束节点——例如阶段A至阶段F——中取的各个路径中的每一个。可以以与已经在上面描述的方式类似的方式为每个假设生成假设变体,并且利用这些假设变体来为阶段F选择n-gram到文本录入域的映射。
在此示例中,计算设备122可能已确定电子邮件域146和电子邮件确认域148具有确切相同的目标数据类型。在这种情形下,计算设备122可以将域146和148视为好像它们是单个域。因此,同一n-gram将被映射到这些域。例如,计算设备122可以例如基于用户信息来确定“rpond@example.com”适合地映射到域146和148。在一些实施方式中,由计算设备122考虑的映射包括假设变体的单个n-gram被映射到表单108的多个文本录入域的映射,例如n到m映射。
例如,用户102先前可能已将“rpond@example.com”提供给显示在用户设备106上的另一表单的电子邮件文本录入域。通过使用机器学习技术,计算设备122可以确定“rpond@example.com”最可能是用户的电子邮件地址。因此,紧接着计算设备122可以确定“Pond”的姓氏比“Ponder”更适合地映射到名字域140,因为紧跟“Pond”之后接收到的“r”最可能是电子邮件地址的一部分。计算设备122可以向用户设备106提供更新的表单108F以供显示。在一些实施方式中,用户设备106接收用于修改表单108的文本录入域140-148与输入104的转录部分——例如转录文本——的关联域的信息。例如,用户设备106可以将表单108E更新为表单108F以供显示。
尽管已经与语音输入相关联地描述了图1和图2的过程,然而这些过程可以被适配成将诸如语音、键盘录入、手写、和手势的输入映射到表单的域。在一些实施方式中,如在上面与图1和图2相关联地描述的过程可以完全地由单个设备——诸如用户设备106、计算设备122——和其它云计算设备来执行。
图3描绘用于将用户输入映射到表单的域并且用适当的信息填充表单的域的示例性系统300。更具体地,图3描绘可以向用户设备306提供输入304的用户302。用户302还可以访问用户设备306上的数字表单。用户设备306可以通过网络308与计算设备322进行通信。类似于已经在上面参考图1和2描述的内容,用户设备306可以向计算设备322提供与输入304相关联的信息和关于被访问的数字表单的信息。计算设备322可以通过网络308接收此信息并且向用户设备306提供已依照所选择的映射填充的更新的数字表单364。在一些实施方式中,如与图3相关联地描述的计算设备322的功能可以由用户设备306和/或其它云计算设备来执行。在一些实施方式中,与图3相关联地描述的过程可以至少部分地由计算设备322执行。在这些实施方式中,与图3相关联地描述的过程也可以由与用户设备106和计算设备122中的一个或多个通信地耦合的其它云计算设备来处置或者执行。在其它实施方式中,与图3相关联地描述的过程可以部分地或完全地由用户设备306执行。在这些实施方式中,网络连接性可以不是用户设备306执行与图3相关联地描述的步骤所必需的。例如,用户设备306可以在本地执行与图3相关联地描述的所有操作。
计算设备322可以通过使用网络接口324来通过网络308接收信息,所述网络接口324可以向自动语音辨识器332提供输入信息330并且向解析器342提供关于数字表单340的信息。输入信息330可以指示输入304的至少一部分,例如,作为由用户302产出的所记录言语的音频数据。关于数字表单340的信息可以是与正由用户302在用户设备306上访问的数字表单相关联的信息。此信息可以允许计算设备322确定数字表单的特征,以及获得数字表单本身。例如,此信息可以包括包含在数字表单中的文本、数字表单的布局、数字表单的域、数字表单的源代码——例如HTML、数字表单的文本格式化性质、和/或数字表单的URL。
自动语音辨识器332可以接收输入信息330并且获得表示输入304的用户言语的声学特征。声学特征可以是梅尔频率倒谱系数(MFCC)、线性预测系数(LPC)、或某个其它音频表示。在一些实施方式中,自动语音辨识器332可以基于输入信息330和/或它从输入信息330中提取的声学特征来开发言语的词格。自动语音辨识器332还可以识别词、音节、和音素中的一个或多个之间的边界。
类似于已经在上面参考图1和2描述的内容,由计算设备322开发的词格可以包括与词之间的可能边界相对应的一个或多个节点。这样的词格也包括由该词格导致的适当的转录假设内的可能的词的从节点到节点的多个链接。给定转录假说通过沿着从词格的开始节点到结束节点的特定路径的链接的序列而形成。此外,这些链接中的每一个可具有该链接为来自对应节点的正确链接的一个或多个置信分值。置信分值由自动语音辨识器模块332确定并且可基于例如对于该链接的语音数据与的词之间匹配的置信度以及该词在语法上和/或在词汇上与词格中的其它词的适合程度。
词格可以由n-gram生成器334处理。在一些实施方式中,n-gram生成器334可以用来为由自动语音辨识器332开发的词格中所提供的每个转录假设生成假设变体。由n-gram生成器334生成的每个假设变体可以包括从包括在原始假设中的词的序列生成的一个或多个n-gram。在一些实施方案中,包括在包括多个n-gram的假设变体中的n-gram可以是n-gram序列。包括在每个假设变体中的n-gram可以是来自原始假设的词的变体。例如,包括在每个假设变体中的n-gram可以是这些词的短语或合集、这些词和/或这些词中的字符的级联、这些词本身、以及这些词的分段中的一个或多个。
在一些实施方式中,n-gram生成器334可以为每个适当的转录假设确定各种假设变体。由自动语音辨识器提供的词格和由n-gram生成器生成的假设变体两者可以分别由自动语音辨识器332和n-gram生成器334实时地开发、更新、和维护。也就是说,自动语音辨识器332和n-gram生成器334可以在用户302向用户设备306提供附加输入304的时候调整它们相应的输出。
解析器342可以接收关于数字表单340的信息并且对包括在该数字表单中的文本进行解析。例如,解析器342可以能够处理包括在数字表单中的文本以便识别可以被利用来识别文本录入域的目标数据类型的文本录入域的标签。包括在数字表单中的文本可以用基于有限状态机的模式匹配系统来解析以确定文本与例如地址目标数据类型、出生日期目标数据类型、信用卡号目标数据类型等的不同语法匹配的程度。
机器学习系统350可以从n-gram生成器334和解析器342接收用于识别包括在数字表单中的每个域的目标数据类型的信息,以及以与已经在上面参考图1和图2描述的方式类似的方式开发映射分值。机器学习系统350可以由机器学习系统训练器352使用来自解析器342的数据、填充表单样本354、标记表单样本356、和用户信息358来训练。机器学习系统训练器352可以与机器学习系统350整合或者可以用一个或多个云计算设备来实现。
填充表单样本354——例如,已经由用户302和/或其它用户填充的表单和标记表单样本356——例如带具有已知目标数据类型的标记文本录入域的表单可以由机器学习训练器352利用来训练机器学习系统350,以识别数字表单中的每个文本录入域的目标数据类型并且确定每个n-gram对应于数字表单的目标数据类型的程度。表单的文本录入域的目标数据类型指示相应的文本录入域旨在接收的数据的类型。
在数字表单内,每个文本录入域的目标数据类型可以通过它们相应的标签来反映。机器学习系统训练器352可以训练机器学习系统350以通过它相应的标签来简单地识别数字表单的每个文本录入域的目标数据类型。例如,机器学习系统培训器352可以训练机器学习系统350以辨识标记为“名字”的文本录入域最可能旨在为用户的名和可能为姓氏。目标数据类型标识可以由计算设备322在它最初访问数字表单时执行。在一些实施方式中,相应的目标数据类型可以从例如上下文或与相应的文本录入域不直接相关联的其它信息推断。例如,文本录入域的一个或多个目标数据类型可以至少部分地基于它们所属于的表单的类型来推断。在一些示例中,可以考虑表单的来源——例如网站——的特性来推断包括在表单中的数据类型。
机器学习系统训练器352可以开发一个或多个目标数据类型模型并且用所述一个或多个模型来训练机器学习系统350。例如,所述一个或多个目标数据类型模型可以为每个目标数据类型的n-gram定义语法和/或词汇特性。机器学习系统训练器352可以创建和更新目标数据类型模型并且使用它们来训练机器学习系统350以更准确地填充数字表单。目标数据类型模型可以由机器学习系统训练器352基于填充表单样本354、标记表单样本356、和/或用户信息358来创建和更新。
例如,随着填充表单样本354扩展以包括用户302填充的附加表单,这些模型可以由机器学习系统训练器352随着时间的推移来细化。在这个意义上,机器学习系统350可以能够例如基于用户历史上已分别提供到“名字”域和“出生日期”域中的文本来学习诸如用户的名字和出生日期的信息。可以通过用户信息358来进一步增强和/或确证由机器学习系统350使用的目标数据类型模型,所述用户信息358可以包括关于用户的社交网络、社交动作或活动、职业、用户偏好、或用户的当前位置的信息。
机器学习系统350可以以与已经在上面参考图1和2描述的方式类似的方式执行n-gram到文本录入域映射。在一些实施方式中,机器学习系统350使用二分图匹配算法来将n-gram映射到文本录入域。
通过使用目标数据类型模型,机器学习系统350可以能够确定例如由n-gram生成器334提供并且作为假设变体的一部分包括的给定n-gram展现给定文本录入域的目标数据类型的语法和/或词汇特性的程度。在一些实施方式中,当计算设备322考虑给定映射的给定n-gram到文本录入域对时确定给定n-gram展现给定文本录入域的目标数据类型的语法和/或词汇特性的程度。在这些实施方式中,可以至少基于给定n-gram展现给定文本录入域的目标数据类型的语法和/或词汇特性的程度来确定所述对的相关性分值和映射分值中的一个或多个,该程度是基于由机器学习系统训练器352维护的一个或多个目标数据类型模型所确定的。
所考虑的每个映射的映射分值可以由机器学习系统350基于n-gram与每个n-gram已分别被映射到的文本录入域之间的一个或多个对应水平来生成。例如映射分值可以基于的映射的给定n-gram到文本录入域对的相关性分值可以至少基于:由机器学习系统350识别的所述对的文本录入域的目标数据类型、针对如自动语音辨识器332所提供的词格中所指示的那样从其生成所述对的n-gram的词而提供的置信分值和/或排名、假设变体的其它n-gram的相关性分值、基于由机器学习系统训练器352维护的一个或多个目标数据类型模型所确定的n-gram的估计数据类型、n-gram在假设变体的n-gram序列中的位置与文本录入域在数字表单中的位置之间的对应水平、从一个或多个搜索域中检索到的信息、填充表单样本354、标记表单样本356以及用户信息358。机器学习系统350可以以与已经在上面参考图1和图2描述的方式类似的方式基于针对映射的一个或多个n-gram到文本录入域对所确定的一个或多个相关性分值来确定映射分值。
机器学习系统训练器352可以进一步训练机器学习系统350以学习用户的习惯并且充分利用对他们的习惯的了解来提高其映射分值方案的准确度。例如,机器学习系统350可以基于由用户302完成的填充表单样本354和用户信息358来学习到,当包括在用户信息358中的用户的位置指示用户302位于夏威夷时,用户302通常将“8000Volcano BeachRoad,Honolulu,Hawaii”提供给表单的“地址”域。在此示例中,如果机器学习系统350在填写数字表单的同时确定用户302位于夏威夷,则可以有利地影响指示夏威夷地址的n-gram的映射得分,并且反之亦然。
在另一示例中,机器学习系统350可以学习到用户302几乎总是跳过可选的表单的文本录入域。在此示例中,可以训练机器学习系统350以基于由解析器342提供的信息和标记表单样本356来识别文本录入域的这个特征。由于这个原因,可以有利地影响由机器学习系统350针对排除可选域的填充的映射所生成的映射分值。
一旦机器学习系统350已相应地考虑了每个映射和生成的映射分值,优化器360就可以评估机器学习系统350的输出以选择映射。在一些实施方式中,优化器360执行代替由机器学习系统350执行的那些映射功能或者除其之外的映射功能。在一些实施方式中,具有最大映射分值的映射被选择。在映射选择时,优化器将向反映所选择的映射的用户设备306提供更新的数字表单364。如上所述,数字表单可以由计算设备322连续地且实时地更新。
图4是用于将用户输入映射到表单的域并且用适当的信息填充表单的域的示例过程400的流程图。下文将过程400描述为由参考图1-3所描述的系统的组件来执行。然而,过程400可以由其它系统或系统配置来执行。
在410处,过程400可以包括获得包括一个或多个文本录入域的表单。例如,用户设备106和/或计算设备122可以获得用户已访问的表单108。
在420处,该过程可以包括接收包括一个或多个词的输入。在一些示例中,该过程可以包括接收包括两个或更多个词的输入。例如,包括一个或多个词的输入可以是提供为言语所生成的词格提供的一个或多个假设,例如,词格本身和/或由词格提供的个体假设。在一些实施方式中,包括一个或多个词的输入可以是例如由用户通过使用键盘所提供的文本的字符串。在这些实施方式中,用户可以使用键盘来键入一系列字符:“bobjones1/8/1960”。计算设备可以以与上述的转录假设的处理类似的方式处置此系列字符。
在430处,该过程可以包括从一个或多个词生成多个n-gram。例如,这可以由n-gram生成器334在生成均包括一个或多个n-gram的一个或多个假设变体时执行。如上所述,假设变体的n-gram从包括在原始假设中的词生成。在一个或多个词是用户已键入的字符系列的实施方式中,可以均生成包括一个或多个n-gram的字符系列的多个变体。在这些实施方式中,可以以与已经在上面描述的方式类似的方式生成包括在每个变体中的n-gram。例如,“bobjones1/8/1960”的变体可以包括第一n-gram“Bob Jones”和第二n-gram“1/8/1960”。在由用户键入的字符系列的示例性变体中,可看到第一n-gram“Bob Jones”是字符系列的分段的短语/合集。
在440处,该过程可以包括针对特定文本录入域选择特定n-gram。例如,这可以在评估映射结果并且选择与分别将一个或多个特定n-gram映射到一个或多个文本录入域相对应的映射时执行。在一些实施方式中,这个可以由机器学习系统——诸如已经在上面参考图1-3描述的机器学习系统——来执行,所述机器学习系统可以开发和更新映射评分方案并且确定所考虑的每个映射的映射分值。可以至少基于所生成的映射分值来确定映射选择。
在450处,该过程可以包括用所选择的n-gram填充特定文本录入域。例如,这可以由计算设备122或322在根据所选择的映射填充表单时执行。这可以实时地执行或者一旦已经确定用户已完成为表单提供输入就执行。表单108A-F描绘如根据为各种阶段A-F而确定的映射所填充的表单108。
在一些实施方式中,可以与获得或者接收用于使文本录入域与转录部分相关联的信息同时或者紧接其之后更新表单。这样的信息可以包括指示一个或多个映射确定结果的信息、指示表单108如何将被填充的指令、对表单的更新、以及表单的更新版本中的一个或多个。在一些实施方式中,可以仍在用于使文本录入域与转录部分相关联的信息被处理的时候实时地执行使文本录入域与转录部分相关联的过程。在一些示例中,可以周期性地更新表单108。在这些示例中,用户设备106可以根据文本录入域与转录部分之间的当前关联周期性地更新表单108。也就是说,在一些实施方式中,由这样的关联过程导致的文本录入域与转录部分之间的关联在如显示的表单108中可以是显而易见的。在一些示例中,也可以周期性地执行使文本录入域与转录部分相关联的过程。
在一些实施方式中,一旦已经确定用户已完成提供输入就可以更新表单。例如,本文中所描述的系统可以确定自用户输入已被接收到以来已经流逝了预定时间量并且随后更新表单。在一些示例中,表单可以是对事件的检测的更新。这样的事件可以包括在用户设备处接收传入通信、一个或多个定时器的期满、以及用户输入的一个或多个特性的发生,诸如用户发起的命令的接收。
在一些实施方式中,可以向用户提供用于确认和/或校正填充表单的一个或多个机会。例如,可以向用户呈现可以允许用户指示他们想要开始提供用于填充表单的输入、指示表单已被错误地填充、确认表单的当前状态、并且指示他们已完成提供用于填充表单的输入的界面。在一些实施方式中,可以利用此反馈来训练机器学习系统。
此外,界面也可以允许用户提供一个或多个命令。例如,用户可能会说“Pleasefill the form with the following values:ues‘Hans Mueller’as the full name andenter the date of birth as‘February 29,1989’(请用以下值填充表单:将‘HansMueller’用作全名并且将出生日期录入为‘1989年2月29’)”以提供映射指令。在这些实施方式中,计算系统可以辨识用户的命令并且选择具有与名字域相对应的“Hans Mueller”和与出生日期域相对应的“February 29,1989”的映射。在一些实施方式中,可以利用由用户提供并由计算设备辨识的命令来修改映射评分方案。
在一些实施方式中,计算设备可以修改一个或多个生成的n-gram。这可以包括用附加信息替换包括在n-gram中的信息或者扩增这样的n-gram。在一些实施方案中,紧跟映射的选择之后执行这样的修改。在一些实施方式中,通过生成包括修改的n-gram的附加假设变体来在n-gram生成期间执行这样的修改。在任何一种情况下,n-gram修改可以受到机器学习技术影响并且与为其映射所确定的映射分值相关联。
在一些实施方式中,在图1-4的任何方法和系统中执行的映射是一个或多个词的每个变体的n-gram的单射和非满射映射。在一些实施方式中,在图1-4的任何方法和系统中执行的映射是一个或多个词的非单射和非满射映射。在这些实施方式中,可以考虑一个或多个词到表单的各种非单射和非满射映射。例如,一个或多个词可以属于转录假设。可以在选择特定非单射和非满射映射时利用一个或多个优化过程,诸如二分图匹配、图切割和匈牙利算法。在这些实施方式中,可以以与已经在上面描述的方式类似的方式执行用户设备与计算设备之间的通信。
图5示出能够用于实现本文所述的技术的计算设备500和移动计算设备550的示例。计算设备500旨在表示各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片式服务器、大型机和其它适当的计算机。移动计算设备550有意表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能手机和其它类似的计算设备。这里所示的组件、它们的连接和关系以及它们的功能有意仅为示例,并且无意限制。
计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504和高速扩展端口510的高速接口508,以及连接到低速扩展端口514和存储设备506的低速接口512。处理器502、存储器504、存储设备506、高速接口508、高速扩展端口510以及低速接口512每个使用各种总线互连,并且可以适当地安装在公共母板上或以其它方式安装。处理器502能够处理在计算设备500内执行的指令,包括存储在存储器504或存储设备506上的指令,以在外部输入/输出设备,诸如耦合到高速接口508的显示器516上显示图形用户界面(GUI)的图形信息。在其它实现中,可以适当地与多个存储器和多种类型的存储器一起使用多个处理器和/或多条总线。也可以连接多个计算设备,每个设备提供部分必要操作(例如,作为服务器组、一组刀片服务器或多处理器系统)。
存储器504在计算设备500内存储信息。在一些实现中,存储器504是易失性存储器单元或多个单元。在一些实现中,存储器504是非易失性存储器单元或多个单元。存储器504也可以是另一种形式的计算机可读介质,例如磁盘或光盘。
存储设备506能够为计算设备500提供大容量存储。在一些实现中,存储设备506可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备,或磁带设备,闪存或其它类似的固态存储设备,或包括存储区域网络中的设备或其它配置的设备阵列。指令能够被存储在信息载体上。当被一个或者更多处理设备,例如处理器502执行时,指令执行一种或多种方法,诸如上述那些方法。指令也能够被一个或者更多存储设备存储,诸如计算机或机器可读介质存储,例如存储器504、存储设备506,或者处理器502上的存储器。
高速接口508管理计算设备500的带宽密集型操作,而低速接口512管理较低带宽密集型操作。这种功能分配仅是例证性的。在一些实现中,高速接口508耦合到存储器504、显示器516(例如,通过图形处理器或加速器),并且耦合到可接受各种扩展卡(未示出)的高速扩展端口510。在实现中,低速接口512耦合到存储设备506和低速扩展端口514。可包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口514可被耦合到一个或多个输入/输出设备,诸如键盘、指针设备、扫描仪,或例如通过网络适配器耦合到诸如交换机或路由器的网络设备。
如图所示,计算设备500可被实现为多种不同的形式。例如,它可以被实现为标准服务器520,或者在一组这样的服务器中多次实现。此外,它可以在诸如膝上型计算机522的个人计算机中实现。它也可以被实现为机架服务器系统524的一部分。可替选地,来自计算设备500的组件可与移动设备中的其它组件(未示出),诸如移动计算设备550组合。这些设备中的每一个都可包含一个或者更多计算设备500和移动计算设备550,并且整个系统可由彼此通信的多个计算设备组成。
移动计算设备550包括处理器552、存储器564、诸如显示器554的输入/输出设备、通信接口566和收发器568以及其它组件。移动计算设备550也可具有诸如微驱动器或其它设备的存储设备,以提供附加的存储。处理器552、存储器564、显示器554、通信接口566和收发器568每个都使用各种总线互连,并且几个组件可被适当地安装在公共母板上或以其它方式安装。
处理器552能够在移动计算设备550内执行指令,包括存储在存储器564中的指令。处理器552可被实现为包括单独的和多个模拟和数字处理器的芯片的芯片集。处理器552可以例如提供用于移动计算设备550的其它组件的协同,诸如用户接口的控制,由移动计算设备550运行的应用以及由移动计算设备550进行的无线通信。
处理器552可以通过控制接口558和耦合到显示器554的显示接口556与用户通信。显示器554可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它适当的显示技术。显示接口556可包括用于驱动显示器554以向用户呈现图形和其它信息的适当电路。控制接口558可接收来自用户的命令并将其转换以提交给处理器552。另外,外部接口562可提供与处理器552的通信,以便能够实现移动计算设备550与其它设备的近场通信。外部接口562可以提供例如在一些实现中的有线通信,或者在其它实现中的无线通信,并且也可使用多个接口。
存储器564将信息存储在移动计算设备550内。存储器564能够被实现为计算机可读介质、易失性存储器单元或非易失性存储器单元中的一个或多个。扩展存储器574还可以通过扩展接口572来提供并连接到移动计算设备550,扩展接口572可包括例如SIMM(单列直插存储器模块)卡接口。扩展存储器574可以为移动计算设备550提供额外的存储空间,或者还可以存储用于移动计算设备550的应用或其它信息。特别地,扩展存储器574可包括用于执行或补充上述过程的指令,并且也可包括安全信息。因而,例如,扩展存储器574可被提供为用作移动计算设备550的安全模块,并且可以用允许安全使用移动计算设备550的指令来编程。另外,可经由SIMM卡以及附加信息来提供安全应用,例如以不可攻击的方式将识别信息置于SIMM卡上。
如下文所述,存储器可以包括例如闪存和/或NVRAM存储器(非易失性随机存取存储器)。在一些实现中,指令被存储在信息载体上,当被一个或者更多处理设备,例如处理器552执行时,指令执行诸如上述那些方法的一个或者更多方法。指令也能够被一个或者更多存储设备,诸如一个或者更多计算机或机器可读介质,例如存储器564、扩展存储器574或处理器552上的存储器存储。在一些实现中,能够以例如传播信号通过收发器568或外部接口562接收指令。
移动计算设备550可通过通信接口566进行无线通信,通信接口566可在必要时包括数字信号处理电路。通信接口566可提供诸如GSM语音呼叫(全球移动通信系统)、SMS(短信服务)、EMS(增强短信服务)或MMS消息(多媒体短信服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字蜂窝式通信)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线服务)等各种模式或协议下的通信。这种通信可以例如通过使用射频的收发机568发生。另外,可能发生短距离通信,例如使用蓝牙、WiFi或其它此类收发器(未示出)。另外,GPS(全球定位系统)接收器模块570可以向移动计算设备550提供附加的导航和位置相关无线数据,这些数据可由在移动计算设备550上运行的应用适当地使用。
移动计算设备550还可以使用音频编解码器560可听地通信,音频编解码器560可以从用户接收讲话信息并将其转换为可用的数字信息。音频编解码器560同样可以为用户生成可听见的声音,诸如通过例如在移动计算设备550的话筒中的扬声器。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件,等等),并且也可包括在移动计算设备550上操作的应用生成的声音。
如图所示,移动计算设备550可以以多种不同的形式实现。例如,它可以被实现为蜂窝电话580。它也可以被实现为智能电话582、个人数字助理或其它类似移动设备的一部分。
本说明书中所述的主旨、功能性操作和过程的实施例能够以数字电子电路、以有形实现的计算机软件或固件、以计算机硬件,包括本说明书中公开的结构和它们的结构等效物,或者一个或者更多这些组件的组合实现。本说明书中所述的主旨的实施例能够作为一个或者更多计算机程序实现,即在有形非易失性程序载体上编码的计算机程序指令的一个或者更多模块,以由数据处理装置执行或者控制器操作。可替选地或者另外,程序指令能够在人工生成的传播信号,例如为了向适当的接收器装置传输而对信息编码,以由数据处理装置执行而生成的机器生成的电、光或电磁信号上编码。计算机存储介质能够为机器可读存储设备、机器可读存储基片、随机或串行存取存储器设备,或一个或者更多这些设备的组合。
术语“数据处理装置”涵盖用于处理数据的所有类型的装置、设备和机器,作为示例,包括可编程处理器、计算机或多个处理器或计算机。装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置也能够包括生成所讨论的计算程序的执行环境的代码,例如组成处理器固件、协议栈、数据库管理系统、操作系统或一个或者更多这些组件的组合的代码。
也可被称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码的计算机程序能够以编程语言的形式写成,包括汇编或解释语言,或者声明或程序性语言,并且能够以任何形式部署,包括作为孤立程序或者作为模块、组件子程序,或者适合在计算环境中使用的其它单元。计算机程序可以但是不需要与文件系统中的文件相对应。程序能够被存储在保存其它程序或数据的一部分文件中,例如被存储在标记语言文件中的一个或者更多脚本,被存储在专用于所讨论的程序的单个文件中,或者被存储在多个协同文件中,例如存储一个或者更多模块、子程序或代码部分的文件中。计算机程序能够被部署为在一个计算机上执行,或者在位于一个位置或者在多个位置上分布并且通过通信网络互连的多个计算机上执行。
本说明书中所述的过程和逻辑流程能够由执行一个或者更多计算机程序的一个或者更多可编程计算机执行,以通过在输入数据上操作并且生成输出而执行功能。过程和逻辑流程也能够由专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并且装置也能够被实现为这种电路。
适合执行计算机程序的计算机包括,作为示例,能够基于通用或者专用微处理器或两者,或者任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件为用于执行或者实现指令的中央处理单元,以及用于存储指令和数据的一个或者更多存储设备。通常,计算机也将包括或者可操作地耦合至用于存储数据的一个或者更多大容量存储设备(例如,磁盘、磁光盘或光盘),以从其接收数据或者向其传输数据,或者两者。然而,计算机不需要这些设备。此外,计算机能够被嵌入另一设备,仅举几个例子,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器,或者便携式存储设备,例如通用串行总线(USB)闪存驱动器。
适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,作为示例,包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或者被并入其中。
为了提供与用户的交互,本说明书中所述的主旨的实施例能够在具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监控器,和用户能够通过其将输入提供给计算机的键盘与指针设备,例如鼠标或轨迹球的计算机上实现。也能够使用其它类型的设备以提供与用户的交互;例如,被提供给用户的反馈能够为任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够被以任何形式接收,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文件和从其接收文件而与用户交互;例如,通过响应于从web浏览器接收的请求而向用户的客户端设备上的web浏览器发送网页。
本说明书中所述的主旨的实施例能够在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)),或者包括前端组件(例如,具有用户能够通过其与本说明书所述的主旨的实现进行交互的图形用户界面或web浏览器的客户端计算机),或者这种后端、中间件或前端组件的任何组合的计算系统中实现。系统的组件能够可以通过数字数据通信(例如,通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是由于相应计算机上运行,并且彼此具有客户端-服务器关系的计算机程序产生。
虽然本说明书含有许多特定实现细节,但是这些细节不应被视为对可能要求的范围的限制,而是作为可为特定实施例所特定的特征的描述。在本说明书中的单独实施例的场境下描述的特定特征也能够在单个实施例中组合地实现。相反,在单个实施例的场境下描述的各种特征也能够在多个实施例中单独地,或者以任何适当的子组合实现。此外,虽然在上文中将特征描述为以特定组合起作用甚至最初要求如此,但是在一些情况下,能够从该组合实现来自所要求组合的一个后者更多特征,并且所要求的组合可涉及子组合或者子组合的变体。
类似地,虽然在附图中以特定顺序示出操作,但是不应将其理解为,为了实现期望结果要求以所示的特定顺序或者以顺序执行这些操作,或者执行所有所示操作。在特定情况下,多任务和并行处理可能有利。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都要求这种分离,并且应理解,所述程序组合和系统通常能够在单个软件产品中集成在一起,或者被封装为多个软件产品。
已经描述了主题的特定实施例。其它实施例也在下文权利要求的范围内。例如,权利要求中所述的动作能够被以不同顺序执行,并且仍实现期望结果。作为一个示例,在附图中示出的过程不必要求所示的特定顺序或者序列顺序以实现期望结果。在特定实现中,多任务和并行处理可能有利。可提供其它步骤,或者可从所述过程消除多个步骤。因而,其它实现也在下文权利要求的范围内。
Claims (13)
1.一种用于使用语音输入来填充表单的计算机实现的方法,包括:
由语音表单填写系统的解析器获得用户设备上的表单,其中所述表单包括一个或多个文本录入域,其中每个文本录入域与相应目标数据类型相关联,并且其中i)所述解析器、ii)自动语音辨识器、iii)n-gram生成器、iv)机器学习系统、以及v)优化器被实现在所述语音表单填写系统上;
由所述语音表单填写系统提供所述表单以供在所述用户设备的显示器上显示;
由所述自动语音辨识器接收由所述用户设备的麦克风捕获的与说出的输入相对应的音频数据;
由所述自动语音辨识器使用所述音频数据获得一个或多个转录假设,每个所述转录假设包括所述说出的输入中所包括的一个或多个词;
由所述n-gram生成器自所述一个或多个词生成多个n-gram;
由所述机器学习系统至少基于与所述一个或多个文本录入域中的每个文本录入域相关联的相应目标数据类型确定映射分值,所述映射分值指示与所述相应目标数据类型相关联的所述文本录入域将被所述多个n-gram中的每个n-gram填充的置信度;
由所述优化器至少基于与针对特定n-gram的特定文本录入域相关联的特定映射分值从所述多个n-gram之中针对该特定文本录入域选择该特定n-gram;以及
由所述优化器更新被提供以在所述用户设备的所述显示器上显示的所述表单,以用所述特定n-gram填充所述特定文本录入域。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
至少基于针对与所述特定n-gram不同的第二n-gram的所述一个或者多个文本录入域中的不同于所述特定文本录入域的另一个文本录入域的映射分值,针对该另一个文本录入域,从所述多个n-gram之中选择该第二n-gram;以及
用所述第二n-gram填充所述另一个文本录入域。
3.根据权利要求1所述的计算机实现的方法,其中自所述一个或多个词生成多个n-gram包括从所述一个或多个转录假设中的每个转录假设生成一个或多个n-gram。
4.根据权利要求3所述的计算机实现的方法,进一步包括:
由所述机器学习系统针对所述一个或多个转录假设中的一个或多个中的每个转录假设确定一个或多个置信分值,每个所述置信分值指示相应的该转录假设中的一个或多个词正确地表示所述说出的输入中所包括的一个或多个词的置信度,以及
其中针对所述特定文本录入域选择所述特定n-gram包括:至少基于所述映射分值从所述多个n-gram之中针对所述特定文本录入域选择所述特定n-gram,所述映射分值指示与所述相应目标数据类型相关联的所述特定文本录入域将被所述特定n-gram填充的置信度以及与从其生成所述特定n-gram的特定转录假设相关联的一个或多个置信分值。
5.根据权利要求1所述的计算机实现的方法,进一步包括:
由所述解析器确定与所述一个或多个文本录入域相关联的所述相应目标数据类型;以及
由所述机器学习系统基于与所述一个或多个文本录入域相关联的所述相应目标数据类型访问一个或多个目标数据类型模型,所述一个或多个目标数据类型模型指示与所述相应目标数据类型的词相关联的文法和词汇特性中的一个或者多个,以及
其中,针对所述特定文本录入域选择所述特定n-gram包括:至少基于(i)与和所述特定文本录入域相关联的所述目标数据类型的词相关联的文法和词汇特性中的一个或者多个以及(ii)与所述特定n-gram相关联的文法和词汇特性中的一个或者多个,从所述多个n-gram之中针对所述特定文本录入域选择所述特定n-gram。
6.根据权利要求5所述的计算机实现的方法,其中确定与所述一个或多个文本录入域相关联的所述相应目标数据类型包括:至少基于与所述一个或多个文本录入域相关联的所述表单中所包括的一个或者多个标签,确定与所述一个或多个文本录入域相关联的所述相应目标数据类型。
7.一种语音表单填写系统,包括一个或多个计算机以及一个或多个存储设备,其中i)解析器、ii)自动语音辨识器、iii)n-gram生成器、iv)机器学习系统、以及v)优化器被实现在所述语音表单填写系统上,并且其中所述一个或多个存储设备存储指令,所述指令在由所述一个或者多个计算机执行时使得所述一个或者多个计算机执行操作,所述操作包括:
由所述解析器获得用户设备上的表单,其中所述表单包括一个或多个文本录入域,其中每个文本录入域与相应目标数据类型相关联;
由所述语音表单填写系统提供所述表单以供在所述用户设备的显示器上显示;
由所述自动语音辨识器接收由所述用户设备的麦克风捕获的与说出的输入相对应的音频数据;
由所述自动语音辨识器使用所述音频数据获得一个或多个转录假设,每个所述转录假设包括所述说出的输入中所包括的一个或多个词;
由所述n-gram生成器自所述一个或多个词生成多个n-gram;
由所述机器学习系统至少基于与所述一个或多个文本录入域中的每个特定文本录入域相关联的相应目标数据类型确定映射分值,所述映射分值指示与所述相应目标数据类型相关联的所述文本录入域将被所述多个n-gram中的每个n-gram填充的置信度;
由所述优化器至少基于与针对特定n-gram的特定文本录入域相关联的特定映射分值从所述多个n-gram之中针对该特定文本录入域选择该特定n-gram;以及
由所述优化器更新被提供以在所述用户设备的所述显示器上显示的所述表单,以用所述特定n-gram填充所述特定文本录入域。
8.根据权利要求7所述的语音表单填写系统,所述操作进一步包括:
至少基于针对与所述特定n-gram不同的第二n-gram的所述一个或者多个文本录入域中的不同于所述特定文本录入域的另一个文本录入域的映射分值,针对该另一个文本录入域,从所述多个n-gram之中选择该第二n-gram;以及
用所述第二n-gram填充所述另一个文本录入域。
9.根据权利要求7所述的语音表单填写系统,其中从所述一个或多个词生成多个n-gram包括从所述一个或多个转录假设中的每个转录假设生成一个或多个n-gram。
10.根据权利要求9所述的语音表单填写系统,所述操作进一步包括:
由所述机器学习系统针对所述一个或多个转录假设中的一个或多个中的每个转录假设确定一个或多个置信分值,每个所述置信分值指示相应的该转录假设中的一个或多个词正确地表示所述说出的输入中所包括的一个或多个词的置信度,以及
其中针对所述特定文本录入域选择所述特定n-gram包括:至少基于所述映射分值从所述多个n-gram之中针对所述特定文本录入域选择所述特定n-gram,所述映射分值指示与所述相应的目标数据类型相关联的所述特定文本录入域将被所述特定n-gram填充的置信度以及与从其生成所述特定n-gram的特定转录假设相关联的一个或多个置信分值。
11.根据权利要求7所述的语音表单填写系统,所述操作进一步包括:
由所述解析器确定与所述一个或多个文本录入域相关联的所述相应目标数据类型;以及
由所述机器学习系统基于与所述一个或多个文本录入域相关联的所述相应目标数据类型访问一个或多个目标数据类型模型,所述一个或多个目标数据类型模型指示与所述相应目标数据类型的词相关联的文法和词汇特性中的一个或者多个,以及
其中,针对所述特定文本录入域选择所述特定n-gram包括:至少基于(i)与和所述特定文本录入域相关联的所述目标数据类型的词相关联的文法和词汇特性中的一个或者多个以及(ii)与所述特定n-gram相关联的文法和词汇特性中的一个或者多个,从所述多个n-gram之中针对所述特定文本录入域选择所述特定n-gram。
12.根据权利要求11所述的语音表单填写系统,其中确定与所述一个或多个文本录入域相关联的所述相应目标数据类型包括:至少基于与所述一个或多个文本录入域相关联的所述表单中所包括的一个或者多个标签,确定与所述一个或多个文本录入域相关联的所述相应目标数据类型。
13.一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或者多个计算机执行时使得所述一个或者多个计算机执行操作,所述操作包括:
由语音表单填写系统的解析器获得用户设备上的表单,其中所述表单包括一个或多个文本录入域,其中每个文本录入域与相应目标数据类型相关联,并且其中i)所述解析器、ii)自动语音辨识器、iii)n-gram生成器、iv)机器学习系统、以及v)优化器被实现在所述语音表单填写系统上;
由所述语音表单填写系统提供所述表单以供在所述用户设备的显示器上显示;
由所述自动语音辨识器接收由所述用户设备的麦克风捕获的与说出的输入相对应的音频数据;
由所述自动语音辨识器使用所述音频数据获得一个或多个转录假设,每个所述转录假设包括所述说出的输入中所包括的一个或多个词;
由所述n-gram生成器自所述一个或多个词生成多个n-gram;
由所述机器学习系统至少基于与所述一个或多个文本录入域中的每个文本录入域相关联的相应目标数据类型确定映射分值,所述映射分值指示与所述相应目标数据类型相关联的所述文本录入域将被所述多个n-gram中的每个n-gram填充的置信度;
由所述优化器至少基于与针对特定n-gram的特定文本录入域相关联的特定映射分值从所述多个n-gram之中针对所述特定文本录入域选择所述特定n-gram;以及
由所述优化器更新被提供以在所述用户设备的所述显示器上显示的所述表单,以用所述特定n-gram填充所述特定文本录入域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/681,408 US20160300573A1 (en) | 2015-04-08 | 2015-04-08 | Mapping input to form fields |
US14/681,408 | 2015-04-08 | ||
PCT/US2016/025276 WO2016164251A1 (en) | 2015-04-08 | 2016-03-31 | Mapping input to form fields |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430859A CN107430859A (zh) | 2017-12-01 |
CN107430859B true CN107430859B (zh) | 2021-04-13 |
Family
ID=55702175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680020630.2A Active CN107430859B (zh) | 2015-04-08 | 2016-03-31 | 将输入映射到表单域 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160300573A1 (zh) |
CN (1) | CN107430859B (zh) |
WO (1) | WO2016164251A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10776571B2 (en) * | 2016-05-04 | 2020-09-15 | Google Llc | Dispatch of user input to multiple input fields in a user interface |
CN107193973B (zh) * | 2017-05-25 | 2021-07-20 | 百度在线网络技术(北京)有限公司 | 语义解析信息的领域识别方法及装置、设备及可读介质 |
CN109241517B (zh) * | 2017-07-10 | 2022-10-04 | 北京搜狗科技发展有限公司 | 一种词条学习的方法、装置和设备 |
US11861298B1 (en) * | 2017-10-20 | 2024-01-02 | Teletracking Technologies, Inc. | Systems and methods for automatically populating information in a graphical user interface using natural language processing |
JP7004955B2 (ja) * | 2017-12-11 | 2022-01-21 | トヨタ自動車株式会社 | サービス提供装置、サービス提供プログラム及び音声認識によるサービスを提供する方法 |
CN108287815A (zh) * | 2017-12-29 | 2018-07-17 | 重庆小雨点小额贷款有限公司 | 信息录入方法、装置、终端及计算机可读存储介质 |
US10417328B2 (en) * | 2018-01-05 | 2019-09-17 | Searchmetrics Gmbh | Text quality evaluation methods and processes |
CN110110292B (zh) * | 2018-01-29 | 2023-11-14 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN108960046A (zh) * | 2018-05-23 | 2018-12-07 | 北京图森未来科技有限公司 | 一种训练数据采样方法及其装置、计算机服务器 |
CN108763565B (zh) * | 2018-06-04 | 2022-06-14 | 广东京信软件科技有限公司 | 一种基于深度学习的数据自动关联匹配的构建方法 |
EP3857330A1 (en) * | 2018-09-27 | 2021-08-04 | Google LLC | Automatic navigation of interactive web documents |
CN109360571A (zh) * | 2018-10-31 | 2019-02-19 | 深圳壹账通智能科技有限公司 | 贷款信息的处理方法及装置、存储介质、计算机设备 |
US11043214B1 (en) * | 2018-11-29 | 2021-06-22 | Amazon Technologies, Inc. | Speech recognition using dialog history |
US10853576B2 (en) * | 2018-12-13 | 2020-12-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Efficient and accurate named entity recognition method and apparatus |
US10990351B2 (en) * | 2019-02-13 | 2021-04-27 | GICSOFT, Inc. | Voice-based grading assistant |
US20200410601A1 (en) * | 2019-06-25 | 2020-12-31 | Verata Health, Inc. | Automated prior authorization request generation and tracking |
US20210004819A1 (en) | 2019-07-05 | 2021-01-07 | Talkdesk, Inc. | System and method for sms and email enabled automated agent assistance within a cloud-based contact center |
US11328205B2 (en) | 2019-08-23 | 2022-05-10 | Talkdesk, Inc. | Generating featureless service provider matches |
US11127073B2 (en) * | 2019-10-03 | 2021-09-21 | Capital One Services, Llc | Systems and methods for obtaining user parameters of e-commerce users to auto complete checkout forms |
US11308265B1 (en) * | 2019-10-11 | 2022-04-19 | Wells Fargo Bank, N.A. | Digitally aware neural dictation interface |
CN110796180B (zh) * | 2019-10-12 | 2022-06-07 | 吉林大学 | 一种基于人工智能的模型训练系统与方法 |
US20210117882A1 (en) | 2019-10-16 | 2021-04-22 | Talkdesk, Inc | Systems and methods for workforce management system deployment |
US20210136220A1 (en) | 2019-10-31 | 2021-05-06 | Talkdesk, Inc. | Monitoring and listening tools across omni-channel inputs in a graphically interactive voice response system |
CN110931010A (zh) * | 2019-12-17 | 2020-03-27 | 用友网络科技股份有限公司 | 语音控制系统 |
US11736615B2 (en) | 2020-01-16 | 2023-08-22 | Talkdesk, Inc. | Method, apparatus, and computer-readable medium for managing concurrent communications in a networked call center |
US11163944B2 (en) * | 2020-01-21 | 2021-11-02 | International Business Machines Corporation | Alignment of content entry with online form fields |
US11755661B2 (en) * | 2020-03-31 | 2023-09-12 | Roche Molecular Systems, Inc. | Text entry assistance and conversion to structured medical data |
US11734511B1 (en) * | 2020-07-08 | 2023-08-22 | Mineral Earth Sciences Llc | Mapping data set(s) to canonical phrases using natural language processing model(s) |
US11355119B2 (en) * | 2020-07-24 | 2022-06-07 | Bola Technologies, Inc | Systems and methods for voice assistant for electronic health records |
US11677875B2 (en) | 2021-07-02 | 2023-06-13 | Talkdesk Inc. | Method and apparatus for automated quality management of communication records |
US11816582B2 (en) * | 2021-10-21 | 2023-11-14 | Snowflake Inc. | Heuristic search for k-anonymization |
CN114462364B (zh) * | 2022-02-07 | 2023-01-31 | 北京百度网讯科技有限公司 | 录入信息的方法和装置 |
US11856140B2 (en) | 2022-03-07 | 2023-12-26 | Talkdesk, Inc. | Predictive communications system |
US11755837B1 (en) * | 2022-04-29 | 2023-09-12 | Intuit Inc. | Extracting content from freeform text samples into custom fields in a software application |
US11736616B1 (en) | 2022-05-27 | 2023-08-22 | Talkdesk, Inc. | Method and apparatus for automatically taking action based on the content of call center communications |
US11943391B1 (en) | 2022-12-13 | 2024-03-26 | Talkdesk, Inc. | Method and apparatus for routing communications within a contact center |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6813603B1 (en) * | 2000-01-26 | 2004-11-02 | Korteam International, Inc. | System and method for user controlled insertion of standardized text in user selected fields while dictating text entries for completing a form |
AU2001264611A1 (en) * | 2000-05-17 | 2001-11-26 | Microsoft Corporation | System and method for matching a textual input to a lexical knowledge base and for utilizing results of that match |
US20030154085A1 (en) * | 2002-02-08 | 2003-08-14 | Onevoice Medical Corporation | Interactive knowledge base system |
WO2005017457A1 (ja) * | 2003-08-18 | 2005-02-24 | Matsushita Electric Industrial Co., Ltd. | 音声案内装置 |
US8812321B2 (en) * | 2010-09-30 | 2014-08-19 | At&T Intellectual Property I, L.P. | System and method for combining speech recognition outputs from a plurality of domain-specific speech recognizers via machine learning |
US9245525B2 (en) * | 2011-01-05 | 2016-01-26 | Interactions Llc | Automated speech recognition proxy system for natural language understanding |
JP6055961B2 (ja) * | 2012-04-07 | 2017-01-11 | グーグル テクノロジー ホールディングス リミティド ライアビリティ カンパニー | テキスト選択及び入力 |
GB2505400B (en) * | 2012-07-18 | 2015-01-07 | Toshiba Res Europ Ltd | A speech processing system |
US9123335B2 (en) * | 2013-02-20 | 2015-09-01 | Jinni Media Limited | System apparatus circuit method and associated computer executable code for natural language understanding and semantic content discovery |
EP3399521B1 (en) * | 2013-05-31 | 2020-04-15 | Yamaha Corporation | Technology for responding to remarks using speech synthesis |
CN104426857B (zh) * | 2013-08-26 | 2018-10-12 | 中国移动通信集团公司 | 一种对客户端数据校验的方法、系统及装置 |
-
2015
- 2015-04-08 US US14/681,408 patent/US20160300573A1/en not_active Abandoned
-
2016
- 2016-03-31 WO PCT/US2016/025276 patent/WO2016164251A1/en active Application Filing
- 2016-03-31 CN CN201680020630.2A patent/CN107430859B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107430859A (zh) | 2017-12-01 |
WO2016164251A1 (en) | 2016-10-13 |
US20160300573A1 (en) | 2016-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430859B (zh) | 将输入映射到表单域 | |
CN111710333B (zh) | 用于生成语音转录的方法和系统 | |
US9286892B2 (en) | Language modeling in speech recognition | |
US9711141B2 (en) | Disambiguating heteronyms in speech synthesis | |
CN109844740B (zh) | 跟进话音查询预测 | |
CN110110319B (zh) | 语音输入的字词级纠正 | |
US9275635B1 (en) | Recognizing different versions of a language | |
US9594744B2 (en) | Speech transcription including written text | |
KR102390940B1 (ko) | 음성 인식을 위한 컨텍스트 바이어싱 | |
US9576578B1 (en) | Contextual improvement of voice query recognition | |
US11016968B1 (en) | Mutation architecture for contextual data aggregator | |
US10482876B2 (en) | Hierarchical speech recognition decoder | |
CN110869923A (zh) | 从查询生成子查询 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |