CN110750971B - 基于上下文的自动完成建议 - Google Patents

基于上下文的自动完成建议 Download PDF

Info

Publication number
CN110750971B
CN110750971B CN201910598607.7A CN201910598607A CN110750971B CN 110750971 B CN110750971 B CN 110750971B CN 201910598607 A CN201910598607 A CN 201910598607A CN 110750971 B CN110750971 B CN 110750971B
Authority
CN
China
Prior art keywords
relationship
user
auto
model
completion
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
CN201910598607.7A
Other languages
English (en)
Other versions
CN110750971A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110750971A publication Critical patent/CN110750971A/zh
Application granted granted Critical
Publication of CN110750971B publication Critical patent/CN110750971B/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于基于上下文的自动完成建议的过程包括:基于计算机系统的用户对在线聊天的发起,提供标识参与者的参与者信息,该聊天以用户和目标参与者作为参与者。该过程在计算机系统处保持基于关系的自动完成模型以用于单词自动完成建议。所保持的基于关系的自动完成模型最初是基于聊天参与者之间的关系的模板模型,并且经由训练随着时间来更新。该过程向用户建议用户用于在用户编写聊天消息时自动完成的单词,所建议的单词基于所保持的基于关系的自动完成模型而被选择作为建议。保持基于关系的自动完成模型包括将聊天消息作为训练数据发送以进一步训练自动完成模型。

Description

