CN107870974A - 使用设备上模型的智能回复 - Google Patents
使用设备上模型的智能回复 Download PDFInfo
- Publication number
- CN107870974A CN107870974A CN201710865117.XA CN201710865117A CN107870974A CN 107870974 A CN107870974 A CN 107870974A CN 201710865117 A CN201710865117 A CN 201710865117A CN 107870974 A CN107870974 A CN 107870974A
- Authority
- CN
- China
- Prior art keywords
- response
- computing device
- communication
- candidate
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/06—Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
- G06F7/08—Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Human Resources & Organizations (AREA)
- Computing Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
Abstract
本申请涉及使用设备上模型的智能回复。一种计算设备可以接收从外部计算设备发送的通信。计算设备的至少一个处理器可以使用设备上机器训练的模型并且至少部分地基于通信来确定对该通信的一个或多个候选响应。所述至少一个处理器可以接收从所述一个或多个候选响应中选择候选响应的用户输入的指示。响应于接收到选择候选响应的用户输入的指示,所述至少一个处理器可以向外部计算设备发送所述候选响应。
Description
技术领域
本申请涉及使用设备上模型的智能回复。
相关专利申请
本申请要求于2016年9月23日提交的美国临时专利申请No.62/399,002的权益,其全部内容通过引用并入本文。
背景技术
计算设备可以使得设备的用户能够响应由其他计算设备的用户发送的接收到的通信(例如,接收到的消息)。这样的计算设备可以提供由计算设备存储的一个或多个库存响应,当撰写对接收到的通信的响应时,用户可以从所述一个或多个库存响应进行选择。响应于接收到选择库存响应的用户输入的指示,计算设备可以将所选择的库存响应从计算设备发送到发送通信的不同用户的另一个计算设备。
发明内容
本公开的方面涉及提供用来基于设备上机器训练的模型来回复接收到的通信的候选响应。也就是说,根据本公开的技术,计算设备可以从远程计算设备接收通信。计算设备可以基于将接收到的通信输入到设备上机器训练的模型中来确定与接收到的通信相关的一个或多个候选响应,并且输出所述一个或多个候选响应。响应于接收到选择所述一个或多个候选响应中的一个的用户输入的指示,计算设备可以将所选择的候选响应发送到远程计算设备以对接收到的通信进行响应。
在一个方面,本公开涉及一种方法。该方法包括由计算设备的至少一个处理器接收从外部计算设备发送的通信。该方法还包括由所述至少一个处理器使用设备上的机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应。所述方法还包括由所述至少一个处理器接收从所述一个或多个候选响应中选择候选响应的用户输入的指示。该方法还包括:响应于接收到选择候选响应的用户输入的指示,由所述至少一个处理器向外部计算设备发送候选响应。
在另一方面,本公开涉及一种计算设备。该计算设备包括被配置为存储设备上的机器训练的模型的存储器。该计算设备还包括至少一个处理器,其操作地耦接到存储器并且被配置为:接收从外部计算设备发送的通信;使用设备上的机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应;接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;并且响应于接收到选择候选响应的用户输入的指示,将候选响应发送到外部计算设备。
在另一方面,本公开涉及一种用指令编码的计算机可读存储介质,所述指令在被执行时导致计算设备的至少一个处理器:接收从外部计算设备发送的通信;使用设备上的机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应;接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;并且响应于接收到选择候选响应的用户输入的指示,将候选响应发送到外部计算设备。
一个或多个示例的细节在附图和下面的描述中阐述。其它特征、目的和优点将从描述和附图以及权利要求显而易见。
附图说明
图1是示出了根据本公开的一个或多个技术的可以被配置为提供对接收到的通信的候选响应的示例计算设备和图形用户界面(GUI)的框图。
图2是示出了根据本公开的一个或多个技术的可以被配置为提供对接收到的通信的候选响应的计算设备的一个示例的细节的框图。
图3是示出了根据本公开的一个或多个技术的可以被配置为输出用于在远程设备处显示的图形内容的示例计算设备的框图。
图4是示出了根据本公开的一个或多个技术的用于机器训练模型的示例技术的框图,示例计算设备可以利用该模型来生成对接收到的通信的候选响应。
图5是示出了根据本公开的一个或多个技术的用于使用设备上的机器训练的模型来生成对接收到的通信的候选响应的示例技术的框图。
图6是示出了根据本公开的一个或多个技术的用于利用设备上的机器训练的模型来生成响应于接收到的通信的候选响应的计算设备的示例操作的流程图。
具体实施方式
通常,本公开的方面旨在提供候选响应以基于设备上的机器训练的模型回复接收到的通信,并且生成这样的机器训练的模型,使得其被优化以在诸如智能电话或可穿戴设备(例如,智能手表)的移动计算设备上使用。计算设备上的消息收发应用可以接收通信,并且可以利用计算设备上的机器训练的模型来预测与接收到的通信相关的候选响应。消息收发应用可以呈现由模型预测的候选响应,并且可以使得用户能够选择所呈现的候选响应中的一个以发送给接收到的通信的发起者。
在提供用于响应于接收到的通信的文本输入可能是麻烦的或在社交上不可接受的情况下,通过使用户能够以快速且不显眼的方式回复接收到的通信来提供候选响应以回复接收到的通信可能是有用的。在一个示例中,如果智能手表仅提供语音输入作为文本输入选项,则这样的文本输入方法可能在嘈杂的环境中不可靠或不可用。在另一示例中,可能存在这样的情况:其中用户通过说话来提供语音输入或写出对接收到的通信的响应可能是在社交上不可接受的(例如,当用户在开会时)。因此,计算设备可以提供候选响应来回复接收到的通信,以使得计算设备的用户能够快速、可靠且方便地回复接收到的通信。
计算设备可以利用机器训练的模型来生成与接收到的通信高度相关的候选响应,以增加用户选择候选响应中的一个来响应接收到的通信的可能性。利用机器训练的模型可能潜在地减少用户需要与计算设备交互以发送消息来响应于接收到的通信的时间量,因为用户不必键入、说出或以其他方式手动输入响应消息。通过减少用户与计算设备交互所需的时间量,计算设备可能能够更好地节省其功率,从而延长其电池寿命。如果计算设备是可穿戴计算设备,例如智能手表,这样的功率节省可能是特别相关的,否则该设备可能具有极其有限的电池寿命。
通常,机器训练的模型可以经由机器学习技术在大数据集上训练,以针对给定输入推断输出。更具体地,根据本公开的方面,机器训练的模型可以是在计算设备上执行的应用或模块,其通过基于机器学习技术在大数据集上的训练而生成,以推断对接收到的通信的相关的候选响应。例如,用来对模型进行机器训练的数据集可以包括通信和对这样的通信的回复的对,使得计算系统可以对这样的通信和回复对进行机器训练,并推断响应于接收到的通信的可能的回复。经由机器学习的模型训练可能潜在地能够建议与其他确定候选响应的方法相比更加场境(contextually)相关的对接收到的通信的候选响应。通过建议更加场境相关的候选响应,用户可能更有可能选择建议的候选响应中的一个来回复传入的消息。
计算设备使用的模型可以完全在计算设备上操作以生成与接收到的通信相关的候选响应。也就是说,当确定对接收到的通信的一个或多个候选响应时,计算设备不向设备外(例如,到云)发送接收到的通信的任何指示以用于由设备外模型(例如,在云中操作的机器训练的模型)进行处理。类似地,计算设备可能不从另一计算设备接收与接收到的通信相关的所述一个或多个候选响应的任何指示。相反,计算设备完全在计算设备上执行设备上的机器训练的模型,以确定与接收到的通信相关的所述一个或多个候选响应。以这种方式,实现本公开的技术的计算设备可以利用设备上的机器训练的模型来提供与接收到的通信相关的候选响应,而不需要通过网络(例如,互联网)访问外部机器训练的模型(例如,作为基于云的服务的一部分)。
可生成候选响应而不向设备外发送接收到的通信的指示的设备上的模型的一个潜在优点是,即使主机计算设备仅具有间歇性网络连接,例如当计算设备具有差的蜂窝或较短程的无线(例如,Wi-Fi)信号时,或者根本没有网络连接时,例如当计算设备被设置为飞行模式时,设备上的模型也可能可用。由于计算设备不将接收到的通信发送到设备外的模型,因此设备上的模型还可以使主机计算设备能够消耗更少的网络数据和带宽。
设备上的模型的另一个潜在优点是设备上的模型可以支持消息收发应用的端到端加密。在端对端加密的消息收发应用中,发送者和接收者之间的消息只能在发送者或接收者的计算设备上进行解密,否则处于加密形式。因此,在端到端加密中,例如,未加密的消息不能被发送到外部系统以由设备外的模型(例如,云中的模型)进行处理以生成对消息的候选响应。这可能有助于提高发送者和接收者之间通信的安全性,以保护此类通信免受第三方的监视或篡改。
然而,与桌面型计算设备、服务器计算设备或云计算系统相比,计算设备,特别是诸如智能电话或智能手表的移动计算设备可能具有相对有限的计算资源,因为移动计算设备的操作可能例如基于性能和电池寿命之间的折衷、热输出、和尺寸约束。因此,为桌面型或服务器计算设备设计的机器训练的模型当在移动计算设备上执行时可能提供不可接受的性能。例如,这样的模型可能占用太多的存储器空间,或者使用这种模型的设备可能花费太长时间来生成对接收到的通信的候选响应。此外,这种模型还可能在其操作期间过度地消耗移动计算设备的功率(例如,电池)。
当经由设备上的机器训练的模型确定所述一个或多个候选响应时,计算设备可以基于用户的消息收发历史,诸如此前由用户发送的文本消息、电子邮件等,来个性化所述一个或多个候选响应。在被用户明确授予访问权限以访问用户的消息收发历史之后,计算设备可以访问用户的消息收发历史以至少部分地基于用户的消息收发历史来确定所述一个或多个候选响应。例如,计算设备可以在所述一个或多个候选响应中包括此前由用户发送的一个或多个消息。
因此,根据本公开的方面,设备上的机器训练的模型可以被专门设计为由移动计算设备使用,使得其满足移动计算设备的资源约束(例如,存储器、处理和/或功耗约束)。远程计算设备可以执行机器学习以生成机器训练的模型,并且该设备可以将模型加载到移动计算设备上。移动计算设备可以在本地利用该模型来生成用于接收到的通信的候选响应,而不需要向移动计算设备外发送接收到的通信的指示(例如,经由网络将接收到的通信发送到云)。
图1是示出了根据本公开的一个或多个技术的用于提供候选响应以回复接收到的通信的示例计算设备2和图形用户界面(GUI)20和26的框图。计算设备2的示例可以包括但不限于便携设备、移动设备或其他设备,例如,移动电话(包括智能电话)、膝上型计算机、桌面型计算机、平板计算机、智能电视平台、个人数字助理(PDA)、服务器计算机、大型机等。例如,在图1的示例中,计算设备2可以是可穿戴计算设备,例如智能手表。
如图1的示例所示,计算设备2包括用户界面(UI)设备4。计算设备2的UI设备4可以被配置为用作计算设备2的输入设备和/或输出设备。UI设备4可以使用各种技术来实现。例如,UI设备4可以被配置为通过触觉、音频和/或视频反馈而从用户接收输入。输入设备的示例包括存在敏感显示器、存在敏感或触敏输入设备、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括触敏或存在敏感的输入屏幕,例如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射电容触摸屏、压敏屏幕、声脉冲识别触摸屏或其他存在敏感的技术。也就是说,计算设备2的UI设备4可以包括可以从计算设备2的用户接收触觉输入的存在敏感设备。UI设备4可以通过检测来自用户的一个或多个手势(例如,当用户用手指或触笔触摸或指向UI设备4的一个或多个位置时)来接收触觉输入的指示。
UI设备4可以附加地或替代地被配置为通过使用触觉、音频或视频刺激向用户提供输出来用作输出设备。输出设备的示例包括声卡、视频图形适配器卡或一个或多个显示设备中的任何一个,诸如液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水或类似的能够向计算设备2的用户输出可见信息的单色或彩色显示器。输出设备的另外的示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可以向用户生成可理解的输出的其他设备。例如,UI设备4可以作为可以与由计算设备2提供的功能相关联的图形用户界面向计算设备2的用户呈现输出。以这种方式,UI设备4可以呈现在计算设备2上执行或可由计算设备2访问的应用(例如,电子消息应用、互联网浏览器应用等)的各种用户界面。计算设备2的用户可以与应用的相应用户界面交互,以使计算设备2执行与功能相关的操作。
在一些示例中,计算设备2的UI设备4可以检测作为来自计算设备2的用户的输入的二维和/或三维手势。例如,UI设备4的传感器可以在UI设备4的传感器的阈值距离内检测用户的移动(例如,移动手、手臂、笔、触笔)。UI设备4可以确定移动的二维或三维向量表示,并将向量表示与具有多个维度的手势输入(例如,挥手、捏合、拍手、笔画)相关联。换句话说,在一些示例中,UI设备4可以在不要求用户在UI设备4输出信息以进行显示的屏幕或表面处或附近做手势的情况下检测多维手势。相反,UI设备4可以检测在传感器处或附近执行的多维手势,该传感器可以或可以不位于UI设备4输出用于显示的信息的屏幕或表面附近。
在图1的示例中,计算设备2包括用户界面(UI)模块6、应用模块10A-10N(统称为“应用模块10”)和通信响应模块12。模块6、10和/或12可以使用驻留在计算设备2内和/或在计算设备2处执行的硬件、软件、固件或其混合来执行本文所述的一个或多个操作。计算设备2可以用一个处理器或多个处理器来执行模块6、10和/或12。在一些示例中,计算设备2可以作为在底层硬件上执行的虚拟机执行模块6、10和/或12。模块6、10和/或12可以作为操作系统或计算平台的一个或多个服务执行,或者可以作为计算平台的应用层处的一个或多个可执行程序执行。
如图1的示例所示,UI模块6可以可由计算设备2操作以执行一个或多个功能,例如接收输入并将这种输入的指示发送到与计算设备2相关联的其他组件,例如模块10和/或12。UI模块6还可以从与计算设备2相关联的诸如模块10和/或12的组件接收数据。使用接收的数据,UI模块6可以使与计算设备2相关联的诸如UI设备4的其他组件基于所接收的数据来提供输出。例如,UI模块6可以从应用模块10之一接收数据以显示GUI。
如图1的示例所示,应用模块10可以包括在计算设备2上执行任何种类的操作的功能。例如,应用模块10可以包括文字处理器、电子邮件应用、聊天应用、消息收发应用、社交媒体应用、Web浏览器、多媒体播放器、日历应用、操作系统、分布式计算应用、图形设计应用、视频编辑应用、Web开发应用或任何其他应用。在一些示例中,应用模块10中的一个或多个可以操作以用于从其他设备接收通信,例如,电子邮件消息、日历提示或会议请求或其他通信。例如,应用模块10中的一个(例如,应用模块10A)可以是文本消息收发应用(例如,SMS/MMS)、互联网消息收发应用、或包括消息收发功能的其他合适的应用。应用模块10A可以包括撰写和发送通信、接收通信、响应于接收到的通信、以及其它功能的功能。
在图1的示例中,通信响应模块12可以是可操作的以用于根据本文所述技术来确定对接收到的通信的相关候选响应。也就是说,通信响应模块12可以包括提供用户可以选择以使计算设备2发送消息作为对接收到的通信的响应的一个或多个相关回复消息的功能。通常,(例如,操作或响应消息的)相关性可以是关联度和/或相似性(例如,语义相似性、场境相似性或任何其他类型的相似性)的指示。在一些示例中,相关性可以由指示两个对象之间的关联度水平、或者两组对象之间的关联度水平(例如,两组中存在的对象的数量、在另一组中存在的一个组中的对象的数量、两个组中存在的对象的百分比,或其他值)的概率值或分数来表示。在接收到的通信的情况下,对接收到的通信的相关回复消息可以是非常有可能或可能被用户选择为对接收到的通信的回复消息的回复消息。
在图1的示例中,计算设备2可以接收通信。接收到的通信可以包括信息(例如,基于由另一设备的用户提供的输入而生成的)。可以包括在接收的通信中的信息的示例包括文本(例如,字母、单词、数字、标点符号)、表情符号、图像或图标、视频、音频、数字支付或其他信息。接收到的通信可以根据一个或多个协议进行结构化或格式化。例如,接收到的通信可以是互联网消息。互联网消息可以包括文本信息,例如“That is such a good name fora puppy”。在一些示例中,接收到的通信也可以被称为文本消息、短消息服务(SMS)消息、即时消息等,其可以由应用模块10A接收,该应用模块可以是SMS服务、即时消息应用、聊天应用、信使应用或任何其他合适的服务或应用。
在图1的示例中,响应于接收到通信,计算设备2可以输出接收到的通信的指示以进行显示。通常,接收到的通信的指示可以是该通信的任何视觉表示,例如,用于作为图形用户界面(GUI)的一部分显示的通知或其他视觉对象输出。计算设备2可以向被指定为处理互联网消息的诸如应用模块10A的应用模块10中的一个或多个提供消息。应用模块10A可以接收互联网消息并且可以使计算设备2的一个或多个其他组件输出消息的指示(例如,用于向计算设备2的用户显示)。也就是说,响应于接收到互联网消息,应用模块10A可以向UI模块6发送数据,以使UI设备4显示GUI 20。如图1的示例所示,GUI 20包括在互联网消息中包括的信息(例如,文本22,“That is such a good name for a puppy”)的指示。在一些示例中,应用模块可以导致附加的或其他的信息被输出以用于显示,例如接收到消息的时间。
在图1的示例中,计算设备2可以接收输入的指示,其指令计算设备2以使用户能够撰写和/或选择对接收到的通信的响应。例如,计算设备2的用户可以在UI设备4处执行输入25。UI设备4可以检测输入25并将输入的指示发送到UI模块6。UI模块6可以基于接收到的指示向应用模块10A提供数据,并且应用模块10A可以确定输入25对应于元素24的选择。
在图1的示例中,计算设备2可以至少部分地基于接收到的通信来确定对接收到的通信的一个或多个候选响应。响应于接收指示用户响应于互联网消息的选择的数据(例如,输入25的指示),应用模块10A可以与通信响应模块12通信以获得至少一个候选响应。候选响应可以是用户可以选择作为对接收到的通信的响应的消息。例如,在图1的示例中,由通信响应模块12确定的每个候选响应可以是计算设备2可以基于用户的选择而发送以响应于互联网消息“That is such a good name for a puppy”的消息。候选响应的示例可以包括文本(例如,字母、单词、数字、标点符号)、表情符号、图像或图标、外来词、视频、音频或其他内容中的一个或多个。
为了获得候选响应,应用模块10A可以从通信响应模块12请求候选响应。在一些示例中,对接收到的通信的候选响应的请求可以包括包含在接收到的通信中的信息的至少一部分。在一些示例中,请求可以包括附加的或其他的信息,诸如通信元数据、位置信息、用户信息、其他通信(例如,在计算设备2的用户和接收到的通信的发送者之间的通信的线程或链中的其他消息),或关于接收到的通信、关于计算设备或关于计算设备的用户的其他信息。在一些示例中,如果计算设备2的用户为应用模块10提供这样做的明确许可,则应用模块10仅生成请求和/或获取个人数据(例如,包括在接收的通信中的信息和/或其他信息)。
除了上面的描述之外,用户可以被提供控制,其允许用户关于本文所述系统、程序或特征是否和何时能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户的当前位置的信息)、以及是否从服务器向用户发送了内容或通信做出选择。此外,某些数据可以在存储或使用之前以一个或多个方式处理,以便消除个人可识别信息。例如,可以对用户的身份进行处理,使得不能确定该用户的个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(例如,到城市、邮政编码或州级别),使得不能确定用户的具体位置。因此,用户可以控制关于用户收集什么信息、如何使用该信息以及向用户提供哪些信息。
根据本发明的方面,通信响应模块12可以从应用10A接收请求以生成响应于接收到的通信的候选响应,并且可以通过利用机器训练的模型来生成与接收到的通信相关的一个或多个候选响应而确定候选响应。机器训练的模型可以经由机器学习技术在设备之外生成和训练,并加载到计算设备2上以用于生成候选响应。当生成候选响应时,机器训练的模型不向设备外发送接收到的通信的任何指示。也就是说,当在计算设备2上执行时,机器训练的模型不利用在诸如远程服务器系统或云计算资源的远程计算设备上运行的模型或任何其他应用或服务以生成候选响应。关于如何生成机器训练模型的进一步的细节将结合图4进行描述,而关于计算设备2如何利用机器训练的模型来生成候选响应的进一步细节将结合图5进行描述。
在图1的非限制性示例中,通信响应模块12可以确定对互联网消息“That is sucha good name for a puppy”的一个或多个候选响应,并且至少将所述一个或多个候选响应的指示发送到应用模块10A。应用模块10A可以接收所确定的候选响应的指示并向UI模块6发送数据,以使UI设备4显示候选响应中的至少一个。例如,应用模块10A可以发送数据以使UI设备4输出GUI 26。
如图1的示例所示,GUI 26包括响应选项28A-28C(统称为“响应选项28”)。响应选项28可以每一个表示从通信响应模块12接收到的候选响应。也就是说,响应于接收到对SMS消息“That is such a good name for a puppy”的候选响应的请求,通信响应模块12可以确定用于响应于传入通信的候选响应的集合。通信响应模块12可以选择出现在GUI 26中的候选响应的该集合中的一些或全部。在图1的示例中,通信响应模块12可以选择在GUI 26中出现的三个候选响应:“Thank you!”、“I like it too”以及“Thanks for saying that,”,它们分别对应于响应选项28A、28B、28C。
虽然在图1的示例中每一个表示从通信响应模块12接收的候选响应,但是在其他示例中,响应选项28中的一个或多个可以表示或包括其他响应选项,例如由应用模块10A提供的响应。在一些示例中,应用模块可以基于各种类型的信息来修改一个或多个接收的候选响应,并且响应选项28中的一个或多个可以表示修改的候选响应。在任何情况下,GUI 26的响应选项28可以使得计算设备2的用户能够选择候选响应以使得计算设备2响应于所接收的互联网消息而进行发送。在一些示例中,GUI 26可以包括手动输入选项。手动输入选项可以使得计算设备2的用户能够输入(例如,使用语音输入、触摸输入或其他输入)定制响应。当例如由响应选项28之一指示的响应不正确或不准确时,可以使用定制响应。
在图1的示例中,计算设备2可以接收从所述一个或多个候选响应中选择候选响应的用户输入的指示。通常,用户输入的指示可以是表示用户在一个或多个输入设备处提供的输入(例如触摸或触觉输入、语音输入或其他音频输入)或任何其他形式的输入的数据。例如,计算设备2的用户可以在UI设备4处提供输入29,该输入可以包括在UI设备4的位置处或附近的敲击手势。UI设备4可以检测输入29并将输入的指示发送到UI模块6。UI模块6可以基于接收到的指示向应用模块10A提供数据,并且应用模块10A可以确定输入29对应于响应选项28A的选择。
响应于接收到选择候选响应的用户输入的指示,计算设备2可以在图1的示例中发送候选响应。也就是说,选择响应选项28中的一个或输入定制响应可以使应用模块10A通过将所选择的响应发送到一个或多个其他计算设备来响应接收到的通信,另一个或多个其他计算设备可以包括消息的接收者的计算设备。例如,响应于接收到选择响应选项28A的输入29的指示,应用模块10A可以发送对应于响应选项28A的候选响应(例如,“Thank you!”)。在一些示例中,所选择的响应可以直接发送到从其接收到互联网消息的计算设备。在一些示例中,所选择的响应可以被发送到附加的或其他的计算设备,例如,一起表示计算设备2连接到的网络(例如,蜂窝或无线网络)的一个或多个设备。也就是说,计算设备2可以通过向位于两个计算设备之间的路线上的网络设备或其他设备发送响应来向从其接收到互联网消息的计算设备发送所选择的响应。在一些示例中,所选择的响应可以附加地或替代地被发送到诸如服务器系统或云计算环境的其他设备,用于随后在提供改进的候选响应时使用。
通过提供与接收到的通信相关的候选响应,本公开的技术可以减少计算设备2的用户输入对接收到的通信的响应所需的时间量。例如,诸如手表或其他设备的可穿戴计算设备可能能够向用户显示基于接收到的通信的候选响应,从而使得用户能够快速地敲击或以其他方式选择候选响应中的一个,而不是必须使用语音识别或其他方式来输入响应。此外,通过经由机器训练的模型生成候选响应,计算设备可能能够生成更可能被用户选择以作为对接收到的通信的响应而提供的候选响应,从而减少用户使用语音识别或其他方式来输入响应的需求。此外,相对于需要经由互联网向设备外的机器训练的模型发送和从其接收信息,计算设备2可以经由设备上的机器训练的模型来减少生成候选响应的等待时间。
图2是示出了根据本公开的一个或多个技术的用于响应于发送对接收到的通信的响应来执行场境相关的操作的计算设备2的一个示例的细节的框图。下面在图1的场境中描述图2。图2仅示出计算设备2的一个示例,并且具有更多、更少或不同组件的许多其他示例设备也可以被配置为根据本公开的技术执行操作。
虽然在图2的示例中显示为单个设备的一部分,但是在一些示例中,计算设备2的组件可以位于不同设备内和/或为不同设备的一部分。例如,在一些示例中,通信响应模块12的一些或全部功能可以位于服务器系统或其他计算设备(例如,可由计算设备2经由网络访问的)。也就是说,在一些示例中,本公开的技术可以由单个计算设备执行和利用,而在其他示例中,可以在诸如分布式或“云”计算系统的远程计算系统处执行和/或利用该技术。在一些这样的示例中,计算设备2可以通过向远程设备(例如,服务器系统)提供接收到的通信的至少一部分并且接收包括候选响应的响应来接收通信并确定候选响应。响应于接收候选响应之一的选择,计算设备2可以通过至少将所选择的候选响应的指示发送到远程设备并且接收包括可执行以进行所述操作的指令的响应来确定与候选响应场境相关的操作。
在一些示例中,计算设备2可以表示可穿戴计算设备。可穿戴计算设备可以是任何可穿戴或能够以其他方式附接到用户的计算设备,诸如智能手表、头戴式计算设备(例如,结合到眼镜、帽子、耳机、隐形眼镜、或其他类似物品中的计算设备),可植入设备或用户可以附接到他或她自身的任何其他设备。诸如智能手表的一些可穿戴计算设备可以包括:一个或多个输入设备,用于从用户接收各种类型的输入;一个或多个输出设备,用于向用户提供音频、视觉、触觉或其他输出;一个或多个网络接口,用于与其他计算设备通信;一个或多个传感器,用于获得信息;和/或其他组件。
在一些示例中,可穿戴设备可以与移动设备(例如,智能电话)或其他设备通信以执行一些操作。例如,在一些示例中,本公开的技术的一部分可以由智能手表执行,而部分可以由一个或多个其他计算设备(例如,与智能手表无线链接的智能电话、智能电话可以与其通信的服务器设备、或其他设备)执行。换句话说,虽然本文描述为由计算设备2的一个或多个组件执行,但是可以在根据本文所述技术的多个计算设备之间分布可配置以确定候选响应和/或场境相关操作的组件中的一些。
如图2的示例所示,计算设备2包括用户界面(UI)设备4、一个或多个处理器40、一个或多个输入组件42、一个或多个输出组件44、一个或多个通信单元46、一个或多个传感器48、和一个或多个存储设备50。存储装置50还包括用户界面(UI)模块6、通信响应模块12、应用模块10和通信响应模块14。在图2的示例中,通信响应模块14包括响应建议模块54。
组件4、40、42、44、46、48和50中的每一个可以互连(物理地、通信地和/或操作地)以用于组件间通信。在图2的示例中,组件4、40、42、44、46、48和50可以由一个或多个通信信道52耦接。在一些示例中,通信信道52可以包括系统总线、网络连接、进程间通信数据结构或用于通信数据的任何其它信道。模块6、10、12和54还可以在彼此之间传送信息以及与计算设备2中的其他组件进行通信。
在图2的示例中,一个或多个输入组件42可以是可操作的以用于接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,输入组件42包括存在敏感或触摸敏感的显示器、鼠标、键盘、语音响应系统、摄像机、麦克风或其他音频传感器、或用于检测来自人或机器的输入的任何其他类型的设备。
在图2的示例中,一个或多个输出组件44可以是可操作的以用于生成输出。输出的示例是触觉、音频和视频输出。在一些示例中,计算设备2的输出组件44包括存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或用于生成到人或机器的输出的任何其他类型的设备。
在一些示例中,UI设备4可以包括输入组件42和/或输出组件44的功能。在图2的示例中,例如,UI设备4可以是或可以包括存在敏感输入设备。在一些示例中,存在敏感输入设备可以检测在存在敏感输入设备处和/或附近的对象。作为一个示例范围,存在敏感输入设备可以检测在存在敏感输入设备的两英寸或更小的距离内的诸如手指或触笔的对象。在另一个示例范围中,存在敏感输入设备可以检测到存在敏感输入设备6英寸或更小的距离内的对象,并且其他范围也是可能的。存在敏感输入设备可以确定检测到对象的存在敏感输入设备的位置(例如,(x,y)坐标)。存在敏感输入设备可以使用电容、电感和/或光学识别技术确定由输入设备选择的位置。在一些示例中,存在敏感输入设备使用如结合输出组件44所描述的触觉、音频或视频刺激向用户提供输出,并且可以被称为存在敏感显示器。
虽然图示为计算设备2的内部组件,但是UI设备4也可以表示与计算设备2共享数据路径的用于发送和/或接收输入和输出的外部组件。也就是说,在一些示例中,UI设备4可以表示计算设备2的内置组件,其位于计算设备2的外部封装内并物理地连接到该外部封装(例如,移动电话或可穿戴计算设备上的屏幕)。在一些示例中,UI设备4可以表示计算设备2的外部组件,其位于计算设备2的封装之外并且与该封装物理上分离(例如,监视器、投影仪或与计算设备2共享有线和/或无线数据路径的其它显示设备)。
在图2的示例中,一个或多个通信单元46可以是可操作的以用于通过在一个或多个网络上发送和/或接收网络信号来经由一个或多个网络与外部设备进行通信。例如,计算设备2可以使用通信单元46在诸如蜂窝无线电网络的无线电网络上发送和/或接收无线电信号。同样,通信单元46可以在诸如全球定位系统(GPS)网络的卫星网络上发送和/或接收卫星信号。通信单元46的示例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、或可发送和/或接收信息的任何其他类型的设备。通信单元46的其他示例可以包括近场通信(NFC)单元、无线电、短波无线电、蜂窝数据无线电、无线网络(例如,)无线电、以及通用串行总线(USB)控制器。
在图2的示例中,一个或多个传感器48可以是可操作的以用于生成供计算设备2的组件使用的数据。传感器48可以包括能够获得关于计算设备2的数据、关于计算设备2所在的环境的数据、关于计算设备2的用户的数据、或其他数据的任何设备或组件。也就是说,传感器48中的任何可以是用于获得信息的硬件、固件、软件或它们的组合。传感器48的示例可以包括GPS传感器或GPS无线电、位置传感器、加速度计、陀螺仪、或其他运动传感器、相机、罗盘、磁力计、光传感器、红外传感器、麦克风或其他音频传感器、辐射传感器、温度传感器、气压计、高度计、或其他数据采集组件。
在图2的示例中,一个或多个存储设备50可以是可操作的以用于存储用于在计算设备2的操作期间进行处理的信息。在一些示例中,存储设备50可以表示临时存储器,这意味着存储设备50的主要目的不是长期存储。例如,计算设备2的存储设备50可以是被配置为短期存储信息的易失性存储器,因此如果断电则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。
在一些示例中,存储设备50还表示一个或多个计算机可读存储介质。也就是说,存储设备50可以被配置为存储比临时存储器更大的信息量。例如,存储设备50可以包括通过电源开/关循环来保持信息的非易失性存储器。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。在任何情况下,在图2的示例中,存储设备50可以存储与模块6、10、12和54相关联的程序指令和/或数据。
在图2的示例中,一个或多个处理器40可以被配置为在计算设备2内实现功能和/或执行指令。例如,处理器40可以是可操作的以用于接收和执行存储在存储设备50处的指令,该指令实现UI模块6、应用模块10、通信响应模块12和响应建议模块54的功能。由处理器40执行的这些指令可以导致计算设备2在程序执行期间将信息存储在存储设备50(例如,临时存储器)内。处理器40可以执行模块6、10、12和54的指令,以使UI设备4响应于计算设备2接收通信而输出候选响应。也就是说,模块6、10、12和54可以由处理器40操作以执行各种动作,包括预测对接收到的通信的候选响应。
在图2的示例中,计算设备2可以接收通信。通信可以是消息或一系列消息。例如,通信可以是用户从远程计算设备发送给计算设备2的用户的一系列消息(例如,文本消息)。在一些示例中,通信单元46中的一个可以从网络(例如,无线网络、蜂窝网络、互联网、内联网等)接收遵守SMS协议并表示文本消息的数据、或者从网络接收遵守特定互联网消息收发格式的数据。通信单元46可以将接收到的数据提供给指定(例如,由用户先前指定)来处理所接收的数据的应用模块10中的一个或多个,例如应用模块10A。
应用模块10A可以接收文本消息并使计算设备2至少输出文本消息的指示。例如,应用模块10A可以向UI模块6发送信息,该信息使得UI设备4或输出组件44中的任何一个显示文本消息中包括的文本(例如,“That is such a good name for a puppy”)的视觉表示以及文本消息中包括的任何图像、视频、表情符号、张贴物等。计算设备2的用户可以查看输出并提供指令计算设备2对文本消息做出响应的输入。也就是说,UI模块6可以接收在UI设备4或任何输入组件42处执行的输入的指示,该输入选择用于响应于所接收的文本消息的选项。UI模块6可以将输入的指示提供到应用模块10A。
响应于接收指令计算设备2对文本消息进行响应的输入,应用模块10A可以从通信响应模块12请求候选响应。在请求候选响应过程中,应用模块10A可以提供包括在文本消息(例如,文本“That is such a good name for a puppy”)中的信息和/或其他信息(例如,文本消息的发送者的指示、发送者和接收者之间交换的先前文本消息的指示、包括在文本消息中的图像、视频等的指示)。也就是说,在各种示例中,候选响应的请求可以包括在接收到的电子邮件、接收到的文本消息、接收到的应用通知、接收到的日历邀请、提醒、或其他通信中包括的信息。在一些示例中,候选响应的请求可以包括在接收到的通信中包括的所有信息。也就是说,请求可以包括整个电子邮件、文本消息等。在其他示例中,请求可以包括信息的一部分。例如,请求可以包括在接收到的通信中指示的日期和时间、指示的位置、会议的参与者的姓名、表情符号、图片或其他信息。通信响应模块12可以接收候选响应的请求并将请求提供至响应建议模块54。
响应建议模块54可以是可操作的以用于接收对用于响应于接收到的通信的候选响应的请求。响应于接收到请求,响应建议模块54可以确定对接收到的通信的一个或多个候选响应。响应建议模块54可以使用各种机器学习技术来确定对接收到的通信的所述一个或多个候选响应。
响应建议模块54可以包括或可操作地耦接到响应建议模型56。响应建议模块54可以使用响应建议模型56来确定对接收到的通信的所述一个或多个候选响应。响应建议模型56可以是机器训练的模型,其在设备外(即,在除计算设备2之外的设备上)被训练为学习对接收到的通信的可能的响应。
响应建议模型56可以包括与预测的响应的排序列表相关联的位向量的集合,使得每个位向量与预测的响应的排序列表相关联。响应建议模块54可将接收到的通信转换为固定长度的位向量,例如8位向量。例如,响应建议模块54可以执行局部敏感(LSH)散列的修改形式,以将接收到的通信投影到位向量。由于响应建议模型56已经被机器训练以将每个位向量与预测的响应的排序列表相关联,响应建议模块54可以至少部分地基于与位向量相关联的预测的响应的排序列表来确定对所接收到的通信的一个或多个候选响应。
为了根据预测的响应的排序列表确定候选响应,响应建议模块54可以例如将前N个预测的响应作为候选响应,其中N可以是将由UI模块6输出以由UI设备4显示的候选响应的数量,或者可以是任何其他合适的整数,例如3、4等。在其他示例中,N可以是除了也将由UI模块6输出的通过其他方法确定的一个或多个其他候选响应(例如,一个或多个其他默认候选响应)之外的将由UI模块6输出的候选响应的数量。
响应建议模块54可以将在语义上相似的接收到的通信散列化成相似的位向量。如果位向量包括相同位的显著重叠,则可以认为是相似的。例如,响应建议模块54可以将接收到的通信“Howdy,everything going well?”散列化成位向量“11100110”,同时响应建议模块54可以将接收到的通信“How’s it going buddy”散列化成位向量“11100011”。此外,由于接收到的通信和所得到的散列化的位向量相似,所得到的散列化的位向量可以映射到预测的响应的相似或相同的排序列表。例如,在该示例中,两个位向量都可以映射到“Prettygood,you?”和“I am doing well,how about you?”的预测的响应的相同排序列表。
响应建议模块54还可以通过确定一个或多个个性化的候选响应并且通过在候选响应中包括该一个或多个个性化的候选响应来个性化其生成的候选响应。为此,响应建议模块54可以使用个性化模型58基于由计算设备2的用户发送以响应于先前接收到的针对用户的消息的先前的响应来生成一个或多个个性化的候选响应。因为用户发送的先前的响应可以更好地捕获用户的书写风格,例如,语气、正式度、大小写、语法等,在候选响应中包括这些先前的响应可以更好地个性化为响应于接收到的通信而生成的候选响应。
诸如能够发送和接收消息并发送对消息的响应的一个或多个消息收发应用的应用模块10可以将先前发送和接收的消息的消息历史存储到通信历史32中。通信历史32可以包含与由计算设备2接收的针对用户的先前的消息相关联的信息,以及由用户发送的对那些先前消息的响应。这样的先前接收的消息和先前的响应可以被存储为可以被搜索和/或以其他方式分类的结构化和/或非结构化数据。在一些示例中,通信历史32内的数据可以被加密以保护用户的隐私。
通信响应模块12可以包括个性化模型58。个性化模型58可以确定由用户发送的任何先前的响应是否与接收到的通信的一个或多个预测的响应在语义上相似(例如,具有相似的意图),并且包括那些先前的响应。如果是这样,则响应建议模块54可以将在语义上类似于预测的响应的先前响应包括为个性化的候选响应。响应建议模块54可以用在候选响应的集合中的个性化的候选响应替换预测的响应,或者除了预测的响应之外还可以包括候选响应中的个性化的候选响应。
在确定候选响应之后,响应建议模块54可以将候选响应提供至应用模块10A。在图2的示例中,应用模块10A可以接收候选响应并将数据发送到UI模块6,以使UI设备4或输出组件44中的一个或多个显示候选响应的表示。计算设备2的用户可以查看所显示的响应并提供选择候选响应之一的输入,或输入定制响应。也就是说,UI模块6可以接收在UI设备4或任何输入组件42处执行的输入的指示,该输入选择表示候选响应的响应选项或输入定制响应。UI模块6可以将输入的指示提供到应用模块10A。应用模块10A可以接收选择响应的输入的指示,并且可以响应于接收到该指示而发送所选择的响应。例如,在图2的示例中,应用10A可以接收用于选择候选响应“Thank you!”的输入的指示,并且可以发送所选择的候选响应(例如,发送给接收到的通信的发送者)。
在一些示例中,个性化模型58和/或通信历史32可以不存储在存储设备50中,而是可以存储在外部计算设备上,使得个性化模型58可以在外部计算设备上执行。例如,如果计算设备2是诸如智能手表的可穿戴设备,则计算设备2可以与诸如智能电话的外部计算设备配对。在这种情况下,计算设备2可以经由外部计算设备发送和接收通信(例如,文本消息),使得外部计算设备可以将接收到的通信转发到计算设备2,并且可以将从计算设备2发送的消息转发到消息的预期接收者。
图3是示出了根据本公开的一个或多个技术的输出用于在远程设备处显示的图形内容的示例计算设备的框图。通常,图形内容可以包括可以输出以显示的任何视觉信息,例如,文本、图像、一组移动的图像等。图3所示的示例包括计算设备60、存在敏感显示器64、通信单元70、投影仪80、投影仪屏幕82、移动设备86和视觉显示设备90。虽然为了示例目的在图1和图2中显示为独立的计算设备2,但诸如计算设备60的计算设备通常可以是包括用于执行软件指令的处理器或其他合适的计算环境的任何组件或系统,并且例如不一定包括存在敏感显示器。
如图3的示例所示,计算设备60可以是包括结合图2中的处理器40所描述的功能的处理器。在这样的示例中,计算设备60可以通过通信信道62A操作地耦接到存在敏感显示器64,通信信道62A可以是系统总线或其他合适的连接。计算设备60还可以通过通信信道62B操作地耦接到下面进一步描述的通信单元70,通信信道62B也可以是系统总线或其他合适的连接。尽管在图3中作为示例单独地示出,但计算设备60可以通过任何数量的一个或多个通信信道操作地耦接到存在敏感显示器64和通信单元70。
在其他示例中,例如先前在图1-2中通过计算设备2所示出的,计算设备可以指便携设备或移动设备,例如,移动电话(包括智能电话)、膝上型计算机等。在一些示例中,计算设备可以是桌面型计算机、平板计算机、智能电视平台、相机、个人数字助理(PDA)、服务器、大型机等。
作为图2所示的输入组件42和/或输出组件44之一的存在敏感显示器64可以包括显示组件66和存在敏感输入组件68。显示组件66可以例如从计算设备60接收数据并显示图形内容。在一些示例中,存在敏感输入组件68可以使用电容、电感和/或光学识别技术来确定在存在敏感显示器64处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并使用通信信道62A向计算设备60发送这样的用户输入的指示。在一些示例中,存在敏感输入组件68可以物理地置于显示组件66的顶部,使得当用户将输入单元置于由显示组件66显示的图形元素上时,存在敏感输入组件68的位置对应于在该处显示图形元素的显示组件66的位置。在其他示例中,存在敏感输入组件68可以物理地置于远离显示组件66处,并且存在敏感输入组件68的位置可以对应于显示组件66的位置,使得可在存在敏感输入组件68处进行输入,以用于与显示在显示组件66的相应位置处显示的图形元素进行交互。
如图3所示,计算设备60还可以包括通信单元70和/或可以与通信单元70操作地耦接。通信单元70可以包括如图2所描述的通信单元46的功能。通信单元70的示例可以包括网络接口卡、以太网卡、光收发器、射频收发器或可发送和接收信息的任何其他类型的设备。这样的通信单元的其他示例可以包括蓝牙、3G、和Wi-Fi无线电、通用串行总线(USB)接口等。计算设备60还可以包括一个或多个其他设备和/或操作地与一个或多个其他设备耦接,例如,输入设备、输出设备、存储器、存储设备等,为了简洁和图示起见,图3中未示出这些设备。
图3还示出了投影仪80和投影仪屏幕82。投影设备的其他这样的示例可以包括电子白板、全息显示设备和用于显示图形内容的任何其它合适的设备。投影仪80和投影仪屏幕82可以包括使相应的设备能够与计算设备60通信的一个或多个通信单元。在一些示例中,所述一个或多个通信单元可以实现在投影仪80和投影仪屏幕82之间的通信。投影仪80可以从计算设备60接收包括图形内容的数据。响应于接收数据,投影仪80可以将图形内容投影到投影仪屏幕82上。在一些示例中,投影仪80可以使用光学识别或其他合适的技术在投影仪屏幕处确定一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并使用一个或多个通信单元将这样的用户输入的指示发送到计算设备60。在这样的示例中,可以不需要投影仪屏幕82,并且投影仪80可以在任何合适的介质上投影图形内容,并使用光学识别或其他这样的合适技术检测一个或多个用户输入。
在一些示例中,投影仪屏幕82可以包括存在敏感显示器84。存在敏感显示器84可以包括如本公开中所描述的UI设备4、输入组件42和/或输出组件44的功能的子集或所有功能。在一些示例中,存在敏感显示器84可以包括附加功能。投影仪屏幕82(例如,电子白板)可以从计算设备60接收数据并显示图形内容。在一些示例中,存在敏感显示器84可以使用电容、电感和/或光学识别技术来确定在投影仪屏幕82处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备60。
图3还示出了移动设备86和视觉显示设备90。移动设备86和视觉显示设备90可以每一个包括计算和连接能力。移动设备86的示例可以包括电子阅读器设备、可转换笔记本设备、混合板式设备等。视觉显示设备90的示例可以包括诸如电视机,计算机监视器等的其他半固定设备。如图3所示,移动设备86可以包括存在敏感显示器88。视觉显示设备90可以包括存在敏感显示器92。存在敏感显示器88、92可以包括如本公开中所描述的输入组件42和/或输出组件44的功能的子集或所有功能。在一些示例中,存在敏感显示器88、92可以包括附加功能。在任何情况下,存在敏感显示器92例如可以从计算设备60接收数据并显示图形内容。在一些示例中,存在敏感显示器92可以使用电容、电感和/或光学识别技术来确定在投影仪屏幕处的一个或多个用户输入(例如,连续手势、多点触摸手势、单点触摸手势等),并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备60。
如上所述,在一些示例中,计算设备60可以输出用于在存在敏感显示器64处显示的图形内容,存在敏感显示器64通过系统总线或其他合适的通信信道耦接到计算设备60。计算设备60还可以输出用于在诸如投影仪80、投影仪屏幕82、移动设备86和视觉显示设备90的一个或多个远程设备上显示的图形内容。例如,根据本公开的技术,计算设备60可以执行一个或多个指令来生成和/或修改图形内容。计算设备60可以将包括图形内容的数据输出到诸如通信单元70的计算设备60的通信单元。通信单元70可以将数据发送到诸如投影仪80、投影仪屏幕82、移动设备86和/或视觉显示设备90的远程设备中的一个或多个。以这种方式,计算设备60可以输出用于在远程设备中的一个或多个上显示的图形内容。在一些示例中,远程设备中的一个或多个可以在包括在相应远程设备中和/或操作地耦接到相应远程设备的存在敏感显示器处输出图形内容。
在一些示例中,计算设备60可能不会在操作地耦接到计算设备60的存在敏感显示器64处输出图形内容。在其他示例中,计算设备60可以输出用于在通过通信通道62A耦接到计算设备60的存在敏感显示器64和一个或多个远程设备两者处显示的图形内容。在这样的示例中,图形内容可以在每个相应的设备处基本上同时显示。例如,可以通过通信时延引入一些延迟以将包括图形内容的数据发送到远程设备。在一些示例中,由计算设备60生成并输出以在存在敏感显示器64处显示的图形内容可以不同于用于在一个或多个设备上显示的图形内容显示输出。
计算设备60可以使用任何合适的通信技术发送和接收数据。例如,计算设备60可以使用网络链路72A操作地耦接到外部网络74。图3所示的每个远程设备可以通过相应的网络链路72B、72C和72D中的一个操作地耦接到外部网络74。外部网络74可以包括网络集线器、网络交换机、网络路由器等,它们操作地互相耦接由此提供在计算设备60与图3所示的远程设备之间的信息交换。在一些示例中,网络链路72A-72D可以是以太网、ATM或其他网络连接。这样的连接可以是无线和/或有线连接。
在一些示例中,计算设备60可以使用直接设备通信78操作地耦接到包括在图3中的远程设备中的一个或多个。直接设备通信78可以包括计算设备60通过它使用有线或无线通信直接与远程设备发送和接收数据的通信。也就是说,在直接设备通信78的一些示例中,由计算设备60发送的数据在其在远程设备处被接收之前可能不被一个或多个附加设备转发,反之亦然。直接设备通信78的示例可以包括蓝牙、近场通信、通用串行总线、Wi-Fi、红外线等。图3所示远程设备中的一个或多个可以通过通信链路76A–76D与计算设备60操作地耦接。在一些示例中,通信链路76A-76D可以是使用蓝牙、近场通信、通用串行总线、红外线等的连接。这样的连接可以是无线和/或有线连接。
根据本公开的技术,计算设备60可以使用外部网络74操作地耦接到视觉显示设备90。计算设备60可以输出用于在存在敏感显示器92上显示的图形内容。例如,计算设备60可以向通信单元70发送包括用于应用模块10中的一个或多个的GUI的数据。通信单元70可以使用外部网络74将包括GUI的数据发送到视觉显示设备90。响应于使用外部网络74接收数据,视觉显示设备90可以使存在敏感显示器92输出GUI。响应于接收一个或多个用户输入,例如在存在敏感显示器92处(例如,在存在敏感显示器92的区域处)的手势,视觉显示设备90和其他输入组件42可以使用外部网络74将输入的指示发送到计算设备60。通信单元70可以接收输入的指示,并将指示发送到计算设备60。
在图3的示例中,计算设备60可以接收通信。计算设备60可以输出接收到的通信的指示(例如,用于显示)。例如,计算设备60可以向通信单元70发送用于接收到的通信的视觉表示的数据。通信单元70可以经由外部网络74将数据发送到视觉显示设备90。视觉显示设备90可以使存在敏感显示器92输出接收到的通信的视觉表示以供显示。
响应于接收用于响应于接收到的通信的用户输入(例如,在输入组件42之一处执行的输入)的指示,计算设备60(例如,通信响应模块12)可以确定一个或多个候选响应。计算设备60可以向通信单元70发送用于所述一个或多个候选响应中的至少一个的视觉表示的数据以供显示。
计算设备60可以接收从所述一个或多个候选响应中选择候选响应的输入,并且可以发送该候选响应(例如,响应于接收到的通信)。通信单元70可以经由外部网络74将数据发送到视觉显示设备90。视觉显示设备90可以使存在敏感显示器92输出视觉界面(例如,向用户)。
图4是示出了根据本公开的一个或多个技术的用于机器训练模型的示例技术的框图,计算设备2可以利用该模型来生成对接收到的通信的候选响应。如图4所示,系统100可以包括一个或多个计算设备,例如,一个或多个桌面型或服务器计算设备、计算设备的集群等,其执行机器学习以构建能够推断接收到的通信的一个或多个相关候选响应的分析模型。在一些示例中,系统100可以在计算设备2的外部。具体地,系统100可以执行学习模块110以通过分析训练数据104来学习哪些候选响应对于响应于消息可能是相关的,以生成响应建议模型56,响应建议模型56由计算设备2的响应建议模块54使用以推断与接收到的通信相关的一个或多个候选响应。
训练数据104可以包括聊天语料库106和场境108。聊天语料库106可以包括聊天和消息收发数据,例如,互联网消息的日志和抄本、SMS消息、互联网聊天、即时消息、社交媒体平台上的直接消息、聊天室消息、在线对话、接收到的通信-回复消息对等,使得聊天语料库106包含系统100可以用来训练响应建议模块54的各种消息和对那些消息的回复。
场境108可以是与聊天语料库106中包括的聊天和消息收发数据相关联的场境信息,其可用于确定对消息的可能候选响应。例如,场境108可以包括下列中的一项或多项:聊天语料库106中的消息的发送者和接收者的用户名、发送者和接收者之间的关系、发送者和接收者的位置、发送者和接收者发送和接收消息的时刻、消息的类型(例如,互联网聊天、文本消息、即时消息或其他类型)、发送者和接收者的职业、发送者和接收者参与的活动等。
如上所述,响应建议模型56旨在被包括在具有相对低的处理性能和相对较小的存储器的诸如计算设备2的移动计算设备中。因此,系统100可以执行各种技术以生成具有相对较低的处理和存储器要求的响应建议模型56。为此,系统100可以使用学习模块110对训练数据104执行机器学习,以基于随机预测模型(RPM)架构生成由响应建议模块54使用的响应建议模型56,使得由学习模块110执行的机器学习和对响应建议模型56的推断两者均基于RPM架构。
在一些示例中,训练数据104可以由特征向量来表示。特征向量可以是表示一些对象的数值特征的n维向量。在图4的示例中,聊天语料库106中的每个消息可以由包括从特定消息的内容(例如,单词、短语、推断的主题等)导出的一个或多个场境信号以及与包括在场境108中的消息相关联的场境信号的特征向量来表示。
特定消息的特征向量可以被表示为(ID,权重)对的集合。ID可以表示与该消息相关联的特定信号(例如,诸如“how are you”的具体短语)的唯一标识符。权重可以表示与特定信号相关联的频率或一些其它合适的权重。
系统100可以定义一个或多个变换函数F(x)102来将训练数据104的实例作为输入投影到不同空间ΩF,以使用学习模块110在空间ΩF中执行机器学习。RPM架构可以利用使用局部敏感散列(LSH)的修改版本的有效的随机化投影方法来定义一个或多个变换函数F(x)102。具体地,系统100可以应用所述一个或多个变换函数F(x)102来执行训练数据104向空间ΩF内的随机投影。在一些示例中,系统100可以执行机器学习以确定一个或多个变换函数F(x)102的最佳集合以优化其训练数据104的投影。
随机投影方法通常可以用来聚类文档或其他类型的数据以高效地计算具有高维度的数据点之间的相似性。就本文所公开的技术而言,由于在自然语言文本或非正式聊天语言中通常使用的大的单词词汇表,表示消息的特征向量可以表现出相对高的维度。本文所公开的技术使用所述一个或多个变换函数F(x)102来执行多个随机投影。系统100可以使用所述一个或多个变换函数F(x)102来执行随机投影,以将输入数据“x”(例如,对应于传入聊天消息的高维特征向量)高效地变换为低维表示。系统100还可以将投影的表示与和观察到的响应(来自训练数据104的种子示例,其在图4中示出为种子示例112)配对的原始消息“x”一起扩增,并且在该扩增的空间上进行联合学习以训练机器训练的模型(例如,响应建议模型56)。
如上所述,RPM架构可以利用使用局部敏感散列(LSH)的修改版本的有效的随机投影方法来定义所述一个或多个变换函数F(x)102。RPM架构可以利用基于LSH的随机投影方法,其可以在训练(例如,由系统100或在云上的其他地方)期间和在推理时间期间(例如,当在设备2上利用响应建议模型56时)在运行中高效地计算。在运行中计算函数在某些情况下对于在设备上推断(例如,在计算设备2上执行响应建议模型56)可能是重要的,因为电话或智能手表(例如,计算设备2)可能具有存储器约束,使得由于在该设备上的存储器约束,系统100可能不可以预先计算执行所述一个或多个变换函数F(x)102的投影可能所需的随机向量(其对于高维数据可能非常大)并且将预先计算的随机向量存储在计算设备2上的存储器中(例如,到存储设备50上)。
系统100可以执行一个或多个变换函数F(x)102以将训练数据104内的每个消息(例如,特征向量)投影并转换为表示为具有设定的位数的二进制(即,具有值1和0)位向量的散列签名。以这种方式,系统100将具有相对高的维度的输入变换为具有固定位数的位向量的低维表示。例如,系统100可以将每个消息散列化成具有相同位数(例如,8位)的位向量,使得消息“how are you?”可以在投影之后用散列签名01001010表示。在实践中,系统100可以对单个消息特征向量应用多次投影,使得每个消息特征向量“x”用多个散列签名来表示,所有这些散列签名都可以在训练期间在学习模块110中被添加和链接到消息特征向量“x”。
因此,本文所公开的技术可以实现随机投影方法的高效的运行中计算,从而使移动计算设备能够计算随机向量,由此避免了移动计算设备存储预先计算的随机向量。因此,本文所公开的技术可以使得移动计算设备能够执行设备上的机器训练的模型以推断接收的通信的候选响应,而不需要使用设备外模型。
系统100可以执行学习模块110以对训练数据104进行训练,训练数据104具有由一个或多个变换函数F(x)102在空间ΩF中变换的降低维度的特征,以构建响应建议模型56,该模型可以对消息(例如,接收到的通信)的响应进行评分,并找到指定数量的最高评分的响应。
在一个示例中,通过利用基于图的建模框架,并且在图的节点上执行标签传播以训练模型权重θF,系统100可以对训练数据104执行半监督机器学习以生成响应建议模型56。在对训练数据104执行机器学习过程中,系统100可以构建图114,在该图中,数据由节点和应用于节点的标签表示,并且相关节点由边链接。边可以具有相关联的边权重,其由关于链接的节点的相似性函数定义,并且指示连接的节点的标签应该一致的程度。系统100可以通过使用与每个标记的种子节点相关联的类标签信息并且在该图上迭代地传播这些标签来在图114的节点上执行标签传播。在某些情况下,这种用于机器学习的技术可以被称为基于扩展图的机器学习框架。
在图114中,与传入消息“x”相关联的消息节点可以经由边连接到与对该消息的响应相关联的响应节点。此外,图114还可以包括表示消息的投影散列签名F(x)的投影的节点,并且可以经由边将这些投影的节点链接到与对应的消息“x”相关联的消息节点。系统100可以至少部分地基于从响应中提取词汇特征来导出与响应节点相关联的响应的语义意图,用对应的语义意图来标记响应,并且可以执行标签传播以将相关语义意图与通过图114对消息节点的实际响应一起迭代地传播,并且散列化响应节点,以学习表示相应的投影散列签名的每个投影的节点的预测的响应和对应权重(例如,置信度分数)的排序列表。以这种方式,学习模块110可以将消息与响应和对应的权重相关联,其中权重可以指示相关联的响应与特定消息的相关性。
此外,通过导出与响应节点相关联的响应的语义意图,系统100可以确定将具有相同的语义意图的响应聚类成语义聚类。例如,属于相同语义聚类的每个响应可以用指示其在语义聚类中的成员资格的相同标签进行标记。
由于图114将消息节点和与消息的散列签名相关联的投影的节点连接,图114中的每个投影的节点可以用预测的响应和权重的相同排序列表标记为对应的消息节点。这可以使得系统100能够生成相对轻量的响应建议模型56,该模型可以包括用响应和对应权重标记的投影的节点的集合以及指示每个响应所属于的一个或多个语义聚类的语义聚类标签,这可能适用于诸如移动电话和智能手表的移动计算设备。
此外,系统100可以在针对投影的节点学习的响应上应用附加归一化技术以减小经常出现的响应(例如,“thanks”)的权重。投影散列签名(例如,低维表示中的位向量)连同响应标签和权重一起形成响应建议模型56,计算设备2可以利用该模型来推断接收到的通信的候选响应。
图5是示出了根据本公开的一个或多个技术的用于使用设备上的机器训练的模型来生成对接收到的通信的候选响应的示例技术的框图。如图5所示,在计算设备2上执行的响应建议模块54可以包括根据结合图4描述的技术机器训练的响应建议模型56。
计算设备2可以接收并安装响应建议模块54。安装在计算设备2上的响应建议模块54可以是:散列签名(例如,位向量)的集合;与散列签名相关联的投影的节点的集合;响应标签的集合,其指示与每一个投影的节点相关联的预测的响应的排序列表;与每个预测的节点相关联的权重,其指示预测的响应与投影的节点的相关性;以及与预测的响应的集合相关联的语义聚类标签,其指示每个预测的响应所属于的所述一个或多个语义聚类。散列签名、响应标签、权重和语义聚类标签的指示可以存储为结构或非结构化数据,例如,数据库表、逗号分隔值、可扩展标记语言(XML)文件、查找表等。
当计算设备2接收通信时,计算设备2可以利用响应建议模块54来生成对接收到的通信的一个或多个候选响应。响应于接收到计算设备2可以为其生成响应的通信,响应建议模块54可以使用与在响应建议模型56的训练时间期间使用的相同的一个或多个变换函数F(x)102将接收到的通信在运行中投影到散列签名(例如,低维表示中的位向量)。计算设备2可以将响应和对应于与散列签名相关联的投影的节点的响应的权重聚合并排序,以产生与预测的响应的相关联的权重相关的接收到的通信的预测的响应的排序列表。例如,计算设备2可以将权重最大的预测的响应(例如,具有最大对应权重的前3个响应)指定为计算设备2可以向用户提供以供选择的接收到的通信的候选响应。
在一些示例中,响应建议模型56还可以至少部分地基于候选响应的语义意义来呈现附加的候选响应。例如,如果“Yes,that works!”被包括在预测的响应的示例排序列表中,则响应建议模型56还可以基于针对预测的响应推断的语义意图来确定并建议共享相同或类似的语义意义的其他相关但不同的响应,例如“Sounds good,”。响应建议模型56可以至少部分地基于与响应相关联的语义聚类标签来推断这样的语义意图,使得如果它们每一个具有相同的语义聚类标签,那么响应建议模型56可以确定响应在语义上相关。
在一些示例中,计算设备2可以利用基于多样性的排序来避免属于相同语义聚类的重复响应。例如,预测的响应“Thanks!”和“Thank you”可能都属于同一个感谢语义聚类。在这种情况下,如果“Thanks!”和“Thank you”都包括在最高排序的预测的响应集合中,这可以至少部分地基于与响应相关联的权重来确定,计算设备2可以惩罚两个响应中的一个的分数,使得两个预测的响应中只有一个包括在计算设备2提供给用户进行选择的候选响应集合中。
更正式地,对于接收到的对话,计算设备2可以如上所述根据响应建议模块54生成响应候选预测Rpredicted(即,预测的响应),基于预测分数θi以递减顺序对响应建议ri∈Rpredicted进行排序,并滤除其中θi小于模型阈值θthreshold的响应建议。对于使用响应建议模块54预测的剩余候选响应,计算设备2可以应用上面讨论的基于多样性的排序,以基于排序响应Cluster(ri)的语义聚类来滤除候选响应,使得仅在呈现给用户的候选响应集合中包括来自特定语义聚类的单个预测的响应。
因此,响应建议模块54可以使用一个或多个变换函数F(x)102将接收到的通信在运行中随机投影到散列签名中。响应建议模块54可以确定与散列签名相关联的投影的节点,并确定与投影的节点相关联的预测的响应集合。对于与投影的节点相关联的预测的响应的集合,响应建议模块54可以滤除具有低于阈值的相关联的权重的响应。对于剩余的响应,响应建议模块54可以应用基于多样性的排序。例如,响应建议模块54可以基于与剩余的预测的响应相关联的语义聚类标签来确定预测的响应中的两个或更多个是否具有相同的语义聚类标签,并且因此处于相同的语义聚类中。如果是这样,则响应建议模块54可以基于它们相关联的权重对这些预测的响应进行排序,并惩罚排序较低的预测的响应,使得语义聚类中仅一个预测的响应被包括在呈现给用户的候选响应集合中。
在一些示例中,计算设备2可以在提供给用户进行选择的候选响应集合中包括默认候选响应建议。计算设备2可以通过基于聊天数据中的频率从流行语义聚类中选择响应来创建默认候选响应Rdefault的集合。计算设备2可以将默认候选响应Rdefault的集合中的每个候选响应的预测分数计算为score=λbackoff*(Rankmax–Rankcurrent),其中λbackoff可以是默认值(例如,1e-6),Rankmax可以被设置为取决于计算设备2呈现给用户多少候选响应的值(例如,3),并且Rankcurrent可以是默认候选响应集合内的特定候选响应的排序。可以将默认候选响应Rdefault的集合中的候选响应的分数与响应候选预测Rpredicted的分数进行比较,并且可以至少部分地基于其相对于候选响应集合的分数的分数而将一个或多个默认候选响应包括在呈现给用户的候选响应集合中。
在一些示例中,计算设备2可以使用相关的聚类模型来包括来自与在根据响应建议模块54生成的响应候选预测Rpredicted的集合内的最高的候选响应的语义聚类相关的语义聚类的候选响应。如果预测的响应属于两个语义聚类,则两个语义聚类可能相关。
例如,计算设备2可以选择最高的候选响应ri∈Rpredicted,并且可以执行响应ri的语义聚类Ci的查找。当生成响应建议模块54时,可以由系统100学习和生成这样的语义聚类分配。计算设备2可以从层级关联采样相关的聚类:Cj∈相关的Cluster(Ci)。计算设备2可以采样响应:rj∈Cj,为这些响应中的每一个生成分数:并且利用响应候选预测ri∈Rpredicted的集合对响应rj排序。
在一些示例中,计算设备2可以对从响应建议模块54生成的候选响应执行进一步处理和/或过滤。例如,计算设备2可以从候选响应中过滤诸如具有拖尾或畸形标点的响应的不良响应建议。
在一些示例中,由于计算设备2的处理和存储器约束,计算设备2可以仅加载响应建议模型56的一部分(例如,小于全部),以生成对接收到的通信的候选响应。例如,计算设备2可以基于频繁访问模式或至少部分地基于响应建议模型56可以为其推断一个或多个候选响应的接收到的通信来加载或寻呼响应建议模型56的存储器受限部分(例如,小于全部)。因此,计算设备2可能能够加载响应建议模型56的相对较小的块(例如,4千字节的块),而不是将整个响应建议模型56加载到存储器中。在各种示例中,由于响应建议模型56是只读模型,该模型可以很容易被寻呼出存储器。因此,作为只读模型的响应建议模型56可以提供能够在具有有限量的存储器的设备(例如,计算设备2)中使用的潜在技术优点。
在一些示例中,本文讨论的技术可以进一步扩展,使得用于模型的机器学习和训练的这样的技术可以在移动设备(例如,计算设备2)上执行以用于各种用途,诸如基于关于响应的语气、风格、正式度等的用户偏好个性化的候选响应和建议的候选响应。根据本公开的一些方面,响应建议模块54可以通过生成个性化的候选响应并且在呈现给用户的候选响应中包括这样的个性化的候选响应来个性化呈现给用户的候选响应。
响应建议模块54可以为接收到的通信所预期的计算设备2的用户个性化候选响应。为了个性化候选响应,响应建议模块54可以生成更紧密地匹配用户的写作风格、语气、正式度、单词和短语的使用、标点风格等的个性化的候选响应。响应建议模块54可以在呈现给用户的候选响应的集合中包括这样的个性化的候选响应。
响应建议模块54可以至少部分地基于接收到的通信所预期的计算设备2的用户的通信历史32来生成个性化的候选响应。用户的通信历史32可以包括由用户接收的消息和由用户发送的先前的响应。这样的接收的消息和发送的响应可以包括以前由用户发送和/或接收的文本消息、SMS消息、电子邮件、社交媒体帖子等。响应建议模块54可以仅在被用户明确授权访问以访问用户的通信历史32之后至少部分地基于计算设备2的用户的通信历史32生成这样的个性化的候选响应,并且用户可能能够在任何时间撤销对通信历史32的访问。
通信历史32可以存储在计算设备2中,或者可以存储在外部计算设备中。例如,如果计算设备2是诸如与智能电话配对的智能手表的可穿戴设备,则通信历史32可以存储在智能电话中。在这些示例中,计算设备2可以存储通信历史32的子集,例如,由用户发送的100个最近的响应的指示、用户先前选择的候选响应的指示等。因此,在一些示例中,为了生成个性化的候选响应,计算设备2可以与外部计算设备通信以访问存储在其中的通信历史32。
在一些示例中,响应建议模块54可能能够结合本文公开的用于生成候选响应的技术来生成个性化的候选响应。换句话说,响应建议模块54可以使用变换函数F(x)102将接收到的通信在运行中投影到散列签名中。响应建议模块54可以确定与散列签名相关联的响应建议模型56中的投影的节点以及与投影的节点相关联的预测的响应的排序的集合。响应建议模块54可以至少部分地基于与投影的节点相关联的预测的响应的排序集合来生成一个或多个个性化的候选响应,并且可以在呈现给用户的候选响应集合中包括所述一个或多个个性化的候选响应。
在其他示例中,响应建议模块54可能能够生成个性化的候选响应,而不用也执行本文公开的用于生成候选响应的技术。在该示例中,响应建议模块54可以在使用或不使用响应建议模型56的情况下经由任何合适的技术来确定用于响应接收到的通信的预测的响应的集合。例如,响应建议模块54可以使用的确在计算设备2之外发送所接收到的通信的模型来确定预测的响应的集合。响应建议模块54可以至少部分地基于用于响应于接收到的通信的预测的响应的集合来生成一个或多个个性化的候选响应,并且可以在呈现给用户的候选响应的集合中包括一个或多个个性化的候选响应。
响应建议模块54可以通过使用个性化模型58基于通信历史32生成一个或多个个性化的响应消息。个性化模型58可以确定存储在通信历史32中的由用户先前发送的每个响应所属的语义聚类,并且可以存储先前发送的响应-语义聚类关联的指示。因此,个性化模型58可以是先前发送的响应与语义聚类的映射。因此,个性化模型58可以接收语义聚类的指示,并且可以作为响应而输出属于所指示的语义聚类的由用户先前发送的一个或多个响应的指示。在一些示例中,个性化模型58可以确定存储在通信历史32中的用户发送的响应的子集(少于全部)所属的语义聚类,例如,最近发送的一千个响应。
个性化模型58可以以任何合适的方式确定先前发送的响应所属的语义聚类。在一个示例中,由于响应建议模型56包含每一个属于语义模型的多个响应,如果先前发送的响应与响应建议模型56中的响应匹配,则先前发送的响应可以与和响应建议模型56中的响应所属的语义聚类相同的语义聚类相关联。
或者,个性化模型58可以导出存储在通信历史32中的用户先前发送的响应的语义意图,以确定先前发送的响应所属的语义聚类。个性化模型58可以通过从先前发送的响应提取词汇特征或经由任何合适的技术来确定这种语义意图。
在另一示例中,个性化模型58可以经由从散列签名预测语义聚类的机器训练的模型来确定先前发送的响应到语义聚类的映射。
在另一示例中,个性化模型58可以通过基于散列签名计算相似度来确定先前发送的响应到语义聚类的映射。
为了生成一个或多个个性化的响应消息,响应建议模块54可以选择由用户先前发送的存储在通信历史32中的一个或多个响应作为一个或多个个性化的响应消息。响应建议模块54可以至少部分地基于用于预测接收到的通信的预测的响应集合所属的语义聚类以及所述一个或多个先前发送的响应所属的语义聚类来选择存储在通信历史32中的所述一个或多个先前的响应。
对于预测的响应集合所属的所述一个或多个语义聚类中的每个语义聚类,响应建议模块54可以将相应语义聚类的指示发送到个性化模型58,并且作为响应,可以从个性化模型58接收属于该语义聚类的由用户发送的一个或多个先前的响应的指示。响应建议模块54可以在所述一个或多个个性化的候选响应中包括由用户发送的所述一个或多个先前的响应。
在一些示例中,仅当该先前响应匹配属于语义聚类的响应建议模型56的响应空间中的一个响应时,响应建议模块54才可以包括作为个性化的候选响应的由用户发送的先前响应。响应建议模型56的响应空间可以包括与投影的节点中的一个或多个相关联的响应建议模型56中的所有预测的响应。例如,属于告别语义聚类的响应建议模型56的响应空间中的响应可以包括响应“goodbye”、“see you later”和“adios”,因为它们每一个是与响应建议模型56中的一个或多个投影的节点相关联的预测的响应的排序列表中的一个或多个中的预测的响应。
例如,对于属于包括响应建议模型56的响应空间中的响应“goodbye”、“see youlater”和“adios”的告别语义聚类的“goodbye”的预测的响应,响应建议模块54可以使用个性化模型58确定由用户发送的先前响应是否与属于告别语义聚类的响应建议模型56的响应空间中的响应“goodbye”、“see you later”和“adios”中的一个匹配。
如果它们包括相同的单词和/或短语,如果它们包括相同的一组表情符号,如果它们包括相同的图像等等,则响应可以匹配另一个响应。如果响应建议模块54使用个性化模型58确定由用户发送的先前响应属于相同的告别语义聚类,并且该先前响应与属于告别语义聚类的响应建议模型56的响应空间中的的一个响应相匹配,则响应建议模块54可以将语义聚类中的该先前发送的响应包括为个性化的候选响应。例如,如果用户先前发送了“seeyou later”的响应消息,则响应建议模块54可以将消息“see you later”包括为个性化的候选响应。
在一些示例中,如果先前响应属于和与投影的节点相关联的预测的响应的排序列表中的预测的响应相同的语义聚类,则响应建议模块54可以将由用户发送的该先前响应包括为个性化的候选响应。这样的先前响应可被包括为个性化的候选响应,而不论该先前响应是否匹配属于语义聚类的响应建议模型56的响应空间中的响应之一。
例如,对于属于包括响应建议模型56的响应空间中的响应“goodbye”、“see youlater”和“adios”的告别语义聚类的“goodbye”的预测的响应,响应建议模块54可以使用个性化模型58来确定由用户发送的先前响应是否也属于告别语义聚类。如果响应建议模块54使用个性化模型58确定先前响应“see ya!”属于告别语义聚类,则响应建议模块54可以将消息“see ya!”包括为个性化的候选响应,即使消息“see ya!”的消息与“goodbye”、“seeyou later”和“adios”中的任一个都不匹配。
在一些示例中,由用户发送的多于一个先前响应可以映射到相同的语义聚类。在这种情况下,个性化模型58可以仅返回映射到语义聚类的单个先前响应。例如,个性化模型58可以返回映射到相同语义聚类的先前响应中的最常发送的先前响应。或者,个性化模型58可以返回映射到相同语义聚类的先前响应中的最近发送的先前响应。个性化模型58还可以使用任何其他合适的替代技术或标准来选择映射到相同语义聚类的多个先前响应中的先前响应。
将先前发送的响应包括为个性化的候选响应可以包括将先前发送的响应添加到对接收到的通信的预测的响应的排序列表中。例如,如果用户先前发送了“see you later”的响应消息,则响应建议模块54可以在预测的响应的排序列表中包括消息“see youlater”。在一些示例中,先前发送的响应可以替换属于与该先前发送的响应相同的语义聚类的预测的响应的排序列表中的其他预测的响应。因此,如果响应建议模块54确定仅包括来自预测的响应的排序列表中的语义聚类的一个响应,则“see you later”的响应消息可以替换先前包括在预测的响应的排序列表中的响应消息“goodbye”。
响应建议模块54可以为先前发送的响应赋予相对较高的权重或排序,以增加该先前发送的响应被包括为呈现给用户的所述一个或多个候选响应之一的概率。在一些示例中,响应建议模块54可以始终确保添加到预测的响应的排序列表中的先前发送的响应被包括在呈现给用户的所述一个或多个候选响应中。以这种方式,响应建议模块54可以将一个或多个个性化的候选响应包括在呈现给用户的所述一个或多个候选响应中。
图6是示出了根据本公开的一个或多个技术的用于利用设备上的机器训练的模型来生成响应于接收到的通信的候选响应的计算设备的示例操作的流程图。仅为了说明的目的,下面在图1-5的上下文中描述图6的示例操作。
在图6的示例中,计算设备2的至少一个处理器可以接收(200)从外部计算设备发送的通信。所述至少一个处理器可以使用在计算设备2上执行的设备上机器训练的模型56至少部分地基于该通信来确定(202)对接收到的通信的一个或多个候选响应。所述至少一个处理器可以接收(204)从所述一个或多个候选响应中选择候选响应的用户输入的指示。响应于接收到选择候选响应的用户输入的指示,所述至少一个处理器可以将候选响应发送(206)到发送该通信的外部计算设备。
在一些示例中,设备上机器训练的模型56包括多个投影的节点的指示,其中所述多个投影的节点中的每一个与预测的响应的排序列表相关联。在一些示例中,使用设备上机器训练的模型56并且至少部分地基于通信来确定对该通信的所述一个或多个候选响应还包括:由所述至少一个处理器使用随机投影函数102将接收到的通信在运行中投影到散列签名中;由所述至少一个处理器确定来自所述多个投影的节点的与该散列签名相关联的投影的节点;以及由所述至少一个处理器从预测的响应的排序列表中确定对该通信的所述一个或多个候选响应。在一些示例中,在外部计算系统100上经由半监督机器学习来训练设备上机器训练的模型56,以将所述多个投影的节点与预测的响应的相应的排序列表相关联。
在一些示例中,所述至少一个处理器可以至少部分地基于计算设备的用户的通信历史32来确定一个或多个个性化的候选响应,其中用户是通信的预期接收者,并且可以将所述一个或多个个性化的候选响应包括在所述一个或多个候选响应中。在一些示例中,确定所述一个或多个个性化的候选响应还可以包括所述至少一个处理器使用设备上机器训练的模型56并且至少部分地基于所述通信来确定对所述通信的预测的响应的排序列表,其中所述一个或多个候选响应选自响应的排序列表,并且响应于确定用户的通信历史32包括由用户发送的属于与预测的响应相同的语义聚类的先前响应,所述至少一个处理器可以将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中。在一些示例中,将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中还响应于所述至少一个处理器确定先前响应匹配在属于语义聚类的设备上机器训练的模型56的响应空间中的多个预测的响应中的一个。
以下编号的示例可以示出本公开的一个或多个方面。
示例1。一种方法,包括:由计算设备的至少一个处理器接收从外部计算设备发送的通信;由所述至少一个处理器使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应;由所述至少一个处理器接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;以及响应于接收到选择候选响应的用户输入的指示,由所述至少一个处理器向外部计算设备发送所述候选响应。
示例2。示例1的方法,其中:设备上机器训练的模型包括多个投影的节点的指示,其中所述多个投影的节点中的每一个与预测的响应的排序列表相关联。
示例3。示例2的方法,其中,使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的所述一个或多个候选响应还包括:由所述至少一个处理器使用随机投影函数将接收到的通信在运行中投影到散列签名中;由所述至少一个处理器确定来自所述多个投影的节点的与所述散列签名相关联的投影的节点;以及由所述至少一个处理器从预测的响应的排序列表中确定对所述通信的所述一个或多个候选响应。
示例4。示例1-3中的任一项的方法,其中,设备上机器训练的模型在外部计算系统上经由半监督机器学习来训练,以将所述多个投影的节点与预测的响应的相应的排序列表相关联。
示例5。示例1-4中的任一项的方法,还包括:由所述至少一个处理器至少部分地基于计算设备的用户的通信历史来确定一个或多个个性化的候选响应,其中所述用户是所述通信的预期接收者;以及由所述至少一个处理器将所述一个或多个个性化的候选响应包括在所述一个或多个候选响应中。
示例6。示例5的方法,其中,确定所述一个或多个个性化的候选响应还包括:由所述至少一个处理器使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的预测的响应的排序列表,其中所述一个或多个候选响应选自响应的排序列表;以及响应于确定用户的通信历史包括由所述用户发送的属于与预测的响应相同的语义聚类的先前响应,由所述至少一个处理器将由所述用户发送的先前响应包括在所述一个或多个个性化的候选响应中。
示例7。示例6的方法,其中,将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中还响应于确定所述先前响应匹配属于该语义聚类的在设备上机器训练的模型的响应空间中的多个预测的响应中的一个。
示例8。一种计算设备,包括:存储器,其被配置为存储设备上机器训练的模型;至少一个处理器,其操作地耦接到所述存储器并且被配置为:接收从外部计算设备发送的通信;使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应;接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;并且响应于接收到选择候选响应的用户输入的指示,将所述候选响应发送到外部计算设备。
示例9。示例8的计算设备,其中:设备上机器训练的模型包括多个投影的节点的指示,其中所述多个投影的节点中的每一个与预测的响应的排序列表相关联。
示例10。示例9的计算设备,其中,所述至少一个处理器还被配置为:使用随机投影函数将接收到的通信在运行中投影到散列签名中;确定与来自所述多个投影的节点的散列签名相关联的投影的节点;并且从预测的响应的排序列表中确定对所述通信的所述一个或多个候选响应。
示例11。示例8-10中的任一项的计算设备,其中,设备上机器训练的模型在外部计算系统上经由半监督机器学习来训练,以将所述多个投影的节点与预测的响应的相应的排序列表相关联。
示例12。示例8-11中的任一项的计算设备,其中,所述至少一个处理器还被配置为:至少部分地基于所述计算设备的用户的通信历史来确定一个或多个个性化的候选响应,其中所述用户是所述通信的预期接收者;并且将所述一个或多个个性化的候选响应包括在所述一个或多个候选响应中。
示例13。示例12的计算设备,其中,所述至少一个处理器还被配置为:使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的预测的响应的排序列表,其中,所述一个或多个候选响应选自响应的排序列表;并且响应于确定用户的通信历史包括由用户发送的属于与预测的响应相同的语义聚类的先前响应,将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中。
示例14。示例13的计算设备,其中,所述至少一个处理器还被配置为:进一步响应于确定所述先前响应与属于所述语义聚类的设备上机器训练的模型的响应空间中的多个预测的响应中的一个匹配,将由用户发送的先前响应包括在一个或多个个性化的候选响应中。
示例15。一种用指令编码的计算机可读存储介质,所述指令在被执行时使得计算设备的至少一个处理器:接收从外部计算设备发送的通信;使用设备上的机器训练的模型并且至少部分地基于所述通信来确定对所述通信的一个或多个候选响应;接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;并且响应于接收到选择候选响应的用户输入的指示,将所述候选响应发送到外部计算设备。
示例16。示例15的计算机可读存储介质,其中:设备上机器训练的模型包括多个投影的节点的指示,其中所述多个投影的节点中的每一个与预测的响应的排序列表相关联。
示例17。示例16的计算机可读存储介质,其中,所述指令在被执行时进一步使计算设备的所述至少一个处理器:使用随机投影函数将接收到的通信在运行中投影到散列签名中;确定与来自所述多个投影的节点的散列签名相关联的投影的节点;并且从预测的响应的排序列表中确定对所述通信的所述一个或多个候选响应。
示例18。示例15-17中的任一项的计算机可读存储介质,其中,设备上机器训练的模型在外部计算系统上经由半监督机器学习来训练,以将所述多个投影的节点与预测的响应的相应的排序列表相关联。
示例19。示例15-18中的任一项的计算机可读存储介质,其中,所述指令在被执行时进一步使计算设备的所述至少一个处理器:至少部分地基于计算设备的用户的通信历史来确定一个或多个个性化的候选响应,其中所述用户是所述通信的预期接收者;并且将所述一个或多个个性化的候选响应包括在所述一个或多个候选响应中。
示例20。示例19的计算机可读存储介质,其中,所述指令在被执行时进一步使计算设备的所述至少一个处理器:使用设备上机器训练的模型并且至少部分地基于所述通信来确定对所述通信的预测的响应的排序列表,其中,所述一个或多个候选响应选自响应的排序列表;并且响应于确定用户的通信历史包括由用户发送的属于与预测的响应相同的语义聚类的先前响应,将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中。
示例21。一种计算系统,包括用于执行示例1-7中任一项的方法的装置。
示例22。一种存储指令的计算机可读存储介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行示例1-7中任一项的方法。
示例23。一种方法,包括:由计算设备的至少一个处理器接收从外部计算设备发送的通信;由所述至少一个处理器至少部分地基于所述通信,确定包括一个或多个个性化的候选响应的对所述通信的一个或多个候选响应,包括至少部分地基于计算设备的用户的通信历史来确定所述一个或多个个性化的候选响应,其中,所述用户是所述通信的预期接收者;以及由所述至少一个处理器接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;以及响应于接收到选择候选响应的用户输入的指示,由所述至少一个处理器向外部计算设备发送所述候选响应。
示例24。示例23的方法,其中,确定所述一个或多个个性化的候选响应还包括:由所述至少一个处理器并且至少部分地基于所述通信来确定对所述通信的预测的响应的排序列表,其中所述一个或多个候选响应选自响应的排序列表中;以及响应于确定用户的通信历史包括由所述用户发送的属于与预测的响应相同的语义聚类的先前响应,由所述至少一个处理器将由所述用户发送的先前响应包括在所述一个或多个个性化的候选响应中。
示例25。示例24的方法,其中,将由用户发送的先前响应包括在所述一个或多个个性化的候选响应中还响应于确定所述先前响应匹配属于语义聚类的在响应空间中的多个预测的响应中的一个。
示例26。一种计算系统,包括用于执行示例23-25中任一项的方法的装置。
示例27。一种存储指令的计算机可读存储介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行示例23-25中任一项的方法。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或在计算机可读介质上传输并且由基于硬件的处理单元执行。计算机可读介质可以包括:计算机可读存储介质,其对应于诸如数据存储介质的有形介质;或通信介质,其包括有利于将计算机程序例如根据通信协议从一个地方传送到另一个地方的任何介质。这样,计算机可读介质通常可以对应于:(1)有形的计算机可读存储介质,其为非暂时的;或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读存储介质。
作为示例而非限制,这样的计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、闪速存储器,或可用于以指令或数据结构的形式存储所需的程序代码并且可由计算机访问的任何其他介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL),或诸如红外线、无线电和微波的无线技术从网站、服务器或其他远程源发送指令,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术都包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,而是涉及非瞬态有形存储介质。如本文所使用的磁盘和盘包括紧致盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”可以指适于实现本文所述技术的任何前述结构或任何其它结构。此外,在一些方面,本文描述的功能可以在专用硬件和/或软件模块内提供。另外,这些技术可在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在各种各样的设备或装置中实现,包括无线手机、集成电路(IC)或IC集(例如,芯片集)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同硬件单元实现。相反,如上所述,各种单元可以组合在硬件单元中,或者由包括如上所述的一个或多个处理器的合作的硬件单元的集合结合合适的软件和/或固件来提供。
已经描述了各种示例。这些和其它示例在所附权利要求的范围内。
Claims (10)
1.一种计算机实现的方法,包括:
由计算设备的至少一个处理器,接收从外部计算设备发送的通信;
由所述至少一个处理器,使用设备上机器训练的模型,并且至少部分地基于所述通信,确定对所述通信的一个或多个候选响应;
由所述至少一个处理器,接收从所述一个或多个候选响应中选择候选响应的用户输入的指示;以及
响应于接收到选择所述候选响应的所述用户输入的所述指示,由所述至少一个处理器,向所述外部计算设备发送所述候选响应。
2.根据权利要求1所述的方法,其中:
所述设备上机器训练的模型包括多个投影的节点的指示,其中,所述多个投影的节点中的每一个与预测的响应的排序列表相关联。
3.根据权利要求2所述的方法,其中,确定对所述通信的所述一个或多个候选响应还包括:
由所述至少一个处理器,使用随机投影函数,将所接收的通信投影到散列签名中;
由所述至少一个处理器,确定与来自所述多个投影的节点的所述散列签名相关联的投影的节点;以及
由所述至少一个处理器,从预测的响应的所述排序列表中确定与所确定的投影的节点相关联的对所述通信的所述一个或多个候选响应。
4.根据权利要求2所述的方法,其中,所述设备上机器训练的模型在外部计算系统上经由半监督机器学习来训练,以将所述多个投影的节点与预测的响应的相应的排序列表相关联。
5.根据权利要求1所述的方法,还包括:
由所述至少一个处理器,至少部分地基于所述计算设备的用户的通信历史,确定一个或多个个性化的候选响应,其中,所述用户是所述通信的预期接收者;以及
由所述至少一个处理器,将所述一个或多个个性化的候选响应包括在所述一个或多个候选响应中。
6.根据权利要求5所述的方法,其中,确定所述一个或多个个性化响应还包括:
由所述至少一个处理器,使用所述设备上机器训练的模型并且至少部分地基于所述通信,确定对所述通信的预测的响应的排序列表,其中,所述一个或多个候选响应选自响应的所述排序列表;
响应于确定所述用户的所述通信历史包括属于与预测的响应相同的语义聚类的由所述用户发送的先前响应,由所述至少一个处理器,将由所述用户发送的所述先前响应包括在所述一个或多个个性化的候选响应中。
7.根据权利要求6所述的方法,其中,将由所述用户发送的所述先前响应包括在所述一个或多个个性化的候选响应中还响应于确定所述先前响应匹配属于所述语义聚类的在所述设备上机器训练的模型的响应空间中的多个预测的响应中的一个。
8.一种计算设备,包括:
计算机可读存储介质,所述计算机可读存储介质被配置为存储设备上机器训练的模型;以及
至少一个处理器,所述至少一个处理器操作地耦接到所述计算机可读存储介质并且被配置为执行根据权利要求1-7所述的方法中的任一种。
9.一种用指令编码的计算机可读存储介质,所述指令在执行时使得计算设备的至少一个处理器执行根据权利要求1-7所述的方法中的任一种。
10.一种系统,包括用于执行根据权利要求1-7所述的方法中的任一种的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662399002P | 2016-09-23 | 2016-09-23 | |
US62/399,002 | 2016-09-23 | ||
US15/686,954 US10846618B2 (en) | 2016-09-23 | 2017-08-25 | Smart replies using an on-device model |
US15/686,954 | 2017-08-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107870974A true CN107870974A (zh) | 2018-04-03 |
CN107870974B CN107870974B (zh) | 2021-08-06 |
Family
ID=60037706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710865117.XA Active CN107870974B (zh) | 2016-09-23 | 2017-09-22 | 使用设备上模型的智能回复 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10846618B2 (zh) |
JP (1) | JP6850877B2 (zh) |
KR (1) | KR102182606B1 (zh) |
CN (1) | CN107870974B (zh) |
DE (2) | DE102017121712A1 (zh) |
GB (1) | GB2556671A (zh) |
WO (1) | WO2018057890A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109121125A (zh) * | 2018-07-25 | 2019-01-01 | Oppo广东移动通信有限公司 | 基于邻近感知网络nan的ai助理交互方法及相关产品 |
CN110781286A (zh) * | 2018-07-31 | 2020-02-11 | 微软技术许可有限责任公司 | 用于生成推荐消息的序列到序列的分类模型 |
CN111191790A (zh) * | 2018-10-29 | 2020-05-22 | 华为技术有限公司 | 量子比特控制装置 |
CN111565143A (zh) * | 2019-06-28 | 2020-08-21 | 上海掌门科技有限公司 | 即时通信方法、设备及计算机可读存储介质 |
CN112352401A (zh) * | 2018-06-27 | 2021-02-09 | 微软技术许可有限责任公司 | 生成涉及图像文件的智能回复 |
CN112368693A (zh) * | 2018-06-27 | 2021-02-12 | 微软技术许可有限责任公司 | 使用同义词谱系生成多样化的智能回复 |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
CN113470641B (zh) | 2013-02-07 | 2023-12-15 | 苹果公司 | 数字助理的语音触发器 |
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 |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR101772152B1 (ko) | 2013-06-09 | 2017-08-28 | 애플 인크. | 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스 |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
US9213941B2 (en) | 2014-04-22 | 2015-12-15 | Google Inc. | Automatic actions based on contextual replies |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
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 |
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 |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal 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 |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
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 |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
CN106415527B (zh) * | 2016-08-31 | 2019-07-30 | 北京小米移动软件有限公司 | 消息通信方法及装置 |
EP3482363A1 (en) * | 2016-09-20 | 2019-05-15 | Google LLC | System and method for transmitting a response in a messaging application |
US10846618B2 (en) | 2016-09-23 | 2020-11-24 | Google Llc | Smart replies using an on-device model |
US10735589B1 (en) * | 2019-03-18 | 2020-08-04 | Virtual Hold Technology Solutions, Llc | System and method for mobile device active callback integration |
US20230109840A1 (en) * | 2017-01-20 | 2023-04-13 | Virtual Hold Technology Solutions, Llc | System and method for mobile device multitenant active and ambient callback management |
US11553089B2 (en) * | 2017-01-20 | 2023-01-10 | Virtual Hold Technology Solutions, Llc | System and method for mobile device active callback prioritization |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
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 |
US10680978B2 (en) * | 2017-10-23 | 2020-06-09 | Microsoft Technology Licensing, Llc | Generating recommended responses based on historical message data |
US10659399B2 (en) | 2017-12-22 | 2020-05-19 | Google Llc | Message analysis using a machine learning model |
US11755834B2 (en) | 2017-12-22 | 2023-09-12 | Google Llc | Selective text prediction for electronic messaging |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11310176B2 (en) * | 2018-04-13 | 2022-04-19 | Snap Inc. | Content suggestion system |
CN112384938A (zh) * | 2018-05-07 | 2021-02-19 | 谷歌有限责任公司 | 基于接收方的电子消息的文本预测 |
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 |
US11556897B2 (en) | 2018-05-31 | 2023-01-17 | Microsoft Technology Licensing, Llc | Job-post budget recommendation based on performance |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11188194B2 (en) | 2018-06-27 | 2021-11-30 | Microsoft Technology Licensing, Llc | Personalization and synonym hierarchy for smart replies |
US20200005242A1 (en) * | 2018-06-28 | 2020-01-02 | Microsoft Technology Licensing, Llc | Personalized message insight generation |
US10826864B2 (en) | 2018-07-27 | 2020-11-03 | At&T Intellectual Property I, L.P. | Artificially intelligent messaging |
US10853577B2 (en) * | 2018-09-21 | 2020-12-01 | Salesforce.Com, Inc. | Response recommendation system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11468708B2 (en) * | 2019-05-20 | 2022-10-11 | Google Llc | Videoconferencing using hybrid edge/cloud inference with machine-learned systems |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11853941B2 (en) * | 2019-11-22 | 2023-12-26 | Verizon Patent And Licensing Inc. | Systems and methods for identifying available services at a physical address |
US11463416B1 (en) * | 2019-12-13 | 2022-10-04 | Amazon Technologies, Inc. | Automatic detection of personal information in cloud-based infrastructure configurations |
DE102020106066A1 (de) | 2020-03-06 | 2021-09-09 | Bayerische Motoren Werke Aktiengesellschaft | Vorrichtung und Verfahren zur Überwachung der Kommunikation zwischen einem Benutzer und einer Auskunftseinheit |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11610065B2 (en) | 2020-06-12 | 2023-03-21 | Apple Inc. | Providing personalized responses based on semantic 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 |
US20220075960A1 (en) * | 2020-09-09 | 2022-03-10 | Achieve Intelligent Technologies, Inc. | Interactive Communication System with Natural Language Adaptive Components |
KR102510650B1 (ko) | 2020-12-14 | 2023-03-20 | 한국전자기술연구원 | 온디바이스 기반 데이터 분석 시스템 및 방법 |
US11924153B2 (en) * | 2020-12-31 | 2024-03-05 | Snap Inc. | Messaging user interface element with reminders |
US11792141B2 (en) * | 2021-01-12 | 2023-10-17 | Meta Platforms Technologies, Llc | Automated messaging reply-to |
KR20220119219A (ko) | 2021-02-19 | 2022-08-29 | 삼성전자주식회사 | 온디바이스 인공지능 서비스를 제공하는 전자 장치 및 방법 |
US20220294903A1 (en) * | 2021-03-12 | 2022-09-15 | Avaya Management L.P. | Virtual private agent for machine-based interactions with a contact center |
US11743215B1 (en) | 2021-06-28 | 2023-08-29 | Meta Platforms Technologies, Llc | Artificial reality messaging with destination selection |
WO2023048374A1 (en) * | 2021-09-21 | 2023-03-30 | Samsung Electronics Co., Ltd. | A method and system for predicting response and behavior on chats |
US20230316726A1 (en) * | 2022-03-27 | 2023-10-05 | Deep Sentinel Corp. | Using guard feedback to train ai models |
US20240004933A1 (en) * | 2022-06-29 | 2024-01-04 | Tigergraph, Inc. | Minhash signatures as vertices for fuzzy string match on graph |
US20240296275A1 (en) * | 2023-03-03 | 2024-09-05 | Microsoft Technology Licensing, Llc | Guardrails for efficient processing and error prevention in generating suggested messages |
US20240296276A1 (en) * | 2023-03-03 | 2024-09-05 | Microsoft Technology Licensing, Llc | Optimizing data to improve latency |
US11962546B1 (en) * | 2023-03-03 | 2024-04-16 | Microsoft Technology Licensing, Llc | Leveraging inferred context to improve suggested messages |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102216941A (zh) * | 2008-08-19 | 2011-10-12 | 数字标记公司 | 用于内容处理的方法和系统 |
CN102576368A (zh) * | 2009-08-31 | 2012-07-11 | 谷歌公司 | 用于选择和呈现与用户输入相关的回答框作为查询建议的框架 |
CN102609441A (zh) * | 2011-12-27 | 2012-07-25 | 中国科学院计算技术研究所 | 基于分布熵的局部敏感哈希高维索引方法 |
EP2592567A1 (en) * | 2011-11-10 | 2013-05-15 | Research In Motion Limited | Methods and systems for removing or replacing keyboard prediction candidates |
JP2013254420A (ja) * | 2012-06-08 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | 質問応答装置、モデル学習装置、方法、及びプログラム |
US20150302301A1 (en) * | 2014-04-22 | 2015-10-22 | Google Inc. | Automatic actions based on contextual replies |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528745A (en) | 1994-10-28 | 1996-06-18 | King; C. David | Method and system for the display of scheduling information for users within a single viewport |
US6535492B2 (en) | 1999-12-01 | 2003-03-18 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for assigning agent-led chat sessions hosted by a communication center to available agents based on message load and agent skill-set |
JP3472194B2 (ja) | 1999-05-25 | 2003-12-02 | 日本電信電話株式会社 | 自動応答方法及びその装置並びにそのプログラムを記録した媒体 |
JP2001056792A (ja) | 1999-08-19 | 2001-02-27 | Casio Comput Co Ltd | 電子メール装置及び電子メール処理プログラムを記憶した記憶媒体 |
US6826596B1 (en) | 1999-09-07 | 2004-11-30 | Roy Satoshi Suzuki | System for categorizing and displaying reply messages in computer facilitated discussions |
US6816885B1 (en) | 2000-09-21 | 2004-11-09 | International Business Machines Corporation | Method and system to handle large volume of E-mail received from a plurality of senders intelligently |
US7209951B2 (en) | 2001-03-20 | 2007-04-24 | Bernel Goldberg | Method and system for modifying the content of e-mail transmissions based on customization settings |
US7660855B2 (en) | 2002-09-24 | 2010-02-09 | International Business Machines Corporation | Using a prediction algorithm on the addressee field in electronic mail systems |
US7606714B2 (en) | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
US20050135681A1 (en) | 2003-12-22 | 2005-06-23 | Schirmer Andrew L. | Methods and systems for preventing inadvertent transmission of electronic messages |
US20060075035A1 (en) | 2004-09-24 | 2006-04-06 | Tripp Travis S | Email customization techniques and systems |
US7643822B2 (en) | 2004-09-30 | 2010-01-05 | Google Inc. | Method and system for processing queries initiated by users of mobile devices |
US8849919B2 (en) | 2005-02-04 | 2014-09-30 | International Business Machines Corporation | Space-efficient mail storing and archiving based on communication structure |
US20060265453A1 (en) | 2005-05-19 | 2006-11-23 | International Business Machines Corporation | Method and system of applying a template to a message |
US7996391B2 (en) * | 2005-06-20 | 2011-08-09 | Google Inc. | Systems and methods for providing search results |
US7580719B2 (en) | 2005-09-21 | 2009-08-25 | U Owe Me, Inc | SMS+: short message service plus context support for social obligations |
US7860933B2 (en) | 2005-10-04 | 2010-12-28 | International Business Machines Corporation | Method and system to determine a user specific relevance score of a message within a messaging system |
JP4888996B2 (ja) | 2005-10-21 | 2012-02-29 | 株式会社ユニバーサルエンターテインメント | 会話制御装置 |
US7822434B2 (en) | 2006-05-09 | 2010-10-26 | Research In Motion Limited | Handheld electronic device including automatic selection of input language, and associated method |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8200691B2 (en) | 2006-11-29 | 2012-06-12 | Sap Ag | Action prediction based on interactive history and context between sender and recipient |
US8005822B2 (en) * | 2007-01-17 | 2011-08-23 | Google Inc. | Location in search queries |
US8078978B2 (en) | 2007-10-19 | 2011-12-13 | Google Inc. | Method and system for predicting text |
US7890493B2 (en) * | 2007-07-20 | 2011-02-15 | Google Inc. | Translating a search query into multiple languages |
US20090254624A1 (en) | 2008-04-08 | 2009-10-08 | Jeff Baudin | E-mail message management system |
US20090282114A1 (en) | 2008-05-08 | 2009-11-12 | Junlan Feng | System and method for generating suggested responses to an email |
US8166019B1 (en) | 2008-07-21 | 2012-04-24 | Sprint Communications Company L.P. | Providing suggested actions in response to textual communications |
US20150089007A1 (en) | 2008-12-12 | 2015-03-26 | At&T Intellectual Property I, L.P. | E-mail handling based on a behavioral history |
US8385975B2 (en) | 2009-04-23 | 2013-02-26 | Qualcomm Incorporated | Context-based messaging for wireless communication |
US9602444B2 (en) | 2009-05-28 | 2017-03-21 | Google Inc. | Participant suggestion system |
US9100465B2 (en) | 2009-08-11 | 2015-08-04 | Eolas Technologies Incorporated | Automated communications response system |
EP2393046A1 (en) | 2010-06-02 | 2011-12-07 | Research In Motion Limited | Method for assisted message generation |
US8346879B2 (en) | 2010-06-04 | 2013-01-01 | Xerox Corporation | Detecting conflicts in email messages |
CN102707967A (zh) | 2012-04-03 | 2012-10-03 | 陈俊 | 一种运行第三方应用程序的方法、设备及系统 |
US20130304677A1 (en) | 2012-05-14 | 2013-11-14 | Qualcomm Incorporated | Architecture for Client-Cloud Behavior Analyzer |
US20130346347A1 (en) | 2012-06-22 | 2013-12-26 | Google Inc. | Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context |
US10163058B2 (en) | 2012-08-14 | 2018-12-25 | Sri International | Method, system and device for inferring a mobile user's current context and proactively providing assistance |
US9154575B2 (en) | 2012-08-28 | 2015-10-06 | Facebook, Inc. | Soft matching user identifiers |
US20140088954A1 (en) | 2012-09-27 | 2014-03-27 | Research In Motion Limited | Apparatus and method pertaining to automatically-suggested emoticons |
US20140161356A1 (en) | 2012-12-10 | 2014-06-12 | Rawllin International Inc. | Multimedia message from text based images including emoticons and acronyms |
JP5763110B2 (ja) | 2013-01-08 | 2015-08-12 | ビッグローブ株式会社 | 送受信システム、コンピュータ、送受信装置、送受信方法、及びプログラム |
US9135145B2 (en) | 2013-01-28 | 2015-09-15 | Rackspace Us, Inc. | Methods and systems of distributed tracing |
KR20150014052A (ko) | 2013-07-26 | 2015-02-06 | 주식회사 팬택 | 통합 커뮤니케이션 기능을 구비한 사용자 단말 및 이를 위한 커뮤니케이션 이력 표시 방법 |
US8996639B1 (en) | 2013-10-15 | 2015-03-31 | Google Inc. | Predictive responses to incoming communications |
US9294890B1 (en) | 2013-10-21 | 2016-03-22 | West Corporation | Intercepting and processing received short message service (SMS) messages to provide an automated response |
KR20150122561A (ko) | 2014-04-23 | 2015-11-02 | 삼성전자주식회사 | 디바이스 및 상기 디바이스에서의 착신 호출 처리 방법 |
US10031836B2 (en) | 2014-06-16 | 2018-07-24 | Ca, Inc. | Systems and methods for automatically generating message prototypes for accurate and efficient opaque service emulation |
US11025565B2 (en) * | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10530723B2 (en) | 2015-12-21 | 2020-01-07 | Google Llc | Automatic suggestions for message exchange threads |
US10250541B2 (en) | 2016-02-03 | 2019-04-02 | Google Llc | Predictive responses to incoming communications |
US11115463B2 (en) * | 2016-08-17 | 2021-09-07 | Microsoft Technology Licensing, Llc | Remote and local predictions |
US10846618B2 (en) | 2016-09-23 | 2020-11-24 | Google Llc | Smart replies using an on-device model |
US9736268B1 (en) | 2017-02-23 | 2017-08-15 | Thumbtack, Inc. | System for generating responses to requests |
US10659399B2 (en) | 2017-12-22 | 2020-05-19 | Google Llc | Message analysis using a machine learning model |
-
2017
- 2017-08-25 US US15/686,954 patent/US10846618B2/en active Active
- 2017-09-19 DE DE102017121712.6A patent/DE102017121712A1/de active Pending
- 2017-09-19 DE DE202017105672.4U patent/DE202017105672U1/de active Active
- 2017-09-22 WO PCT/US2017/052958 patent/WO2018057890A1/en active Application Filing
- 2017-09-22 GB GB1715314.9A patent/GB2556671A/en not_active Withdrawn
- 2017-09-22 JP JP2019515964A patent/JP6850877B2/ja active Active
- 2017-09-22 KR KR1020197011706A patent/KR102182606B1/ko active IP Right Grant
- 2017-09-22 CN CN201710865117.XA patent/CN107870974B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102216941A (zh) * | 2008-08-19 | 2011-10-12 | 数字标记公司 | 用于内容处理的方法和系统 |
CN102576368A (zh) * | 2009-08-31 | 2012-07-11 | 谷歌公司 | 用于选择和呈现与用户输入相关的回答框作为查询建议的框架 |
EP2592567A1 (en) * | 2011-11-10 | 2013-05-15 | Research In Motion Limited | Methods and systems for removing or replacing keyboard prediction candidates |
CN102609441A (zh) * | 2011-12-27 | 2012-07-25 | 中国科学院计算技术研究所 | 基于分布熵的局部敏感哈希高维索引方法 |
JP2013254420A (ja) * | 2012-06-08 | 2013-12-19 | Nippon Telegr & Teleph Corp <Ntt> | 質問応答装置、モデル学習装置、方法、及びプログラム |
US20150302301A1 (en) * | 2014-04-22 | 2015-10-22 | Google Inc. | Automatic actions based on contextual replies |
Non-Patent Citations (3)
Title |
---|
ANJULI KANNAN 等: "Smart Reply:Automated Response Suggestion for Email", 《DL.ACM.ORG/DOI/PDF/10.1145/2939672.2939801》 * |
康龙彪: "多层次特征融合的短文本匹配方法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
易明升: "移动终端智能应答系统的实现", 《现代计算机(专业版)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112352401A (zh) * | 2018-06-27 | 2021-02-09 | 微软技术许可有限责任公司 | 生成涉及图像文件的智能回复 |
CN112368693A (zh) * | 2018-06-27 | 2021-02-12 | 微软技术许可有限责任公司 | 使用同义词谱系生成多样化的智能回复 |
US11334714B2 (en) | 2018-06-27 | 2022-05-17 | Microsoft Technology Licensing, Llc | Generating diverse smart replies using synonym hierarchy |
US11658926B2 (en) | 2018-06-27 | 2023-05-23 | Microsoft Technology Licensing, Llc | Generating smart replies involving image files |
CN109121125A (zh) * | 2018-07-25 | 2019-01-01 | Oppo广东移动通信有限公司 | 基于邻近感知网络nan的ai助理交互方法及相关产品 |
CN109121125B (zh) * | 2018-07-25 | 2021-03-09 | Oppo广东移动通信有限公司 | 基于邻近感知网络nan的ai助理交互方法及相关产品 |
CN110781286A (zh) * | 2018-07-31 | 2020-02-11 | 微软技术许可有限责任公司 | 用于生成推荐消息的序列到序列的分类模型 |
CN110781286B (zh) * | 2018-07-31 | 2024-04-19 | 微软技术许可有限责任公司 | 用于生成推荐消息的序列到序列的分类模型 |
CN111191790A (zh) * | 2018-10-29 | 2020-05-22 | 华为技术有限公司 | 量子比特控制装置 |
CN111191790B (zh) * | 2018-10-29 | 2023-04-18 | 华为技术有限公司 | 量子比特控制装置 |
US11875223B2 (en) | 2018-10-29 | 2024-01-16 | Huawei Technologies Co., Ltd. | Quantum bit control apparatus |
CN111565143A (zh) * | 2019-06-28 | 2020-08-21 | 上海掌门科技有限公司 | 即时通信方法、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE102017121712A1 (de) | 2018-03-29 |
DE202017105672U1 (de) | 2018-01-18 |
CN107870974B (zh) | 2021-08-06 |
US10846618B2 (en) | 2020-11-24 |
GB2556671A (en) | 2018-06-06 |
KR20190057357A (ko) | 2019-05-28 |
US20180089588A1 (en) | 2018-03-29 |
KR102182606B1 (ko) | 2020-11-24 |
JP2019535073A (ja) | 2019-12-05 |
WO2018057890A1 (en) | 2018-03-29 |
JP6850877B2 (ja) | 2021-03-31 |
GB201715314D0 (en) | 2017-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870974A (zh) | 使用设备上模型的智能回复 | |
CN109002490B (zh) | 用户画像生成方法、装置、服务器及存储介质 | |
US20230385662A1 (en) | Automatic actions based on contextual replies | |
US20210243143A1 (en) | Suggested responses based on message stickers | |
EP3369219B1 (en) | Predictive responses to incoming communications | |
CN105144040B (zh) | 用于基于通信上下文确定预测文本建议的系统和方法 | |
CN105940411B (zh) | 在个人设备上显示隐私信息 | |
US20180089164A1 (en) | Entity-specific conversational artificial intelligence | |
US10275838B2 (en) | Mapping social media sentiments | |
CN103608837B (zh) | 自动生成用于社交网络中的个性化反应的建议 | |
CN105593811B (zh) | 经用户可选择图标的基于情境的消息创建 | |
CN108541310B9 (zh) | 一种显示候选词的方法、装置及图形用户界面 | |
CN109074523A (zh) | 统一消息搜索 | |
CN108701128A (zh) | 解释和解析条件自然语言查询 | |
CN111177371B (zh) | 一种分类方法和相关装置 | |
CN110245293B (zh) | 一种网络内容召回方法和装置 | |
CN105978785A (zh) | 通知数据的预测性转发 | |
CN105074741A (zh) | 建议相关项 | |
CA2852727A1 (en) | Electronic device management using interdomain profile-based inferences | |
KR20140113436A (ko) | 관계 모델 매커니즘을 구현한 컴퓨팅 시스템 및 그 작동 방법 | |
WO2019226375A1 (en) | Personalized query formulation for improving searches | |
WO2018046001A1 (zh) | 信息过滤方法、交易控制方法及服务器 | |
CN105190602A (zh) | 基于社交线索的电子通信排名 | |
US20190068522A1 (en) | Packet sharing based on identified needs of disparate users | |
US11126994B2 (en) | Systems and methods for contact card customization |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Google limited liability company Address before: California, USA Applicant before: Google Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |