CN112511410B - 用于确定回复内容的方法、系统和介质 - Google Patents

用于确定回复内容的方法、系统和介质 Download PDF

Info

Publication number
CN112511410B
CN112511410B CN202011416819.8A CN202011416819A CN112511410B CN 112511410 B CN112511410 B CN 112511410B CN 202011416819 A CN202011416819 A CN 202011416819A CN 112511410 B CN112511410 B CN 112511410B
Authority
CN
China
Prior art keywords
reply
electronic communication
text
message
additional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011416819.8A
Other languages
English (en)
Other versions
CN112511410A (zh
Inventor
菲利普·尼尔·夏普
普拉巴卡尔·拉加万
汤普森·亚历山大·伊沃·高雷
巴林特·米克洛什
卡罗尔·库拉齐
托比亚斯·考夫曼
格雷戈里·肖恩·科拉多
拉斯洛·卢卡奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to CN202011416819.8A priority Critical patent/CN112511410B/zh
Publication of CN112511410A publication Critical patent/CN112511410A/zh
Application granted granted Critical
Publication of CN112511410B publication Critical patent/CN112511410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • 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
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Abstract

本发明涉及用于确定回复内容的方法、系统和介质。一些实施方式通常指向分析电子通信的语料库以确定在电子通信的“原始”消息的一个或多个原始消息特征与包括在这些电子通信的“回复”消息中的回复内容之间的关系。一些实施方式通常指向基于通信的一个或多个消息特征与回复文本之间的确定的关系提供回复文本以包括在对通信的回复中。

Description

用于确定回复内容的方法、系统和介质
分案说明
本申请属于申请日为2016年2月11日的中国发明专利申请No.201680010190.2的分案申请。
背景技术
用户经常被诸如电子邮件、SMS通信和社交联网通信的电子通信淹没。发送给用户的许多电子通信明确地征求回复或以其它方式包含用户可能希望回复的信息。例如,包含“Are you interested in grabbing lunch?(你有兴趣吃午餐吗?)”的电子邮件可以明确地征求回复。包含“I just got engaged!(我刚刚订婚!)”的电子邮件可能没有明确地征求回复,但接收电子邮件的用户可能仍然希望向电子邮件发送祝贺性回复。用户制定对电子通信的回复,并利用键盘(例如,智能电话或平板电脑的虚拟键盘)、麦克风、和/或计算设备的其它用户接口输入设备在计算设备处输入制定的回复。
发明内容
本说明书一般涉及与确定用于回复电子通信的回复内容和/或提供回复内容以用于经由计算设备呈现包括在对电子通信的回复中相关的技术特征。一些实施方式通常指向分析电子通信(例如,电子邮件、SMS通信和/或社交联网通信)的语料库,以确定电子通信的“原始”消息的一个或多个原始消息特征与包括在对这些电子通信的“回复”消息中的回复内容之间的关系。例如,可以分析语料库以基于使用回复n元(n-gram)的被回复的原始消息中频繁出现的原始消息n元(以及可选的其它内容),确定原始消息n元“attached(随附的)”和“draft document[s]for your review(供您查看的草稿文档)”以及回复n元“I'll takea look and will provide feedback(我将看一看并且将提供反馈)”之间的关系。在一些实施方式中,可以在不允许对语料库的一个或多个(例如,任何)电子通信的直接人类访问的情况下确定原始消息特征和回复内容之间的关系。在一些实施方式中,原始消息特征与回复内容之间的关系可以基于使用训练示例的训练机器学习系统来确定,每个训练示例具有指示相应电子通信的回复消息的回复内容的一个或多个输出参数以及指示相应电子通信的原始消息的原始内容的一个或多个输入参数。
一些实施方式通常指向基于通信的一个或多个消息特征与回复文本之间确定的关系,提供回复文本以包括在对通信的回复中。例如,电子邮件可以发送到用户并包括“Ourteam just won the Awesomeness Award!(我们的团队刚赢得了非凡奖!)”,并且可以基于电子邮件的一个或多个特征与“Good job!(干得好!)”之间的映射(定义关系的数据),作为对该电子邮件的候选回复来提供回复文本“Good job!”。例如,回复文本可以被提供以用于对电子邮件的回复中的自动填充,被提供以用于呈现(视觉上或听觉上)作为用户选择的建议等。作为另一个示例,电子邮件可以被发送到用户并包括“Our team just won theAwesomeness Award!”并且可以基于电子邮件的一个或多个特征与回复内容之间的指示一般祝贺性n元的映射——以及将“Good job!”定义为高排名的祝贺性n元的映射,来向用户提供回复文本“Good job!”作为对该电子邮件的回复。例如,基于它对该用户、对与该用户类似的一组用户、或对所有用户是流行的祝贺性n元,“Good job!”可以被定义为高排名的祝贺性n元。在一些实施方式中,可以独立于由用户在生成对该通信的回复中提供的任何文本输入提供回复文本以用于包括在对通信的回复中。换句话说,在一些实施方式中,甚至在用户开始输入回复之前,回复文本可以被呈现给用户。在一些实施方式中,响应于向所训练的机器学习系统提供通信的一个或多个消息特征,可以基于由所训练的机器学习系统提供的输出来确定回复文本以包括在对通信的回复中。
本文描述的各种方法和装置可以提供各种技术效果。例如,本公开的一些实施方式使得一个或多个计算机系统能够基于过去的电子通信来确定原始消息的消息特征与响应于这些原始消息的回复中的回复内容之间的关系——在不允许对语料库的一个或多个(例如,任何)电子通信的直接人类访问的情况下。例如,一些实施方式将过滤和/或聚类技术应用于这些电子通信和/或基于从这些电子通信生成的训练示例训练机器学习系统,以确定原始消息的消息特征与响应于这些原始消息的回复中的回复内容之间的关系。此外,例如,本公开的一些实施方式基于发送给用户的电子通信确定回复内容,以使得能够经由用户的计算设备向用户呈现回复内容以包括在对电子通信的回复中。确定和/或呈现可以可选地在用户在生成回复中提供任何文本输入和/或其它回复输入之前出现。这可以减少在用户的回复内容的制定期间否则将被使用的用户的计算设备的一个或多个资源的使用,特别是在回复内容可以由与用户的计算设备分开的计算机系统全部或部分地确定的实施方式中。作为另一个示例,一些实施方式可以确定用于潜在包括在回复中的多个候选回复文本,并且可以基于例如这些候选回复文本和回复响应于的电子通信之间的对应的确定的关系来提供这些多个候选回复文本中的一个或多个。例如,可以基于它们对应的确定的关系来确定多个呈现的回复文本的显示显著性。可以提供附加的和/或替选的技术效果,诸如本文更详细描述的各种技术效果。
在一些实施方式中,可以提供由至少一个计算机系统执行的计算机实现的方法,方法包括以下步骤:识别多个用户的电子通信的语料库,语料库的电子通信中的每个电子通信包括回复消息和回复消息所响应于的原始消息;基于语料库的电子通信的回复消息中的文本之间的相似性,将语料库的电子通信分组成多个聚类;基于聚类中的一个聚类确定回复内容;生成训练示例,每个训练示例具有指示回复内容的输出参数,并且每个训练示例具有指示一个聚类的电子通信中的相应一个的至少一个消息特征的一个或多个输入参数;以及基于训练示例训练机器学习系统。所训练的机器学习系统可以被训练成接收附加电子通信的一个或多个输入消息特征作为输入,并且提供回复内容是否适于包括在对附加电子通信的回复中的指示作为输出。
本文公开的这种方法和技术的其它实施方式可以各自可选地包括以下特征中的一个或多个。
在一些实施方式中,输出参数是该一个聚类的指示符。
在一些实施方式中,所述方法还包括:提供附加电子通信的一个或多个输入消息特征作为对所训练的机器学习系统的输入;接收回复内容是否适于包括在对附加电子通信的回复中的指示作为来自所训练的机器学习系统的输出;以及基于所述指示提供用于包括在回复中的回复文本,其中回复文本符合回复内容。在这些实施方式中的一些中,指示包括该聚类的一个或多个n元的n元指示,并且该方法还包括:基于n元指示到回复文本的映射来选择回复文本。基于n元指示到回复文本的映射来选择回复文本可以包括基于n元指示映射到回复文本的映射的权重来选择回复文本。
在一些实施方式中,所述方法还包括:基于聚类中的第二聚类来确定第二回复内容;生成第二训练示例,每个第二训练示例具有指示第二回复内容的第二训练示例输出参数,并且每个第二训练示例具有指示电子通信中的第二聚类的相应一个电子通信的至少一个消息特征的一个或多个第二训练示例输入参数;以及基于第二训练示例来训练机器学习系统,其中所训练的机器学习系统被进一步训练成提供第二回复内容是否适合于包括在回复中的指示作为输出。
在一些实施方式中,可以提供由至少一个计算机系统执行的计算机实现的方法,并且包括以下步骤:识别多个用户的电子通信的语料库,语料库的电子通信中的每个电子通信包括回复消息和回复消息所响应于的原始消息;确定在语料库的多个电子通信的回复消息中出现的回复内容;基于在回复消息中包括回复内容的多个所述电子通信的原始消息来确定至少一个消息特征;至少部分地基于包括回复内容和至少一个消息特征两者的电子通信的量来计算回复内容与至少一个消息特征之间的关系强度值;以及基于关系强度值来定义至少一个消息特征与回复内容之间的关系,所述关系被定义为用于电子地提供所述回复内容以用于呈现给包括至少一个消息特征的附加电子通信的接收者。
本文公开的这种方法和技术的其它实施方式可以各自可选地包括以下特征中的一个或多个。
在一些实施方式中,基于关系强度值来定义至少一个消息特征与回复内容之间的关系包括:定义关系;并将关系强度值分配给关系。
在一些实施方式中,基于关系强度值来定义至少一个消息特征与回复内容之间的关系包括:确定关系强度值满足阈值;并且基于确定关系强度值满足阈值,定义关系。
在一些实施方式中,该方法还包括:识别发送给用户的电子通信;确定电子通信包括至少一个消息特征;基于至少一个消息特征与回复内容之间的关系来识别回复内容;以及电子地提供该回复内容以用于潜在包括在对电子通信的回复中。在这些实施方式中的一些中,识别和提供该回复内容以用于潜在包括在对电子通信的回复中独立于在生成对消息的回复中经由用户的计算设备提供的任何文本输入而出现。在这些实施方式中的一些中,将关系强度值分配给至少一个消息特征与回复内容之间的关系,并且该方法还包括:基于至少一个消息特征和附加回复内容之间的附加关系识别附加回复内容;以及识别附加关系的附加关系强度值;其中提供该回复内容以用于潜在包括在对电子通信的回复中是基于关系强度值与附加关系强度值的比较。基于关系强度值与附加关系强度值的比较提供该回复内容以用于潜在包括在对电子通信的回复中可以包括:提供该回复内容以用于潜在包括在对电子通信的回复中,而不提供附加回复内容以用于潜在包括在对电子通信的回复中;或者基于关系强度值与附加关系强度值,确定回复内容和附加回复内容中的每一个的显示显著性,并且提供该回复内容和附加回复内容(具有显示显著性的指示)两者以用于潜在包括在对电子通信的回复中。
在一些实施方式中,至少一个消息特征包括电子通信的原始消息的文本中的n元。在这些实施方式中的一些中,确定至少一个消息特征包括:基于以下中的至少一个来确定n元:n元在回复消息中包括回复内容的电子通信中出现的计数;以及与n元相关联的整体流行性度量。
在一些实施方式中,确定在语料库的所述电子通信中的多个电子通信的回复消息中出现的回复内容包括:基于语料库的电子通信的回复消息中的文本之间的相似性将语料库的电子通信分组成多个聚类;以及基于聚类中的一个聚类的回复消息的文本来确定回复内容。在这些实施方式中的一些中,回复内容是具有相似语义含义的多个独特n元的指示符。在这些实施方式中的一些中,该方法还包括将多个n元分配给回复内容,基于该一个聚类包括该n元的回复消息的量来确定n元。在这些实施方式中的一些中,基于包括回复内容的多个电子通信的原始消息来确定至少一个消息特征包括,基于该一个聚类的原始消息的文本来确定至少一个消息特征;以及计算回复内容与至少一个消息特征之间的关系强度值至少部分地基于该一个聚类的包括回复内容和至少一个消息特征两者的电子通信的量。
在一些实施方式中,该方法还包括:使用一个或多个注释,注释所述电子通信中的一个或多个电子通信的原始消息的文本;其中至少一个消息特征包括n元,所述n元包括来自一个或多个电子通信的文本的一个或多个词项;并且包括所述注释中的一个或多个注释。在这些实施方式中的一些中,至少一个消息特征包括来自一个或多个电子通信的文本的一个或多个词项,并且所述注释中的该一个或多个注释包括替代该一个或多个电子通信的原始消息的一个或多个其它词项的实体类别。
在一些实施方式中,识别通信的语料库包括:基于每个电子通信的回复文本小于回复文本阈值长度,选择该电子通信用于包括在所述语料库中。
在一些实施方式中,该方法还包括:生成其中每个具有指示回复内容的输出参数和指示所述电子通信的包括所述回复内容的相应电子通信的至少一个消息特征的一个或多个输入参数的训练示例;以及基于训练示例训练机器学习系统,训练机器学习系统包括计算关系强度值和定义所述关系。在这些实施方式中的一些中,确定在语料库的多个电子通信的回复消息中出现的回复内容包括:基于语料库的电子通信的回复消息中的文本之间的相似性将语料库的电子通信分组成多个聚类;以及基于聚类的一个聚类的电子通信的回复消息的文本来确定回复内容。
在一些实施方式中,可以提供由至少一个计算机系统执行的计算机实现的方法,并且包括以下步骤:识别发送给用户的电子通信;基于电子通信确定至少一个消息特征;独立于在生成对消息的回复中经由用户的计算设备提供的任何文本输入,确定包括在对消息的回复中的候选回复文本,所述确定基于至少一个在该至少一个消息特征和候选回复文本之间的定义的关系;并提供候选回复文本以用于包括在对电子通信的回复中。
本文公开的这种方法和技术的其它实施方式可以各自可选地包括以下特征中的一个或多个。
在一些实施方式中,确定候选回复文本包括确定至少一个消息特征与候选回复文本之间的关系强度值;并且提供候选回复文本以用于包括在对消息的回复中是基于关系强度值。
在一些实施方式中,确定候选回复文本包括:识别所述至少一个定义的关系的第一关系,所述第一关系在至少一个消息特征的第一消息特征与候选回复文本之间;识别所述至少一个定义的关系的第二关系,所述第二关系在至少一个消息特征的第二消息特征与候选回复文本之间;并且识别第一关系的第一关系强度值和第二关系的第二关系强度值;并且提供所述候选回复文本以用于包括在对消息的回复中是基于第一关系强度值和第二关系强度值。
在一些实施方式中,将关系强度值分配给所述至少一个消息特征与候选回复文本之间的关系,并且该方法还包括:基于所述至少一个消息特征和附加回复内容之间的附加关系,识别附加候选回复文本;识别附加关系的附加关系强度值;并且提供所述回复内容以用于潜在包括在对消息的回复中是基于关系强度值与附加关系强度值的比较。在这些实施方式中的一些中,基于关系强度值与附加关系强度值的比较来提供候选回复文本以用于潜在包括在对消息的回复中包括:提供候选回复文本以用于潜在地包括在对消息的回复中而不提供附加候选回复文本以用于潜在包括在对消息的回复中。在这些实施方式中的一些中,基于关系强度值与附加关系强度值的比较来提供候选回复文本以用于潜在包括在对消息的回复中包括:基于关系强度值和附加关系强度值,确定候选回复内容和附加回复内容中的每一个的显示显著性;以及提供候选回复文本和附加候选回复文本两者以用于潜在地包括在对消息的回复中,其中候选回复文本和附加候选回复文本被提供有显示显著性的指示。
在一些实施方式中,所述至少一个消息特征包括一个或多个电子通信的原始文本中的n元。
在一些实施方式中,确定候选回复文本包括:识别所述至少一个定义的关系的第一关系,所述第一关系在至少一个消息特征与回复类别之间;识别所述至少一个定义的关系的第二关系,所述第二关系在回复类别和回复文本之间。在这些实施方式中的一些中,该方法还包括:至少部分地基于电子通信的内容和/或包括所述回复文本的用户的过去回复的量来确定第二关系的第二关系强度值;并且提供所述候选回复文本以用于包括在对消息的回复中是基于第二关系强度值。
在一些实施方式中,确定候选回复文本包括:将至少一个消息特征提供给所训练的机器学习系统作为输入,并接收候选回复文本的指示作为来自所训练的机器学习系统的输出。在这些实施方式中的一些中,候选回复文本的指示是回复类别,并且基于回复文本和回复类别之间的定义的关系来确定回复文本。
其它实施方式可以包括存储可由处理器执行的指令以执行诸如上述一个或多个方法中的方法的非暂时计算机可读存储介质。另一实施方式可以包括系统,其包括存储器和可操作以执行存储在存储器中的指令的一个或多个处理器,以执行诸如上述的一个或多个方法中的方法。
应当理解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开的最后的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
附图说明
图1示出了其中可以分析电子通信的语料库以确定一个或多个原始消息特征与回复内容之间的关系和/或其中可以基于通信的一个或多个消息特征与回复文本之间的至少一个定义的关系确定回复文本以包括在对通信的回复中的示例环境。
图2示出了如何可以基于电子通信的语料库来确定一个或多个原始消息特征与回复内容之间的关系的示例。
图3示出了如何可以基于电子通信的语料库来确定一个或多个原始消息特征与回复内容之间的关系的另一个示例。
图4示出了基于这些通信之间的相似性将电子通信分组成多个聚类以及基于聚类的电子通信的回复文本来确定回复内容的示例。
图5示出了如何可以基于通信的一个或多个消息特征与回复文本之间的至少一个定义的关系来确定回复文本以包括在对通信的回复中的示例。
图6是示出基于电子通信的语料库确定一个或多个原始消息特征与回复内容之间的关系的示例方法的流程图。
图7是示出基于通信的一个或多个消息特征与回复文本之间的至少一个定义的关系来确定回复文本以包括在对通信的回复中的示例方法的流程图。
图8A-图8C示出用于呈现包括在对电子通信的回复中的候选回复文本的示例图形用户界面。
图9示出计算机系统的示例架构。
具体实施方式
图1示出了其中可以分析电子通信的语料库以确定一个或多个原始消息特征与回复内容之间的关系和/或其中可以基于通信的一个或多个消息特征与回复文本之间的至少一个定义的关系确定回复文本以包括在对通信的回复中的示例环境。示例环境包括促进环境中的各种组件之间的通信的通信网络101。在一些实施方式中,通信网络101可以包括互联网、一个或多个内联网、和/或一个或多个总线子系统。通信网络101可以可选地利用一个或多个标准通信技术、协议和/或进程间通信技术。示例环境包括客户端设备106、电子通信系统110、回复内容系统120、选择引擎130、电子通信数据库152、以及消息特征和回复内容之间的关系数据库158。
电子通信系统110和回复内容系统120可以各自在例如通过网络(未示出)进行通信的一个或多个计算机中实现。电子通信系统110和回复内容系统120是其中本文描述的系统、组件和技术可以被实现和/或本文所描述的系统、组件和技术可以与之接口连接的示例系统。电子通信系统110和回复内容系统120各自包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及便于通过网络进行通信的其它组件。在一些实施方式中,电子通信系统110和/或回复内容系统120可以包括图9的示例计算机系统的一个或多个组件。由电子通信系统110和回复内容系统120执行的操作可以跨多个计算机系统分布。在一些实施方式中,回复内容系统120的一个或多个方面可以与电子通信系统110组合,和/或电子通信系统110和/或回复内容系统120的一个或多个方面可以在客户端设备106上实现。
一般地,在一些实施方式中,回复内容系统120分析电子通信的语料库,诸如电子通信数据库152的电子通信的语料库,以确定通信的“原始”消息的一个或多个原始消息特征和包括在这些通信的“回复”消息中的内容回复之间的关系。在这些实施方式中的一些中,可以在不允许对语料库的一个或多个(例如,任何)电子通信的直接人类访问的情况下确定原始消息特征与回复内容之间的关系。
通常,在一些实施方式中,回复内容系统120另外地和/或替选地确定并提供回复文本以包括在对通信的回复中,通信诸如由客户端设备106提供的通信和/或用户尚未回复的电子通信数据库152的通信。回复内容系统120可以基于通信的一个或多个消息特征与回复文本之间的一个或多个确定的关系来确定回复文本。在一些实施方式中,独立于在生成对通信的回复中由用户提供的任何文本输入,回复内容系统120可以提供回复文本以用于包括在对通信的回复中。
电子通信数据库152包括一个或多个存储介质,其包括多个用户的电子通信的全部或部分。在一些实施方式中,电子通信数据库152由电子通信系统110维护。例如,电子通信系统110可以包括一个或多个电子邮件系统,并且电子通信数据库152可以包括经由电子邮件系统发送和/或接收的多个电子邮件。作为另一个示例,电子通信系统110可以包括一个或多个社交联网系统,并且电子通信数据库152可以包括经由社交联网系统发送和/或接收的多个消息、帖子或其它通信。
如本文所使用的“电子通信”或“通信”可以指代电子邮件、文本消息(例如,SMS、MMS)、即时消息、转录语音邮件、或包括至少一些文本内容的任何其它电子通信。在各种实施方式中,电子通信可以包括各种元数据,并且元数据可以可选地在本文所描述的一种或多种技术中利用。例如,诸如电子邮件的电子通信可以包括电子通信地址,诸如一个或多个发送者标识符(例如,发送者电子邮件地址)、一个或多个接收者标识符(例如,接收者电子邮件地址,包括抄送和密送的接收者)、发送的日期、一个或多个附件、主题、发送和/或接收电子通信的设备的类型等等。
根据上下文,如本文所使用的“电子通信”和“通信”用于指代仅包括原始消息的电子通信和包括一个或多个原始消息且包括一个或多个回复消息的电子通信两者。电子通信可以是单个文档,诸如包括原始消息和回复消息两者并且可以被处理以区分原始消息和回复消息的电子邮件。处理电子通信以区分原始消息和回复消息可以包括基于元数据的存在、消息中断、包括在消息中的报头信息、围绕原始消息提供的引号等来“分割”消息。电子通信也可以是基于多个文档中的至少一个响应于多个文档中的其它文档而被映射到彼此的多个文档。例如,电子通信可以包括作为用户接收的原始消息的第一电子邮件和由用户发送作为对原始消息的回复的第二电子邮件、或原始和回复SMS消息。可以例如由电子通信系统110来执行多个文档彼此的映射。例如,基于用户当查看第一电子邮件时选择“回复”用户界面元素然后响应于选择回复用户界面元素起草第二电子邮件,电子通信系统110可以将第一电子邮件映射到第二电子邮件。
如本文所使用的,原始消息在时间上早于响应的回复消息,但不一定是电子通信中的第一消息。例如,原始消息可以是电子通信中时间上第一的消息,并且响应于该原始消息的回复消息可以是时间上较晚的(例如,时间上下一个)消息。此外,例如,原始消息可以另外地和/或替选地是在电子通信中时间上第二、第三或第四的消息,并且响应于该原始消息的回复消息可以是在电子通信中时间上较晚的消息。原始消息和回复消息中的每一个可以包括关联的文本、元数据、和/或其它内容(例如,附件、嵌入图像)中的一个或多个。
在各种实施方式中,回复内容系统120可以包括原始消息特征确定引擎122、回复内容确定引擎124、和/或关系强度引擎126。在一些实施方式中,可以省略引擎122、124和/或126的全部或多个方面。在一些实施方式中,可以组合引擎122、124和/或126的全部或多个方面。在一些实施方式中,引擎122、124和/或126的全部或多个方面可以在与回复内容系统120分开的组件中实现。回复内容系统120在此被描述为单个系统,其确定通信的“原始”消息的一个或多个原始消息特征和包括在这些通信的“回复”消息中的回复内容之间的关系;并且其确定并提供回复文本以包括在对通信的回复中,通信诸如由客户提供的通信。然而,在一些实施方式中,第一系统可以确定所述关系,并且单独的第二系统可以基于所确定的关系确定并提供回复文本。
通常,在确定一个或多个原始消息特征与回复内容之间的关系时,回复内容确定引擎124识别包括回复消息和回复消息响应于的原始消息的电子通信的语料库,并且确定在语料库的多个电子通信的回复消息中出现的回复内容。
在一些实施方式中,选择引擎130可以基于一个或多个判据来选择通信以包括在由回复内容确定引擎124识别和分析的语料库中。例如,选择引擎130可以基于该判据限制哪个电子通信被包括在电子通信数据库152中,并且电子通信数据库152可以被用作语料库。此外,例如,选择引擎130可以将电子通信数据库152的某些通信标记或以其它方式标注为适合于包括在语料库中的这些通信,并且这些注释的通信可以被用作语料库。
在一些实施方式中,选择引擎130可以基于包括“原始”消息和响应于该原始消息的“回复”消息的电子通信来选择包括在电子通信的语料库中的电子通信。如本文所述,包括原始消息和回复消息的电子通信可以是单个文档和/或映射到彼此的多个文档。在一些实施方式中,选择引擎130基于每个电子通信的回复消息的回复文本小于回复文本阈值长度和/或基于每个电子通信的原始消息的原始文本小于原始文本阈值长度来选择包括在语料库中的电子通信。例如,可以仅选择包括小于20个词和/或小于100个字符的回复文本的通信。
在一些实施方式中,选择引擎130可以采用一种或多种技术来减少语料库中某些类型的通信的出现。例如,在语料库包括电子邮件的情况下,回复内容确定引擎124可以采用技术来过滤掉可能来自商家的电子邮件。例如,可以从语料库中过滤掉来自某些电子邮件地址的电子邮件、来自具有特定域名的电子邮件地址的电子邮件、来自具有某些前缀的电子邮件地址的电子邮件、在主题行中具有某些n元的电子邮件等。此外,例如,可以过滤掉符合某些商家模板的电子邮件。此外,例如,可以过滤掉可能是垃圾邮件的电子邮件。
在一些实施方式中,选择引擎130基于与通信相关联的其它属性和/或通信的发送者和/或接收者选择包括在语料库中的电子通信。例如,如果希望为特定地理区域确定原始消息特征与回复n元之间的关系,则可以选择与该地理区域相关联的通信以包括在语料库中。
在一些实施方式中,回复内容确定引擎124确定在语料库的至少阈值数量的电子通信的回复消息的回复文本中出现的回复n元,并将该回复n元用作回复内容。例如,可以基于隐私考虑和/或效率考虑来设定阈值数量。在这些实施方式中的一些中,回复n元可以是由语料库的电子通信的一个或多个回复消息的全部回复文本组成的n元。在一些实施方式中,回复n元可以是在语料库的电子通信的一个或多个回复消息的回复文本的一个或多个特定片段(例如,第一句或第一短语)中出现的n元。在一些实施方式中,回复n元可以包括语料库的电子通信的多个回复消息的回复文本的部分,并且包括多个回复消息的回复文本的其它部分的类别的标识符。例如,可以基于在Bob发送的电子邮件中“see you there Bob(那里见,Bob)”、在Jane发送的电子邮件中“see you there Jane(那里见,Jane)”的出现等等,确定“see you there[sender's first name](那里见[发送者的名字])”的n元。
在一些实施方式中,回复内容确定引擎124将电子通信的语料库分组成多个聚类,并且基于所述聚类中的一个聚类的一个或多个电子通信的回复消息来确定回复内容。在这些实施方式中,回复内容确定引擎124基于语料库内的一个或多个电子通信中共享的一个或多个属性将电子通信的语料库分组成多个聚类。例如,回复内容确定引擎124可以基于语料库的电子通信的回复消息的回复文本之间的相似性,诸如语义、句法和/或文本相似性,将电子通信的语料库分组成聚类。通常,与分组在其它聚类中的回复消息相比,分组在给定聚类中的电子通信的回复消息将彼此更相似(基于分组利用的相似性)。
通常,所确定的聚类中的每一个对应于不同类别的回复内容。例如,一个聚类可以包含具有“祝贺性”回复内容的电子通信,诸如n元“Congrats!(祝贺!)”、“That's awesome(太好了!)”和“Way to go(好!)”;并且另一个聚类可以包含具有“感谢”回复内容的电子通信,诸如n元“Thanks(谢谢)”、“I appreciate it(我很感激)”和“Many thanks(多谢)”。在一些实施方式中,给定聚类的回复内容可以包括例如类别(例如,“祝贺性”回复内容)的标识符、在聚类的电子通信中最频繁地在回复内容中出现的n元的标识符(例如,50个最频繁的n元)、和/或内容的其它标识符。
在一些实施方式中,回复内容确定引擎124可以在基于回复内容之间的相似性度量将电子通信的语料库分组成多个聚类时利用一个或多个聚类算法。例如,在一些实施方式中,可以利用x-均值聚类,其中回复内容之间的距离基于回复内容之间的相似性度量。通常,x均值聚类是寻找用于k均值聚类的理想k的无监督的方法。通常,k均值聚类旨在将观测值分割成多个组,每个观察值被包括在其与之最相关的组中。可以可选地使用附加和/或替选的聚类技术。
通常,在确定一个或多个原始消息特征与回复内容之间的关系时,原始消息特征确定引擎122基于包括回复内容的一个或多个电子通信的原始消息来确定一个或多个原始消息特征。例如,在回复内容是n元的情况下,原始消息特征确定引擎122可以基于分析在回复消息中包括n元的一个或多个电子通信中的一个或多个的原始消息来确定原始消息特征。此外,例如,在回复内容指示由回复内容确定引擎124确定的电子通信的聚类的回复内容的情况下,原始消息特征确定引擎122可以基于分析电子通信的聚类的一个或多个电子通信的原始消息来确定原始消息特征。
在一些实施方式中,包括回复内容的一个或多个电子通信的原始消息的原始文本中频繁出现的n元可以被确定为消息特征。可以确定附加的和/或替选的消息特征,诸如包括回复内容的一个或多个电子通信的原始消息的文本中的两个或更多个n元的共同出现。两个或更多个n元的共同出现可以可选地以特定次序(例如,第一n元在第二n元之前)、以特定位置关系(例如,在另一个的n个词项或字符内)等共同出现。附加和/或替选的原始消息特征可以包括例如:基于应用于原始消息的文本的一个或多个自然语言处理标签的特征(例如,话音的部分、命名的实体、音调);基于在主题、首先的句子、最后的句子、或原始消息的其它部分中特定出现的文本的特征;基于诸如发送原始消息的时间、发送电子邮件的星期几、接收者的数量、发送原始消息的设备类型等的原始消息的元数据的特征。作为一个示例,由原始消息特征确定引擎122确定的原始消息特征可以是:多个原始消息的主题中的特定n元与这些原始消息的正文中另一个特定n元的共同出现。
在一些实施方式中,在至少一个消息特征在原始消息的文本中包括n元的情况下,原始消息特征确定引擎122可以基于在电子通信中包括回复文本中的回复n元的n元的出现的计数来确定n元。例如,在这些电子通信中的1000个电子通信的原始消息中出现的n元与在这些电子通信中的仅200个电子通信的原始消息中出现的n元相比可以更可能被确定为消息特征。在一些实施方式中,在至少一个消息特征在原始消息的文本中包括n元的情况下,原始消息特征确定引擎122可以附加地和/或替选地基于与n元相关联的总体流行性度量来确定n元。例如,“The kids have been sick all week(孩子们一整个星期都病了)”可能是比“Good morning(早安)”更不流行的n元(例如,基于其在大的的文档的语料库上、诸如语料库的所有电子通信上不频繁出现),并且基于其不太流行可能更有可能被确定为消息特征。
在一些实施方式中,在至少一个消息特征在原始消息的文本中包括n元的情况下,原始消息特征确定引擎122可以确定包括多个原始消息的文本的部分、并且包括原始消息的其它部分的类别的标识符或其它更高级别指示的n元。例如,可以基于在第一原始消息中“We have reservations at White Castle.Let me know if you can make it(我们在White Castle有预订。让我知道你能不能来)”、在第二原始消息中“We have reservationsat Waffle House.Let me know if you can make it(我们在Waffle House有预订。让我知道你能不能来)”等等的出现,确定“We have reservations at[Restaurant].Let meknow if you can make it(我们在[餐厅]有预订。让我知道你能不能来)”的n元。
通常,在确定一个或多个原始消息特征与回复内容之间的关系时,关系强度引擎126计算由回复内容确定引擎124确定的回复内容与由原始消息特征确定引擎122确定的至少一个消息特征之间的关系强度值。在一些实施方式中,关系强度引擎126至少部分地基于包括回复内容和至少一个消息特征两者的语料库的电子通信的量来计算关系强度。例如,当消息特征和回复内容出现在语料库的1000个通信中时,与消息特征和回复内容仅出现在语料库的300个通信中相比,可以确定在消息特征和回复内容之间关系值的“更强”强度。
在各种实施方式中,可以由原始消息特征确定引擎122确定多个消息特征,并且关系强度引擎126可以为多个消息特征作为集合地和/或为多个消息特征的各个分割确定关系强度值。例如,第一消息特征可以是第一n元,而第二消息特征可以是第二n元。关系强度引擎126可以计算第一n元和回复内容、第二n元和回复内容之间和/或第一和第二n元和回复内容之间的关系强度值。
关系强度引擎126进一步基于关系强度值来定义至少一个消息特征与回复n元之间的关系。在一些实施方式中,基于关系强度值来定义至少一个消息特征与回复内容之间的关系包括定义关系并且将关系强度值分配给关系。在一些实施方式中,基于关系强度定义至少一个消息特征与回复内容之间的关系附加地和/或替选地包括确定关系强度值满足阈值并且基于确定关系强度值满足阈值来定义关系。
在一些实施方式中,至少关系强度引擎126可以被实现为机器学习系统。在这些实施方式中,训练示例可以由回复内容系统120生成,每个具有指示由回复内容确定引擎124确定的回复内容的输出参数以及指示由原始消息特征确定引擎122基于在回复消息中包括回复内容的电子通信之一的原始文本确定的相应的原始消息特征的一个或多个输入参数。例如,第一训练示例可以包括作为输出参数的回复内容以及作为输入参数的在回复消息中包括回复内容的第一通信的原始消息的全部或部分文本(以及可选地与原始消息的文本和/或其它内容关联的注释)。第二训练示例可以包括作为输出参数的回复内容和作为输入参数的在回复消息中包括回复内容的第二通信的原始消息的全部或部分文本(以及可选地与原始消息的文本和/或其它内容关联的注释)。可以类似地生成附加训练示例,包括基于其它回复内容和关联的原始文本的附加训练示例。
可以基于训练示例训练机器学习系统。机器学习系统的训练可以包括计算关系强度和定义关系。例如,特定消息特征与特定回复内容之间的关系强度可以基于包括特定消息特征和特定回复内容的训练示例的量。可以通过提供附加通信的一个或多个消息特征作为对机器学习系统的输入并接收指示一个或多个建议的回复的信息(以及可选的关联的关系强度值)作为来自机器学习系统的输出,来利用所训练的机器学习系统以识别对附加通信(如本文所解释)的一个或多个候选回复文本。
在一些实施方式中,训练示例的每个输出参数可以是由原始回复内容确定引擎124可选地确定的聚类中的相应一个的指示符。如本文所描述的,每个聚类的回复消息可以包括全部在语义上和/或以其它方式彼此相似的多个独特n元。利用聚类的指示符而不是独特n元本身可以减少训练示例中的输出变量的数量,这可能导致机器学习系统的更有效的训练。在这些实施方式中的一些中,机器学习系统可以被训练成提供聚类的一个或多个指示符作为输出。关系强度引擎126和/或其它组件然后可以利用聚类的指示符到n元的进一步映射(以及可选地与映射相关联的权重),并且将n元中的一个或多个选择作为回复文本以在回复中利用。例如,如本文所描述的,在确定聚类时,回复内容确定引擎124可以将聚类的指示符和/或一个或多个频繁出现的聚类的n元指示为特定聚类的回复内容。例如,聚类可能包含具有“祝贺性”回复内容的电子通信,诸如n元“Congrats!”,“That's awesome”和“Way to go”。在这样的示例中,机器学习系统可以提供聚类的指示符作为输出,并且可以将聚类映射到前述的n元(可选地与其可以基于的权重一起,例如该n元在聚类的回复消息中的出现频率)。该映射可以被用于选择一个或多个n元以提供作为包括在回复中的回复文本。
由关系强度引擎126定义的关系可以被存储在消息特征和回复内容之间的关系数据库158中。例如,原始消息特征和回复内容可以被存储为节点,并且连接节点的边可以定义关系。边可以可选地被加权以定义这些关系的强度。在利用机器学习的实施方式中,机器学习系统还可以存储消息特征和回复内容之间的关系数据库158中的数据,数据库158定义在已经确定有用(基于训练示例的输入参数)的原始消息特征和回复内容(基于训练示例的输出参数)之间的确定的关系。
图2示出了可以如何基于电子通信的语料库来确定一个或多个原始消息特征与回复内容之间的关系的示例。回复内容确定引擎124从电子通信数据库152识别电子通信的语料库,并确定在语料库的多个电子通信的回复消息中出现的回复内容。语料库的电子通信包括回复消息和回复消息响应于的原始消息。在一些实施方式中,选择引擎130可以基于一个或多个判据来选择通信以包括在由回复内容确定引擎124识别和分析的语料库中。在一些实施方式中,回复内容确定引擎124确定在语料库的至少阈值数量的电子通信的回复消息的回复文本中出现的回复n元,并且利用该回复n元作为回复内容。
原始消息特征确定引擎122基于包括回复内容的一个或多个电子通信的原始消息来确定一个或多个原始消息特征。例如,回复内容确定引擎124可以向原始消息特征确定引擎122提供包括回复内容的电子通信的指示,并且原始消息特征确定引擎122可以分析这些电子通信的原始消息以确定一个或多个原始消息特征。例如,在回复内容是n元的情况下,原始消息特征确定引擎122可以基于分析在回复消息中包括n元的一个或多个电子通信的原始消息来确定原始消息特征。
将确定的回复内容和原始消息特征提供给关系强度引擎126。关系强度引擎126计算由回复内容确定引擎124确定的回复内容与由原始消息特征确定引擎122确定的至少一个消息特征之间的关系强度值。在一些实施方式中,关系强度引擎126至少部分地基于包括回复内容和至少一个消息特征两者的语料库的电子通信的量来计算关系强度。例如,当消息特征和回复内容在语料库的2000个通信中出现时,与消息特征和回复内容仅在语料库的200个通信中出现相比,可以确定在消息特征和回复内容之间的关系值的“更强”的强度。尽管图2中未示出,在一些实施方式中,关系强度引擎126可以与电子通信数据库152通信,以例如确定语料库的包括该回复内容和该至少一个消息特征两者的的电子通信的量。
如这里所描述的,在一些实施方式中,至少关系强度引擎126可以被实现为机器学习系统。在这些实施方式中,图2的回复内容和原始消息特征可以被提供为训练示例,其每个具有指示由回复内容确定引擎124确定的回复内容的输出参数和指示基于由原始消息特征确定引擎122在回复消息中包括回复内容的电子通信之一的原始文本确定的相应原始消息特征的一个或多个输入参数。可以基于训练示例来训练机器学习系统。
图3示出了可以如何基于电子通信的语料库确定一个或多个原始消息特征与回复内容之间的关系的另一个示例。回复内容确定引擎124从电子通信数据库152识别电子通信的语料库,并确定在语料库的多个电子通信的回复消息中出现的回复内容124a。回复内容124a是在通信152a、152b、152c的回复消息中出现的n元“Thanks[sender's first name].Iwill take a look and provide feedback(谢谢[发送者的名字]。我将看一看并且提供反馈)”,以及可选的附加通信。通信152a、152b和152c中的每一个中的回复消息包括“R:”之后的文本。要注意的是,回复内容124a包括更高级别指示“[sender's first name]”,其是包含作为电子通信152a、152b和152c的各自的原始消息的发送者的个人名字“Bob”、“Jane”和“Bill”的类别。回复内容确定引擎124可以基于例如个人名字与电子通信152a、152b和152c的原始消息的元数据的比较来确定个人名字对应于发送者的名字。
原始消息特征确定引擎122基于包括回复内容的多个电子通信的原始消息来确定原始消息特征123al、123a2和123a3。第一原始消息特征由123al指示为在通信152a、152b、152c以及可选地附加通信的原始消息中出现的n元“attached(随附的)”。第二原始消息特征由123a2指示为在通信152a、152b、152c以及可选地附加通信的原始消息中出现的n元“draft document[s]for your review(供您查看的草稿文档)”(“[s]”指示“文档”可能是单数或复数)。第三原始消息特征由123a3指示为在通信152a、152b、152c以及可选地附加通信的原始消息中出现的第一和第二原始消息特征的n元的共同出现。
确定的回复内容124a和原始消息特征123al、123a2和123a3被提供给关系强度引擎126。关系强度引擎126计算回复内容124a和原始消息功能123al、123a2和123a3中的每一个之间的关系强度值。基于关系强度值,关系强度引擎126在数据库158中定义第二原始消息特征123a2和回复内容124a之间的关系159a。基于关系强度值,关系强度引擎126还在数据库158中定义第三原始消息特征123a3和回复内容124a之间的关系159a。在一些实施方式中,关系强度引擎126还可以将相应的关系强度值分配给关系159a和159b。
基于关系强度值,关系强度引擎126不定义第一原始消息特征(“attached”)与回复内容之间的关系。例如,关系强度引擎126可能已经基于以下的比较计算了每个原始消息特征的关系强度值:语料库的包括回复内容和至少一个消息特征两者的电子通信的量;语料库的在原始消息中包括该至少一个消息特征并且包括不包括该回复内容的回复消息的电子通信的量。例如,关系强度引擎126可能已经确定了1000个通信在原始消息中包括“draft document[s]for your review”,以及在回复消息中包括回复内容;而50000个通信在原始消息中包括“draft document[s]for your review”并且包括不包括该回复内容的回复消息。关系强度引擎126可以基于这两个值的比较(例如,1000/50000=0.02)来确定第二原始消息特征123a2和回复内容124a之间的关系强度值——并且确定关系强度值满足适合于定义第二原始消息特征123a2与回复内容124a之间的关系的阈值。另一方面,关系强度引擎126可以确定2000个通信在原始消息中包括“attached”和在回复消息中包括回复内容;而500000个通信在原始消息中包括“draft document[s]for your review”,并且包括不包括回复内容的回复消息。关系强度引擎126可以基于这两个值的比较(例如,2000/500000=0.004)来确定第一原始消息特征123al和回复内容124a之间的关系强度值——并且确定关系强度值未能满足适合于定义第一原始消息特征123al和回复内容124a之间的关系的阈值。
图4示出了基于这些通信之间的相似性将电子通信分组成多个聚类,并且基于聚类的电子通信的回复文本来确定回复内容的示例。回复内容确定引擎124从电子通信数据库152识别电子通信的语料库,并且基于语料库内的一个或多个电子通信中共享的一个或多个属性将电子通信的语料库分组成多个聚类。例如,回复内容确定引擎124可以基于语料库的电子通信的回复消息的回复文本之间的相似性,诸如语义、句法和/或文本相似性,将电子通信的语料库分组成聚类。
例如,通信152d、152e和152f中的每一个中的回复消息包括“R:”之后的文本,并且每个回复消息包括本质上一般地是“祝贺性”的文本。回复内容确定引擎124可以基于回复消息的回复文本之间的相似性将这些通信和附加通信分组到相同的聚类中。通常,分组在给定聚类中的电子通信的回复消息对应于不同类别的回复内容,并与分组在其它聚类中的回复消息相比将彼此更相似(例如,基于分组中利用的相似性)。
回复内容确定引擎124确定指示每个聚类中的回复文本的回复内容124b至124n。例如,回复内容124b指示“聚类1”中的回复文本。指示聚类中的回复文本的回复内容可以包括例如类别的标识符(例如,“祝贺性”回复内容)、在聚类的电子通信中最频繁地在回复内容中出现的n元的标识符(例如,50个最频繁的n元)、和/或内容的其它标识符。
再次参考图1,在基于通信的一个或多个消息特征与回复文本之间确定的关系来提供回复文本以包括在对通信的回复中时,关系强度引擎126基于通信的一个或多个消息特征来确定候选回复文本。例如,可以由客户端设备106、电子通信系统110(可选地经由电子通信数据库152)和/或另一个组件向关系强度引擎126提供电子通信。关系强度引擎126识别电子通信的至少一个消息特征并且基于至少一个消息功能和候选回复文本之间的至少一个定义的关系(以及如果有的话,可选地,关系强度)确定包括在对消息的回复中的候选回复文本。
在一些实施方式中,可以独立于在生成对电子通信的回复中经由用户的计算设备提供的任何文本输入,通过关系强度引擎126来进行这样的确定。在这些实施方式中的一些中,可以在用户甚至查看或以其它方式消费通信之前进行确定。例如,关系强度引擎126可以在用户查看之前处理通信,确定用于包括在对通信的回复中的候选回复文本,并且在其被用户查看之前附加或以其它方式将候选回复文本与通信相关联。
在一些实施方式中,关系强度引擎126确定至少一个消息特征与候选回复文本之间的关系强度值,并且基于关系强度值提供所述候选回复文本以用于包括在对消息的回复中。例如,在一些实施方式中,仅当关系强度值满足阈值时才可以提供候选回复文本。此外,例如,提供候选回复文本的显著性和/或如何提供候选回复文本可以基于关系强度值。
在一些实施方式中,关系强度引擎126可以识别通信的多个消息特征,每个消息特征具有与候选回复文本定义的关系。例如,可以识别第一消息特征和候选回复文本之间的第一关系;并且还可以识别第二消息特征和候选回复文本之间的第二关系。在这些实施方式中的一些中,还可以识别第一关系的第一关系强度值和第二关系的第二关系强度值,并且提供所述候选回复文本以用于包括在对消息的回复中可以基于第一关系强度值和第二关系强度值。例如,在一些实施方式中,仅当这些值的总和、平均或其它度量满足阈值时,才可以提供候选回复文本。此外,例如,提供候选回复文本的显著性和/或如何提供候选回复文本可以基于关系强度值。
在一些实施方式中,关系强度引擎126可以识别对电子通信的多个候选回复文本,并且可选地提供包括在回复中的多个候选回复文本。例如,可以基于至少一个消息特征与第一和第二文本之间的相应关系来识别第一和第二回复文本。在这些实施方式中的一些中,可以识别第一关系(在消息特征和第一回复文本之间)和第二关系(在消息特征和第二回复文本之间)的关系强度值并且可以基于关系强度值的比较来提供用于潜在包括在对消息的回复中的第一回复文本。例如,可以提供用于潜在包括在对消息的回复中的第一回复文本,而不提供用于潜在包括在对消息的回复中的第二回复文本(例如,当第一回复文本的关系强度值远“强于”第二回复文本时)。此外,例如,可以基于关系强度值以及被提供用于潜在包括在对消息的回复中的第一回复文本和第二回复文本两者以及显示显著性的指示来确定第一回复文本和第二回复文本中的每一个的显示显著性。
在由客户端设备106将电子通信提供给关系强度引擎126的一些实施方式中,关系强度引擎126可以将所确定的回复文本提供给客户端设备106,用于作为用于包括在回复中的选项呈现给用户。在经由电子通信数据库152由电子通信系统110将电子通信提供给关系强度引擎126的一些实施方式中,关系强度引擎126可以在电子通信数据库152和/或其它数据库中存储回复文本与电子通信的关联。
关系强度引擎126还可以提供具有所确定的回复文本的显示显著性信息,其指示应当使用所述显著性(例如,位置、大小、颜色)呈现所确定的回复文本。一般来说,特定回复文本的关系强度越大,回复文本的显著性就越大。作为一个示例,在由关系强度引擎126确定多个候选回复文本的情况下,关系强度引擎126可以通过基于各自的关联强度得分对多个候选进行排名并且提供用于确定多个候选应当以哪个次序呈现的排名,来提供显著性的指示。
在一些实施方式中,关系强度引擎126仅提供确定的回复文本和潜在显著性信息,并且客户端设备106和/或电子通信系统110可以基于所提供的数据生成所确定的回复文本的显示。在一些实施方式中,关系强度引擎126可以另外提供生成显示所需的一些或全部数据。在这些实施方式中的一些中,可以将任何提供的显著性信息并入指示应当如何呈现显示的数据中。
如本文所述,在一些实施方式中,一些回复内容可以使用回复文本的一个或多个更高级别指示来定义。在这些情况下,关系强度引擎126可以确定用于“填写”回复文本的更高级别指示的实际回复文本。作为一个示例,确定的回复内容可以是“see you there[sender’s first name]”的n元,其中“[sender’s first name]”是回复文本的较高级别指示。关系强度引擎126可以确定电子通信的发送者的名字,并且将名字包括在n元中代替“[sender’s first name]。关系强度引擎126可以基于例如电子通信的元数据和/或向其发送电子通信的用户的联系人信息来确定发送者的名字。
作为另一个示例,确定的回复内容可以是诸如“祝贺性回复”的回复内容的类别的指示,并且关系强度引擎126可以确定一个或多个高排名的祝贺性n元作为回复文本。特定n元的排名可以基于例如其对于接收到电子通信的用户、对于与该用户类似的用户群体、对于所有用户的流行度和/或其作为回复n元在用于确定回复内容与原始信息特征之间关系的电子通信的语料库中的流行度。作为一个示例,可以将多个n元映射到“祝贺性回复”,并且可以基于在用户生成的过去回复中用户先前包括这些n元的次数来为特定用户选择一个或多个n元。
如本文所述,在一些实施方式中,关系强度引擎126可以是训练的机器学习系统。在这些实施方式中,可以通过将通信的一个或多个消息特征提供给关系强度引擎126作为输入来确定通信的一个或多个候选回复。响应于该输入,关系强度引擎126将提供回复文本的一个或多个指示作为输出(以及可选的关联的关系强度值)。
图5示出了可以如何基于在通信的一个或多个消息特征与回复文本之间的至少一个定义的关系来确定回复文本以包括在对通信的回复中的示例。关系强度引擎126接收电子通信152g。关系强度引擎126识别电子通信152g的至少一个消息特征,并基于在消息特征和回复内容之间的关系数据库158中的至少一个在至少一个消息特征和回复内容之间的关系(以及可选地关系强度)来确定要被包括在对通信的回复中的候选回复文本。在一些实施方式中,回复内容可以由关系强度引擎126提供为回复文本以包括在对通信的回复中。在一些实施方式中,一些回复内容可以使用回复文本的一个或多个更高级别指示来定义。在这些情况下,关系强度引擎126可以确定用于“填写”回复文本的更高级别指示的实际回复文本。
图8A-图8C示出了用于呈现用于包括在对电子通信的回复中的候选回复文本的示例图形用户界面。可以基于由关系强度引擎126确定和提供的回复文本在客户端设备106处呈现图8A-图8C的图形用户界面。在一些实施方式中,关系强度引擎126可以整体地或部分地并入在客户端设备106上。
在图8A中,用户正在查看已经发送给用户的电子邮件。候选回复文本“I’d loveto!(我很乐意去!)”、“I'll be there(我会去那里)”和“Sorry,I can't(对不起,我不能去)”基于电子邮件被确定,并且被呈现以包括在对电子邮件的回复中。例如,“I’d loveto!”的用户选择可以自动发送具有“I’d love to!”的回复和/或向用户呈现可能被“I’dlove to”预填充的可编辑回复消息。在图8A中,其中候选回复文本出现的位置可以基于如本文所述的确定的显示显著性。例如,基于显示显著性,“I’ll be there”可以最显著性地显示在屏幕的中间。
在图8B中,用户已经提供了输入以回复已经发送给用户的电子邮件。文本“Compose email(写电子邮件)”向用户指示用户可以选择开始写回复电子邮件。然而,注意,在图8B中,用户在写回复电子邮件时尚未提供任何文本输入。候选回复文本“I’d loveto!”、“I’ll be there”和“Sorry,I can’t”基于用户回复的电子邮件被确定(在下面重现:
“Original message:(原始消息:)”),并被呈现以包括在对电子邮件的回复中。例如,“I’d love to!”的用户选择可能自动使用“I’d love to!”替换“Compose email”文本。在图8B中,其中候选回复文本出现的位置可以基于如本文所述的确定的显示显著性。
在图8C中,用户已经提供了输入以回复已经发送给用户的SMS通信。文本“Reply(回复)”向用户指示用户可以选择开始写回复。然而,注意,在图8C中,用户在写回复时尚未提供任何文本输入。候选回复文本“Congrats!”、“Awesome!”和“Way to go!”基于用户正在回复的SMS通信(“We finally got the contract!(我们终于得到合同!)”)被确定,并被呈现以包括在对通信的回复中。例如,“Congrats!”的用户选择可能使用“Congrats.”自动替换“Reply”文本。在图8C中,其中候选回复文本出现的位置可以基于如本文所述的确定的显示显著性。
图6是示出基于电子通信的语料库确定一个或多个原始消息特征与回复内容之间的关系的示例方法的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件。例如,一些操作可以由回复内容系统120的一个或多个组件执行,诸如引擎122、124和/或126。而且,当以特定顺序示出图6的方法的操作时,这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在步骤600处,系统识别电子通信的语料库。语料库的每个电子通信包括原始消息和回复消息。
在步骤605处,系统确定在语料库的多个电子通信的回复消息中出现的回复内容。在步骤610处,系统基于包括回复内容的一个或多个电子通信的原始消息来确定至少一个消息特征。
在步骤615处,系统计算回复内容与至少一个消息特征之间的关系强度值。在一些实施方式中,可以至少部分地基于包括回复内容和至少一个消息特征两者的电子通信的量来计算关系强度值。在步骤620处,系统基于关系强度值来定义至少一个消息特征与回复内容之间的关系。
尽管关于回复内容的单个实例描述了图6的方法,但是应当理解,可以迭代地执行一个或多个步骤(例如,全部)以确定回复内容和相应的原始消息特征的多个实例。
图7是示出基于至少一个通信的一个或多个消息特征与回复文本之间的定义的关系来确定回复文本以包括在对通信的回复中的示例方法的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件。例如,可以由回复内容系统120的一个或多个组件执行一些操作,组件诸如关系强度引擎126。此外,虽然以特定顺序示出图7的方法的操作,但是这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在步骤700处,系统识别发送给用户的电子通信。在步骤705处,系统基于该电子通信确定至少一个消息特征。
在步骤710处,系统基于至少一个消息特征和回复文本之间的定义的关系来确定所述候选回复文本以用于包括在对消息的回复中。在步骤715处,提供候选回复文本以用于包括在对电子通信的回复中。
在本说明书中,术语“数据库”将广泛地用于指代任何数据集合。数据库的数据不需要以任何特定的方式进行结构化或不进行结构化,并且可以存储在一个或多个位置的存储设备上。因此,例如,数据库152和/或158可以各自包括多个数据集合,每个数据集合可以被不同地组织和访问。此外,例如,数据库152和/或158的全部或部分可以组合成一个数据库和/或可以包括数据库中的条目之间的指针和/或其它链接。
在其中本文描述的系统收集关于用户的个人信息或可以利用个人信息的情况下,可以向用户提供控制节目或特征是收集用户信息的机会(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好、或用户当前的地理位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或使用某些数据之前可以以一种或多种方式处理某些数据,以移除个人可识别信息。例如,可以对用户的身份进行处理,使得不能为用户确定个人可识别信息,或者在获得地理位置信息(例如,到达城市、邮编代码或状态等级)的情况下可以对用户的地理位置进行一般化使得不能确定用户的特定地理位置。因此,用户可以控制如何收集有关用户和/或使用的信息。
图9是示例计算机系统910的框图。计算机系统910通常包括至少一个处理器914,其经由总线子系统912与多个外围设备进行通信。这些外围设备可以包括存储子系统924,包括例如,存储器子系统925和文件存储子系统926、用户界面输出设备920、用户界面输入设备922和网络接口子系统916。输入和输出设备允许用户与计算机系统910交互。网络接口子系统916提供到外部网络的接口并且耦合到其它计算机系统中的相应接口设备。
用户界面输入设备922可以包括键盘,诸如鼠标、轨迹球、触摸板或图形输入板的指示设备,扫描仪,并入显示器中的触摸屏,诸如语音识别系统的音频输入设备,麦克风/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入计算机系统910或通信网络的所有可能类型的设备和方法。
用户界面输出设备920可以包括显示子系统、打印机、传真机、或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于产生可见图像的一些其它机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算机系统910向用户或另一机器或计算机系统输出信息的方式。
存储子系统924存储提供本文所述的一些或全部模块的功能的程序设计和数据结构。例如,存储子系统924可以包括执行图6和/或图7的方法的所选方面的逻辑。
这些软件模块通常由处理器917单独地或与其它处理器组合执行。在存储子系统中使用的存储器925可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930和其中存储固定指令的只读存储器(ROM)932。文件存储子系统926可以为程序和数据文件提供持久存储器,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱动器或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统926存储在存储子系统927中,或者由处理器917可访问的其它机器中。
总线子系统912提供用于使计算机系统910的各个组件和子系统按预期彼此通信的机制。虽然总线子系统912被示意性地示出为单个总线,但是总线子系统的替选实施方式可以使用多个总线。
计算机系统910可以是变化的类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图9中描绘的计算机系统910的描述旨在仅作为具体的示例,用于示出一些实施方式的目的。计算机系统910的许多其它配置可能具有比图9所示的计算机系统更多或更少的组件。
尽管本文已经描述和示出了几个实施方式,但是可以使用各种其它手段和/或结构用于执行功能和/或获得本文所述的结果和/或一个或多个优点,并且每个这样的变化和/或修改被认为在本文描述的实施方式的范围内。更一般来说,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的具体应用或多个应用。本领域技术人员将认识到或者能够使用不超过常规实验来确定本文所述的具体实施方式的许多等同物。因此,应当理解,前述实施方式仅以举例的方式呈现,并且在所附权利要求及其等同物的范围内,可以以除了具体描述和要求保护之外的方式实施实施方式。本公开的实施方式涉及本文所述的每个单独特征、系统、制品、材料、工具和/或方法。此外,如果这些特征、系统、制品、材料、工具和/或方法不相互矛盾,则两个或更多个这样的特征、系统、制品、材料、工具和/或方法的任何组合都包括在本公开的范围内。

Claims (28)

1.一种由一个或多个处理器实现的方法,所述方法包括:
识别由发送用户制定并且被发送给接收用户的电子通信;
确定所述电子通信的一个或多个消息特征;
将所述一个或多个消息特征作为输入提供给经训练的机器学习系统;
响应于提供给定的消息特征作为输入,作为来自所述经训练的机器学习系统的输出接收适合用于回复所述电子通信的多个建议的文本回复的指示,其中所述多个建议的文本回复包括至少第一文本回复和第二文本回复;
基于所述输出,确定提供至少所述第一文本回复和所述第二文本回复作为用于回复所述电子通信的建议;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起呈现所述第一文本回复和所述第二文本回复,其中所述第一文本回复和所述第二文本回复均是可选择的;
接收对所述第一文本回复或所述第二文本回复的选择;以及
响应于接收所述选择:
自动发送对所述电子通信的回复,其中所述回复包括所选择的第一文本回复或第二文本回复。
2.根据权利要求1所述的方法,其中,确定提供至少所述第一文本回复和所述第二文本回复作为用于回复所述电子通信的建议发生在所述接收用户已查看或以其它方式消费所述电子通信之前。
3.根据权利要求1所述的方法,其中,来自所述经训练的机器学习系统的输出指示回复内容,所述回复内容包括一个或多个固定词项以及发送用户名字的更高级别指示,并且进一步包括通过用所述发送用户的名字替换所述发送用户名字的更高级别指示来生成所述第一文本回复,其中所述第一文本回复包括所述一个或多个固定词项和所述发送用户的名字。
4.根据权利要求3所述的方法,进一步包括基于所述电子通信的元数据来确定所述发送用户的名字。
5.根据权利要求3所述的方法,进一步包括基于所述电子通信被发送给的用户的联系人信息来确定所述发送用户的名字。
6.一种由一个或多个处理器实现的方法,所述方法包括:
识别电子通信,所述电子通信包括:
由发送用户制定的原始消息,和
响应于所述原始消息并且由回复用户制定的回复消息,其中所述回复消息包括文本段,所述文本段包括所述发送用户的特定名字以及一个或多个附加词项;
基于所述电子通信来生成训练示例,其中生成所述训练示例包括:
基于所述原始消息的至少一个特征来生成用于所述训练示例的一个或多个输入参数;
生成用于所述训练示例的至少一个输出参数,其中所述至少一个输出参数指示给定文本段,其中给定发送用户的特定名字被发送者名字的更高级别指示替换;
基于所述训练示例并且基于多个附加训练示例来生成机器学习系统,所述多个附加训练示例是基于附加电子通信生成的;
在训练所述机器学习系统之后:
识别由附加发送用户发送给附加接收用户的新电子通信;
将所述新电子通信的给定消息特征作为输入提供给经训练的机器学习系统;
响应于提供给定消息特征作为输入,作为来自所述经训练的机器学习系统的给定输出,接收具有发送者名字的更高级别指示的给定文本段适合于包括在对给定电子通信的给定回复中的给定指示;
通过用发送所述新电子通信的附加发送用户的名字替换所述发送者名字的更高级别指示来生成建议文本回复,其中所述建议文本回复包括所述附加发送用户的名字并且包括所述一个或多个附加词项;
使所述附加接收用户的客户端设备呈现所述建议文本回复作为用于包括在对所述新电子通信的给定回复中的建议,
其中,使所述客户端设备呈现所述建议文本回复包括使所述客户端设备与所述新电子通信的呈现一起并且在所述附加接收用户已开始经由所述客户端设备键入对所述新电子通信的任何回复之前呈现所述建议文本回复。
7.根据权利要求6所述的方法,其中,使所述客户端设备呈现所述建议文本回复包括使所述客户端设备与所述新电子通信的呈现一起呈现所述建议文本回复,并且其中所述建议文本回复是可选择的。
8.根据权利要求7所述的方法,进一步包括:
接收对所述建议文本回复的选择;以及
响应于接收所述选择:
自动发送对所述新电子通信的给定回复,其中所述给定回复包括所述建议文本回复。
9.根据权利要求6所述的方法,其中,生成所述建议文本回复发生在所述附加接收用户已查看或以其它方式消费所述电子通信之前。
10.根据权利要求6所述的方法,进一步包括基于所述新电子通信的元数据来确定所述附加发送用户的名字。
11.根据权利要求6所述的方法,进一步包括基于所述附加接收用户的联系人信息来确定所述附加发送用户的名字。
12.一种用于确定回复内容的系统,包括:
存储指令的存储器;
一个或多个处理器,所述一个或多个处理器执行存储在所述存储器中的指令以用于:
识别由发送用户制定并且被发送给接收用户的电子通信;
确定所述电子通信的一个或多个消息特征;
将所述一个或多个消息特征作为输入提供给经训练的机器学习系统;
响应于提供给定消息特征作为输入,作为来自所述经训练的机器学习系统的输出接收适合用于回复所述电子通信的多个建议的文本回复的指示,其中所述多个建议的文本回复包括至少第一文本回复和第二文本回复;
基于所述输出,确定提供至少所述第一文本回复和所述第二文本回复作为用于回复所述电子通信的建议;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起呈现所述第一文本回复和所述第二文本回复,其中所述第一文本回复和所述第二文本回复均是可选择的;
接收对所述第一文本回复或所述第二文本回复的选择;以及
响应于接收所述选择:
自动发送对所述电子通信的回复,其中所述回复包括所选择的第一文本回复或第二文本回复。
13.根据权利要求12所述的系统,其中,所述处理器中的一个或多个在所述接收用户已查看或以其它方式消费所述电子通信之前确定提供至少所述第一文本回复和所述第二文本回复作为用于回复所述电子通信的建议。
14.根据权利要求12所述的系统,其中,来自所述经训练的机器学习系统的输出指示回复内容,所述回复内容包括一个或多个固定词项以及发送用户名字的更高级别指示,并且所述处理器中的一个或多个在执行所述指令时进一步用于:
通过用所述发送用户的名字替换所述发送用户名字的更高级别指示来生成所述第一文本回复,其中所述第一文本回复包括所述一个或多个固定词项和所述发送用户的名字。
15.根据权利要求14所述的系统,其中,所述处理器中的一个或多个在执行所述指令时进一步用于基于所述电子通信的元数据来确定所述发送用户的名字。
16.根据权利要求14所述的系统,其中,所述处理器中的一个或多个在执行所述指令时进一步用于基于所述电子通信被发送给的用户的联系人信息来确定所述发送用户的名字。
17.一种由一个或多个处理器实现的方法,所述方法包括:
识别由发送用户制定并且被发送给接收用户的电子通信;
确定所述电子通信的一个或多个消息特征;
基于使用经训练的机器学习系统对所述一个或多个消息特征的处理来确定适合用于回复所述电子通信的回复内容,其中所述回复内容指示具有相似语义含义的多个独特n元;
从所述多个独特n元中并且基于所确定的指示所述多个独特n元的回复内容,选择给定n元以作为用于回复所述电子通信的建议来提供;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起呈现所述给定n元作为用于包括在对所述电子通信的回复中的可选择建议。
18.根据权利要求17所述的方法,进一步包括在所述接收用户已经由客户端设备开始键入对所述电子通信的任何回复之前:
接收对所述给定n元的选择;以及
响应于接收所述选择:
自动发送对所述电子通信的回复,其中所述回复包括所述给定n元。
19.根据权利要求17所述的方法,其中,选择所述给定n元进一步基于在所述接收用户生成的过去回复中所述接收用户先前已包括所述给定n元的次数。
20.根据权利要求17所述的方法,进一步包括:
基于使用所述经训练的机器学习系统对所述一个或多个消息特征的处理来确定适合用于回复所述电子通信的附加回复内容,其中所述附加回复内容指示具有相似语义含义的多个附加独特n元;
从所述多个附加独特n元中并且基于所确定的指示所述多个附加独特n元的附加回复内容,选择附加给定n元以作为用于回复所述电子通信的建议来提供;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起并且与所述给定n元的呈现一起呈现所述附加给定n元作为用于包括在对所述电子通信的回复中的附加可选择建议。
21.根据权利要求17所述的方法,其中,选择所述给定n元以作为用于回复所述电子通信的建议来提供发生在所述接收用户已查看或以其它方式消费所述电子通信之前。
22.一种由一个或多个处理器实现的方法,所述方法包括:
识别由发送用户制定并且被发送给接收用户的电子通信;
在所述接收用户已查看或以其它方式消费所述电子通信之前:
确定所述电子通信的一个或多个消息特征;
基于使用经训练的机器学习系统对所述一个或多个消息特征的处理来确定适合用于回复所述电子通信的多个建议文本回复,其中所述多个建议文本回复包括至少第一文本回复和第二文本回复;
基于所述经训练的机器学习系统的输出来确定提供至少所述第一文本回复和所述第二文本回复作为用于回复所述电子通信的建议;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起呈现所述第一文本回复和所述第二文本回复,其中所述第一文本回复和所述第二文本回复均是可选择的。
23.根据权利要求22所述的方法,进一步包括:
在所述接收用户已查看或以其它方式消费所述电子通信之前,将所述第一文本回复和所述第二文本回复附接到所述电子通信;
其中,所述客户端设备基于附接到所述电子通信的所述第一文本回复和所述第二文本回复来与所述电子通信的呈现一起呈现所述第一文本回复和所述第二文本回复。
24.一种用于确定回复内容的系统,包括:
存储指令的存储器;
一个或多个处理器,所述一个或多个处理器执行存储在所述存储器中的指令以用于:
识别由发送用户制定并且被发送给接收用户的电子通信;
确定所述电子通信的一个或多个消息特征;
基于使用经训练的机器学习系统对所述一个或多个消息特征的处理来确定适合用于回复所述电子通信的回复内容,其中所述回复内容指示具有相似语义含义的多个独特n元;
从所述多个独特n元中并且基于所确定的指示所述多个独特n元的回复内容,选择给定n元以作为用于回复所述电子通信的建议来提供;
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起呈现所述给定n元作为用于包括在对所述电子通信的回复中的可选择建议。
25.根据权利要求24所述的系统,其中,所述处理器中的一个或多个进一步用于在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
接收对所述给定n元的选择;以及
响应于接收所述选择:
自动发送对所述电子通信的回复,其中所述回复包括所述给定n元。
26.根据权利要求24所述的系统,其中,在选择所述给定n元中,所述处理器中的一个或多个进一步基于在所述接收用户生成的过去回复中所述接收用户先前已包括所述给定n元的次数来选择所述给定n元。
27.根据权利要求24所述的系统,其中,所述处理器中的一个或多个进一步用于:
基于使用所述经训练的机器学习系统对所述一个或多个消息特征的处理来确定适合用于回复所述电子通信的附加回复内容,其中所述附加回复内容指示具有相似语义含义的多个附加独特n元;
从所述多个附加独特n元中并且基于所确定的指示所述多个附加独特n元的附加回复内容,选择附加给定n元以作为用于回复所述电子通信的建议来提供;以及
在所述接收用户已开始经由客户端设备键入对所述电子通信的任何回复之前:
使所述客户端设备与所述电子通信的呈现一起并且与所述给定n元的呈现一起呈现所述附加给定n元作为用于包括在对所述电子通信的回复中的附加可选择建议。
28.根据权利要求24所述的系统,其中,选择所述给定n元以作为用于回复所述电子通信的建议来提供发生在所述接收用户已查看或以其它方式消费所述电子通信之前。
CN202011416819.8A 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质 Active CN112511410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011416819.8A CN112511410B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/620,630 US10079785B2 (en) 2015-02-12 2015-02-12 Determining reply content for a reply to an electronic communication
US14/620,630 2015-02-12
CN201680010190.2A CN107278300B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质
CN202011416819.8A CN112511410B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质
PCT/US2016/017524 WO2016130788A1 (en) 2015-02-12 2016-02-11 Determining reply content for a reply to an electronic communication

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680010190.2A Division CN107278300B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质

Publications (2)

Publication Number Publication Date
CN112511410A CN112511410A (zh) 2021-03-16
CN112511410B true CN112511410B (zh) 2023-10-10

Family

ID=55527628

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011416819.8A Active CN112511410B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质
CN201680010190.2A Active CN107278300B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201680010190.2A Active CN107278300B (zh) 2015-02-12 2016-02-11 用于确定回复内容的方法、系统和介质

Country Status (5)

Country Link
US (4) US10079785B2 (zh)
CN (2) CN112511410B (zh)
DE (2) DE112016000741T5 (zh)
GB (2) GB2598242A (zh)
WO (1) WO2016130788A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160277510A1 (en) * 2015-03-18 2016-09-22 Ca, Inc. Response prototypes with robust substitution rules for service virtualization
US10803391B2 (en) * 2015-07-29 2020-10-13 Google Llc Modeling personal entities on a mobile device using embeddings
WO2017112796A1 (en) 2015-12-21 2017-06-29 Google Inc. Automatic suggestions and other content for messaging applications
US10530723B2 (en) 2015-12-21 2020-01-07 Google Llc Automatic suggestions for message exchange threads
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10387461B2 (en) 2016-08-16 2019-08-20 Google Llc Techniques for suggesting electronic messages based on user activity and other context
CN106415527B (zh) * 2016-08-31 2019-07-30 北京小米移动软件有限公司 消息通信方法及装置
CN109952572B (zh) * 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
CN109716727B (zh) 2016-09-20 2021-10-15 谷歌有限责任公司 获取访问与用户相关联的数据的许可的方法及系统
US10015124B2 (en) 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
US10416846B2 (en) * 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US11030515B2 (en) 2016-12-30 2021-06-08 Google Llc Determining semantically diverse responses for providing as suggestions for inclusion in electronic communications
US11373086B2 (en) * 2017-02-17 2022-06-28 Google Llc Cooperatively training and/or using separate input and response neural network models for determining response(s) for electronic communications
US10860854B2 (en) 2017-05-16 2020-12-08 Google Llc Suggested actions for images
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
US10659400B2 (en) 2018-10-05 2020-05-19 The Toronto-Dominion Bank Automated population of deep-linked interfaces during programmatically established chatbot sessions
CN112565058B (zh) * 2020-11-25 2022-12-06 网易(杭州)网络有限公司 消息处理方法、装置、终端及存储介质
US11792141B2 (en) 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection
US11962546B1 (en) * 2023-03-03 2024-04-16 Microsoft Technology Licensing, Llc Leveraging inferred context to improve suggested messages

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1628298A (zh) * 2002-05-28 2005-06-15 弗拉迪米尔·叶夫根尼耶维奇·涅博利辛 综合从搜索系统中使用的文档中抽取知识的自学习系统的方法
CN103608837A (zh) * 2011-06-17 2014-02-26 谷歌公司 自动生成用于社交网络中的个性化反应的建议
CN103826004A (zh) * 2012-11-16 2014-05-28 三星电子株式会社 用于根据当前状态发送回复消息的电子装置和方法
CN103902630A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 处理消息的方法、终端和系统
CN104182607A (zh) * 2013-05-23 2014-12-03 索尼公司 信息处理设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6278996B1 (en) 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response
US6718367B1 (en) 1999-06-01 2004-04-06 General Interactive, Inc. Filter for modeling system and method for handling and routing of text-based asynchronous communications
US7469280B2 (en) 2002-11-04 2008-12-23 Sun Microsystems, Inc. Computer implemented system and method for predictive management of electronic messages
US9818136B1 (en) * 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7496500B2 (en) 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
GB2455659A (en) 2006-08-21 2009-06-24 Philippe Jonathan Gabriel Lafleur Text messaging system and method employing predictive text entry and text compression and apparatus for use therein
US20080109735A1 (en) 2006-11-03 2008-05-08 Research In Motion Limited System and method for replying to an electronic mail message
US8078978B2 (en) 2007-10-19 2011-12-13 Google Inc. Method and system for predicting text
US8082151B2 (en) 2007-09-18 2011-12-20 At&T Intellectual Property I, Lp System and method of generating responses to text-based messages
US8862519B2 (en) 2008-12-29 2014-10-14 International Business Machines Corporation Predicting email response patterns
CN102262634B (zh) * 2010-05-24 2013-05-29 北京大学深圳研究生院 一种自动问答方法及系统
US8650194B2 (en) * 2010-12-10 2014-02-11 Sap Ag Task-based tagging and classification of enterprise resources
US8880406B2 (en) * 2011-03-28 2014-11-04 Epic Systems Corporation Automatic determination of and response to a topic of a conversation
CN102184225A (zh) * 2011-05-09 2011-09-14 北京奥米时代生物技术有限公司 一种在问答系统中搜索优选专家信息的方法
US9117194B2 (en) 2011-12-06 2015-08-25 Nuance Communications, Inc. Method and apparatus for operating a frequently asked questions (FAQ)-based system
US9569752B2 (en) * 2011-12-15 2017-02-14 Cisco Technology, Inc. Providing parameterized actionable communication messages via an electronic communication
US9380009B2 (en) * 2012-07-12 2016-06-28 Yahoo! Inc. Response completion in social media
US20140280623A1 (en) 2013-03-15 2014-09-18 Xiaojiang Duan Auto-reply email system and method with personalized content
CN104050256B (zh) * 2014-06-13 2017-05-24 西安蒜泥电子科技有限责任公司 基于主动学习的问答方法及采用该方法的问答系统
CN109792402B (zh) * 2016-07-08 2020-03-06 艾赛普公司 自动响应用户的请求

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1628298A (zh) * 2002-05-28 2005-06-15 弗拉迪米尔·叶夫根尼耶维奇·涅博利辛 综合从搜索系统中使用的文档中抽取知识的自学习系统的方法
CN103608837A (zh) * 2011-06-17 2014-02-26 谷歌公司 自动生成用于社交网络中的个性化反应的建议
CN103826004A (zh) * 2012-11-16 2014-05-28 三星电子株式会社 用于根据当前状态发送回复消息的电子装置和方法
CN103902630A (zh) * 2012-12-31 2014-07-02 华为技术有限公司 处理消息的方法、终端和系统
CN104182607A (zh) * 2013-05-23 2014-12-03 索尼公司 信息处理设备和存储介质

Also Published As

Publication number Publication date
US10079785B2 (en) 2018-09-18
US20160241493A1 (en) 2016-08-18
US20230353513A1 (en) 2023-11-02
US10728184B2 (en) 2020-07-28
GB201714398D0 (en) 2017-10-25
CN107278300B (zh) 2020-12-29
WO2016130788A1 (en) 2016-08-18
GB2552905A (en) 2018-02-14
DE202016107375U1 (de) 2017-01-20
US20200358723A1 (en) 2020-11-12
GB2598242A (en) 2022-02-23
CN112511410A (zh) 2021-03-16
DE112016000741T5 (de) 2017-10-26
GB202116574D0 (en) 2021-12-29
CN107278300A (zh) 2017-10-20
US20180367476A1 (en) 2018-12-20
US11516156B2 (en) 2022-11-29

Similar Documents

Publication Publication Date Title
CN112511410B (zh) 用于确定回复内容的方法、系统和介质
US11575628B2 (en) Methods and apparatus for determining non-textual reply content for inclusion in a reply to an electronic communication
CN116664093B (zh) 确定回复内容的方法和系统
US10387559B1 (en) Template-based identification of user interest
US20220377037A1 (en) Determining strength of association between user contacts
JP6524359B1 (ja) 入力および/または出力がチャット語を含む、ユーザインターフェース入力に応じた提示のための出力の生成
CN106164941B (zh) 提供与在消息中的模糊项相关的附加信息
US10733529B1 (en) Methods and apparatus for determining original electronic messages that contain asks
US20240146671A1 (en) Determining strength of association between user contacts
Szporer E-mail Analysis for Investigators: Techniques and Implementation

Legal Events

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