CN107251012A - 话题知晓的字建议 - Google Patents

话题知晓的字建议 Download PDF

Info

Publication number
CN107251012A
CN107251012A CN201680012635.0A CN201680012635A CN107251012A CN 107251012 A CN107251012 A CN 107251012A CN 201680012635 A CN201680012635 A CN 201680012635A CN 107251012 A CN107251012 A CN 107251012A
Authority
CN
China
Prior art keywords
word
cluster
candidate item
computing device
dynamic gene
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.)
Pending
Application number
CN201680012635.0A
Other languages
English (en)
Inventor
A.C.罗德斯
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 CN107251012A publication Critical patent/CN107251012A/zh
Pending legal-status Critical Current

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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

在本文中描述了用于提供话题知晓的字建议的概念和技术。通过使用文本输入,所述***确定有条件的计数和无条件的计数。所述***然后基于所述无条件的计数和所述有条件的计数确定针对所述多个字中的字对的调整因子。所述***然后生成定义多个字聚类的数据结构。所述***然后基于所述字对的单个字之间的公共聚类的数量,重构针对所述字对的所述调整因子。将所述调整因子与诸如来自语言模型字典的数据和来自平均聚类激活状态表的新鲜度因子这样的其它数据组合在一起,以便确定与字候选项相关联的概率,向用户显示所述字候选项。

Description

