CN110249325A - 具有通信模型的输入系统 - Google Patents

具有通信模型的输入系统 Download PDF

Info

Publication number
CN110249325A
CN110249325A CN201880008058.7A CN201880008058A CN110249325A CN 110249325 A CN110249325 A CN 110249325A CN 201880008058 A CN201880008058 A CN 201880008058A CN 110249325 A CN110249325 A CN 110249325A
Authority
CN
China
Prior art keywords
user
communication
data
sentence
context
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
CN201880008058.7A
Other languages
English (en)
Inventor
V·N·波德马约尔斯基
B·奥克塔伊
T·奇尔德斯
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 CN110249325A publication Critical patent/CN110249325A/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

在本文中所提供的方面与输入系统相关,例如允许用户录入文本和其他输入的虚拟输入元件。多个方面可以向用户提供例如针对用户的个人通信风格定制的、在句子或短语等级呈现的上下文感知的通信选项。

Description

具有通信模型的输入系统
背景技术
随着智能设备(例如,智能电话、平板计算机、可穿戴计算机、智能电视机、机顶盒、游戏机、和物联网设备)的日益流行,用户正在将输入录入至宽泛的多种设备。这些设备的多种形状因子和交互模式为用户带来了新的挑战,特别是在录入数据时。用户常常使用当用户访问允许录入文本或其他数据(例如,编写消息字段)的用户界面元素时出现在设备的屏幕上的虚拟输入元件(例如,键盘或小键盘)来录入数据。例如,智能电话操作系统可以包括能够跨越在设备上运行的应用被使用的虚拟输入元件(例如,键盘)。利用这些虚拟输入元件,用户逐个字母或逐个数字地录入输入,这在小屏幕上或当使用方向性输入(例如,游戏手柄)时可能具有挑战性。对于难以选择和录入输入或使用辅助性设备(例如,眼睛跟踪器或操纵杆)来提供输入的个人而言,该输入可能更具挑战性。
已经关于在本文中所公开的方面进行了这些和其他一般考虑。尽管可能讨论了相对具体的问题,但应当理解的是,示例不应当受限于解决在该公开的背景技术中或在其他地方所标识的具体问题。
发明内容
一般而言,该公开与允许用户录入数据的输入系统相关,例如允许用户录入文本和其他输入的虚拟输入元件。在示例中,公开了一种虚拟输入元件,其向用户提供特定于上下文并且与用户的通信风格相匹配的通信选项。
在一个方面中,本公开与一种针对输入系统的计算机实现的方法相关,该方法包括:从一个或多个数据源获得用户数据,所述用户数据指示用户的个人通信风格;部分地基于所述用户数据来生成用户通信模型;获得与当前通信上下文相关的数据,所述数据包括与通信介质相关的数据;部分地基于所述用户通信模型和与所述当前通信上下文相关的数据来生成多个句子以供在所述当前通信上下文中使用;以及使得所述多个句子被提供给所述用户以供在所述通信介质上使用。
在另一方面中,本公开与一种其上存储有计算机可执行指令的非暂时性计算机可读介质相关,所述计算机可执行指令当由处理器执行时,使得所述处理器执行以下操作:接收针对对通信介质的输入的请求;获得通信上下文,所述通信上下文包括与所述通信介质相关的数据;将所述通信上下文提供至通信引擎,所述通信引擎被配置为模拟用户的通信风格;从所述通信引擎接收基于所述通信上下文和所述用户的所述通信风格所生成的多个句子;以及使得所述多个句子可供所述用户在用户界面处选择作为对所述通信介质的所述输入。
在又一方面中,本公开与一种计算机实现的方法相关,包括:从通信引擎获得第一多个句子,所述第一多个句子基于通信模型与当前通信上下文中的通信风格相匹配,所述当前通信上下文包括通信介质;使得所述第一多个句子可供所述用户通过用户界面来选择;通过所述用户界面接收对所述第一多个句子中的句子的选择;通过所述用户界面从用户接收修改措辞(reword)命令;响应于接收到所述修改措辞命令,从所述通信引擎获得基于所选择的句子的第二多个句子,所述第二多个句子基于所述通信模型与所述当前通信上下文中的通信风格相匹配,并且所述第二多个句子中的至少一个句子与所述第一多个句子是不同的;以及使得所述第二多个句子可供所述用户通过所述用户界面来选择。
提供了该发明内容以用简化形式引入对在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。示例的另外的方面、特征和/或优点将在随后的描述中被部分阐述并且将部分地从该描述中是显而易见的,或者可以通过对本公开的实践而习得。
附图说明
参考以下附图对非限制和非穷举的示例进行描述。
图1示出了针对输入系统的示例系统和方法的概述。
图2示出了使用通信模型来生成通信选项的示例过程。
图3A示出了通信模型输入数据的示例。
图3B示出了通信模型的示例。
图4示出了用于提供通信选项以供用户选择的示例过程。
图5A示出了通信上下文的示例。
图5B示出了可插拔的源的示例。
图6示出了用于使用框架和输入数据来模拟通信风格的示例过程。
图7A-7H示出了使用通信系统的实施例的示例对话。
图8A和8B示出了通信系统的示例实现。
图9是示出了利用其可以实践本发明的多个方面的计算设备的示例物理组件的框图。
图10A和图10B是利用其可以实践本公开的多个方面的移动计算设备的简化框图。
图11是其中可以实践本公开的多个方面的分布式计算系统的简化框图。
图12示出了用于执行本公开的一个或多个方面的平板计算设备。
具体实施方式
在下文中参考形成了本公开一部分并且示出了具体示例性方面的附图更加完整地描述了本公开的各种方面。然而,本公开的不同方面可以以许多不同的形式来实现,并且不应当被理解为限于在本文中所阐述的方面;相反,提供了这些方面以使得该公开将是彻底和完整的,并且将向本领域技术人员完全传达所述方面的范围。多个方面可以被实践为方法、系统、或设备。由此,多个方面可以采取硬件实现、完全软件实现、或者组合了软件和硬件方面的实现的形式。因此,以下的详细描述不被认为是限制性意义。
本公开提供了与向通信介质提供输入相关的系统和方法。传统的虚拟输入系统常常限于例如逐字母的文本输入或者包括简单的下一词预测能力。所公开的实施例可以与对输入系统和方法的改进相关,并且可以向用户提供例如在句子或短语等级呈现的、针对用户的个人通信风格定制的上下文感知的通信选项。所公开的示例可以被实现为虚拟输入系统。在示例中,虚拟输入系统可以集成到用户向其中录入数据的特定应用(例如,文本到语音辅助性应用)中。在其他示例中,虚拟输入系统可以与用户在其中录入数据的应用分离。例如,用户可以选择web浏览器应用中的搜索栏,并且虚拟输入元素可以出现以供用户将数据录入到搜索栏中。之后,用户可以选择消息传送应用中的编写消息区域,并且同一虚拟输入元件可以出现以供用户将数据录入到该编写消息区域中。所公开的示例还可以被实现为话音接口(spoken interface)的一部分,例如作为智能扬声器系统或智能个人助理(例如,MICROSOFT CORTANA)的一部分。例如,话音接口可以允许用户对消息进行回应,并且通过大声讲出选项或以其他方式将这些选项呈现给用户来提供用于回应那些消息的示例通信选项。接着,用户可以告诉该接口该用户想要选择哪个选项。
所公开的实施例还可以为具有一个或多个身体或精神损伤的用户提供改进的辅助性选项,所述用户可能依赖于眼睛跟踪器、操纵杆、或其他辅助性设备来提供输入。通过在句子等级而不是在逐字母等级选择输入,用户可以更快地录入文本。其还可以通过减少用户对使用正确的拼写或语法来录入输入的需要来降低语言障碍。对辅助性的改进还可以帮助用户在只有一只手空闲的情况下录入输入。
在一些示例中,通信输入系统可以预测在特定情况下用户想要说什么(例如,以句子、词语、或使用图画),并且呈现这些预测作为用户能够从中选择以继续对话或以其他方式提供至通信介质的选项。通信输入系统可以包括利用通信上下文和通信模型的通信引擎以及可插拔源,以为用户生成通信选项,所述通信选项在给定特定环境和用户自己的通信风格的情况下粗略估计用户想要通信的内容。用户可以给予输入系统对与用户的通信风格相关的数据的访问权,因此输入系统可以为该用户生成能够用于生成用户特定的通信风格的通信模型。用户还可以给予输入系统对通信上下文的访问权,其中,通信引擎可以利用该通信上下文来生成上下文合适的通信选项。
这些通信选项可以包括句子。如本文中所使用的,词语“句子”描述了即使由上下文提供了缺失的元素但也传达了完整思想的完整句子。例如,句子可以包括代句子(pro-sentence)(例如,“是”或“否”)和小句子(例如,“你好”或“哇!”)。在示例中,通信上下文是消息传送应用中的对话,并且通信的一方询问用户“明天你有空一起吃午餐吗?”。一个完整的句子回应可以包括“我有空”,“你今天做什么?”,“我会查一下”。完整的句子回应还可以包括“是的”,“明天不行”和“有空”,这是因为上下文可以填充缺失的元素(例如,短语“明天不能”中的主语“我”)。句子不需要包括主语和谓词。句子也不需要以大写字母开始或者以末尾标点符号结束。
通信选项不需要限于文本,并且还可以包括其他通信选项,包括表情符号(emoji)、表情图标、或其他图画选项。例如,如果用户在对问题“天气怎么样?”进行回应,则通信引擎可以呈现用于回应的图画选项,包括太阳的图画、风的表情符号、以及云的图片。在示例中,即使个体的词语不形成完整的句子,通信选项也能够包括所述个体的词语作为输入。
通信选项还可以包括来自可插拔源的信息包。在示例中,输入系统可以被链接至天气程序、地图程序、本地搜索程序、日历程序、和其他程序以提供信息包。例如,用户可以回应于问题“你在哪儿?”,并且输入系统可以从地图程序加载地图,该地图示出了用户可以利用其进行回应的用户当前位置。该地图可以但不一定是交互式的。
通信引擎可以根据向用户提供另外的选项的请求来对选项进行重新措辞。输入系统还可以允许用户在不同的通信选项类型和粒度等级(例如,句子等级、词语等级、字母等级、图画、和信息包)之间进行选择。在一些示例中,一次仅显示一个通信选项类型(例如,只有句子等级的选项可用于选择,直到用户选择以其显示选项的不同等级为止)。在其他示例中,可以将不同类型的通信选项显示在一起(例如,句子和非句子词语的混合)。
当用户继续使用输入系统进行通信时,输入系统可以随时间学习用户的偏好和措辞。输入系统可以使用该信息向用户呈现更加个人的选项。
图1示出了示例输入系统100和使用的方法的概述。输入系统100可以包括通信模型输入数据110、通信模型生成器120、通信模型122、通信引擎124、通信介质126、通信介质数据128、通信上下文数据130、可插拔源132、以及用户界面140。
通信模型122是用于通信的特定风格或语法的模型,其可以用于生成通信。通信模型122可以包括句法数据、词汇数据、以及与通信的特定方式相关的其他数据(参见例如图3A和相关联的公开)。
通信模型输入数据110是能够由通信模型生成器120用来构建通信模型122的数据。通信模型输入数据110可以包括关于或指示具体的通信风格或模式的信息,其包括与语法、句法、词汇、和其他信息相关的信息(参见例如图3和相关联的公开)。
通信模型生成器120是可以用于使用通信模型输入数据110来生成或更新通信模型122的程序模块。
通信引擎124是程序模块,其可用于生成通信选项以供用户选择。通信引擎124还可以与用户界面140交互并且管理用户界面140,用户界面140可以用于向用户呈现通信选项并且从用户接收与所显示的选项和其他活动相关的输入。通信引擎124还可以与用户想要通过其进行通信的通信介质126交互。例如,通信引擎124可以向通信介质126提供由用户选择的通信选项。通信引擎124还可以从通信介质126接收数据。
通信介质126是用户可以通过其通信,可以与其通信,或者可以向其通信的介质。例如,通信介质126可以包括使得人们能够发起或回应数据传输的软件,其包括但不限于消息传送应用、搜索应用、社交网络应用、文字处理应用、和文本到语音应用。例如,通信介质126可以包括消息传送平台,例如文本消息传送平台(例如,短消息服务(SMS)消息传送平台)、多媒体消息传送服务(MMS)消息传送平台、即时消息传送平台(例如,MICROSOFTSKYPE、APPLE IMESSAGE、FACEBOOK MESSENGER、WHATSAPP、腾讯QQ等)、协作平台(例如,MICROSOFT TEAMS、SLACK等)、游戏聊天客户端(例如,游戏内聊天、XBOX SOCIAL等)、以及电子邮件。通信介质126还可以包括数据录入字段(例如,用于录入文本),例如在网站上(例如,搜索引擎查询字段)、在文档中、在应用中、以及在其他地方找到的那些数据录入字段。例如,数据录入字段可以包括用于编写社交媒体发帖的字段。通信介质126还可以包括辅助性系统,例如文本到语音程序。
通信介质数据128是与通信介质126相关的信息。通信介质数据128可以包括与对通信介质126的当前使用和先前使用相关的信息。例如,在通信介质126是消息传送应用的情况下,通信介质数据128可以包括历史消息日志(例如,先前的消息传送对话的内容和相关的元数据)以及与消息传送通信介质126内的当前上下文相关的信息(例如,与用户正在传送消息的当前个人相关的信息)。可以以多种方式获取通信介质数据128,所述方式包括但不限于通过通信介质126的应用编程接口来访问数据、通过屏幕捕获软件来访问数据、以及通过其他源来访问数据。通信介质数据128可以用作直接到通信引擎124中的输入或者与其他通信上下文数据130组合。
通信上下文数据130是与用户在其中使用输入系统100的上下文相关的信息。例如,通信上下文数据可以包括但不必限于关于用户的上下文信息、关于与输入系统相关联的设备的上下文信息、通信介质数据128、以及其他数据(参见例如图5A和相关联的公开)。通信上下文数据130不必限于关于用户的数据。通信上下文数据130可以包括关于其他人的信息。
可插拔源132包括能够为通信引擎124提供输入数据的源。可插拔源132可以包括但不必限于应用、数据源、通信模型、和其他数据(参见例如图5B和相关联的公开)。
用户界面140可以包括通信介质用户界面142、通信引擎用户界面150。通信介质用户界面142是用于通信介质126的用户界面。如在图1中所示,通信介质126是消息传送客户端,并且通信介质用户界面142包括特定于该种类的通信介质的用户界面元素。例如,通信介质用户界面显示聊天气泡、文本输入字段、相机选择按钮、发送按钮、和其他元素。在通信介质126是不同种类的介质的情况下,通信介质用户界面142可以相应地改变。
通信引擎用户界面150是用于通信引擎124的用户界面。在所示的示例中,输入系统100被实现为虚拟输入系统,该虚拟输入系统是与通信介质126分离的、能够用于向通信介质126提供输入的程序。通信引擎用户界面150可以包括输入选择区域152、词语条目输入选择器154、修改措辞输入选择器156、图画输入选择器158、和字母输入选择器160。
输入选择区域152是用户界面的区域,其中,用户可以通过该区域来选择由通信引擎124生成的、可以用作通信介质126的输入的通信选项。在所示的示例中,通信选项以句子等级显示,并且可以被选择用于作为与Sandy的对话的一部分而通过通信介质126被发送。输入选择区域152将通信选项表示为网格的单元格内的句子。两个主单元格被完全示出,四个附加单元格在主单元格的任一侧被示出。用户可以通过滑动输入选择区域152或者通过其他方式来访问这四个附加选项。在示例中,用户可以定制输入选择区域152的显示以包括例如不同数量的单元格、不同尺寸的单元格、或者不同于单元格的显示选项。
词语条目输入选择器154是用于在词语等级选择对通信选项的显示的用户界面元素(参见例如图7F)。修改措辞输入选择器156是用于对当前显示的通信选项进行重新措辞的用户界面元素(例如,参见图7C和图7D)。图画输入选择器158是用于在图画等级选择对通信选项的显示的用户界面元素,例如使用图像、表意文字、表情图标、或表情符号(参见例如图7G)。字母输入选择器160是用于在个体字母等级选择对通信选项的显示的用户界面元素。
可以使用其他用户界面和用户界面元素。例如,用户界面140被示为可以利用例如智能电话来使用的一类用户界面,但是用户界面140可以是用于不同类型的设备(例如,可以以不同方式与用户交互的智能扬声器系统或辅助性设备)的用户界面。例如,用户界面140可以是用于智能电话的话音用户界面(例如,作为辅助性特征)。接着,输入选择区域152可以包括智能电话向用户大声读出选项,以及用户告诉智能电话要选择哪个选项。在示例中,输入系统100不必限于单个设备。例如,用户可以使输入系统100被配置为跨多个设备(例如,蜂窝电话、平板设备、和游戏机)操作。在示例中,每个设备具有其自己的输入系统100的实例,并且数据是跨设备共享的(例如,对通信模型122和通信上下文数据130的更新)。在示例中,输入系统100的组件中的一个或多个组件被存储在远离设备并且能够从各种设备访问的服务器上。
图2示出了用于使用通信模型110来生成通信的示例过程200。过程200可以以操作202开始。操作202涉及获得通信模型输入数据110。通信模型生成器120可以从多种源中获得通信模型输入数据110。在示例中,可以通过使用存储数据的程序的应用编程接口(API)、通过抓取数据、通过使用数据挖掘技术、通过下载打包数据、或者以其他方式来获取通信模型输入数据110。通信模型输入数据110可以包括关于输入系统100的用户的数据、关于其他人的数据、或其组合。关于图3A描述了通信模型输入数据110的类型和源的示例。
图3A示出了通信模型输入数据110的示例,通信模型输入数据110可以包括语言语料库数据302、社交媒体数据304、通信历史数据306、和其他数据308。语言语料库数据302是文本数据的集合。语言语料库数据302可以包括与输入系统的用户、不同用户、或其他个人相关的文本数据。语言语料库数据302可以包括但不限于:文学作品、新闻文章、语音转录、学术文本数据、词典数据、和其他数据。语言语料库数据302可以源于文本数据,或者可以从另一种格式(例如,音频)被转换成文本数据。语言语料库数据302可以是非结构化的或结构化的(例如,包括与文本数据相关的元数据,例如词性标注)。在示例中,语言语料库数据302是围绕某些种类的文本数据来组织的,例如与特定地理、社交、或其他群组相关联的方言。例如,语言语料库数据302可以包括围绕来自特定国家、地区、县、城市、或街区的人或者作品所构建的文本数据的集合。作为另一示例,语言语料库数据302可以包括围绕来自特定大学、文化、亚文化、或活动群组的人或者作品所构建的文本数据的集合。
语言语料库数据302可以由通信模型生成器120以多种方式使用。在示例中,语言语料库数据302可以被用作用于生成通信模型122的训练数据。语言语料库数据302可以包括与不是所述用户但可以与所述用户共享通信风格的一个或多个方面的人相关的数据。该语言语料库数据302可以用于帮助为用户生成通信模型122,并且在存在通常针对用户或者与通信的具体方面相关的通信数据的相对缺乏的情况下尤其有用。
社交媒体数据304是来自社交媒体服务的数据集合,所述社交媒体服务包括但不限于社交网络服务(例如,FACEBOOK)、博客服务(例如,TUMBLR)、照片共享服务(例如,SNAPCHAT)、视频共享服务(例如,YOUTUBE)、内容聚合服务(例如,PINTEREST)、社交消息传送平台、社交网络游戏、论坛、和其他社交媒体服务或平台。社交媒体数据304可以包括用户或其他人的发帖,例如文本、视频、音频、或图像帖子。社交媒体数据304还可以包括关于用户或其他人的简档信息。社交媒体数据304可以包括公开的或私人的信息。在示例中,根据定义的隐私策略,私人信息是利用用户的许可被访问的。在其他人的社交媒体数据304被使用的情况下,其可以被匿名化,或者以数据不直接暴露给用户的方式被另外使用。社交媒体数据304可以用于收集用户如何通信的示例,并且可以用于生成通信模型122。社交媒体数据304还可以用于了解用户的兴趣以及用户的生活事件。该信息可以用于帮助生成通信选项。例如,如果用户喜欢跑步,并且通信引擎124正在生成用于回应于问题“本周末你想做什么?”的选项,则通信引擎124可以使用用户喜欢跑步的知识并且可以将跑步包含到回应选项中。
用户通信历史数据306包括从通信介质收集的通信历史数据,所述通信介质包括消息传送平台(例如,文本消息传送平台、即时消息传送平台、协作平台、游戏聊天客户端、和电子邮件平台)。该信息可以包括这些平台上的通信(例如,对话)的内容以及相关联的元数据。用户通信历史数据306也可以包括从其他源收集的数据。在示例中,根据定义的隐私策略,私人信息是利用用户的许可被访问的。在其他人的通信历史数据306被使用的情况下,其可以被匿名化,或者以数据不直接暴露给用户的方式另外被使用。
其他数据308可以包括能够用于为用户生成通信模型122的其他数据。在示例中,输入系统100可以提示用户提供与语音风格相关的具体信息。例如,输入系统可以引导用户完成风格校准测试以了解用户的通信风格。这可以包括要求用户在对通信提示的不同回应之间进行选择。其他数据308还可以包括用户提供的反馈。例如,当用户被呈现以通信选项,并且替代地选择修改选项的措辞或者通过词语、图画、或其他输入过程来提供输入时,相关联的信息可以用于在未来提供更准确的输入。其他数据308还可以包括通信模型。其他数据308可以包括用户的搜索历史。
返回图2,当在操作202中获得通信模型输入数据110之后,流程可以移动至操作204,其涉及生成通信模型122。通信模型122可以是由通信模型生成器120使用通信模型输入数据110生成的。通信模型122可以包括关于图3B示出和描述的方面中的一个或多个方面。
图3B示出了通信模型122的示例,其包括句法模型数据310、用词模型数据312、和其他模型数据。句法模型数据310是用于句法模型的数据,其描述了如何可以制定通信的句法,例如如何布置词语和句子。例如,在通信模型122是输入系统的用户的通信模型的情况下,则句法模型数据310是与用户对句法的使用相关的数据。句法模型数据310可以包括与以下项相关的数据:分裂不定式的使用、被动语态、主动语态、虚拟语气的使用、以介词结束句子、双重否定词的使用、悬垂修饰语、双情态动词、双系动词、句子开头处的连词、同位语短语、以及插入语等等。通信模型生成器120可以分析在通信模型输入数据110内包含的句法信息,并且根据句法数据来开发用于使用句法的模型。
用词模型数据312包括描述对词的选择和使用的信息。例如,用词模型数据312可以定义能够被使用的词语中的特定词汇,包括对俚语、行话、脏话、和其他词语的使用。用词模型数据312还可以描述对特定方言共同的词语的使用。例如,方言数据可以描述区域方言(例如,英式英语)或活动群组方言(例如,特定视频游戏的玩家所使用的行话)。
其他模型数据314可以包括与通信选项的构造相关的其他数据。其他模型数据314可以包括例如排版数据(例如,感叹号的使用,带引号的标点符号的使用,大写等)和图画数据(例如,用户何时以及如何将表情符号包含到通信中)。其他模型数据314还可以包括与用户的通信方式的质量相关的数据,包括正式等级、冗长度、或其他通信属性。
可以以多种方式生成通信模型122及其子模型。例如,可以通过确定通信模型输入数据110内的特定语法元素(例如,句法、词汇等)的使用频率来制定模型数据。例如,可以分析输入数据以确定主动语态和被动语态的相对使用。模型数据可以包括例如与使用特定表述的时间百分比相关的信息。例如,可以确定在有可能使用主动语态的80%的情况下以及在有可能使用被动语态的20%的情况下使用主动语态。句法模型数据还可以关联在其中使用特定句法的上下文。例如,基于通信模型输入数据110,可以确定当与过去时态结构一起使用时比与将来时态结构一起使用时更有可能使用双重否定。通信模型数据还可以被制定为用于基于特定上下文数据来对特定通信选项进行评分的启发法。模型数据也可以被制定为机器学习模型。
返回图2,当在操作206中生成了通信模型122之后,流程移动至操作206,操作206涉及利用通信模型122来生成通信选项。可以以包括但不限于关于图4描述的那些的多种方式来生成通信选项。
图4示出了用于提供输出以供用户选择的示例过程400。过程400可以以操作402开始。操作402涉及为通信引擎124获得数据。获得通信引擎124的数据可以包括获得用于在生成通信选项时使用的数据。所述数据可以包括但不必限于一个或多个通信模型122、可插拔源数据132、和通信上下文数据130。关于图5A描述了通信上下文数据130的示例,并且关于图5B描述了可插拔源数据的示例。
图5A示出了通信上下文数据130的示例。通信上下文数据130可以从多种源获得。可以使用数据挖掘技术、应用编程接口、数据抓取、以及获得数据的其他方法来获得所述数据。通信上下文数据130可以包括通信介质数据128、用户上下文数据502、设备上下文数据504、和其他数据506。
用户上下文数据502包括与用户和用户周围的环境相关的数据。用户上下文数据502可以包括但不必限于:位置数据、天气数据、环境噪声数据、活动数据、用户健康数据(例如,心率、步数、运动数据等)、当前设备数据(例如,用户当前在使用电话)、新近的社交媒体或其他活动历史。用户上下文数据502还可以包括一天中的时间(例如,其可以通知“早上好”或“下午好”的使用)以及用户日历上的约会,此外还有其他数据。
设备上下文数据504包括与用户正在使用的设备有关的数据。设备上下文数据504可以包括但不必限于:电池电量、信号电平、应用使用数据(例如,与在输入系统100在其上运行的设备上使用的应用相关的数据),以及其他信息。
其他数据506可以包括例如与用户正与之通信的人相关的信息(例如,在通信介质是消息传送平台或社交媒体应用的情况下)。其他数据还可以包括文化上下文数据。例如,如果用户收到消息“我将向他提出一个他无法拒绝的条件”,则通信引擎124可以使用文化上下文数据来确定该消息是来自电影“教父”的引文,这可以用来建议由该上下文告知的通信选项。例如,通信引擎124可以使用一个或多个可插拔源132以从该电影或其他电影中找到其他引文。
图5B示出了可插拔源数据132的示例。可插拔源数据132可以包括应用508、数据源510、通信模型512、和其他数据514。
应用508可以包括能够与之交互的应用。应用508可以包括在用户在其上使用输入系统100的设备上运行的应用。这可以包括例如地图应用、搜索应用、社交网络应用、相机应用、联系人应用、和其他应用。这些应用可以具有应用编程接口或者输入系统100可以通过其发送或接收数据的其他机制。应用可以用于扩展输入系统的功能,例如,通过允许输入系统100访问设备的相机以拍摄和发送图片或视频。作为另一示例,应用可以用于允许输入系统100发送位置信息(例如,用户的当前位置)、本地商业信息(例如,用于在特定餐馆会面)、和其他信息。在另一示例中,应用508可以包括能够用于扩展通信引擎124的能力的模块。例如,该应用可以是图像分类器人工智能程序,其可以用于分析和确定图像的内容。通信引擎124可以使用这样的程序以帮助针对涉及图片的上下文来生成通信选项(例如,评论社交媒体上的图片或者回应朋友发送的图片消息)。
通信引擎124可以从数据源510拉取以制定通信选项。例如,数据源可以包括社交网站、百科全书、电影信息数据库、引文数据库、新闻数据库、事件数据库、和信息的其他源。数据源510可以用于扩展通信选项。例如,在用户回应消息:“你昨晚看比赛了吗?”的情况下,通信引擎124可以推断出该消息指的是哪场比赛以及用于进行回应的合适选项。例如,通信引擎124可以使用新闻数据库作为数据源来确定前一晚进行了什么比赛。通信引擎124还可以使用社交媒体和其他数据来确定哪些比赛可以是所引用的比赛(例如,基于是否可以确定用户是哪个队的粉丝)。根据该信息和其他信息,可以确定消息所引用的是哪个队。新闻数据库还可以用于确定该队赢了还是输了,并且生成合适的通信选项。作为另一示例,数据源可以包括社交媒体数据,其可以用于确定与用户以及用户向其发消息的人相关的信息。例如,通信引擎124可以生成针对“冷”消息(例如,不是正在进行的对话的一部分的消息)的通信选项。通信引擎124可以使用社交媒体数据来确定是否存在能够用于将消息选项个性化的任何事件,例如生日、旅行、生活事件等。
通信模型512可以包括不是当前通信模型122的通信模型。通信模型512可以补充或替代当前通信模型122。可以为了将用户的通信本地化来这样做。例如,前往不同地区或与来自不同地区的某人进行通信的用户可以想要用特定于该地区的通信模型来补充他或她的当前通信模型122,从而增强通信以适应地区方言和习惯用语。作为另一示例,用户可以利用名人、作者、虚构角色、或另一人的通信模型512来修改当前通信模型122。
返回图4,操作404涉及生成通信选项。通信引擎124可以使用在操作402中获得的数据来生成通信选项。例如,通信引擎124可以使用通信介质数据128来确定与通信选项正在其中被使用的当前上下文相关的信息,这可以包括例如对话中的当前位置(例如,通信选项是在对话的开始、中间、还是结尾被使用的)、用户与通信的目标之间的关系(例如,如果人们是亲密的朋友,那么与在人们具有商业关系的情况下相比,通信可以具有较不正式的语气)、与发起该对话的人相关的数据,等等。
还可以基于用户的习惯来生成通信选项。例如,如果通信上下文数据130指示用户具有观看特定电视节目的习惯并且错过了一集,则通信引擎124可以生成特定于该情况的选项。例如,通信选项可能包括“我还没有看过[热播的电视节目]的本周的那集,请不要给我剧透!”或者,在通信引擎124检测到用户正在搜索电视节目来观看的情况下,通信引擎124可以选定该电视节目的名称作为选项。
在另一示例中,在通信介质126是例如视频游戏聊天客户端的情况下,通信介质数据128可以包括与正在玩的视频游戏相关的信息。例如,通信引擎124可以接收指示用户赢了或输了游戏的通信介质数据128,并且可以相应地生成响应选项。此外,通信模型122可以包括与该游戏的玩家如何进行通信相关的信息(例如,特定的、游戏专用的行话),并且可以使用那些细节来生成甚至更多适用的通信选项。
可以以多种方式来生成通信选项。在示例中,通信引擎可以获取通信上下文数据130,并且在通信模型122中找到与通信上下文数据130相匹配的通信选项。例如,通信上下文数据130可以用于确定用户正在什么类别的上下文中进行通信(例如,用户是否收到了模糊的问候、邀请、请求等)。接着,通信引擎124可以找到用户如何在相同或类似的上下文中进行回应的示例,并且使用那些回应作为通信选项。通信引擎124还可以生成与所接收的通信的类别相匹配的通信选项。例如,如果用户接收到通用的模糊的问候,则通信引擎124可以生成也适合通用的模糊的问候类别的通信选项或者从中选择。在另一示例中,可以使用机器学习技术、自然语言生成器、Markov文本生成器或其他技术(包括智能个人助理(例如,MICROSOFT CORTANA)或聊天机器人所使用的技术)来生成通信选项。还可以使得通信选项适合于通信模型122。在示例中,这可以包括生成大量潜在的通信选项,并且接着基于它们与通信模型122的匹配程度来对它们进行排名。在另一示例中,通信模型122可以用作过滤器以移除与所建模的风格不匹配的通信选项。在示例中,可以使用在操作402中所获得的数据来生成框架,该框架用于生成选项。关于图6描述了使用框架来生成通信选项的方法的示例。
图6示出了用于使用框架来生成通信选项的示例过程600。过程600以操作602开始,操作602涉及获取训练数据。训练数据可以包括在操作402中为通信引擎获得的数据,包括通信模型和可插拔源132。训练数据还可以包括其他数据,其包括但不限于通信模型输入数据110。在示例中,训练数据可以包括包含训练示例的数据的位置。在示例中,可以关于特定的通信上下文来对训练数据进行分类、结构化、或组织。例如,训练数据可以描述用户将如何在特定上下文中进行通信的特定方式(例如,回应于通用问候或者与朋友开始新的对话)。
操作604涉及使用训练数据来构建框架。可以使用包括但不限于神经网络和启发式的一个或多个机器学习技术来构建模型。操作606涉及使用框架和通信上下文数据130来生成通信选项。例如,通信上下文数据130可以作为输入被提供至经训练的框架,该经训练的框架进而生成通信选项。
返回图4,操作406涉及提供输出以供用户选择。通信引擎可以例如在通信引擎用户界面150的输入选择区域152处提供通信选项以供用户选择。通信引擎124可以提供所生成的所有输出或其子集。例如,通信引擎124可以使用通信模型122以对所生成的通信输出进行排名,并且选择前n个最高的匹配,其中,n是能够被显示为输入选择区域152的一部分的通信选项的数量。
图7A-7H示出了在用户与名为Sandy的人之间的对话期间,输入系统100的实施例的示例使用。在所示出的实施例中,在智能电话700的显示器上存在用于消息传送客户端通信介质126的通信介质用户界面142,以及能够用于为通信介质126提供输入以由用户选择的通信引擎用户界面150。
在该示例中,用户和Sandy刚刚见面喝了咖啡,并且用户准备向Sandy发送消息。用户打开智能电话700上的消息传送应用并且看到图7A的用户界面140。
图7A示出了其中通信引擎用户界面150可以被实现为智能电话的虚拟输入元件的示例。通信引擎用户界面150出现并允许用户选择要发送给Sandy的通信选项。输入系统100使用在本文中所描述的系统或方法来生成通信选项。例如,用户先前授权该系统访问用户的对话历史、搜索历史、和其他数据,其中,通信模型生成器120可以使用所述对话历史、搜索历史、和其他数据来为用户创建通信模型122。该通信模型122被用作对通信引擎124的输入,通信引擎124也将一些可插入源132以及通信上下文数据130作为输入。在这里,通信上下文数据130包括来自通信介质126的通信介质数据128。在该示例中,用户给予输入系统100从消息传送应用访问聊天历史的许可。用户还给予输入系统100访问用户的日历的许可,并且用户的日历数据也可以是通信上下文数据130以及其他数据的一部分。将通信上下文数据130、可插拔源132、和通信模型122作为输入,通信引擎124可以生成不仅与用户的通信风格(例如,如在通信模型122中定义的)相匹配而且还与当前通信上下文(例如,如在通信上下文数据130中所定义的)相匹配的通信选项。
在该示例中,通信引擎124可以基于用户与Sandy的通信历史和用户的日历理解到用户和Sandy刚刚见面喝了咖啡。基于该数据,通信引擎124基于通信模型122为用户生成与用户的风格相匹配的消息选项。通信模型122指示:在用户在与某人会面后向其发送消息的情况下,用户常常说“很高兴见到你”。在检测到消息满足所述情况时,通信引擎124将“很高兴见到你”添加至消息选项。通信模型122还指示用户的消息常常讨论在餐馆或咖啡店的食物和饮料。通信模型122还指示:用户的语法包括对具有由上下文提供的主题的短句的使用,尤其是带有感叹号。基于该输入,通信引擎124生成“很棒的咖啡!”作为消息选项。基于对通信引擎124的输入来生成消息选项的该过程继续,直到产生阈值数量的消息为止。接着,所述选项被显示在用户界面140的输入选择区域152中。通信引擎124确定“很高兴见到你”和“很棒的咖啡!”最适合于所述情况和用户的通信模型122,并且被置于输入选择区域152的突出区域中。
在图7B中,用户看到在输入选择区域152中显示的选项并且选定“很高兴见到你”。在用户选择了该短语的情况下,该短语被发送至通信介质126,通信介质126将该短语放在用户界面142的文本字段中。用户可以通过点击用户界面142的发送按钮来发送消息。另外,短语输入选择器702变成修改措辞输入选择器156。用户喜欢所选择的短语并且选择通信介质用户界面142上的发送按钮以发送该消息。
在发送了该消息之后,通信引擎124接收经更新的通信上下文数据130,其指示用户发送了消息“很高兴见到你”。该信息作为通信模型输入数据110被发送至通信模型生成器120以更新用户的通信模型122。该信息还作为通信上下文数据130被发送至通信引擎,该通信上下文数据130作为输入连同可插拔源132和经更新的通信模型122一起被提供至通信引擎124。基于这些输入,通信引擎为该用户生成新的通信选项。
图7C在输入选择区域152中示出了为该用户新生成的通信选项。用户喜欢短语“让我们再次聚一聚”,但是想要稍微不同地表达情感,因此用户选择修改措辞输入选择器156。通信引擎124接收用户想要对表达“让我们再次聚一聚”进行重新措辞的指示。接着,通信引擎124生成具有与“让我们再次聚一聚”类似的含义的、也适合于用户的通信风格的通信选项。该信息也作为通信模型输入数据110被发送至通信模型生成器120以生成经更新的通信模型122,从而反映用户想要在该情况下对所生成的选项进行重新措辞。
图7D示出了在通信引擎124生成了经重新措辞的选项之后的输入选择区域152,其包括“你想再次聚一聚吗?”以及“我们改天见。”
在图7E中,用户选择了“你想再次聚一聚吗?”并且发送消息。
在图7F中,Sandy以“当然!”来回应。通信引擎124基于该经更新的上下文来生成回应选项,但是用户决定发送不同的消息。用户选择词语条目输入选择器154,并且通信引擎124生成词语以填充输入选择区域152。通信引擎124通过生成用户在类似的上下文中通常用于开始句子的单个词语来开始。通信引擎124理解到句子结构与现在使用的短语不同。用户选定“如何(How)”,并且通信引擎生成新词语以遵循与上下文和用户的通信风格相匹配的“如何”。用户选择“关于(about)”。
在图7G中,用户没有看到表达用户想要如何传达消息的词语,因此用户选定图画输入选择器158,并且通信引擎124用与通信上下文数据130和用户的通信模型122相匹配的图画来填充输入选择区域152。用户选择并发送示出了筷子和一碗面条的表情符号。
在图7H中,通信引擎124基于通信上下文数据130理解到用户正在建议他们去某处吃饭,因此通信引擎利用对基于显示筷子和一碗面条的表情符号的上下文适合的位置建议来填充输入选择区域152。通信引擎124通过可插拔源132之一来收集这些建议。用户具有安装在智能电话700上的、提供本地搜索和商业评价能力的应用。可插入源132可以包括用于该本地搜索和商业评价应用的应用编程接口(API)。在检测到用户可能想要建议本地的面馆时,通信引擎使用可插拔源从本地搜索和商业评价应用中加载相关数据并且填充输入选择区域以供用户选择。
图8A和8B图示了示出了屏幕800的示例实现,屏幕800示出了用户可以通过其使用输入系统100在视频搜索通信介质804上找到视频的用户界面802。用户界面802包括用于通信介质804的用户界面元素,其包括搜索文本录入字段。用户界面802还包括用于输入系统100的用户界面元素。这些用户界面元素可以包括可选择的选项的十字形布置。如图所示,所述选项是使用通信引擎124生成的单个词语,但是在其他示例中,所述选项可以是短语或句子。基于上下文,具有用户想要输入的最高似然度的通信选项被置于选项布置的中心。如图所示,最可能的选项是“最佳”,其是当前选择的选项806,诸如“音乐”或“评论”之类的其他选项是未选择的选项808。在屏幕800是触摸屏的情况下,用户可以通过例如轻敲、轻击、或滑动来在选项间导航或选择选项。在另一示例中,用户可以使用方向键、键盘、操纵杆、遥控器、游戏手柄、手势控制、或其他输入机制来在选项间导航。
用户界面802还包括取消选择器810、修改措辞选项812、设置选择器814、和录入选择器816。取消选择器810可以用于退出文本输入、取消对先前输入的录入、或者其他取消动作。修改措辞输入选择器812可以用于修改当前选择的选项806或所有显示的选项的措辞或对其进行重新措辞,类似于修改措辞输入选择器156。设置选择器814可以用于访问设置用户界面,用户可以利用该设置用户界面来改变输入系统100的设置。在示例中,设置可以包括隐私设置,该隐私设置可以用于查看输入系统100具有关于用户的什么个人信息以及输入系统100从哪些信息源进行拉取。隐私设置还可以包括关闭从某些源的数据获取和删除个人信息的能力。在一些示例中,这些设置可以远程被访问并且用于修改私人数据或输入系统100本身的使用,例如,以免输入系统100在其上操作的设备被盗或者以其他方式受到损害。输入选择器816可以用于向通信介质804提交输入。例如,用户可使用输入系统100来输入“最佳电影预告片”,接着用户可以访问录入选择器816以使得通信介质804使用该短语来搜索。
返回至图7A-H的示例,假设用户和Sandy去吃了面条,并且用户现在想学习如何烹饪他们在餐厅吃的菜肴中的一些菜肴。用户访问用户的智能电视上的视频教学站点,并且加载输入系统100的用户界面以帮助用户针对视频内容进行搜索。
图8A是当使用具有视频搜索通信介质804的输入系统100时用户可以看到的内容的示例。再一次,通信引擎124将用户的通信模型122以及通信上下文数据130和可插拔源121当作输入。在这里,通信上下文数据130包括通信介质数据128,其可以包括视频搜索平台上的热门搜索和视频。用户允许输入系统100访问用户的先前搜索历史和视频历史,因此通信介质数据128也包括该信息。基于该输入,通信引擎124生成要在用户界面802处显示的选项。通信引擎124确定“最佳”是最合适的输入,因此其被置于用户界面的中心,作为当前选择选项806。用户想要选择“烹饪”,因此用户使用遥控器上的方向键将选择移动至“烹饪”,并且选定该选项。
图8B示出了在用户选定了“烹饪”之后可以在屏幕800上显示的内容。通信引擎124感知到用户选定了“烹饪”并且建议合适的选项。想要学习如何烹饪面条的用户选定已经选择的“面条”选项,并且使用录入选择器816以使得通信介质804针对“烹饪面条”进行搜索。以该方式,用户能够利用输入系统100的能力更加快速和容易地输入期望的信息,而不需要选择组成“烹饪面条”的个体的字母。
图9是图示了可以利用其来实践本公开的方面的计算设备1100的物理组件(例如,硬件)的框图。下文所描述的计算设备组件可以具有用于在计算设备上实现输入系统平台1120、通信引擎平台1122、和通信模型生成器1124的计算机可执行指令,其包括能够被执行以采用在本文中所公开的方法的用于输入系统平台1120、通信引擎平台1122、以及通信模型生成器1124的计算机可执行指令。在基本配置中,计算设备1100可以包括至少一个处理单元1102和系统存储器1104。取决于计算设备的配置和类型,系统存储器1104可以包括但不限于:易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。系统存储器1104可以包括适合于运行输入系统平台1120、通信引擎平台1122、和通信模型生成器1124或关于图1的一个或多个组件的操作系统1105。例如,操作系统1105可以适合于控制计算设备1100的操作。此外,本公开的实施例可以结合图形库、其他操作系统、或任何其他应用程序来实践,并且不限于任何特定的应用或系统。该基本配置是由图9中的虚线1108内的那些组件示出的。计算设备1100可以具有另外特征或功能。例如,计算设备1100还可以包括另外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或磁带。这样的另外的存储设备在图9中由可移动存储设备1109和不可移动存储设备1110示出。
如上所述,多个程序模块和数据文件可以被存储在系统存储器1104中。当在处理单元1102上执行时,程序模块1106可以执行包括但不限于如在本文中所描述的方面的过程。其他程序模块可以根据本公开的方面被使用,并且特别是用于提供输入系统。
此外,本公开的实施例可以被实现在包括分立电子元件的电子电路中、包含逻辑门的封装或集成电子芯片中、利用微处理器的电路中、或者包含电子元件或微处理器的单个芯片上。例如,可以经由片上系统(SOC)来实践本公开的实施例,其中在图9中所示出的组件中的每个或许多个可以被集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、和各种应用功能,所有这些都作为单个集成电路被集成到(或“烧制”)到芯片基底上。当经由SOC操作时,在本文中关于客户端切换协议的能力所描述的功能可以经由与单个集成电路(芯片)上的计算设备1100的其他组件相集成的专用逻辑单元来操作。还可以使用能够执行诸如例如与(AND)、或(OR)、和非(NOT)之类的逻辑操作的其他技术来实践本公开的实施例,所述技术包括但不限于:机械、光学、流体、和量子技术。另外,可以在通用计算机内或者在任何其他电路或系统中实践本公开的实施例。
计算设备1100还可以具有一个或多个输入设备1112,例如键盘、鼠标、笔、声音或语音输入设备、触摸和/或滑动输入设备以及其他输入设备。还可以包括诸如显示器、扬声器、打印机、以及其他输出设备之类的输出设备1114。前述设备是示例并且可以使用其他设备。计算设备1100可以包括允许与其他计算设备1150进行通信的一个或多个通信连接1116。合适的通信连接1116的示例包括但不限于射频(RF)发射机、接收机、和/或收发机电路;通用串行总线(USB)、并行、和/或串行端口。
如在本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、或程序模块之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。系统存储器1104、可移动存储设备1109、以及不可移动存储设备1110全都是计算机存储介质的示例(即,存储器存储设备)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储设备、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或者可以用于存储信息并且可以由计算设备1100访问的任何其他制品。任何这样的计算机存储介质都可以是计算设备1100的一部分。计算机存储介质不包括载波或其他传播的或调制的数据信号。
通信介质可以通过计算机可读指令、数据结构、程序模块、或调制的数据信号中的其他数据(例如,载波或其他传输机制)来实现,并且包括任何信息传递介质。术语“调制的数据信号”可以描述具有以用于将信息编码在信号中的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外、和其他无线介质之类的无线介质。
图10A和10B图示了可以利用其来实践本公开的实施例的移动计算设备1200,例如移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机、机顶盒、游戏机、物联网设备等。在一些方面,客户端可以是移动计算设备。参考图10A,图示了用于实现所述方面的移动计算设备1200的一个方面。在基本配置中,移动计算设备1200是具有输入元件和输出元件两者的手持式计算机。移动计算设备1200通常包括显示器1205以及允许用户将信息录入到移动计算设备1200中的一个或多个输入按钮1210。移动计算设备1200的显示器1205也可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件1215允许另外的用户输入。侧输入元件1215可以是旋转开关、按钮、或任何其他类型的手动输入元件。在可替代的方面中,移动计算设备1200可以包含更多或更少的输入元件。例如,在一些实施例中,显示器1205可以不是触摸屏。在又一可替代的实施例中,移动计算设备1200是诸如蜂窝电话之类的便携式电话系统。移动计算设备1200还可以包括可选的小键盘1235。可选的小键盘1235可以是物理小键盘或者是在触摸屏显示器上生成的“软”小键盘(例如,虚拟输入元件)。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器1205、视觉指示器1220(例如,发光二极管)、和/或音频换能器1225(例如,扬声器)。在一些方面中,移动计算设备1200包含用于给用户提供触觉反馈的振动换能器。在又一方面中,移动计算设备1200包含用于向外部设备发送信号或者从外部设备接收信号的输入和/或输出端口,例如音频输入端(例如,麦克风插孔)、音频输出端(例如,耳机插孔)、和视频输出端(例如,HDMI端口)。
图10B是图示了移动计算设备的一个方面的架构的框图。也就是说,移动计算设备1200可以包含用于实现一些方面的系统(例如,架构)1202。在一个实施例中,系统1202被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些方面中,系统1202被集成为计算设备,例如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序1266可以被加载到存储器1262中,并且在操作系统1264上运行或者与操作系统1264相关联地运行。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序,等等。系统1202在存储器1262内还包括非易失性存储区域1268。非易失性存储区域1268可以用于存储如果系统1202断电而不应丢失的持久信息。应用程序1266可以在非易失性存储区域1268中使用并存储信息,例如电子邮件或者由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统1202上,并且被编程为与驻留在主计算机上的对应的同步应用进行交互,从而将存储在非易失性存储区域1268中的信息与存储在主计算机上的对应信息保持同步。应当理解的是,其他应用可以被加载到存储器1262中并且在移动计算设备1200上运行,包括用于提供如在本文中所述的输入系统平台的指令。
系统1202具有电源1270,电源1270可以被实现为一个或多个电池。电源1270还可以包括外部电源,诸如AC适配器或给电池供电或充电的加电对接托架。
系统1202还可以包括执行发送和接收射频通信的功能的无线接口层1272。无线接口层1272经由通信运营商或服务供应商来促进系统1202与“外部世界”之间的无线连通性。来往于无线接口层1272的传输是在操作系统1264的控制下进行的。换句话说,由无线接口层1272接收的通信可以经由操作系统1264而被散播至应用程序1266,并且反之亦然。
视觉指示器1220可以用于提供视觉通知,和/或音频接口1274可以用于经由音频换能器1225来产生可听见的通知。在所图示的实施例中,视觉指示器1220是发光二极管(LED),并且音频换能器1225是扬声器。这些设备可以直接耦合至电源1270,以便当被激活时,即使处理器1260和其他组件可能关闭以节省电池电量,这些设备也能保持通电以持续由通知机制所指示的一段时间。LED可以被编程为无限期地保持通电,直到用户采取动作来指示设备的通电状态为止。音频接口1274用于向用户提供可听见的信号并从用户接收可听见的信号。例如,除了耦合至音频换能器1225之外,音频接口1274还可以被耦合至麦克风以接收可听见的输入,例如,以促进电话对话。根据本公开的示例,麦克风还可以充当用于促进对通知的控制的音频传感器,如将在下文中所描述的。系统1202还可以包括视频接口1276,其使得板载相机1230的操作能够记录静止图像、视频流等。
实现系统1202的移动计算设备1200可以具有另外的特征或功能。例如,移动计算设备1200还可以包括另外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或磁带。在图10B中由非易失性存储区域1268示出了这样另外的存储单元。
如在上文中所描述的,将由移动计算设备1200所生成或捕获并且经由系统1202所存储的数据/信息本地地存储在移动计算设备1200上,或者将所述数据存储在可以由设备经由无线接口层1272或经由移动计算设备1200和与移动计算设备1200相关联的分离的计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接来访问的任何数量的存储介质上。应当理解的是,可以经由移动计算设备1200、经由无线接口层1272、或经由分布式计算网络来访问这样的数据/信息。类似地,根据公知的数据/信息传输和存储方式(包括电子邮件和协同数据/信息共享系统),这样的数据/信息可以容易地在计算设备之间传输以供存储和使用。
图11示出了系统的架构的一个方面,该系统用于处理在计算系统处从远程源(例如,个人计算机1304、平板计算设备1306或移动计算设备1308)接收的数据,如在上文所描述的。在服务器设备1302处显示的内容可以存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务1322、web门户1324、邮箱服务1326、即时消息传送存储单元1328、或社交网站1330来存储各种文档。输入系统平台1120可以由与服务器设备1302通信的客户端采用,和/或输入系统平台1120可以由服务器设备1302采用。服务器设备1302可以通过网络1315来往于诸如个人计算机1304、平板计算设备1306、和/或移动计算设备1308(例如,智能电话)之类的客户端计算设备而提供数据。作为示例,上文参考图1-10B所描述的计算机系统可以在个人计算机1304、平板计算设备1306、和/或移动计算设备1308(例如,智能电话)中被实施。除了接收可以用于在图形发起系统处预先处理或者在接收计算系统处后期处理的图形数据之外,计算设备的这些实施例中的任何一个实施例可以从存储单元1316中获得内容。
图12示出了可以执行在本文中所公开的一个或多个方面的示例性平板计算设备1400。另外,在本文中所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储和获取、以及各种处理功能可以通过诸如互联网或内联网之类的分布式计算网络而远离彼此地操作。各种类型的用户界面和信息可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元而被显示。例如,各种类型的用户界面和信息是在各种类型的用户界面和信息所投射到的墙面上显示的并且与这样的墙面进行交互。与利用其来实践实施例的多种计算系统的交互包括:键击录入、触摸屏录入、语音或其他音频录入、手势录入(其中,相关联的计算设备装备有用于捕获和解译用于控制计算设备的功能的用户手势的检测(例如,相机)功能),等等。
例如,在上文中参考根据本公开的方面的方法、系统、和计算机程序产品的框图和/或操作图而描述了本公开的各方面。在框中所记录的功能/动作可以以不同于在任何流程图中所示出的顺序来进行。例如,取决于所涉及的功能/动作,连续地示出的两个框可以实际上是基本同时执行的,或者框可以有时以相反的顺序执行。
在该申请中所提供的一个或多个示例的描述和说明不旨在以任何方式限制或约束所要求保护的本公开的范围。在该公开中所提供的方面、示例、和细节被认为足以传达所有权,并且使得他人能够制造并使用所要求保护的公开的最优模式。所要求保护的公开不应该被解释为限于在该申请中所提供的任何方面、示例、或细节。无论是组合地还是单独地示出和描述,(结构上和方法上两者的)各种特征旨在被选择性地包括或省略,以产生具有特定组的特征的实施例。在已经提供了本申请的描述和说明之后,本领域技术人可以预想落入在该申请中所实施的一般的发明概念的更宽泛的方面的精神内的变型、修改和替代方面,而不脱离所要求保护的公开的更宽泛的范围。
上文所描述的各种实施例仅仅是作为说明提供的,而不应当被解释为限制所附的权利要求。本领域技术人员将容易地认识到可以在不遵循在本文中所示出和描述的示例实施例和应用的情况下进行各种修改和改变,而不脱离所附权利要求的真实精神和范围。

