CN110781286A - 用于生成推荐消息的序列到序列的分类模型 - Google Patents

用于生成推荐消息的序列到序列的分类模型 Download PDF

Info

Publication number
CN110781286A
CN110781286A CN201910681182.6A CN201910681182A CN110781286A CN 110781286 A CN110781286 A CN 110781286A CN 201910681182 A CN201910681182 A CN 201910681182A CN 110781286 A CN110781286 A CN 110781286A
Authority
CN
China
Prior art keywords
responses
candidate
message
sequence
client device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910681182.6A
Other languages
English (en)
Other versions
CN110781286B (zh
Inventor
赵兵
J·W·帕斯特纳克
N·C·拉贾舍卡拉
N·M·查克拉瓦蒂
C·Y·王
A·达日瓦
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 CN110781286A publication Critical patent/CN110781286A/zh
Application granted granted Critical
Publication of CN110781286B publication Critical patent/CN110781286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Abstract

公开了针对用于生成推荐消息的序列到序列的分类模型的系统、方法以及非瞬态计算机可读介质。消息传送系统使用序列到序列编码器根据作为通信会话的一部分而传输的消息来生成嵌入向量,所述序列到序列编码器已经基于历史消息数据进行了训练,所述历史消息数据包括在消息传送系统的用户之间传输的消息。所述消息传送系统基于所述嵌入向量来确定用于回复第一消息的候选响应集合,所述候选响应集合是可用响应集合的子集。所述消息传送系统从所述候选响应集合中选择对第一消息的推荐响应集合,并使得推荐响应集合由第一消息的接收者用户的客户端设备来呈现。

Description

用于生成推荐消息的序列到序列的分类模型
技术领域
本主题的实施例总体涉及生成推荐消息,并且更具体涉及用于生成推荐消息的序列到序列的分类模型。
背景技术
数字消息传送正迅速成为与朋友和同事快速通信的最常见方式。例如,消息传送应用通常用于在个体用户以及用户组之间发送和接收消息。尽管这些消息传送应用是有用的,但是其仍然需要用户花费时间来键入响应。专业人士非常忙碌,并不总是有时间来制定这些响应。目前的系统为用户提供建议的响应;然而,这些系统具有局限性。因此,需要进行改进。
附图说明
在不一定按比例绘制的附图中,类似的数字可以描述不同视图中的类似组件。具有不同字母后缀的类似数字可以表示类似组件的不同实例。在附图的图中,通过示例而非限制的方式示出了一些实施例,其中:
图1示出了根据一些示例性实施例的系统,其中,序列到序列的分类模型被用于生成对作为通信会话的一部分而接收到的消息的推荐响应。
图2是根据一些示例性实施例的消息传送系统的框图。
图3是根据一些示例性实施例的推荐响应生成系统的框图。
图4是根据一些示例性实施例的模型生成模块的框图。
图5是示出了根据某些示例性实施例的使用序列到序列的分类模型来生成推荐响应的示例性方法的流程图。
图6是示出了使用序列到序列的分类模型来确定用于回复消息的候选响应集合的示例性方法的流程图。
图7是根据一些示例性实施例的包括推荐响应消息集合的消息传送接口的屏幕截图。
图8是示出了可以与在本文中所描述的各种硬件架构结合使用的示例性软件架构的框图。
图9是示出了根据一些示例性实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行在本文中所讨论的方法中的任意一种或多种方法的机器的组件的框图。
具体实施方式
在下文的描述中,出于解释的目的,阐述了各种细节以便提供对一些示例性实施例的透彻理解。然而,对于本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下或者通过略微改变来实践本主题。
说明书中对“一个实施例”或“实施例”的引用意指结合实施例使所描述的特定特征、结构或特性被包括在本主题的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”不一定都指代相同的实施例。
出于解释的目的,阐述了具体配置和细节以便提供对本主题的透彻理解。然而,对于本领域普通技术人员将显而易见的是,所描述的主题的实施例可以在没有在本文中所呈现的具体细节的情况下实践,或者以如在本文中所描述的各种组合来实践。此外,可以省略或简化公知的特征,以免使所描述的实施例模糊。在整个说明书中可以给出各种示例。这些仅是具体实施例的描述。权利要求的范围或含义并不限于给出的示例。
公开了用于使用序列到序列的分类模型来生成推荐响应消息的系统、方法以及非瞬态计算机可读介质。序列到序列模型提供了基于整个数据序列而不仅仅是数据片段来进行训练的益处。例如,能够基于文本中的单词的完整序列而不仅仅是一段文本(诸如来自文本的个体词语或字符集合)来训练序列到序列模型。一旦经过训练,所述序列到序列模型包括编码器,该编码器生成表示给定输入文本的嵌入向量(embedding vector)。编码器基于整个输入文本(例如,输入文本中的词语序列)而不仅仅是文本的片段来生成嵌入向量。所述序列到序列模型还包括解码器,该解码器基于由编码器生成的嵌入向量来生成对文本的可能响应。所述解码器能够生成响应而不必从预先定义的候选响应集合中进行选择,并且充当弱监督以强制编码器针对嵌入空间进行优化以进行恰当的回复。
尽管序列到序列模型提供了分析整个文本并且并不限于从其中进行选择的响应集合的益处,但是也存在一些缺点。具体而言,序列到序列模型在需要时将花费大量时间和资源来训练和改变。此外,所提供的输出可能包括拼写和/或语法错误。
相反,基于文本的较小部分(诸如词语或字符集合)而不是整个文本来训练文本分类模型。一旦经过训练,所述文本分类模型(如序列到序列模型)根据输入文本来生成嵌入向量,但是所生成的嵌入向量是嵌入向量或被映射到输入文本的较小部分(例如,个体词语)而不是文本中的词语的整个序列的值的组合。所述文本分类模型使用与候选响应相对应的归类标签来确定对输入文本的可能响应。亦即,所述文本分类模块向每个归类标签指派值,该值指示对应的候选响应将被用于对输入文本做出响应的可能性。
尽管文本分类模型不是基于与序列到序列模型一样的丰富数据的来训练并且限于其生成的响应,但是其确实提供了其他益处。例如,由所述文本分类模型生成的响应不太可能包括拼写或语法错误。此外,如果需要,所述模型更容易训练和修改。
序列到序列的分类模型提供了序列到序列模型和文本分类模型两者的益处。亦即,所述序列到序列的分类模型使用来自序列到序列模型的编码器,以基于整个输入文本而不是文本的部分来生成嵌入向量。所生成的嵌入向量被用作文本分类模型中的输入,所述文本分类模型确定针对预先定义的响应集合的概率值。每个概率值指示将响应于输入消息而使用给定响应的确定可能性。通过从预定响应集合中进行选择,可以使拼写和语法错误两者都极大地最小化。所述序列到序列的分类模型的另一优点是能够被容易地修改,因为所述模型的文本分类部分能够与所述模型的序列到序列部分单独地进行修改、重新训练等。
图1示出了根据一些示例性实施例的系统100,其中,序列到序列的分类模型被用于生成对作为通信会话的一部分而接收到的消息的推荐响应。尽管在消息推荐的上下文中描述了序列到序列的分类模型,但是这仅仅是一个示例,而并不意在限制。所述序列到序列的分类模型能够用于可以使用文本分类和/或序列到序列模型的各种用途中的任意一种用途,并且本公开设想到了所有这样的实施例。
如所示的,多个设备(即,客户端设备102、客户端设备104和消息传送系统106)被连接到通信网络108,并且被配置为通过使用通信网络108彼此通信。通信网络108是任何类型的网络,包括局域网(LAN)(诸如内联网)、广域网(WAN)(诸如互联网)或者其任何组合。此外,通信网络108可以是公共网络、专用网络或者其组合。使用与一个或多个服务提供商相关联的任何数量的通信链路来实施通信网络108,所述通信链路包括一个或多个有线通信链路、一个或多个无线通信链路或者其任何组合。另外,通信网络108被配置为支持对使用任意数量的协议格式化的数据的传输。
多个计算设备能够被连接到通信网络108。计算设备是能够与其他计算设备进行网络通信的任何类型的通用计算设备。例如,计算设备能够是个人计算设备,诸如台式机或工作站、商业服务器,或者便携式计算设备,诸如膝上型计算机、智能电话或平板个人计算机(PC)。计算设备能够包括在图9中所示的机器900的一些或所有特征、组件和外围器件。
为了促进与其他计算设备的通信,计算设备包括通信接口,所述通信接口被配置为从与所述计算设备进行网络通信的另一计算设备接收通信,诸如请求、数据等,并且将该通信传递到在所述计算设备上运行的适当模块。所述通信接口还将通信发送到与所述计算设备进行网络通信的另一计算设备。
在系统100中,用户与消息传送系统106进行交互以建立和参与与其他用户的通信会话。例如,用户使用通过直接和/或间接通信被连接到通信网络108的客户端设备102和104来与消息传送系统106通信并且利用消息传送系统106的功能。尽管所示的系统100仅包括两个客户端设备102、104,但是这仅仅是为了便于解释而并非意在限制。本领域技术人员将意识到,系统100能够包括任意数量的客户端设备102、104。此外,消息传送系统106可以同时接受来自任意数量的客户端设备102、104的连接并且与之交互。消息传送系统106支持来自各种不同类型的客户端设备102、104的连接,所述客户端设备诸如是台式计算机;移动计算机;移动通信设备,例如移动电话、智能电话、平板计算机;智能电视;机顶盒;和/或任何其他支持网络的计算设备。因此,客户端设备102和104可以具有不同类型、能力、操作系统等。
用户经由安装在客户端设备102和104上的客户端侧应用与消息传送系统106进行交互。在一些实施例中,所述客户端侧应用包括特定于消息传送系统的组件。例如,所述组件可以是独立应用、一个或多个应用插件和/或浏览器扩展件。然而,用户还可以经由驻留在客户端设备102和104上并且被配置为与消息传送系统106通信的第三方应用(诸如web浏览器)与消息传送系统106进行交互。在任一种情况下,所述客户端应用提供用户接口(UI)以供用户与消息传送系统106进行交互。例如,用户经由与文件系统集成的客户端应用或者经由使用web浏览器应用显示的网页与消息传送系统106进行交互。
消息传送系统106是被配置为促进和管理在各种客户端设备102、104之间的通信会话的一个或多个计算设备。消息传送系统106能够是独立系统或者被集成到其他系统或服务中,诸如被集成到在线服务中,诸如社交网络服务、新服务等。在任意一种情况下,消息传送系统106促进在客户端设备102与104之间的通信会话,其中,使用一个客户端设备102的用户参与者能够与使用另一客户端设备104的用户参与者发送和接收消息。
消息传送系统106通过提供消息传送接口来使得用户能够发起通信会话,其中,用户能够选择要包括在通信会话中的其他用户,起草要作为通信会话的一部分而传输给所选择的其他用户的消息,并且读取作为通信会话的一部分而从其他用户接收到的消息。作为通信会话的一部分由用户的客户端设备102传输的消息由消息传送系统106接收,消息传送系统106将消息转发给接收者用户的客户端设备104。消息传送系统106还能够存储所接收到的消息以及描述所述消息的元数据,诸如发送消息的时间、消息的起源用户、消息的接收者等。
消息传送系统106包括推荐响应生成系统110,推荐响应生成系统110使得消息传送系统106能够基于历史消息数据和用户简档数据来生成并且向用户提供推荐响应。所述历史消息数据包括作为先前通信会话的一部分在客户端设备102、104之间传输的消息,以及传输消息的次序。推荐响应生成系统110使用历史消息数据来生成序列到序列的分类模型,其被用于基于接收到的消息来确定推荐的响应。例如,在作为通信会话的一部分从客户端设备102接收意在用于客户端设备104的消息时,推荐响应生成系统110使用接收到的消息作为序列到序列的分类模型中的输入,这导致对消息的候选响应集合。然后,推荐响应生成系统110从候选响应集合中选择推荐响应集合,并且消息传送系统106将推荐响应集合与接收到的消息一起传输到客户端设备104,作为通信会话的一部分。
客户端设备104的用户能够使用所提供的推荐响应来快速并且容易地提供对接收到的消息的响应。例如,客户端设备104的用户能够提供单个输入(例如,点击推荐响应之一)以向客户端设备102的用户提供响应,而不是逐字母地键入回复消息并且然后选择发送消息。在从客户端设备104接收到对推荐响应之一的用户选择时,消息传送系统106将推荐响应传输到客户端设备102,作为通信会话的一部分。另外,消息传送系统106可以生成并且向客户端设备102提供推荐响应集合。
序列到序列的分类模型提供了序列到序列模型和文本分类模型的益处。亦即,所述序列到序列的分类模型使用来自序列到序列模型的编码器,以基于整个输入文本而不是文本的部分来生成嵌入向量。所生成的嵌入向量被用作文本分类模型中的输入,所述文本分类模型确定针对预先定义的响应集合的概率值。每个概率值指示将响应于输入消息而使用给定响应的确定可能性。通过从预定响应集合中进行选择,使拼写和语法错误两者极大地最小化。所述序列到序列的分类模型的另一优点是能够被容易地修改,因为所述模型的文本分类部分能够与所述模型的序列到序列部分单独地进行修改、重新训练等。
图2是根据一些示例性实施例的消息传送系统106的框图。为了避免以不必要的细节使本发明主题模糊,已经从图2中省略了与传达对本发明主题的理解没有密切关系的各种功能组件(例如,模块)。然而,本领域技术人员将容易认识到,消息传送系统106可以支持各种额外功能组件,以促进在本文中未具体描述的额外功能。此外,图2中所描绘的各种功能模块可以驻留在单个计算设备上,或者可以以各种布置(诸如在基于云的架构中所使用的那些布置)跨若干计算设备来分布。
如所示的,消息传送系统106包括接口模块202、接收模块204、存储模块206、推荐响应生成系统110、输出模块208以及数据存储装置210。接口模块202提供消息传送接口,所述消息传送接口使得用户能够发起并且参与与其他用户的通信会话。例如,所述消息传送接口包括用户接口元素(例如,按钮、滚动条、文本字段等),其使得用户能够选择用户并且起草消息以发起并且参与通信会话。此外,所述消息传送接口向用户呈现要包括在通信会话中的可用联系人的列表。所述消息传送接口还向用户呈现现有通信会话的列表,用户能够从该列表中进行选择以读取作为通信会话的一部分而传输的先前消息,并且起草和发送新消息作为通信会话的一部分。
接收模块204接收作为通信会话的一部分而传输的消息。从起源用户的客户端设备102、104接收消息,并且该消息旨在用于通信会话中的接收者用户的一个或多个其他客户端设备102、104。例如,作为通信会话的一部分,用户可以使用客户端设备102来生成消息并且将消息传输到另一用户的客户端设备104。消息最初由消息传送系统106的接收模块204来接收。所接收到的消息可以包括元数据,诸如指示消息被传输的时间的时间戳,标识源和/或目的地客户端设备102、104的标识符,标识通信会话的标识符等。
存储模块206将包括接收到的消息以及相关联的元数据的消息数据存储在数据存储装置210中。在一些实施例中,存储模块206使消息数据匿名化以保护用户的隐私。例如,存储模块206从消息数据中去除姓名以及其他个人信息。存储模块206还可以在有限的时间段内存储消息数据,之后删除所述消息数据。在一些实施例中,用户被允许选择加入或选择退出由所述存储模块存储其消息数据。因此,不希望存储其消息数据的用户能够选择退出,导致存储模块206不存储其消息数据。
推荐响应生成系统110基于接收到的消息和存储在数据存储装置210中的历史消息数据来生成推荐响应。如上文所解释的,被存储在数据存储装置210中的历史消息数据包括作为先前通信会话的一部分在客户端设备102、104之间传输的消息,以及描述所述消息的元数据,诸如传输消息的次序、起源和目的地客户端设备等。推荐响应生成系统110使用历史消息数据来生成序列到序列的分类模型,所述序列到序列的分类模型被用于基于接收到的消息来确定推荐的响应。例如,在作为通信会话的一部分从客户端设备102接收意图用于客户端设备104的消息时,推荐响应生成系统110使用接收到的消息作为序列到序列的分类模型中的输入,这导致对该消息的候选响应集合。然后,推荐响应生成系统110从候选响应集合中选择推荐响应集合,所述推荐响应集合能够被提供给用户。推荐响应生成系统110的功能将在下文结合图3更详细地讨论。
作为通信会话的一部分,输出模块208将接收到的消息和推荐响应集合传输到接收者用户的客户端设备(例如,客户端设备104)。接收者用户能够使用其客户端设备(例如,客户端设备104)来选择推荐的响应以快速并且容易地响应所接收到的消息。例如,客户端设备104的用户能够提供单个输入(例如,点击推荐响应之一)以向客户端设备102的用户提供响应,而不是逐字母地键入回复消息并且然后选择发送所述消息。如上所述,作为通信会话的一部分,消息传送系统106在接收到来自客户端设备104的推荐响应之一的用户选择时,将推荐响应传输到客户端设备102。另外,所述推荐生成模块可以生成并且向客户端设备102提供推荐响应集合。
图3是根据一些示例性实施例的推荐响应生成系统110的框图。为了避免以不必要的细节使本发明主题模糊,从图3中省略了与传达对本发明主题的理解没有密切关系的各种功能组件(例如,模块)。然而,技术人员将容易认识到,推荐响应生成系统110可以支持各种额外功能组件,以促进在本文中未具体描述的额外功能。此外,在图3中所描绘的各种功能模块可以驻留在单个计算设备上,或者可以以各种布置(诸如在基于云的架构中使用的那些布置)跨若干计算设备来分布。
如所示的,推荐响应生成系统110包括模型生成模块302、候选分组模块304、候选响应确定模块306、推荐响应选择模块308以及去标准化模块310。
模型生成模块302基于存储在数据存储装置210中的历史消息数据来生成序列到序列的分类模型。序列到序列生成模型包括序列到序列模型和文本分类模型的各方面。具体地,所述序列到序列的分类模型包括编码器,该编码器与序列到序列模型一样地生成。亦即,基于整个文本(包括文本中的词语序列)来训练所述编码器,而不是在文本的较小部分(诸如个体词语)上训练。结果,所生成的编码器确定表示整个输入文本的针对输入文本的嵌入向量,而不是作为映射到输入文本的较小部分的嵌入的组合的嵌入向量。
所述序列到序列的分类模型使用由编码器生成的嵌入向量作为对所述模型的文本分类部分的输入。亦即,所述嵌入向量可以是在所述模型的文本分类部分中用作输入的特征向量的一部分或全部。所述模型的文本分类部分确定与对输入消息的潜在响应相对应的归类标签集合的概率值。被指派给归类标签的概率值指示对应的响应将被用于响应所述输入消息的可能性。
基于由编码器生成的嵌入向量以及任何其他期望数据,来训练所述序列到序列的分类模型的文本分类部分。例如,所述分类模型还可以在其他数据上进行训练,所述其他数据诸如是用户特征、环境特征、其他特征等。
一旦被生成,所述序列到序列的分类模型接收作为通信会话的一部分而传输的消息作为输入,并且返回可能响应于所述消息而使用的候选响应集合。亦即,所述模型的编码器部分分析输入消息的文本以生成表示输入文本的嵌入向量。然后,所述模型的分类部分使用嵌入向量作为输入特征向量的至少一部分,所述输入特征向量被用于确定与最可能被用于响应于所述输入消息的响应相对应的分类标签集合。
模型生成模块302使用被存储在数据存储装置210中的历史消息数据来生成序列到序列的分类模型。具体地,模型生成模块302使用在先前通信会话期间传输的先前消息来训练所述序列到序列的分类模型。在一些实施例中,模型生成模块302通过例如利用占位符替换个性化术语(例如,姓名、地址等)、去除或标准化标点符号等来标准化先前消息中的每个先前消息。以这种方式对数据进行标准化允许模型生成模块302标识独有的消息的多个实例。例如,消息“Hi Bob”和“Hi Frank”两者都将被标准化为“Hi[First Name]”,模型生成模块302将其识别为相同消息的两个实例。
在消息已经被标准化之后,模型生成模块302还识别发生至少阈值次数的标准化消息集合。这为模型生成模块302提供了常用的响应,模型生成模块302将其指定为可用的候选响应集合,所述序列到序列的分类模型从所述可用的候选响应集合中进行选择以向用户提供推荐的响应。亦即,模型生成模块302将常用的响应指定为用于对输入消息进行分类的分类标签。模型生成模块302将分类标签以及其对应的嵌入存储在数据存储装置210中。
所得到的序列到序列的分类模型接收作为通信会话的一部分而传输的消息作为输入,并且基于所提供的消息输入来返回候选响应集合。所述候选响应集合是被指派为分类标签的响应全集的子集。
候选分组模块304将类似的候选响应分组为候选组。多个候选响应可能具有相似的含义。例如,术语“yes”、“yeah”、“yup”、“sure”等都具有基本相同的含义。向用户提供具有相似含义的多个推荐响应可能是冗余的并且为用户提供有限的响应选项。因此,优选向用户提供具有各种含义的推荐响应。例如,向用户提供推荐响应“yes”、“maybe”和“no”为用户提供了每个选项与其他选项具有不同含义的三个选项,而推荐响应“yes”、“yup”和“sure”为用户提供了都具有单一含义的三个选项。
对此,候选分组模块304基于候选响应的含义将来自可用候选响应的每个候选响应分组到候选组中。结果,每个候选响应当被包括在具有相似含义的候选组中。
候选响应确定模块306基于接收到的消息来确定候选响应集合。所接收到的消息是作为通信会话的一部分而接收到的消息。为了实现这一点,候选响应确定模块306使用接收到的消息作为由模型生成模块302生成的序列到序列的分类模型的输入。如上文所解释的,序列到序列的分类模型返回通常用于响应于接收到的消息的候选响应集合。所述候选响应集合是可用候选响应的子集。
为了生成候选响应集合,候选响应确定模块306使用接收到的消息作为对序列到序列的分类模型的序列到序列部分的输入。亦即,候选响应确定模块306使用接收到的消息作为序列到序列生成编码器中的输入。编码器使用输入消息来生成表示输入消息的嵌入向量。
候选响应确定模块306使用所得到的嵌入向量来生成特征向量,所述特征向量被用作对序列到序列的分类模型的文本分类部分的输入。特征向量除了嵌入向量之外还可以包括其他特征,诸如环境特征、用户特征等。然后,序列到序列的分类模型的文本分类部分基于特征向量返回候选响应集合。模型的文本分类部分可以是任何类型的合适的文本分类模型,诸如逻辑回归模型。
在一些实施例中,由序列到序列的分类模型返回的候选响应集合基于响应于输入消息而使用每个候选响应的可能性或通常性来排序。例如,序列到序列的分类模型可以指定值,该值指示响应于输入消息而使用候选响应的可能性的百分比值。可以使用多项式系来指派值,其中,指派给候选响应的所有值的总和等于1。替代地,可以使用多类系来指派值,其中,被指派给候选响应的所有值的总和不必等于1。
推荐响应选择模块308基于候选选择规则集合从候选响应集合中选择推荐响应集合。候选选择规则集合指示应当如何从候选响应集合中选择推荐响应集合。例如,候选选择规则集合可以指示应当被选择作为推荐响应的候选响应的数量,诸如3个候选响应。作为另一示例,候选选择规则集合可以指示选择最高评级的候选选择规则。作为另一示例,候选选择规则集合可以指示对能够从候选组中选择的候选响应的数量的最大限值。例如,候选选择规则可以指示能够从每个候选组中仅选择一个候选响应。这种类型的候选选择规则确保向用户提供具有各种含义的推荐响应。在一些实施例中,候选选择规则能够指示应当从中挑选候选响应的候选组的最小数量,诸如至少2个候选组。因此,提供给用户的推荐响应将包括具有不同含义的至少2个响应。候选选择规则集合能够根据用户行为和反馈而导出。例如,可以分析用户行为和反馈以确定用户偏好,诸如优选表情符号而不是文本或者文本与表情符号的混合。因此,候选选择规则能够指示基于所学习的用户偏好来选择推荐响应集合。
在向用户提供推荐响应之前,去标准化模块310对推荐响应进行去标准化。对推荐响应进行去标准化包括利用个性化数据替换在推荐响应中所包含的占位符。例如,可以利用接收者用户的姓名来替换诸如[first name]的占位符。作为另一示例,诸如[date]的占位符能够利用当前日期来替换。结果,将基于通信会话和当前上下文(例如,日期、时间等)来对提供给用户的推荐消息进行个性化。
图4是根据一些示例性实施例的模型生成模块302的框图。为了避免以不必要的细节使本发明主题模糊,从图4中省略了与传达对本发明主题的理解没有密切关系的各种功能组件(例如,模块)。然而,技术人员将容易认识到,模型生成模块302可以支持各种额外功能组件,以促进在本文中未具体描述的额外功能。此外,在图4中所描绘的各种功能模块可以驻留在单个计算设备上,或者可以以各种布置(诸如在基于云的架构中使用的那些布置)跨若干计算设备来分布。
如所示的,模型生成模块302包括消息数据收集模块402、标准化模块404、可用候选确定模块406以及模型训练模块408。消息数据收集模块402从数据存储装置210收集历史消息数据。历史消息数据包括作为先前通信会话的一部分而传输的消息,以及传输消息的次序。
标准化模块404对来自历史消息数据的消息进行标准化。对消息进行标准化可以包括多个步骤。例如,对消息数据进行标准化包括利用占位符来替换个性化数据。个性化数据是对通信会话的上下文独有的数据。个性化数据的示例是姓名、日期、电子邮件地址、地址、电话号码、URL等。标准化模块404在消息上标识这些类型的个性化项,并且利用指示被替换的项类型的占位符来替换所述项。例如,利用诸如[first name]的占位符来替换用户的姓名。类似地,利用诸如[current date]的占位符来替换日期。
除了利用占位符来替换个性化项之外,标准化模块404还对消息进行标准化以移除不必要的字符、间隔等。例如,标准化模块404移除词语之间的额外空格、额外或重复的标点等。
可用候选确定模块406确定用户在通信会话中通常使用的可用候选响应集合。为了实现这一点,可用候选确定模块406确定由标准化模块404生成的每个独有的标准化消息的出现次数。所述出现次数指示在通信会话中使用标准化消息的次数。然后,可用候选确定模块406将每个独有的标准化消息出现的出现次数与预定阈值出现次数(诸如1000次出现)进行比较。可用候选确定模块406将至少出现阈值次数的每个标准化消息添加到可用候选响应集合。结果,所述可用候选响应集合仅包括在通信会话期间经常或通常使用的响应,并且不通常使用的消息不被包括在所述可用候选响应集合中。所述可用候选响应集合被指定为针对所述序列到序列的分类模型的文本分类部分的分类标签。
模型训练模块408基于由消息数据收集模块402收集的历史消息数据来生成所述序列到序列的分类模型。所述序列到序列生成模型包括序列到序列模型和文本分类模型两者的各方面。具体地,所述序列到序列的分类模型包括编码器,该编码器与序列到序列模型一样地生成。亦即,模型训练模块408基于分析包括文本中的词语序列的整个文本来训练所述编码器,而不是在文本的较小部分(诸如个体词语)上进行训练。结果,所生成的编码器基于表示整个输入文本的输入文本来确定嵌入向量。这与基于输入文本的较小部分生成嵌入向量的标准文本分类模型中所使用的编码器形成对比。
所述序列到序列的分类模型使用由编码器生成的嵌入向量作为对所述模型的文本分类部分的输入。亦即,所述嵌入向量可以是在所述模型的文本分类部分中用作输入的特征向量的一部分或全部。所述模型的文本分类部分确定针对与对输入消息的潜在响应相对应的归类标签集合的概率值。被指派给归类标签的概率值指示对应的响应将被用于响应所述输入消息的可能性。
模型训练模块408基于由编码器生成的嵌入向量以及任何其他期望的数据来训练所述序列到序列的分类模型的文本分类部分。例如,所述分类模型还可以在其他数据上进行训练,诸如用户特征、环境特征、其他特征等。
一旦被生成,所述序列到序列的分类模型接收作为通信会话的一部分而传输的消息作为输入,并且返回可能被用于响应所述消息的候选响应集合。亦即,所述模型的编码器部分分析所述输入消息的文本以生成表示所述输入文本的嵌入向量。然后,所述模型的分类部分使用嵌入向量作为输入特征向量的至少一部分,所述输入特征向量被用于确定与最可能被用于响应所述输入消息的响应相对应的分类标签集合。
图5是示出了根据某些示例性实施例的使用序列到序列的分类模型来生成推荐响应的示例性方法500的流程图。方法500可以被体现在用于由一个或多个处理器执行的计算机可读指令中,使得方法500的操作可以部分地或整体地由消息传送系统106来执行;因此,下文通过对其进行参考的方式来描述方法500。然而,应当意识到,方法500的至少一些操作可以被部署在各种其他硬件配置上,并且方法500并不旨在限于消息传送系统106。
在操作502处,作为通信会话的一部分,接收模块204接收消息。从起源用户的客户端设备102、104接收消息,并且该消息旨在用于通信会话中的接收者用户的一个或多个其他客户端设备102、104。例如,作为通信会话的一部分,用户可以使用客户端设备102来生成消息并且将消息传输到另一用户的客户端设备104。所述消息最初由消息传送系统106的接收模块204接收。所接收到的消息可以包括元数据,诸如指示传输消息的时间的时间戳、标识源和/或目的地客户端设备的标识符、标识通信会话的标识符等。
在操作504处,候选响应确定模块306使用消息作为序列到序列的分类模型中的输入来确定用于回复所述消息的候选响应集合。为了实现这一点,候选响应确定模块306使用接收到的消息作为由模型生成模块302生成的序列到序列的分类模型中的输入。如上文所解释的,序列到序列的分类模型返回通常用于响应所接收到的消息的候选响应集合。所述候选响应集合是可用候选响应的子集。
为了生成候选响应集合,候选响应确定模块306使用所接收到的消息作为对所述序列到序列的分类模型的序列到序列部分的输入。亦即,候选响应确定模块306使用所接收到的消息作为序列到序列生成的编码器中的输入。所述编码器使用输入消息来生成表示所述输入消息的嵌入向量。
候选响应确定模块306使用所得到的嵌入向量来生成特征向量,所述特征向量被用作对所述序列到序列的分类模型的文本分类部分的输入。所述特征向量除了所述嵌入向量之外还可以包括其他特征,诸如环境特征、用户特征等。然后,所述序列到序列的分类模型的所述文本分类部分基于特征向量来返回候选响应的集合。所述模型的文本分类部分可以是任何类型的合适的文本分类模型,诸如逻辑回归模型。
在操作506处,推荐响应选择模块308根据候选响应集合来确定推荐响应集合。在一些实施例中,推荐响应选择模块308基于候选选择规则集合来确定推荐响应集合,所述候选选择规则集合指示应当如何从候选响应集合中选择推荐响应集合。例如,候选选择规则集合可以指示应当被选择作为推荐响应的候选响应的数量,诸如3个候选响应。作为另一示例,所述候选选择规则集合可以指示选择最高评级的候选选择规则。作为另一示例,所述候选选择规则集合可以指示能够从候选组中选择的候选响应的数量的最大限值。例如,所述候选选择规则可以指示能够从每个候选组中仅选择一个候选响应。这种类型的候选选择规则确保了向用户提供具有各种含义的推荐响应。在一些实施例中,所述候选选择规则能够指示应当从中挑选候选响应的候选组的最小数量,诸如至少2个候选组。因此,提供给用户的推荐响应将包括具有不同含义的至少2个响应。
在操作508处,去标准化模块310对推荐响应集合进行去标准化。对推荐响应进行去标准化包括利用个性化数据来替换推荐响应中所包括的占位符。例如,能够利用接收者用户的姓名来替换诸如[first name]的占位符。作为另一示例,能够利用当前日期来替换诸如[date]的占位符。结果,将基于通信会话和当前上下文(例如,日期、时间等)来对提供给用户的推荐消息进行个性化。
在操作510处,输出模块208将消息和推荐响应集合传送到目的地客户端设备。接收者用户能够使用其客户端设备(例如,客户端设备104)来选择推荐响应以快速并且容易地响应所接收到的消息。例如,客户端设备104的用户能够提供单个输入(例如,点击推荐响应之一)以向客户端设备102的用户提供响应,而不是逐字母地键入回复消息并且然后选择发送消息。
图6是示出了使用序列到序列的分类模型来确定用于回复消息的候选响应集合的示例性方法600的流程图。方法600可以被体现在用于由一个或多个处理器执行的计算机可读指令中,使得方法600的操作可以部分地或全部地在推荐响应生成系统110中执行;因此,下文通过对其进行参考的方式描述了方法600。然而,应当意识到,方法600的至少一些操作可以被部署在各种其他硬件配置上,并且方法600并不旨在限于推荐响应生成系统110。
在操作602处,推荐响应生成系统110访问作为通信会话的一部分而传输的文本。所述文本可以是包括字符集的任何类型的文本。例如,所述文本可以是作为通信会话的一部分而从一个用户传输到另一用户的消息。
在操作604处,推荐响应生成系统110使用序列到序列编码器来生成嵌入向量。序列到序列编码器是基于分析整个输入文本而训练的编码器,而不是在部分训练文本上训练的编码器。结果,由编码器生成的嵌入向量表示整个输入文本,而不是基于输入文本的部分的组合。
在操作606处,推荐响应生成系统110基于所述嵌入向量来生成特征向量。所述特征向量可以包括由序列到序列编码器生成的嵌入向量的一部分或全部,以及任何额外的特征数据。例如,特征向量可以包括其他特征数据,诸如用户特征数据、环境特征数据等。
在操作608处,推荐响应生成系统110通过使用特征向量作为序列到序列的分类模型的文本分类系统部分中的输入来确定候选响应集合。基于由序列到序列编码器生成的嵌入向量以及其他特征数据来训练模型的文本分类部分。所述模型的文本分类部分可以是任何类型的文本分类模型,诸如逻辑回归模型。所述模型的文本分类部分将概率值指派给分类标签,每个分类标签对应于潜在的已知响应。被指派给每个归类标签的指派概率值指示将响应于输入消息使用对应响应的确定可能性。推荐响应生成系统110将被指派了最高概率值的归类标签的子集确定为对消息的候选响应集合。
图7是根据一些示例性实施例的包括推荐响应消息集合的消息传送接口700的屏幕截图。如所示的,所述消息传送接口示出了作为通信会话的一部分而在多个用户之间传输的消息的历史。如所示的,作为通信会话的一部分而接收到的最新消息是短语“谢谢”。所述消息传送接口包括文本字段702,用户能够利用该文本字段来响应所接收到的消息。例如,用户能够选择文本字段702并且输入诸如“不用客气”的响应。所述消息传送接口还包括三个推荐回复704的集合,用户能够从中进行选择。如所示的,推荐回复704包括竖起大拇指的表情符号、“别客气”和“不用客气”。并非使用文本字段702来手动地键入响应,用户能够选择具有单个输入的推荐回复704之一以响应所述消息。
软件架构
图8是图示了示例性软件架构806的框图,其可以与在本文中所描述的各种硬件架构结合使用。图8是软件架构806的非限制性示例,并且应当意识到,可以实施许多其他架构以促进在本文中所描述的功能。软件架构806可以在诸如图9的机器900的硬件上执行,机器900包括处理器904、存储器914和(输入/输出)I/O组件918。图示了代表性硬件层852,并且能够表示例如图9的机器900。代表性硬件层852包括具有相关联的可执行指令804的处理单元854。可执行指令804表示软件架构806的可执行指令,包括在本文中所描述的方法、组件等的实施方式。硬件层852还包括存储器和/或存储模块存储器/存储装置856,其也具有可执行指令804。硬件层852还可以包括其他硬件858。
在图8的示例性架构中,软件架构806可以被概念化为层的堆栈,其中,每层提供特定功能。例如,软件架构806可以包括诸如操作系统802、库820、框架/中间件818、应用816和表示层814的层。在操作上,层内的应用816和/或其他组件可以通过软件栈来调用API调用808,并且响应于API调用808而接收诸如消息812的响应。所图示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件818,而其他操作系统提供这样的层。其他软件架构可以包括额外或不同的层。
操作系统802可以管理硬件资源并且提供公共服务。操作系统802可以包括例如内核822、服务824和驱动器826。内核822可以充当在硬件与其他软件层之间的抽象层。例如,内核822可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务824可以为其他软件层提供其他公共服务。驱动器826负责控制底层硬件或者与底层硬件进行接口。例如,驱动器826包括显示驱动器、相机驱动器、
Figure BDA0002144795870000171
驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、
Figure BDA0002144795870000172
驱动器、音频驱动器、电源管理驱动器等,具体取决于硬件配置。
库820提供由应用816和/或其他组件和/或层使用的公共基础结构。库820提供允许其他软件组件以比与底层操作系统802功能(例如,内核822、服务824和/或驱动器826)直接接口更容易的方式来执行任务的功能。库820可以包括系统库844(例如,C标准库),其可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。另外,库820可以包括API库846,诸如媒体库(例如,用于支持各种媒体格式(诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操纵的库)、图形库(例如,可以被用于在显示器上的图形内容中绘制2D和3D的OpenGL框架)、数据库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit)等等。库820还可以包括各种其他库848,以向应用816和其他软件组件/模块提供许多其他API。
框架/中间件818(有时也被称为中间件)提供可以由应用816和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件818可以提供各种图形用户接口(GUI)功能、高级资源管理、高级位置服务等。框架/中间件818可以提供可以由应用816和/或其他软件组件/模块使用的宽泛的其他API,其中的一些可以特定于特定操作系统802或平台。
应用816包括内置应用838和/或第三方应用840。代表性内置应用838的示例可以包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用840可以包括由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM
Figure BDA0002144795870000181
Phone的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用840可以调用由移动操作系统(诸如操作系统802)提供的API调用808以促进在本文中所描述的功能。
应用816可以使用内置操作系统功能(例如,内核822、服务824和/或驱动器826)、库820和框架/中间件818来创建用户接口以与系统的用户交互。备选地或另外地,在一些系统中,与用户的交互可以通过表示层(诸如表示层814)发生。在这些系统中,应用/组件“逻辑”能够与和用户交互的应用/组件的各方面分离。
图9是图示了根据一些示例性实施例的机器900的组件的框图,其能够从机器可读介质(例如,机器可读存储介质)读取指令804并且执行在本文中所讨论的方法中的任意一种或多种方法。具体而言,图9示出了计算机系统的示例形式的机器900的图形表示,在机器900内可以执行用于使机器900执行在本文中所讨论的方法中的任意一种或多种方法的指令910(例如,软件、程序、应用、小应用程序、app或者其他可执行代码)。这样,指令910可以被用于实施在本文中所描述的模块或组件。指令910将通用的、未编程的机器900变换成特定的机器900,机器900被编程为以所描述的方式来执行所描述和图示的功能。在备选实施例中,机器900作为独立设备来操作或者可以被耦合(例如,联网)到其他机器。在联网部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力来操作,或者作为对等(或分布式)网络环境中的对等机器来操作。机器900可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、web家电、网络路由器、网络交换机、网络桥,或者能够顺序地或者以其他方式执行指定机器900要采取的动作的指令910的任何机器900。此外,尽管仅图示了单个机器900,但是术语“机器”还应当被视为包括个体地或共同地执行指令910以执行在本文中所讨论的方法中的任意一种或多种方法的机器的集合。
机器900可以包括处理器904、存储器/存储装置906和I/O组件918,其可以被配置为例如经由总线902彼此通信。存储器/存储装置906可以包括存储器914(诸如主存储器或其他存储装置)以及存储单元916,这两者都能由处理器904诸如经由总线902来访问。存储单元916和存储器914存储体现在本文中所描述的方法中的任意一种或多种方法的指令910。指令910还可以在由机器900执行期间完全或部分地驻留在存储器914内、在存储单元916内、在处理器904中的至少一个内(例如,在处理器的高速缓存存储器内),或者其任何合适的组合。因此,存储器914、存储单元916以及处理器904的存储器是机器可读介质的示例。
I/O组件918可以包括各种组件以接收输入、提供输出、产生输出、传输信息、交换信息、捕获测量结果等。被包括在特定机器900中的特定I/O组件918将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或者其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当意识到,I/O组件918可以包括在图9中未示出的许多其他组件。根据功能仅对I/O组件918进行分组以简化以下讨论,并且所述分组决不是限制性的。在各种示例性实施例中,I/O组件918可以包括输出组件926和输入组件928。输出组件926可以包括可视组件(例如,诸如等离子显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)),声学组件(例如,扬声器),触觉组件(例如,振动电机、电阻机构),其他信号发生器,等等。输入组件928可以包括字母数字输入组件(例如,键盘,被配置为接收字母数字输入的触摸屏,光-光学键盘或者其他字母数字输入组件),基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或者其他指向仪器),触觉输入组件(例如,物理按钮,提供触摸或触摸手势的位置和/或力的触摸屏,或其他触觉输入组件),音频输入组件(例如,麦克风)等。
在另外的示例性实施例中,I/O组件918可以包括生物计量组件930、运动组件934、环境组件936或位置组件938等多种其他组件。例如,生物计量组件930可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)的组件,测量生物信号(例如,血压、心率、体温、出汗或脑波),识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或者基于脑电图的识别)等。运动组件934可以包括加速度传感器组件(例如,加速度计),重力传感器组件,旋转传感器组件(例如,陀螺仪)等。环境组件936可以包括例如照明传感器组件(例如,光度计),温度传感器组件(例如,检测环境温度的一个或多个温度计),湿度传感器组件,压力传感器组件(例如,气压计),声学传感器组件(例如,检测背景噪声的一个或多个麦克风),接近度传感器组件(例如,检测附近物体的红外传感器),气体传感器(例如,检测危险气体的浓度以确保安全或者测量大气中的污染物的气体检测传感器),或者可以提供与周围物理环境相对应的指示、测量结果或信号的其他组件。位置组件938可以包括位置传感器组件(例如,GPS接收器组件)、高度传感器组件(例如,检测可以从其导出高度的气压的高度计或气压计)、方向传感器组件(例如,磁力计)等等。
可以使用各种技术来实施通信。I/O组件918可以包括通信组件940,其可操作用于分别经由耦合924和耦合922将机器900耦合到网络932或设备920。例如,通信组件940可以包括网络接口组件或者与网络932进行接口的其他合适的设备。在其他示例中,通信组件940可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、
Figure BDA0002144795870000201
组件(例如,低能量)、
Figure BDA0002144795870000203
组件以及其他通信组件,以经由其他方式来提供通信。设备920可以是另一机器或者各种外围设备中的任意一种(例如,经由USB耦合的外围设备)。
此外,通信组件940可以检测标识符或者包括可操作用于检测标识符的组件。例如,通信组件940可以包括射频识别(RFID)标签读取器组件、NFC智能标记检测组件、光学读取器组件(例如,用于检测一维条形码(诸如通用产品代码(UPC)条代码)、多维条形码(诸如快速响应(QR)代码、Aztec码、数据矩阵、Dataglyph、MaxiCode、PDF417、Ultra Code、UCCRSS-2D条形码和其他光学码)),或声学检测组件(例如,用于识别标记音频信号的麦克风)。另外,可以经由通信组件940来导出各种信息,诸如,经由互联网协议(IP)地理位置的位置、经由
Figure BDA0002144795870000211
信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置,等等。
术语
在该上下文中的“载波信号”指代能够存储、编码或承载用于由机器900执行的指令910的任何无形介质,并且包括数字或模拟通信信号或者其他无形介质以促进这样的指令910的通信。指令910可以通过网络932使用传输介质经由网络接口设备并且使用许多公知的传输协议中的任意一种来发送或接收。
在该上下文中的“客户端设备”指代与通信网络932进行接口以从一个或多个服务器系统或其他客户端设备获得资源的任何机器900。客户端设备102、104可以是但不限于:移动电话、台式计算机、膝上型计算机、PDA、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、STB,或者用户可以用于访问网络932的任何其他通信设备。
在该上下文中的“通信网络”指代网络932的一个或多个部分,网络932可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0002144795870000212
网络、另一种类型的网络,或者两个或更多这样的网络的组合。例如,网络932或网络932的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或者其他类型的蜂窝或无线耦合。在该示例中,所述耦合可以实施多种类型的数据传输技术中的任意一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他技术、其他远程协议、或者其他数据传输技术。
在该上下文中的“机器可读介质”指代能够临时地或永久地存储指令910和数据的组件、设备或者其他有形介质,并且可以包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓存存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM)),和/或其任何合适的组合。术语“机器可读介质”应当被视为包括能够存储指令910的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓存和服务器)。术语“机器可读介质”还应当被认为包括能够存储指令910(例如,代码)以供机器900执行的任何介质或者多个介质的组合,使得指令910当由机器900的一个或多个处理器904执行时,使机器900执行在本文中所描述的方法中的任意一种或多种方法。因此,“机器可读介质”指代单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
在该上下文中的“组件”指代具有由功能或子例程调用、分支点、API或者提供特定处理或控制功能的分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。组件可以经由其接口与其他组件相组合来执行机器过程。组件可以是被设计用于与其他组件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,在机器可读介质上体现的代码)或硬件组件。“硬件组件”是能够执行某些操作并且可以以某种物理方式配置或布置的有形单元。在各种示例性实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件组件(例如,处理器或者一组处理器904)可以通过软件(例如,应用816或应用部分)被配置为用于执行如在本文中所描述的某些操作的硬件组件。硬件组件还可以机械地、电子地或者其任何合适的组合来实施。例如,硬件组件可以包括被永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括由软件临时配置为执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器904或者其他可编程处理器904执行的软件。一旦由这样的软件配置,硬件组件变为特定的机器900(或机器900的特定组件),其被独有地定制以执行所配置的功能并且不再是通用处理器904。应当意识到,在专用和永久配置的电路中或者在临时配置的电路(例如,由软件配置)中,机械地实施硬件组件的决定可以由成本和时间考虑驱动。因此,短语“硬件组件”(或“硬件实施的组件”)应当被理解为涵盖有形实体,即被物理地构造、永久地配置(例如,硬连线)或临时地配置(例如,编程)以某种方式操作或执行在本文中所描述的某些操作的实体。考虑在其中临时地配置(例如,编程)硬件组件的实施例,不需要在任何一个时刻配置或实例化所述硬件组件中的每个硬件组件。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器904的情况下,通用处理器904可以被配置为在不同时间的分别不同的专用处理器(例如,包括不同的硬件组件)。软件因此配置特定的一个或多个处理器904,例如,以在一个时刻构成特定的硬件组件,并且在不同的时刻构成不同的硬件组件。硬件组件能够向其他硬件组件提供信息并且从其接收信息。因此,所描述的硬件组件可以被视为通信地耦合。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间或之中的信号传输(例如,通过适当的电路和总线902)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过存储和取回多个硬件组件可访问的存储器结构中的信息来实现在这样的硬件组件之间的通信。例如,一个硬件组件可以执行操作,并且将该操作的输出存储在与其通信地耦合的存储器设备中。然后,另外的硬件组件可以稍后访问存储器设备以取回和处理所存储的输出。硬件组件还可以发起与输入或输出设备的通信,并且能够对资源(例如,信息集合)进行操作。在本文中所描述的示例性方法的各种操作可以至少部分地由临时地配置(例如,通过软件)或永久地配置以执行相关操作的一个或多个处理器904来执行。无论是临时地配置还是永久地配置,这样的处理器904可以构成处理器实施的组件,其操作用于执行在本文中所描述的一个或多个操作或功能。如在本文中所使用的,“处理器实施的组件”指代使用一个或多个处理器904实施的硬件组件。类似地,在本文中所描述的方法可以至少部分地由处理器实施,其中,特定的一个或多个处理器904是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器904或者处理器实施的组件来执行。此外,一个或多个处理器904还可以操作用于支持在“云计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器904的机器900的示例)执行,其中,这些操作能经由网络932(例如,互联网)以及经由一个或多个适当的接口(例如,API)来访问。某些操作的执行可以分布在处理器904之间,不仅驻留在单个机器900内,而是跨多个机器900来部署。在一些示例性实施例中,处理器904或处理器实施的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器场内)。在其他示例性实施例中,处理器904或处理器实施的组件可以跨多个地理位置分布。
在该上下文中的“处理器”指代根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路),其产生被应用以操作机器900的对应输出信号。处理器904可以是例如:中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)或者其任何组合。处理器还可以是具有两个或更多独立处理器904(有时被称为“核心”)的多核处理器,其可以同时地执行指令910。