基于上下文的自动完成建议
背景技术
移动设备通常包括用于将文本输入到计算机系统的单词自动完成技术,尤其是在参与在线聊天时。当用户键入单词时,系统会预测用户正在输入什么单词并且提供建议。如果预测是准确的,则用户通常可以比用户完成键入单词所需要的时间更快地更加快速地选择正确的预测单词。因此,移动操作系统利用自动完成来减少用户与其移动设备交互所需要的键入量,以提供更好的用户体验。自动完成算法可以能够基于过去的单词选择和消息内容来适应不同用户的词汇,但是缺乏更健壮的功能。
发明内容
克服了现有技术的缺点,并且通过提供计算机实现的方法提供了附加的优点。该方法包括:基于计算机系统的用户对在线聊天的发起,向远程设施提供标识在线聊天的参与者的在线聊天的参与者的参与者信息,在线聊天具有参与者,参与者包括用户和由用户作为在线聊天的一部分而发送的消息所针对的目标参与者。该方法在计算机系统处保持基于关系的自动完成模型以用于单词自动完成建议。所保持的基于关系的自动完成模型最初是由计算机系统基于提供参与者信息而从远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练基于关系的自动完成模型来更新。该方法基于编写用于作为在线聊天的一部分来发送的消息的用户输入,向用户建议用于在用户编写消息时自动完成的单词。所建议的单词是至少部分基于所保持的基于关系的自动完成模型而被选择作为建议的。保持基于关系的自动完成模型包括在计算机系统上在消息历史中本地保存由用户编写并且作为在线聊天的一部分而发送的发送消息。保持还包括将消息历史的本地保存的发送消息发送到远程设施以用于训练基于关系的自动完成模型。保持还包括基于训练从远程设施接收经训练的已更新的基于关系的自动完成模型。另外,保持包括将所接收的经训练的已更新的基于关系的自动完成模型存储在客户端上作为所保持的基于关系的自动完成模型以用于建议。
此外,提供了一种计算机系统,其包括存储器和与存储器通信的处理器,其中计算机系统被配置为执行方法。该方法包括基于计算机系统的用户对在线聊天的发起,向远程设施提供标识在线聊天的参与者的在线聊天的参与者的参与者信息,在线聊天具有参与者,参与者包括用户和由用户作为在线聊天的一部分而发送的消息所针对的目标参与者。该方法在计算机系统处保持基于关系的自动完成模型以用于单词自动完成建议。所保持的基于关系的自动完成模型最初是由计算机系统基于提供参与者信息而从远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练基于关系的自动完成模型来更新。该方法基于编写用于作为在线聊天的一部分来发送的消息的用户输入,向用户建议用于在用户编写消息时自动完成的单词。所建议的单词是至少部分基于所保持的基于关系的自动完成模型而被选择作为建议的。保持基于关系的自动完成模型包括在计算机系统上在消息历史中本地保存由用户编写并且作为在线聊天的一部分而发送的发送消息。保持还包括将消息历史的本地保存的发送消息发送到远程设施以用于训练基于关系的自动完成模型。保持还包括基于训练从远程设施接收经训练的已更新的基于关系的自动完成模型。另外,保持包括将所接收的经训练的已更新的基于关系的自动完成模型存储在客户端上作为所保持的基于关系的自动完成模型以用于建议。
此外,提供了一种包括计算机可读存储介质的计算机程序产品,计算机可读存储介质由处理电路可读并且存储用于由处理电路执行以执行方法的指令。该方法包括基于计算机系统的用户对在线聊天的发起,向远程设施提供标识在线聊天的参与者的在线聊天的参与者的参与者信息,在线聊天具有参与者,参与者包括用户和由用户作为在线聊天的一部分而发送的消息所针对的目标参与者。该方法在计算机系统处保持基于关系的自动完成模型以用于单词自动完成建议。所保持的基于关系的自动完成模型最初是由计算机系统基于提供参与者信息而从远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练基于关系的自动完成模型来更新。该方法基于编写用于作为在线聊天的一部分来发送的消息的用户输入,向用户建议用于在用户编写消息时自动完成的单词。所建议的单词是至少部分基于所保持的基于关系的自动完成模型而被选择作为建议的。保持基于关系的自动完成模型包括在计算机系统上在消息历史中本地保存由用户编写并且作为在线聊天的一部分而发送的发送消息。保持还包括将消息历史的本地保存的发送消息发送到远程设施以用于训练基于关系的自动完成模型。保持还包括基于训练从远程设施接收经训练的已更新的基于关系的自动完成模型。另外,保持包括将所接收的经训练的已更新的基于关系的自动完成模型存储在客户端上作为所保持的基于关系的自动完成模型以用于建议。
通过本文中描述的概念实现了附加的特征和优点。
附图说明
在说明书所附的权利要求中,特别指出并且清楚地要求保护本文所述的各方面作为示例。通过以下结合附图的详细描述,本发明的前述和其他目的、特征和优点是很清楚的,在附图中:
图1描绘了用于合并和使用本文中描述的各方面的示例环境;
图2描绘了根据本文中描述的各方面的用于基于上下文的自动完成建议的示例性整体过程;
图3描绘了根据本文中描述的各方面的关系标识的示例;
图4描绘了根据本文中描述的各方面的基于关系的模板自动完成模型选择的示例;
图5描绘了根据本文中描述的各方面的单词自动完成建议的示例;
图6描绘了根据本文中描述的各方面的示例消息发送和保存;
图7描绘了根据本文中描述的各方面的基于关系的自动完成模型重新训练的示例;
图8描绘了根据本文中描述的各方面的个人自动完成模型重新训练的示例;
图9描绘了根据本文中描述的各方面的群组自动完成模型构建的示例;
图10描绘了根据本文中描述的各方面的用于群组在线聊天的单词自动完成建议的示例;
图11描绘了根据本文中描述的各方面的基于上下文的自动完成建议的示例过程;
图12描绘了根据本文中描述的各方面的用于保持基于关系的自动完成模型的示例过程;
图13描绘了用于结合和/或使用本文中描述的各方面的计算机系统和相关联的设备的一个示例;
图14描绘了根据本文中描述的实施例的云计算环境;以及
图15描绘了根据本文中描述的实施例的抽象模型层。
具体实施方式
在线聊天包括即时消息、文本消息、群组消息、聊天室、统一消息以及其他电子消息和通信设施。存在很多其他形式的在线聊天。本文中提供的一些示例使用文本消息作为在线聊天设施来呈现。但是,这只是举例说明;很清楚的是,本文中描述的各方面适用于其他形式的在线聊天,并且更一般地适用于到计算机系统的任何用户单词输入。
在线聊天行为在用户之间并且基于在线聊天的各种上下文而不同,诸如接收由用户编写和发送的消息的其他参与者。例如,使用特定的单词、短语、语气等与同事交谈,就像他或她是私人朋友一样,可能是不合适的。因此,用户设备的自动完成设施建议用户在经由商业电子邮件或文本回复同事时使用特定禁忌词可能是不合适的,即使该用户可能经常与他的亲密朋友使用这样的单词。
本文中描述的是可以基于用户的个人发短信习惯和词汇以及相同关系的人之间的过去发短信行为来提供单词和/或短语的建议的各方面。各方面可以对在线聊天的参与者之间的关系进行分类。远程设施(例如,云提供的设施)提供适用于参与者之间的特定关系类型的语言模型模板。可以通过使用作为在线聊天的一部分而发送的所收集的消息通过训练随着时间改进语言模型模板(本文中称为基于关系的模板自动完成模型)来使模型特定于涉及该聊天的特定参与者的特定在线聊天。消息可以由用户在其上作为在线聊天的一部分进行通信的用户设备收集,并且周期性地或非周期性地反馈到云设施以训练和改进在该用户的设备上使用的语言模型。最初作为模板自动完成模型开始的内容因此被更新和改进成基于关系的自动完成模型,该模型特定于主题用户和聊天中的那些用户编写消息的特定目标接收者,包括单词使用、选择、音调、语法、偏好和消息编写的其他属性。
图1描绘了用于合并和使用本文中描述的各方面的示例环境。该环境包括本地环境100(主要由用户设备102实现)和云环境101。由用户设备(在该示例中是移动设备102)表示的用户开始与聊天中的目标参与者交谈(在线聊天)。在该示例中,用户和目标参与者一起形成聊天的参与者,但是在其他示例中,如本文中进一步描述的,可以存在形成三个或更多参与者的群组聊天的另外的目标参与者。
本地环境与云环境之间的接口是移动设备102与云设施101之间的(多个)网络连接。移动设备102使用移动设备聊天软件(例如,文本消息应用或其他消息应用)发起对话。移动设备102将参与者信息104(例如,关于聊天参与者的名称或其他标识信息)发送到云设施101。在该示例中利用社交网络信息106,通过将该信息提供给关系定义器组件108以定义关系,云设施定义/标识参与者之间的关系。关系改进器108可以采用各种方法中的任何一种来对用户与目标参与者之间的关系类型进行分类。它可以像从其在社交网络中的社交网络简档中标识两者之间的社交网络关系一样简单。例如,用户可以在他的社交网络简档中指示目标参与者是用户的兄弟。在其他示例中,分析社交网络数据(帖子、喜好、成员资格等)以确定关系类型。作为另一示例,云设施保持或能够访问关于参与者的高速缓存的信息,例如关于参与者的其他在线简档或目录信息、来自用户的设备的联系人信息和/或其他信息,并且该信息用于标识参与者之间的关系类型。
在任何情况下,基于关系类型的云设施以基于关系的模板自动完成模型数据库110为目标。数据库容纳用于各种关系类型中的每一种的至少一个模板模型。示例关系类型包括但不限于:父亲/儿子、兄弟/兄弟、兄弟/姐妹、最好的朋友、同事、雇主/雇员、雇员/主管以及学生/教师。然而,关系类型可以是任何粒度并且可能具有各种粒度。可以有几个“最好的朋友”模板,例如:一个用于“两个男性最好的朋友”,一个用于“女性最好的朋友,住在美国西部”,一个用于“大学里最好的朋友”,等等。
基于所标识的关系类型(其可以使用部分地基于关于聊天参与者可用的信息的深度的函数来标识),云设施选择基于关系的模板自动完成模型(112)之一并且将其提供给移动设备102。如本文所述,该模型(最初是模板)将随着时间被训练,以便在参与在线聊天时基于用户与目标参与者如何通信而变得更加适合用户的特定消息行为。另外,目标参与者还可以在目标侧下载适当的模板模型,该模板模型基于该目标在在线聊天中与用户如何通信而随着时间改进。以这种方式,在线聊天的每个参与者可以具有基于该参与者如何参与在线聊天而随着时间改进的尊重模型。
还应当注意,“在线聊天”的范围不一定仅存在作为单个聊天会话,甚至不必存在于相同软件客户端内。例如,涉及相同参与者的在线聊天可能包含若干不相交的会话和/或线程,因此表现为不同的对话但仍然涉及相同的参与者,而不管一个会话是否是前一会话的继续。在一个示例中,参与者在第一消息会话期间聊天,然后在一段时间之后在相同线程中,作为新线程或者甚至在不同的消息应用中恢复会话。基于涉及相同组的参与者,这些会话可以被视为一个“在线聊天”。因此,本文中描述的各方面可以应用于给定组的参与者具有的任何通信,而不管他们通信的时间或甚至特定媒体(例如,发短信与即时消息与电子邮件)通信。
尽管模板模型是在特定组的参与者的特定在线聊天中变为特定于特定用户消息的模板,但是模板模型最初可以被配置为具有它们所应用于的特定关系类型的一些可预测特性。即使是“未经训练”的模板模型也可以被配置为捕获特定关系类型的细微差别——例如,雇员/老板关系类型的模板可能会阻止或避免在做出自动完成建议时使用亵渎性语言。
尽管各方面讨论了训练涉及特定参与者的特定在线聊天的模板模型以产生基于关系的自动完成模型,但是还注意到,数据库110中的模板模型也可以通过训练模板本身而随着时间演变。例如,以在数百或数千个用户对话上聚合的收集消息/消息数据形式的“大数据”可以反映具有特定关系类型的参与者相互发送的消息中的常见趋势,并且这些趋势可以用于对在模板模型中提供的“默认值”进行调节的训练。
基于特定在线聊天来训练基于关系的自动完成模型,该特定在线聊天涉及特定组的参与者。因此,每当用户发起与另一目标参与者的新在线聊天时,从服务器提取适当的模板,而不管关系类型是否与另一现有在线聊天的关系类型相匹配。来自数据库的模板112将再次被发送到用户设备以用于新的在线聊天以及针对该新的在线聊天的该模板的特定化训练。举例来说,用户可以有两个兄弟并且与他们中的每个发起聊天。可以针对每次聊天从云中提取适用于关系类型“兄弟”的模板,并且因此每个聊天的模型最初可以是相同的,即模板模型。用户可以在各自的聊天中以不同的方式与兄弟交谈,因此,随着聊天的进行,可以基于模型所应用于的聊天来单独地训练相应的模型。
模板本地存储在本地模型集114中,该模型集114特定于在线聊天的特定目标。模型集114包括基于关系的自动完成模型116(其最初是来自云的模板)以及用于该在线聊天的消息历史118,即用户编写并且作为在线聊天的一部分而发送到目标的消息。消息历史118用于训练基于关系的自动完成模型116,如本文所述。例如,消息被上载到云设施,并且如下面进一步详细描述的,云设施使用消息来训练它具有的基于关系的自动完成模型的副本。然后,云将现在新近重新训练的基于关系的自动完成模型推送到移动设备102,移动设备102用经重新训练的模型替换其先前的模型。
个人自动完成模型120不是特定于任何特定目标参与者或关系。相反,个人自动完成模型120是用户倾向于跨所有在线聊天而使用的语言类型的模型。换言之,它对用户通常如何与个人通信进行建模。在一些示例中,个人模型120用作集合的一部分以根据权重来组合建模的结果(使用个人和基于关系的模型)。在高层次上,集合可以被认为是总体模型,它基于个人自动完成模型和基于关系的自动完成模型,基于关系的自动完成模型最初是随着时间而被训练的模板。
图2描绘了根据本文中描述的各方面的用于基于上下文的自动完成建议的示例性整体过程。在该示例中,各方面部分地由(多个)云计算机系统(“云”)执行,并且部分地由用户计算机系统(“本地”)执行。图2的各方面还进一步参考图3-7来描述。
当用户开始与目标参与者的对话时,标识/定义两者之间的关系(202)。图3描绘了根据本文中描述的各方面的关系标识的示例。用户设备302上的本地消息应用将用户和目标的信息304发送到远程(例如,云)设施的关系定义器306以标识参与者之间的关系,例如,其类型。在该示例中,关系定义器306利用社交网络信息308和/或高速缓存的信息310。例如,关系定义器306搜索高速缓存和/或在社交网络上查找数据以标识用户与目标之间的关系。在图3的示例中,关系类型312的指示从云发送到用户设备302。
返回图2,该过程标识参与者之间的关系并且然后基于该关系并且搜索被称为基于关系的模板自动完成模型数据库的云数据库来选择模板自动完成模型(204)。图4描绘了根据本文中描述的各方面的基于关系的模板自动完成模型选择的示例。用户设备402上的消息应用向云设施提供关系412的指示,云设施搜索基于关系的模板自动完成模型数据库414以选择适当的基于关系的模板自动完成模型416,该模型然后被提供并且存储到用户设备402的本地高速缓存作为基于关系的自动完成模型。
返回参考图2,模板模型被提供给用户设备,用户设备接收基于用户与目标参与者之间的关系而选择的初始(模板)模型(206)。模型416最初是从云提供的模板,但是该模板如本文所述随着时间使用完成(编写和发送)的消息被训练。
图2的过程通过使用基于关系的自动完成模型和本地个人模型来做出单词建议来继续进行。这是基于用户键入(多个)单词或单词片段(例如,期望单词的(多个)第一字母)来完成的(212)。提供单词或单词片段以及用户词典210和(多个)模型以做出单词建议(208)。
图5描绘了根据本文中描述的各方面的单词自动完成建议的示例。在示例中,该过程由用户的设备执行。当用户开始键入单词或单词片段时,消息应用将输入(例如,未完成的句子518)馈送到模型中,在这种情况下,模型是包括基于关系的自动完成模型516和个人自动完成模型520的集合。(多个)模型向用户设备502产生有序建议列表522,作为用于自动完成的建议单词。在一些示例中,建议是模型最强烈建议的有序单词列表。注意,建议可以是用户已经开始键入的完整单词和/或对消息中的下一单词的建议。例如,用户可以键入“How ar”,此时该过程建议单词“are”以完成单词片段“ar”。当用户选择单词“are”时,消息显示“How are”,该过程可能会建议单词“you”,即使用户尚未键入字符“y”以开始单词“you”。以这种方式,建议可以考虑要键入的短语(“how are you”),并根据出现的先前单词而不是仅根据已经键入的单词片段来做出建议。
作为示例,来自集合模型的建议的最终结果可以是来自多个模型的建议的加权组合,但是可以使用多种方法中的任何一种来使用多个模型来获取复合或整体建议集合。在特定示例中,收集模型的所有结果,并且集合模型规范化每个结果的权重,然后选择最高结果。LSTM(长短期记忆单元)是用于训练神经网络的常见模型,并且如在一个示例中所应用的,用于训练多个模型(例如,个人自动完成模型和基于关系的自动完成模型)以预测期望单词并且使用两个模型的组合产生结果。
返回参考图2,在用户设备上为用户显示建议,并且用户可以从建议的单词中选择(214)。用户可以选择建议的单词或者继续键入期望单词。在任何情况下,假定用户通过向单词添加字母或者开始键入下一单词来继续编写消息,该过程继续进行以返回到(212)。
在某一时刻,用户将消息发送到目标参与者(216)。除了将消息传输到目标参与者之外,该消息还被保存为训练数据以用于训练基于关系的模型,如本文所述。同时,该过程继续做出单词建议(208)。图6描绘了根据本文中描述的各方面的示例消息发送和保存。当作为在线聊天的一部分发送消息时,用户设备602将消息624发送到目标参与者626,并且还将消息保存在用户设备处的本地消息历史628中。周期性地或非周期性地,将本地高速缓存在用户设备上在消息历史中的聊天的所发送的消息发送到云设施,以进一步训练特定于在线聊天的参与者的基于关系的自动完成模型(218)。图7描绘了根据本文中描述的各方面的基于关系的自动完成模型重新训练的示例。本地消息历史可以被批量传送到云,由某个事件触发,例如本地消息历史高速缓存被填充条目和/或基于多个高速缓存的消息或一定时间量的经过。因此,在这些示例中,当消息作为在线聊天的部分被发送时,消息不会立即传送到云,而是由客户端不时地进行高速缓存和批量传送。在其他示例中,消息被高速缓存在云中而不是客户端设备上。
参考图7,在一些预定义的阈值时间量之后或者在高速缓存了预定义的阈值数目的消息之后,用户设备702的消息应用向云发送消息历史728(其包括用户编写和发送的消息,并且因此反映用户在自动完成期间选择的单词)。云设施具有基于关系的模型数据库730,基于关系的模型数据库730包括用户设备具有的基于关系的模型的副本。基于关系的自动完成模型数据库730不应当与基于关系的模板自动完成模型数据库(图1中的110)混淆,尽管它们可以是相同物理数据库的一部分或者是不同的数据库。基于关系的模板自动完成模型数据库110容纳用作聊天参与者的初始的基于关系的自动完成模型的模板模型,而基于关系的自动完成模型数据库730容纳特定于特定用户的基于关系的自动完成模型,该特定用户与特定在线聊天的特定参与者通信并且基于作为该聊天的一部分而发送的用户发送的消息被训练。由于在这些示例中云设施在用户设备向云提供消息历史时持续地训练这些基于关系的自动完成模型,因此云保持基于关系的模型的副本。
云设施训练并且更新其基于关系的模型的副本,并且在基于已更新的消息历史的训练完成之后将经训练的已更新的基于关系的自动完成模型提供回用户设备。
还可以随着时间训练用户设备处的个人自动完成模型。图8描绘了根据本文中描述的各方面的个人自动完成模型重新训练的示例。在预定义的阈值(例如,一定时间量或发送特定数目的消息)之后,用户设备802的消息应用将使用作为用户参与的若干在线聊天的消息历史的若干消息历史832作为训练数据来重新训练个人模型。这将训练个人模型以提供用户如何跨多个对话进行通信的一般表示。
本文中描述的各方面还适用于群组在线聊天——即涉及用户与两个或更多个其他参与者的聊天,这些其他参与者是用户消息的目标。在一个示例中,获取并且组合两个或更多个其他参与者中的每个的相应的基于关系的自动完成模型以构建群组自动完成模型。图9描绘了根据本文中描述的各方面的群组自动完成模型构建的示例。在群组聊天上下文中,用户设备802的消息应用获取/下载群组聊天中的所有其他参与者的基于关系的自动完成模型934。如果需要,使用任何期望的权重对模型进行加权并且将其合成为群组模型936,群组模型936可以上载并且存储在云设施中。
在一些示例中,如上所述,从云获取用于构建群组模型的一个或多个所获取的模型作为模板。特别是如果用户先前未与给定目标参与者通信,则情况可能如此。然而,可选地,如果用户具有与群组聊天的特定目标参与者的现有在线聊天,则用于用户与特定目标参与者的现有聊天的已经训练的基于关系的自动完成模型可以用作群组聊天的该参与者的基于关系的模型。作为具体示例,如果用户开始与他的父母和兄弟进行群组聊天,但是用户设备已经具有经训练的基于关系的自动完成模型,该模型在用户与他兄弟进行的单独聊天中使用,则来自单独聊天的已经训练的基于关系的自动完成模型可以用于构建群组模型(以及为用户父母中的每一人获取的任何模型)。替代地,由于群组聊天上下文可以改变在其自己的单独的一对一聊天中涉及的两个人之间可能存在的动态,在一些实施例中,来自云的模板被提取并且用于给定参与者构建群组模型,而不是使用针对该参与者可能已存在的任何现有训练模型。
当用户作为在线群组聊天的一部分发送消息时,群组自动完成模型可以与个人自动完成模型结合使用以用于自动完成建议。图10描绘了根据本文中描述的各方面的用于群组在线聊天的单词自动完成建议的示例。类似于图5中的过程,当用户键入未完成的单词/句子1018时,这由用户设备1002的消息应用馈送到模型中,在这种情况下,模型是包括群组模型1038和个人自动完成模型1020的本地集合。(多个)模型向用户设备1002产生有序建议列表1022,作为用于自动完成的建议单词。在一些示例中,建议是模型最强烈建议的有序单词列表。在一些示例中,系统将基于来自群组模型和个人模型的建议的加权平均来提供建议。
尽管在一些示例中,群组模型未被进一步训练,但是在其他示例中,其在用户设备处或在云处被进一步训练。例如,用户作为群组聊天的一部分而发送的消息的消息历史用于训练群组模型。在任何情况下,在一些示例中,作为群组聊天的一部分而发送的消息可以不用于训练用户与恰好也是群组聊天的参与者的目标参与者之间的一对一在线聊天的基于关系的模型。然而,在其他示例中,在群组聊天中发送的消息用于针对每个群组聊天参与者的各个基于关系的模型的训练,但是与在与目标进行一对一聊天时发送的消息相比,关于在训练时对模型的影响方面,在群组聊天中发送的消息可以被加权较低。
因此,提供了一种智能的云辅助自动完成设施,其在提供单词/短语建议时考虑用户与目标参与者的关系。该设施使用与目标相对应的特定于关系的语言模型,最初在对话首次开始时作为模板模型开始并且随着时间被训练以针对特定用户与特定目标参与者的通信来定制自动完成建议。通过反馈机制,随着更多用户对话数据被收集并且发送回云以重新训练语言模型,系统得到改进。
本文中描述的各方面不同于利用过去的聊天历史和来自发送者的设备上的个性化词典的文本建议的补充特征的方法。例如,本文中描述的一些方面对主题用户与(多个)目标参与者之间的关系进行分类,并且利用特定于关系的初始模板模型。例如,可以通过来自涉及相同关系类别的多个通信信道的数据来更新和训练模板模型。在一些方面,定义关系并且最初使用基于该关系的适当模板模型。该模型通过由用户键入该聊天的消息来训练。在云上保持的模板模型的通用数据库极大地减少了在用户设备上存储原始和训练数据的负担。另外,与仅保持和使用个性化模型相比,文本建议可以更准确,并且经训练的基于模板的方法在对话开始时提供改进的初始准确度。
图11描绘了根据本文中描述的各方面的基于上下文的自动完成建议的示例过程。图11的一些方面在客户端(例如,用户设备,在图11中称为客户端)上执行,而图11的其他方面在服务器端(例如,云或其他远程设施,在图11中称为服务器)上执行。通常,图11的过程的各方面由诸如本文所述的(多个)计算机系统执行,计算机系统可以包括一个或多个用户设备(诸如移动设备)、一个或多个云服务器、和/或一个或多个其他计算机系统。
图11的过程基于计算机系统(例如,用户设备)的用户对在线聊天的发起而开始。在线聊天具有参与者,参与者包括用户和用户作为在线聊天的一部分而发送的消息所针对的目标参与者。基于在线聊天的发起,客户端向远程设施(例如,云设施、图11中的服务器)提供标识在线聊天的参与者的在线聊天的参与者的参与者信息(1102)。参与者信息包括用户和目标参与者信息。服务器获取参与者信息(1104),并且关系标识符对用户与目标参与者之间的关系类型进行分类(1106)。在一些示例中,关系标识符使用(i)关于用户和目标参与者的高速缓存信息和/或(ii)用户与目标参与者之间的社交网络关系来执行该分类。服务器基于关系类型从与不同关系类型相对应的多个不同的基于关系的模板自动完成模型中选择基于关系的模板自动完成模型。示例关系类型包括兄弟关系类型、朋友关系类型和/或同事关系类型,但是模板模型可以表示任何类型的关系。服务器选择基于关系的自动完成模型并且将所选择的基于关系的自动完成模型发送到计算机系统(1108)。
客户端保持基于关系的自动完成模型以用于单词自动完成建议(1110)。最初,所保持的基于关系的自动完成模型是客户端基于客户端提供参与者信息从服务器接收的基于关系的模板自动完成模型。随着时间的推移,该保持的基于关系的自动完成模型通过训练被更新。下面参考图12描绘和描述用于保持基于关系的自动完成模型的示例过程。
继续图11的过程,该过程接收编写用于作为聊天的一部分而发送的消息的用户输入(1112)。基于编写用于作为在线聊天的一部分而发送的消息的用户输入,该过程向用户建议用于在用户编写消息时自动完成的单词(1114)。所建议的单词可以至少部分基于所保持的基于关系的自动完成模型来被选择作为建议。
用户输入可以包括要被包括在编写的消息中的单词和/或单词的一个或多个字母的输入。因此,输入可以是部分输入的单词,也可以是已经输入的单词。作为自动完成建议的一部分,可以通过用户用来参与在线聊天的聊天应用将部分输入的单词或(多个)完整单词与来自与目标参与者的过去的消息的过去键入的或选择的单词一起馈送到基于关系的自动完成模型中。基于将该信息馈送到模型中,模型可以为用户输出有序单词建议列表(1114)。所选择的单词可以进一步基于用户的个人自动完成模型来被选择作为建议,个人自动完成模型用于对用户跨在线聊天的消息编写习惯进行建模。因此,自动完成建议可以使用集合模型作为个人自动完成模型和基于关系的自动完成模型的组合,其中集合基于从个人自动完成模型和基于关系的自动完成模型获取的建议的权重来选择建议的单词。例如,从基于关系的自动完成模型产生的建议可以比从个人自动完成模型产生的建议被更重地加权。附加地或替代地,所选择的单词可以进一步基于用户在在线聊天中使用的共同词汇的用户本地词汇词典来被选择作为建议。
在一些方面,可以基于本地保存的消息在本地(由客户端)训练个人自动完成模型,本地保存的消息来自用户参与的并且具有不同的参与者的多个不同的在线聊天。以这种方式,个人模型可以对用户跨在线聊天的通信行为进行建模。
继续图11,在单词自动完成建议之后,用户可以选择建议的单词或者继续键入正在进行的单词的字母,或者移动到下一单词。在任何情况下,该过程确定是否其结束(1116),例如,作为示例,通过用户发送消息或切换离开聊天程序。如果该过程不结束(1116,否),则该过程返回到1112以接收更多用户输入并且继续自动完成建议。否则(1112,Y)该过程结束。
图12描绘了根据本文中描述的各方面的用于保持基于关系的自动完成模型的示例过程。图12的一些方面在客户端侧(例如,用户设备,在图12中称为客户端)上执行,而图12的其他方面在服务器端(例如,云或其他远程设施,在图12中称为服务器)上执行。通常,图12的过程的各方面由诸如本文所述的(多个)计算机系统执行,计算机系统可以包括一个或多个用户设备(诸如移动设备)、一个或多个云服务器、和/或一个或多个其他计算机系统。
在一些示例中,客户端保持目标参与者本地模型集,目标参与者本地模型集包括所保持的基于关系的自动完成模型的目标参与者本地模型集和用于进一步训练所保持的基于关系的自动完成模型的当前本地保存消息集。
图12的过程包括在客户端上在消息历史中本地保存由用户编写并且作为在线聊天的一部分而发送的发送消息(1202)。然后,该过程确定是否触发向服务器发送消息历史的本地保存的发送消息以用于训练基于关系的自动完成模型(1204)。该发送可以基于任何期望的标准来触发。例如,触发可以基于(i)自从基于关系的自动完成模型被训练以来的阈值时间量和/或(ii)自从上次训练以来在消息历史中累积的本地保存的发送消息的数目。如果确定不触发本地保存的消息的发送(1204,否),则当/如果发送时,该过程返回到(1202)以保存下一发送消息。否则(1204,是),该过程将消息历史的本地保存的发送消息发送到服务器以用于训练基于关系的自动完成模型(1206)。可选地,如果希望不再保留消息,则客户端可以清除消息历史。因此,基于将当前本地保存消息集发送到服务器,该过程可以丢弃来自客户端的当前本地保存消息集(1208)。随后,可以保存编写和发送的消息作为下一当前本地保存消息集的一部分以用于下一轮训练基于关系的自动完成模型。
服务器还具有当前的(即,最新的)基于关系的自动完成模型,因为最新版本是该模型的最近训练的版本。服务器接收由客户端本地保存并且上载到服务器的发送消息(1210),并且使用它们来训练当前的基于关系的自动完成模型并且产生已更新的基于关系的自动完成模型(1212)。然后,服务器将该已更新的模型发送到客户端(1214),并且客户端接收并且存储该现在的经训练和已更新的模型(1216)作为所保持的基于关系的自动完成模型。该过程返回到(1202)以保存在线聊天的后续消息以供稍后训练。同时,已更新的模型现在是用于建议(图11的1114)的所保持的模型(图11的1110)。
在一些方面,服务器随着时间训练它保持的模板自动完成模型。该训练可以基于跨很多在线聊天的聚合消息历史,这些在线聊天涉及模板所属的特定关系类型的参与者。例如,可以使用跨几个不同聊天在几个不同兄弟集之间发送的消息来训练“兄弟姐妹-兄弟”模板。虽然这些单独聊天中的每个都将具有与它们相关联的单独的基于关系的自动完成模型(例如,给定聊天的每个参与者一个模型),这些模型最初是模板但是随着时间基于该聊天的消息被单独训练,但是兄弟之间跨几次聊天的聚合消息历史可以告知在兄弟之间的聊天中使用的共同词汇、短语、语法等。因此,模板“兄弟姐妹-兄弟”模型模板被改进,并且可以在兄弟之间的新聊天开始时提供给用户。
本文中描述的各方面可以另外在群组在线聊天上下文中使用。基于具有包括用户和多个目标参与者的群组参与者的群组在线聊天的发起,用户的客户端设备上的过程可以获取多个基于关系的自动完成模型,包括用于多个目标参与者中的每个目标参与者的相应的基于关系的自动完成模型。当在群组聊天的目标参与者的自动完成模型已经存在于客户端设备上时,例如群组聊天的该目标参与者是与用户进行一对一聊天的参与者,因此经训练的自动完成模型已经可用,则这个已经可用的模型可以用于该目标参与者。对于在客户端上其自动完成模型尚未可用的群组聊天的其他目标,可以如上所述从云中提取适当的模板模型,即响应于向服务器发送群组聊天的群组参与者的群组参与者信息而接收的。替代地,可以为群组聊天的每个目标参与者提取适当的模板,而不管该参与者的单独训练模型是否已经存在于客户端上。
在用户设备上的用于获取群组参与者的多个基于关系的自动完成模型的过程可以以如下方式继续进行:通过对多个基于关系的自动完成模型目标相对于彼此进行加权并且基于加权的多个基于关系的自动完成模型来构建群组自动完成模型。然后,基于编写用于作为群组在线聊天的一部分而发送的消息的用户输入,该过程可以向用户建议用于在用户编写用于作为群组在线聊天的一部分而发送的消息时自动完成的单词。用于作为群组在线聊天的一部分而发送的消息的建议单词可以至少部分基于群组自动完成模型和用户的个人自动完成模型而被选择作为建议的,个人自动完成模型对用户跨在线聊天的消息编写习惯进行建模。
尽管提供了各种示例,但是在不脱离所要求保护的各方面的精神的情况下,可以进行变化。
作为示例,本文中描述的过程可以由一个或多个计算机系统单独地或共同地执行,诸如一个或多个基于云的服务器、客户端计算设备或前述各项的组合。图13描绘了结合和/或使用本文中描述的各方面的这种计算机系统和相关联的设备的一个示例。计算机系统在本文中也可以称为数据处理设备/系统、计算设备/系统/节点,或者简称为计算机。计算机系统可以基于各种系统架构和/或指令集架构中的一个或多个,作为示例,诸如由国际商业机器公司(美国纽约阿蒙克)、英特尔公司(美国加利福尼亚州圣克拉拉市)或以ARMHoldings plc(英国英格兰剑桥)提供的那些。
图13示出了与(多个)外部设备1312通信的计算机系统1300。计算机系统1300包括一个或多个处理器1302,例如(多个)中央处理单元(CPU)。处理器可以包括用于执行指令的功能组件,诸如用于从诸如高速缓存或主存储器等位置获取程序指令的功能组件,用于解码程序指令的功能组件,用于执行程序指令的功能组件,用于访问存储器以进行指令执行的功能组件,以及用于写入所执行的指示的结果的功能组件。处理器1302还可以包括要由一个或多个功能组件使用的(多个)寄存器。计算机系统1300还包括存储器1304、输入/输出(I/O)设备1308和I/O接口1310,它们可以经由一个或多个总线和/或其他连接耦合到(多个)处理器1302和耦合到彼此。总线连接表示使用各种总线架构中的任何一种的几种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、和处理器或本地总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)本地总线和外围组件互连(PCI)。
存储器1304可以是或者包括用于执行程序指令的主或系统存储器(例如,随机存取存储器)、诸如(多个)硬盘驱动器、闪存介质或光学介质等(多个)存储设备、和/或高速缓冲存储器。例如,存储器1304可以包括可以耦合到(多个)处理器1302的本地高速缓存(示例包括L1高速缓存、L2高速缓存等)的高速缓存,诸如共享高速缓存。另外,存储器1304可以是或者包括具有被配置为在由一个或多个处理器执行时执行本文中描述的实施例的功能的一组(例如,至少一个)程序模块、指令、代码等的至少一个计算机程序产品。
存储器1304可以存储操作系统1305和其他计算机程序1306,诸如执行以执行本文中描述的各方面的一个或多个计算机程序/应用。具体地,程序/应用可以包括可以被配置为执行本文中描述的各方面的实施例的功能的计算机可读程序指令。
I/O设备1308的示例包括但不限于麦克风、扬声器、全球定位系统(GPS)设备、相机、灯、加速度计、陀螺仪、磁力计、被配置为感测光、接近度、心率、身体和/或环境温度、血压和/或皮肤电阻的传感器设备、以及活动监测器。如图所示,I/O设备可以并入计算机系统中,但是在一些实施例中,I/O设备可以被视为通过一个或多个I/O接口1310耦合到计算机系统的外部设备(1312)。
计算机系统1300可以经由一个或多个I/O接口1310与一个或多个外部设备1312通信。示例外部设备包括键盘、指示设备、显示器和/或使得用户能够与计算机系统1300通信的任何其他设备。其他示例外部设备包括使得计算机系统1300能够与一个或多个其他计算系统或诸如打印机等外围设备通信的任何设备。网络接口/适配器是使得计算机系统1300能够与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)等一个或多个网络通信以提供与其他计算设备或系统、存储设备等的通信的示例I/O接口。基于以太网(诸如Wi-Fi)接口和适配器仅是计算机系统中使用的当前可用类型的网络适配器的示例(BLUETOOTH是美国华盛顿柯克兰的Bluetooth SIG公司的注册商标)。
I/O接口1310与外部设备1312之间的通信可以在(多个)有线和/或无线通信链路1311上发生,诸如基于以太网的有线或无线连接。示例性无线连接包括蜂窝、Wi-Fi、基于接近度、近场或其他类型的无线连接。更一般地,(多个)通信链路1311可以是用于传送数据的任何适当的(多个)无线和/或有线通信链路。
(多个)特定外部设备1312可以包括可以存储一个或多个程序、一个或多个计算机可读程序指令和/或数据等的一个或多个数据存储设备。计算机系统1300可以包括和/或耦合到(例如,作为计算机系统的外部设备)可移动/不可移动的易失性/非易失性的计算机系统存储介质并且与其通信。例如,它可以包括和/或耦合到不可移动的非易失性的磁介质(通常称为“硬盘驱动器”)、用于读取和写入可移动的非易失性磁盘(例如,“软盘”)的磁盘驱动器、和/或用于读取或写入可移动的非易失性光盘(例如,CD-ROM、DVD-ROM或其他光学介质)的光盘驱动器。
计算机系统1300可以与很多其他通用或专用计算系统环境或配置一起操作。计算机系统1300可以采用各种形式中的任何一种,其公知的示例包括但不限于(多个)个人计算机(PC)系统、诸如(多个)消息服务器等(多个)服务器计算机系统、(多个)瘦客户端、(多个)胖客户端、(多个)工作站、(多个)笔记本电脑、(多个)手持设备、(多个)移动设备/(多个)计算机(诸如(多个)智能手机、(多个)平板电脑和(多个)可穿戴设备)、(多个)多处理器系统、(多个)基于微处理器的系统、(多个)电话设备、(多个)网络设备(诸如(多个)边缘设备)、(多个)虚拟化设备、(多个)存储控制器、(多个)机顶盒、(多个)可编程消费电子产品、(多个)网络PC、(多个)小型计算机系统、(多个)大型计算机系统、和包括上述系统或设备中的任何一种的(多个)分布式云计算环境等。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图14,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上保持资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图15,其中显示了云计算环境50(图14)提供的一组功能抽象层。首先应当理解,图15所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及基于上下文的自动完成建议96。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是--但不限于--电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
除了上述之外,可以由提供客户环境管理的服务提供商提供、供应、部署、管理、服务等一个或多个方面。例如,服务提供商可以创建、保持、支持等为一个或多个客户执行一个或多个方面的计算机代码和/或计算机基础设施。作为回报,作为示例,服务提供商可以根据订阅和/或费用协议从客户接收付款。附加地或替代地,服务提供商可以根据向一个或多个第三方销售广告内容来接收付款。
在一个方面,可以部署应用以执行一个或多个实施例。作为一个示例,应用的部署包括提供可操作以执行一个或多个实施例的计算机基础设施。
作为另一方面,可以部署计算基础设施,包括将计算机可读代码集成到计算系统中,其中代码与计算系统相结合能够执行一个或多个实施例。
作为又一方面,可以提供一种用于集成计算基础设施的过程,包括将计算机可读代码集成到计算机系统中。该计算机系统包括计算机可读介质,其中该计算机介质包括一个或多个实施例。代码与计算机系统相结合能够执行一个或多个实施例。
尽管以上描述了各种实施例,但这些仅是示例。例如,其他架构的计算环境可以用于合并和使用一个或多个实施例。
本文中使用的术语仅用于描述特定实施例的目的,而不是限制性的。如本文中使用的,单数形式“一个(a)”、“一个(an)”和“该(the)”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括(comprises)”和/或“包括(comprising)”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组的存在或添加。
以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作和等同物(如果有的话)旨在包括用于结合其他要求保护的元素执行功能的任何结构、材料或动作,如具体地要求保护的。对一个或多个实施例的描述出于说明和描述的目的而给出,而非旨在穷举或限制于所公开的形式。很多修改和变化对于本领域普通技术人员来说是很清楚的。选择和描述实施例是为了最好地解释各个方面和实际应用,并且使得本领域其他普通技术人员能够理解具有适合于预期的特定用途的各种修改的各种实施例。