Claims (15)

1.一种用于虚拟输入系统的计算机实现的方法,所述方法包括:
从一个或多个数据源获得用户数据,所述用户数据指示用户的个人通信风格;
部分地基于所述用户数据来生成用户通信模型;
获得与当前通信上下文相关的数据,所述数据包括与通信介质相关的数据;
部分地基于所述用户通信模型和与所述当前通信上下文相关的所述数据来生成多个句子以供在所述当前通信上下文中使用;以及
使得所述多个句子被提供给所述用户以供在所述通信介质上使用。
2.根据权利要求1所述的方法,其中,所述多个句子是第一多个句子,并且其中,所述方法还包括:
接收修改措辞命令;以及
响应于接收到所述修改措辞命令,部分地基于所述用户通信模型和与所述当前通信上下文相关的所述数据,生成第二多个句子以供在所述当前通信上下文中使用,其中,所述第二多个句子中的至少一个句子与所述第一多个句子中的句子是不同的。
3.根据权利要求1所述的方法,还包括:
接收对词语输入模式的选择;
响应于接收到对所述词语输入模式的所述选择,生成第一多个词语,所述第一多个词语基于所述用户通信模型与所述当前通信上下文中的所述用户的通信风格相匹配;以及
使得所述多个词语被提供给所述用户以供在所述通信介质上个体选择和使用。
4.根据权利要求1所述的方法,还包括:
接收对备用通信模型的选择;并且
其中,生成所述多个句子以供在所述当前通信上下文中使用还是部分地基于所述备用通信模型的。
5.根据权利要求1所述的方法,其中,生成所述用户通信模型包括:
为所述用户生成用词模型;以及
为所述用户生成句法模型。
6.根据权利要求5所述的方法,其中,生成所述多个句子包括:
针对所述多个句子中的每个句子,基于所述用户的所述用词模型来选择相应句子中的词语,并且基于所述用户的所述句法模型来选择所述词语。
7.根据权利要求1所述的方法,其中,所述一个或多个数据源包括从包括以下项的群组中选择的数据源:语言语料库数据、社交媒体数据、通信历史数据、以及用户偏好。
8.根据权利要求1所述的方法,其中,与所述当前通信上下文相关的数据包括指示以下中的一个或多个的数据:用户的位置、所述用户的日历事件、一天中的时间、所述通信介质的通信目标、所述用户的当前活动、以及与所述通信介质相关的新近的活动。
9.根据权利要求1所述的方法,其中,所述通信介质包括使人能够发起或回应于数据传输的软件。
10.一种具有存储在其上的计算机可执行指令的计算机可读介质,所述计算机可执行指令当由处理器执行时,使得所述处理器进行以下操作:
接收针对对通信介质的输入的请求;
获得通信上下文,所述通信上下文包括与所述通信介质相关的数据;
将所述通信上下文提供至通信引擎,所述通信引擎被配置为模拟用户的通信风格;
从所述通信引擎接收基于所述通信上下文和所述用户的所述通信风格所生成的多个句子;以及
使得所述多个句子可供所述用户在用户界面处选择以作为对所述通信介质的所述输入。
11.根据权利要求10所述的计算机可读介质,其中,所述多个句子是第一多个句子,并且其中,所述指令还包括当由所述处理器执行时使得所述处理器执行以下操作的指令:
接收修改措辞命令;以及
响应于接收到所述修改措辞命令,从所述通信引擎获得第二多个句子,所述第二多个句子是基于所述用户的所述通信风格以及所述通信上下文生成的,其中,所述第二多个句子与所述第一多个句子是不同的。
12.根据权利要求10所述的计算机可读介质,其中,所述指令还包括当由所述处理器执行时使得所述处理器执行以下操作的指令:
从所述通信引擎接收基于所述通信上下文以及所述用户的所述通信风格所生成的多个信息包;以及
使得所述多个信息包可供所述用户在用户界面处选择以作为对所述通信介质的所述输入。
13.一种用于虚拟输入系统的计算机实现的方法,所述方法包括:
从通信引擎获得第一多个句子,所述第一多个句子基于通信模型与当前通信上下文中的通信风格相匹配,所述当前通信上下文包括通信介质;
使得所述第一多个句子可供所述用户通过用户界面来选择;
通过所述用户界面接收对所述第一多个句子中的句子的选择;
通过所述用户界面从用户接收修改措辞命令;
响应于接收到所述修改措辞命令,从所述通信引擎获得基于所选择的句子的第二多个句子,所述第二多个句子基于所述通信模型与所述当前通信上下文中的所述通信风格相匹配,并且所述第二多个句子中的至少一个句子与所述第一多个句子中的句子是不同的;以及
使得所述第二多个句子可供所述用户通过所述用户界面来选择。
14.根据权利要求13所述的方法,还包括:
接收对备用通信模型的选择;
将所述通信风格设置为由所述备用通信模型建模的备用通信风格;以及
将所述通信模型设置为所述备用通信模型。
15.根据权利要求13所述的方法,还包括:
接收对所述第二多个句子中的第二句子的选择;
通过所述用户界面从所述用户接收发送命令;以及
将所述第二句子提供至所述通信介质。
CN201880008058.7A 2017-01-23 2018-01-16 具有通信模型的输入系统 Pending CN110249325A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/413,180 US20180210872A1 (en) 2017-01-23 2017-01-23 Input System Having a Communication Model
US15/413,180 2017-01-23
PCT/US2018/013751 WO2018136372A1 (en) 2017-01-23 2018-01-16 Input system having a communication model