话题知晓的字建议
对相关申请的交叉引用
本申请要求于2015年2月27日提交的名称为“TOPICALLY AWARE WORD SUGGESTIONS”的美国临时专利申请序号No. 62/126,307的权利,并且要求于2016年2月10日提交的名称为“TOPICALLY AWARE WORD SUGGESTIONS”的美国专利申请序号No. 15/040,947的权利,以引用方式将这两项申请整体上明确地并入本文。
背景技术
在用户在诸如电话这样的计算设备上键入文本时,某些技术提供关于他们可能正在尝试键入的字或者可能在句子中接下来出现的字的建议。为生成字建议,存在被设计为标识相关的字的一些技术。例如,某些模型对数据集中的字的公共序列进行分析,并且在序列的特定的字被键入到设备中时,向用户建议通常跟随在该特定的字之后的字。在一个示例中,如果用户键入字“心脏”,则使用该基于序列的技术的多数***将建议字“病”,因为样本集合可能指示字的该序列。
其它技术可以使用用户个性化数据来生成字建议。例如,设备可以存储来自用户的输入的文本数据。设备然后可以对被特定的用户频繁地使用的字或者字的序列进行分析,以便向用户建议字。
尽管现有的技术提供字建议,但存在改进的空间。例如,现有的技术是不知晓用户的输入的上下文和/或与该输入相关的其它文本的。对字序列的分析简单地不能够解释用于提供上下文上相关的建议的更宽泛的意义。
关于这些和其它的考虑呈现了本文中给出的公开内容。
发明内容
在本文中描述了用于提供话题知晓的字建议的概念和技术。在一个方面中,一种***被配置为,接收包含多个字的输入。通过使用所述输入,所述***确定有条件的计数和无条件的计数。所述***然后基于所述无条件的计数和所述有条件的计数确定针对所述多个字中的字对的调整因子。所述***然后生成定义多个字聚类的数据结构,其中,所述多个字聚类中的所述单个字聚类包括所述多个字中的至少一个字。所述***然后基于字的对的单个字之间的公共聚类的数量重构针对字的对的所述调整因子。将所述调整因子与诸如来自语言模型字典的数据和来自平均聚类激活状态表的新鲜度因子这样的其它数据组合在一起,以便确定与字候选项相关联的概率。基于所述概率向用户显示一个或多个字候选项。
本文中描述的技术使用来自一些源的数据来向文本输入提供对上下文知晓的自动包括,这允许实现动态地标识话题,并且基于所述话题提供字建议。根据各种实施例,数据结构可以存储专用于应用和人员的使用数据。使用来自全部两者数据结构的所述数据来找到话题上相关的字的分组。基于一个或多个已计算的概率,从话题上相关的字的所述分组中选择字候选项。
应当认识到,上面描述的主题还可以被实现为受计算机控制的装置、计算机进程、计算***或者诸如计算机可读介质这样的制品。通过阅读下面的详细说明和回顾关联的图,这些和各种其它的特征将是显而易见的。
提供本概要以便以简化形式介绍下面在详细说明中进一步描述的概念的选择。本概要不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在本摘要被用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开内容的任何部分中指出的任何或者全部缺点的实现方式。
附图说明
图1是示出用于提供话题知晓的字建议的若干示例部件的方框图;
图2是图示了用于对被用于提供话题知晓的字建议的数据进行处理的一个图示性的例程的方面的流程图;
图3A和3B描述了可以在使用存储和使用相关表的设备期间被使用的例程;
图4是示出字与字聚类之间的相关度的结构的示例;
图5是图示了用于对聚类数据进行处理的示例例程的方面的流程图;
图6是图示了能够实现本文中呈现的技术和工艺的方面的计算***的图示性的计算机硬件和软件架构的计算机架构图。
图7是图示了能够实现本文中呈现的技术和工艺的方面的分布式计算环境的图。
图8是图示了能够实现本文中呈现的技术和工艺的方面的计算设备的计算设备架构的计算机架构图。
具体实施方式
本文中描述的技术提供话题知晓的字建议。在一个方面中,一种***被配置为,接收包含多个字的输入。通过使用该输入,***确定有条件的计数和无条件的计数。***然后基于无条件的计数和有条件的计数确定针对多个字中的字对的调整因子。***然后生成定义多个字聚类的数据结构,其中,多个字聚类中的单个字聚类包括多个字中的至少一个字。***然后基于字对的单个字之间的公共聚类的数量重构针对字对的调整因子。将调整因子与诸如来自语言模型字典的数据和来自平均聚类激活状态表的新鲜度因子这样的其它数据组合在一起,以便确定与字候选项相关联的概率。基于概率向用户显示一个或多个字候选项。
本文中描述的技术使用来自一些源的数据来向文本输入提供对上下文知晓的自动包括,这允许实现动态地标识话题,并且基于话题提供字建议。根据各种实施例,数据结构可以存储专用于应用和人员的使用数据。使用来自全部两者数据结构的数据来找到话题上相关的字的分组。基于一个或多个已计算的概率,从话题上相关的字的分组中选择字候选项。
尽管在结合计算机***上的操作***和应用程序的执行而执行的程序模块的一般上下文中呈现了本文中描述的主题,但本领域的技术人员将认识到,可以结合其它类型的程序模块执行其它实现方式。概括地,程序模块包括例程、程序、组件、数据结构和执行特定的任务或者实现特定的抽象数据类型的其它类型的结构。此外,本领域的技术人员将认识到,本文中描述的主题可以利用其它计算机***配置来实践,这样的计算机***配置包括手持型设备、多处理器***、基于微处理器的或者可编程的消费电子产品、微型计算机、大型计算机等。
在下面的详细说明中,参考了附图,附图形成其一部分,并且通过图示特定的实施例或者示例被示出。现在参考附图,其中,相似的数字贯穿若干附图表示相似的元素,将描述用于提供话题知晓的字建议的计算***和方法的方面。
图1是示出用于提供话题知晓的字建议的本文中公开的一种说明性的机制的方面的***图。如图1中所示,***100可以包括远程计算机101、计算设备110和网络120。计算设备110可以运行为独立的设备,或者计算设备110可以结合远程计算机101运行。如可以认识到的,通过诸如网络120这样的一个或多个局域和/或广域网使远程计算机101和计算设备110互连。应当认识到,可以使用比图1中所图示的网络连接多得多的网络连接。
计算设备110可以包括本地存储器180,本地存储器180存储输入数据103、语言模型字典113、输出115和本文中描述的其它数据。计算设备110还可以包括被配置为管理用户与计算设备110之间的交互的程序模块111。程序模块111可以采用游戏应用、办公生产应用、操作***组件或者具有经由语声或者文本通信与用户交互的特征的任何其它应用的形式。
计算设备110还可以包括被配置为结合麦克风116和扬声器117运行的语声模块113。语声模块113可以包括用于将用户语声转换到诸如文本或者二进制格式这样的计算机可读格式的机制。如可以认识到的,语声模块113可以包括用于将用户的语音转换到计算机可读格式的一些已知技术。也可以通过输入设备119从用户接收文本,输入设备119可以包括用于接收文本的任何设备。这可以包括显示界面上的软键盘、硬件键盘或者任何其它设备。
语声模块113还可以结合远程计算机101上的预测服务107运行,以便捕获并且解释在计算设备110处被接收的语声输入。如可以认识到的,语声设备107可以使用多计算机***的资源来转换、转录或者以其它方式解释任何类型的语声输入。计算设备还110可以包括接口118,接口118可以是采用用于向用户传送文本和图形的可视的显示器的形式的。计算设备110还可以包括输入设备119,输入设备119可以是采用键盘或者用于接收对于程序模块111的任何形式的用户输入的任何其它类型的硬件的形式的。
在某些图示性的示例中,程序模块111是操作***、诸如字处理应用和电子邮件应用这样的可以包括任何通用功能的应用、或者诸如棒球应用或者梦幻足球应用这样的可以提供专业功能的应用的软件组件。程序模块111可以被配置为利用输入设备119运行和/或语声模块113可以使用键盘或者诸如语声或者移动手势这样的任何其它形式的通信提供文本条目。在诸如上面描述的那些实施例这样的实施例中,本文中公开的技术可以被用于通过在用户正在键入文本时向用户建议字来增强用户体验。如下面更详细描述的,本文中描述的技术标识在上下文上相关的主题和与所标识的主题相关的字。如可认识到的,上面描述的程序模块111的示例出于图示的目的被提供,而将不被理解为限制。
远程计算机101可以是采用被配置为存储输入数据103、语言模型字典113、输出115和与用户和相关的应用相关联的其它信息的服务器计算机或者一些服务器计算机的形式的。如可认识到的,远程计算机101可以存储被存储在计算设备110上的数据的重复的副本,允许集中式服务对诸如计算设备110这样的一些客户端计算机进行协调。
现在转向图2,示出并且在下面描述了用于提供话题知晓的字建议的例程200的方面。还应当理解,本文中公开的操作不必按照任何特定的次序被呈现,并且,按照替换的(一个或者多个)次序对操作中的一些操作或者全部操作的执行是可能的并且被设想。为了易于描述和图示,已按照所演示的次序呈现了操作。操作可以被添加、省略和/或同时地执行,而不脱离所附权利要求的范围。
还应当理解,所图示的方法可以在任何时间处被结束,并且不需要完整地被执行。方法的一些或者全部操作和/或基本上等价的操作可以通过如下面定义的被包括在计算机存储介质上的计算机可读指令的执行被执行。如本说明和权利要求中使用的术语“计算机可读指令”及其变型在本文中被扩展地用于包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以在各种***配置上被实现,这样的***配置包括单处理器或者多处理器***、微型计算机、大型计算机、个人计算机、手持型计算设备、基于微处理器的、可编程的消费电子产品、其组合等。
因此,应当认识到,本文中描述的逻辑操作可以被实现为(1)被计算机实现的动作的序列或者在计算***上运行的程序模块,和/或(2)计算***内的互连的机器逻辑电路或者电路模块。实现方式是取决于计算***的性能和其它要求的选择的问题。相应地,本文中描述的逻辑操作被不同地称为状态、操作、结构化设备、动作或者模块。这些操作、结构化设备、动作和模块可以使用软件、固件、专用数字逻辑及其任何组合来实现。
如将在下面结合图6详细描述的,例程200和其它例程的操作在本文中被描述为至少部分上被诸如程序模块111或者图6中所示的其它应用程序这样的程序模块实现。尽管下面的图示提到程序模块111,但可以认识到,例程200的操作也可以以许多其它方式被实现。例如,例程200可以通过使用在客户端和服务器两者上运行的程序模块的组合来实现。例如,例程200的操作中的一个或多个操作可以替换地或者额外地至少部分上由作为用于提供文本建议的服务的宿主的远程计算机101实现。
参考图2,例程200在操作202处开始,在该处,程序模块111获得被用作样本集合的输入文本数据103。输入文本数据103可以是采用任何格式的,并且可以是来自任何资源的。例如,输入文本数据103可以是来自电子邮件***、编著应用或者可以存储、处理或者生成文本的任何其它应用的文本文件。输入文本数据103还可以包括来自诸如棒球应用这样的专业应用的文本。输入文本数据103还可以包括与特定的用户相关联的文本。输入文本数据103可以是任何大小的。在某些配置中,文件或者文本块可以包括14个字,并且***100可以接收一些这样的块和/或文件。
如将在本文中描述的,在某些场景下,文本不必是按照特定的次序的。例如,对于与本文中描述的技术一起使用,字的特定的序列不需要遵循电子邮件的句子。例如,在某些配置中,输入可以被***成文本的块。在这样的配置中,可以按照任意次序处理文本的块。不论文本的块的次序如何,本文中描述的技术图示了如何将字与话题相关联以便产生被用于对字进行预测的概率和提供字候选项。另外,在某些配置中,输入文本数据103中的字的序列可以被保存以用于进一步的处理。例如,如在下面描述的,输入文本数据103可以使用字的特定的序列来确定诸如条件概率和其它值这样的值。
接下来,在操作204中,***100确定针对输入文本数据103的字的无条件的计数。无条件的计数是不考虑排序或者上下文的情况下的字的原始计数。在某些配置中,可以例如从诸如来自应用的文本块或者用户简档这样的任何数据源导出无条件的计数。
无条件的计数
it was the best of times
1 1 1 1 1 1
表1。
然后,在操作206中,***100确定针对在输入文本数据103中被找到的字对的有条件的计数。在某些配置中,其是考虑上下文的原始计数。具体地,在一个示例中,其是对在文本的同一个块中一个字在另一个字之后出现多少次的计数。在表2中,例如,计数是“best”在“it”之后出现多少次。
有条件的计数
it, best 1
it, of 1
it, times 1
was, of 1
was, times 1
the, times 1
表2。
接下来,在操作208处,***100确定指示输入文本数据103中的两个字之间的相关度的值。两个字之间的相关度通过在本文中被称为“调整因子”的值来量化,“调整因子”是假设一个字在我们具有另一个字的情况下的概率的改变。
可以使用一些不同的技术计算调整因子。例如,字“best”与“times”之间的相关度可以具有基于组合至少两个噪声滤波器的过程的调整因子。一种或多种技术可以被用于组合滤波器,包括被称为贴现因子的技术。尽管本文中的公开内容描述了用于确定调整因子的特定的方法,但可能存在用于确定该值的一些技术。例如,本文中描述的技术可以使用任何用于基于有条件的计数和无条件的计数确定调整因子的技术。
如本文中描述的,配置可以使用用于通过对无条件概率应用调整因子确定条件概率的任何技术。这允许相关的话题的上下文知晓。所确定的调整因子可以被与字对相关联,并且被存储在具有任何格式的数据结构中。出于图示的目的,存储具有调整因子的字对的数据结构在本文中被称为“相关表”。
接下来,在操作210处,***100确定字聚类的数量。概括地,根据输入文本数据103,对字组合进行分组。分组可以包括任何数量的字,例如,一个字上至超过数千的更大数量的字。图4图示了一些字聚类301-305的示例。出于图示的目的,虚线中的每个椭圆形代表一个字聚类。在该示例中,第一字聚类301包括字“it”和“was”,第二字聚类303包括字“best”和“times”,并且第三字聚类305包括字“was”、“best”和“times”。当然,可能存在比本文中所示的聚类更多的聚类,出于图示的目的提供了这些聚类。
此外在图4中示出了,提供了用于示出输入文本数据103的字之间的相关度的字相关度模型300。例如,该表示图示了字之间的关系和每个字之间的对应的调整因子。例如,与字对“it”和“was”相关联的调整因子等于一(1),与字对“best”和“times”相关联的调整因子等于二(2),并且与字对“was”和“times”相关联的调整因子等于二点五(2.5),等等。
表示聚类的一个示例数据结构可以由具有与聚类中的每个字相关联的聚类标识符(“聚类ID”)的数据的表表示。例如,表可以包括下面的结构。
包含字的聚类(ID)的列表
Best 1,17,250,117,32
times 17,214,112,1,20
was 12,34,23,18,20
表3。
在该示例中,字“best”处在具有ID“1,17,250,117”的四个聚类中,并且字“times”处在具有ID“17,214,112,1”的四个聚类中。
在某些配置中,确定聚类的过程还涉及对与聚类相关联的数据进行过滤的过程。概括地,过滤过程涉及对与聚类相关联的数据进行排名和对不满足阈值的数据进行过滤。
在某些配置中,与字对相关联的调整因子被用于确定聚类密度。一些不同的技术可以被用于确定聚类密度,聚类密度表示每个聚类的相关性。例如,聚类密度可以是针对特定的聚类中的字的每个调整因子的平均值。在某些配置中,聚类密度被用于相对于其它聚类对聚类进行排名。如本文描述的,那些排名被本文中的技术用于针对相关性对聚类的优先级进行排序。例如,图4中所示的第三聚类假设该聚类中的字是“was”、“best”和“times”,则聚类密度将是1 + 2.5 + 2 / 3 = 2.17。
在某些配置中,可以通过使用其它数据对聚类进行排名。在表3上示出了图示了这样的配置的一个示例。如所示的,实际上按照正在考虑的字与被包含在聚类中的字之间的平均相关度对聚类进行排名。例如,字“times”与聚类17中的每个单个字之间的平均相关度高于字“times”与任何其它单个聚类中的字之间的平均相关度。该技术可以被用作与使用聚类密度的技术不同的过程。如本文中描述的,使用聚类密度的技术将一个聚类中的字中的每个字与彼此进行比较,而非将一个字(其可以或者可以不处在一个聚类中)与该聚类中的字中的全部字进行比较。在某些配置中,使用字与聚类中的单个字之间的平均相关度的技术可以结合使用聚类密度的技术进行使用。
另外,可以基于该已生成的数据对表3的数据进行过滤。例如,可以基于满足阈值的聚类密度对与每个字相关联的一些聚类进行过滤。因此,取代使用聚类ID的详尽的列表,可以通过具有数据集的该经过滤的版本来节省计算资源和潜在地节省网络带宽。可以使用用于对聚类数据进行处理的一种或多种技术。在图5中示出并且在下面更详细描述了图示性的示例。
接下来,在操作212处,***100基于已确定的聚类数据重构调整因子。在某些配置中,两个字之间的一些相关度可以被用于重构调整因子。例如,在表3中,针对字对“best”和“times”的调整因子可以基于存在这些字之间的两个公共聚类(例如,聚类1和聚类17是这些字之间的公共聚类)的事实被重构。
在某些配置中,作为可选的特征,调整因子的重构可以是基于每个字的聚类的排名的。在涉及字对“best”和“times”的表3的当前的示例中,不仅公共聚类的数量可以被用于重构调整因子,相关的聚类的位置也可以被使用。例如,聚类ID = 17和聚类ID =1被相对高地排名,因此,该排名可以具有比聚类ID =20更大的影响,其中,聚类ID = 20被相对低地排名。
本文中公开的用于确定针对字对的例如是相关度这样的经重构的调整因子的技术可以使用用于使用聚类数据和/或表示聚类密度的数据确定针对任何字对的相关度或者可量化的关系的任何过程。在操作212中,经重构的调整因子和关联的字对可以被存储在例如过程的输出115这样的数据结构中。在表4中示出了具有原始调整因子的相关表的一个示例。在该示例中,值5491使得基于“it”的出现的字“best”出现的概率增加到大约一百万倍。在下面描述并且在上面概括了涉及激活度系数的确定的相关技术的示例。
相关表
it,best 5491.4153671374806
it,of 5402.7723901902709
it,times 5301.2354238547159
was,of 5280.9571079257323
was,times 5190.6010198867662
the,times 5168.6583668275723
表4。
如在本文的其它小节中描述的,相关表的数据、输出115可以被用于调整与字候选项相关联的新鲜度值和一个或多个概率的一种或多种技术使用。因此,在操作212之后,例程200可以过渡到本文中描述的另一个例程,或者由例程200产生的数据可以被本文中描述的其它例程和/或技术使用。
概括地描述了可以在使用存储和使用相关表的设备期间被使用的图3A和图3B描述的例程。具体地,表3A是用于在字的一部分被用户键入时生成字候选项概率并且基于概率建议字候选项的示例例程250。图3B是用于基于完整的字的接收更新诸如新鲜度值这样的数据的示例例程275。
尽管在两个单独的图中示出了这些例程,但可以认识到,这些技术可以被组合并且在相同的程序中运行和并行地运行。因此,在用户正在键入不完整的字的字符时,例程250的操作被用于找到字候选项。在字候选项被选择或者完整的字被打出并且键入时,例程275的操作被用于更新被用于建议字候选项的数据。通过提供这两个例程的好处,可以在用户正在键入文本时标识在上下文上相关的话题。
图3A图示了用于提供针对具有部分上完整的字的文本条目的字建议的示例过程。例程在操作251处开始,在该处,设备接收输入文本条目。在字符被键入时,使用本文中描述的技术对字符进行处理,以便生成字候选项。
在字符被接收时,例程250前进到操作253处,在该处,***100确定与文本条目相关联的一个或多个字。例如,如果字符“P”和“I”被键入,则在具有拥有输入的字符组合的字的一个或多个资源中搜索该模式。在一个示例中,字的列表可以来自字典或者语言模型字典。例如,“P”和“I”的条目可以返回来自字典或者数据库的原始候选项,这可以返回字“pie”、“piece”、“pire”、“pit”、“pizza”和“pine”。出于图示的目的,在操作253中确定的字在本文中也被称为“原始候选项”。
接下来,在操作255处,***100标识与原始候选项相关联的聚类。操作255的处理可以包括:在表示一些聚类的数据结构内搜索原始候选项。该操作的输出可以包括与字相关联的一些聚类ID。在上面的示例中,***100将产生包含字“pie”、“piece”、“pire”、“pit”、“pizza”和“pine”的聚类的聚类ID。
接下来,在257处,***100基于操作253中确定的聚类获得新鲜度因子。在某些配置中,可以从诸如表5中所示的聚类激活状态表这样的数据结构导出新鲜度因子。
聚类激活状态表
聚类ID 新鲜度值
0 -> 0.0 [字1,字2,…]
1 -> 1.5 [字3,字4,…]
2 -> -2.0 [字5,字6,…]
3 -> -1.5 [字7,字8,…]
4 -> -3.0 [字9,字10,…]
256 -> -6.0 [字(n-1),字n,…]
表5。
在该示例中,定义聚类激活状态的数据结构可以包括聚类ID和关联的新鲜度值。数据结构还可以包括单个聚类的字和指向单个聚类的字的指针。如将在下面描述的,新鲜度值指示聚类的字多么新近地被键入设备。因此,概括地,新鲜度值将标识具有新近被使用的字的聚类。在操作257中,通过使用在操作255中获得的聚类ID,确定针对每个聚类的新鲜度值。
接下来,在操作259处,***100基于新鲜度值确定调整因子。可以使用基于新鲜度值的任何合适技术确定在操作259中确定的调整因子。在一个示例中,对于一个特定的原始候选项字,可以汇总针对全部关联的聚类的新鲜度值。在另一个示例中,聚类激活状态表可以包括一些系数,可以作为乘数将这些系数应用于被用于确定调整因子的值。然后,在操作261处,***100从语言字典或者另一个资源中获得语言模型值。在一个示例中,一般文本预测字典为每个字指派概率。在某些配置中,在本文中被称为“使用值”和“语言模型值”的该概率是字一般在空上下文中被使用的原始概率。基于在操作253中获得的原始字候选项,可以获得关联的语言模型。
然后,在操作265处,***100基于语言模型值和调整因子确定候选项概率。可以在操作265中使用任何用于组合这些值来确定概率的技术。
接下来,在操作267处,***100基于候选项概率产生显示字候选项的输出。可以认识到,可以重复例程250的一些或者全部操作,以便获得针对多个字候选项的候选项概率。然后可以向用户显示多个字候选项。显示可以基于针对单个字候选项的候选项概率对字候选项进行排序,其中,排序将具有最高候选项概率的字候选项定位在列表的起始处附近。
现在转向图3B,描述了用于更新诸如新鲜度值这样的数据的示例例程275的细节。如上面概括的,在字候选项被选择或者完整的字被打出并且键入时,使用例程275的操作来更新被用于建议字候选项的数据。
例程在操作276处开始,在该处,设备接收包括完整的字的输入。如上面指出的,过程的该部分可以包括其中用户打出完整的字或者其中用户基于建议选择完整的字的用户输入。可以在该操作中使用任何形式的输入,包括从另一个机器接收的文本。输入可以是来自键盘和/或涉及用户的语声和/或移动的基于手势的技术的。
接下来,在操作278处,基于输入更新定义聚类激活状态的数据结构。参考表5,定义聚类激活状态的数据结构可以包括聚类ID和关联的新鲜度值。数据结构还可以包括单个聚类的字或者指向单个聚类的字的指针。在操作278中,在字被输入指示、键入或者选择时,在优先级上提升包含字的聚类。例如,参考表5,如果[字7]被接收,则可以修改聚类ID = 3的新鲜度值。新鲜度值可以被修改为指示关联的聚类是更相关或者当前的值。可以在操作278中使用用于基于包括关联的字的输入的时序划分聚类的优先级的任何值或者技术。
除了在字被接收时调整新鲜度值之外,***100还可以在一段时间内持续地将聚类激活状态表的新鲜度值修改回例如是零值这样的正常点。新鲜度值的该衰减帮助***100监控特定的字的使用趋势,并且帮助将当前的话题与最近还未被提出的话题区分开。
在某些配置中,本文中公开的技术标识默认的上下文,默认的上下文在本文中也被称为默认的话题。概括地,默认的上下文的选择可以是基于定义聚类简档的数据结构的。在一个方面中,聚类简档表示特定的上下文中的平均聚类激活状态。例如,针对诸如梦幻足球程序这样的特定应用的简档的聚类可以存储针对使用应用的每个人员的诸如平均聚类激活状态这样的相关数据。除了存储针对特定应用的聚类简档之外,***100可以存储并且更新与单个用户相关的平均聚类激活状态数据。
因此,在人员使用应用时,本文中描述的技术可以使用针对应用的聚类简档和针对用户的聚类简档。可以对来自每个聚类简档的数据求平均,以便标识和/或生成可以被用于标识字候选项的数据。
这些示例仅出于图示的目的被提供,而将不被理解为限制。因为任何类型的应用可以具有关联的聚类简档。例如,可以针对电子邮件程序针对全部用户维护聚类简档。如可以认识到的,可以在用户提供文本条目时更新平均聚类激活状态数据的新鲜度值。与应用相关的上下文和/或与用户相关的上下文可以帮助标识更相关的话题和/或更相关的字候选项。本文中描述的技术可以访问一个或多个聚类简档,以便获得、更新和/或生成被用于获得字候选项的新鲜度值。
在如本文中描述的那样使用聚类时,在其中值被使用的过程中可以存在两个阶段。例如,如上面描述的,在用户在文档中打出字时,本文中公开的技术可以变更激活度系数。然后,在字在随后的时间处被打出时,本文中公开的技术参考激活度系数。
可以使用值来量化字与聚类的关联度,该值在本文中也被称为“激活度系数”。例如,字可以具有与聚类的“强”关联或者与聚类的“弱”关联。在一个具体的示例中,如果在文档中被较早地打出的字是与一个聚类强相关的,并且被随后打出的字是与同一个聚类强相关的,则效果是强的。在另一个示例中,如果在文档中被较早地打出的字是与一个聚类弱相关的,并且被随后打出的字是与同一个聚类弱相关的,则效果是弱的。在又一个示例中,如果在文档中被较早地打出的字是与一个聚类强相关的,并且被随后打出的字在同一个聚类内是弱的,则效果是处在强与弱之间的某处的。本文中描述的方程使得能够实现两个或更多个值的组合维持与原始值相同的尺度。示例出于图示的目的被提供,而将不被理解为限制,因为可以以其它方式组合两个值,这样的方式中的一些方式可以包括两个值的相乘。
现在参考图5,示出了并且在下面描述了图示了用于对聚类数据进行处理的示例例程的方面的流程图。在某些情况下,通过本文中公开的技术创造的聚类可能受约束于进一步的处理,因为它们可以具有拥有每字仅一个聚类的属性。在一个图示性的示例中,考虑其中每个字具有四个聚类槽的样本数据集。
例程在操作501处开始,在该处,计算设备按照相关度对聚类进行排序。例如,给定字,则计算机可以按照与该字的平均相关度的降序对聚类的列表进行排序。可以将聚类排序到列表中。
接下来,在操作503处,可以建立槽和阈值。在该示例中,槽被设置为1,并且包括阈值被设置为八十(80)。这些值出于图示的目的被提供,并且将不被理解为限制,因为可以使用其它合适的值。然后,在操作504处,计算设备从列表中检索出最高聚类。
接下来,在操作505处,计算设备确定相关度是否大于阈值。如果相关度不大于阈值,则例程500前进到操作507,在该处,例程500前进到下一个槽,并且降低阈值。操作507中所示的示例是出于图示的目的的,可以使用任何合适的技术降低阈值。接下来,在操作509处,计算设备确定是否存在任何剩余的槽。如果存在剩余的槽,则例程500返回到操作505。如果不再存在任何剩余的槽,则例程500终止。
在操作505处,如果计算设备确定相关度大于阈值,则例程500前进到操作511,在该处,计算设备用聚类填充槽。在操作511之后,在操作513处,计算设备移到下一个槽。在该示例中,槽被递增,并且阈值被降低。再次地,图5的示例出于图示的目的被提供,可以使阈值降低任何合适的值。
接下来,在操作515处,计算设备确定是否存在任何剩余的槽。如果存在剩余的槽,则例程500返回到操作504,在该处,从列表中检索出下一个聚类。如果不再存在任何剩余的槽,则例程500终止。
通过使用在上面被描述并且在图5中被示出的示例,下面描述了涉及对激活度系数的确定的示例。在该示例中,语言模型维护表示每个聚类的“激活状态”的向量。以对字或者多字实体(MWE)的使用应当“激活”包含该字或者MWE的聚类中的每个聚类为前提,并且随后应当比较不活跃的聚类中的建议更优选更活跃的聚类中的建议。出于图示的目的,MWE指n-gram,n-gram是有意义的单元,并且其意义不是与其单个字的意义强相关的(例如,“心脏病”、“热狗”)。
此外,在该示例中,计算设备被配置为,维护被打出的最后的50个字的循环缓冲器。因此,在第51个字被打出时,计算设备可以在计算设备激活第51个字的聚类之前反转第1个字的聚类激活度。存在用于处置MWE的多种方法,但技术可以在我们检测MWE已被打出时反转针对组成MWE的单个字的激活度。例如,“热狗”的意义是与“热”和“狗”的意义在语义上完全不相关的。该示例出于图示的目的被提供,并且将不被理解为限制。可以使用其它技术来控制激活度,使得它不会无界限地增长。例如,取代上面描述的反转方法,激活度可以随时间衰减。在一个图示性的示例中,每当字被打出时,激活度可以被减小预定的量,例如,百分之2或者另一个量。
来自包括上面提供的示例这样的各种技术的聚类成员排名可以确定如下两者:在字被打出时多少聚类被激活和多少被建议的字的代价被其聚类的激活水平影响。例如,在字被打出时,可以使用下面的例程:
对于每个槽:
如果字在该槽中具有聚类:
将聚类的激活度提升与该槽相关联的激活度系数
在语言模型生成候选项时:
对于每个槽:
如果候选项在该槽中具有聚类:
将候选项的代价调整与该槽相关联的激活度系数乘以聚类的当前激活度
可以如下地针对每个槽确定“激活度系数”。参考上面的并且在图5中被示出的示例,每个槽可以具有针对将被放置在那儿的聚类的特定的平均相关度阈值,例如分别为80、40、20和10。可以认识到,在特定的槽中字与聚类的典型相关度将处在阈值与下一个最高阈值之间的中途,例如乘以3/2。在某些配置中,结果可以来自取平方根,因为计算可以在聚类被激活和候选项的代价被评估这两个时候乘以该系数。
例如,给定其中全部四个聚类槽被填充的字,将其打出一次可以将第二次打出其的代价减少对数概率点,在具有给定的尺度的特定实现方式中,可以与大致上双倍于其出现在接下来的50个字中的概率相对应。
在某些配置中,过程可以归一化跨全部聚类的激活状态,使得全部聚类的激活度的和总是零。每当聚类被激活特定的量时,全部其它聚类被停用小的量,以便维持该不变量。例如,如果过程将(255个中的)一个聚类激活“x”点,则过程将把全部其它聚类的激活度调整“-X/254”点。如果不是出于此,则其将产生针对字出现在任何聚类中的概率优势,因此不出现在任何聚类中的非常常见的字(诸如“那个”)的有效平均概率将不出于任何原则性的原因降低。通过允许某些聚类具有负的激活状态,本文中的技术教导语言模型相比于这些聚类中的字而更优选常见的未经聚类的字。
图6示出了能够执行上面描述的用于提供话题知晓的字建议的程序组件的诸如计算设备101(图1)这样的计算机的示例计算机架构600的额外的细节。因此,图6中所图示的计算机架构600图示了服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板型计算机和/或膝上型计算机的架构。计算机架构600可以被用于执行本文中呈现的软件组件的任何方面。
图6中所图示的计算机架构600包括中央处理单元602(“CPU”)、包括随机存取存储器606(“RAM”)和只读存储器(“ROM”)608的***存储器604和将存储器604耦合到CPU 602的***总线610。包含诸如在启动期间帮助在计算机架构600内的元件之间传输信息的基本例程的基本输入/输出***被存储在ROM 608中。计算机架构600进一步包括大容量存储设备612,大容量存储设备612用于存储操作***607和包括但不限于程序模块111和输出115的一个或多个应用程序。
通过被连接到总线610的大容量存储装置控制器(未示出)将大容量存储设备612连接到CPU 602。大容量存储设备612及其关联的计算机可读介质为计算机架构600提供非易失性存储装置。尽管被包含在本文中的对计算机可读介质的描述指诸如固态驱动器、硬盘或者CD-ROM驱动器这样的大容量存储设备,但本领域的技术人员应当认识到,计算机可读介质可以是任何可以被计算机架构600访问的可用的计算机存储介质或者通信介质。
通信介质将计算机可读指令、数据结构、程序模块或者其它数据包括在诸如载波这样的经调制的数据信号或者其它传输机制中,并且包括任何递送介质。术语“经调制的数据信号”表示使其特性中的一个或多个特性以使得将信息编码在信号中的方式被变更或者设置的信号。通过示例而非限制,通信介质包括诸如有线网络或者直连线连接这样的有线介质和诸如声学、RF、红外线和其它无线介质这样的无线介质。以上各项中的任何项的组合也应当被包括在计算机可读介质的范围内。
通过示例而非限制,计算机存储介质可以包括使用任何用于存储诸如计算机可读指令、数据结构、程序模块或者其它数据这样的信息的方法或者技术实现的易失性和非易失性、可移除和非可移除介质。例如,计算机介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或者其它固态存储器技术、CD-ROM、数字多功能光盘(“DVD”)、HD-DVD、BLU-RAY或者其它光学存储装置、盒式磁带、磁带、磁盘存储装置或者其它磁性存储设备或者可以被用于存储期望的信息并且可以被计算机架构600访问的任何其它介质。出于权利要求的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型不包括波、信号和/或其它暂时性的和/或非有形的通信介质本身。
根据各种配置,计算机架构600可以使用通过网络756和/或另一个网络(未示出)的与远程计算机的逻辑连接在连网的环境下运行。计算机架构600可以通过被连接到总线610的网络接口单元614连接到网络756。应当认识到,网络接口单元614也可以被用于连接到其它类型的网络和远程计算机***。计算机架构600还可以包括用于从一些其它设备接收和处理输入的输入/输出控制器616,这样的其它设备包括键盘、鼠标或者电子手写笔(未在图6中示出)。类似地,输入/输出控制器616可以向显示屏、打印机或者其它类型的输出设备(也未在图6中示出)提供输出。
应当认识到,本文中描述的软件组件在被加载到CPU 602中并且被执行时,可以将CPU 602和总体计算机架构600从通用计算***变换成被定制为用于促进本文中呈现的功能的专用计算***。可以由任何数量的晶体管或者其它分立的电路元件构造CPU 602,所述晶体管或者其它分立的电路元件可以单个地或者集体地采用任何数量的状态。具体地,CPU602可以响应于被包含在本文中公开的软件模块内的可执行指令而运行为有限状态机。这些计算机可执行指令可以通过指定CPU 602如何在状态之间转变来对CPU 602进行变换,因此对组成CPU 602的晶体管或者其它分立的硬件元件进行变换。
对本文中呈现的软件模块进行编码还可以变换本文中呈现的计算机可读介质的物理结构。在本说明的不同实现方式中,物理结构的具体的变换可以取决于各种因素。这样的因素的示例可以包括但不限于被用于实现计算机可读介质的技术,不论计算机可读介质被表征为主存储装置还是辅存储装置等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文中公开的软件可以通过变换半导体存储器的物理状态被编码在计算机可读介质上。例如,软件可以变换组成半导体存储器的晶体管、电容器或者其它分立的电路元件的状态。软件还可以变换这样的部件的物理状态,以便在其上存储数据。
作为另一个示例,本文中公开的计算机可读介质可以使用磁性或者光学技术来实现。在这样的实现方式中,本文中呈现的软件可以在软件被编码在其中时变换磁性或者光学介质的物理状态。这些变换可以包括改变给定的磁性介质内的特定的位置的磁性特性。这些变换还可以包括改变给定的光学介质内的特定的位置的物理特征或者特性,以便变更那些位置的光学特性。物理介质的其它变换是可能的,而不脱离本说明的范围和精神,所提供的前述示例仅用于促进本讨论。
鉴于以上内容,应当认识到,许多类型的物理变换在计算机架构600中发生,以便存储和执行本文中呈现的软件组件。还应当认识到,计算机架构600可以包括其它类型的计算设备,包括手持型计算机、嵌入式计算机***、个人数字助理和本领域的技术人员已知的其它类型的计算设备。还设想计算机架构600可以不包括图6中所示的部件中的全部部件,可以包括未在图6中明确地示出的其它部件,或者可以使用与图6中所示的架构完全不同的架构。
图7描绘了能够执行本文中描述的用于提供话题知晓的字建议的软件组件的图示性的分布式计算环境700。因此,图7中所图示的分布式计算环境700可以被用于执行本文中呈现的软件组件的任何方面。例如,分布式计算环境700可以被用于执行web浏览器610、内容管理器105和/或本文中呈现的其它软件组件的方面。
根据各种实现方式,分布式计算环境700包括在网络704之上、结合网络704或者作为网络704的一部分运行的计算环境702。网络704可以是或者可以包括上面参考图5描述的网络756。网络704还可以包括各种接入网。一个或多个客户端设备706A-706N(在下文中被集体地和/或一般地称为“客户端706”)可以经由网络704和/或其它连接(未在图7中图示出)与计算环境702通信。在一种所图示的配置中,客户端706包括诸如膝上型计算机、台式计算机或者其它计算设备这样的计算设备706A;直板型或者平板型计算设备(“平板型计算设备”)706B;诸如移动电话、智能电话或者其它移动计算设备这样的移动计算设备706C;服务器计算机706D;和/或其它设备706N。应当理解,任何数量的客户端706可以与计算环境702通信。参考图6和8图示了并且在本文中描述了客户端706的两种示例计算架构。应当理解,所图示的客户端706和被图示并且在本文中被描述的计算架构是图示性的,并且决不应当被理解为是受限的。
在所图示的配置中,计算环境702包括应用服务器708、数据存储装置710和一个或多个网络接口712。根据各种实现方式,应用服务器708的功能可以由作为网络704的一部分或者与网络704通信地执行的一个或多个服务器计算机提供。应用服务器708可以托管各种服务、虚拟机、门户和/或其它资源。在所图示的配置中,应用服务器708托管用于托管应用或者其它功能的一个或多个虚拟机714。根据各种实现方式,虚拟机714托管用于提供话题知晓的字建议的一个或多个应用和/或软件模块。应当理解,该配置是图示性的,并且决不应当被理解为是限制性的。应用服务器708还托管或者提供对一个或多个门户、链接页面、web站点和/或其它信息(“web门户”)716的访问。
根据各种实现方式,应用服务器708还包括一个或多个邮箱服务718和一个或多个消息传送服务720。邮箱服务718可以包括电子邮件(“电子邮件”)服务。邮箱服务718还可以包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务和/或其它服务。消息传送服务720可以包括但不限于即时消息传送服务、聊天服务、论坛服务和/或其它通信服务。
应用服务器708还可以包括一个或多个社交网络服务722。社交网络服务722可以包括各种社交网络服务,包括但不限于用于共享或者发布状态更新、即时消息、链接、照片、视频和/或其它信息的服务;用于评论或者显示对文章、产品、博客或者其它资源的兴趣的服务;和/或其它服务。在某些配置中,社交网络服务722由以下各项提供或者包括以下各项:FACEBOOK社交网络服务、LINKEDIN专业网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事社交网络服务等。在其它配置中,社交网络服务722由可以或者可以不被明确地称为社交网络提供商的其它服务、站点和/或提供商提供。例如,某些web站点允许用户在诸如读已发布的文章、对货物或者服务进行评论、发布、协作、游戏等这样的各种活动和/或上下文期间经由电子邮件、聊天服务和/或其它装置与彼此交互。这样的服务的示例包括但不限于来自Redmond,Washington的微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其它服务是可能的,并且被设想。
社交网络服务722还可以包括评论、博客和/或微博客服务。这样的服务的示例包括但不限于YELP评论服务、KUDZU回顾服务、OFFICETALK企业微博客服务、TWITTER消息传送服务、GOOGLE BUZZ服务和/或其它服务。应当认识到,服务的上面的列表不是详尽的,并且为了简洁起见,许多额外的和/或替换的社交网络服务722未在本文中被提到。因此,上面的配置是图示性的,并且决不应当被理解为是受限的。根据各种实现方式,社交网络服务722可以托管用于提供本文中描述的用于提供话题知晓的字建议的功能的一个或多个应用和/或软件模块。例如,应用服务器708中的任一个应用服务器708可以进行通信或者促进本文中描述的功能和特征。例如,在电话或者任何其它客户端706上运行的社交网络应用、邮件客户端、消息传送客户端或者浏览器可以与网络服务722通信,并且甚至部分上促进上面就图4描述的功能。
如图7中所示,应用服务器708还可以托管其它服务、应用、门户和/或其它资源(“其它资源”)724。其它资源724可以包括但不限于文档共享、渲染或者任何其它功能。因此可以认识到,计算环境702可以提供本文中提供的本文中公开的概念和技术与各种邮箱、消息传送、社交网络和/或其它服务或者资源的集成。
如上面提到的,计算环境702可以包括数据存储装置710。根据各种实现方式,数据存储装置710的功能由在网络704上运行或者与网络704通信的一个或多个数据库提供。数据存储库710的功能还可以由被配置为托管用于计算环境702的数据的一个或多个服务器计算机提供。数据存储库710可以包括、托管或者提供一个或多个真实的或者虚拟的数据存储库726A-726N(在下文中被集体地和/或一般地称为“数据存储库726”)。数据存储库726被配置为,托管被应用服务器708使用或者创建的数据和/或其它数据。尽管未在图7中图示出,但数据存储库726还可以托管或者存储用于被推荐引擎执行的web页面文档、word文档、呈现文档、数据结构、算法和/或被诸如内容管理器105这样的应用程序或者另一个模块使用的其它数据。数据存储库726的方面可以是与用于存储文件的服务相关联的。
计算环境702可以与网络接口712通信或者被网络接口712访问。网络接口712可以包括用于支持两个或更多个计算设备之间的通信的各种类型的网络硬件和软件,包括但不限于客户端706和应用服务器708。应当认识到,网络接口712还可以被用于连接到其它类型的网络和/或计算机服务。
应当理解,本文中描述的分布式计算环境700可以利用可以被配置为执行本文中公开的软件组件的任何方面的任何数量的虚拟计算资源和/或其它分布式计算功能提供本文中描述的软件元件的任何方面。根据本文中公开的概念和技术的各种实现方式,分布式计算环境700作为服务向客户端706提供本文中描述的软件功能。应当理解,客户端706可以包括真实的或者虚拟的机器,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其它设备。因此,本文中公开的概念和技术的各种配置特别使被配置为访问分布式计算环境700的任何设备能够使用本文中描述的用于提供话题知晓的字建议的功能。在一个具体的示例中,如上面概括的,本文中描述的技术可以至少部分上由结合图7的应用服务器708运行的图6的web浏览器应用510实现。
现在转向图8,能够执行本文中描述的用于提供话题知晓的字建议的各种软件组件的计算设备的图示性的计算设备架构800。计算设备架构800适用于部分上由于形式因子、无线连接和/或电池供电的操作促进移动计算的计算设备。在某些配置中,计算设备包括但不限于移动电话、平板型设备、直板型设备、便携式视频游戏设备等。计算设备架构800适用于图7中所示的客户端706中的任一客户端706。此外,计算设备架构800的方面可以适用于传统的台式计算机、便携式计算机(例如,膝上型、笔记本、超便携式和上网本)、服务器计算机和诸如在本文中参考图6描述的其它计算机***。例如,下面在本文中公开的单触摸和多触摸方面可以被应用于使用触摸屏或者诸如启用触摸的轨迹板或者启用触摸的鼠标这样的某个其它的启用触摸的设备的台式计算机。
图8中所图示的计算设备架构800包括处理器802、存储器部件804、网络连接部件806、传感器部件808、输入/输出部件810和电力部件812。在所图示的配置中,处理器802与存储器部件804、网络连接部件806、传感器部件808、输入/输出(“I/O”)部件810和电力部件812通信。尽管在图8中未图示出单个部件之间的任何连接,但部件可以进行交互以便实现设备功能。在某些配置中,部件被布置为经由一个或多个总线(未示出)进行通信。
处理器802包括被配置为处理数据、执行一个或多个应用程序的计算机可执行指令并且与计算设备架构800的其它部件通信以便执行本文中描述的各种功能的中央处理单元(“CPU”)。处理器802可以被用于执行本文中呈现的软件组件的方面,并且具体地,至少部分上使用启用触摸的输入的那些软件组件。
在某些配置中,处理器802包括图形处理单元(“GPU”),GPU被配置为,加速被CPU执行的操作,这样的操作包括但不限于通过执行通用科学和/或工程计算应用以及诸如高分辨率视频(例如,720P、1080P和更高分辨率)、视频游戏、三维(“3D”)建模应用等这样的图形密集型计算应用而被执行的操作。在某些配置中,处理器802被配置为与分立的GPU(未示出)通信。在任何情况下,可以根据协处理CPU/GPU计算模型配置CPU和GPU,其中,应用的顺序的部分在CPU上执行,并且计算上密集的部分被GPU加速。
在某些配置中,处理器802是单片机(“SoC”)或者与下面在本文中描述的其它部件中的一个或多个部件一起被包括在单片机(“SoC”)中。例如,SoC可以包括处理器802、GPU、网络连接部件806中的一个或多个网络连接部件806以及传感器部件808中的一个或多个传感器部件808。在某些配置中,部分上使用封装体叠层(“PoP”)集成电路封装技术来制造处理器802。处理器802可以是单核或者多核处理器。
可以根据对于来自英国剑桥的ARM控股的许可可用的ARM架构来创建处理器802。替换地,可以根据诸如从加利福尼亚芒廷维尤的INTEL公司可得的x86架构等来创建处理器802。在某些配置中,处理器802是从加利福尼亚圣地亚哥的QUALCOMM可得的SNAPDRAGONSoC、从加利福尼亚圣塔克莱拉的NVIDIA可得的TEGRA SoC、从南韩首尔的SAMSUNG可得的HUMMINGBIRD SoC、从德克萨斯达拉斯的TEXAS INSTRUMENTS可得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个SoC的经定制的版本或者私有的SoC。
存储器部件804包括随机存取存储器(“RAM”)814、只读存储器(“ROM”)816、集成式存储装置存储器(“集成式存储装置”)818和可移除存储装置存储器(“可移除存储装置”)820。在某些配置中,RAM 814或者其部分、ROM 816或者其部分和/或某种组合RAM 814和ROM816被集成在处理器802中。在某些配置中,ROM 816被配置为,存储固件、操作***或者其部分(例如,操作***内核)和/或用于从集成式存储装置818和/或可移除存储装置820加载操作***的引导加载器。
集成式存储装置818可以包括固态存储器、硬盘或者固态存储器和硬盘的组合。集成式存储装置818可以被焊接或者以其它方式连接到处理器802和本文中描述的其它部件也可以被连接到其上的逻辑板。因此,集成式存储装置818被集成到计算设备中。集成式存储装置818被配置为,存储操作***或者其部分、应用程序、数据和本文中描述的其它软件组件。
可移除存储装置820可以包括固态存储器、硬盘或者固态存储器和硬盘的组合。在某些配置中,代替集成式存储装置818地提供可移除存储装置820。在其它配置中,作为额外的可选的存储装置来提供可移除存储装置820。在某些配置中,在逻辑上将移除存储装置820与集成式存储装置818组合,使得总的可用存储装置被使得作为总的组合的存储容量可用。在某些配置中,取代集成式存储装置818和可移除存储装置820的单独的存储容量而向用户示出集成式存储装置818和可移除存储装置820的总的组合的容量。
可移除存储装置820被配置为,被***可移除存储装置存储器槽(未示出)或者其它机制中,通过所述可移除存储装置存储器槽或者其它机制使可移除存储装置820***和固定,以便促进可移除存储装置820可以通过其与诸如处理器802这样的计算设备的其它部件通信的连接。可移除存储装置820可以被体现在各种存储器卡格式中,这样的存储器卡格式包括但不限于PC卡、压缩闪存卡、存储棒、安全数字(“SD”)、迷你SD、微型SD、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或者通用SIM(“USIM”)、私有的格式等。
可能理解,存储器部件804中的一个或多个存储器部件804可以存储操作***。根据各种配置,操作***包括但不限于来自华盛顿的雷德蒙德的微软公司的WINDOWS MOBILEOS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自加利福尼亚的PaloAlto的惠普公司的PALM WEBOS、来自加拿大的安大略的Waterloo的运动研究有限公司的BLACKBERRY OS、来自加利福尼亚的Cupertino的苹果公司的IOS和来自Mountain View的Google公司的ANDROID OS。设想了其它操作***。
网络连接部件806包括无线广域网部件(“WWAN部件”)822、无线局域网部件(“WLAN部件”)824和无线个域网部件(“WPAN部件”)826。网络连接部件806促进去往和来自网络856或者另一个网络的通信,网络826和另一个网络可以是WWAN、WLAN或者WPAN。尽管仅图示了网络856,但网络连接部件806可以促进与包括图6的网络604的多个网络的同时的通信。例如,网络连接部件806可以促进经由WWAN、WLAN或者WPAN中的一项或多项的与多个网络的同时的通信。
网络856可以是或者可以包括WWAN,诸如使用一种或多种移动电信技术来经由WWAN部件822向使用计算设备架构800的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可以包括但不限于全球移动通信***(“GSM”)、码分多址(“CDMA”)ONE、CDMA7000、通用移动电信***(“UMTS”)、长期演进(“LTE”)和全球互操作微波接入(“WiMAX”)。此外,网络856可以使用各种信道访问方法(其可以或者可以不被前述的标准使用),这样的信道访问方法包括但不限于时分多址(“TDMA”)、频分多址(“FMDA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空分多址(“SDMA”)等。可以使用通用分组无线服务(“GPRS”)、增强数据速率全球演进(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、演进型上行链路(“EUL”)或者以其它方式被称为高速上行链路分组接入(“HSUPA”)、演进型HSPA(“HSPA+”)的高速分组接入(“HSPA”)协议族、LTE和各种其它当前的和未来的无线数据接入标准来提供数据通信。网络856可以被配置为,利用以上技术的任何组合来提供语音和/或数据通信。网络856可以被配置为或者适于,根据未来一代的技术提供语音和/或数据通信。
在某些配置中,WWAN部件822被配置为,提供与网络856的双多模连接。例如,WWAN部件822可以被配置为,提供与网络856的连接,其中,网络856经由GSM和UMTS技术或者经由技术的某种其它组合提供服务。替换地,多个WWAN部件822可以被用于执行这样功能,和/或提供用于支持其它非兼容的技术(即,不能够被单个WWAN部件支持)的额外的功能。WWAN部件822可以促进与多个网络(例如,UMTS网络和LTE网络)的相似的连接。
网络856可以是根据诸如IEEE 802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文中被集体地称为WI-FI)这样的一个或多个电气和电子工程师(“IEEE”)802.11标准运行的WLAN。还设想了草案802.11标准。在某些配置中,使用一个或多个无线WI-FI接入点来实现WLAN。在某些配置中,无线WI-FI接入点中的一个或多个无线WI-FI接入点是充当WI-FI热点的具有与WWAN的连接的另一个计算设备。WLAN部件824被配置为,经由WI-FI接入点连接到网络856。可以经由包括但不限于WI-FI受保护接入(“WPA”)、WPA2、有线等价隐私(“WEP”)等的各种加密技术保护这样的连接。
网络856可以是根据红外线数据关联(“IrDA”)、蓝牙、无线通用串行总线(“USB”)、Z波、ZIGBEE或者某种其它的短距无线技术运行的WPAN。在某些配置中,WPAN部件826被配置为,经由WPAN促进与诸如外设、计算机或者其它计算设备这样的其它设备的通信。
传感器部件808包括磁力计828、环境光传感器830、接近度传感器832、加速度计834、陀螺仪836和全球定位***传感器(“GPS传感器”)838。设想诸如但不限于温度传感器或者震动检测传感器这样的其它传感器也可以被并入计算设备架构800。
磁力计828被配置为,测量磁场的强度和方向。在某些配置中,磁力计828向被存储在存储器部件804中的一个存储器部件804内的罗盘应用程序提供测量,以便为用户提供包括基本方向(北、南、东和西)的在参照系中的准确的方向。可以向包括罗盘部件的导航应用程序提供类似的测量。设想了由磁力计828获得的测量的其它用途。
环境光传感器830被配置为,测量环境光。在某些配置中,环境光传感器830向被存储在一个存储器部件804内的应用程序提供测量,以便自动地调整显示器(在下面被描述)的亮度,以对低光和高光环境进行补偿。设想了由环境光传感器830获得的测量的其它用途。
接近度传感器832被配置为,检测物体或者东西在计算设备的接近处内的出现而没有直接的接触。在某些配置中,接近度传感器832检测用户的身体(例如,用户的脸部)的出现,并且将该信息提供给被存储在存储器部件804中的一个存储器部件804内的应用程序,该应用程序使用接近度信息来启用或者禁用计算设备的某些功能。例如,电话应用程序可以响应于接收接近度信息而自动地禁用触摸屏(在下面被描述),使得用户的脸部不会非故意地结束呼叫或者在呼叫期间启用/禁用电话应用程序内的其它功能。设想了如被接近度传感器832检测的接近度的其它用途。
加速度计834被配置为,测量合适的加速度。在某些配置中,来自加速度计834的输出被应用程序用作用于控制该应用程序的某些功能的输入机制。例如,应用程序可以是视频游戏,在视频游戏中,人物、其部分或者物体响应于经由加速度计834接收的输入而被移动或者操纵。在某些配置中,将来自加速度计834的输出提供给应用程序,以用于在于风景与人像模式之间切换、计算坐标加速度或者检测下降时使用。设想了加速度计834的其它用途。
陀螺仪836被配置为,测量和维持朝向。在某些配置中,来自陀螺仪836的输出被应用程序用作用于控制该应用程序的某些功能输入机制。例如,陀螺仪836可以被用于对视频游戏应用或者某个其它应用的3D环境内的移动的准确的识别。在某些配置中,应用程序使用来自陀螺仪836和加速度计834的输出来增强对应用程序的某些功能的控制。设想了陀螺仪836的其它用途。
GPS传感器838被配置为,从GPS卫星接收信号,以用于在计算位置时使用。由GPS传感器838计算的位置可以被需要位置信息或者从位置信息中获益的任何应用程序使用。例如,由GPS传感器838计算的位置可以与导航应用程序一起被用于提供从该位置到目的地的方向或者从目的地到该位置的方向。此外,GPS传感器838可以被用于向诸如E911服务这样的外部的基于位置的服务提供位置信息。GPS传感器838可以使用网络连接部件806中的一个或多个网络连接部件806获得经由WI-FI、WIMAX和/或蜂窝三角测量技术生成的位置信息,以便在获得位置确定时辅助GPS传感器838。还可以在辅助GPS(“A-GPS”)***中使用GPS传感器838。
I/O部件810包括显示器840、触摸屏842、数据I/O接口部件(“数据I/O”)844、音频I/O接口部件(“音频I/O”)846、视频I/O接口部件(“视频I/O”)848和照相机850。在某些配置中,将显示器840和触摸屏842组合在一起。在某些配置中,将数据I/O部件844、音频I/O部件846和视频I/O部件848中的两项或更多项组合在一起。I/O部件810可以包括被配置为支持下面描述的各种接口的分立的处理器,或者可以包括被内置在处理器802中的处理功能。
显示器840是被配置为以可视的形式呈现信息的输出设备。具体地,显示器840可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传送数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息和能够以可视的形式被呈现的任何其它信息。在某些配置中,显示器840是使用任何有源的或者无源的矩阵技术和任何背光技术(如果被使用的话)的液晶显示器(“LCD”)。在某些配置中,显示器840是有机发光二极管(“OLED”)显示器。设想了其它的显示器类型。
在本文中也被称为“启用触摸的屏幕”的触摸屏842是被配置为检测触摸的出现和位置的输入设备。触摸屏842可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外线触摸屏、光学成像触摸屏、色散信号触摸屏、声学脉冲识别触摸屏,或者可以使用任何其它的触摸屏技术。在某些配置中,作为透明层将触摸屏842合并在显示器840之上,以便使用户能够使用一个或多个触摸来与被呈现在显示器840上的物体或者其它信息交互。在其它配置中,触摸屏842使被合并在不包括显示器840的计算设备的表面上的触摸板。例如,计算设备可以具有被合并在显示器840之上的触摸屏和位于与显示器840相对的表面上的触摸板。
在某些配置中,触摸屏842是单触摸式触摸屏。在其它配置中,触摸屏842是多触摸式触摸屏。在某些配置中,触摸屏842被配置为,检测分立的触摸、单触摸手势和/或多触摸手势。为了方便起见,这些在本文中被集体地称为手势。现在将描述若干手势。应当理解,这些手势式图示性的,并且不旨在限制所附权利要求的范围。此外,所描述的手势、额外的手势和/或替换的手势可以使用用于与触摸屏842一起使用的软件来实现。因此,开发人员可以创造专用于特定的应用程序的手势。
在某些配置中,触摸屏842支持轻击手势,在该手势中,用户在被呈现在显示器840上的项上轻击触摸屏842一次。轻击手势可以出于各种原因被使用,这样的原因包括但不限于每当用户轻击时打开或者启动。在某些配置中,触摸屏842支持双击手势,在该手势中,用户在被呈现在显示器840上的项上轻击触摸屏842两次。双击手势可以出于各种原因被使用,这样的原因包括但不限于分阶段放大或者缩小。在某些配置中,触摸屏842支持轻击并且保持手势,在该手势中,用户轻击触摸屏842并且在至少预定义的时间内维持接触。轻击并且保持手势可以出于各种原因被使用,这样的原因包括但不限于打开上下文专用的菜单。
在某些配置中,触摸屏842支持平移手势,在该手势中,用户将手指放置在触摸屏842上,并且在于触摸屏842上移动手指的同时维持与触摸屏842的接触。平移手势可以出于各种原因被使用,这样的原因包括但不限于以受控的速率移动通过屏幕、图像、或者菜单。还设想了多手指平移手势。在某些配置中,触摸屏842支持轻拂手势,在该手势中,用户在该用户想要屏幕移动的方向上滑动手指。轻拂手势可以出于各种原因被使用,这样的原因包括但不限于水平地或者垂直地滚动通过菜单或者页面。在某些配置中,触摸屏842支持捏合和伸展手势,在该手势中,用户在触摸屏842上利用两个手指(例如,拇指和食指)作出捏合手势或者将两个手指移动分开。捏合和伸展手势可以出于各种原因被使用,这样的原因包括但不限于网站、地图或者图片的逐渐的缩放。
尽管已参考使用一个或多个手指来执行手势描述了上面的手势,但诸如脚趾这样的其它附属肢体或者诸如是手写笔这样的物体可以被用于与触摸屏842交互。因此,以上手势应当被理解为是说明性的,并且决不应当被理解为是限制性的。
数据I/O接口部件844被配置为,促进向计算设备的数据输入和从计算设备的数据输出。在某些配置中,数据I/O接口部件844包括连接器,连接器被配置为,例如出于同步操作的目的在计算设备与计算机***之间提供有线的连接。连接器可以是私有的连接器或者诸如USB、微型USB、迷你USB等这样的标准化的连接器。在某些配置中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)或者视频设备这样的另一个设备对接在一起的对接连接器。
音频I/O接口部件846被配置为,向计算设备提供音频输入和/或输出能力。在某些配置中,音频I/O接口部件846包括被配置为收集音频信号的麦克风。在某些配置中,音频I/O接口部件846包括被配置为向耳机或者其它的外部扬声器提供连接的耳机插孔。在某些配置中,音频I/O接口部件846包括用于音频信号的输出的扬声器。在某些配置中,音频I/O接口部件846包括光学的音频线缆输出。
视频I/O接口部件848被配置为,向计算设备提供视频输入和/或输出能力。在某些配置中,视频I/O接口部件848包括视频连接器,视频连接器被配置为,作为输入从另一个设备(例如,诸如DVD或者蓝光播放器这样的视频媒体播放器)接收视频,或者作为输出向另一个设备(例如,监视器、电视机或者某种其它外部显示器)发送视频。在某些配置中,视频I/O接口部件848包括高清多媒体接口(“HDMI”)、迷你HDMI、微型HDMI、显示端口或者用于输入/输出视频内容的私有的连接器。在某些配置中,将视频I/O接口部件848或者其部分与音频I/O接口部件846或者其部分组合在一起。
照相机850可以被配置为,捕获静止的图像和/或视频。照相机850可以使用电荷耦合设备(“CCD”)或者互补金属氧化物半导体(“CMOS”)传感器来捕获图像。在某些配置中,照相机850包括用于在于低光环境中获取图片时提供辅助的闪光灯。照相机850的设置可以被实现为硬件或者软件按钮。
尽管未被图示出,但一个或多个硬件按钮也可以被包括在计算设备架构800中。硬件按钮可以被用于控制计算设备的某个操作的方面。硬件按钮可以是专用按钮或者多用途按钮。硬件按钮可以是机械的或者基于传感器的。
所图示的电力部件812包括可以被连接到电池量表854的一个或多个电池852。电池852可以是可再充电的或者一次性的。可再充电电池类型包括但不限于锂聚合物、锂离子、镍铬和镍金属氢化物。电池852中的每个电池852可以是由一个或多个单元组成的。
电池量表854可以被配置为,测量诸如电流、电压和温度这样的电池参数。在某些配置中,电池量表854被配置为,测量电池的放电速率、温度、年龄和其它因素对在特定的误差百分比内预测剩余寿命的影响。在某些配置中,电池量表854向被配置为使用测量来向用户呈现有用的电力管理数据的应用程序提供测量。电力测量数据可以包括被使用的电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余容量(例如,以瓦时计)、电流拉取和电压中的一项或多项。
电力部件812还可以包括电力连接器,可以将电力连接器与前述的I/O部件810中的一个或多个I/O部件810组合在一起。电力部件812可以经由I/O部件与外部的电力***或者充电设备对接。