Claims (18)

1.一种计算机实现的方法,包括:
基于计算机系统的用户对在线聊天的发起,向远程设施提供标识所述在线聊天的参与者的所述在线聊天的所述参与者的参与者信息,所述在线聊天具有所述参与者,所述参与者包括所述用户和由所述用户作为所述在线聊天的一部分而发送的消息所针对的目标参与者;
在所述计算机系统处保持基于关系的自动完成模型以用于在单词自动完成建议时的使用,其中所保持的所述基于关系的自动完成模型最初是由所述计算机系统基于提供所述参与者信息而从所述远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练所述基于关系的自动完成模型而被更新;以及
基于编写用于作为所述在线聊天的一部分来发送的消息的用户输入,向所述用户建议用于在所述用户编写所述消息时自动完成的单词,所建议的所述单词是至少部分基于所保持的所述基于关系的自动完成模型而被选择作为建议的;
其中保持所述基于关系的自动完成模型包括:
在所述计算机系统上在消息历史中本地保存由所述用户作为所述在线聊天的一部分而编写并且发送的发送消息;
将所述消息历史的本地保存的所述发送消息发送到所述远程设施以用于在训练所述基于关系的自动完成模型时的使用;
基于所述训练从所述远程设施接收经训练的已更新的基于关系的自动完成模型;以及
将所接收的所述经训练的已更新的基于关系的自动完成模型存储在计算机系统上作为所保持的所述基于关系的自动完成模型以用于在所述建议时的使用;
其中基于提供所述在线聊天的所述参与者的所述参与者信息:
关系标识符使用选自由以下项组成的组中的至少一项来对所述用户与所述目标参与者之间的关系类型进行分类:(i)关于所述用户和所述目标参与者的高速缓存信息,以及(ii)所述用户与所述目标参与者之间的社交网络关系;
所述基于关系的模板自动完成模型是基于所述关系类型从与不同关系类型相对应的多个不同的基于关系的模板自动完成模型中选择的;以及
所述计算机系统获取所选择的所述基于关系的自动完成模型。
2.根据权利要求1所述的方法,其中所述计算机系统保持目标参与者本地模型集,所述目标参与者本地模型集包括所保持的所述基于关系的自动完成模型和要用于进一步训练所保持的所述基于关系的自动完成模型的当前本地保存消息集,其中基于将所述当前本地保存消息集发送到所述远程设施,所述方法丢弃来自所述计算机系统的所述当前本地保存消息集,并且保存随后编写和发送的消息作为下一当前本地保存消息集的一部分以用于下一轮训练所述基于关系的自动完成模型。
3.根据权利要求1所述的方法,其中所述用户输入包括部分输入的单词,并且其中所述方法还包括通过所述计算机系统的聊天应用将所述部分输入的单词和来自与所述目标参与者的过去的消息的过去键入或选择的单词馈送到所述基于关系的自动完成模型中,所述用户通过所述聊天应用参与所述在线聊天,其中基于所述馈送,所述基于关系的自动完成模型为所述用户输出有序单词建议列表。
4.根据权利要求1所述的方法,其中选择的所述单词进一步基于所述用户的个人自动完成模型而被选择作为建议,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模。
5.根据权利要求4所述的方法,还包括基于来自所述用户参与的并且具有不同参与者的多个在线聊天的本地保存消息来训练所述个人自动完成模型。
6.根据权利要求4所述的方法,其中所述建议使用集合模型作为所述个人自动完成模型和所述基于关系的自动完成模型的合成,其中所述集合基于来自所述个人自动完成模型和来自所述基于关系的自动完成模型的建议的权重来选择所建议的所述单词。
7.根据权利要求4所述的方法,其中选择的所述单词进一步基于由所述用户在在线聊天中使用的共同词汇的用户本地词汇词典而被选择作为建议。
8.根据权利要求1所述的方法,其中所述发送是基于选自由以下项组成的组中的至少一项来触发的:(i)自从所述基于关系的自动完成模型被训练以来的阈值时间量,以及(ii)所述消息历史中的本地保存的发送消息的数目。
9.根据权利要求1所述的方法,还包括:基于具有包括所述用户和多个目标参与者的群组参与者的群组在线聊天的发起:
获取多个基于关系的自动完成模型,所述多个基于关系的自动完成模型包括所述多个目标参与者中的每个目标参与者的相应的基于关系的自动完成模型,所述多个基于关系的自动完成模型中的至少一些基于关系的自动完成模型被获取作为响应于向所述远程设施发送所述群组在线聊天的所述群组参与者的群组参与者信息而接收的基于关系的模板自动完成模型;
对所述多个基于关系的自动完成模型相对于彼此进行加权,并且基于加权的所述多个基于关系的自动完成模型来构建群组自动完成模型;以及
基于编写用于作为所述群组在线聊天的一部分而发送的消息的用户输入,向所述用户建议用于在所述用户编写用于作为所述群组在线聊天的一部分而发送的所述消息时自动完成的单词,用于作为所述群组在线聊天的一部分而发送的所述消息的所建议的所述单词是至少部分基于所述群组自动完成模型和所述用户的个人自动完成模型而被选择作为建议的,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模。
10.一种计算机系统,包括:
存储器;以及
与所述存储器通信的处理器,其中所述计算机系统被配置为执行方法,所述方法包括:
基于计算机系统的用户对在线聊天的发起,向远程设施提供标识所述在线聊天的参与者的所述在线聊天的所述参与者的参与者信息,所述在线聊天具有所述参与者,所述参与者包括所述用户和由所述用户作为所述在线聊天的一部分而发送的消息所针对的目标参与者;
在所述计算机系统处保持基于关系的自动完成模型以用于在单词自动完成建议时的使用,其中所保持的所述基于关系的自动完成模型最初是由所述计算机系统基于提供所述参与者信息而从所述远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练所述基于关系的自动完成模型而被更新;以及
基于编写用于作为所述在线聊天的一部分来发送的消息的用户输入,向所述用户建议用于在所述用户编写所述消息时自动完成的单词,所建议的所述单词是至少部分基于所保持的所述基于关系的自动完成模型而被选择作为建议的;
其中保持所述基于关系的自动完成模型包括:
在所述计算机系统上在消息历史中本地保存由所述用户作为所述在线聊天的一部分而编写并且发送的发送消息;
将所述消息历史的本地保存的所述发送消息发送到所述远程设施以用于在训练所述基于关系的自动完成模型时的使用;
基于所述训练从所述远程设施接收经训练的已更新的基于关系的自动完成模型;以及
将所接收的所述经训练的已更新的基于关系的自动完成模型存储在计算机系统上作为所保持的所述基于关系的自动完成模型以用于在所述建议时的使用;
其中基于提供所述在线聊天的所述参与者的所述参与者信息:
关系标识符使用选自由以下项组成的组中的至少一项来对所述用户与所述目标参与者之间的关系类型进行分类:(i)关于所述用户和所述目标参与者的高速缓存信息,以及(ii)所述用户与所述目标参与者之间的社交网络关系;
所述基于关系的模板自动完成模型是基于所述关系类型从与不同关系类型相对应的多个不同的基于关系的模板自动完成模型中选择的;以及
所述计算机系统获取所选择的所述基于关系的自动完成模型。
11.根据权利要求10所述的计算机系统,其中所述用户输入包括部分输入的单词,并且其中所述方法还包括通过所述计算机系统的聊天应用将所述部分输入的单词和来自与所述目标参与者的过去的消息的过去键入或选择的单词馈送到所述基于关系的自动完成模型中,所述用户通过所述聊天应用参与所述在线聊天,其中基于所述馈送,所述基于关系的自动完成模型为所述用户输出有序单词建议列表。
12.根据权利要求10所述的计算机系统,其中选择的所述单词进一步基于所述用户的个人自动完成模型而被选择作为建议,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模。
13.根据权利要求12所述的计算机系统,其中所述方法还包括基于来自所述用户参与的并且具有不同参与者的多个在线聊天的本地保存消息来训练所述个人自动完成模型。
14.根据权利要求12所述的计算机系统,其中选择的所述单词进一步基于由所述用户在在线聊天中使用的共同词汇的用户本地词汇词典而被选择作为建议。
15.根据权利要求10所述的计算机系统,其中所述方法还包括:基于具有包括所述用户和多个目标参与者的群组参与者的群组在线聊天的发起:
获取多个基于关系的自动完成模型,所述多个基于关系的自动完成模型包括所述多个目标参与者中的每个目标参与者的相应的基于关系的自动完成模型,所述多个基于关系的自动完成模型中的至少一些基于关系的自动完成模型被获取作为响应于向所述远程设施发送所述群组在线聊天的所述群组参与者的群组参与者信息而接收的基于关系的模板自动完成模型;
对所述多个基于关系的自动完成模型相对于彼此进行加权,并且基于加权的所述多个基于关系的自动完成模型来构建群组自动完成模型;以及
基于编写用于作为所述群组在线聊天的一部分而发送的消息的用户输入,向所述用户建议用于在所述用户编写用于作为所述群组在线聊天的一部分而发送的所述消息时自动完成的单词,用于作为所述群组在线聊天的一部分而发送的所述消息的所建议的所述单词是至少部分基于所述群组自动完成模型和所述用户的个人自动完成模型而被选择作为建议的,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模。
16.一种计算机可读存储介质,由处理电路可读并且存储用于由所述处理电路执行以用于执行方法的指令,所述方法包括:
基于计算机系统的用户对在线聊天的发起,向远程设施提供标识所述在线聊天的参与者的所述在线聊天的所述参与者的参与者信息,所述在线聊天具有所述参与者,所述参与者包括所述用户和由所述用户作为所述在线聊天的一部分而发送的消息所针对的目标参与者;
在所述计算机系统处保持基于关系的自动完成模型以用于在单词自动完成建议时的使用,其中所保持的所述基于关系的自动完成模型最初是由所述计算机系统基于提供所述参与者信息而从所述远程设施接收的基于关系的模板自动完成模型,并且随着时间通过训练所述基于关系的自动完成模型而被更新;以及
基于编写用于作为所述在线聊天的一部分来发送的消息的用户输入,向所述用户建议用于在所述用户编写所述消息时自动完成的单词,所建议的所述单词是至少部分基于所保持的所述基于关系的自动完成模型而被选择作为建议的;
其中保持所述基于关系的自动完成模型包括:
在所述计算机系统上在消息历史中本地保存由所述用户作为所述在线聊天的一部分而编写并且发送的发送消息;
将所述消息历史的本地保存的所述发送消息发送到所述远程设施以用于在训练所述基于关系的自动完成模型时的使用;
基于所述训练从所述远程设施接收经训练的已更新的基于关系的自动完成模型;以及
将所接收的所述经训练的已更新的基于关系的自动完成模型存储在计算机系统上作为所保持的所述基于关系的自动完成模型以用于在所述建议时的使用;
其中基于提供所述在线聊天的所述参与者的所述参与者信息:
关系标识符使用选自由以下项组成的组中的至少一项来对所述用户与所述目标参与者之间的关系类型进行分类:(i)关于所述用户和所述目标参与者的高速缓存信息,以及(ii)所述用户与所述目标参与者之间的社交网络关系;
所述基于关系的模板自动完成模型是基于所述关系类型从与不同关系类型相对应的多个不同的基于关系的模板自动完成模型中选择的;以及
所述计算机系统获取所选择的所述基于关系的自动完成模型。
17.根据权利要求16所述的计算机可读存储介质,其中选择的所述单词进一步基于所述用户的个人自动完成模型和基于由所述用户在在线聊天中使用的共同词汇的用户本地词汇词典而被选择作为建议,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模,其中所述方法还包括基于来自所述用户参与的并且具有不同参与者的多个在线聊天的本地保存消息来训练所述个人自动完成模型。
18.根据权利要求16所述的计算机可读存储介质,其中所述方法还包括:基于具有包括所述用户和多个目标参与者的群组参与者的群组在线聊天的发起:
获取多个基于关系的自动完成模型,所述多个基于关系的自动完成模型包括所述多个目标参与者中的每个目标参与者的相应的基于关系的自动完成模型,所述多个基于关系的自动完成模型中的至少一些基于关系的自动完成模型被获取作为响应于向所述远程设施发送所述群组在线聊天的所述群组参与者的群组参与者信息而接收的基于关系的模板自动完成模型;
对所述多个基于关系的自动完成模型相对于彼此进行加权,并且基于加权的所述多个基于关系的自动完成模型来构建群组自动完成模型;以及
基于编写用于作为所述群组在线聊天的一部分而发送的消息的用户输入,向所述用户建议用于在所述用户编写用于作为所述群组在线聊天的一部分而发送的所述消息时自动完成的单词,用于作为所述群组在线聊天的一部分而发送的所述消息的所建议的所述单词是至少部分基于所述群组自动完成模型和所述用户的个人自动完成模型而被选择作为建议的,所述个人自动完成模型对所述用户跨在线聊天的消息编写习惯进行建模。
CN201910598607.7A 2018-07-06 2019-07-04 基于上下文的自动完成建议 Active CN110750971B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/028,752 US11205045B2 (en) 2018-07-06 2018-07-06 Context-based autocompletion suggestion
US16/028,752 2018-07-06