Publications (1)

Publication Number Publication Date
CN110249325A true CN110249325A (zh) 2019-09-17

Family

ID=61187815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880008058.7A Pending CN110249325A (zh) 2017-01-23 2018-01-16 具有通信模型的输入系统

Country Status (4)

Country Link
US (1) US20180210872A1 (zh)
EP (1) EP3571601A1 (zh)
CN (1) CN110249325A (zh)
WO (1) WO2018136372A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112843724A (zh) * 2021-01-18 2021-05-28 浙江大学 游戏剧情展示控制方法、装置、电子设备及存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043196B1 (en) 2014-07-07 2015-05-26 Machine Zone, Inc. Systems and methods for identifying and suggesting emoticons
CN109478187A (zh) * 2017-04-25 2019-03-15 微软技术许可有限责任公司 输入法编辑器
US10572107B1 (en) * 2017-06-23 2020-02-25 Amazon Technologies, Inc. Voice communication targeting user interface
US20190196883A1 (en) * 2017-07-26 2019-06-27 Christian Reyes "See You There" Smartphone Application
US20190087466A1 (en) * 2017-09-21 2019-03-21 Mz Ip Holdings, Llc System and method for utilizing memory efficient data structures for emoji suggestions
US11416207B2 (en) * 2018-06-01 2022-08-16 Deepmind Technologies Limited Resolving time-delays using generative models
US10601740B1 (en) * 2019-04-03 2020-03-24 Progressive Casuality Insurance Company Chatbot artificial intelligence
KR20210074632A (ko) * 2019-12-12 2021-06-22 엘지전자 주식회사 음소 기반 자연어 처리
US11349848B2 (en) * 2020-06-30 2022-05-31 Microsoft Technology Licensing, Llc Experience for sharing computer resources and modifying access control rules using mentions
US20220335224A1 (en) * 2021-04-15 2022-10-20 International Business Machines Corporation Writing-style transfer based on real-time dynamic context

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040201607A1 (en) * 2002-01-15 2004-10-14 Airtx, Incorporated Alphanumeric information input method
CN1989516A (zh) * 2004-08-31 2007-06-27 摩托罗拉公司 变换消息风格的系统和处理
CN102667840A (zh) * 2009-12-15 2012-09-12 英特尔公司 上下文信息使用系统、装置和方法
CN103547980A (zh) * 2011-05-23 2014-01-29 微软公司 知晓上下文的输入引擎
CN105453082A (zh) * 2013-06-20 2016-03-30 微软技术许可有限责任公司 意图感知的键盘
US20160117954A1 (en) * 2014-10-24 2016-04-28 Lingualeo, Inc. System and method for automated teaching of languages based on frequency of syntactic models
US20160224540A1 (en) * 2015-02-04 2016-08-04 Lenovo (Singapore) Pte, Ltd. Context based customization of word assistance functions
US20160308794A1 (en) * 2015-04-16 2016-10-20 Samsung Electronics Co., Ltd. Method and apparatus for recommending reply message

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934683B2 (en) * 2001-01-31 2005-08-23 Microsoft Corporation Disambiguation language model
US8756527B2 (en) * 2008-01-18 2014-06-17 Rpx Corporation Method, apparatus and computer program product for providing a word input mechanism
US20120206367A1 (en) * 2011-02-14 2012-08-16 Research In Motion Limited Handheld electronic devices with alternative methods for text input
US20140253458A1 (en) * 2011-07-20 2014-09-11 Google Inc. Method and System for Suggesting Phrase Completions with Phrase Segments
US8290772B1 (en) * 2011-10-03 2012-10-16 Google Inc. Interactive text editing
US10649622B2 (en) * 2012-05-09 2020-05-12 Apple Inc. Electronic message user interface
US20150081294A1 (en) * 2013-09-19 2015-03-19 Maluuba Inc. Speech recognition for user specific language
US9176668B2 (en) * 2013-10-24 2015-11-03 Fleksy, Inc. User interface for text input and virtual keyboard manipulation
US9396726B2 (en) * 2014-06-26 2016-07-19 Nvoq Incorporated System and methods to create and determine when to use a minimal user specific language model
US20160012104A1 (en) * 2014-07-11 2016-01-14 Yahoo!, Inc. Search interfaces with preloaded suggested search queries
US9721004B2 (en) * 2014-11-12 2017-08-01 International Business Machines Corporation Answering questions via a persona-based natural language processing (NLP) system
RU2584457C1 (ru) * 2015-02-03 2016-05-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Система и способ создания и использования пользовательских семантических словарей для обработки пользовательского текста на естественном языке
US10812429B2 (en) * 2015-04-03 2020-10-20 Glu Mobile Inc. Systems and methods for message communication
US10403271B2 (en) * 2015-06-11 2019-09-03 Nice Ltd. System and method for automatic language model selection
US10186255B2 (en) * 2016-01-16 2019-01-22 Genesys Telecommunications Laboratories, Inc. Language model customization in speech recognition for speech analytics
US10078673B2 (en) * 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10305828B2 (en) * 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US11320982B2 (en) * 2016-05-18 2022-05-03 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US20180196854A1 (en) * 2017-01-11 2018-07-12 Google Inc. Application extension for generating automatic search queries

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040201607A1 (en) * 2002-01-15 2004-10-14 Airtx, Incorporated Alphanumeric information input method
CN1989516A (zh) * 2004-08-31 2007-06-27 摩托罗拉公司 变换消息风格的系统和处理
CN102667840A (zh) * 2009-12-15 2012-09-12 英特尔公司 上下文信息使用系统、装置和方法
CN103547980A (zh) * 2011-05-23 2014-01-29 微软公司 知晓上下文的输入引擎
CN105453082A (zh) * 2013-06-20 2016-03-30 微软技术许可有限责任公司 意图感知的键盘
US20160117954A1 (en) * 2014-10-24 2016-04-28 Lingualeo, Inc. System and method for automated teaching of languages based on frequency of syntactic models
US20160224540A1 (en) * 2015-02-04 2016-08-04 Lenovo (Singapore) Pte, Ltd. Context based customization of word assistance functions
US20160308794A1 (en) * 2015-04-16 2016-10-20 Samsung Electronics Co., Ltd. Method and apparatus for recommending reply message

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112843724A (zh) * 2021-01-18 2021-05-28 浙江大学 游戏剧情展示控制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20180210872A1 (en) 2018-07-26
WO2018136372A1 (en) 2018-07-26
EP3571601A1 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
CN110249325A (zh) 具有通信模型的输入系统
US20220284896A1 (en) Electronic personal interactive device
CN109328381B (zh) 检测数字助理的触发
CN110019752A (zh) 多方向对话
CN106471570B (zh) 多命令单一话语输入方法
CN110364148A (zh) 自然助理交互
EP3766066B1 (en) Generating response in conversation
CN108093126A (zh) 用于拒绝来电的智能数字助理
CN108733438A (zh) 应用程序与数字助理集成
CN107480161A (zh) 用于媒体探究的智能自动化助理
CN110168526A (zh) 用于媒体探索的智能自动化助理
CN110021301A (zh) 数字助理服务的远场延伸
CN107615378A (zh) 设备语音控制
CN107430501A (zh) 对语音触发进行响应的竞争设备
CN108292203A (zh) 基于设备间对话通信的主动协助
CN107491284A (zh) 提供自动化状态报告的数字助理
CN107491285A (zh) 智能设备仲裁和控制
CN107491469A (zh) 智能任务发现
CN107408387A (zh) 虚拟助理激活
CN108351893A (zh) 非常规虚拟助理交互
CN107735833A (zh) 自动口音检测
CN108352006A (zh) 即时消息环境中的智能自动化助理
CN109257941A (zh) 数字助理的同步和任务委派
CN107294837A (zh) 采用虚拟机器人进行对话交互的方法和系统
CN110209778A (zh) 一种对话生成的方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190917

RJ01 Rejection of invention patent application after publication