Claims (14)

1.一种方法,包括:
接收包含多个字的输入;
确定有条件的计数;
确定无条件的计数;
基于所述无条件的计数和所述有条件的计数,确定针对所述多个字中的字对的调整因子;
生成定义多个字聚类的数据结构,所述多个字聚类中的单个字聚类包括所述多个字中的至少一个字;以及
基于所述字对的单个字之间的公共聚类的数量,重构所述字对的所述调整因子。
2.根据权利要求1所述的方法,进一步包括:
获得指示字的输入;以及
重构与包含所述字的一个或多个字聚类相关联的新鲜度值,对所述新鲜度值的修改指示包含所述字的所述一个或多个字聚类是比所述多个字聚类中的其它字聚类更新近的。
3.根据权利要求1所述的方法,进一步包括:
接收文本条目;
确定与所述文本条目相关联的所述多个字聚类中的一个或多个字聚类;
获得与相关联于所述文本条目的所述多个字聚类中的所述一个或多个字聚类相关联的新鲜度因子;
获得与所述一个或多个字聚类相关联的相关调整因子;
获得语言模型值;
至少部分上基于所述语言模型值和所述相关调整因子,确定与字候选项相关联的候选项概率,其中,从与所述多个字聚类相关联的单个字中选择所述字候选项;以及
至少部分上基于所述候选项概率,生成包含所述字候选项的输出。
4.根据权利要求3所述的方法,进一步包括:
确定多个字候选项,其中,所述多个字候选项中的单个字包括至少部分上基于所述语言模型值和所述相关调整因子的单个候选项概率;
至少部分上基于所述单个候选项概率和所述候选项概率,生成指示所述字候选项和所述多个字候选项中的所述单个字的排名的数据;以及
生成指示所述排名的输出。
5.根据权利要求4所述的方法,其中,所述语言模型值包括其中与所述文本条目相关联的字一般在空上下文中被使用的概率。
6.根据权利要求1所述的方法,其中,重构所述字对的所述调整因子还基于所述字之间的至少一个相关度的排名。
7.根据权利要求1所述的方法,其中,重构所述字对的所述调整因子包括:
确定针对所述多个聚类中的单个聚类的聚类密度;
基于针对所述单个聚类的所述聚类密度,确定所述多个聚类的排序;以及
基于所述多个聚类的所述排序和所述字对的单个字之间的公共聚类的所述数量,重构所述调整因子。
8.一种计算设备,包括:
处理器;以及
存储器,其具有存储在其上的计算机可执行指令的集合,所述计算机可执行指令在被所述处理器执行时,导致所述计算设备执行以下操作:
接收包含多个字的输入;
确定有条件的计数;
确定无条件的计数;
基于所述无条件的计数和所述有条件的计数,确定针对所述多个字中的字对的调整因子;
生成定义多个字聚类的数据结构,所述多个字聚类中的单个字聚类包括所述多个字中的至少一个字;以及
基于所述字对的单个字之间的公共聚类的数量,重构所述字对的所述调整因子。
9.根据权利要求8所述的计算设备,其中,所述计算机可执行指令导致所述计算设备执行以下操作:
获得指示字的输入;以及
重构与包含所述字的一个或多个字聚类相关联的新鲜度值,对所述新鲜度值的修改指示包含所述字的所述一个或多个字聚类是比所述多个字聚类中的其它字聚类更新近的。
10.根据权利要求8所述的计算设备,其中,所述计算机可执行指令导致所述计算设备执行以下操作:
接收文本条目;
确定与所述文本条目相关联的所述多个字聚类中的一个或多个字聚类;
获得与相关联于所述文本条目的所述多个字聚类中的所述一个或多个字聚类相关联的新鲜度因子;
获得与所述一个或多个字聚类相关联的相关调整因子;
获得语言模型值;
至少部分上基于所述语言模型值和所述相关调整因子,确定与字候选项相关联的候选项概率,其中,从与所述多个字聚类相关联的单个字中选择所述字候选项;以及
至少部分上基于所述候选项概率,生成包含所述字候选项的输出。
11.根据权利要求10所述的计算设备,其中,所述计算机可执行指令导致所述计算设备执行以下操作:
确定多个字候选项,其中,所述多个字候选项中的单个字包括至少部分上基于所述语言模型值和所述相关调整因子的单个候选项概率;
至少部分上基于所述单个候选项概率和所述候选项概率,生成指示所述字候选项和所述多个字候选项中的所述单个字的排名的数据;以及
显示指示所述字候选项和所述单个字的所述排名的数据。
12.根据权利要求11所述的计算设备,其中,所述语言模型值包括其中与所述文本条目相关联的字一般在空上下文中被使用的概率。
13.根据权利要求8所述的计算设备,其中,重构所述字对的所述调整因子还基于所述字之间的至少一个相关度的排名。
14.根据权利要求8所述的计算设备,其中,重构所述字对的所述调整因子包括:
确定针对所述多个聚类中的单个聚类的聚类密度;
基于针对所述单个聚类的所述聚类密度,确定所述多个聚类的排序;以及
基于所述多个聚类的所述排序和所述字对的单个字之间的公共聚类的所述数量,重构所述调整因子。
CN201680012635.0A 2015-02-27 2016-02-12 话题知晓的字建议 Pending CN107251012A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562126307P 2015-02-27 2015-02-27
US62/126307 2015-02-27
US15/040947 2016-02-10
US15/040,947 US9928232B2 (en) 2015-02-27 2016-02-10 Topically aware word suggestions
PCT/US2016/017761 WO2016137765A1 (en) 2015-02-27 2016-02-12 Topically aware word suggestions