Claims (20)

1.一种方法,包括:
使用序列到序列编码器根据作为通信会话的一部分而传输的第一消息来生成嵌入向量,所述序列到序列编码器已经基于历史消息数据进行了训练,所述历史消息数据包括在消息传送系统的用户之间传输的消息;
基于所述嵌入向量来确定用于回复所述第一消息的候选响应集合,所述候选响应集合是可用响应集合的子集;
从所述候选响应集合中选择对所述第一消息的推荐响应集合,所述推荐响应集合是所述候选响应集合的子集;以及
使得所述推荐响应集合由所述第一消息的接收者用户的客户端设备来呈现。
2.根据权利要求1所述的方法,其中,确定所述候选响应集合包括:
使用所述嵌入向量作为文本分类模型中的至少一个输入特征,产生分类标签集合和对应的概率值,所述概率值指示每个相应分类标签对所述第一消息进行正确归类的估计可能性,每个分类标签对应于来自所述可用响应集合中的相应可用响应;以及
基于所述对应的概率值来选择所述分类标签的子集,所述分类标签的所述子集对应于所述候选响应集合。
3.根据权利要求2所述的方法,其中,所述文本分类模型是至少使用由所述序列到序列编码器根据所述历史消息数据生成的嵌入向量来训练的。
4.根据权利要求2所述的方法,其中,所述文本分类模型是逻辑回归模型。
5.根据权利要求1所述的方法,其中,由所述接收者用户的所述客户端设备呈现的每个推荐响应能由所述接收者用户选择,以使得相应的推荐响应作为所述通信会话的一部分而被传输到所述第一消息的发送用户的客户端设备。
6.根据权利要求5所述的方法,还包括:
从所述接收者用户的所述客户端设备接收作为所述通信会话的一部分而传输的第二消息,所述第二消息是由于所述接收者用户选择第一推荐响应而由所述接收者用户的所述客户端设备来传输的;以及
作为所述通信会话的一部分而将所述第二消息传输到所述发送用户的所述客户端设备的所述客户端设备。
7.根据权利要求1所述的方法,其中,选择所述推荐响应集合包括:
确定来自所述候选响应集合的一定数量的候选响应被指派给第一候选组;
确定被指派给所述第一候选组的候选响应的所述数量大于阈值数量;以及
选择被指派给所述第一候选组的所述候选响应的子集以包括在所述推荐响应集合中,在被指派给所述第一候选组的所述候选响应的所述子集中所包括的候选响应的选定数量小于或等于所述阈值数量。
8.一种消息传送系统,包括:
一个或多个计算机处理器;以及
存储指令的一个或多个计算机可读介质,所述指令当由所述一个或多个计算机处理器执行时使得所述消息传送系统执行包括以下项的操作:
使用序列到序列编码器根据作为通信会话的一部分而传输的第一消息来生成嵌入向量,所述序列到序列编码器已经基于历史消息数据进行了训练,所述历史消息数据包括在所述消息传送系统的用户之间传输的消息;
基于所述嵌入向量来确定用于回复所述第一消息的候选响应集合,所述候选响应集合是可用响应集合的子集;
从所述候选响应集合中选择对所述第一消息的推荐响应集合,所述推荐响应集合是所述候选响应集合的子集;以及
使得所述推荐响应集合由所述第一消息的接收者用户的客户端设备来呈现。
9.根据权利要求8所述的消息传送系统,其中,确定所述候选响应集合包括:
使用所述嵌入向量作为文本分类模型中的至少一个输入特征,产生分类标签集合和对应的概率值,所述概率值指示每个相应分类标签对所述第一消息正确地进行归类的估计可能性,每个分类标签对应于来自所述可用响应集合中的相应可用响应;以及
基于所述对应的概率值来选择所述分类标签的子集,所述分类标签的所述子集对应于所述候选响应集合。
10.根据权利要求9所述的消息传送系统,其中,所述文本分类模型是至少使用由所述序列到序列编码器根据所述历史消息数据生成的嵌入向量来训练的。
11.根据权利要求9所述的消息传送系统,其中,所述文本分类模型是逻辑回归模型。
12.根据权利要求8所述的消息传送系统,其中,由所述接收者用户的所述客户端设备呈现的每个推荐响应能由所述接收者用户选择,以使得相应的推荐响应作为所述通信会话的一部分而被传输到所述第一消息的发送用户的客户端设备。
13.根据权利要求12所述的消息传送系统,所述操作还包括:
从所述接收者用户的所述客户端设备接收作为所述通信会话的一部分而传输的第二消息,所述第二消息是由于所述接收者用户选择第一推荐响应而由所述接收者用户的所述客户端设备来传输的;以及
作为所述通信会话的一部分而将所述第二消息传输到所述发送用户的所述客户端设备的所述客户端设备。
14.根据权利要求8所述的消息传送系统,其中,选择所述推荐响应集合包括:
确定来自所述候选响应集合的一定数量的候选响应被指派给第一候选组;
确定被指派给所述第一候选组的候选响应的所述数量大于阈值数量;以及
选择被指派给所述第一候选组的所述候选响应的子集以包括在所述推荐响应集合中,在被指派给所述第一候选组的所述候选响应的所述子集中所包括的候选响应的选定数量小于或等于所述阈值数量。
15.一种存储指令的非瞬态计算机可读介质,所述指令当由消息传送系统的一个或多个计算机处理器执行时使得所述消息传送系统执行包括以下项的操作:
使用序列到序列编码器根据作为通信会话的一部分而传输的第一消息来生成嵌入向量,所述序列到序列编码器已经基于历史消息数据进行了训练,所述历史消息数据包括在所述消息传送系统的用户之间传输的消息;
基于所述嵌入向量来确定用于回复所述第一消息的候选响应集合,所述候选响应集合是可用响应集合的子集;
从所述候选响应集合中选择对所述第一消息的推荐响应集合,所述推荐响应集合是所述候选响应集合的子集;以及
使得所述推荐响应集合由所述第一消息的接收者用户的客户端设备来呈现。
16.根据权利要求15所述的非瞬态计算机可读介质,其中,确定所述候选响应集合包括:
使用所述嵌入向量作为文本分类模型中的至少一个输入特征,产生分类标签集合和对应的概率值,所述概率值指示每个相应分类标签对所述第一消息正确地进行归类的估计可能性,每个分类标签对应于来自所述可用响应集合中的相应可用响应;以及
基于所述对应的概率值来选择所述分类标签的子集,所述分类标签的所述子集对应于所述候选响应集合。
17.根据权利要求16所述的非瞬态计算机可读介质,其中,所述文本分类模型是逻辑回归模型。
18.根据权利要求15所述的非瞬态计算机可读介质,其中,由所述接收者用户的所述客户端设备呈现的每个推荐响应能由所述接收者用户选择,以使得相应的推荐响应作为所述通信会话的一部分而被传输到所述第一消息的发送用户的客户端设备。
19.根据权利要求18所述的非瞬态计算机可读介质,所述操作还包括:
从所述接收者用户的所述客户端设备接收作为所述通信会话的一部分而传输的第二消息,所述第二消息是由于所述接收者用户选择第一推荐响应而由所述接收者用户的所述客户端设备来传输的;以及
作为所述通信会话的一部分而将所述第二消息传输到所述发送用户的所述客户端设备的所述客户端设备。
20.根据权利要求15所述的非瞬态计算机可读介质,其中,选择所述推荐响应集合包括:
确定来自所述候选响应集合的一定数量的候选响应被指派给第一候选组;
确定被指派给所述第一候选组的候选响应的所述数量大于阈值数量;以及
选择被指派给所述第一候选组的所述候选响应的子集以包括在所述推荐响应集合中,在被指派给所述第一候选组的所述候选响应的所述子集中所包括的候选响应的选定数量小于或等于所述阈值数量。
CN201910681182.6A 2018-07-31 2019-07-26 用于生成推荐消息的序列到序列的分类模型 Active CN110781286B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/051,050 2018-07-31
US16/051,050 US10721190B2 (en) 2018-07-31 2018-07-31 Sequence to sequence to classification model for generating recommended messages

