CN103201707B - 用于向电子设备输入文本的文本预测引擎、系统及方法 - Google Patents

用于向电子设备输入文本的文本预测引擎、系统及方法 Download PDF

Info

Publication number
CN103201707B
CN103201707B CN201180053255.9A CN201180053255A CN103201707B CN 103201707 B CN103201707 B CN 103201707B CN 201180053255 A CN201180053255 A CN 201180053255A CN 103201707 B CN103201707 B CN 103201707B
Authority
CN
China
Prior art keywords
sequence
prediction
probability
model
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.)
Active
Application number
CN201180053255.9A
Other languages
English (en)
Other versions
CN103201707A (zh
Inventor
本杰明·麦德洛克
道格拉斯·亚历山大·哈珀·欧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Touchtype Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Touchtype Ltd filed Critical Touchtype Ltd
Priority to CN201710761127.9A priority Critical patent/CN107506047B/zh
Publication of CN103201707A publication Critical patent/CN103201707A/zh
Application granted granted Critical
Publication of CN103201707B publication Critical patent/CN103201707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Abstract

一种文本预测引擎、一种包含文本预测引擎的系统以及用于生成序列预测的方法。所述文本预测引擎、系统和方法生成一组各带有相关概率值的最终的序列预测。

Description

用于向电子设备输入文本的文本预测引擎、系统及方法
技术领域
本发明主要涉及一种用于向电子设备输入文本的文本预测引擎、系统及方法。
背景技术
一些现有的发明利用多种不同技术提供了电子设备用户文本输入的改善方法。然而,众所周知,已公开的相关系统首先面临着使用稳定且完全整合的概率模型预测用户预期写入文本的问题。
发明内容
在本发明的第一方面中,提供了一种文本预测引擎,包括:至少一个模型,其用于从证据源中生成带有相关概率估计的第一组序列;概率生成器,其用于接收带有相关概率估计的所述第一组序列并生成一组带有相关概率值的序列预测;其中,在给定由所述概率生成器接收到所有可能的序列的情况下,在由所述概率生成器生成的所有可能的序列预测上归一化所述概率值。
优选地,所述文本预测引擎包括优先模型,其用于生成带有相关概率估计的第二组序列。
优选地,所述模型根据所述证据源以及所述证据源中的不确定性生成第一组序列。优选地,所述概率生成器用于接收带有相关概率估计的所述第一、第二组序列。
所述概率生成器优选地通过将n个最可能的序列预测同剩余可能的序列预测的概率值代表常量相加,估计所述概率值的归一化因数。所述常量表示由所述模型和所述优先模型生成的剩余的可能序列预测的概率值。
所述模型包括用于生成带有相关概率估计的多个第一组序列的多个模型。在一实施例中,所述多个模型根据多个证据源生成多个第一组序列。
优选地,所述文本预测引擎是某一系统的一部分,而所述用户输入文本通过一个或多个用户选择、字符输入或语音识别被输入至该系统中。
所述文本预测引擎根据相应的模型包括给定的语境序列的概率对所述序列预测的概率值进行加权。在一实施例中,所述多个模型包括与多种不同语言相对应的多个语言模型;而所述文本预测引擎对与涉及到用户输入文本的最可能语言的语言模型相对应的序列预测的概率值进行最高级的加权。
各证据源由用于生成带有相关概率估计的序列的对应模型塑造。在给定所述序列预测的情况下,所述概率生成器优选地将各证据源作为其他所有证据源的有条件独立体处理。
在所述文本预测引擎的一优选实施例中,所述模型包括语境模型和输入模型,所述语境模型和所述输入模型用于接收用户输入的文本并生成一组序列和相关的概率估计;而且所述优先模型包括用于生成一组序列和相关概率估计的目标优先模型。所述输入模型优选包括候选模型和语言模型。所述语境模型优选包括候选模型和前缀匹配模型。所述目标优先模型优选包括字符模型和一元模型。
在本发明的第二方面中,提供了一种系统,包括:用户界面,其用于接收由用户输入的文本;文本预测引擎,其用于接收从所述用户界面输入的所述文本并生成一组带有相关概率值的序列预测,其中,在的所有可能的序列预测上归一化所述概率值;其中,所述文本预测引擎还用于向所述用户界面提供所述序列预测。
优选地,所述输入模型包括候选模型和语言模型。优选地,所述语境模型包括候选模型和前缀匹配模型。优选地,所述目标优先模型包括字符模型和一元模型。
在本发明的第三方面中,提供了一种处理用户文本输入的方法,包括:接收输入至用户界面的文本;使用文本预测引擎生成一组序列预测和相关的概率值,其中,在所有可能的序列预测上归一化所述概率值;将所述序列预测提供给所述用户界面。
生成归一化概率值的步骤优选包括:通过将n个最可能的序列预测的概率值同剩余的可能序列预测的概率值代表常量相加,估计所述概率值的归一化因数。
该方法还包括:将所述序列预测显示在所述用户界面上以供用户选择。优选地,通过所述文本预测引擎对所述序列预测进行排序,以供所述用户界面进行有序显示。仅当所述序列预测的对应概率值大于或等于第一阈值时,将所述序列预测提供给所述用户界面。类似地,仅当所述序列预测的对应概率值大于或等于第一阈值时,上述系统将所述序列预测提供给所述用户界面。
优选地,所述序列预测中的至少一个相当于由用户输入至所述用户界面的文本的调整或修正版本。
所述方法还包括:自动输入具有大于第二阈值或在第二阈值之上的概率值的序列预测。类似地,在一实施例中,上述系统自动输入具有大于第二阈值或在第二阈值之上的概率值的序列预测。
本方法中使用的概率生成器优选包括用于生成一组序列预测和相关概率值并根据相应的模型包括给定的语境序列的概率加权所述概率值的多个模型。
本发明还提供了一种计算机程序,包括:计算机可读介质,其中存储有用于使处理器执行上述方法的计算机程序。
本发明还涉及了一种用于生成序列预测的文本预测引擎以及用于生成序列预测以供显示和用户选择的系统及方法。在一实施例中,本发明涉及自动修正错误输入序列的系统及实现这一修正的方法。在一优选实施例中,本发明提供了一个文本预测引擎和通过结合任意个序列预期的不同概率估计生成带有相关概率值的一组最终序列预测。本发明的文本预测引擎、系统及方法由此可以提供基于任意独立证据源的预测。可通过向各预期序列分配正确的概率而非为序列排名,实现这一目的。通过分配正确的概率值,可分析分配给不同词条的概率的演化,并可以比较两个不同时间点上的给定词条或一组词条的概率。这意味着在特定预测中给定预设阈值“信任”(confidence)的情况下,可使用预设阈值来调节系统的行为。举例来说,仅显示预测到的序列,或者如果系统估计概率准确度超过0.75,或换句话说预测出的序列至少有75%的可能是准确的,此时进行自动修正。如果使用某种专门的评价来为元素排名,诸如那些无法在时间点上的序列之间进行可靠比较的值,则这种推理是不能实现的。
为了生成正确的概率值,本发明优选提供了一种有效估计所有序列归一化加和的方法。
下面参考下列附图,详细介绍本发明。
附图说明
图1为本发明高级预测结构的示意图;
图2为本发明优选预测结构实例的示意图。
具体实施方式
定义:
●字符-表示基本的规范单元符号;
●字符集-字符的有限集合;
●序列-排好序的有限长度字符串;
●前缀-如果起始于各序列中的首字符相同,并且存在连续的一一映射且length(s)≤length(s′),则序列s为另一序列s’的前缀;
●真前缀-如果序列s为序列s’的前缀,且length(s)<length(s′),则序列s为另一序列s’的真前缀;
●语言-具有特定书写或口头表述特性的一组序列(通常为无限的);
●文本-从一种或多种语言中提取的写入数据;
●系统-本发明主题;
●用户-与上述系统交互的人员。
一般但不唯一,可参见图1实施本发明系统。图1是本发明的高级文本预测结构的方块图。本系统包括文本预测引擎,该文本预测引擎生成一组由用户预期输入的最可能的序列预测SF。各序列预测具有一与其相关的概率值。
如图1所示,文本预测引擎优选包括:多个训练过的将会被用于从多个证据源e1、e2、e3等中作出概率推理的模型M1、M2、M3……,以及概率生成器(PG,probabilitygenerator)。然而,在其他实施例中,可有单个训练过的模型和单个证据源。
现存一些任意类型的潜在证据源e1、e2等。这些证据源的实例包括:
●用户已输入的序列;
●用户当前正在输入的词条(term)/短语(phrase);
●存储的由用户输入的历史序列;
●用户的母语;
●正输入的语言的特殊类型(style);
●正输入有当前序列的应用;
●在消息发送环境中的目标消息接收者;
●时间/日期;
●作为本系统主机的设备的位置。
通用模型
本系统的目标在于,根据用户预期输入某一序列的可能性为给定的语言子集中的序列排名。在概率学中,这相当于为集合S中的序列排名,该集合受下列表达式支配:
P(s∈S|e,M) (1)
其中,e为观测到的证据,而M为将会被用于作出概率推理的经过训练的模型集合。换言之,本系统将给定证据e的情况下,在能够提取出预测的所有序列的集合上估计条件概率。目标序列表示为s。
为了简化对来自于不同数据源的预测进行组合的过程,在一优选实施例中,将目标序列s定义为来自于特定数据源的预测。
M中的各模型于特定数据源上训练。因此,可由M中的模型表示特定数据源,而表达式(1)中的集合S涉及由M中的模型生成的所有不同词条(或序列)。通过查询模型来提供预测词条。该词条与其出处模型相关,并且因为该词条与其出处模型相关,因此其不同于出自其他模型但词法一致的词条。这种相关可隐含于上述数据中。然而,该词条可标记有与该词条出处模型相关的标识符。
在这一优选的对预测进行组合的过程中,将出自不同数据源的另外两个相同预测视为不同。为了组合出自不同模型的序列以获得预测列表,通过移除重复的预测,将该序列进行简单排序。在这一优选操作中,对给定的词法词条/序列保存最可能估计(estimate),并丢弃任何(可能性低的)词法重复。
以一非限制性实例为例,如果M包括两个语境语言模型,法语(LMFrench)和英语(LMEnglish),词条“pain”可能出现在这两个模型中,并在S中出现两次,一次与法语模型有联系,而另一次与英语模型有联系。这样在给定一组特定证据(其中,在这种情况下,该证据为预测词条“pain”之前的语境)的情况下,对词条“pain”进行两次分开的估计。
这些估计涉及两个不同的序列(一个出自法语模型,一个出自英语模型),但因为其词法相同,无需全部呈现给用户。因此,根据本优选实施例,对给定的词法序列保存最可能估计,并丢弃掉任何词法重复。
为了根据用户预期输入某一序列的可能性为给定的语言子集中的序列排名,需要计算表达式(1)中的条件概率P(s∈S|e,M)。为了确定这一概率,使用贝叶斯公式(Bayes’rule)重新排列该表达式如下:
并边缘化(marginalise)该表达式分母中的目标序列,由此得到:
在优选实施例中,为了计算P(e|s,M),假设:在给定上述目标序列的情况下,可将证据拆分成根据关联模型[M1…MN]下的某一分布分别求出的非重叠集合[e1…eN]。该独立性假设可写成:
并表述如下:
假设1:在给定目标序列的情况下,能够将证据拆分为不同的集合,从而使各集合中的证据彼此间有条件地相互独立。
其中,各ei具有与其相关的模型Mi。这样,可以构建一框架,在该框架中能够以计算效率高的方式任意地组合多个证据源。在一优选实施例中,模型R∈M与目标序列优先(prior)相关。考虑到这一假设,我们可以重新表述表达式(3)如下:
因此,在一优选实施例中,可通过计算目标序列优先P(s|R)以及各证据概率P(ei|s,Mi),计算出表达式(1)的条件概率。
表达式(5)中的分母相对于s为恒定值,因此不会影响到排名,更确切地说其是计算出的概率值的归一化因数。在一优选实施例中,这一恒定值被估计为最可能序列的子集与一常量之和,以克服不得不计算S中所有序列的条件概率的问题(参见下文中的表达式13-15)。由于一些自然语象的Zipfian(齐普夫分布)特性,使这一方法合理化,在该特性中少数概率事件带有多数概率质量。齐普夫分布是幂次定律分布的一个实例,其中,给定事件的频率与其排名大致成反比。
表达式(5)提供了将关于文本输入意向的不同证据源组合起来的原则方法,并在本发明的优选系统中,在给定有证据源e1,e2,…的情况下通过一组训练过的模型R,M1,M2,…生成一组序列SR,S1,S2,…和一组相关的条件概率值PR,P1,P2,…来实施表达式(5)。模型R用于计算优先目标序列概率P(s|R),同时各模型M1,M2,…计算各证据概率P(ei|s,Mi)。每个模型输出一组序列Si和一组相关的条件概率Pi。每个模型M1,M2,…包括一个或多个子模型。概率生成器PG将序列和相关的条件概率作为输入,并输出一组与概率值PF相关的最终序列SF。概率生成器PG可以如上述优选处理那样将预测组合起来,也就是说,将预测按照概率次序排名,并仅删除掉任意的重复预测。与最终概率值PF相关的该组序列SF能够以诸如列表的形式呈现在本系统的用户界面上,以供用户浏览和选择。用户可通过做出预测选择或以其他方式操作包含本系统的装置,与本系统进行交互,因此可以更新证据。当文本输入至本系统时,可更新各模型R,M1…MN
本发明提供了的通过边缘化呈现在图形框架中的证据候选释义计算概率框架中的证据概率的两种优选方法,尽管还可以使用其他方法。下面,将介绍这两种优选方法。
候选模型1
在形成来自于单个证据源的证据的概率估计P(ei|s,Mi)时,通常有帮助的是:以术语“候选”来表示模型,“候选”是介于‘用户预期(user-intended)’序列和观测到的证据之间的中间级。如果以候选来表示模型,则概率P(ei|s,Mi)可重新表示为:
其中,cj为单个候选,并且现在对于一给定证据源存在两个子模型M:候选模型Mcandidate和序列模型Msequence。此处的关键假设如下:
假设2:在给定候选的情况下,上述模型下的概率可表示为候选的边缘化,其中,证据有条件地独立于目标序列。
应用这一假设,可从证据词条中删除对于s的依赖性:
候选模型的属性还能够被编码成图形模型的形式,该图形模型描述了变量和模型之间的如下所示的关系:
候选模型2
候选模型的另一变体首先使用贝叶斯公式转换证据概率:
在一实施例中,证据条件序列概率可重新表示为:
其中,cj为单个候选,而且与上述相同,对于一给定证据源存在两个子模型M:候选模型Mcandidate和序列模型Msequence。在该情况中,关键假设如下:
假设3:在给定候选的情况下,上述模型下的概率可表示为候选的边缘化,其中,目标序列有条件地独立于证据。
应用这种假设,可从证据词条中删除对于s的依赖性:
这一版本的候选模型的图形模型如下:
而完整的证据概率为:
特殊模型
参照示出了预测引擎从两个不同源:语境(context)和输入(input)中提取证据的本系统优选实例的图2,我们利用一般的候选模型,提出了本系统的一个特殊实例。然而,如上所述,本系统不限于以语境和输入作为证据。如果使用了其他或额外的证据源,本系统将相应地根据此类证据源生成预测。
通俗地讲,“语境”表示关于用户已输入文本的观测到的证据,而“输入”则表示关于用户当前正在输入文本的观测到的显证据。举例来说,如果用户已输入英文序列“Myname is B”,则我们会认为语境证据为序列“My name is”,而输入证据为序列“B”。然而,仅就举例而言,需要注意的是在最普通的形式中,该模型不会对观察到的证据的特殊形式作出任何具体表示。例如,输入证据实际上可能是一系列来自于虚拟键盘的触摸坐标。
如图2所示,将证据(输入和语境)作为预测引擎的输入使用,在该预测引擎中优选存在着三个模型R、Mcontext、Minput,各个模型优选包括至少两个子模型(字符模型、一元(unigram)模型;候选模型、语言模型;候选模型、前缀匹配模型)。如图2所示,该预测引擎优选包括目标序列优先模型R。尽管这一特征是优选的,但本系统不限于包括目标序列优先模型R的实施例。
目标序列优先模型R包括:
●字符模型-在没有固定词汇概念的情况下,在语言中的序列上实施分布。一般被实施为字符序列上的马尔可夫模型(Markov model)。
字符模型是一种根据字符(而不是词条)建立的序列模型。例如,如果训练中的集合为“explaining”,一元字符模型可能是下列样子:
P(e)=0.1
P(x)=0.1
P(p)=0.1
P(l)=0.1
P(a)=0.1
P(i)=0.2
P(n)=0.2
P(g)=0.1。
三元字符模型可能是下列样子:
P(e)=0.1
P(x|e)=1.0
P(p|ex)=1.0
P(l|xp)=1.0
P(a|pl)=1.0
P(i|la)=1.0
P(n|ai)=1.0
P(i|in)=1.0
P(n|ni)=1.0
P(g|in)=1.0。
●一元模型-在不考虑语境的情况下,在语言中的序列上实施分布,将每个序列当做基本实体(atomic entity)进行内部处理。
举例来说,如果训练中的集合是“the dog chased the cat”,则对应的一元语言模型可能是:
P(the)->0.4
P(dog)->0.2
P(chased)->0.2
P(cat)->0.2。
语境证据模型Mcontext包括:
●候选模型-在给定特定候选释义的情况下,在语境观察值上实施条件分布。
●序列模型-在给定特定语境的情况下,在语言或语言集合中的序列上实施条件分布。在图2中,将序列模型图解为语言模型,该语言模型在一优选实施例中包括一组对应于不同语言的语言模型,例如,LMFrench,LMGerman,LMEnglish等。
输入证据模型Minput包括:
候选模型-在给定特定候选释义的情况下,在输入观察值上实施条件分布。
序列模型-在给定预期目标序列的情况下,在候选上实施条件分布。该模型在图2中被图解为“前缀匹配模型”。
包含目标序列优先模型R的各模型可以视情况以用户输入的文本进行更新。通过使用动态语言模型,本系统可以更加精确地预测指定用户的预期的文本序列。
各模型输出了一组序列SR、Scontext、Sinput以及相关的概率估计PR、Pcontext、Pinput,用作概率生成器PG的输入。概率生成器PG将上述模型输出的概率估计PR、Pcontext、Pinput组合在一起,生成针对最终序列预测SF的一组概率值PF
最终序列预测SF可通过用户界面显示给用户,以供用户浏览和选择,或可由本系统使用该最终序列预测SF以自动更正错误的输入文本。一旦自动地或由用户选择了预测,该输入就优选地被加入语境证据,用以生成下一个预测。相反,如果用户通过输入更多字符添加与当前词有关的下一输入,则该输入优选地被加入输入证据中以修改分配给预测的当前概率。
下面详细介绍本实施例中的特殊系统是如何由数学基础生成的。
带入两个证据源的实例化表达式(5)生成:
其中,Z=归一化常数,约等于:
如下所述,该近似值应用于本系统。让我们设想一个序列集合T的函数z,例如:
求出z如下:
Z=z(T)+z({u})*k (15)
其中u表示一“未知”序列,而k为|S|-|T|的估计,其中|S|为所有可能的目标序列集合中的序列数量,而|T|是这样的序列的数量:即,对于此类序列,至少一个底层证据模型具有“已知”估计。各单独证据条件模型M会返回估计P(e|u,M),即:在给定“未知”序列的情况下,证据观察值上的分布。这基本意味着各证据条件模型对其自身的分布平滑负责,但这必须与同“未知”序列的总估计数量成比例的k相关。实际上,各模型都会了解序列集合S’,其中并且对于所有估计P(e|s,M)将保持恒定并等于P(e|u,M)。该特性的平滑是本系统考虑与各证据源相关的模型中的信任级别的可变性所使用的一种手段。
根据表达式(12)和(14),为了确定上述特殊系统实例中的条件概率P(s∈S|e,M),计算下列估计:目标序列优先P(s|R);语境概率P(context|s,Mcontext);以及输入概率P(input|s,Minput)。下面将讨论这些估计以及如何计算这些估计。
目标序列优先
优选计算目标序列优先如下:
其中V是包含在Runigram中的序列集合,而模型的实施则根据构建基于平滑频率的一元语言模型和平滑的马尔可夫链字符模型的公知技术实现。用于实施这些模型的一些应用技术在下文中列出。但,其他适合的技术并未列出。
●平滑的n元(n-gram)词条或字符模型(本领域公知);
●如<英国专利申请号0917753.6的专利文献>中所记载的自适应多语言模型;
●如<文献:Scheffler 2008>中记载的PPM(prediction by partial matching,部分匹配预测)语言模型;
●在一定概率下由构成词法成分生成序列的形态分析引擎。
通过包含目标序列优先模型R,本系统改善了预期序列预测的精度。此外,目标序列优先模型R能够实现不可见(unseen)目标序列的基于字符的推理,也就是说,本系统可更好地推断未知目标序列以在所有可能的目标序列上进行近似。
语境概率
优选地借助第二候选模型估计语境概率P(context|s,Mcontext)以提出下列表达式(16)。尽管该方式为估计概率的优选手段,但本发明并不限于使用这种方式进行估计的概率。
因此,为了确定语境概率,计算如下各项:语境序列估计P(s|cj,Mcontext-sequence);语境候选估计P(cj|context,Mcontext-candidate);语境优先估计P(context|Mcontext);以及目标序列优先估计P(s|Mcontext)。下面将讨论这些估计以及如何计算这些估计。
语境序列估计
在给定特定候选序列cj的情况下,语境序列估计P(s|cj,Mcontext-sequence)是语境序列模型下的目标序列s的概率。语境序列模型形式上是一种在给定语境序列的情况下返回目标序列的概率的函数,即fs(ttarget,tcontext)=P(ttarget|tcontexts),其中,θs是模型的参数。因此,语境序列概率的计算为:P(s|ci,S)=fs(s,ci)。可使用多种不同技术来计算这个估计。例如,语境训练数据上的平滑的频率分析,与等式(21)相似并如结合目标序列优先估计所表述的。可选地,可单独或结合使用下列任意项:
●n元语言模型(本领域公知);
●如<英国专利申请号0917753.6的专利文献>中所记载的自适应多语言模型;
●如<文献:Scheffler 2008>中记载的PPM(prediction by partial matching,部分匹配预测)语言模型;
●生成HMM(generative Hidden Markov Model,隐马尔可夫模型)概率词性标注器<参考:008.LingPipe 4.1.0.http://alias-i.com/lingpipe(accessed September 26,2011)or Thede,S.M.,Harper,M.P.,1999>;
●用于返回部分句子的概率的自然语言解析器,如RASP<参考:Briscoe,E.,J.Carroll and R.Watson 2006>;
●被配置为接收表示语境序列和目标序列的特征作为输入并输出概率的神经网络(本领域公知技术)。
本系统不限于上述技术,任何可用于计算语境序列概率的技术都适用于本系统。
如上文所述,Mcontext-sequence可包括对应于多种不同语言的多个语言模型。为了确定表达式(16)的条件概率,可使用与词条相关的语言模型来确定该条件概率。作为一种解释,参考上述实例中的从英语模型(LMEnglish)和法语模型(LMFrench)中抽出的预测词条“pain”。在这种情况下,表达式(16)被确定为P(context|pain,LMEnglish)and P(context|pain,LMFrench),其中从法语模型(LMFrench)中抽出的“Pain”不同于从英语模型(LMEnglish)中抽出的“Pain”,尽管该预测在词法上相同。通过将词条与其出处模型相关联,本系统简化了词法相同的词条的处理方式,因为本系统仅保留了两条或两条以上词法相同的词条中的最可能词条。此外,本系统简化了表达式(16)的条件概率计算。这种简化是可行的,因为尽管词条的词法相同,但词条在不同语言中具有不同的词义,由此可区别对待这种词条。
这样转回至图2,由模型Mcontext生成的词条集合Scontext可包括Mcontext中的任意语言模型(或候选模型)的词条。
语境候选估计
语境候选估计P(cj|context,Mcontext-candidate)是一种函数,其形式为fcontext-candidate(t)=P(t|θcontext-candidate),其中t为任意序列,θcontext-candidate为模型参数。这样,语境候选条件估计的计算如下:P(cj|context,Mcontext-candidate)=fcontext-candidate(cj)。
在一优选系统中,语境候选为序列,而语境候选集合表示为有向非循环图(DAG,directed acyclic graph),有向非循环图中的各节点包括含有一个或多个字符的子序列。每个边被分配有概率,而在一优选实施例中,有向非循环图优选地还具有各路径被限定为同样长度的特殊属性。在本文中,此类DAG变体被称为概率性的受限序列图(PCSG,probabilistic constrained sequence graph)。各单独候选序列由穿过PCSG的唯一路径来表示,而语境候选模型函数对于给定候选的返回值被计算为语境候选模型的代表路径的概率。
形式上,PCSG包括含有一组节点N的四元组、根节点r、一组定向边E以及一组参数(概率)θ:
G=(N,r,E,θ) (17)
两个节点n、n’之间的边表示为(n→n'),沿该边从n移向n’的概率表示为P(n'|n)。穿过G的路径起始于节点r,并循一个从各访问过的节点向外伸出的边延伸,直到抵达不含有外出边(outgoing edge)的节点为止。G的属性如下:
1)G为有向非循环图(DAG);
2)即:除根节点以外的所有节点必须具有至少一个进入边(incoming edge);
3)即:从给定节点分出的所有路径立即重新加入后继的公共路径。这一属性严格地限制了该图的结构,并暗示了所有路径具有相同的长度,减少了路径概率计算的归一化需要。
语境候选模型函数计算给定路径的概率如下(等同于语境候选估计):
P(cj|context,Mcontext-candidate)=fcontext-candidate(cj)=P(pj|G) (18)
其中,P(pj|G)为路径概率,计算为路径中各边的乘积:
其中,K为路径中的边的数量。值得注意的是,这一优选公式相当于节点间的含蓄的独立性假设。这是因为在这种情况下,候选序列的序列概率未被模型化,而候选中的变化概率被模型化。因此,下列属性用于边上的概率:
也就是说,所有出自给定节点n的外出边上的概率之和一定为1。这也意味着下列表达式有效:∑iP(pi|G)=1,即:PCSG中所有路径的概率之和等于1。
某一实例将帮助阐明这些概念。考虑下列12个语境候选序列:
●“Sunday at 3pm” ●“sunday at 3pm” ●“Sun at 3pm”
●“Sunday at 3pm” ●“sunday at 3pm” ●“Sun at 3pm”
●“Sunday at 3p.m.” ●“sunday at 3p.m.” ●“Sun at 3p.m.”
●“Sunday at 3p.m.” ●“sunday at 3p.m.” ●“Sun at 3p.m.”
这些语境候选序列可由下列PCSG(明确的词边界由‘|’表示,而空序列由“φ”表示)表示为:
根据语境候选模型并采用表达式(19),将概率分配给边,例如:
然后,从PCSG中生成上述12个序列的候选概率如下(为了使表达简洁明了,只列出了三个例子):
P("sunday at 3pm"|"sunday at 3pm",C)=0.6*1.0*1.0*0.6*1.0*0.7=0.252
P("Sunday at 3pm"|"sunday at 3pm",C)=0.3*1.0*1.0*0.4*1.0*0.7=0.084
P("sun at 3p.m."|"sunday at 3pm",C)=0.1*1.0*1.0*0.4*1.0*0.3=0.012
用于构建DAG并向节点分配概率的模型细节将依赖于本系统的特殊实例进行变化。上述图式对三种一般变化的实例进行编码:
●词边界上的分支(可能单意义);
●大小写(case)变化上的分支;
●词法变化上的分支。
不难理解,任意种类的变化均可在这种框架中编码。另一实例将转向之前的方案,例如,如果本系统已预测出“on”和“in”,而用户选择了“in”,则可以将其编码成除了带有分配给“in”的概率权重之外还带有分配给“on”的小概率的分支,以表示用户意外接受错误建议的可能性。在上述情况下,编入以下原则:
●以小写字母‘s’开头的‘sunday’的可能性低于缩写形式的“Sun”,而缩写形式的“Sun”的可能性低于完整拼写变形‘Sunday’;
●将“pm”与数字“3”拆分的分词情况(tokenization case)的可能性要略微低于不分词的情况;
●句点变形“p.m.”的可能性稍微低于无句点形式“pm”。
以下列方式,从起始序列s开始优选在算法上构建语境候选PCSG的特殊实例:
1)通过将s封装在连接于根节点的节点ns中,将s转换成PCSG;
2)通过引入变化点上的分支节点,迭代拆析ns
举例来说,考虑对原始序列“sunday at 3pm”起作用的PCSG构造算法。首先,步骤1:
本系统部署概率分词器,结果如下:
值得注意的是,由于上述的PCSG的属性3,修改将总是表现为分支-并-重接(branch-and-rejoin)的结构插入形式,对于特殊情况,修改形式带有一节点的分支,这很便于后续处理,因为其不会影响到全部路径的概率。将在下文中更加详细地介绍根据模型加入边界概率。继续介绍该算法,大小写(case)变形分析器部署如下:
最后,词法变形分析器部署如下:
值得注意的是,因为PCSG的属性3,各分支在重新分岔之前必须集中于一点。这意味着,在某些情况下,如果连续出现两个分支点,则必须插入空节点。
边概率优选被分配给PCSG。关于语境候选模型的参数,可优选实施边概率分配。对于这些概率的直观解释有两点:
1)它们表示分配给特定分支的用户预期序列的概率估计。例如,如果用户已输入“Dear ben”,我们或许会认为可能他们实际上想要输入“Dear Ben”;
2)它们表示对于特定分支为观测到的序列的有效拼写变形的补偿(backoff)概率。例如,如果用户输入“See you on Thur”,则“Thur”的可选择的正确拼写形式可以为“Thurs”。
在给定某一背景模型信息的情况下,分配给特定边的概率还会受到正确拼写变体的估计概率的影响。例如,实际上可重新使用语境序列模型s来求得不同正确拼写变体的概率估计。这种概率估计可与其他概率测量结合使用,生成分支概率。以这种方式使用语境序列模型意味着语境候选模型C实际包含语境序列模型S的实例,由此明显违背候选模型和序列模型之间的独立性假设(上文中的属性7)。然而,这种假设绝不会出现在语境情况下,因此相对安全。
下列实例将有助于说明。在一优选实例中,假设语境候选模型使用下列算法分配概率:
1)观测到的序列得到概率0.8,其他序列均匀平分余数;
2)用语境序列模型估计来缩放数值;
3)归一化数值,使其满足上述PCSG属性(19)。
根据上述PCSG实例,下列分支为:
因为“sunday”是原始观测值,首先由上述算法的步骤1为其分配概率值0.8,而其他边则各分配有概率值0.1。本实例中由语境序列模型返回的估计如下:
P("sunday"|CS)=0.01
P("Sunday"|CS)=0.04
P("Sun"|CS)=0.02
其中,CS表示在这种情况下语境候选模型使用语境序列模型。因此,在本实例中,分配给各边的未归一化和归一化(经四舍五入)的概率(分别)如下:
语境优先估计
通过归一化与语境相关的初始序列t的频率,可近似得到语境优先估计P(context|Mcontext)
其中freq(t)是训练数据中序列t的频率,分母是训练数据中所有序列的频率之和。表达式(21)中的序列“t”为作为本系统输入的当前语境。语境优先根据如下概率来加权预测的概率值:即抽出该预测的对应模型包括给定语境序列的相应概率。为了实现这一过程,语境优先根据表达式(21)的估计来加权预测值。
在实际应用中,例如可通过在不可见序列上安置出现假设(occurrenceassumption)或者退回至所有序列均不可见的实例中的受限(低位)估计来平滑该估计。举例来说,如果语境为三元模型,则预测引擎可退回构成二元或一元估计。
语境优先提供了对偶函数:有助于归一化概率估计;并在语境模型无法提供有用信息时提供了简单的“模型检测”。如果语境序列估计无法提供信息(例如,当最后的词条对于N元模型而言是未知的),语境优先估计会对具有最可能语境的模型进行大程度加权,使该模型的预测提升至其他模型的预测之上。“最可能的语境”是在多个模型集合上的估计(21)的最大值,例如语言模型集合LMEnglish,LMFrench,LMGerman。举例来说,如果语境为“Thedog chased”,则同出现在法语中相比可预料这语境更有可能出现在英语中。因此,表达式(21)的条件概率对于LMEnglish而言将是最大的,而概率生成器由此会大程度加权来自LMEnglish的预测的概率值而非来自LMFrench的预测的概率值,因此,LMEnglish更受语境优先估计的“偏爱”。
因此,给定语境,语境优先估计大程度加权来自与多种语言相关的多个语言模型中的最合适的语言模型。这样,语境优先估计可以检测到某人正在输入的文本所属的语言。
目标序列优先估计
可按照与语境优先估计,表达式(21)同样的方式,使用经平滑的训练数据频率分析估计目标序列优先估计P(s|Mcontext),例如:可通过归一化语境训练数据中的所有序列上的目标序列频率,来近似得到目标序列优先:
其中freq(s)为训练数据中目标序列的频率,分母为训练数据中所有目标序列的全部频率之和。分母大致相当于训练数据中的词条(包括重复的词条)总数。
输入概率
利用第一候选模型估计输入概率P(input|s,Minput):
因此,为了确定输入概率,需要计算下列估计:输入候选估计P(input|cj,Minput-candidate)以及输入序列估计P(cj|s,Minput-sequence)。下面介绍这两种估计。
输入候选估计
输入候选估计P(input|cj,Minput-candidate)被定义为观测到的输入事件和序列上的函数:finput-candidate(i,t)=P(i|t,θinput-candidate),其中θinput-candidate是模型的参数。任意输入观测值i在输入序列预期结构(ISIS,input sequence intention structure)中编码。该输入序列预期结构是被映射到概率上的多个序列集合的有序列表:
{(t11→P(i1|t11),(t12→P(i1|t12),...},{(t21→P(i2|t21),(t22→P(i2|t22),...},...
值得注意的是,各估计具有形式P(ij|tjk),即:如果用户已打算输入序列tjk,我们应该观测到输入事件ij的概率是多少。考虑下列ISIS实例:
该ISIS实例为这样一种方案编码,在该方案中本系统估计用户是否打算输入例如其后跟着字符‘e’的字符‘H’,这样预计观测到的输入事件分别具有概率0.5和0.8。
生成这些概率分布的方法并不是本发明的主题。更确切地说,突出了一系列适用的技术,举例来说:
-可根据围绕特定键盘布局上给定目标关键字的字符生成概率分布,例如QWERTY键盘,如果用户敲击与“H”键对应的区域,则在ISIS中可能会包含带有一定概率的字符“G”和“J”。
-可根据触摸坐标(触摸屏虚拟键盘)和指定按键坐标之间的距离(或某种距离函数,例如平方等)生成概率分布。
在优选的系统中,输入候选为序列,而输入候选集合表示为扩展的PCSG(EPCSG)。EPCSG是一种PCSG,但带有一违背标准PCSG属性(在下文中定义)的附加结构。如同语境情况,由穿过EPCSG的唯一路径代表各候选序列,而给定候选的输入候选模型函数返回值被计算为其代表路径的归一化概率。
输入候选EPCSG生成过程以本系统通过与用户交互生成的序列概率对集合的有序列表开始,其中各子集代表用户输入序列预期上的概率分布。
由输入ISIS生成输入候选EPCSG的算法包括两步:
1)将ISIS转换成PCSG;
2)插入附加的广义结构(generalizing structure),从而生成EPCSG。
步骤1是直截了当的。以新PCSG的根节点开始,该算法为ISIS中的各分布构建分支。步骤1中的上述ISIS结果如下:
步骤2使用两个附加结构修整既有的PCSG。第一个结构为空节点子路径(其适合PCSG框架),第二个结构为‘通配符’结构(将PCSG转换成EPCSG)。步骤2的应用实例如下:
通配符的符号(表示为‘*’)实际上是包括/生成字符集合中各符号的分支的简单表达方式。通配符结构是一个受限的循环,因此违背了标准PCSG的非循环属性。EPCSG扩展允许仅在收敛点使用通配符循环,数值e、w是预先规定的概率常量。值得注意的是,在这种情况下,各分支点具有空节点附加(在该情况下为两个),而各收敛点具有通配符附加(在该情况下为一个)。这些广义结构顾及到用户会遗漏目标序列(带有通配符概率w)中的一个或多个字符或插入一个或多个错误字符(带有孔节点概率e)。不难理解,如何将这些额外的结构加入PCSG的细节可根据计算资源、序列模型长度等随着本系统的不同实例进行变化。
空节点子路径使本系统可以丢弃用户错误输入的字符,不然该错误字符会导致不正确的链经过PCGS。
凭借这些附加的广义结构(尤其是通配符分支),可使经过PCSG的路径的数量迅速增加。例如,假设大小为50的字符集,可有1020条不同路径经过上述简化的PCSG。对于实际的ISIS而言,存在数十条甚成百上千条不同的路径。该优选系统优选地以单独或组合的方式使用下列技术处理这种组合激增。
●使用特里结构(trie)(单词查找树,本领域公知技术)忽略掉预测词表里那些不是序列前缀的路径;
●使用概率阈值删除那些相对不大可能的路径。阈值被设置为当前最可能序列与可能性较低的序列的微分之比。给定阈值t以及当前调查的路径长度L,如果保持下列关系,则删除路径n1…nL
●输入序列模型T同样被用于概率阈值。给定不同或受限的阈值t,以及由长度为L的所有路径形成的序列集合:{c1,…,cK},如果保持下列关系,则删除表示特定序列cp的给定路径p:
还可以单独部署或与上述其中一项或全部技术组合部署其他适用于处理组合激增的技术。
输入序列估计
在给定目标序列的情况下,输入序列估计P(cj|s,Minput-sequence)是候选序列上的分布,且可被估计为归一化的指标函数:
其中,如果t’为t的前缀,则δ(t,t’)=1,否则δ(t,t’)=0,而z=∑kδ(s,ck),即所有候选之和。
值得注意的是,如果呈现出候选的唯一性,并允许候选集合包括所有可能的序列,则可重新计算归一化因数:Z=length(s)。举例来说,给定目标序列“the”,总会正好有三个匹配候选:“t”、“th”和“the”。
因此,本发明提供了一种常规的文本预测引擎和系统,以及该文本预测引擎或系统的特定实例,该文本预测引擎或系统能够生成一组分别带有相关概率值PF的序列预测SF
本发明还提供了一种用于处理用户文本输入的相应方法。返回至图1和上述系统,该方法包括接收输入至诸如电子设备等用户界面的文本输入;使用文本预测引擎生成序列预测SF和相关的概率值PF;并将该序列预测提供至所述用户界面。
正如对于本系统的介绍,一般方法包括:通过包含一个或多个模型的文本预测引擎生成序列预测及相关概率值。在一优选实施例中,该方法包括:由目标优先模型R和至少一个使用至少一个证据源e1,e2,…等等生成预测的模型M1,M2,…等等,来生成序列预测。如上所述,关于该系统,以及尤其是表达式(12)至(15),该方法包括:通过估计由n个最可能序列预测的概率值与表示剩余可能的序列预测的常量之和求出的概率值归一化因数生成归一化概率值。
参照图2,在上述优选实施例中,最终的预测集合SF以及相关的概率值PF由概率生成器PG根据分别从目标优先模型R、语境模型Mcontext和输入模型Minput抽出的预测集合SR、Scontext、Sinput生成。在这一实施例中,用户输入序列的语境用作从语境模型Mcontext中抽出预测的证据,而与用户正在尝试输入的当前词相关的用户输入序列用作从输入模型Minput中抽出预测的证据。
该方法的其他方面与上述系统类似,例如,在该方法的某一实施例中,如果序列预测的对应概率值分别大于或等于第一阈值,则仅将这些序列预测提供给用户界面。
如以上结合在PCSG中实施广义结构以确定语境候选估计的系统所述的,在该方法的一优选实施例中,该组序列预测中的至少一个对应于由用户输入至用户界面的文本输入的调整或修正版本。
根据上述系统的描述进行类推,可很容易地确定本发明方法的其他方面。
如下是在本申请中声明的上述实施例的非详尽无遗的权利要求书:
1.一种系统,包括:
文本预测引擎,其包括:
至少一个用于从证据源中生成一组带有相关概率估计的序列的模型;
用于生成一组带有相关概率估计的序列的模型;以及
概率生成器,其用于接收带有相关概率估计的各组序列并生成带有相关概率值的序列预测。
2.实施例1的系统包括多个模型,用于由多个证据源生成多个带有相关概率估计的序列集合。
3.在实施例1或2的系统中,概率生成器用于根据任意数量个独立证据源生成一组序列预测。
4.在实施例3的系统中,其中一个证据源包括用户输入文本。该用户输入文本可通过用户选择、字符输入、语音识别等方式输入。
5.一种系统,包括:
用户界面,用于接收用户输入文本;
根据第一方面的文本预测引擎或任意其他合适的文本预测引擎,用于接收来自于用户界面的文本输入并生成带有相关概率值的序列预测。
6.在实施例5的系统中,该文本预测引擎包括:
语境模型,用于接收由用户输入的文本并生成一组序列和相关的概率估计;
输入模型,用于接收由用户输入的文本并生成一组序列和相关的概率估计;
一模型,用于生成一组序列和相关的概率估计;以及
概率生成器,用于从上述多个模型中接收各组序列和相关的概率估计并生成一组序列预测和相关的概率值。
7.在实施例6的系统中,所述用户界面用于显示上述序列预测以供用户选择。
8.在实施例7的系统中,该系统根据所述概率值为所述序列预测排序并将所述序列预测作为有序集合显示出来。
9.在实施例6至8中任意一个实施例的系统中,其中,该系统优选使用所述序列预测自动修正已输入至用户界面的错误输入文本。
10.在实施例6至8中任意一个实施例的系统中,所述文本预测引擎用于生成基于任意个独立证据源的序列预测。
11.一种处理用户文本输入的方法,包括:
接收输入至用户界面的文本;
利用预测引擎生成序列预测和相关的概率值;
将该序列预测提供给所述用户界面。
12.在实施例11的方法中,包括:将所述序列预测显示在所述用户界面以供用户选择。
13.在实施例12的方法中,包括:根据所述序列预测的相关概率值,为所述序列预测排序。
14.在实施例13的方法中,包括:显示排好序的序列预测以供用户选择。
15.在实施例11至14中任意一个实施例的方法中,包括利用所述序列预测自动修正已输入至用户界面的错误输入文本的步骤。
16.在前述任意一个实施例中使用的文本预测引擎中,包括:语境模型、输入模型、目标优先模型和概率生成器。
17.在实施例16的文本预测引擎中,所述语境模型和所述输入模型用户接收由用户输入的文本并生成一组序列和相关的概率估计。
18.在实施例16或17的文本预测引擎中,所述目标优先模型用于生成一组序列和相关的概率估计。
19.在实施例16至18中的一个实施例的文本预测引擎中,所述概率生成器用于从所述模型中接收各组序列和相关的概率估计,并生成各对应有概率值的一组序列预测。
以上所述仅为本发明的较佳实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

Claims (48)

1.一种用于生成文本预测的系统,包括:
多个模型,其用于从多个证据源中分别生成多个带有相关概率估计的第一组序列;
概率生成器,其用于接收带有相关概率估计的所述第一组序列并生成一组带有相关概率值的序列预测;
其中,在给定由所述概率生成器接收到的所有可能的序列的情况下,在由所述概率生成器生成的所有可能的序列预测上归一化所述概率值,
其中,所述系统根据相应的模型包括给定的语境序列的概率对所述序列预测的概率值进行加权,
其中,所述概率生成器根据从所述多个证据源中分别生成的所述多个第一组序列和所述相关概率估计,通过组合所述多个相关概率估计生成所述一组带有相关概率值的序列预测。
2.根据权利要求1所述的用于生成文本预测的系统,其特征在于,所述多个模型包括优先模型,其用于生成带有相关概率估计的第二组序列。
3.根据权利要求1或2所述的用于生成文本预测的系统,其特征在于,所述模型根据所述证据源以及所述证据源中的不确定性生成第一组序列。
4.根据权利要求2所述的用于生成文本预测的系统,其特征在于,所述概率生成器接收带有相关概率估计的所述第一、第二组序列。
5.根据权利要求3所述的用于生成文本预测的系统,其特征在于,所述概率生成器接收带有相关概率估计的所述第一、第二组序列。
6.根据权利要求1、2、4或5所述的用于生成文本预测的系统,其特征在于,所述概率生成器通过将n个最可能的序列预测同剩余的可能序列预测的概率值代表常量相加,估计所述概率值的归一化因数。
7.根据权利要求3所述的用于生成文本预测的系统,其特征在于,所述概率生成器通过将n个最可能的序列预测同剩余的可能序列预测的概率值代表常量相加,估计所述概率值的归一化因数。
8.根据权利要求6所述的用于生成文本预测的系统,其特征在于,所述常量表示由所述多个模型和优先模型生成的所述剩余的可能序列预测的概率值。
9.根据权利要求1所述的用于生成文本预测的系统,其特征在于,所述多个证据源中的一个包括用户输入文本。
10.根据权利要求9所述的用于生成文本预测的系统,其特征在于,所述用于生成文本预测的系统是某一系统的一部分,而所述用户输入文本能够通过用户选择、字符输入或语音识别中的一个或多个被输入至所述某一系统中。
11.根据权利要求1所述的用于生成文本预测的系统,其特征在于,所述多个模型包括与多种不同语言相对应的多个语言模型;而所述用于生成文本预测的系统为与涉及到用户输入文本的最可能语言的语言模型相对应的序列预测的概率值赋予最大的权重。
12.根据权利要求10所述的用于生成文本预测的系统,其特征在于,各证据源由用于生成带有相关概率估计的第一组序列的对应模型塑造。
13.根据权利要求1所述的用于生成文本预测的系统,其特征在于,各证据源由用于生成带有相关概率估计的第一组序列的对应模型塑造。
14.根据权利要求12所述的用于生成文本预测的系统,其特征在于,在给定所述一组序列预测的情况下,所述概率生成器将每个证据源视为有条件地独立于其他所有证据源来处理。
15.根据权利要求13所述的用于生成文本预测的系统,其特征在于,在给定所述一组序列预测的情况下,所述概率生成器将每个证据源视为有条件地独立于其他所有证据源来处理。
16.根据权利要求2或4所述的用于生成文本预测的系统,其特征在于,所述多个模型包括语境模型和输入模型,所述语境模型和所述输入模型用于接收用户输入的文本并生成一组序列和相关的概率估计;而且
所述优先模型包括用于生成一组序列和相关概率估计的目标优先模型。
17.根据权利要求8所述的用于生成文本预测的系统,其特征在于,所述多个模型包括语境模型和输入模型,所述语境模型和所述输入模型用于接收用户输入的文本并生成一组序列和相关的概率估计;而且
所述优先模型包括用于生成一组序列和相关概率估计的目标优先模型。
18.根据权利要求16所述的用于生成文本预测的系统,其特征在于,所述输入模型包括候选模型和语言模型。
19.根据权利要求17所述的用于生成文本预测的系统,其特征在于,所述输入模型包括候选模型和语言模型。
20.根据权利要求16所述的用于生成文本预测的系统,其特征在于,所述语境模型包括候选模型和前缀匹配模型。
21.根据权利要求17至19中任意一项所述的用于生成文本预测的系统,其特征在于,所述语境模型包括候选模型和前缀匹配模型。
22.根据权利要求16所述的用于生成文本预测的系统,其特征在于,所述目标优先模型包括字符模型和一元模型。
23.根据权利要求17至20中任意一项所述的用于生成文本预测的系统,其特征在于,所述目标优先模型包括字符模型和一元模型。
24.根据权利要求21所述的用于生成文本预测的系统,其特征在于,所述目标优先模型包括字符模型和一元模型。
25.一种用于处理用户输入文本的系统,包括:
用户界面,其用于接收由用户输入的文本;
文本预测系统,其用于接收从所述用户界面输入的所述文本并生成一组带有相关概率值的序列预测,其中,在所有可能的序列预测上归一化所述概率值,所述文本预测系统为如权利要求1至24中任意一项所述的用于生成文本预测的系统;
其中,所述文本预测系统还用于向所述用户界面提供所述一组序列预测。
26.根据权利要求25所述的系统,其特征在于,仅当所述序列预测具有一大于或等于第一概率阈值的概率值时,所述文本预测系统向所述用户界面提供序列预测。
27.根据权利要求25所述的系统,其特征在于,如果序列预测具有等于或大于第二概率阈值的对应概率值,则所述文本预测系统自动向所述用于处理用户输入文本的系统输入该序列预测。
28.根据权利要求26所述的系统,其特征在于,如果序列预测具有等于或大于第二概率阈值的对应概率值,则所述文本预测系统自动向所述用于处理用户输入文本的系统输入该序列预测。
29.根据权利要求25或28所述的系统,其特征在于,所述用于处理用户输入文本的系统将所述序列预测显示在所述用户界面上以供用户选择。
30.根据权利要求26所述的系统,其特征在于,所述用于处理用户输入文本的系统将所述序列预测显示在所述用户界面上以供用户选择。
31.根据权利要求27所述的系统,其特征在于,所述用于处理用户输入文本的系统将所述序列预测显示在所述用户界面上以供用户选择。
32.根据权利要求29所述的系统,其特征在于,还包括概率生成器,所述概率生成器根据所述序列预测的相关概率值对所述一组序列预测进行排序,而所述用户界面将所述一组序列预测作为有序集合进行显示。
33.根据权利要求30或31所述的系统,其特征在于,还包括概率生成器,所述概率生成器根据所述序列预测的相关概率值对所述一组序列预测进行排序,而所述用户界面将所述一组序列预测作为有序集合进行显示。
34.一种处理用户输入文本的方法,包括:
接收输入至用户界面的文本;
使用文本预测系统生成一组序列预测和相关的概率值,其中,在所有可能的序列预测上归一化所述概率值,所述文本预测系统为如权利要求1至24中任意一项所述的用于生成文本预测的系统;
将所述一组序列预测提供给所述用户界面。
35.根据权利要求34所述的方法,其特征在于,生成归一化概率值包括:通过将n个最可能的序列预测的概率值同剩余的可能序列预测的概率值代表常量相加,来估计所述概率值的归一化因数。
36.根据权利要求34或35所述的方法,其特征在于,还包括:将所述一组序列预测显示在所述用户界面上以供用户选择。
37.根据权利要求36所述的方法,其特征在于,通过所述文本预测系统对所述序列预测进行排序,以供所述用户界面进行有序显示。
38.根据权利要求36所述的方法,其特征在于,仅当所述序列预测的对应概率值大于或等于第一阈值时,将所述序列预测提供给所述用户界面。
39.根据权利要求37所述的方法,其特征在于,仅当所述序列预测的对应概率值大于或等于第一阈值时,将所述序列预测提供给所述用户界面。
40.根据权利要求36所述的方法,其特征在于,所述一组序列预测中的至少一个对应于由用户输入至所述用户界面的文本的调整或修正版本。
41.根据权利要求37至39中任意一项所述的方法,其特征在于,所述一组序列预测中的至少一个对应于由用户输入至所述用户界面的文本的调整或修正版本。
42.根据权利要求36所述的方法,其特征在于,还包括:自动输入具有大于第二阈值或在第二阈值之上的概率值的序列预测。
43.根据权利要求37或40所述的方法,其特征在于,还包括:自动输入具有大于第二阈值或在第二阈值之上的概率值的序列预测。
44.根据权利要求41所述的方法,其特征在于,还包括:自动输入具有大于第二阈值或在第二阈值之上的概率值的序列预测。
45.根据权利要求34至35、37至40、42及44中任意一项所述的方法,其特征在于,使用概率生成器的多个模型生成一组序列预测和相关概率值;根据相应模型包括给定的语境序列的概率,加权所述概率值。
46.根据权利要求36所述的方法,其特征在于,使用概率生成器的多个模型生成一组序列预测和相关概率值;根据相应模型包括给定的语境序列的概率,加权所述概率值。
47.根据权利要求41所述的方法,其特征在于,使用概率生成器的多个模型生成一组序列预测和相关概率值;根据相应模型包括给定的语境序列的概率,加权所述概率值。
48.根据权利要求43所述的方法,其特征在于,使用概率生成器的多个模型生成一组序列预测和相关概率值;根据相应模型包括给定的语境序列的概率,加权所述概率值。
CN201180053255.9A 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法 Active CN103201707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710761127.9A CN107506047B (zh) 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1016385.5A GB201016385D0 (en) 2010-09-29 2010-09-29 System and method for inputting text into electronic devices
GB1016385.5 2010-09-29
PCT/GB2011/001419 WO2012042217A1 (en) 2010-09-29 2011-09-29 System and method for inputting text into electronic devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710761127.9A Division CN107506047B (zh) 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法

Publications (2)

Publication Number Publication Date
CN103201707A CN103201707A (zh) 2013-07-10
CN103201707B true CN103201707B (zh) 2017-09-29

Family

ID=43128163

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710761127.9A Active CN107506047B (zh) 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法
CN201180053255.9A Active CN103201707B (zh) 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710761127.9A Active CN107506047B (zh) 2010-09-29 2011-09-29 用于向电子设备输入文本的文本预测引擎、系统及方法

Country Status (5)

Country Link
US (2) US9384185B2 (zh)
EP (1) EP2622437B1 (zh)
CN (2) CN107506047B (zh)
GB (1) GB201016385D0 (zh)
WO (1) WO2012042217A1 (zh)

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
GB201003628D0 (en) * 2010-03-04 2010-04-21 Touchtype Ltd System and method for inputting text into electronic devices
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
US10037319B2 (en) 2010-09-29 2018-07-31 Touchtype Limited User input prediction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US20150199332A1 (en) * 2012-07-20 2015-07-16 Mu Li Browsing history language model for input method editor
GB201216640D0 (en) * 2012-09-18 2012-10-31 Touchtype Ltd Formatting module, system and method for formatting an electronic character sequence
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US10474355B2 (en) 2013-01-21 2019-11-12 Keypoint Technologies India Pvt. Ltd. Input pattern detection over virtual keyboard for candidate word identification
IN2013CH00469A (zh) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US20140278349A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Language Model Dictionaries for Text Predictions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
DE112014002747T5 (de) 2013-06-09 2016-03-03 Apple Inc. Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
JP6548358B2 (ja) * 2014-04-04 2019-07-24 タッチタイプ リミテッド マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
AU2015266863B2 (en) 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US9760559B2 (en) * 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10786182B2 (en) 2015-09-09 2020-09-29 The Joan and Irwin Jacobs Technion-Cornell Institute System and method for passive remote monitoring of patients' fine motor behavior
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
KR102462365B1 (ko) 2016-02-29 2022-11-04 삼성전자주식회사 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
CN107688398B (zh) * 2016-08-03 2019-09-17 中国科学院计算技术研究所 确定候选输入的方法和装置及输入提示方法和装置
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10311046B2 (en) * 2016-09-12 2019-06-04 Conduent Business Services, Llc System and method for pruning a set of symbol-based sequences by relaxing an independence assumption of the sequences
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11550751B2 (en) * 2016-11-18 2023-01-10 Microsoft Technology Licensing, Llc Sequence expander for data entry/information retrieval
GB201619724D0 (en) * 2016-11-22 2017-01-04 Microsoft Technology Licensing Llc Trained data input system
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
CN109521888B (zh) * 2017-09-19 2022-11-01 北京搜狗科技发展有限公司 一种输入方法、装置和介质
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
CN108073679B (zh) * 2017-11-10 2021-09-28 中国科学院信息工程研究所 一种串匹配场景下随机模式串集合生成方法、设备和可读存储介质
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
CN110929518B (zh) * 2019-12-09 2023-08-04 朱利 一种使用重叠拆分规则的文本序列标注算法
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11545145B2 (en) 2020-05-29 2023-01-03 Samsung Electronics Co., Ltd. Machine action based on language-independent graph rewriting of an utterance
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11181988B1 (en) 2020-08-31 2021-11-23 Apple Inc. Incorporating user feedback into text prediction models via joint reward planning

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1387651A (zh) * 1999-11-05 2002-12-25 微软公司 词典、分段和语言模型联合优化的系统和迭代方法
US6865528B1 (en) * 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
EP1724692A2 (en) * 2005-05-18 2006-11-22 Ramin O. Assadollahi Device incorporating improved text input mechanism using the context of the input
CN1871597A (zh) * 2003-08-21 2006-11-29 伊迪利亚公司 利用一套消歧技术处理文本的系统和方法
CN1954315A (zh) * 2004-03-16 2007-04-25 Google公司 用于将汉语拼音翻译成汉字的系统和方法
CN101286094A (zh) * 2007-04-10 2008-10-15 谷歌股份有限公司 多模式输入法编辑器

Family Cites Families (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027406A (en) * 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
CA2006163A1 (en) * 1988-12-21 1990-06-21 Alfred B. Freeman Keyboard express typing system
US5477451A (en) 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
US5664059A (en) * 1993-04-29 1997-09-02 Panasonic Technologies, Inc. Self-learning speaker adaptation based on spectral variation source decomposition
US5612690A (en) 1993-06-03 1997-03-18 Levy; David Compact keypad system and method
US5671426A (en) 1993-06-22 1997-09-23 Kurzweil Applied Intelligence, Inc. Method for organizing incremental search dictionary
US6304841B1 (en) * 1993-10-28 2001-10-16 International Business Machines Corporation Automatic construction of conditional exponential models from elementary features
US5510981A (en) * 1993-10-28 1996-04-23 International Business Machines Corporation Language translation apparatus and method using context-based translation models
US5748512A (en) * 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US5680511A (en) 1995-06-07 1997-10-21 Dragon Systems, Inc. Systems and methods for word recognition
US6011554A (en) 1995-07-26 2000-01-04 Tegic Communications, Inc. Reduced keyboard disambiguating system
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6009444A (en) 1997-02-24 1999-12-28 Motorola, Inc. Text input device and method
US6054941A (en) 1997-05-27 2000-04-25 Motorola, Inc. Apparatus and method for inputting ideographic characters
DE69837979T2 (de) 1997-06-27 2008-03-06 International Business Machines Corp. System zum Extrahieren einer mehrsprachigen Terminologie
CN100524294C (zh) * 1997-07-22 2009-08-05 微软公司 使用自然语言处理技术用于处理文本输入的系统
US6052657A (en) 1997-09-09 2000-04-18 Dragon Systems, Inc. Text segmentation and identification of topic using language models
WO1999015952A2 (en) 1997-09-25 1999-04-01 Tegic Communications, Inc. Reduced keyboard disambiguating system
US6125342A (en) 1997-11-18 2000-09-26 L & H Applications Usa, Inc. Pronoun semantic analysis system and method
US6219632B1 (en) 1997-11-20 2001-04-17 International Business Machines Corporation System for the facilitation of supporting multiple concurrent languages through the use of semantic knowledge representation
JP3272288B2 (ja) 1997-12-24 2002-04-08 日本アイ・ビー・エム株式会社 機械翻訳装置および機械翻訳方法
US6052443A (en) * 1998-05-14 2000-04-18 Motorola Alphanumeric message composing method using telephone keypad
US6253169B1 (en) 1998-05-28 2001-06-26 International Business Machines Corporation Method for improvement accuracy of decision tree based text categorization
US6104989A (en) 1998-07-29 2000-08-15 International Business Machines Corporation Real time detection of topical changes and topic identification via likelihood based methods
US6393399B1 (en) 1998-09-30 2002-05-21 Scansoft, Inc. Compound word recognition
US6321192B1 (en) 1998-10-22 2001-11-20 International Business Machines Corporation Adaptive learning method and system that matches keywords using a parsed keyword data structure having a hash index based on an unicode value
DE19849855C1 (de) 1998-10-29 2000-04-27 Ibm Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US6885317B1 (en) * 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US6460015B1 (en) 1998-12-15 2002-10-01 International Business Machines Corporation Method, system and computer program product for automatic character transliteration in a text string object
US6362752B1 (en) 1998-12-23 2002-03-26 Motorola, Inc. Keypad with strokes assigned to key for ideographic text input
PT1171813E (pt) * 1999-03-18 2003-10-31 British Columbia Ltd 602531 Insercao de dados para dispositivos de computacao pessoal
US6204848B1 (en) 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US6275792B1 (en) 1999-05-05 2001-08-14 International Business Machines Corp. Method and system for generating a minimal set of test phrases for testing a natural commands grammar
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7610194B2 (en) 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6327561B1 (en) 1999-07-07 2001-12-04 International Business Machines Corp. Customized tokenization of domain specific text via rules corresponding to a speech recognition vocabulary
US6865258B1 (en) * 1999-08-13 2005-03-08 Intervoice Limited Partnership Method and system for enhanced transcription
US6993476B1 (en) 1999-08-26 2006-01-31 International Business Machines Corporation System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US6484136B1 (en) 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users
US6848080B1 (en) * 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US7177795B1 (en) * 1999-11-10 2007-02-13 International Business Machines Corporation Methods and apparatus for semantic unit based automatic indexing and searching in data archive systems
US6490549B1 (en) 2000-03-30 2002-12-03 Scansoft, Inc. Automatic orthographic transformation of a text stream
US6519557B1 (en) 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US6724936B1 (en) 2000-08-23 2004-04-20 Art-Advanced Recognition Technologies, Ltd. Handwriting input device and method using a single character set
US7092870B1 (en) 2000-09-15 2006-08-15 International Business Machines Corporation System and method for managing a textual archive using semantic units
US7277732B2 (en) * 2000-10-13 2007-10-02 Microsoft Corporation Language input system for mobile devices
CA2323856A1 (en) * 2000-10-18 2002-04-18 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
US6963831B1 (en) 2000-10-25 2005-11-08 International Business Machines Corporation Including statistical NLU models within a statistical parser
GB0103053D0 (en) * 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
US7395205B2 (en) * 2001-02-13 2008-07-01 International Business Machines Corporation Dynamic language model mixtures with history-based buckets
US7426505B2 (en) 2001-03-07 2008-09-16 International Business Machines Corporation Method for identifying word patterns in text
US6813616B2 (en) 2001-03-07 2004-11-02 International Business Machines Corporation System and method for building a semantic network capable of identifying word patterns in text
US7385591B2 (en) * 2001-03-31 2008-06-10 Microsoft Corporation Out-of-vocabulary word determination and user interface for text input via reduced keypad keys
US6625600B2 (en) 2001-04-12 2003-09-23 Telelogue, Inc. Method and apparatus for automatically processing a user's communication
US7269546B2 (en) 2001-05-09 2007-09-11 International Business Machines Corporation System and method of finding documents related to other documents and of finding related words in response to a query to refine a search
US6925433B2 (en) 2001-05-09 2005-08-02 International Business Machines Corporation System and method for context-dependent probabilistic modeling of words and documents
US6671670B2 (en) 2001-06-27 2003-12-30 Telelogue, Inc. System and method for pre-processing information used by an automated attendant
US20030007018A1 (en) * 2001-07-09 2003-01-09 Giovanni Seni Handwriting user interface for personal digital assistants and the like
US7610189B2 (en) 2001-10-18 2009-10-27 Nuance Communications, Inc. Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
GB0200352D0 (en) 2002-01-09 2002-02-20 Ibm Finite state dictionary and method of production thereof
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US7949513B2 (en) * 2002-01-22 2011-05-24 Zi Corporation Of Canada, Inc. Language module and method for use with text processing devices
US7175438B2 (en) 2002-03-01 2007-02-13 Digit Wireless Fast typing system and method
JP3901710B2 (ja) 2002-05-23 2007-04-04 デジット ワイヤレス,エルエルシー キーパッドおよびキースイッチ
US7493253B1 (en) 2002-07-12 2009-02-17 Language And Computing, Inc. Conceptual world representation natural language understanding system and method
US7151530B2 (en) * 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
JP2006508448A (ja) 2002-11-28 2006-03-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ワードクラス情報を割り当てる方法
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7129932B1 (en) * 2003-03-26 2006-10-31 At&T Corp. Keyboard for interacting on small devices
US7475010B2 (en) 2003-09-03 2009-01-06 Lingospot, Inc. Adaptive and scalable method for resolving natural language ambiguities
US7366666B2 (en) 2003-10-01 2008-04-29 International Business Machines Corporation Relative delta computations for determining the meaning of language inputs
EP1687739A2 (en) 2003-11-21 2006-08-09 Philips Intellectual Property & Standards GmbH Text segmentation and label assignment with user interaction by means of topic specific language models and topic-specific label statistics
US8136050B2 (en) 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US7362305B2 (en) * 2004-02-10 2008-04-22 Senseboard Technologies Ab Data input device
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US7555732B2 (en) * 2004-03-12 2009-06-30 Steven Van der Hoeven Apparatus method and system for a data entry interface
US7187365B2 (en) 2004-03-31 2007-03-06 Motorola, Inc. Indic intermediate code and electronic device therefor
US7758264B2 (en) * 2004-08-13 2010-07-20 5 Examples, Inc. One-row keyboard
US20130304453A9 (en) * 2004-08-20 2013-11-14 Juergen Fritsch Automated Extraction of Semantic Content and Generation of a Structured Document from Speech
US7373248B2 (en) * 2004-09-10 2008-05-13 Atx Group, Inc. Systems and methods for off-board voice-automated vehicle navigation
US20060055669A1 (en) * 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
US7610191B2 (en) 2004-10-06 2009-10-27 Nuance Communications, Inc. Method for fast semi-automatic semantic annotation
US20060117307A1 (en) * 2004-11-24 2006-06-01 Ramot At Tel-Aviv University Ltd. XML parser
US7630980B2 (en) 2005-01-21 2009-12-08 Prashant Parikh Automatic dynamic contextual data entry completion system
US7734471B2 (en) * 2005-03-08 2010-06-08 Microsoft Corporation Online learning for dialog systems
US7487461B2 (en) 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US8374846B2 (en) * 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
EP1727024A1 (en) * 2005-05-27 2006-11-29 Sony Ericsson Mobile Communications AB Automatic language selection for text input in messaging context
US7496513B2 (en) * 2005-06-28 2009-02-24 Microsoft Corporation Combined input processing for a computing device
WO2007022079A2 (en) * 2005-08-11 2007-02-22 Lane David M System and method for the anticipation and execution of icon selection in graphical user interfaces
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
US20070115343A1 (en) * 2005-11-22 2007-05-24 Sony Ericsson Mobile Communications Ab Electronic equipment and methods of generating text in electronic equipment
US8010343B2 (en) 2005-12-15 2011-08-30 Nuance Communications, Inc. Disambiguation systems and methods for use in generating grammars
US7574672B2 (en) * 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
CN101034390A (zh) * 2006-03-10 2007-09-12 日电(中国)有限公司 用于语言模型切换和自适应的装置和方法
WO2007148128A2 (en) 2006-06-19 2007-12-27 Santosh Sharan A data entry system and method of entering data
US7586423B2 (en) * 2006-06-30 2009-09-08 Research In Motion Limited Handheld electronic device and method for dual-mode disambiguation of text input
US7724957B2 (en) * 2006-07-31 2010-05-25 Microsoft Corporation Two tiered text recognition
US7856350B2 (en) * 2006-08-11 2010-12-21 Microsoft Corporation Reranking QA answers using language modeling
US7774197B1 (en) * 2006-09-27 2010-08-10 Raytheon Bbn Technologies Corp. Modular approach to building large language models
US7698326B2 (en) * 2006-11-27 2010-04-13 Sony Ericsson Mobile Communications Ab Word prediction
WO2008080190A1 (en) * 2007-01-04 2008-07-10 Thinking Solutions Pty Ltd Linguistic analysis
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US8768689B2 (en) 2007-02-14 2014-07-01 Nuance Communications, Inc. Method and system for translation management of source language text phrases
US7809575B2 (en) 2007-02-27 2010-10-05 Nuance Communications, Inc. Enabling global grammars for a particular multimodal application
US8065624B2 (en) * 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
US7953692B2 (en) * 2007-12-07 2011-05-31 Microsoft Corporation Predicting candidates using information sources
US8010465B2 (en) * 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8484582B2 (en) 2008-05-12 2013-07-09 Nuance Communications, Inc. Entry selection from long entry lists
ATE501478T1 (de) * 2008-06-11 2011-03-15 Exb Asset Man Gmbh Vorrichtung und verfahren mit verbessertem texteingabemechanismus
WO2010003155A1 (en) 2008-07-03 2010-01-07 Nuance Communications, Inc. Methods and systems for processing japanese text on a mobile device
CN101620469B (zh) * 2008-07-04 2013-03-27 索尼(中国)有限公司 字元输入装置及其方法
US8117144B2 (en) 2008-12-12 2012-02-14 Nuance Communications, Inc. Generating predilection cohorts
US8669941B2 (en) 2009-01-05 2014-03-11 Nuance Communications, Inc. Method and apparatus for text entry
GB0917753D0 (en) * 2009-10-09 2009-11-25 Touchtype Ltd System and method for inputting text into electronic devices
US20100315266A1 (en) * 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
US9110515B2 (en) 2009-08-19 2015-08-18 Nuance Communications, Inc. Method and apparatus for text input
US20110106792A1 (en) * 2009-11-05 2011-05-05 I2 Limited System and method for word matching and indexing
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9092425B2 (en) * 2010-12-08 2015-07-28 At&T Intellectual Property I, L.P. System and method for feature-rich continuous space language models
US20120167009A1 (en) 2010-12-22 2012-06-28 Apple Inc. Combining timing and geometry information for typing correction
US9223497B2 (en) * 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1387651A (zh) * 1999-11-05 2002-12-25 微软公司 词典、分段和语言模型联合优化的系统和迭代方法
US6865528B1 (en) * 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
CN1871597A (zh) * 2003-08-21 2006-11-29 伊迪利亚公司 利用一套消歧技术处理文本的系统和方法
CN1954315A (zh) * 2004-03-16 2007-04-25 Google公司 用于将汉语拼音翻译成汉字的系统和方法
EP1724692A2 (en) * 2005-05-18 2006-11-22 Ramin O. Assadollahi Device incorporating improved text input mechanism using the context of the input
CN101286094A (zh) * 2007-04-10 2008-10-15 谷歌股份有限公司 多模式输入法编辑器

Also Published As

Publication number Publication date
US20160283464A1 (en) 2016-09-29
US20130253912A1 (en) 2013-09-26
US10146765B2 (en) 2018-12-04
CN103201707A (zh) 2013-07-10
WO2012042217A1 (en) 2012-04-05
CN107506047A (zh) 2017-12-22
CN107506047B (zh) 2021-03-26
GB201016385D0 (en) 2010-11-10
EP2622437A1 (en) 2013-08-07
EP2622437B1 (en) 2019-09-25
US9384185B2 (en) 2016-07-05
WO2012042217A9 (en) 2012-10-26

Similar Documents

Publication Publication Date Title
CN103201707B (zh) 用于向电子设备输入文本的文本预测引擎、系统及方法
US11244111B2 (en) Adaptive attention model for image captioning
Wallach Structured topic models for language
CN107836000B (zh) 用于语言建模和预测的改进的人工神经网络方法、电子设备
US10037319B2 (en) User input prediction
JP6492238B2 (ja) ユーザ入力予測
CN111063410B (zh) 一种医学影像文本报告的生成方法及装置
KR102109219B1 (ko) 사용자 데이터 입력 예측
CN111539197B (zh) 文本匹配方法和装置以及计算机系统和可读存储介质
JP2019537809A (ja) ポインタセンチネル混合アーキテクチャ
US20130041857A1 (en) System and method for inputting text into electronic devices
CN109002186A (zh) 一种输入预测方法及装置
Wang et al. Biomedical event trigger detection based on bidirectional lstm and crf
Parker et al. Named entity recognition through deep representation learning and weak supervision
Abbas A Stochastic Prediction Interface for Urdu
Bhargava et al. Deep paraphrase detection in indian languages
CN113297854A (zh) 文本到知识图谱实体的映射方法、装置、设备及存储介质
CN109408801A (zh) 一种基于朴素贝叶斯算法的中文分词方法
CN110502226B (zh) 在编程环境中推荐代码的方法和装置
Gandhi et al. Natural Language Processing based Math Word Problem Solver and Synoptic Generator
Kucza Term Extraction as Sequence Labeling Task using Recurrent Neural Networks
Yu et al. Discovery of Object Concepts in Academic Field Based on Deep Learning
Agun et al. Ranking Assisted Unsupervised Morphological Disambiguation of Turkish

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200901

Address after: 98052 Microsoft Avenue, Redmond, Washington, USA

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: England Atsushi

Patentee before: TOUCHTYPE Ltd.