Publications (1)

Publication Number Publication Date
CN107251012A true CN107251012A (zh) 2017-10-13

Family

ID=55487116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680012635.0A Pending CN107251012A (zh) 2015-02-27 2016-02-12 话题知晓的字建议

Country Status (4)

Country Link
US (1) US9928232B2 (zh)
EP (1) EP3262529A1 (zh)
CN (1) CN107251012A (zh)
WO (1) WO2016137765A1 (zh)

Families Citing this family (118)

* 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
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
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
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
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
CN113744733B (zh) 2013-02-07 2022-10-25 苹果公司 数字助理的语音触发器
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
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
AU2014278592B2 (en) 2013-06-09 2017-09-07 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
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
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
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
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
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
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
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
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
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10366158B2 (en) * 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
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
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
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
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
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
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
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
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
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
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
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
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
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
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10685183B1 (en) * 2018-01-04 2020-06-16 Facebook, Inc. Consumer insights analysis using word embeddings
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
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
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
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
CN109325227A (zh) * 2018-09-14 2019-02-12 北京字节跳动网络技术有限公司 用于生成修正语句的方法和装置
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
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
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
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1042784A (zh) * 1988-11-22 1990-06-06 李贾达 超级智能联想汉字***及其输入键盘
US5828999A (en) * 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
CN1609764A (zh) * 2003-10-24 2005-04-27 微软公司 向输入法提供上下文的***和方法
WO2006078912A2 (en) * 2005-01-21 2006-07-27 Prashant Parikh Automatic dynamic contextual data entry completion system
CN101246410A (zh) * 2007-02-12 2008-08-20 谷歌股份有限公司 上下文或语境输入法和***
US20110010655A1 (en) * 2000-10-18 2011-01-13 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904405B2 (en) * 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US6606597B1 (en) * 2000-09-08 2003-08-12 Microsoft Corporation Augmented-word language model
US7383258B2 (en) 2002-10-03 2008-06-03 Google, Inc. Method and apparatus for characterizing documents based on clusters of related words
US8392453B2 (en) 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
JP4769031B2 (ja) * 2005-06-24 2011-09-07 マイクロソフト コーポレーション 言語モデルを作成する方法、かな漢字変換方法、その装置、コンピュータプログラムおよびコンピュータ読み取り可能な記憶媒体
US8249871B2 (en) 2005-11-18 2012-08-21 Microsoft Corporation Word clustering for input data
US10133479B2 (en) 2007-07-07 2018-11-20 David Hirshberg System and method for text entry
US8108392B2 (en) 2007-10-05 2012-01-31 Fujitsu Limited Identifying clusters of words according to word affinities
US20090249198A1 (en) 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
WO2011004529A1 (ja) 2009-07-06 2011-01-13 日本電気株式会社 分類階層再作成システム、分類階層再作成方法及び分類階層再作成プログラム
CN102640152B (zh) * 2009-12-09 2014-10-15 国际商业机器公司 根据检索关键词检索文档数据的方法及其计算机***
JP5284990B2 (ja) * 2010-01-08 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション キーワードの時系列解析のための処理方法、並びにその処理システム及びコンピュータ・プログラム
US8972253B2 (en) * 2010-09-15 2015-03-03 Microsoft Technology Licensing, Llc Deep belief network for large vocabulary continuous speech recognition
US9367526B1 (en) * 2011-07-26 2016-06-14 Nuance Communications, Inc. Word classing for language modeling
US20150052098A1 (en) 2012-04-05 2015-02-19 Thomson Licensing Contextually propagating semantic knowledge over large datasets
US9141882B1 (en) * 2012-10-19 2015-09-22 Networked Insights, Llc Clustering of text units using dimensionality reduction of multi-dimensional arrays
US9244905B2 (en) 2012-12-06 2016-01-26 Microsoft Technology Licensing, Llc Communication context based predictive-text suggestion
IN2013CH00469A (zh) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
WO2015006944A1 (en) 2013-07-17 2015-01-22 Nokia Corporation Predictive text
US9256805B2 (en) * 2014-01-02 2016-02-09 Robert Taaffe Lindsay Method and system of identifying an entity from a digital image of a physical text

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1042784A (zh) * 1988-11-22 1990-06-06 李贾达 超级智能联想汉字***及其输入键盘
US5828999A (en) * 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
US20110010655A1 (en) * 2000-10-18 2011-01-13 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
CN1609764A (zh) * 2003-10-24 2005-04-27 微软公司 向输入法提供上下文的***和方法
WO2006078912A2 (en) * 2005-01-21 2006-07-27 Prashant Parikh Automatic dynamic contextual data entry completion system
CN101246410A (zh) * 2007-02-12 2008-08-20 谷歌股份有限公司 上下文或语境输入法和***

Also Published As

Publication number Publication date
EP3262529A1 (en) 2018-01-03
WO2016137765A1 (en) 2016-09-01
US9928232B2 (en) 2018-03-27
US20160253312A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
CN107251012A (zh) 话题知晓的字建议
US10068134B2 (en) Identification of objects in a scene using gaze tracking techniques
US10896284B2 (en) Transforming data to create layouts
US10768772B2 (en) Context-aware recommendations of relevant presentation content displayed in mixed environments
CN105934756B (zh) 索引电子表格结构属性以供搜索
CN107077460A (zh) 结构化样本创作内容
US20170315825A1 (en) Presenting Contextual Content Based On Detected User Confusion
US20140047385A1 (en) 3D Data Environment Disambiguation Tool
CN106796581A (zh) 用于内容数据的布局的基于用户意图的生成
CN102982016A (zh) 用于电子表格应用程序的快速分析工具
US20240169002A1 (en) Automating implementation of taxonomies
CN106537371B (zh) 可视化建议
TW201610914A (zh) 圖表資料的增強辨識
CN106796518A (zh) 基于意图的反馈
CN104067215B (zh) 呈现数据驱动表单
US11314408B2 (en) Computationally efficient human-computer interface for collaborative modification of content
CN106537382B (zh) 查询建议
CN110168588B (zh) 基于位置、使用模式以及内容来识别文档
CN106663091A (zh) 摘要数据自动填充
CN109564577A (zh) 对数据实例的高效去规范化
CN107810523A (zh) 数据可视化的智能配置
TW201535236A (zh) 用於識別被影響的資料之增強型指示器
TW201617942A (zh) 在文件中利用資料搜尋
US20240104611A1 (en) Intelligent content recommendations based on selections of curated review responses
US10430762B1 (en) Strategy for collection flow and seeding within a cohort

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171013