Publications (2)

Publication Number Publication Date
CN110781286A true CN110781286A (zh) 2020-02-11
CN110781286B CN110781286B (zh) 2024-04-19

Family

ID=69229075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910681182.6A Active CN110781286B (zh) 2018-07-31 2019-07-26 用于生成推荐消息的序列到序列的分类模型

Country Status (2)

Country Link
US (1) US10721190B2 (zh)
CN (1) CN110781286B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114707041A (zh) * 2022-04-11 2022-07-05 中国电信股份有限公司 消息推荐方法、装置、计算机可读介质及电子设备

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
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
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10929392B1 (en) * 2018-11-16 2021-02-23 Amazon Technologies, Inc. Artificial intelligence system for automated generation of realistic question and answer pairs
US10956474B2 (en) 2019-03-14 2021-03-23 Microsoft Technology Licensing, Llc Determination of best set of suggested responses
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11275785B2 (en) * 2019-04-05 2022-03-15 Jade Global, Inc. AI routing framework for multi-domain chatbots
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
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN113554450A (zh) * 2020-04-24 2021-10-26 阿里巴巴集团控股有限公司 数据模型训练及数据处理方法、装置、设备及存储介质
US11043220B1 (en) 2020-05-11 2021-06-22 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
US11341354B1 (en) * 2020-09-30 2022-05-24 States Title, Inc. Using serial machine learning models to extract data from electronic documents
CN112887743B (zh) * 2021-01-19 2023-04-07 北京映客芝士网络科技有限公司 直播平台的信息推送方法、装置、电子设备和存储介质
CN113051476B (zh) * 2021-03-25 2023-06-13 北京百度网讯科技有限公司 用于消息发送的方法和装置
US11516163B2 (en) * 2021-03-31 2022-11-29 T-Mobile Usa, Inc. Image-based communication and response suggestions
CN116189800B (zh) * 2023-02-23 2023-08-18 深圳大学 基于气体检测的模式识别方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205740A (zh) * 2012-02-05 2014-12-10 苹果公司 统一通信应用程序
CN107870974A (zh) * 2016-09-23 2018-04-03 谷歌公司 使用设备上模型的智能回复
US20180210874A1 (en) * 2017-01-25 2018-07-26 Google Llc Automatic suggested responses to images received in messages using language model

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003293071A1 (en) * 2002-11-22 2004-06-18 Roy Rosser Autonomous response engine
US8121147B2 (en) * 2005-09-23 2012-02-21 Airwide Solutions, Inc. Context-sensitive multimedia message service response
US8204751B1 (en) * 2006-03-03 2012-06-19 At&T Intellectual Property Ii, L.P. Relevance recognition for a human machine dialog system contextual question answering based on a normalization of the length of the user input
US20130325992A1 (en) * 2010-08-05 2013-12-05 Solariat, Inc. Methods and apparatus for determining outcomes of on-line conversations and similar discourses through analysis of expressions of sentiment during the conversations
US9323741B2 (en) * 2010-11-03 2016-04-26 Eqsquest System and method for searching functions having symbols
US10366341B2 (en) * 2011-05-11 2019-07-30 Oath Inc. Mining email inboxes for suggesting actions
US9576050B1 (en) * 2011-12-07 2017-02-21 Google Inc. Generating a playlist based on input acoustic information
US9344297B2 (en) * 2014-01-30 2016-05-17 Linkedin Corporation Systems and methods for email response prediction
US9860200B1 (en) * 2014-08-27 2018-01-02 Google Llc Message suggestions
US9477652B2 (en) * 2015-02-13 2016-10-25 Facebook, Inc. Machine learning dialect identification
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US11061946B2 (en) * 2015-05-08 2021-07-13 Refinitiv Us Organization Llc Systems and methods for cross-media event detection and coreferencing
US9906482B2 (en) * 2015-05-13 2018-02-27 The Travelers Indemnity Company Predictive electronic message management systems and controllers
US10091140B2 (en) * 2015-05-31 2018-10-02 Microsoft Technology Licensing, Llc Context-sensitive generation of conversational responses
US10089576B2 (en) * 2015-07-28 2018-10-02 Microsoft Technology Licensing, Llc Representation learning using multi-task deep neural networks
US10262654B2 (en) * 2015-09-24 2019-04-16 Microsoft Technology Licensing, Llc Detecting actionable items in a conversation among participants
US10423874B2 (en) * 2015-10-02 2019-09-24 Baidu Usa Llc Intelligent image captioning
US10455088B2 (en) * 2015-10-21 2019-10-22 Genesys Telecommunications Laboratories, Inc. Dialogue flow optimization and personalization
US10354182B2 (en) * 2015-10-29 2019-07-16 Microsoft Technology Licensing, Llc Identifying relevant content items using a deep-structured neural network
US9965705B2 (en) * 2015-11-03 2018-05-08 Baidu Usa Llc Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering
US10691473B2 (en) * 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
KR20180093040A (ko) * 2015-12-21 2018-08-20 구글 엘엘씨 메시지 교환 스레드들에 대한 자동적인 제안들
US10268671B2 (en) * 2015-12-31 2019-04-23 Google Llc Generating parse trees of text segments using neural networks
US10021051B2 (en) * 2016-01-01 2018-07-10 Google Llc Methods and apparatus for determining non-textual reply content for inclusion in a reply to an electronic communication
US10243890B2 (en) * 2016-01-12 2019-03-26 Google Llc Methods and apparatus for determining, based on features of an electronic communication and schedule data of a user, reply content for inclusion in a reply by the user to the electronic communication
WO2017161320A1 (en) * 2016-03-18 2017-09-21 Google Inc. Generating dependency parses of text segments using neural networks
US10453074B2 (en) * 2016-07-08 2019-10-22 Asapp, Inc. Automatically suggesting resources for responding to a request
KR102604552B1 (ko) * 2016-07-15 2023-11-22 삼성전자주식회사 단어 임베딩 방법, 단어 임베딩 장치, 음성 인식 방법 및 음성 인식 장치
US10387571B2 (en) * 2016-07-20 2019-08-20 Vidicons LLC Networked device with suggested response to incoming message
KR102577584B1 (ko) * 2016-08-16 2023-09-12 삼성전자주식회사 기계 번역 방법 및 장치
US9824692B1 (en) * 2016-09-12 2017-11-21 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
US10015124B2 (en) * 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
US10565305B2 (en) * 2016-11-18 2020-02-18 Salesforce.Com, Inc. Adaptive attention model for image captioning
US20180144234A1 (en) * 2016-11-20 2018-05-24 Arturo Devesa Sentence Embedding for Sequence-To-Sequence Matching in a Question-Answer System
US11281993B2 (en) * 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US11347751B2 (en) * 2016-12-07 2022-05-31 MyFitnessPal, Inc. System and method for associating user-entered text to database entries
US9852177B1 (en) * 2016-12-13 2017-12-26 Kami Intelligence Ltd System and method for generating automated response to an input query received from a user in a human-machine interaction environment
CN106710596B (zh) * 2016-12-15 2020-07-07 腾讯科技(上海)有限公司 回答语句确定方法及装置
US10109275B2 (en) * 2016-12-19 2018-10-23 Asapp, Inc. Word hash language model
KR20180077846A (ko) * 2016-12-29 2018-07-09 주식회사 엔씨소프트 논쟁 유발성 문서 판별 장치 및 방법
KR20180077847A (ko) * 2016-12-29 2018-07-09 주식회사 엔씨소프트 문장 검증 장치 및 방법
CN113505205B (zh) * 2017-01-17 2023-06-06 华为技术有限公司 一种人机对话的系统和方法
US10636048B2 (en) * 2017-01-27 2020-04-28 Oath Inc. Name-based classification of electronic account users
US11907272B2 (en) 2017-02-17 2024-02-20 Microsoft Technology Licensing, Llc Real-time personalized suggestions for communications between participants
US10475438B1 (en) * 2017-03-02 2019-11-12 Amazon Technologies, Inc. Contextual text-to-speech processing
US10846614B2 (en) * 2017-03-16 2020-11-24 Facebook, Inc. Embeddings for feed and pages
US10552501B2 (en) * 2017-03-28 2020-02-04 Oath Inc. Multilabel learning via supervised joint embedding of documents and labels
US10417266B2 (en) * 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
CN107193792B (zh) * 2017-05-18 2020-10-02 北京百度网讯科技有限公司 基于人工智能的生成文章的方法和装置
US10810472B2 (en) * 2017-05-26 2020-10-20 Oracle International Corporation Techniques for sentiment analysis of data using a convolutional neural network and a co-occurrence network
US10348658B2 (en) * 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US20180367480A1 (en) * 2017-06-18 2018-12-20 Rapportboost.Ai, Inc. Optimizing chat-based communications
US11068593B2 (en) * 2017-08-03 2021-07-20 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Using LSTM encoder-decoder algorithm for detecting anomalous ADS-B messages
US20190073580A1 (en) * 2017-09-01 2019-03-07 Facebook, Inc. Sparse Neural Network Modeling Infrastructure
US20190114362A1 (en) * 2017-10-12 2019-04-18 Facebook, Inc. Searching Online Social Networks Using Entity-based Embeddings
US10680978B2 (en) * 2017-10-23 2020-06-09 Microsoft Technology Licensing, Llc Generating recommended responses based on historical message data
KR102069692B1 (ko) * 2017-10-26 2020-01-23 한국전자통신연구원 신경망 기계번역 방법 및 장치
US11604956B2 (en) * 2017-10-27 2023-03-14 Salesforce.Com, Inc. Sequence-to-sequence prediction using a neural network model
US10515155B2 (en) * 2018-02-09 2019-12-24 Digital Genius Limited Conversational agent
US10210244B1 (en) * 2018-02-12 2019-02-19 Asapp, Inc. Updating natural language interfaces by processing usage data
US10565443B2 (en) * 2018-02-16 2020-02-18 Wipro Limited Method and system for determining structural blocks of a document
US20190266482A1 (en) * 2018-02-26 2019-08-29 Gsi Technology Inc. Distance based deep learning
US11797838B2 (en) * 2018-03-13 2023-10-24 Pinterest, Inc. Efficient convolutional network for recommender systems
US20190325293A1 (en) * 2018-04-19 2019-10-24 National University Of Singapore Tree enhanced embedding model predictive analysis methods and systems
US10339919B1 (en) * 2018-04-20 2019-07-02 botbotbotbot Inc. Task-independent conversational systems
US11308450B2 (en) * 2018-04-27 2022-04-19 Microsoft Technology Licensing, Llc Generating personalized smart responses
US10943497B2 (en) * 2018-04-27 2021-03-09 Adobe Inc. Personalized e-learning using a deep-learning-based knowledge tracing and hint-taking propensity model
US10169315B1 (en) * 2018-04-27 2019-01-01 Asapp, Inc. Removing personal information from text using a neural network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205740A (zh) * 2012-02-05 2014-12-10 苹果公司 统一通信应用程序
CN107870974A (zh) * 2016-09-23 2018-04-03 谷歌公司 使用设备上模型的智能回复
US20180210874A1 (en) * 2017-01-25 2018-07-26 Google Llc Automatic suggested responses to images received in messages using language model

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114707041A (zh) * 2022-04-11 2022-07-05 中国电信股份有限公司 消息推荐方法、装置、计算机可读介质及电子设备
CN114707041B (zh) * 2022-04-11 2023-12-01 中国电信股份有限公司 消息推荐方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
US10721190B2 (en) 2020-07-21
US20200044990A1 (en) 2020-02-06
CN110781286B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
CN110781286B (zh) 用于生成推荐消息的序列到序列的分类模型
US10680978B2 (en) Generating recommended responses based on historical message data
US11308450B2 (en) Generating personalized smart responses
US11063891B2 (en) Personalized avatar notification
KR102557348B1 (ko) 콘텐츠 제안 시스템
US10867130B2 (en) Language classification system
US11652768B2 (en) Systems, devices, and methods for determining a non-ephemeral message status in a communication system
US20220035495A1 (en) Interactive messaging stickers
US11403463B2 (en) Language proficiency inference system
US20240045899A1 (en) Icon based tagging
US11233798B2 (en) Subprofiles for intent on page
US10860804B2 (en) Quick text classification model
US20200202303A1 (en) Relevance scores for user accounts
US11716243B2 (en) User classification based notification
US11516173B1 (en) Message composition interface
CN111125509B (zh) 语言分类系统
US11494052B1 (en) Context based interface options
US20200005242A1 (en) Personalized message insight generation

Legal Events

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