CN110073351A - 通过组合来自用户尝试的候选来预测文本 - Google Patents

通过组合来自用户尝试的候选来预测文本 Download PDF

Info

Publication number
CN110073351A
CN110073351A CN201780077687.0A CN201780077687A CN110073351A CN 110073351 A CN110073351 A CN 110073351A CN 201780077687 A CN201780077687 A CN 201780077687A CN 110073351 A CN110073351 A CN 110073351A
Authority
CN
China
Prior art keywords
user
text
candidate
ordered
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780077687.0A
Other languages
English (en)
Other versions
CN110073351B (zh
Inventor
B-J·P·许
R·D·滕尼克利夫
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
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110073351A publication Critical patent/CN110073351A/zh
Application granted granted Critical
Publication of CN110073351B publication Critical patent/CN110073351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本描述涉及基于输入文本的多次用户尝试来预测文本。一个示例可以包括包含用户界面的计算设备。在该示例中,用户界面被配置为接收来自输入文本的第一次用户尝试的证据,并且被配置为接收来自输入文本的第二次用户尝试的证据。该计算设备还包括文本预测引擎,该文本预测引擎被配置为:组合来自输入文本的第一次用户尝试的证据和来自输入文本的第二次用户尝试的证据以预测文本。

Description

通过组合来自用户尝试的候选来预测文本
背景技术
大多数现代文本输入应用包括预测文本和自动校正功能,以帮助用户有效且准确地将文本输入到文档或消息中。这些功能需要文本预测引擎来生成用户可能预期或预期键入的内容的候选。可以向用户显示排名最高的候选(例如具有用户预期的概率最高的候选),以便在预测文本中进行用户选择。另外地或替代地,可以响应于空格键或自动校正功能中的其他预先确定的输入而自动地***排名最高的候选。
有时,文本预测引擎无法准确地预测用户预期键入的内容。在这种情况下,可能显示不期望的候选以用于在预测文本中进行用户选择,或者可能自动做出不期望的校正。当发生这种情况时,用户必须返回并手动编辑不正确的文本。在极端情况下,用户可能必须删除整个撰写文本并从头开始,逐个输入每个字符。
考虑到这些缺点,可以意识到,当文本预测引擎在第一次用户尝试之后没有提供有用的候选时,需要改善用户体验。
下面描述的实施例不限于解决已知技术的任何或所有缺点的实现方式。
发明内容
以下给出了本公开内容的简要概述,以便为读者提供基本的理解。本发明内容并非旨在标识所要求保护的主题内容的关键特征或必要特征,也并非旨在用于限制所要求保护的主题内容的范围。其唯一目的在于以简化形式呈现本文所公开的一系列概念,作为后文所给出的更详细描述的序言
本描述涉及基于输入文本的多次用户尝试来预测文本。一个示例可以包括包含用户界面的计算设备。在该示例中,用户界面被配置为接收来自输入文本的第一次用户尝试的证据,并且被配置为接收来自输入文本的第二次用户尝试的证据。该计算设备还包括文本预测引擎,该文本预测引擎被配置为:组合来自输入文本的第一次用户尝试的证据和来自输入文本的第二次用户尝试的证据以预测文本。
通过参考结合附图考虑的以下详细描述,将更容易理解许多伴随特征,因为这些特征变得更好理解。
附图说明
通过以下根据附图阅读的详细描述中将更好地理解本描述,其中:
图1是基于输入文本的第一次用户尝试来向用户呈现经预测文本的移
动设备的示意图;
图2是在第一次用户尝试之后向用户呈现自动校正的文本的图1的移
动设备的示意图;
图3是当用户正在删除自动校正的文本时的图1的移动设备的示意图;
图4是在输入文本的第二次用户尝试期间图1的移动设备的示意图;
图5是根据本公开内容的预测文本的方法的流程图;
图6是表示上述方法中的第一有序候选列表的生成的示意图;
图7是表示上述方法中的第二有序候选列表的生成的示意图;
图8是表示对上述方法中的候选的过滤的示意图;
图9是表示上述方法中的第三有序候选列表的生成的示意图;
图10是适合于执行上述方法的计算设备的示意图。
在附图中使用相似的附图标记来表示相似的部件或步骤。
具体实施方式
本公开内容给出了一种计算设备,该计算设备包括用于支持预测文本和自动校正功能的文本预测引擎。文本预测引擎使得当用户做出输入文本处的第二次尝试时能够生成更好的候选。这使得用户更容易纠正不正确的自动校正,并在已呈现不合适的预测文本候选时纠正撰写文本。候选可以包括一串字符,例如单词、一系列单词、一系列字符,例如不包含单词的字母、或者甚至单个字符。
参考图1,计算设备100(例如移动设备)使得用户能够使用在触摸屏上显示的键盘102来输入文本。在所示出的示例中,用户在聊天或对话中键入文本消息104,但在其他示例中,用户可以将文本输入到文档或其他合适的文件中。可以看出,当用户输入文本时(例如通过轻敲输入),光标106指示用户在当前单词中所处的位置。在该示例中,到目前为止键入的当前单词是“jello”。
计算设备100具有文本预测引擎以用于帮助用户有效且准确地输入文本。文本预测引擎生成可能是用户预期键入的候选,并提供要向用户显示的多个排名靠前的候选以供用户选择。在图1的示例中,显示候选栏108,该候选栏108呈现排名前三的候选,“hello”,“hell”和“help”。在该示例中,排名最高的候选“hello”被居中显示以便于通过轻敲来进行用户选择,并且排名第二的候选“hell”呈现在左边,而排名第三的候选“help”呈现在右边。
应当意识到,文本预测引擎使用到目前为止键入的单词(也称为撰写文本)作为用于计算和排列所建议候选的输入。然而,其他因素也可以用作计算的输入,例如撰写文本的上下文。在图1的示例中,上下文可以包括到目前为止文本消息104的其余部分,即,短语“Itwas supposed to be(它应该是)”,并且还可以包括对话中先前消息的内容,例如“Whatwas that?(那是什么?)”。其他上下文(例如用户频繁输入的单词)也可以用于计算候选。
计算设备100被配置为使得如果用户通过在候选栏108中轻敲所建议候选中的一个候选来选择该候选,则将所选择单词***到文本消息104中以代替撰写文本“jello”。替代地,如果用户轻敲空格键或键盘的另一预先确定的字符(例如预先确定的标点符号键),则撰写文本“jello”将被自动校正为排名最高的候选“hello”。
图2中示出了该自动校正场景,在图2中,撰写文本“jello”已被“hello”替换,并且光标106与***的单词“hello”通过空格分开。
自动校正的文本可能是用户预期键入的内容,在这种情况下,用户可以继续键入并由自动校正功能帮助,该功能正确地预测用户预期键入的内容。
然而,如果自动校正的文本不是用户预期键入的内容,则用户必须返回并删除至少部分自动校正的文本并逐个重新输入预期的字符。删除自动校正的文本的过程在图3中示出,其中用户删除了空格和字母“o”,并且光标现在被置于紧接在第二个“l”之后,以准备好供用户继续删除所需数量的字符。
在图4的示例中,用户已经删除了整个自动校正的单词,并且现在已经开始从头开始再次键入预期单词,从字母“j”开始。键入的字母“j”是用户在图4中进行的第二次尝试的开始,因为用户可能输入另外的字符。
在输入文本的第二次用户尝试的过程期间,计算设备100被配置为:通过组合来自第一次用户尝试的证据和来自第二次用户尝试的证据来计算候选。使用来自两次尝试的证据改善了可以在第二次用户尝试期间计算的候选的质量,并且帮助用户纠正不正确的自动校正。
因此,本公开内容给出了计算设备100,该计算设备100包括:用户界面,该用户界面被配置为:接收来自输入文本的第一次用户尝试的证据并接收来自输入文本的第二次用户尝试的证据;以及文本预测引擎,该文本预测引擎被配置为:组合来自输入文本的第一次用户尝试的证据和来自输入文本的第二次用户尝试的证据以预测文本。
组合来自两次尝试的证据的一种方式是使用第二次用户尝试(可选地包括诸如撰写文本的上下文之类的其他证据)来生成第二有序候选列表,并创建第二有序候选列表。随后可以通过组合第一列表和第二列表来生成第三有序候选列表。
因此给出了文本预测引擎,该文本预测引擎被配置为:使用来自输入文本的第一次用户尝试的证据来生成第一有序候选列表;使用来自输入文本的第二次用户尝试的证据生成第二有序候选列表;以及生成第三有序候选列表,该第三有序候选列表包括来自第一有序候选列表的一个或多个候选和来自第二有序候选列表的一个或多个候选。
例如,继续前面的示例,计算设备100可以被配置为:使用来自包括撰写文本“jello”502的第一次用户尝试的证据500来生成第一有序候选列表A 504,如图5中所示出的。第一有序候选列表A 504可以例如包括如下并且如图5中所示出的六个候选。
A:[hello,hell,help,jello,hallo,jelly]
类似地,参考图6,计算设备100可以被配置为:使用来自包括撰写文本“i”602的第二次用户尝试的证据600来生成第二有序候选列表B 604。第二有序候选列表B 604可以包括如下并且如图6中所示出的五个候选。
B:[j,jar,joe,jam,jim]
随后可以使用列表A中的一些或所有候选以及列表B中的一些或所有候选来生成第三有序列表C。
可以合理地假设用户在第二次输入撰写文本时特别小心。因此,假设第二次用户尝试的撰写文本比第一次尝试的撰写文本更可靠是合适的。考虑到这一点,当使用来自第二次用户尝试的证据来生成第二有序列表B时,计算设备100被配置为提升与第二次用户尝试的撰写文本具有精确匹配或其前缀是精确匹配的候选是合适的。
为了从列表A中的一些或所有候选以及列表B中的一些或所有候选生成第三有序列表C,计算设备100被配置为保留来自列表A中的候选内的顺序、并保留来自列表B中的候选内的顺序是合适的。然而,保留顺序不是必需的。例如,如果列表A包含[x,z]并且列表B包含[y,z],则列表C可以以[z,...]开始,因为候选z出现在列表A和B两者中,因此可以认为候选z的证据最强。
计算设备100被配置为移除重复项是合适的,即可能已经出现在列表A和B两者中、并且已经被带入经组合列表C中的候选。
生成第三个、有序列表C的一种方式是将受益于两次用户尝试的证据的候选子集提升到顶部。这可以通过使用来自第二次用户尝试的证据过滤第一有序候选列表来实现。例如,可以过滤来自第一有序列表的候选以仅识别与第二次用户输入的撰写文本一致的候选。更一般而言,可以过滤第一有序列表以识别匹配的候选,其中每个候选的至少一部分满足与第二次用户尝试的撰写文本的阈值相似度。
例如,参考图7,可以过滤第一有序列表A:[hello,hell,help,jeilo,hallo,jelly]504,以仅识别与第二次用户尝试的撰写文本“j”602一致的候选。这产生了如下匹配候选的经过滤列表Al 700。
A:[hello,hell,help,jell o,hallo,jelly]
Al:[jeilo,jelly]
经过滤的列表Al 700受益于来自两次用户尝试的证据,并且因此很可能提供可用的最佳候选。因此,将这些匹配候选提升到经组合列表C的顶部是合适的。
经组合列表C可以例如包括列表Al 700以及列表B 604,以使得Al的候选被给予比B的候选更高的排名。
C:[jeilo,jelly,j,jar,joe,jam,jim](Al+B)
因此,本公开内容给出了具有文本预测引擎的计算设备100,该文本预测引擎被配置为:过滤第一有序候选列表以识别第一有序的匹配和非匹配候选,其中每个匹配候选的至少一部分满足与第二次用户尝试的撰写文本的阈值相似度,并且其中,每个非匹配候选的至少一部分不满足与第二次用户尝试的撰写文本的阈值相似度;在第三有序列表中包括匹配候选;以及将匹配候选排名为高于来自第三有序列表中的第二有序候选列表中的一个或多个候选。在合适的示例中,每个匹配候选包括第二次用户尝试的撰写文本。
来自列表A的未包括在A1中的候选可以被认为形成另一列表A2。A2的候选可能是不匹配的,因为它们与第二次用户尝试的撰写文本不一致,或者更一般而言,每个非匹配候选的至少一部分不满足与第二次用户尝试的撰写文本的阈值相似度。
继续图7的示例,可以过滤第一有序列表A:[hello,hell,help,jello,hallo,jelly]504,以仅识别与第二次用户尝试的撰写文本“j”602不一致的候选。这产生如下的非匹配候选的经过滤列表A2 702。
A:[hello,hell,help,jello,hallo,jelly]
A2:[hello,hell,help,hallo]
A2的候选可以包括在经组合列表中,但是它们的排名应该低于列表B的候选。这反映了如下事实:它们与第二次用户尝试的撰写文本不一致,并且它们不太可能是用户预期键入的内容。更一般而言,这可以反映如下事实:每个非匹配候选的至少一部分不满足与第二次用户尝试的撰写文本的阈值相似度。
参考图8,如果要将A2的非匹配候选包括在经组合列表C中,则可以如下构造经组合列表C。
C:[jello,jelly,j,jar,joe,jam,jim,hello,hell,help,hallo](A1+B+A2)
因此,本公开内容给出了具有文本预测引擎的计算设备100,该文本预测引擎被配置为:在第三有序列表中包括非匹配候选;以及在第三有序列表中将非匹配候选排名为低于来自第二有序候选列表中的一个或多个候选。在合适的示例中,每个非匹配候选不包括第二次用户尝试的撰写文本。
不管如何生成第三有序候选列表C的细节,例如是否包括非匹配候选,第三有序列表都基于来自两次用户尝试的证据。因此,根据本公开内容的实施例的第三有序列表针对诸如自动校正和预测文本之类的功能提供了改善的候选。
例如,在自动校正功能中,计算设备100可以包括文本预测引擎,该文本预测引擎被配置为:通过将第二次用户尝试的撰写文本替换为第三有序列表的排名最高的候选来自动校正第二次用户尝试。这可以适当地响应于预先确定的用户输入,例如空格键用户输入或多个预先确定的标点符号用户输入中的一个标点符号用户输入。
在文本预测功能中,计算设备100可以包括文本预测引擎,该文本预测引擎被配置为:向用户显示第三有序列表的多个排名靠前候选中的至少一个候选以供用户选择。例如,C:A1+B+A2的排名前三的候选可以显示在候选栏108中,其中排名最高的候选“jello”位于候选栏108的中心位置,如图4中所示出的。
如上面所指示的,第二次用户输入可能正在进行,例如图4中所示出的仅包括字母“j”第二次用户输入。在该示例中,用户已经开始第二次尝试但仅输入了第一个字母。用户可能会继续输入至少又一个字母,并且在该意义上,第二次用户输入仅部分完成,并且随着输入继续,将存在以另外字符形式的另外的证据。每次输入另外的字符时,这为第二次输入提供了另外的证据,并且计算设备100被配置为考虑该另外的证据。这可以通过文本预测引擎在预测文本时将来自第一次尝试的证据与来自第二次尝试的经更新证据进行组合来实现。因此,本公开内容给出了一种计算设备,该计算设备被配置为:接收来自第二次用户尝试的另外的证据;以及重复组合以纳入另外的证据。
参考图9,本公开内容扩展到由计算设备执行的用于预测文本的方法900。方法900包括:接收902来自输入文本的第一次用户尝试的证据。第一次用户尝试可以包括使用各种模态来输入文本,例如使用触摸屏上显示的键盘的轻敲输入、使用触摸屏上显示的键盘的流输入、语音识别、例如使用触摸屏上的手写笔的手写识别、或任何其他合适的输入模态。方法900还包括:接收904来自输入文本的第二次用户尝试的证据。第二次用户尝试可以包括使用各种模态来输入文本,例如使用触摸屏上显示的键盘的轻敲输入、使用触摸屏上显示的键盘的流输入、语音识别、例如使用触摸屏上的手写笔的手写识别、或任何其他合适的输入模态。
随后将来自第一次用户尝试的证据和来自第二次用户尝试的证据进行组合906,以用于基于两次用户尝试更有效地预测文本。这可以通过以下操作来实现:使用来自输入文本的第一次用户尝试的证据来生成908第一有序候选列表,使用来自输入文本的第二次用户尝试的证据来生成910第二有序候选列表,以及生成912第三有序候选列表,该第三有序候选列表包括来自第一有序候选列表的一个或多个候选和来自第二有序候选列表的一个或多个候选。
适当地,来自第二次用户尝试的证据可以包括第二次用户尝试的撰写文本,并且方法900可以包括:提升914与第二次用户尝试的撰写文本完全匹配的第一、第二或第三有序列表的候选,或者具有与该撰写文本完全匹配的前缀的候选。
方法900可以替代地或另外地包括:当生成第三有序列表时,保留来自第一有序列表的一个或多个候选的顺序,并保留来自第二有序列表的一个或多个候选的顺序。
适当地,来自第二次用户尝试的证据可以包括第二次用户尝试的撰写文本,并且生成912第三有序列表可以包括:过滤918第一有序候选列表以识别第一有序候选列表的匹配和非匹配候选,其中每个匹配候选的至少一部分满足与第二次用户尝试的撰写文本的阈值相似度,并且其中每个非匹配候选的至少一部分不满足与第二次用户尝试的撰写文本的阈值相似度。在这种情况下,方法900可以包括:在第三有序列表中包括920匹配候选,并且在第三有序列表中将匹配候选排名为高于来自第二有序候选列表的一个或多个候选。生成912第三有序候选列表的步骤还可以包括:在第三有序列表中包括922非匹配候选,并且在第三有序列表中将非匹配候选排名为低于来自第二有序候选列表的一个或多个候选。
方法900可以适当地包括:响应于空格键用户输入或响应于多个预先确定的标点符号用户输入中的一个标点符号用户输入,通过利用第三有序列表的排名最高的候选替换第二次用户尝试的撰写文本来自动校正924第二次用户尝试。替代地或另外地,方法900可以包括:显示926第三有序列表的多个排名靠前的候选以供用户选择。
最后,方法900可以适当地包括:接收928来自第二次用户尝试的另外的证据,并重复930该组合以纳入另外的证据。
图10中示出了适合于实现方法900的计算设备1000。计算设备1000包括处理器1002、通信接口、输入/输出控制器1006、随机存取存储器(RAM)1008、以及硬盘驱动器1010。硬盘驱动器1010包括操作***1012和如上所述的文本预测引擎1014。计算设备1000可以被配置为:缓存第一次用户尝试的结果(例如第一有序候选列表)以便在第二次尝试期间使用。
尽管已经描述了生成第一和第二列表A和B的各实施例,但是这种中间列表的生成不是必需的。因此,本发明包括如下实施例,其中通过组合来自第一次和第二次用户尝试的证据来在第二次用户尝试中生成候选的最终有序列表C,而不生成候选的中间列表。
匹配和非匹配候选之间的区别(其可以基于如上所述的阈值相似度)也不是必需的。例如,可以存在分级,根据该分级,最佳匹配候选被分配最高排名,中等匹配候选被分配中等高排名,差匹配候选被分配中等低排名,并且非常差匹配候选被分配最低排名。例如,可以使用多个阈值相似度来实现该分级以定义不同的分级。替代地,可以使用连续缩放的相似度和排名。
本文所公开的技术可以用于任何预测文本引擎。在以上描述中,使用具有所存储软件的形式提供的指令来实现这些技术。替代地或另外地,本文所描述的功能至少部分地由一个或多个硬件逻辑组件来执行。举例而言而非限制,可选地使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)。
术语“计算机”或“基于计算的设备”在本文中用于指代具有处理能力的任何设备以使得其执行指令。本领域技术人员将认识到,这种处理能力被纳入到许多不同的设备中,并且因此术语“计算机”和“基于计算的设备”均包括个人计算机(PC)、服务器、移动电话(包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏控制台、个人数字助理,可穿戴计算机、以及许多其他设备。
在一些示例中,本文所描述的方法由具有有形存储介质上的机器可读形式的软件来执行,例如,具有包括计算机程序代码单元的计算机程序的形式,该计算机程序代码单元适于:当程序在计算机上运行时执行本文所描述的一种或多种方法的所有操作,并且其中计算机程序可以在计算机可读介质上体现。该软件适合于在并行处理器或串行处理器上执行,以使得方法操作可以以任何合适的顺序或同时执行。
这确认软件是一种有价值的、可单独交易的商品。它旨在包含运行于或控制“哑”或标准硬件以执行所需要的功能的软件。它还旨在包含“描述”或定义硬件配置的软件,例如HDL(硬件描述语言)软件,如用于设计硅芯片或用于配置通用可编程芯片,以执行所需要的功能。
本领域技术人员将认识到,用于存储程序指令的存储设备可选地跨网络分布。例如,远程计算机能够存储被描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并下载部分或全部软件以运行程序。替代地,本地计算机可以根据需要下载软件的片段,或者在本地终端处执行一些软件指令,并在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,软件指令的全部或一部分可以由专用电路(例如数字信号处理器(DSP)、可编程逻辑阵列等等)来执行。
如本领域技术人员显而易见的,可以延长或更改本文给出的任何范围或设备值而不丧失所寻求的效应。
虽然以特定于结构特征和/或方法动作的语言描述了主题内容,但应理解,所附权利要求中定义的主题内容并不一定限于上述特定特征或动作。相反,上述的特定特征和动作是作为实现各权利要求的示例形式而公开的。
将理解,上述益处和优点可以涉及一个实施例,或者可以涉及若干个实施例。实施例不限于解决任何或所有所陈述问题的那些实施例或具有任何或所有所陈述益处和优点的那些实施例。还将理解,对“一个”项目的引用是指那些项目中的一个或多个项目。
本文所描述的方法的各操作可以以任何合适的顺序执行,或者在适当的情况下同时执行。另外,在不脱离本文所描述的主题内容的范围的情况下,可以从任何方法中删除各个块。上述任何示例的方面可以与所描述的任何其他示例的方面组合以形成另外的示例而不会丧失所寻求的效应。
术语“包括”在本文中用于表示包括所标识的方法块或元素,但是这种块或元素不包括排他性列表,并且方法或装置可以包含另外的块或元素。
术语“子集”在本文中用于指代适当的子集,以使得集合的子集不包括集合的所有元素(即,集合中的至少一个元素从子集中缺失)。
将理解,以上描述仅作为示例给出,并且本领域技术人员可以做出各种修改。以上说明书、示例和数据提供了对示例性实施例的结构和使用的完整描述。尽管上面已经以一定程度的特殊性或者参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的精神或范围的情况下对所公开的实施例做出众多更改。
本文中涉及用户日常生活中的输入文本的方法可以并且应该在最大程度上尊重个人隐私的情况下制定。因此,本文所给出的方法与被观察人员的选择参与完全兼容。在本地***上收集个人数据并将其发送到远程***以供处理的实施例中,可以以已知方式对该数据进行匿名化。

Claims (15)

1.一种用于预测文本的计算设备,所述计算设备包括:
用户界面,所述用户界面被配置为:接收来自输入文本的第一次用户尝试的证据,并接收来自输入所述文本的第二次用户尝试的证据;以及
文本预测引擎,所述文本预测引擎被配置为:组合来自输入所述文本的所述第一次用户尝试的证据和来自输入所述文本的所述第二次用户尝试的证据以预测所述文本。
2.根据权利要求1所述的计算设备,其中,所述文本预测引擎被配置为:
使用来自输入所述文本的所述第一次用户尝试的证据来生成第一有序候选列表;
使用来自输入所述文本的所述第二次用户尝试的证据来生成第二有序候选列表;以及
生成第三有序候选列表,所述第三有序候选列表包括来自所述第一有序候选列表的一个或多个候选以及来自所述第二有序候选列表的一个或多个候选。
3.根据权利要求2所述的计算设备,其中:
来自所述第二次用户尝试的证据包括所述第二次用户尝试的撰写文本;以及
所述计算设备被配置为:提升所述第二有序列表的与所述第二次用户尝试的撰写文本精确匹配、或者具有与所述撰写文本精确匹配的前缀的候选。
4.根据权利要求2所述的计算设备,所述计算设备被配置为:当生成所述第三有序列表时,保留来自所述第一有序列表的所述一个或多个候选的顺序,并保留来自所述第二有序列表的所述一个或多个候选的顺序。
5.根据权利要求2所述的计算设备,其中,来自所述第二次用户尝试的证据包括所述第二次用户尝试的撰写文本,并且所述文本预测引擎被配置为:
过滤所述第一有序候选列表以识别所述第一有序候选列表的匹配和非匹配候选,其中,每个匹配候选的至少一部分满足与所述第二次用户尝试的撰写文本的阈值相似度,并且其中,每个非匹配候选的至少一部分不满足与所述第二次用户尝试的撰写文本的所述阈值相似度;
在所述第三有序列表中包括所述匹配候选;以及
在所述第三有序列表中将所述匹配候选排名为高于来自所述第二有序候选列表的所述一个或多个候选。
6.根据权利要求5所述的计算设备,其中,每个匹配候选包括所述第二次用户尝试的撰写文本。
7.根据权利要求5所述的计算设备,其中,所述文本预测引擎被配置为:
在所述第三有序列表中包括所述非匹配候选;以及
在所述第三有序列表中将所述非匹配候选排名为低于来自所述第二有序候选列表的所述一个或多个候选。
8.根据权利要求7所述的计算设备,其中,每个非匹配候选不包括所述第二次用户尝试的撰写文本。
9.根据权利要求2所述的计算设备,其中,所述文本预测引擎被配置为:
响应于空格键用户输入或响应于多个预先确定的标点符号用户输入中的一个标点符号用户输入,通过将所述第二次用户尝试的撰写文本替换为所述第三有序列表中排名最高的候选来自动校正所述第二次用户尝试。
10.根据权利要求2所述的计算设备,其中,所述文本预测引擎被配置为:显示所述第三有序列表中的多个排名靠前的候选以供用户选择。
11.根据权利要求1所述的计算设备,所述计算设备被配置为:
接收来自所述第二次用户尝试的另外的证据;以及
重复所述组合以纳入所述另外的证据。
12.一种由计算设备执行的用于预测文本的方法,所述方法包括:
接收来自输入文本的第一次用户尝试的证据;
接收来自输入所述文本的第二次用户尝试的证据;以及
组合来自输入所述文本的所述第一次用户尝试的证据和来自输入所述文本的所述第二次用户尝试的证据以预测所述文本。
13.根据权利要求12所述的方法,其中,所述组合包括:
使用来自输入所述文本的所述第一次用户尝试的证据来生成第一有序候选列表;
使用来自输入所述文本的所述第二次用户尝试的证据来生成第二有序候选列表;以及
生成第三有序候选列表,所述第三有序候选列表包括来自所述第一有序候选列表的一个或多个候选以及来自所述第二有序候选列表的一个或多个候选。
14.根据权利要求13所述的方法,其中,来自所述第二次用户尝试的证据包括所述第二次用户尝试的撰写文本,并且生成所述第三有序列表包括:
过滤所述第一有序候选列表以识别所述第一有序候选列表的匹配和非匹配候选,其中,每个匹配候选的至少一部分满足与所述第二次用户尝试的撰写文本的阈值相似度,并且其中,每个非匹配候选的至少一部分不满足与所述第二次用户尝试的撰写文本的所述阈值相似度;
在所述第三有序列表中包括所述匹配候选;以及
在所述第三有序列表中将所述匹配候选排名为高于来自所述第二有序候选列表的所述一个或多个候选。
15.根据权利要求13所述的方法,包括:显示所述第三有序列表中的多个排名靠前的候选以供用户选择。
CN201780077687.0A 2016-12-15 2017-12-08 通过组合来自用户尝试的候选来预测文本 Active CN110073351B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/380,645 2016-12-15
US15/380,645 US10417332B2 (en) 2016-12-15 2016-12-15 Predicting text by combining attempts
PCT/US2017/065218 WO2018111703A1 (en) 2016-12-15 2017-12-08 Predicting text by combining candidates from user attempts

Publications (2)

Publication Number Publication Date
CN110073351A true CN110073351A (zh) 2019-07-30
CN110073351B CN110073351B (zh) 2023-09-08

Family

ID=60915629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780077687.0A Active CN110073351B (zh) 2016-12-15 2017-12-08 通过组合来自用户尝试的候选来预测文本

Country Status (4)

Country Link
US (1) US10417332B2 (zh)
EP (1) EP3555764A1 (zh)
CN (1) CN110073351B (zh)
WO (1) WO2018111703A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417332B2 (en) * 2016-12-15 2019-09-17 Microsoft Technology Licensing, Llc Predicting text by combining attempts
US11520413B2 (en) * 2018-11-02 2022-12-06 Samsung Electronics Co., Ltd. Electronic apparatus, controlling method of electronic apparatus and computer readable medium
US10776004B1 (en) * 2019-05-07 2020-09-15 Capital One Services, Llc Methods and devices for providing candidate inputs

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239434A1 (en) * 2006-04-06 2007-10-11 Research In Motion Limited Word completion in a handheld electronic device
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入***及文本输入方法
US8498864B1 (en) * 2012-09-27 2013-07-30 Google Inc. Methods and systems for predicting a text
US20140059058A1 (en) * 2012-08-24 2014-02-27 Microsoft Corporation Candidate generation for predictive input using input history
US20140310213A1 (en) * 2010-02-12 2014-10-16 Microsoft Corporation User-centric soft keyboard predictive technologies
EP2827257A1 (en) * 2013-07-15 2015-01-21 BlackBerry Limited Methods and devices for providing a text prediction
CN105683874A (zh) * 2013-10-03 2016-06-15 微软技术许可有限责任公司 用于文本预测的绘文字
US20160328377A1 (en) * 2009-03-30 2016-11-10 Touchtype Ltd. System and method for inputting text into electronic devices

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761689A (en) * 1994-09-01 1998-06-02 Microsoft Corporation Autocorrecting text typed into a word processing document
US6377965B1 (en) 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US7941316B2 (en) 2005-10-28 2011-05-10 Microsoft Corporation Combined speech and alternate input modality to a mobile device
US20080282154A1 (en) * 2006-09-11 2008-11-13 Nurmi Mikko A Method and apparatus for improved text input
US20080126075A1 (en) 2006-11-27 2008-05-29 Sony Ericsson Mobile Communications Ab Input prediction
US7809719B2 (en) 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US20090327880A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Text input
US8332748B1 (en) 2009-10-22 2012-12-11 Google Inc. Multi-directional auto-complete menu
US20110154193A1 (en) * 2009-12-21 2011-06-23 Nokia Corporation Method and Apparatus for Text Input
CN103038728B (zh) * 2010-03-12 2016-01-20 纽昂斯通信有限公司 例如在移动电话上使用触摸屏的多模式文本输入***
US20160132119A1 (en) * 2014-11-12 2016-05-12 Will John Temple Multidirectional button, key, and keyboard
US10275153B2 (en) * 2011-05-19 2019-04-30 Will John Temple Multidirectional button, key, and keyboard
US9134810B2 (en) 2012-01-19 2015-09-15 Blackberry Limited Next letter prediction for virtual keyboard
US9223497B2 (en) 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction
US8484573B1 (en) 2012-05-23 2013-07-09 Google Inc. Predictive virtual keyboard
US10296581B2 (en) * 2012-06-06 2019-05-21 Apple Inc. Multi-word autocorrection
US9122376B1 (en) 2013-04-18 2015-09-01 Google Inc. System for improving autocompletion of text input
GB201418402D0 (en) 2014-10-16 2014-12-03 Touchtype Ltd Text prediction integration
US10248640B2 (en) * 2015-02-05 2019-04-02 Microsoft Technology Licensing, Llc Input-mode-based text deletion
US9760560B2 (en) 2015-03-19 2017-09-12 Nuance Communications, Inc. Correction of previous words and other user text input errors
US10417332B2 (en) * 2016-12-15 2019-09-17 Microsoft Technology Licensing, Llc Predicting text by combining attempts
US11899904B2 (en) * 2017-04-12 2024-02-13 Microsoft Technology Licensing, Llc. Text input system with correction facility
US10754441B2 (en) * 2017-04-26 2020-08-25 Microsoft Technology Licensing, Llc Text input system using evidence from corrections

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239434A1 (en) * 2006-04-06 2007-10-11 Research In Motion Limited Word completion in a handheld electronic device
CN102439542A (zh) * 2009-03-30 2012-05-02 触摸式有限公司 电子设备的文本输入***及文本输入方法
CN105759983A (zh) * 2009-03-30 2016-07-13 触摸式有限公司 电子设备的文本输入***及文本输入方法
US20160328377A1 (en) * 2009-03-30 2016-11-10 Touchtype Ltd. System and method for inputting text into electronic devices
US20140310213A1 (en) * 2010-02-12 2014-10-16 Microsoft Corporation User-centric soft keyboard predictive technologies
US20140059058A1 (en) * 2012-08-24 2014-02-27 Microsoft Corporation Candidate generation for predictive input using input history
US8498864B1 (en) * 2012-09-27 2013-07-30 Google Inc. Methods and systems for predicting a text
EP2827257A1 (en) * 2013-07-15 2015-01-21 BlackBerry Limited Methods and devices for providing a text prediction
CN105683874A (zh) * 2013-10-03 2016-06-15 微软技术许可有限责任公司 用于文本预测的绘文字

Also Published As

Publication number Publication date
CN110073351B (zh) 2023-09-08
US10417332B2 (en) 2019-09-17
EP3555764A1 (en) 2019-10-23
US20180173691A1 (en) 2018-06-21
WO2018111703A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
US10809914B2 (en) System and method for inputting text into electronic devices
US10156981B2 (en) User-centric soft keyboard predictive technologies
US10402493B2 (en) System and method for inputting text into electronic devices
CN106649783B (zh) 一种同义词挖掘方法和装置
US20080294982A1 (en) Providing relevant text auto-completions
US8996579B2 (en) Process and apparatus for selecting an item from a database
US20150169537A1 (en) Using statistical language models to improve text input
JP6122800B2 (ja) 電子機器、文字列表示方法、および文字列表示プログラム
CN110073351A (zh) 通过组合来自用户尝试的候选来预测文本
JP2013149273A (ja) 入力順非依存式文字入力機構を提供するための方法、装置、およびコンピュータプログラム
US10387543B2 (en) Phoneme-to-grapheme mapping systems and methods
US8782067B2 (en) Searching method, searching device and recording medium recording a computer program
JP2012098891A (ja) 情報処理システムおよび情報処理方法
US20140006005A1 (en) Input support apparatus, input support method, and storage medium containing input support program
CN111857362A (zh) 文字输入方法及文字输入装置
CN109814734B (zh) 一种修正汉语拼音输入的方法及处理终端
CN115729360A (zh) 输入法词库更新方法、装置、设备及服务器
EP3232337A1 (en) Information processing apparatus
KR20160073146A (ko) 혼동행렬을 이용한 필기인식 단어 보정 방법 및 장치
EP1975810B1 (en) Use of a suffix-changing spell check algorithm for a spell check function, and associated handheld electronic device
EP1975807B1 (en) Use of a suffix-removing spell check algorithm for a spell check function, and associated handheld electronic device
CN111782060A (zh) 对象显示方法、装置和电子设备
CN114461130A (zh) 文字输入方法、装置和存储介质
JP2005063100A (ja) データ検索装置
CN103853742A (zh) 检索装置、终端和检索方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant