首页 / 专利库 / 企业组织 / 术语学家 / 用于消息传送应用的自动建议和其他内容

用于消息传送应用的自动建议和其他内容

阅读:493发布:2020-05-24

专利汇可以提供用于消息传送应用的自动建议和其他内容专利检索,专利查询,专利分析的服务。并且消息传送应用可以自动地分析一个以上的消息和/或用户信息的内容,以自动地提供建议给消息传送应用中的用户。该建议可以自动地将特殊的非消息传送功能结合到消息传送应用中。该自动建议可以建议将由用户选择的一个以上的合适的响应,以在消息传送应用中进行响应,和/或可以自动地代表用户发送一个以上的合适的响应。,下面是用于消息传送应用的自动建议和其他内容专利的具体信息内容。

1.一种计算机实现的方法,其特征在于,所述方法自动地提供消息传送应用中的机器人服务,所述方法包括:
接收多个用户之间的消息交换进程中的一个以上的消息,所述一个以上的消息中每个消息经由对应的消息传送应用,被所述多个用户中的对应用户提交,并且所述多个用户包含第一用户和第二用户;
基于所述一个以上的消息确定第一类型的第一机器人;
基于所述一个以上的消息确定第二类型的第二机器人,其中所述第二类型不同于所述第一类型;
基于所述一个以上的消息中的内容,相对于所述第二机器人,选择所述第一机器人;基于所述内容,将机器人命令传送到所述第一机器人,
其中,传送所述机器人命令到所述第一机器人是响应于相对于所述第二机器人选择所述第一机器人;
响应于传送所述机器人命令到所述第一机器人,从所述第一机器人接收响应内容;以及
经由所述第一用户的所述相应的消息传送应用,将来自所述第一机器人的用于呈现的所述响应内容提供给至少所述第一用户。
2.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容、相对于所述第二机器人选择所述第一机器人包括:
从所述一个以上的消息确定主题;以及
基于所述主题选择所述第一机器人。
3.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容相对于所述第二机器人选择所述第一机器人包括:
对于所述一个以上的消息进行语义分析;以及
基于所述语义分析选择所述第一机器人。
4.如权利要求1所述的方法,其特征在于,确定所述第一机器人和所述第二机器人包含:
确定所述一个以上的消息中的给定消息的至少一个术语与所述第一机器人和所述第二机器人双方的调用关联;以及
基于所述内容相对于所述第二机器人选择所述第一机器人包含:
基于所述一个以上的消息的附加消息中的至少一个附加术语来选择所述第一机器人,所述至少一个附加术语与所述第一机器人的调用关联而与所述第二机器人的调用不关联,其中所述附加消息在所述给定消息之前被提交到所述消息进程中。
5.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容来选择所述第一机器人包括:
在所述消息交换进程之前,从训练组数据生成已训练的机器学习模型;
将所述内容应用到所述已训练的机器学习模型,以通过所述已训练的机器学习模型生成输出;以及
基于指示所述第一机器人的所述输出,选择所述第一机器人。
6.如权利要求1到5中任一项所述的方法,其特征在于,相对于所述第二机器人选择所述第一机器人进一步基于以下中的至少一个:所述第一用户的位置以及与所述第一用户关联的用户信息。
7.如权利要求1到6中任一项所述的方法,其特征在于,进一步包括:
从信息源请求附加信息,所述附加信息被列举给所述第一机器人;
基于所述请求接收所述附加信息;以及
基于所述附加信息,生成符合所述第一机器人的所述机器人命令。
8.如权利要求1到7中任一项所述的方法,其特征在于,进一步包括:
确定所述一个以上的消息与目的地关联;以及
确定所述第一用户将在所述目的地的时间;
其中,所述机器人命令识别所述目的地和所述时间。
9.如权利要求1到8中任一项所述的方法,其特征在于,进一步包括:
基于所述一个以上的消息,确定所述第一用户与活动的色关联;以及
基于确定所述第一用户与所述活动的角色关联,相对于所述第二用户,选取所述第一用户从所述第一机器人接收所述响应内容;
将来自所述第一机器人的用于呈现的所述响应内容提供给至少所述第一用户包括,将用于呈现的所述响应内容提供给所述第一用户,而不将用于呈现的所述响应内容提供给所述第二用户。
10.如权利要求1到9中任一项所述的方法,其特征在于,进一步包括:
响应于提供所述响应内容,接收来自所述第一用户的针对所述第一机器人的问题;
响应于接收所述问题,指示所述第一机器人向与所述第一机器人关联的企业的企业主询问附加信息;
生成包括所述附加信息的答案;以及
响应于接收所述问题,将用于呈现的所述答案提供给所述第一用户。
11.如权利要求10所述的方法,其特征在于,进一步包括:
确定所述附加信息包括新信息;以及
在一个以上的一个以上的可读介质中,基于所述新信息,更新用于所述企业的企业简介。
12.如权利要求1到11中任一项所述的方法,其特征在于,提供来自所述第一机器人的所述响应内容包含:
为所述第一用户提供用户界面,所述用户界面包括对输入到区域的文本或者对于第一机器人的选择进行发送的所述区域。
13.如权利要求1到13中任一项所述的方法,其特征在于,进一步包括:
基于所述一个以上的消息中的情感、标点、以及表情符号中的至少一个,来确定所述第一用户的书写格;以及
以所述第一用户的所述书写风格,将所述响应内容提供给所述第一用户。
14.一种计算机实现的方法,其特征在于,包括:
接收第一用户和群组之间的消息,所述群组包含其他用户;
确定与所述消息、所述第一用户、以及所述其他用户中的至少一个用户关联的情境;
基于所述消息以及所述情境,为所述第一用户确定与所述群组共享的建议响应;以及响应于确定所述建议响应,将计算机可执行指令传送给与所述第一用户关联的计算装置,以使得所述计算装置以可选的方式,视觉上渲染所述建议响应。
15.如权利要求14所述的方法,其特征在于,进一步包括:
从所述第一用户接收所述建议响应一键选择;以及
响应于接收所述一键选择,将计算机可执行指令传送给与所述第一用户和所述群组关联的计算装置,以使得所述计算装置以非可选的方式,视觉上渲染所述建议响应。
16.如权利要求14或15所述的方法,其特征在于,进一步包括:
基于传感器数据,确定所述其他用户中的第二用户在途中;以及
响应于确定所述第二用户在途中,将计算机可执行指令传送给与所述第二用户关联的能够实现一键回复的计算装置。
17.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步基于,传感器数据、一个以上的用户偏好、会话历史、以及由所述其他用户中的每个用户进行的一个以上的最近活动中的至少一个。
18.如权利要求14-16中任一项所述的方法,其特征在于,进一步包括:
基于与所述其他用户中的第二用户的位置有关的区域、市场以及国家中的至少一个中的其他消息,确定一个以上的趋势响应;以及
其中所述建议响应包括所述一个以上的趋势响应。
19.如权利要求14-18中任一项所述的方法,其特征在于,所述消息是对于与所述其他用户关联的位置的请求,并且所述建议响应包括用于所述其他用户中的每个用户的所述位置。
20.如权利要求14-19中任一项所述的方法,其特征在于,所述建议响应包括与所述群组共享的图像、与所述群组共享的位置、以及与所述第二用户共享的日历事件中的至少一个。
21.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步基于使用机器学习来为所述第一用户以及所述其他用户中的第二用户中的至少一个,开发个性化模型。
22.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步基于所述其他用户中的第二用户的个性属性,并且进一步包括:
基于一个以上的标点使用、表情符号使用、基于白名单将所述一个以上的消息中的词语分类为包含诙谐和讽刺中的至少一个,来确定所述第二用户的所述个性属性。
23.如权利要求14-22中任一项所述的方法,其特征在于,进一步包括:
为所述其他用户中的第二用户提供图形用户界面,所述图形用户界面包括选项,以便指定个性的类型、以及所述建议响应结合到与个性的所述类型关联的词语的程度。
24.如权利要求14-16中任一项所述的方法,其特征在于,
所述消息的所述情境包括对于预计到达时间的请求;
确定所述建议响应包括,基于所述第一用户的位置、包括日历事件的位置的所述日历事件、以及与来自地图应用的目的地有关的信息中的至少一个,确定所述预计到达时间;以及
所述建议响应包括所述预计到达时间。
25.如权利要求14-24中任一项所述的方法,其特征在于,所述消息是第一消息,并且进一步包括:
基于自从在会话中接收到上次的消息之后经过的阈值,确定会话起动建议;以及基于与所述群组关联的主题、趋势主题、与所述群组关联的所述主题有关的最近事件、以及与所述用户之一关联的活动中的至少一个,提供所述会话起动建议。
26.如权利要求14-25中任一项所述的方法,其特征在于,进一步包括:
确定聊天机器人是否存在;
响应于所述聊天机器人存在,生成所述建议响应作为第一组自动建议响应;以及响应于所述聊天机器人不存在,生成所述建议响应作为第二组自动建议响应。
27.如权利要求26所述的方法,其特征在于,所述第一组自动建议响应是基于聊天机器人遵循的会话规则。
1.一种计算机实现的方法,其特征在于,所述方法自动地提供消息传送应用中的机器人服务,所述方法包括:
接收多个用户之间的消息交换进程中的一个以上的消息,所述一个以上的消息中每个消息经由对应的消息传送应用,被所述多个用户中的对应用户提交,并且所述多个用户包含第一用户和第二用户;
基于所述一个以上的消息确定第一类型的第一机器人;
基于所述一个以上的消息,确定第二类型的第二机器人,其中所述第二类型不同于所述第一类型,
其中确定所述第一机器人和所述第二机器人包括确定所述一个以上的消息中的给定消息中的至少一个术语与所述第一机器人和所述第二机器人两者的调用关联;
基于所述一个以上的消息中的内容,相对于所述第二机器人,选择所述第一机器人;
基于所述内容,将机器人命令传送给所述第一机器人,
其中,传送所述机器人命令给所述第一机器人是响应于相对于所述第二机器人选择所述第一机器人;
响应于传送所述机器人命令给所述第一机器人,从所述第一机器人接收响应内容;以及
经由所述第一用户的所述对应的消息传送应用,将来自所述第一机器人的用于呈现的所述响应内容提供给至少所述第一用户。
2.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容、相对于所述第二机器人选择所述第一机器人包括;
从所述一个以上的消息确定主题;以及
基于所述主题,选择所述第一机器人。
3.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容、相对于所述第二机器人选择所述第一机器人包括;
对于所述一个以上的消息进行语义分析;以及
基于所述语义分析选择所述第一机器人。
4.如权利要求1所述的方法,其特征在于,基于所述内容、相对于所述第二机器人选择所述第一机器人包含:
基于所述一个以上的消息的附加消息中的至少一个附加术语来选择所述第一机器人,所述至少一个附加术语与所述第一机器人的调用关联而与所述第二机器人的调用不关联,其中所述附加消息在所述给定消息之前的所述消息进程中被提交。
5.如权利要求1所述的方法,其特征在于,基于所述一个以上的消息中的所述内容来选择所述第一机器人包括;
在所述消息交换进程之前,从训练组数据产生训练机器学习模型;
将所述内容应用到所述训练机器学习模型,以通过所述训练机器学习模型生成输出;
以及
基于指示所述第一机器人的所述输出,选择所述第一机器人。
6.如权利要求1到5中任一项所述的方法,其特征在于,相对于所述第二机器人选择所述第一机器人进一步基于以下中的至少一个:所述第一用户的位置以及与所述第一用户关联的用户信息。
7.如权利要求1到6中任一项所述的方法,其特征在于,进一步包括:
从信息源请求附加信息,所述附加信息被列举给所述第一机器人;
基于所述请求接收所述附加信息;以及
基于所述附加信息,生成符合所述第一机器人的所述机器人命令。
8.如权利要求1到7中任一项所述的方法,其特征在于,进一步包括:
确定所述一个以上的消息与目的地关联;以及
确定所述第一用户将在所述目的地的时间;
其中所述机器人命令识别所述目的地和所述时间。
9.如权利要求1到8中任一项所述的方法,其特征在于,进一步包括:
基于所述一个以上的消息,确定所述第一用户与活动的角色关联;以及
基于确定所述第一用户与所述活动的角色关联,相对于所述第二用户,选取所述第一用户从所述第一机器人接收所述响应内容;
将来自所述第一机器人的用于呈现的所述响应内容提供给至少所述第一用户包括,将用于呈现的所述响应内容提供给所述第一用户,而不将用于呈现的所述响应内容提供给所述第二用户。
10.如权利要求1到9中任一项所述的方法,其特征在于,进一步包括:
响应于提供所述响应内容,接收来自所述第一用户的针对所述第一机器人的问题;
响应于接收所述问题,指示所述第一机器人向与所述第一机器人关联的交易的企业主询问附加信息;
生成包括所述附加信息的答案;以及
响应于接收所述问题,将用于呈现的所述答案提供给所述第一用户。
11.如权利要求10所述的方法,其特征在于,进一步包括:
确定所述附加信息包括新信息;以及
在一个以上的一个以上的可读介质中,基于所述新信息,更新用于所述交易的交易简介。
12.如权利要求1到11中任一项所述的方法,其特征在于,提供来自所述第一机器人的所述响应内容包含:
为所述第一用户提供用户界面,所述用户界面包括对输入区域的本文进行发送的所述区域或者对于第一机器人的选择。
13.如权利要求1到12中任一项所述的方法,其特征在于,进一步包括:基于所述一个以上的消息中的情感、标点、以及表情符号中的至少一个,来确定所述第一用户的书写风格;
以及
以所述第一用户的所述书写风格,将所述响应内容提供给所述第一用户。
14.一种计算机实现的方法,其特征在于,包括:
接收第一用户和群组之间的消息,所述群组包含其他用户;
确定与所述消息、所述第一用户、以及所述其他用户中的至少一个用户关联的前后关系;
基于所述消息以及前后关系,为所述第一用户确定与所述群组共享的建议响应;以及其中确定所述建议响应进一步包含:
确定聊天机器人是否存在;
响应于所述聊天机器人存在,生成所述建议响应作为第一组自动建议响应;以及响应于所述聊天机器人不存在,生成所述建议响应作为第二组自动建议响应;以及响应于确定所述建议响应,将计算机可执行指令传送给与所述第一用户关联的计算装置,以使得所述计算装置以可选的方式,视觉上渲染所述建议响应。
15.如权利要求14所述的方法,其特征在于,进一步包括:
从所述第一用户接收所述建议响应的一触式选择;以及
响应于接收所述一触式选择,将计算机可执行指令传送给与所述第一用户和所述群组关联的计算装置,以使得所述计算装置以非可选的方式,视觉上渲染所述建议响应。
16.如权利要求14或15所述的方法,其特征在于,进一步包括:
基于传感器数据,确定所述其他用户中的第二用户在途中;以及
响应于确定所述第二用户在途中,将计算机可执行指令传送给与所述第二用户关联的能够实现一触式回复的计算装置。
17.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步是基于传感器数据、一个以上的用户偏好、会话历史、以及由所述其他用户中的每个用户进行的一个以上的最近活动中的至少一个。
18.如权利要求14-16中任一项所述的方法,其特征在于,进一步包括:
基于与所述其他用户中的第二用户的位置有关的区域、市场以及国家中的至少一个中的其他消息,确定一个以上的趋势响应;以及
其中所述建议响应包括所述一个以上的趋势响应。
19.如权利要求14-18中任一项所述的方法,其特征在于,所述消息是对于与所述其他用户关联的位置的请求,并且所述建议响应包括用于所述其他用户中的每个用户的所述位置。
20.如权利要求14-19中任一项所述的方法,其特征在于,所述建议响应包括与所述群组共享的图像、与所述群组共享的位置、以及与所述第二用户共享的日历事件中的至少一个。
21.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步基于使用机器学习来为所述第一用户以及所述其他用户中的第二用户中的至少一个,提出个性化模型。
22.如权利要求14-16中任一项所述的方法,其特征在于,确定所述建议响应进一步基于所述其他用户中的第二用户的个性属性,并且进一步包括:
基于标点使用、表情符号使用、基于白名单将所述一个以上的消息中的词语分类为包含诙谐和讽刺中的至少一个,来确定所述第二用户的所述个性属性。
23.如权利要求14-22中任一项所述的方法,其特征在于,进一步包括:
为所述其他用户中的第二用户提供图形用户界面,所述图形用户界面包括选项,以便指定个性的类型、以及所述建议响应结合到与个性的所述类型关联的词语的程度。
24.如权利要求14-16中任一项所述的方法,其特征在于,所述消息的所述前后关系包括对于预计到达时间的请求;确定所述建议响应包括基于所述第一用户的位置、包括所述日历事件的位置的日历事件、以及与来自地图应用的目的地有关的信息中的至少一个,确定所述预计到达时间;以及
所述建议响应包括所述预计到达时间。
25.如权利要求14-24中任一项所述的方法,其特征在于,所述消息是第一消息,并且进一步包括:
基于自从在会话中接收到上次的消息之后经过的阈值,提供会话起动建议;以及基于与所述群组关联的主题、趋势主题、与所述群组关联的主题有关的最近事件、以及与所述用户之一关联的活动中的至少一个,提供所述会话起动建议。
26.如权利要求14-25中任一项所述的方法,其特征在于,所述第一组自动建议响应是基于聊天机器人遵循的会话规则。

说明书全文

用于消息传送应用的自动建议和其他内容

背景技术

[0001] 用户越来越多地依赖于移动装置来与其他用户进行交流,而不是台式计算机。移动装置可以被带到任何地方,这是很方便的。然而,利用它们的小屏幕和受限的带宽,用户可能难以及时获得他们需要的信息。此外,用户可能更喜欢使用他们的移动装置来进行聊天;然而,一些信息可能只有通过打电话并且与人说话而可用。发明内容
[0002] 实施方式大体涉及消息传送应用程序。某些实施方式可以自动地分析一个以上的消息传送会话(此处还被称为“消息交换进程”)和/或用户信息的一个以上的内容,以自动地提供建议给消息传送应用程序中的用户。在某些示例中,该建议可以自动地将特殊的非消息传送功能结合到消息传送应用程序中。在某些其他示例中,该自动建议可以建议将由用户选择的一个以上的合适的响应,以在消息传送应用程序中进行响应,和/或可以代表用户自动地发送一个以上的合适的响应。
[0003] 某些实施方式能够实现与人类用户和/或聊天机器人的消息传送。在某些实施方式中,可以基于聊天机器人是否正在参与消息传送会话来定制自动建议。也就是说,在某些示例中,如果聊天机器人在消息传送会话中不存在,那么第一组自动响应可以被建议,而如果聊天机器人存在于消息传送会话之中,那么第二组自动响应可以被建议,且第一组自动响应和第二组自动响应至少部分不同。例如,实施方式可以采用聊天机器人遵循的会话规则的认识,并且基于该规则为用户建议响应。换句话说,当给定的聊天机器人存在时,响应可以被建议为符合给定聊天机器人遵循的规则,而如果给定聊天机器人不存在(然而会话的消息是相同的),那么响应可能尚未被建议。这减轻了用户一般与聊天机器人以聊天机器人容易理解的语言并且格式进行交流中所存在的挑战。这还可以通过增加以聊天机器人理解的语言和格式与聊天机器人交流的可能性,来减少网络通信量和/或其他计算资源,这可以减轻与聊天机器人澄清不符合聊天机器人的语言和格式要求的响应的附加交流的需要。
[0004] 一些实施方式在进行的消息交换进程期间提供情境相关的建议,并且使得参与者能够以简单的方式(例如,经由单击和/或其他单次选择界面动作),将建议(或相关的内容)添加到消息交换进程。附加地或替换地,情境相关的建议可以为参与者提供针对情境相关的实体的内容,而不需要参与者从渲染消息交换进程的应用切换到另一个应用,以便获取这种内容。这可以减少某些计算资源的使用,否则这些计算资源将在切换到另一个应用以满足信息需要中被消耗。例如,切换到另一个应用可能需要经由发动和/或显露应用而使用处理器、内存、和/或电池源。此外,代替在消息交换进程中获得内容,切换到另一个应用以获得内容可能增加参与者获得信息所需要花费的时间量,这可能导致获得内容的计算资源的消耗的相应增多。
[0005] 在一些实施方式中,计算机实现的方法由一个以上的处理器提供,并且包括接收多个用户之间的消息交换进程中的一个以上的消息。多个用户包括第一用户和第二用户,并且一个以上的消息各自经由对应的消息传送应用由多个用户中对应的一个用户提交。该方法进一步包括基于一个以上的消息确定第一类型的第一机器人并且基于一个以上的消息确定第二类型的第二机器人。第二类型不同于第一类型。在一些实施方式中,机器人的类型对应于机器人进行的任务。例如,第一类型的机器人可以是饭店预定机器人并且第二类型的机器人可以是点餐机器人。该方法进一步包括基于一个以上的消息中的内容,相对于第二机器人选择第一机器人,并且基于该内容传送机器人命令给第一机器人。传送机器人命令给第一机器人是响应于相对于第二机器人选择第一机器人。该方法进一步包括响应于传送机器人命令给第一机器人,从第一机器人接收响应内容,并且经由第一用户的对应的消息传送应用,将来自第一机器人的用于呈现的响应内容提供给至少第一用户。
[0006] 通过相对于第二机器人选择第一机器人,这些及其他实施方式可以不将基于内容的任何机器人命令传送给第二机器人。通过不将机器人命令传送给第二机器人,这可以保存网络资源,和/或通过防止第二机器人必须遵循指令,可以保存与第二机器人关联的计算资源。此外,通过经由对应的消息传送应用提供用于呈现的响应内容,这些及其他实施方式可以防止用户切换到另一个应用来获得内容,这可以保存各种计算资源。
[0007] 这些及其他实施方式可以可选择地包括一个以上的如下特征。
[0008] 在一些实施方式中,基于一个以上的消息中的内容、相对于第二机器人选择第一机器人包括:(a)确定来自一个以上的消息的主题;并且基于主题选择第一机器人;和/或(b)对于一个以上的消息进行语义分析;并且基于该语义分析选择第一机器人。
[0009] 在一些实施方式中,确定第一机器人和第二机器人包括:确定与第一机器人和第二机器人两者的调用关联的一个以上的消息中的给定消息的至少一个术语。在那些实施方式中的一些实施方式中,基于内容、相对于第二机器人选择第一机器人包括:基于与第一机器人的调用关联而与第二机器人的调用不关联的一个以上的消息中的附加消息的至少一个附加术语,选择第一机器人。附加消息例如可以是在给定消息之前的消息交换进程中提交的附加消息。
[0010] 在一些实施方式中,基于一个以上的消息中的内容选择第一机器人包括:在消息交换进程之前,从训练组数据生成训练机器学习模型;将内容应用到训练机器学习模型,以生成通过训练机器学习模型的输出;以及基于指示第一机器人的输出,选择第一机器人。
[0011] 在一些实施方式中,相对于所述第二机器人选择所述第一机器人进一步基于以下中的至少一个:所述第一用户的位置以及与所述第一用户关联的用户信息。
[0012] 在一些实施方式中,该方法进一步包括:从信息源请求被列举给第一机器人的附加信息;基于请求接收附加信息;并且基于该附加信息生成符合第一机器人的机器人命令。这些实施方式中的一些实施方式可以确保机器人命令处于被第一机器人理解的格式。
[0013] 在一些实施方式中,该方法进一步包括:确定一个以上的消息与目的地关联的;并且确定第一用户将在目的地的时间。在那些实施方式中的一些实施方式中,机器人命令识别所述目的地和所述时间。
[0014] 在一些实施方式中,该方法进一步包括:基于所述一个以上的消息,确定所述第一用户与活动的色关联;以及基于确定所述第一用户与所述活动的角色关联,相对于所述第二用户,选取所述第一用户从所述第一机器人接收所述响应内容。在那些实施方式中,将来自所述第一机器人的用于呈现的所述响应内容提供给至少所述第一用户包括,将用于呈现的所述响应内容提供给所述第一用户,而不将用于呈现的所述响应内容提供给所述第二用户。因此,这些实施方式中的一些实施方式仅仅最初地为消息交换进程的参与者的子集呈现响应内容,这可以通过防止将响应内容供应给那些参与者,来防止非子集中的其他参与者的客户机装置的各种计算资源的消耗。
[0015] 在一些实施方式中,该方法进一步包括:响应于提供所述响应内容,接收来自所述第一用户的针对所述第一机器人的问题;响应于接收所述问题,指示所述第一机器人向与所述第一机器人关联的交易的企业主询问附加信息;生成包括所述附加信息的答案;以及响应于接收所述问题,将用于呈现的所述答案提供给所述第一用户。在那些实施方式中的一些实施方式中,该方法进一步包括:确定所述附加信息包括新信息;以及在一个以上的一个以上的可读介质中,基于所述新信息,更新用于所述交易的交易简介。因此那些实施方式中的一些实施方式修改交易简介,以反映新信息,并且防止响应于问题的另一个情况而再次向拥有者询问附加信息的需要,这可以防止传送和/或与再次询问关联的其他计算资源消耗。
[0016] 在一些实施方式中,提供来自第一机器人的响应内容包括为所述第一用户提供用户界面,所述用户界面包括对输入区域的本文进行发送的区域或者对于第一机器人的选择。这些实施方式中的一些实施方式可以进一步确保本文和/或选择处于第一机器人理解的和/或可以使得第一用户能够在与第一机器人进一步进行交流中提供较少的输入(例如,用户可能仅仅需要进行单个的选择和/或可以直接将本文输入到区域中,而不需要利用进一步的输入来明确地将本文编址给第一机器人)的格式。
[0017] 在一些实施方式中,该方法进一步包括:基于所述一个以上的消息中的情感、标点、和/或表情符号,来确定所述第一用户的书写格;以及以所述第一用户的所述书写风格,将所述响应内容提供给所述第一用户。
[0018] 在一些实施方式中,计算机实现的方法自动地提供消息传送应用中的机器人服务包括接收第一用户和第二用户之间的一个以上的消息,基于所述一个以上的消息,为第一用户确定第一类型的第一机器人,基于所述一个以上的消息,为第一用户确定第二类型的第二机器人,其中第二类型不同于第一类型,基于一个以上的消息中的内容,相对于第二机器人选择第一机器人,并且基于该内容,提供机器人命令给第一机器人。
[0019] 在一些实施方式中,基于一个以上的消息中的内容选择第一机器人包括确定来自一个以上的消息的主题、对于一个以上的消息进行语义分析中的至少一个。该方法可以进一步包括:确定与第一机器人提供的一个以上的服务有关的初始词语,并且确定与初始词语有关的相关词语。基于一个以上的消息中的内容选择第一机器人可以进一步包括:从训练组数据生成机器学习模型,并且采用该机器学习模型来确定内容是否对应于期望、并且内容是否在第一用户有可能遵循该期望的预定时段出现。可以从机器人店铺和作为消息传送界面的一部分的列表的至少一个中选择第一机器人。确定机器人的第一类型可以进一步基于第一用户的位置、作为由第一用户提交的内容的一部分的请求、和与第一用户关联的用户信息中的至少一个。该方法可以进一步包括从第三方服务器请求来自机器人的附加信息,并且基于附加信息生成机器人命令。该方法可以进一步包括确定一个以上的消息与目的地关联,确定第一用户将在目的地的时间,并且其中,机器人命令与目的地和时间有关。基于一个以上的消息为第一用户确定第一类型的第一机器人可以进一步包括:基于一个以上的消息来确定第一用户与活动的角色关联,并且相对于第二用户,选取第一用户来接收来自第一机器人的机器人建议。该方法可以进一步包括接收来自第一用户的针对第一机器人的问题,指示第一机器人向与第一机器人关联的交易的企业主询问附加信息,并且生成包括附加信息的答案。该方法可以进一步包括确定附加信息包括新信息,并且基于新信息,提供更新给用于交易的交易简介。该方法可以进一步包括:为所述第一用户提供用户界面,所述用户界面包括将输入区域的本文进行发送的所述区域或者对于第一机器人的选择。该方法可以进一步包括:基于所述一个以上的消息中的情感、标点、以及表情符号中的至少一个,来确定所述第一用户的书写风格;以及以所述第一用户的所述书写风格,将建议提供给所述第一用户。该方法可以进一步包括:基于所述一个以上的消息,提供建议给第一用户,以为第一用户处理支付。该方法可以进一步包括:提供有两个以上的服务的第一建议,从第一用户接收两个以上的服务中的一个服务的选择以及基于两个以上的服务中的一个服务的选择,提供附加建议。为用户提供附加建议包括提供用户可以滚动的图形图标。
[0020] 本公开可以进一步包括用于从会话识别实体、并且为用户生成建议以对实体采取动作的系统和方法。根据这个公开中描述的主题的一些实施方式,系统具有一个以上的处理器和内存存储指令,当指令被执行时,使得系统:接收来自会话的至少一个会话消息,从会话消息识别可以是可行的实体,确定实体的情境的指示,基于情境的指示确定实体是否是可行的,以及响应于实体是可行的,提供建议给用户,以对于实体采取动作。在有些情况下,如果基于物品,保证对于那个物品的进一步分析或动作,那么物品可以是可行的。
[0021] 通常,这个公开中描述的主题的另一个实施方式可以被包含在方法中,该方法包括:使用一个以上的处理器接收来自会话的至少一个会话消息,使用一个以上的处理器,从会话消息识别可以是可行的实体,使用一个以上的处理器,确定实体的情境的指示,使用一个以上的处理器,基于情境的指示来确定实体是可行的,以及响应于实体是可行的,提供建议给用户,以对于实体采取动作。
[0022] 这些及其他实施方式可以各自可选择地包括一个以上的如下特征。例如,特性可以包括基于机器学习模型,对于至少一个会话消息进行自然语言分析,并且其中,从会话消息识别可能是可行的实体以及确定实体的情境的指示是基于该分析的。特性可以包括从会话的每个参与者追踪会话流程,并且基于跟踪信息来提炼情境的指示。特性可以包括基于机器学习模型和情境的指示,来为用户确定采取动作的建议。特性可以包括从用户接收将实体标记为可行的指示,将用户指示作为训练信号发送给机器学习模型,搜索与实体相关的信息,并提供信息给用户。特性可以包括从各种源接收包含查询和文档检索的数据,从数据提取特性,基于提取的特性生成机器学习模型,接收用户动作,该用户动作包含对于为实体提供的建议的反应,并且基于该用户动作来训练机器学习模。特性可以包括将实体信息反馈给应用,实体信息包含会话的参与者,通过应用生成建议并且提供建议给会话的参与者。特性可以包括检测会话中的用于用户的问题,该问题与实体有关,确定对于该问题的可能的用户回复,并且以一触式形式,将可能的用户回复提供给用户。特性可以包括基于情境的指示来组织至少一个会话,并且对至少一个会话编索引。
[0023] 本公开可以进一步包括用于从会话识别实体、并且为用户生成建议以对实体采取动作的系统和方法。根据这个公开中描述的主题的一个实施方式,系统具有一个以上的处理器和内存存储指令,当指令被执行时,使得系统:接收来自会话的至少一个会话消息,从会话消息识别可以是可行的实体,确定实体的情境的指示,基于情境的指示确定实体是否是可行的,以及响应于实体是可行的,提供建议给用户,以对于实体采取动作。在有些情况下,如果基于物品,保证对于那个物品的进一步分析或动作,那么物品可以是可行的。
[0024] 通常,这个公开中描述的主题的另一个实施方式可以被体现在方法中,包括使用一个以上的处理器,接收来自会话的至少一个会话消息,使用一个以上的处理器,从会话消息识别可以是可行的实体,使用一个以上的处理器,确定实体的情境的指示;使用一个以上的处理器,基于情境的指示确定实体是否是可行的,以及响应于实体是可行的,提供建议给用户,以对于实体采取动作。
[0025] 这些及其他实施方式可以各自可选择地包括一个以上的如下特征。例如,特性可以包括基于机器学习模型,对于至少一个会话消息进行自然语言分析,并且其中,从会话消息识别可能是可行的实体以及确定实体的情境的指示是基于该分析的。特性可以包括从会话的每个参与者追踪会话流程,并且基于跟踪信息来提炼情境的指示。特性可以包括基于机器学习模型和情境的指示,来为用户确定采取动作的建议。特性可以包括从用户接收将实体标记为可行的指示,发送作为训练信号的用户指示给机器学习模型,搜索与实体相关的信息并且提供信息给用户。特性可以包括从各种源接收包含查询和文档检索的数据,从数据提取特性,基于提取的特性生成机器学习模型,接收用户动作,该用户动作包含对于为实体提供的建议的反应,并且基于该用户动作来训练机器学习模块。特性可以包括将实体信息反馈给应用,实体信息包含会话的参与者,通过应用生成建议并且提供建议给会话的参与者。特性可以包括检测会话中的用于用户的问题,该问题与实体有关,确定对于该问题的可能的用户回复,并且以一触式形式,将可能的用户回复提供给用户。特性可以包括基于情境的指示来组织至少一个会话,并且对至少一个会话编索引。
[0026] 在一些实施方式中,该方法可以进一步包括:接收第一用户和群组之间的消息,所述群组包含其他用户;确定消息、第一用户、以及其他用户的情境,并且基于消息以及情境,确定其他用户中的每个用户与群组共享的建议响应。
[0027] 该方法可以进一步包括利用该建议响应,为其他用户中的第二用户生成通知,该通知允许第二用户以一触式动作进行响应。该方法可以进一步包括基于传感器数据,确定用户在途中,并且其中,允许一触式动作是基于确定第二用户在途中。确定所述建议响应可以是进一步基于传感器数据、一个以上的用户偏好、会话历史、以及由所述其他用户中的每个用户进行的一个以上的最近活动中的至少一个。该方法可以进一步包括基于与所述其他用户中的第二用户的位置有关的区域、市场以及国家中的至少一个中的其他消息,确定一个以上的趋势响应,以及建议响应可以进一步包括一个以上的趋势响应。在一些实施方式中,情境包括假期和事件中的至少一个。在一些实施方式中,所述消息是对于与所述其他用户关联的位置的请求,并且所述建议响应包括用于所述其他用户中的每个用户的所述位置。所述建议响应可以包括与所述群组共享的图像、与所述群组共享的位置、以及与所述第二用户共享的日历事件中的至少一个。确定建议响应可以进一步基于使用机器学习来为其他用户中的第二用户提出个性化模型。确定建议响应可以进一步基于其他用户中的第二用户的个性,并且进一步包括基于标点使用、表情符号使用、基于白名单将消息中的词语分类为包含诙谐和讽刺中的至少一个,来确定所述第二用户的所述个性。该方法可以进一步包括为其他用户中的第二用户提供图形用户界面,该图形用户界面包括一选项,以便指定用于确定建议响应的个性类型以及个性类型的级别。消息的情境可以包括对于预计到达时间的请求,确定所述建议响应包括基于所述第一用户的位置、包括所述日历事件的位置的日历事件、以及与来自地图应用的目的地有关的信息,来确定所述预计到达时间,并且建议响应可以包括预计到达时间。消息可以包括对于有关最近事件的信息的请求,确定建议响应可以包括确定与最近事件相对应的一个以上的图像以及涉及最近事件的一个以上的社交网络贴子中的至少一个,并且建议响应可以包括一个以上的图像和一个以上的社交网络贴子中的至少一个。该方法可以包括:基于自从在会话中接收到上次的消息之后经过的阈值,提供会话起动建议;以及基于与所述群组关联的主题、趋势主题、与所述群组关联的主题有关的最近事件、以及与所述用户之一关联的活动中的至少一个,提供所述会话起动建议。该方法可以包括:确定聊天机器人是否存在;响应于所述聊天机器人存在,生成所述建议响应作为第一组自动建议响应;以及响应于所述聊天机器人不存在,生成所述建议响应作为第二组自动建议响应。所述第一组自动建议响应可以是基于聊天机器人遵循的会话规则。
[0028] 其他方面可以包含对应的方法,系统,设备和计算机程序产品。
[0029] 系统的一些实施方式有利地为用户提供获得信息的方式,而不必打电话给正在打电话的人。此外,系统的一些实施方式有利地为企业主提供使来自用户的问题的答案自动化的方式。一些实施方式的又一个效益可以包括系统,该系统不依赖于对于企业主可用的网络连接性,而为用户提供答案。附图说明
[0030] 通过举例而不是通过附图的图中的限制来图示本公开,在附图中,相同的参考数字用于引用类似的元件。
[0031] 图1A图示了将消息传送给移动装置并且提供建议给移动装置的示例系统的方框图
[0032] 图1B图示了用于生成建议的另一个示例系统的方框图。
[0033] 图2图示了将消息传送给移动装置并且提供建议给移动装置的示例计算装置的方框图。
[0034] 图3图示了包括来自机器人的建议的用户界面的图形表示。
[0035] 图4A图示了包括建议的示例会话界面的图形表示。
[0036] 图4B图示了是包括由第一应用生成的会话的示例用户界面的图形表示。
[0037] 图4C图示了是包括由第二应用生成的建议的示例用户界面的图形表示。
[0038] 图4D是包括显示一键回复的选项的示例用户界面的图形表示。
[0039] 图4E是包括会话摘要的示例用户界面的图形表示。
[0040] 图4F是包括会话摘要的示例用户界面的图形表示。
[0041] 图4G是包括不同建议的示例用户界面的图形表示。
[0042] 图5A是包括一键回答的示例用户界面的图形表示。
[0043] 图5B是建议响应的示例组的图形表示。
[0044] 图5C图示了第一用户发送第二用户的婴儿的图片给第二用户。
[0045] 图6图示了常规LSTM模型。
[0046] 图7图示了个性化LSTM模型。
[0047] 图8图示了示例令牌Trie结构。
[0048] 图9图示了与消息数量关联的示例统计量,作为消息数量和模型类型的函数。

具体实施方式

示例系统
[0049] 图1图示了将消息传送给移动装置并且提供建议给移动装置的示例系统100的方框图。图示的系统100包括消息传送服务器101、移动装置115a、115n、机器人服务器120、信息服务器130、以及网络105。用户125-125n可以与各个移动装置115a、115n关联。在一些实施方式中,系统100可以包含图1A没有显示的其他服务器或装置,诸如独立的社交网络服务器。在图1A和其余的图中,参考数字之后的字母,例如“115a”,表示对具有特殊参考数字的元件的引用。本文中没有伴随字母的参考数字,例如“115”,表示对于承担那个参考数字的元件的实施方式的一般引用。
[0050] 在图示的实施方式中,消息传送服务器101、移动装置115、机器人服务器120、以及信息服务器130经由网络105被通信地耦接。网络105可以是常用类型、有线或者无线,并且可以具有众多不同的配置,包含星形配置、令牌环配置或者其他配置。此外,网络105可以包含局域网(LAN)、广域网(WAN)(例如,因特网)、和/或多个装置可以经过其进行通信的其他互连的数据通路。在一些实施方式中,网络105可以是对等网络。网络105还可以被耦接到电信网络的一部分或者包括电信网络的一部分,电信网络的一部分用于以各种不同的通信协议发送数据。在一些实施方式中,网络105包括用于发送和接收数据的蓝牙通信网络、WiFi、或者包括经由短消息服务(SMS)、多媒体消息服务(MMS)、超级文本传输协议(HTTP)、直接数据连接、电子邮件等等的蜂窝式通信网络。尽管图1A图示了耦接到移动装置115和消息传送服务器101的一个网络105,但是实际上一个以上的网络105可以被耦接到这些实体。
[0051] 消息传送服务器101可以包含处理器、内存和网络通信能。在一些实施方式中,消息传送服务器101是硬件服务器。消息传送服务器101由信号线102被通信地耦接到网络105。信号线102可以是有线连接,诸如以太网、同轴电缆、光纤电缆等等,或者可以是无线连接,诸如Wi-Fi、蓝牙或者其他无线技术。在一些实施方式中,消息传送服务器101经由网络
105发送数据给用户装置115a-115n、机器人服务器120和信息服务器130中的一个或多个,并从用户装置115a-115n、机器人服务器120和信息服务器130中的一个或多个接收数据。消息传送服务器101可以包含消息传送应用103a和数据库199。
[0052] 消息传送应用103a可以是由处理器操作为交换消息并提供建议的代码和例行程序。在一些实施方式中,可以使用硬件来实现消息传送应用103a,该硬件包括现场可编程阵列(FPGA)或者专用集成电路(ASIC)。在一些示例中,可以使用硬件和软件的组合来实现消息传送应用103a。
[0053] 数据库199可以存储在移动装置115之间被传送的消息、由信息服务器130提供的信息等等。数据库199还可以存储与用户125关联的社交网络数据、联系信息等等。
[0054] 移动装置115可以是包含内存和硬件处理器的计算装置,例如相机、膝上型计算机、平板电脑移动电话、可佩带装置、移动电子邮件装置、便携式游戏机、便携式音乐播放器、阅读装置、或者能够无线访问网络105的其他电子装置。
[0055] 在图示的实施方式中,移动装置115a经由信号线108被耦接到网络105,并且移动装置115n经由信号线110被耦接到网络105。信号线108和110可以是无线连接,诸如Wi-Fi、蓝牙、或者其他无线技术。移动装置115a-115n分别被用户125a-125n访问。图1A中的移动装置115a、115n用于举例。虽然图1A图示了两个移动装置115a和115n,但是本公开适用于具有一个以上的移动装置115的系统结构。
[0056] 在一些实施方式中,移动装置115可以是用户125佩带的可佩带装置。例如,移动装置115被包含作为夹子(例如,表带)的一部分、首饰的一部分、或者一副眼镜的一部分。在另一个示例中,移动装置115可以是智能手表。用户125可以在用户125佩带的装置的显示器上查看来自消息传送应用103的图像。例如,用户125可以在智能手表或者智能表带的显示器上查看图像。
[0057] 在一些实施方式中,消息传送应用103b可以被存储在移动装置115a上。消息传送应用103可以包括存储在移动装置115a上的瘦客户端消息传送应用103b以及存储在消息传送服务器101上的消息传送应用103a。例如,消息传送应用103b可以将移动装置115a上的由用户125创建的用户消息传送给存储在消息传送服务器101上的消息传送应用103a。消息传送服务器上的消息传送应用103a可以确定提供给用户125a的建议。例如,消息传送应用103a可以将指令传送给机器人服务器120,并且从机器人服务器120接收消息传送应用103a提供给消息传送应用103b的用于显示的建议。例如,消息传送应用103a可以将建议作为计算机可执行指令传送给消息传送应用103b,该计算机可执行指令使得消息传送应用103b视觉上渲染该建议。
[0058] 在一些实施方式中,消息传送应用103可以是存储在消息传送服务器101上的独立的应用。用户125a可以经由使用浏览器的网络页面或者经由移动装置115a上的其他软件来访问消息传送应用103。在一些实施方式中,消息传送应用103可以包含与消息传送服务器101上包含的部件相同的移动装置115a上的部件。
[0059] 机器人服务器120可以包括处理器、内存和网络通信能力。在一些实施方式中,机器人服务器120是硬件服务器。机器人服务器120经由信号线122被通信地耦接到网络105。信号线122可以是有线连接,诸如以太网、同轴电缆、光纤电缆等等,或者可以是无线连接,诸如Wi-Fi、蓝牙或者其他无线技术。在一些实施方式中,机器人服务器120经由网络105发送数据给消息传送服务器101、移动装置115a-115n和信息服务器130中的一个或多个,并从消息传送服务器101、移动装置115a-115n和信息服务器130中的一个或多个接收数据。尽管机器人服务器120被图示为一个服务器,但是也可以是多个机器人服务器120。
[0060] 机器人服务器120可以由管理消息传送服务器101的相同方控制,或者可以由第三方控制。在一些实施方式中,机器人服务器120是由与控制消息传送服务器101的实体不同的实体控制的第三方机器人服务器,消息传送服务器101和第三方机器人服务器可以经由应用编程接口(API)进行通信。在一些实施方式中,机器人服务器120托管一个以上的机器人。机器人可以是进行特定功能以提供建议的计算机程序,例如,预定机器人进行预定,自动回复机器人生成回复消息文本,排定计划机器人自动地排定预约日程表等等。机器人服务器120可以提供机器人给消息传送应用103,例如,用于机器人的代码可以被结合到消息传送应用103中或者消息传送应用103可以发送请求给机器人服务器120。在一些实施方式中,消息传送应用103通过为机器人服务器120提供机器人命令、并且从机器人服务器120接收基于该机器人命令的建议,而充当用户125和机器人服务器120之间的中介。例如,机器人命令可以通过网络105被消息传送应用103传送给机器人服务器120,并且作为响应,机器人服务器可以通过网络105将建议或者其他响应的内容传送回到消息传送应用103。
[0061] 信息服务器130可以包括处理器、内存和网络通信能力。在一些实施方式中,信息服务器130是硬件服务器。信息服务器130经由信号线118被通信地耦接到网络105。信号线118可以是有线连接,诸如以太网、同轴电缆、光纤电缆等等,或者可以是无线连接,诸如Wi-Fi、蓝牙或者其他无线技术。
[0062] 信息服务器130可以将信息提供给消息传送应用103。例如,信息服务器130可以维护电子百科全书、知识图谱、社交网络应用(例如,社交图谱、朋友的社交网络、商业的社交网络等等)、场所或者位置的网站(例如,餐厅、汽车经销商等等)、地图应用(例如,提供方向的网站)等等。尽管信息服务器130被图示为单个服务器,但是信息服务器130可以包含多个服务器,诸如用于社交网络应用、电子百科全书、和地图应用的分开的服务器。
[0063] 信息服务器130可以从消息传送应用103接收对于信息的请求,进行搜索,而且提供请求中的信息。例如,消息传送应用103可以从地图应用请求驾驶方向或者预计到达时间。在一些实施方式中,信息服务器130可以从消息传送应用103接收信息。例如,信息服务器130维护关于餐厅的网站,消息传送应用103可以为信息服务器130提供关于该餐厅的更新信息,诸如用户在该餐厅的喜爱的菜肴。
[0064] 只要用户同意使用这种数据,信息服务器130就可以为消息传送应用103提供用户的简介信息或者简介图像,消息传送应用103可以使用用户的简介信息或者简介图像,以利用对应的社交网络简介来识别图像中的人。在另一个示例中,信息服务器130可以为消息传送应用103提供与在消息传送应用103使用的消息中被识别的实体有关的信息。例如,信息服务器130可以包含提供与图像中被识别的地标有关的信息的电子百科全书、提供用于采购消息中被识别的实体的信息的电子购物网站、经过用户同意而提供来自消息中被识别的用户的旅程的电子日历应用、提供与可以拜访消息中的实体的附近位置有关的信息的地图应用、供应消息中提到的菜肴的餐馆的网站等等。
[0065] 在一些实施方式中,信息服务器130可以与机器人服务器120通信。例如,在信息服务器130维护二手车经销商的网站的情况下,机器人服务器120可以请求信息服务器130询问二手车经销商的拥有者,他们当前是否提供汽车美容工作。信息服务器130可以将被请求的信息提供给机器人服务器120。
[0066] 在一些实施方式中,信息服务器130可以从消息传送应用103接收与公布的聊天关联的链接。信息服务器130可以显示该链接以及与商业有关的信息,该信息与信息服务器130提供的公布聊天关联。例如,在信息服务器130提供地图应用的情况下,信息服务器130可以提供链接以及包括商业位置的地图。如果用户125选择该链接,那么用户装置115可以打开该消息传送应用103,以使用户125可以与代表该商业(例如,机器人,代理人,或者企业主)的某人进行聊天。在另一个示例中,信息服务器130可以提供搜索服务,并且从用户125接收与自行车店铺有关的查询。信息服务器130可以提供包含自行车店铺的网站的搜索结果,以及用户125可以选择以便与代表自行车店铺的某人进行聊天的链接。
[0067] 转到图1B,图示了用于生成建议的另一个示例系统。在这个示例中,消息传送服务器101可以从使用神经网络的模型接收建议,该模型诸如是长短期记忆(LSTM)神经网络模型。LSTM是以紧凑的方式开发长期情境的递归神经网络。在一些实施方式中,聊天会话的数据库用于确定在LSTM训练期间使用并存储作为模型的一部分的常用回复、词表、以及训练数据。例如,在会话中各方之间传送的最后五到十个消息可以用于基于该模型来预测下一个建议的响应。这些输入可以作为消息传送服务器101的一部分被存储在分开的位置。该模型可以提供建议给消息传送服务器101,消息传送服务器101基于情境、与移动装置115关联的用户标识符、以及自从接收到上次的消息之后的时间,预测哪个建议对移动装置115的用户是有用的。示例计算装置
[0068] 图2图示了将消息传送给移动装置并且提供建议给移动装置的示例计算装置200的方框图。计算装置200可以是消息传送服务器101或者移动装置115。计算装置200可以包含处理器235、内存237、通信单元239、显示器241、以及存储装置247。消息传送应用103可以被存储在内存237中。计算装置200的部件可以通过总线220被通信地耦接。
[0069] 处理器235包括进行计算并提供指令给显示装置的算术逻辑单元微处理器、通用控制器或者一些其他处理器阵列。处理器235处理数据,并且可以包含各种计算架构,各种计算架构包括复杂指令集计算机(CISC)架构、精简指令集计算机(RISC)架构、或者实现指令集的组合的架构。尽管图2包括单个处理器235,但是可以包含多个处理器235。其他处理器、操作系统、传感器、显示器和物理配置可以属于该计算装置200。处理器235经由信号线222被耦接到总线220,用于与其他部件通信。
[0070] 内存237存储可以由处理器235执行的指令和/或数据。指令可以包含进行这里描述的技术的代码。内存237可以是动态随机存取存储器(DRAM)装置、静态随机存取存储器(静态RAM)或者一些其他存储装置。在一些实施方式中,内存237还包括诸如(SRAM)装置或者闪存的非易失性存储器,或者类似的永久存储装置和媒介,类似的永久存储装置和媒介包括硬盘驱动器软盘驱动器、光盘只读存储器(CD-ROM)装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、闪存装置、或者用于以更加永久的方式存储信息的一些其他的海量存储装置。内存237包括可操作为执行消息传送应用103的代码和例行程序,以下将更加详细地描述。
内存237经由信号线224被耦接到总线220,用于与其他部件通信。
[0071] 根据消息传送应用103被存储的地方,通信单元239传送数据到移动装置115、消息传送服务器101、机器人服务器120和信息服务器130中的至少一个,并且从移动装置115、消息传送服务器101、机器人服务器120和信息服务器130中的至少一个接收数据。在一些实施方式中,通信单元239包括直接物理连接到网络105或者另一个通信信道的端口。例如,依据消息传送应用103可以被存储的地方,通信单元239包括通用串行总线(USB),安全数字(SD),5类电缆(CAT-5),或者与移动装置115或者消息传送服务器101有线通信的类似的端口。在一些实施方式中,通信单元239包括使用一个以上的无线通信方法与移动装置115、消息传送服务器101或者其他通信信道交换数据的无线收发器,一个以上的无线通信方法包括IEEE 802.11、IEEE 802.16,蓝牙或者另一个合适的无线通信方法。通信单元239被经由信号线226耦接到总线220,用于与其他部件通信。
[0072] 在一些实施方式中,通信单元239包括用于通过蜂窝式通信网络来发送和接收数据的蜂窝式通信收发器,蜂窝式通信网络包括经由短消息服务(SMS)、多媒体消息服务(MMS)、超级文本传输协议(HTTP)、直接数据连接、电子邮件或者另一个合适类型的电子通信。在一些实施方式中,通信单元239包括有线端口和无线收发器。,通信单元239还提供到网络105的用于使用标准网络协议分发文件和/或媒体对象的其他传统的连接,,标准网络协议包括但不限于用户数据报协议(UDP)、TCP/IP、HTTP、HTTP安全(HTTPS)、简单邮件传输协议(SMTP)、SPDY、快速UDP因特网连接(QUIC)等等。
[0073] 显示器241可以包含可操作为显示来源于消息传送应用103的图形数据的硬件。例如,显示器241可以渲染图形以显示用户界面。显示器241经由信号线228被耦接到总线220,用于与其他部件通信。提供信息给用户的其他硬件部件可以被包含作为计算装置200的一部分。例如,计算装置200可以包含用于音频接口的扬声器、捕获音频的扩音器、或者其他类型的输出装置。在一些实施方式中,计算装置200可以不包含所有的部件。例如,在计算装置200是消息传送服务器101的情况下,显示器241可以是可选的。在计算装置200是可佩带装置的实施方式中,计算装置200可以不包含存储装置247。在一些实施方式中,计算装置200可以包含这里没有列出的其他部件,例如,一个以上的照相机、传感器、电池等等。
[0074] 存储装置247可以是存储数据的非临时性计算机可读存储介质,该数据提供这里描述的功能。在计算装置200是消息传送服务器101的实施方式中,存储装置247可以包含图1A中的数据库199。存储装置247可以是DRAM装置、SRAM装置、闪存或者一些其他存储装置。
在一些实施方式中,存储装置247还包括非易失性内存或者类似的永久存储装置和媒介,包括硬盘驱动器、软盘驱动器、CD-ROM装置、DVD-ROM装置、DVD-RAM装置、DVD-RW装置、闪存装置、或者用于以永久的方式存储信息的一些其他海量存储装置。存储装置247经由信号线
232被耦接到总线220,用于与其他部件通信。
集成在消息传送应用中的示例聊天机器人
[0075] 转到图3,图示了包括来自机器人的建议的用户界面的图形表示300,并且在下面进行讨论。在一些实施方式中,在第一用户和第二用户之间接收消息,例如在被识别为“你”的用户和被识别为“约翰”的之间接收消息。在这个示例中,第一用户和第二用户正在参与他们想要在哪里吃午餐的实时聊天。在另一个示例中,第一用户可以是顾客并且第二用户可以是企业主。在一些实施方式中,该消息可以来自于第一用户,第一用户指示该消息给机器人,而不是其他用户。例如,可以在第一用户和特定的快餐车机器人之间传递消息,第一用户正在看看特定的快餐车是否仍然有鸡肉。在一些实施方式中,消息可以是在超过两个的用户之间。
[0076] 在一些实施方式中,第一用户通过发电话号码的消息(例如,当消息传送应用103通过SMS工作时)或者从联系人列表选择用户或者机器人(例如,当消息传送应用103通过富通信服务(RCS)或者另一个聊天界面进行工作时),发送消息给第二用户或者机器人。在一些实施方式中,消息传送应用103提供与来自单个SMS号码的机器人关联的来自多个实体的群组消息,以使第一用户看起来那个消息是来自单个源。
[0077] 可以基于该消息,为第一用户确定第一类型的第一机器人。机器人可以是人类代理、自动代理人、自动应答机等等。在一些实施方式中,机器人可以是由多个实体提供通信的混合式的,多个实体可以包含在一些点的人类代理、和在一些其他点的自动代理人。例如,机器人可以被命名为迈克的自行车,以使企业主迈克和自动机器人都可以与第一用户交互。此外,允许多个实体与第一用户交互,其第一用户不会对分别地管理多个实体感到困惑。
[0078] 消息传送应用103可以基于第一用户的位置、作为由第一用户提交的内容的一部分的请求、和/或经过用户同意的与该第一用户关联的用户信息,确定第一类型的第一机器人。例如,第一机器人可以是预定机器人,因为第一用户表明希望拜访餐厅的实际位置,所以基于第一用户写入“我想要尝试那个新的泰国餐厅”,来确定该预定机器人。
[0079] 可以基于该消息,为第一用户确定第二类型的第二机器人。例如,第二机器人可以包含点餐机器人,该点餐机器人自动地为第一用户点餐。基于检测消息中的词语,诸如“午餐”和“点单”,可以确定第二机器人。
[0080] 可以基于一个以上的消息中的内容,相对于第二机器人,选择第一机器人。例如,基于在该消息中“见面”比“点单”出现更多次数,可以选择第一机器人。可以从由消息传送应用103或者机器人服务器120维护(例如,一个以上的数据库中)的机器人店铺选择第一机器人。替换地或者附加地,第一机器人可以被包含在列表中,该列表是第一用户和第二用户看得见的消息传送界面。
[0081] 在一些实施方式中,消息传送应用103基于确定来自消息的主题来选择第一机器人。例如,该主题可以是食物,并且基于词语“午餐”来确定该主题。消息传送应用103可以附加地或者替换地基于对该消息进行语义分析来选择第一机器人。例如,可以基于跟着否定情感(例如“否”或者在这个示例中“没有”)的“点单”来选择第一机器人。在一些情形中,可以利用训练好的情感分类器来确定文本的字符串和/或词语的情感。附加地或者替换地,可以基于确定与第一机器人提供的一个以上的服务有关的初始词语并且确定与初始词语有关的相关词语来选择第一机器人。例如,可以基于检测涉及进行餐厅预定的服务的初始词语“午餐”和相关词语“见面”,来确定第一机器人。
[0082] 在一些实施方式中,消息传送应用103附加地或者替换地基于机器学习来选择第一机器人。例如,消息传送应用103可以从训练组数据生成机器学习模型,并且采用该机器学习模型来确定内容是否对应于期望、并且内容在第一用户有可能遵循该期望的预定时段出现。例如,继续上面的示例,因为基于用户同意使用他们的位置历史,用户一般在餐厅和/或用户已知在上午11:30一起在餐厅,所以消息传送应用103可以确定该期望是在餐厅吃午餐并且用户有可能遵循该期望。
[0083] 在一些实施方式中,消息传送应用103确定消息中的给定消息包括与两个以上的机器人的调用关联的一个以上的项。例如,给定消息“预定?”可以与餐厅预定机器人和分开的航线预定机器人两者的调用关联。在那些实施方式中的一些实施方式中,基于同样与被选机器人的调用关联而不与非被选机器人的调用关联的消息中的另外的消息的一个以上的其他项,消息传送应用103相对于其他机器人选择机器人中的一个。例如,如果“午餐”和/或“餐厅”存在于其他的消息(例如,在前的消息)之中,那么可以选择餐厅预定机器人来代替航线预定机器人。与机器人的调用关联的项和/或与机器人关联的其他方面可以与机器人关联地存储在一个以上的数据库中。
[0084] 机器人命令可以基于内容被提供给第一机器人。例如,消息传送应用103可以指示第一机器人提议为第一用户和第二用户预订他们之间交换的消息中讨论的餐厅。第一机器人可以确定在消息中没有被明确讨论的各种因素,并且基于确定的因素来做出提议。例如,第一机器人基于消息中的“新的泰国餐厅”和“埃尔卡米诺”来确定餐厅的名称,并且基于与用户在早上11:30一起吃饭对应的与用户关联的用户活动,确定用户愿意早上11:30过去。在一些实施方式中,消息传送应用103确定该消息与目的地关联,确定第一用户将在目的地的时间,并且与目的地和时间有关的机器人命令。在一些实施方式中,第一机器人可以提供标准介绍(例如,“你好,我是第一机器人”),然后提供一个提议。
[0085] 在另一个示例中,第一用户可以发送消息给多个自行车商店机器人,询问商店指定品牌和型号的自行车是否有库存。在又一个示例中,第一用户可以发送消息给空调维修人员,以排定修理第一用户的空调的预约,可以排定预约,并且由信用卡支付。
[0086] 在一些实施方式中,消息传送应用103从信息服务器请求用于第一机器人的附加信息,并且基于该附加信息生成机器人命令。例如,消息传送应用103可以从搜索服务器或者提供知识卡(knowledge cards)(例如,rich cards)的服务器请求信息。在另一个示例中,消息传送应用可以从信息服务器130请求附加信息,该附加信息包括第一用户可能想要就餐的不同的餐厅。在图3中,消息传送应用103可以请求信息,该信息与位于埃尔卡米诺的供应泰国食物的餐厅、与靠近第一用户的位置的餐厅、与具有高评级的餐厅等等有关。第一机器人可以将餐厅名称结合到一提议中,以便在当前可以预订的时侯,在那些餐厅为两个人进行预订。
[0087] 消息传送应用103可以提供建议给第一用户和第二用户。例如,消息传送应用103代表第一机器人提供在Tasty Thai进行预订的提议。在一些实施方式中,消息传送应用103可以基于该消息确定第一用户与活动的角色关联,并且相对于第二用户选取第一用户接收来自第一机器人的机器人建议。例如,在两个用户讨论一起旅行的情况下,消息传送应用103可以确定其中一个用户是该事件的组织者,并且机器人建议可以包含为组织者支付汽车服务的建议。确定其中一个用户是组织者可以基于各种因素,诸如用户发起会话,用户提供更多消息给该会话,用户的消息比其他用户做出的消息包含更多涉及被选机器人的项目。
[0088] 在一些实施方式中,建议可以包含广告。例如,第一机器人可以为第一用户提供Tasty Thai的30%的优惠券。消息传送应用103可以基于消息中的情感、标点或者表情符号来确定第一用户的书写风格,并且以第一用户的书写风格给第一用户提供建议。例如,如果第一用户倾向于编写没有大写的消息,那么消息传送应用103可以提供没有大写的建议。消息传送应用103可以提供建议给第一用户,以在消息传送应用103中为第一用户处理与该消息有关的支付。例如,消息传送应用103可以选择第三机器人,该第三机器人提议为在Tasty Thai的一顿饭处理支付,或者如果第一用户为第二用户的食物进行了支付,那么偿还第一用户。
[0089] 在一些实施方式中,当第一用户请求第一机器人可得的信息时,诸如自行车商店所在的地方,第一机器人可以提供自动响应。在一些实施方式中,如果第一机器人无法访问请求信息或者该信息与低于阈值的置信度分数关联,那么第一机器人可以与企业主交流以获得附加信息。例如,第一用户可以询问自行车商店是否营业。尽管发布的时间可能表明是营业的,但是如果企业主在消息传送应用103上已经几个小时没有活动或者已知自行车商店关闭而没有提醒,那么第一机器人可以要求企业主证实该自行车商店是营业的。在一些实施方式中,在第一机器人为附加信息而询问企业主的情况下,第一机器人可以为企业主提供建议的响应。继续有关自行车商店是否营业的示例,第一机器人可以为企业主提供回应为“是的,直到下文5点”、“不,但是我们明天上午10点开始营业”的选项,或者提供不同答案的选项。
[0090] 在一些实施方式中,建议可以与其他会话共享。消息传送应用103可以确定连接到两个用户的人可能想要查看该建议。例如,如果两个用户经常与第三用户出去吃午餐,那么第三用户可能想要知道两个用户将要在11:30在Tasty Thai吃饭。在另一个示例中,消息传送应用103可以将该建议与和两个用户无关但是具有类似会话的人共享。
[0091] 消息传送应用103可以为第一用户提供用户界面,该用户界面包括对输入一区域的文本或者对于第一机器人的选择进行发送的区域。例如,在图3中,响应于建议为用户11:30在Tasty Thai进行预订的预订机器人(ReservationBot),用户可以接受该建议或者修改该建议,以选择不同人数、不同的餐厅、以及不同的预定时间。
[0092] 在一些实施方式中,消息传送应用103可以基于其中一个用户和第一机器人之间的交互来更新信息。例如,消息传送应用103可以从第一用户接收针对第一机器人的有关Tasty Thai的营运时间的问题。消息传送应用103可以指示第一机器人通过将诸如电子邮件的请求传送给与Tasty Thai关联的第三方服务器120,来询问TastyThai的企业主有关Tasty Thai的营运时间的附加信息。在一些实施方式中,第一机器人响应来自第一用户的问题,除非第一机器人确定该答案与低于预定阈值的置信度分数关联,在这种情况下,可能向企业主询问答案。然后企业主的答案可以用于利用来自答案的信息(例如Tasty Thai的营运时间),在一个以上的数据库中更新“Tasty Thai”的条目。在一些实施方式中,企业主也许能随时回答问题。在一些实施方式中,在首先没有被用户提示的情况下,第一机器人向企业主询问问题,以使得答案能够主动地可被用户得到。例如,第一机器人可以询问企业主,业务在圣诞节是否开放,存储与该业务关联的答案,然后响应于针对询问有关业务的圣诞节工作时间的对应机器人的消息,提供答案给用户。
[0093] 消息传送应用103可以接收附加信息,并且为第一用户生成包括该附加信息的答案。在附加信息包括新信息的情况下,消息传送应用103可以基于该新信息,提供更新给对于该业务的业务简介。例如,消息传送应用103可以指示第一机器人将该更新传送给维护业务信息的网站。第一机器人还将更新传送给维护业务信息的网站,该业务信息是用于来自主动向企业主询问问题的第一机器人的信息。
[0094] 在一些实施方式中,消息传送应用103可以提供包括要由第一机器人进行的两个以上的服务的第一建议。例如,消息传送应用103可以提供进行预订的提议,提供有关餐厅的附加信息,并且评价该餐厅。消息传送应用103可以从第一用户接收对两个以上的服务中的一个服务的选择,例如,第一用户要求第一机器人进行预订。消息传送应用103可以为第一用户提供与被选服务对应的附加建议。例如,消息传送应用103提供选择餐厅、挑选时间、以及选择预订人数的第二建议。在一些实施方式中,提供附加建议包括提供用户可以滚动的图形图标。在一些实施方式中,附加建议包括广告。示例总览–总结会话
[0095] 在一些实施方式中,消息传送应用103分析作为两个以上的用户之间的初始会话的一部分的消息,以确定一个以上的实体可以与动作关联。实体可以是消息中的人、场所或者对象。例如,建议应用132基于分析消息,识别出消息“好天气!”包括“好”、“天气”以及“!”,并且从该消息确定第一实体“好”以及第二实体“天气”。
[0096] 初始会话中的其他消息被分析,以确定情境的指示符。在一些实施方式中,消息传送应用103分析与一个以上的用户有关的其他会话(例如,先前的会话,来自第三方应用的会话)。例如,根据消息“你愿意在ABC咖啡店铺见面吗?”以及用户简介信息,经过用户同意,消息传送应用103确定实体“ABC咖啡店铺”靠近用户的工作位置。其他情境的指示符包含情感指示符,会话流,消息时态,新近消息,发送消息的日子和/或时间,与实体关联的日子和/或时间、会话元数据等等。
[0097] 消息传送应用103确定情境的指示符,并且基于情境的指示符来确定实体是否是可行的。情境的指示符可以包含会话流,时态,情感指示符(例如,情绪符号),消息中使用的动词,消息中是否询问问题,会话元数据等等。例如,消息传送应用103确定消息“我喜欢A”中的实体A是非可行的,但是确定消息“我要去购买B”中的实体B是可行的。如果用户C询问用户D“在XYZ见面?”,那么消息传送应用103可以在会话流中接收到用户D的正面答案之后,确定位置“ABC”是可行的。
[0098] 消息传送应用103基于情境的指示符,为可行的实体生成建议。例如,如果两个用户想要在店铺见面,那么消息传送应用103可以为用户提供到店铺的方向以及排定见面时间的日历条目。基于情境的指示符,地图可以指示到靠近双方用户的特定店铺的方向,并且日历可以突出显示双方用户都可用的时间空档。
[0099] 建议生成处理可以包含几种类型自动操作。例如,消息传送应用103可以确定是否生成建议,以及会话中的要插入建议的时间和地点。对于从用户A给用户B的问题“在咖啡店见面吗?”,如果用户B对于该问题回答“好的!”,那么可以为两个用户建议到咖啡店的地图。例如,如果用户B回答“我愿意过去,但是......”,那么可以不为两个用户提供地图建议。消息传送应用103还可以基于情境的指示符,确定建议是否合适。例如,如果用户最近接收到坏消息,那么庆祝建议将是不适合的。在另一个示例中,消息传送应用103可以确定用户不喜欢的实体列表,并且消息传送应用103可能不会给用户建议来自该列表的任何东西。
[0100] 图4A包括显示建议的示例会话界面的图形表示。在图示的示例中,在亚伦的移动屏幕上显示会话界面1000、1050。亚伦接收到来自鲍勃的消息1002“想要在Park Chow吃饭吗?”。如上参考图1和2所述的消息传送应用103确定位置“Park Chow”是可行的。因此,可以为亚伦和鲍勃生成对该位置采取动作的建议。在这个示例中,消息传送应用103为亚伦和鲍勃生成“Park Chow”位置的地图1004。亚伦和鲍勃可以查看地图1004或者使用共享按钮1006来共享地图1004。在这个场景下,在亚伦发送消息1008“好的”来响应消息1002前后,地图1004被显示两次。在不同的场景下,只有当亚伦例如以消息1008“好的”来正面地回答问题1002时,确定引擎228才确定位置“Park Chow”是可行的。结果,在亚伦发送消息1008之后,位置建议(例如,地图1004)可能只被显示一次。亚伦和鲍勃还可以选择“嗯,不”选项
1010,以指示该地图不是用户希望的建议或者该地图是错误的或者其他否定反应。在图10中,整个建议生成处理由消息传送应用103操控。
[0101] 图4B是显示由会话服务生成的会话的示例会话界面的图形表示。用户梅利莎G、爱丽斯Z、克莉丝B之间进行的会话被显示在该会话界面1100上。用户梅利莎G、爱丽斯Z、克莉丝B可以是这个非限定示例中的社交网络的成员。用户之间的会话会议由社交网络中的第一应用(例如,消息传送应用103)生成和管理。会话界面1100可以被显示在梅利莎的计算机屏幕上。在这个示例中,用户谈及当天夜晚的计划,梅利莎对购物表现出了兴趣并且声称“Dress Factory很好。我现在想知道他们是否有任何折扣。”当消息传送应用103识别出这个消息中的重要的实体是“Dress Factory”以及“折扣”时,消息传送应用103基于这些重要的实体生成建议。然而,消息传送应用103将信息“Dress Factory”以及“折扣”供应给另一个服务(例如,促销服务)来生成建议,而不是由如图10中的消息传送应用103生成建议。
[0102] 转到图4C,图示了示例会话界面的图形表示,该示例会话界面显示由促销服务生成的建议。在图示的示例中,在梅利莎的移动屏幕上显示会话界面1150。会话界面1150包括建议1152“5月30日之前,Dress Factory对于服装和首饰具有20%的折扣”。促销服务基于由图11A中的消息传送应用103识别的实体“Dress Factory”和“折扣”而生成建议1152。在一个示例中,促销服务可以在因特网上对于该实体进行搜索,以生成建议1152。建议生成器132接收建议1152,然后将该建议1152提供给图11A中的会话的所有参与者,例如,梅利莎G、爱丽丝Z、克莉丝B。图11B显示了在梅利莎的移动屏幕上的建议1152,与显示给爱丽斯或者克莉丝的建议相同。
[0103] 图4D是显示一键回复的示例会话界面的图形表示。在图12的图示中,会话界面1200被显示在亚伦的移动屏幕上。响应于接收来自鲍勃的问题1202“妈妈的航班将什么时侯降落?”,消息传送应用103可以基于亚伦先前的用户动作(例如购买历史记录)预测可能的响应,并且为亚伦生成一键回复1204。自动回复1204列出了航班号、到达时间和航班状态。因此亚伦节省了键入答案给鲍勃的时间。类似地,当鲍勃发送另一个问题1206“你将到机场去接她吗?”时,消息传送应用103确定这是个是或者否的问题,并且生成包含两个选项“是”或者“否”的一键自动回复1208,供亚伦挑选。
[0104] 图4E是显示会话报告的示例会话界面的图形表示。会话界面1300包括搜索框1302,在搜索框1302,用户可以基于参与者姓名、主题、时间、它们的组合等等,搜索会话。在图13中图示的示例中,用户检索与电影“星球大战”有关的会话。响应于来自用户的搜索请求,消息传送应用103可以生成报告。在某个示例中,报告可以起始于摘要1304,该摘要关于用户讨论该主题的时间以及会话中的其他参与者,例如,梅利莎、爱丽斯和詹妮在星期三下午7:10-7:30之间讨论“星球大战”。该报告还可以包含按时间顺序的来自每个参与者的会话消息。该报告还可以突出显示由用户搜索的关键字“星球大战”1306。此外,该报告可以突出显示某个实体(例如,男演员“AA”1108和“BB”1310),以使得该用户能够检索到关于该实体的更多信息(例如,传记,照片)。每个被突出显示和识别的实体可以与超级链接关联,该超级链接使得用户能够在因特网上对该实体进行搜索。
[0105] 图4F是显示会话摘要的示例会话界面的图形表示。在图示的示例中,会话界面1400包括消息传送应用103为用户生成的会话摘要1402,该会话摘要1402概括了用户在一周期间参与的会话。会话摘要可以包含两个示范性的部分1402和1404。在第一部分1402中,摘要可以包含用户在上周参与的会话的数量,以及关于该会话的一些基本信息,例如时间、日期、其他参与者的身份等等。第一部分1402还可以包含每个会话的详情选项1406,该详情选项1406提供关于每个会话的进一步的详情,包括来自每个参与者的会话消息、发送每个消息的时间等等。第二部分1404可以包含关于上周进行的会话的显著的信息,例如包括会话中讨论的主题(选择性地,描述会话中的每个主题的比例的圆饼图1408)、会话中共享的音频的/视觉的内容(选择性地,播放该内容的链接1410)、两个会话中共享的照片1412。
[0106] 图4G包括显示建议的连续呈现的示例会话界面的图形表示。在图4G的图示的图中,会话界面1500被显示在用户的移动屏幕上。响应于接收消息1502“见面吃饭?”,消息传送应用103生成并且显示选项1504“午餐”、“晚餐”、“早午餐”等等。用户可以选择首先建议给用户的选项1504中的一个,触发第二建议被生成。图4G显示响应于接收如选项1506所示的用户选择而生成的会话界面1550。一旦在选项1506中用户的选择是午餐,那么消息传送应用103生成并且显示午餐营业的某些餐厅。在某个实施方式中,消息传送应用103可以仅仅显示在会话中的所有参与者的某个距离范围之内的那些餐厅。在一些示例中,餐厅信息1508可以包含餐厅名称、餐厅类型、评论和价格。
[0107] 在某个实施方式中,显示的餐厅信息可以是可选的并且可行的。在一个示例中,用户可以选择特定的餐厅,并且将其例如作为包括餐厅名称的消息、作为包括餐厅名称以及适合于该会话的预填充的默认词语(例如,“我们在…见面”)的消息,显示给会话中的其他参与者。在另一个示例中,用户可以选择特定的餐厅,以在因特网上进行该餐厅的搜索、从网站检索店主信息、检索餐厅位置的地图等等。然后该用户可以例如通过将餐厅位置的地图插入到会话界面中,而将检索到的信息显示给会话中的其他参与者。示例总览–对于消息传送会话的建议的响应
[0108] 现在转到图5A,图示了消息传送应用用户界面。在一些实施方式中,消息传送应用103在第一用户和群组之间接收消息,其中该群组包括其他用户。例如,该群组是足球群组,并且该消息是第一用户询问其他用户之一的第二用户、该第二用户距离其他用户所在的足球比赛的位置有多近的消息。消息的情境、第一用户、以及其他用户被确定。该情境可以包含事件或者假期。在另一个示例中,情境是请求用户的预计到达时间的消息。
[0109] 基于消息以及情境,确定其他用户中的每个用户与群组共享的建议响应。该建议响应可以包含与群组共享的图像(例如,从第二用户的电话拍摄的)、与群组共享的位置(例如,基于第二用户的位置)、或者与第二用户共享的日历事件(例如,基于提及参加该事件的消息)。
[0110] 在一些实施方式中,建议响应可以基于使用机器学习来为第二用户开发的个性化模型。消息传送应用103可以通过从消息或者会话的语料库筛选示例来生成机器学习模型,并且使用该机器学习模型来生成建议响应,训练神经网络,以便基于这些示例来建议响应,并且基于与第二用户关联的信息的建议响应的个性化来修改建议响应。机器学习模型可以在建议响应中结合附加服务。例如,消息传送应用103可以使用机器学习模型来获得有关该用户的位置信息、与用户关联的照片、与用户关联的采购信息等等。如果第一用户询问第二用户“你的假期过的怎样?”,那么机器学习模型可以建议第二用户添加来自假期的照片,其中该照片从照片服务器被检索到,并且被识别作为在假期期间和/或在假期的位置被拍摄的照片。如果第一用户提供棒球帽的链接给第二用户并且询问第二用户她是否喜欢该棒球帽,那么机器学习模型可以基于棒球帽的最近采购、棒球帽在商业网站上的高评价等等,建议第二用户响应“我喜欢”。如果第一用户询问第二用户“你在哪?”,那么机器学习模型可以建议将来自地图应用的第二用户的位置的地图提供给第一用户。该建议可以被提供给第二用户,作为包含回复的建议,该回复是对于消息“你在哪?”的回复。作为进一步示例,假定给定用户正在编写消息“我在路上”和/或已经发送消息“我在路上”。给定用户的位置可以被建议给该给定用户,用于消息中包含的内容(如果正在编写)和/或用于提供作为附加消息(如果被发送)。
[0111] 在一些实施方式中,可以基于聊天机器人是否正在参与与该群组关联的消息来定制建议响应。例如,消息传送应用103可以确定聊天机器人是否存在。响应于聊天机器人存在,消息传送应用103生成第一组自动建议响应。例如,第一组自动建议响应可以基于聊天机器人遵循的会话规则。该会话规则协助创建聊天机器人容易理解的格式,便于交流。响应于聊天机器人不存在,消息传送应用103生成第二组自动建议响应。例如,第二组自动建议响应可以基于用户偏好。在一些实施方式中,消息传送应用103可以提供选项给用户,以切换到机器人模式,该机器人模式将用户的图标改变为机器人,并且使用排名最高的建议响应来自动地回复会话。在一些实施方式中,消息传送应用103可以确定什么会话、消息和发送人对用户说来是重要的,并且据此修改建议响应。
[0112] 该建议响应可以基于第二用户的个性。例如,消息传送应用103可以基于标点使用、表情符号使用、基于白名单将消息中的词语分类为包含诙谐或者讽刺等等,来确定第二用户的个性。
[0113] 可以利用建议响应,为其他用户中的第二用户生成通知,该通知允许第二用户以一键动作进行响应。例如,建议响应包括确定第二用户和足球比赛的位置之间的距离,推测的路途时间、以及以第二用户首选的格式写入的建议响应。消息传送应用103可以基于第二用户的位置、包括日历事件的位置的日历事件、和/或与来自地图应用的目的地有关的信息,为第二用户确定预计到达时间。在一些实施方式中,消息可以包含请求与最近事件有关的信息。消息传送应用103可以通过确定对应于最近事件的图像以及涉及最近事件的社交网络帖子来确定该建议响应。
[0114] 建议响应可以基于传感器数据、一个以上的偏好、会话历史、或者由其他参与者中的每个参与者进行的一个以上的最近活动。基于传感器数据,可以确定用户在途中,并且一键动作可以基于确定第二用户在途中。例如,用户是静止的,那么用户界面可以包含多个建议响应,但是如果消息传送应用103确定用户正在驾驶,那么消息传送应用103可以建议一键动作响应。
[0115] 在一些实施方式中,消息传送应用103基于与第二用户的位置有关的区域、市场、或者国家中的其他消息来确定趋势响应。例如,应用消息传送应用103可以确定总统大选期间的趋势响应、对于特别场合的响应,诸如“恭贺新禧!”或者“海鹰队加油!”,假如消息传送应用103确定海鹰队是趋势并且第二用户是海鹰队的球迷。消息传送应用103可以包含作为建议响应的一部分的趋势响应。
[0116] 在一些实施方式中,消息传送应用103为其他用户中的第二用户提供图形用户界面,该图形用户界面包括一选项,以便指定用于确定建议响应的个性类型以及个性类型的级别。例如,用户界面可以包含滑块,用于指定建议响应是否应当包含表情符号。
[0117] 在一些实施方式中,消息传送应用103确定会话起动建议。消息传送应用103可以基于自从在会话中接收到上次的消息之后经过的阈值时间,提供会话起动建议。例如,消息传送应用103可以确定自从在会话中接收到上次的消息之后已经经过24小时。结果,消息传送应用103可以提供会话起始建议给提供消息的最后一个人、对该会话最频繁的贡献者、群组领导人等等。消息传送应用103可以基于与该群组关联的主题、趋势主题(交易流行的棒球选手)、与该群组关联的主题有关的最近事件(进行季后赛的棒球队)、与用户之一关联的活动(例如假期、看棒球运动)等等,来确定会话起动建议的内容。
[0118] 图5B是建议响应的示例组的图形表示。在这个示例中,响应于来自第一用户的关于第二用户是否有时间的问题,消息传送应用103可以提供三个建议响应,包括表情符号、回复时段、以及简单的认定。以下是根据建议类型所整理的文本建议的示例:类型 消息 预测的回复
原始文本 你好吗? 我很好,你呢?
表情符号 我被录取啦! 做得好,祝贺!
时间 星期三什么时间适合你? <时间(星期三)>可以。
位置 你在哪儿? <位置>
人 你可以给我苏珊的联系信息吗? 她的号码是<电话号码>
事件 你这个周末打算做什么? 我打算<事件>。
商业 你想要在哪儿吃饭? <商业>怎么样?
电影 你想要去看电影吗? <电影>看起来很有趣。
[0119] 在一些实施方式中,建议响应可以适合于媒体而不仅仅是文本。例如,图5C图示了第一用户将第二用户的婴儿的图片发送给第二用户的示例。为了简化起见,图5C没有图示该图片,但是可以在图5C的建议上方呈现该图片给第二用户。消息传送应用103基于对于该图片进行分析而提供建议,以便识别出该图片包括穿着圣诞老人服装的婴儿,并且识别出该建议响应(“可爱!”,“圣诞快乐!”,以及“灿烂的笑容”)应当包括对于圣诞老人服装中的婴儿的图片的反应。例如,该图片可以作为输入被应用于被训练来预测图像中的对象的神经网络,然后通过网络生成的输出表明存在婴儿并且存在圣诞老人服装。可以基于对于“婴儿图片”的建议响应而选择建议“可爱!”和“灿烂的笑容”,并且基于对于“圣诞老人”的建议响应而选择建议“圣诞快乐!”。
[0120] 图6图示了通常的LSTM模型,其包括消息传送应用103接收令牌(例如,先前的消息)和先前的LSTM声明。消息传送应用103通过使会话中的每个消息令牌化来进行令牌嵌入,基于原始LSTM模型生成修改的LSTM模型,采用隐尔可夫模型,并且采用softmax,以便通过例如将LSTM的输出映射到概率分布来预测下一个令牌(例如,建议响应)。
[0121] 图7图示了个性化的LSTM模型,其中,消息传送应用103接收令牌和用户标识符,该令牌被嵌入、用户标识符被嵌入、并且进行并置。在一些实施方式中,令牌是小写字体。并置可以包括为每个令牌、为出现次数、以及已经使用该令牌的独有用户的数量,生成计数。如果令牌已经与小于预定数量的独有用户(例如,1000个独有用户)关联,那么令牌被映射到抛弃式数据库。被排列为超过阈值排名的预定数量的令牌被映射到令牌词表数据库,并且剩余的被映射到抛弃式数据库。并置还可以包括为用于每个用户的全体令牌的数量的生成计数。如果用户与大于预定令牌值(例如,每用户的最少令牌计数)的令牌数量关联,那么该令牌与用户词表数据库关联,并且剩余的被映射到抛弃式数据库。
[0122] 消息传送应用103可以基于原始LSTM模型生成修改后的LSTM模型,并且进行并置。在一些实施方式中,消息传送应用103可以独立地考虑消息(即,不考虑他们会话的情境)。
消息传送应用103可以丢弃用户编写的在抛弃式数据库中的消息。至于剩余的消息,消息传送应用103可以按时间分类消息,包括训练组数据中的最初75%的数据,并且包括测试组中的最后25%。在一些实施方式中,在一次步骤期间,可以通过从每个十分位数的用户(通过标志数量排列的)随机选择10个用户,来选择100个已知的白名单用户。用于每个用户的训练和测试数据可以被提取到分开的表中,以便利用个性化的模型来进行实验。消息传送应用103可以进行隐马尔可夫模型并且采用softmax来预测下一个令牌。
[0123] 在一些实施方式中,消息传送应用103接收人评估的语义聚类,采用预测一组最有可能的聚类的模型,预测的回复将属于该组最有可能的聚类,并且对于每个预测聚类,通过相对于令牌Trie结构使用定向搜索的计分模型,来预测建议回复,令牌Trie结构诸如是图8图示的令牌Trie结构。在一些实施方式中,消息传送应用103使用三个度量标准的召回,该召回描述了假定消息是白名单中的回复,则模型将该消息排入前三个名的频率。如果刚好正确的消息被预测那么三个度量标准的召回可以是准确的,或者如果预测消息落在与正确的消息相同的语义聚类中,那么三个度量标准的召回可以是聚类。图9图示了与消息数量关联的统计量,作为消息数量和模型类型的函数。
[0124] 在以上描述中,为了说明,阐述了众多细节以便提供对说明书的彻底的了解。然而,对本领域的技术人员显而易见的是,本公开在没有这些细节的情况下也可以被实行。在有些情况下,以方框图形式显示结构和装置,以免使描述不清楚。例如,以上可以主要参考用户界面和特殊的硬件来描述实施方式。然而,实施方式可以适用于可以接收数据和命令的任何类型的计算装置,以及提供服务的任何外围装置。
[0125] 说明书引用的“一些实施方式”或者“一些情况”意指连同实施方式或者情况一起描述的特殊的特性、结构或者特征可以被归入描述的至少一个实施方式。说明书中不同地方出现的短语“在一些实施方式中”并非必须全部涉及相同的实施方式。
[0126] 以上具体实施方式的一些部分是按照对于计算机存储器之内的数据位的操作的算法和符号表示来呈现的。这些计算描述和表示是那些擅长于数据处理技术的人员使用的手段,以便最有效地将他们的工作的实质传达给其他本领域的技术人员。这里的算法通常被认为是通向期望结果的有条理次序的步骤。步骤是那些需要物理量的物理操纵。虽然并非必须,但是通常这些量采用能够被存储、传送、组合、比较以及其他操纵的电子的或者磁的数据的形式。有时已经证明是方便的,主要为了公共用途,引用这些数据作为比特、值、要素、符号、字符、项目、数量等等。
[0127] 然而,应当考虑承担的是,所有这些以及类似项目将要与适当的物理量关联,并且仅仅是适用于这些量的方便的标签。除非具体地声明,否则从如下讨论显而易见的,应当领会,贯穿本说明书,运用包含“处理”或者“计算”或者“运算”或者“确定”或者“显示”等等的术语的讨论,指的是计算机系统或者类似电子计算装置的动作和处理,计算机系统或者类似电子计算装置操纵并且将计算机系统的寄存器和内存之内的表示为物理(电子)量的数据转换为计算机系统内存或者寄存器或者其他这种信息存储、传输或者显示装置之内的同样表示为物理量的其他数据。
[0128] 说明书的实施方式还可以涉及处理器,该处理器进行以上描述的方法的一个以上的步骤。处理器可以是通过存储在计算机中的计算机程序被选择性激活或者重新配置的专用的处理器。这种计算机程序可以被存储在永久计算机可读存储介质,永久计算机可读存储介质包括但不限于任何类型的盘或者适合于存储电子指令的任何类型的介质,任何类型的盘包括软盘、光盘、ROM、CD-ROM、磁盘、RAM、EPROM、EEPROM、磁卡或者光卡、包括带有非易失性存储器的USB键的闪存,各自被耦接到计算机系统总线
[0129] 说明书可以采用一些全部硬件实现、一些全部软件实现或者一些实施方式含有硬件和软件元素两者的形式。在一些实施方式中,以软件实现说明书,软件包括但并不限于固件、常驻软件、微编码等等。
[0130] 此外,说明可以采用可从计算机可用的或者计算机可读的介质访问的计算机程序产品的形式,计算机可用的或者计算机可读的介质通过或者连同计算机或者任何指令执行系统来提供供使用的程序代码。为了说明,计算机可用的或者计算机可读的介质可以是任何设备,任何设备可以通过或者连同指令执行系统、设备或装置,包含,存储,通信,传送,或者输送供使用的程序。
[0131] 适合于存储或者执行程序代码的数据处理系统将包括经由系统总线被直接或者间接地耦接到内存元件的至少一个处理器。内存元件可以包括在程序代码的实际执行期间被采用的本地内存、大容量存储器、以及提供至少一些程序代码的临时存储的高速缓冲存储器,以便减少在执行期间必须从大容量存储器检索的次数。在以上讨论的系统收集个人信息的情形中,系统为用户提供一个机会来控制程序或者特性是否收集用户信息(例如,关于用户社交网络、社交动作或者活动、职业、用户爱好,或者用户当前位置的信息),或者控制是否和/或如何从可能与用户更加有关的服务器接收内容。此外,某数据在被存储或者使用之前可以以一个以上的方式被处理,以便去除个人可识别的信息。例如,可以处理用户的身份,以便对于该用户,没有个人可识别的信息可以被确定,或者获得位置信息的用户的地理位置(诸如城市、邮政编码或者州级别)可以被概括,以便无法确定用户的特殊位置。因此,用户可以控制如何收集关于用户的信息以及服务器如何使用信息。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