Publications (2)

Publication Number Publication Date
CN110750971A CN110750971A (zh) 2020-02-04
CN110750971B true CN110750971B (zh) 2023-08-11

Family

ID=69102133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910598607.7A Active CN110750971B (zh) 2018-07-06 2019-07-04 基于上下文的自动完成建议

Country Status (2)

Country Link
US (1) US11205045B2 (zh)
CN (1) CN110750971B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11475053B1 (en) * 2018-09-28 2022-10-18 Splunk Inc. Providing completion recommendations for a partial natural language request received by a natural language processing system
US11017764B1 (en) 2018-09-28 2021-05-25 Splunk Inc. Predicting follow-on requests to a natural language request received by a natural language processing system
US20200183884A1 (en) * 2018-12-06 2020-06-11 Microsoft Technology Licensing, Llc Content-aware search suggestions
US10834036B2 (en) * 2019-03-06 2020-11-10 International Business Machines Corporation Enhancement of real-time message verbosity
US11678031B2 (en) 2019-04-19 2023-06-13 Microsoft Technology Licensing, Llc Authoring comments including typed hyperlinks that reference video content
US11785194B2 (en) 2019-04-19 2023-10-10 Microsoft Technology Licensing, Llc Contextually-aware control of a user interface displaying a video and related user text
US10904631B2 (en) * 2019-04-19 2021-01-26 Microsoft Technology Licensing, Llc Auto-completion for content expressed in video data
US11514265B2 (en) * 2019-09-26 2022-11-29 Microsoft Technology Licensing, Llc Inference via edge label propagation in networks
US11797766B2 (en) * 2021-05-21 2023-10-24 Apple Inc. Word prediction with multiple overlapping contexts
WO2023048374A1 (en) * 2021-09-21 2023-03-30 Samsung Electronics Co., Ltd. A method and system for predicting response and behavior on chats
EP4224358A1 (en) 2022-02-08 2023-08-09 Koa Health B.V. Sucursal en España Method and system for a more accurate autocomplete mechanism

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190608A (zh) * 2013-03-19 2015-12-23 国际商业机器公司 可定制、低延迟交互式计算机辅助翻译
CN106233375A (zh) * 2014-04-25 2016-12-14 纽昂斯通信有限公司 基于众包的用户文本输入从头开始学习语言模型

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9818872D0 (en) * 1998-08-28 1998-10-21 Green Cathedral Limited Computer network information use monitoring
US6839680B1 (en) * 1999-09-30 2005-01-04 Fujitsu Limited Internet profiling
US6915262B2 (en) * 2000-11-30 2005-07-05 Telesector Resources Group, Inc. Methods and apparatus for performing speech recognition and using speech recognition results
US20040204124A1 (en) * 2002-05-08 2004-10-14 Campbell Lowell Lete Method of minimizing the quantity of information stored in a wireless device
US20050283724A1 (en) * 2004-06-18 2005-12-22 Research In Motion Limited Predictive text dictionary population
US20080052272A1 (en) * 2006-08-28 2008-02-28 International Business Machines Corporation Method, System and Computer Program Product for Profile-Based Document Checking
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US20080243738A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Game dictionaries
US20080243737A1 (en) * 2007-03-29 2008-10-02 Nokia Corporation Club dictionaries
US7797269B2 (en) * 2007-03-29 2010-09-14 Nokia Corporation Method and apparatus using a context sensitive dictionary
US7827165B2 (en) * 2007-09-17 2010-11-02 International Business Machines Corporation Providing a social network aware input dictionary
US20090254817A1 (en) * 2008-04-03 2009-10-08 International Business Machines Corporation Enhanced spell checking utilizing a social network
US9141689B2 (en) * 2008-06-11 2015-09-22 International Business Machines Corporation Persona management system for communications
US20100114887A1 (en) * 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US8010615B2 (en) * 2008-12-31 2011-08-30 International Business Machines Corporation Instant messaging multilingual configuration
US9424246B2 (en) * 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US9262397B2 (en) * 2010-10-08 2016-02-16 Microsoft Technology Licensing, Llc General purpose correction of grammatical and word usage errors
US8903719B1 (en) * 2010-11-17 2014-12-02 Sprint Communications Company L.P. Providing context-sensitive writing assistance
US9208201B2 (en) * 2011-06-03 2015-12-08 Apple Inc. Cloud storage
JP5926378B2 (ja) * 2011-07-14 2016-05-25 シェンツェン・シ・ジ・ガン・ス・インフォメーション・テクノロジー・カンパニー・リミテッド テキスト入力方法、装置、およびシステム
JP6033326B2 (ja) * 2011-12-12 2016-11-30 エンパイア テクノロジー ディベロップメント エルエルシー コンテンツベースの自動的な入力プロトコルの選択
US20130158987A1 (en) * 2011-12-19 2013-06-20 Bo Xing System and method for dynamically generating group-related personalized dictionaries
US9330083B2 (en) 2012-02-14 2016-05-03 Facebook, Inc. Creating customized user dictionary
US9235565B2 (en) * 2012-02-14 2016-01-12 Facebook, Inc. Blending customized user dictionaries
US9330082B2 (en) * 2012-02-14 2016-05-03 Facebook, Inc. User experience with customized user dictionary
GB201208373D0 (en) * 2012-05-14 2012-06-27 Touchtype Ltd Mechanism for synchronising devices,system and method
US9747895B1 (en) * 2012-07-10 2017-08-29 Google Inc. Building language models for a user in a social network from linguistic information
US9195645B2 (en) * 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
US8983849B2 (en) * 2012-10-17 2015-03-17 Nuance Communications, Inc. Multiple device intelligent language model synchronization
US9280534B2 (en) * 2012-11-19 2016-03-08 Facebook, Inc. Generating a social glossary
US9244905B2 (en) * 2012-12-06 2016-01-26 Microsoft Technology Licensing, Llc Communication context based predictive-text suggestion
US10229167B2 (en) * 2013-02-27 2019-03-12 Facebook, Inc. Ranking data items based on received input and user context information
US20140278349A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Language Model Dictionaries for Text Predictions
US9672818B2 (en) * 2013-04-18 2017-06-06 Nuance Communications, Inc. Updating population language models based on changes made by user clusters
CN103399906B (zh) * 2013-07-29 2015-07-29 百度在线网络技术(北京)有限公司 在进行输入时基于社会关系提供候选词的方法和装置
CN105580321A (zh) * 2013-09-27 2016-05-11 慧与发展有限责任合伙企业 转发日志行
US20150149896A1 (en) * 2013-11-27 2015-05-28 Arun Radhakrishnan Recipient-based predictive texting
US10083252B2 (en) 2014-05-13 2018-09-25 Intuit Inc. Ranking autocomplete results based on a business cohort
US9760559B2 (en) * 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) * 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9904673B2 (en) * 2014-12-17 2018-02-27 International Business Machines Corporation Conversation advisor
KR20160089152A (ko) * 2015-01-19 2016-07-27 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
KR101583181B1 (ko) * 2015-01-19 2016-01-06 주식회사 엔씨소프트 응답 스티커 추천방법 및 컴퓨터 프로그램
US20160224524A1 (en) * 2015-02-03 2016-08-04 Nuance Communications, Inc. User generated short phrases for auto-filling, automatically collected during normal text use
US9613022B2 (en) 2015-02-04 2017-04-04 Lenovo (Singapore) Pte. Ltd. Context based customization of word assistance functions
KR102325724B1 (ko) * 2015-02-28 2021-11-15 삼성전자주식회사 다수의 기기에서 텍스트 데이터 동기화
US11025565B2 (en) * 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10042841B2 (en) * 2015-07-17 2018-08-07 International Business Machines Corporation User based text prediction
US10613825B2 (en) * 2015-11-30 2020-04-07 Logmein, Inc. Providing electronic text recommendations to a user based on what is discussed during a meeting
KR20180070659A (ko) * 2015-12-21 2018-06-26 구글 엘엘씨 메시징 애플리케이션들을 위한 자동적인 제안들 및 다른 콘텐츠
KR102462365B1 (ko) * 2016-02-29 2022-11-04 삼성전자주식회사 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치
CN109792402B (zh) * 2016-07-08 2020-03-06 艾赛普公司 自动响应用户的请求
US9949103B2 (en) * 2016-08-09 2018-04-17 International Business Machines Corporation Notification of potentially problematic textual messages
US10642830B2 (en) * 2017-06-12 2020-05-05 Google Llc Context aware chat history assistance using machine-learned models
US11755834B2 (en) * 2017-12-22 2023-09-12 Google Llc Selective text prediction for electronic messaging

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190608A (zh) * 2013-03-19 2015-12-23 国际商业机器公司 可定制、低延迟交互式计算机辅助翻译
CN106233375A (zh) * 2014-04-25 2016-12-14 纽昂斯通信有限公司 基于众包的用户文本输入从头开始学习语言模型

Also Published As

Publication number Publication date
US11205045B2 (en) 2021-12-21
US20200012718A1 (en) 2020-01-09
CN110750971A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
CN110750971B (zh) 基于上下文的自动完成建议
US10862836B2 (en) Automatic response suggestions based on images received in messaging applications
US11303590B2 (en) Suggested responses based on message stickers
KR102050334B1 (ko) 언어 모델을 사용한, 메시지들에서 수신되는 이미지들에 대한 자동적인 제안 응답들
US9922015B2 (en) System for handling abbreviation related text using profiles of the sender and the recipient
US9262175B2 (en) Systems and methods for storing record of virtual agent interaction
US10984200B2 (en) Contextual fit determination for proposed messages
US20140164532A1 (en) Systems and methods for virtual agent participation in multiparty conversation
US11429833B2 (en) Cognitive communication assistant services
CN110321491B (zh) 基于未来目标确定消息对个人品牌的影响的方法和系统
US20150358764A1 (en) Systems and methods for interest- and location-based conversation matching
US9633000B2 (en) Dictionary based social media stream filtering
KR102638460B1 (ko) 나이 기반의 개인화 메시징 서비스 제공 방법, 장치 및 프로그램
KR102676204B1 (ko) 메시지와 관련된 리액션 기반의 개인화 메시징 서비스 제공 방법, 장치 및 프로그램
KR102583123B1 (ko) 선별 모드에 기반한 대량 트래픽 메시지의 노출 제어 방법, 장치 및 프로그램

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