首页 / 专利库 / 电脑零配件 / 接口 / 用户界面 / 字符用户界面 / 事件提取系统和方法

事件提取系统和方法

阅读:693发布:2020-05-13

专利汇可以提供事件提取系统和方法专利检索,专利查询,专利分析的服务。并且在结构化数据(例如HTML网页或 电子 邮件)中或自然语言描述的文本中描述的事件可被提取并输入到用户设备上的一个或多个日历中。在一个实施方案中,在日历应用程序中选择添加事件命令可使得日历应用程序在未接收到任何搜索输入的情况下在所提取的事件的 数据库 中搜索,并且可将在预先确定的时间段内提取的事件建议为要添加至日历的事件。在一个实施方案中,所提取的事件可使得通知被显示给用户。本文还描述了其他实施方案。,下面是事件提取系统和方法专利的具体信息内容。

1.一种存储可执行指令的非暂态机器可读介质,所述可执行指令当由数据处理系统执行时使得所述数据处理系统执行方法,所述方法包括:
从具有自然语言描述的文本提取事件;
将所提取的事件添加至包含一个或多个所提取的事件的数据库
记录表示与所提取的事件相关联的第一时间的数据;
显示日历应用程序的用户界面,所述用户界面包括添加事件命令;
接收对所述添加事件命令的选择;
响应于所述选择来确定所述第一时间是否在当前时间的时间段内;
如果所述第一时间在所述当前时间的所述时间段内,则在所述日历用户界面中显示所提取的事件的至少一部分。
2.根据权利要求1所述的介质,其中在所述日历用户界面中的搜索输入字段中接收到零个字符时,执行在所述日历用户界面中显示所提取的事件的至少一部分。
3.根据权利要求2所述的介质,其中所述时间段小于24小时或2小时。
4.根据权利要求2所述的介质,其中确定所述第一时间是否在所述时间段内是通过搜索所述数据库来执行的,并且所述搜索输入字段被配置为接收一个或多个字符并使得使用所接收的一个或多个字符作为搜索查询在所述数据库中执行搜索,并且对所述数据库的所述搜索返回匹配项,作为包含所接收的一个或多个字符的所述搜索查询的自动完成项。
5.根据权利要求4所述的介质,其中所述自然语言描述是文本消息或电子邮件的一部分。
6.根据权利要求5所述的介质,其中所述第一时间为以下各项中的一者:(a)接收文本消息或电子邮件的时间;或(b)在所述文本消息或电子邮件被显示时提取所提取的事件的时间;或(c)将所提取的事件添加至所述数据库的时间。
7.根据权利要求5所述的介质,其中所述方法进一步包括:
基于从所述自然语言描述提取的数据来确定所提取的事件的截止日期;
在所述截止日期或之后从所述数据库中移除所提取的事件。
8.根据权利要求7所述的介质,其中所述数据库包括数据结构,其中所提取的事件与其他所提取的事件一起按照从最近到最远的时间排序。
9.根据权利要求2所述的介质,其中所述方法进一步包括:
在所述日历用户界面中接收对所显示的所提取的事件的选择;
响应于对所显示的所提取的事件的所述选择,显示日历事件创建面板,所述日历事件创建面板预先填充有来自所提取的事件的数据,以允许对由所述日历应用程序所维护的日历进行编辑和输入。
10.根据权利要求2所述的介质,其中所述方法进一步包括:
在所述日历用户界面上接收针对日期的输入;
响应于所述输入,搜索所述数据库以获取针对所述日期的任何所提取的事件,所述搜索在所述搜索输入字段中接收到零个字符时执行;
将针对所述日期的所提取的事件显示为零关键字自动建议。
11.根据权利要求1所述的介质,其中所述方法进一步包括:
从后面的自然语言描述中提取指示所提取的事件已被取消的文本并从所述数据库中移除所提取的事件。
12.一种方法,包括:
从具有自然语言描述的文本提取事件;
将所提取的事件添加至包含一个或多个所提取的事件的数据库;
记录表示与所提取的事件相关联的第一时间的数据;
显示日历应用程序的用户界面,所述用户界面包括添加事件命令;
接收对所述添加事件命令的选择;
响应于所述选择来确定所述第一时间是否在当前时间的时间段内;
如果所述第一时间在所述当前时间的所述时间段内,则在所述日历用户界面中显示所提取的事件的至少一部分。
13.根据权利要求12所述的方法,其中在所述日历用户界面中的搜索输入字段中接收到零个字符时,执行在所述日历用户界面中显示所提取的事件的至少一部分。
14.根据权利要求13所述的方法,其中所述时间段小于24小时或2小时。
15.根据权利要求13所述的方法,其中确定所述第一时间是否在所述时间段内是通过搜索所述数据库来执行的,并且所述搜索输入字段被配置为接收一个或多个字符并使得使用所接收的一个或多个字符作为搜索查询在所述数据库中执行搜索,并且对所述数据库的所述搜索返回匹配项,作为包含所接收的一个或多个字符的所述搜索查询的自动完成项。
16.根据权利要求15所述的方法,其中所述自然语言描述是文本消息或电子邮件的一部分。
17.根据权利要求16所述的方法,其中所述第一时间为以下各项中的一者:(a)接收文本消息或电子邮件的时间;或(b)在所述文本消息或电子邮件被显示时提取所提取的事件的时间;或(c)将所提取的事件添加至所述数据库的时间。
18.根据权利要求16所述的方法,其中所述方法进一步包括:
基于从所述自然语言描述提取的数据来确定所提取的事件的截止日期;
在所述截止日期或之后从所述数据库中移除所提取的事件。
19.根据权利要求18所述的方法,其中所述数据库包括数据结构,其中所提取的事件与其他所提取的事件一起按照从最近到最远的时间排序。
20.根据权利要求13所述的方法,其中所述方法进一步包括:
在所述日历用户界面中接收对所显示的所提取的事件的选择;
响应于对所显示的所提取的事件的所述选择,显示日历事件创建面板,所述日历事件创建面板预先填充有来自所提取的事件的数据,以允许对由所述日历应用程序所维护的日历进行编辑和输入。
21.根据权利要求13所述的方法,其中所述方法进一步包括:
在所述日历用户界面上接收针对日期的输入;
响应于所述输入,搜索所述数据库以获取针对所述日期的任何所提取的事件,所述搜索在所述搜索输入字段中接收到零个字符时执行;
将针对所述日期的所提取的事件显示为零关键字自动建议。
22.根据权利要求12所述的方法,其中所述方法进一步包括:
从后面的自然语言描述中提取指示所提取的事件已被取消的文本并从所述数据库中移除所提取的事件。
23.一种存储可执行程序指令的非暂态机器可读介质,所述可执行程序指令当由数据处理系统执行时使得所述数据处理系统执行方法,所述方法包括:
从具有自然语言描述的文本提取事件;
将所提取的事件添加至包含一个或多个所提取的事件的数据库;
显示日历应用程序的用户界面,所述用户界面包括日历格式的一组一个或多个日期;
接收对所述日历格式的所述一个或多个日期中的一者的选择;
响应于所述选择,搜索所述数据库以获取针对所选择的日期的任何所提取的事件,所述搜索在用于接收并引起对数据库的搜索的搜索输入字段中接收到零个字符时执行;
将所述数据库中针对所选择的日期的所提取的事件中的每一者显示为一个或多个候选事件。
24.根据权利要求23所述的介质,其中所述日历格式为年份格式、月份格式、星期格式和日期格式中的一种。
25.根据权利要求24所述的介质,其中所述方法进一步包括:
基于从所述自然语言描述提取的数据来确定所提取的事件的截止日期;
在所述截止日期或之后从所述数据库中移除所提取的事件。
26.一种存储可执行指令的非暂态机器可读介质,所述可执行指令当由数据处理系统执行时使得所述数据处理系统执行方法,所述方法包括:
从域接收文档;
将所述域与域白名单中的一组域进行比较;
确定当所述域在所述一组域中时是否基于所述文档的标题或所述文档的统一资源标识符(URI)中的至少一者来继续处理所述文档;
如果继续处理,则从所述文档中提取表示候选日历事件的数据;
将所述候选日历事件添加至日历数据库;
向用户呈现通知,所述通知显示关于所述候选日历事件的数据的至少一部分。
27.根据权利要求26所述的介质,其中所述文档是以下各项中的一者:
(a)网页;或(b)电子邮件;或(c)文本消息。
28.根据权利要求26所述的介质,其中所述白名单是存储器映射查找树中的数据结构,并且所述比较是所述存储器映射查找树中的查找操作。
29.根据权利要求26所述的介质,其中所述确定是否继续处理使用机器学习分类器,所述机器学习分类器针对手动标记的示例进行训练,所述手动标记的示例用于基于网页的标题或电子邮件的主题行的特征来了解所述电子邮件或网页是对预订的确认还是广告或促销,并且其中表示所述候选日历事件的所述数据是结构化数据。
30.根据权利要求26所述的介质,其中所述日历数据库是在被存储在用户的私有存储账户中时被加密的私有本地日历数据库,并且所述候选日历事件显示在子日历中,所述子日历是在日历应用程序中可显示的多个子日历中的一个。
31.根据权利要求26所述的介质,其中所述通知包括以下各项中的至少一者:(a)关闭命令,所述关闭命令在保留所述候选日历事件的同时退出对所述通知的显示;或(b)选择命令,所述选择命令在日历应用程序的用户界面中显示所述候选日历事件,所述候选日历事件在所述日历应用程序中可编辑;或(c)删除命令,所述删除命令从所述日历数据库中删除所述候选日历事件。
32.根据权利要求26所述的介质,其中所述通知是显示关于看似相关的一组候选事件的数据的合并通知。
33.根据权利要求26所述的介质,其中关于所述候选日历事件的所述数据的所述部分包括以下各项中的一者或多者:事件的日期;或事件的时间;或事件的名称;或事件的位置
34.根据权利要求26所述的介质,其中所述方法进一步包括:
基于以下各项中的一者或多者从所述日历数据库中移除重复事件:重复次数;或重复标题;或由一个或多个域指示的重复源。
35.根据权利要求34所述的介质,其中重复事件被合并到合并通知中。
36.一种方法,包括:
从域接收文档;
将所述域与域白名单中的一组域进行比较;
确定当所述域在所述一组域中时是否基于所述文档的标题或所述文档的统一资源标识符(URI)中的至少一者来继续处理所述文档;
如果继续处理,则从所述文档中提取表示候选日历事件的结构化数据;
将所述候选日历事件添加至日历数据库;
向用户呈现通知,所述通知显示关于所述候选日历事件的数据的至少一部分。
37.根据权利要求36所述的方法,其中所述文档是以下各项中的一者:
(a)网页;或(b)电子邮件;或(c)文本消息。
38.根据权利要求36所述的方法,其中所述白名单是存储器映射查找树中的数据结构,并且所述比较是所述存储器映射查找树中的查找操作。
39.根据权利要求36所述的方法,其中所述确定是否继续处理使用机器学习分类器,所述机器学习分类器针对手动标记的示例进行训练,所述手动标记的示例用于基于网页的标题或电子邮件的主题行的特征来了解所述电子邮件或网页是对预订的确认还是广告或促销,并且其中表示所述候选日历事件的所述数据是结构化数据。
40.根据权利要求36所述的方法,其中所述日历数据库是在被存储在用户的私有云存储账户中时被加密的私有本地日历数据库,并且所述候选日历事件显示在子日历中,所述子日历是在日历应用程序中可显示的多个子日历中的一个。
41.根据权利要求36所述的方法,其中所述通知包括以下各项中的至少一者:(a)关闭命令,所述关闭命令在保留所述候选日历事件的同时退出对所述通知的显示;或(b)选择命令,所述选择命令在日历应用程序的用户界面中显示所述候选日历事件,所述候选日历事件在所述日历应用程序中可编辑;或(c)删除命令,所述删除命令从所述日历数据库中删除所述候选日历事件。
42.根据权利要求36所述的方法,其中所述通知是显示关于看似相关的一组候选事件的数据的合并通知。
43.根据权利要求36所述的方法,其中关于所述候选日历事件的所述数据的所述部分包括以下各项中的一者或多者:事件的日期;或事件的时间;或事件的名称;或事件的位置。
44.根据权利要求36所述的方法,其中所述方法进一步包括:
基于以下各项中的一者或多者从所述日历数据库中移除重复事件:重复次数;或重复标题;或由一个或多个域指示的重复源。
45.根据权利要求44所述的方法,其中重复事件被合并到合并通知中。
46.一种存储可执行指令的非暂态机器可读介质,所述可执行指令当由数据处理系统执行时使得所述数据处理系统执行方法,所述方法包括:
从域接收文档,所述文档包含结构化数据;
将所述文档分类为事件或非事件中的一种;
基于被确定为处于所述类别中的一个类别的所述域,从用于不同事件类别的一组数据提取器中选择数据提取器;
由所选择的数据提取器调用一组字段提取器,所述字段提取器中的每一个被配置为从所述结构化数据中的对应类型的字段提取数据;
由所述一组字段提取器提取所述结构化数据的字段内的数据;
验证从所述字段提取的数据;
针对所述事件生成所提取的数据的输出;
响应于在验证成功时生成所述输出而自动将所述事件添加至日历。
47.根据权利要求46所述的介质,其中所述一组数据提取器包括用于以下各项中的一者或多者的数据提取器:餐厅预订;汽车租赁预订;酒店预订;凭票入场事件,包括体育赛事和表演;航班预订;或社交邀请事件;并且其中如果所述验证确认所提取的数据表示事件,则添加所述事件。
48.根据权利要求47所述的介质,其中所述方法进一步包括:
确定所述文档的语言;
将所述域与域白名单进行比较,并且其中如果所述域不在所述白名单中,则所述方法在对所述文档进行分类之前停止。
49.根据权利要求48所述的介质,其中所述方法进一步包括:
针对由所述结构化数据描述的事件来检测以下各项中的一者或多者:位置;日期;时间;电话号码;或统一资源定位符;
如果所述文档被分类为事件,则处理所述文档以在所述结构化数据的字段内提取数据之前移除不与所述事件相关联的内容,并且其中所述文档包含HTML格式的内容。
50.根据权利要求46所述的介质,其中所述分类确定所述文档是否为所述事件的取消。
51.根据权利要求46所述的介质,其中所述一组数据提取器中的每个数据提取器在被选择时控制数据提取流。
52.根据权利要求46所述的介质,其中验证包括:
对于所有事件类别:验证预留标识符是否已被提取,或确认的自然语言描述是否存在,以及验证开始时间和日期是否已被提取;
对于汽车租赁预订:验证提供商名称是否已被提取,并验证还车日期或提车地址是否已被提取;
对于凭票入场事件:验证事件名称是否已被提取,并验证票编号是否已被提取;
对于餐厅预订:验证派对人数是否为正数;
对于酒店预订:验证入住时间是否已被提取;
对于航班预订:验证航空公司IATA代码是否已被提取且有效,验证航班号是否已被提取,验证出发时间和到达时间是否已被提取,以及验证出发机场和到达机场代码或机场名称是否已被提取。
53.根据权利要求46所述的介质,其中所述方法进一步包括:
生成用于所述事件的密钥以与其他密钥进行比较从而移除所述日历中的重复事件。
54.根据权利要求46所述的介质,其中所述一组字段提取器中的每个字段提取器从所述文档中提取候选对象,并且对所述候选对象进行评分以获取针对所述事件的字段而言为有效数据的可能性,并且其中所述结构化数据为HTML格式。
55.根据权利要求46所述的介质,其中所述方法进一步包括:
如果验证不成功,则向服务器系统发送失败报告,其中所述失败报告包括所述域和一个或多个失败类型。
56.一种方法,包括:
从域接收文档,所述文档包含结构化数据;
将所述文档分类为事件或非事件中的一种;
基于被确定为处于所述类别中的一个类别的所述域,从用于不同事件类别的一组数据提取器中选择数据提取器;
由所选择的数据提取器调用一组字段提取器,所述字段提取器中的每一个被配置为从所述结构化数据中的对应类型的字段提取数据;
由所述一组字段提取器提取所述结构化数据的字段内的数据;
验证从所述字段提取的数据;
针对所述事件生成所提取的数据的输出;
响应于在验证成功时生成所述输出而自动将所述事件添加至日历。
57.根据权利要求56所述的方法,其中所述一组数据提取器包括用于以下各项中的一者或多者的数据提取器:餐厅预订;汽车租赁预订;酒店预订;凭票入场事件,包括体育赛事和表演;航班预订;或社交邀请事件;并且其中如果所述验证确认所提取的数据表示事件,则添加所述事件。
58.根据权利要求57所述的方法,其中所述方法进一步包括:
确定所述文档的语言;
将所述域与域白名单进行比较,并且其中如果所述域不在所述白名单中,则所述方法在对所述文档进行分类之前停止。
59.根据权利要求58所述的方法,其中所述方法进一步包括:
针对由所述结构化数据描述的事件来检测以下各项中的一者或多者:位置;日期;时间;电话号码;或统一资源定位符;
如果所述文档被分类为事件,则处理所述文档以在所述结构化数据的字段内提取数据之前移除不与所述事件相关联的内容,并且其中所述文档包含HTML格式的内容。
60.根据权利要求56所述的方法,其中所述分类确定所述文档是否为所述事件的取消。
61.根据权利要求56所述的方法,其中所述一组数据提取器中的每个数据提取器在被选择时控制数据提取流。
62.根据权利要求56所述的方法,其中验证包括:
对于所有事件类别:验证预留标识符是否已被提取,或确认的自然语言描述是否存在,以及验证开始时间和日期是否已被提取;
对于汽车租赁预订:验证提供商名称是否已被提取,并验证还车日期或提车地址是否已被提取;
对于凭票入场事件:验证事件名称是否已被提取,并验证门票编号是否已被提取;
对于餐厅预订:验证派对人数是否为正数;
对于酒店预订:验证入住时间是否已被提取;
对于航班预订:验证航空公司IATA代码是否已被提取且有效,验证航班号是否已被提取,验证出发时间和到达时间是否已被提取,以及验证出发机场和到达机场代码或机场名称是否已被提取。
63.根据权利要求56所述的方法,其中所述方法进一步包括:
生成用于所述事件的密钥以与其他密钥进行比较从而移除所述日历中的重复事件。
64.根据权利要求56所述的方法,其中所述一组字段提取器中的每个字段提取器从所述文档中提取候选对象,并且对所述候选对象进行评分以获取针对所述事件的字段而言为有效数据的可能性,并且其中所述结构化数据为HTML格式。
65.根据权利要求56所述的方法,其中所述方法进一步包括:
如果验证不成功,则向服务器系统发送失败报告,其中所述失败报告包括所述域和一个或多个失败类型。
66.一种方法,包括:
通过一个或多个网络接收从HTML格式的结构化数据的成功的事件提取的多个报告,所述成功的事件提取的每个报告包括用于成功提取的事件的域的标识符;
通过一个或多个网络接收从HTML格式的结构化数据的失败的事件提取的多个报告,所述失败的事件提取的每个报告包括域的标识符和一个或多个字段的标识符;
将所述成功的事件提取的数量与所述失败的事件提取的数量进行比较,并且在显示设备上显示所述比较的表示;
响应于所述比较来更新针对一个或多个字段的事件提取软件
67.根据权利要求66所述的方法,其中随时间推移重复执行所述比较以确定所述域中的变化是否影响成功率,并且其中所述方法进一步包括:
通过一个或多个网络将更新的事件提取软件传输到多个客户端设备以供所述客户端设备使用。
68.一种存储可执行指令的非暂态机器可读介质,所述可执行指令当由数据处理系统执行时使得所述数据处理系统执行方法,所述方法包括:
从结构化数据或具有自然语言描述的文本提取事件,所提取的事件包括位置;
将所提取的事件添加至包含一个或多个所提取的事件的数据库;
接收用于显示地图应用程序的选择;
响应于用于显示所述地图应用程序的所述选择,搜索所述数据库以获取包括位置的所提取的事件;
在所述地图应用程序内显示用于显示所提取的事件的所述位置的建议选项。
69.根据权利要求68所述的介质,其中所述方法进一步包括:
通过确定所提取的事件的所述位置是否在所述数据处理系统的当前位置的阈值距离内来过滤所述搜索的结果,并且如果所提取的事件的所述位置在所述当前位置的所述阈值距离内,则所提取的事件被显示为所述建议选项。
70.根据权利要求69所述的介质,其中所述方法进一步包括:
通过确定所提取的事件的时间是否在当前时间的预先确定的时间段内来过滤所述搜索的结果,并且如果所提取的事件的所述时间在所述当前时间的所述预先确定的时间段内,则所提取的事件被显示为所述建议选项。
71.根据权利要求70所述的介质,其中如果(a)其他所提取的事件不包含位置,或者(b)其他所提取的事件的时间不在所述当前时间的所述预先确定的时间段内,或者(c)其他所提取的事件的位置不在所述当前位置的所述阈值距离内,则所述数据库中的其他所提取的事件不被显示为所述建议选项;并且其中在没有字符被输入到搜索输入字段时执行所述搜索。
72.根据权利要求70所述的介质,其中所述事件是以下各项中的一者:
(a)航班预订;或(b)餐厅预订;或(c)酒店预订;或(d)汽车租赁预订;或(e)凭票入场事件;或(f)社交邀请。
73.根据权利要求72所述的介质,其中所述数据库具有受限的访问,所述受限的访问需要所述地图应用程序或目标守护进程具有的访问权,而所述数据处理系统上的其他应用程序不具有所述访问权。
74.根据权利要求72所述的介质,其中所述地图应用程序包括可从应用程序启动用户界面访问的桌面小程序,并且其中所提取的事件的所述位置被验证,并且一旦被验证,就被地理编码以将地址转换为一组地理坐标。
75.根据权利要求72所述的介质,其中所述数据库包括来自与云存储账户的一个或多个同步的所提取的事件,所述云存储账户由所述数据处理系统用来从使用所述云存储账户的其他设备获取所提取的事件。
76.根据权利要求75所述的介质,其中所述方法进一步包括:
在所述地图应用程序的用户界面内显示用于将所提取的事件添加至日历的命令;
将所提取的事件添加至日历应用程序;
从所述数据库或所述日历应用程序中的至少一者移除重复的所提取的事件。
77.根据权利要求68所述的介质,其中所述方法进一步包括:
确定运输模式;
从一个或多个服务器系统获取关于交通或运输延迟的信息;
基于所确定的运输模式和关于交通或运输延迟的所述信息来确定估计到达时间;并且其中所述估计到达时间与所述建议选项一起被显示。
78.一种方法,包括:
从结构化数据或具有自然语言描述的文本提取事件,所提取的事件包括位置;
将所提取的事件添加至包含一个或多个所提取的事件的数据库;
接收用于显示地图应用程序的选择;
响应于用于显示所述地图应用程序的所述选择,搜索所述数据库以获取包括位置的所提取的事件;
在所述地图应用程序内显示用于显示所提取的事件的所述位置的建议选项。
79.根据权利要求78所述的方法,其中所述方法进一步包括:
通过确定所提取的事件的所述位置是否在所述数据处理系统的当前位置的阈值距离内来过滤所述搜索的结果,并且如果所提取的事件的所述位置在所述当前位置的所述阈值距离内,则所提取的事件被显示为所述建议选项。
80.根据权利要求79所述的方法,其中所述方法进一步包括:
通过确定所提取的事件的时间是否在当前时间的预先确定的时间段内来过滤所述搜索的结果,并且如果所提取的事件的所述时间在所述当前时间的所述预先确定的时间段内,则所提取的事件被显示为所述建议选项。
81.根据权利要求80所述的方法,其中如果(a)其他所提取的事件不包含位置,或者(b)其他所提取的事件的时间不在所述当前时间的所述预先确定的时间段内,或者(c)其他所提取的事件的位置不在所述当前位置的所述阈值距离内,则所述数据库中的所述其他所提取的事件不被显示为所述建议选项;并且其中在没有字符被输入到搜索输入字段时执行所述搜索。
82.根据权利要求80所述的方法,其中所述事件是以下各项中的一者:
(a)航班预订;或(b)餐厅预订;或(c)酒店预订;或(d)汽车租赁预订;或(e)凭票入场事件;或(f)社交邀请。
83.根据权利要求82所述的方法,其中所述数据库具有受限的访问,所述受限的访问需要所述地图应用程序或目标守护进程具有的访问权,而所述数据处理系统上的其他应用程序不具有所述访问权。
84.根据权利要求82所述的方法,其中所述地图应用程序包括可从应用程序启动用户界面访问的桌面小程序,并且其中所提取的事件的所述位置被验证,并且一旦被验证,就被地理编码以将地址转换为一组地理坐标。
85.根据权利要求82所述的方法,其中所述数据库包括来自与云存储账户的一个或多个同步的所提取的事件,所述云存储账户由所述数据处理系统用来从使用所述云存储账户的其他设备获取所提取的事件。
86.根据权利要求85所述的方法,其中所述方法进一步包括:
在所述地图应用程序的用户界面内显示用于将所提取的事件添加至日历的命令;
将所提取的事件添加至日历应用程序;
从所述数据库或所述日历应用程序中的至少一者移除重复的所提取的事件。
87.根据权利要求78所述的方法,其中所述方法进一步包括:
确定运输模式;
从一个或多个服务器系统获取关于交通或运输延迟的信息;
基于所确定的运输模式和关于交通或运输延迟的所述信息来确定估计到达时间;并且其中所述估计到达时间与所述建议选项一起被显示。

说明书全文

事件提取系统和方法

[0001] 本专利申请要求2018年2月14日提交的美国专利申请15,897,038、2018年2月14日提交的美国专利申请15/897,043、2018年2月14日提交的美国专利申请15/897,047和2018年2月14日提交的15/897,053的优先权,这些专利申请均要求2017年6月2日提交的美国临时专利申请62/514,738的优先权,其全部内容以引用方式并入本文。

背景技术

[0002] 数据处理系统的用户通常发送关于事件的消息(例如,文本消息)或电子邮件,诸如去餐厅吃晚餐或午餐或者晚上去电影院看电影等。另外,数据处理系统的用户通常使用Web浏览器来预订餐厅、汽车租赁、凭票入场事件(例如,棒球比赛或电影等)、航班、酒店等。
[0003] 在过去,数据处理系统已得到增强,以包括识别不同类型的数据诸如事件的技术。参见例如美国专利7,912,828、8,423,288、以及8,738,360。这些技术依靠用户交互来利用所提取的数据。
发明内容
[0004] 本文所述的各个方面和实施方案涉及从不同类型的数据中提取事件。在一个实施方案中,事件可从自然语言描述中提取,诸如某些类型的电子邮件或文本消息或其他文本内容。在另一个实施方案中,事件可从诸如HTML的结构化数据(例如,网页或某些类型的电子邮件等)中提取。
[0005] 从事件的自然语言描述中提取事件的方法可包括以下操作:从具有自然语言描述的文本中提取事件;将所提取的事件添加至包含一个或多个所提取的事件的数据库;记录表示与所提取的事件相关联的第一时间的数据;显示日历应用程序的用户界面,其中日历应用程序的用户界面包括添加事件命令;接收对添加事件命令的选择;响应于该选择,确定与事件相关联的第一时间是否在当前时间的时间段内;如果第一时间在当前时间的时间段内,则在日历用户界面中显示所提取的事件的至少一部分。在一个实施方案中,最近所提取的事件可被建议为响应于添加新事件的命令而要添加至日历的新事件。在一个实施方案中,所提取的事件的显示可以是搜索所提取事件数据库的结果,并且搜索结果显示可能被提取事件的自动完成建议,即使没有字符被输入到搜索输入字段中也可建议可能被提取的事件,该自动完成建议可被称为零字自动完成建议。换句话讲,在日历用户界面中的搜索输入字段中接收到零个字符时,可执行在日历用户界面中显示所提取的事件的至少一部分。当第一时间超出当前时间的时间段时,可能需要在搜索输入字段中输入字符,以便在搜索结果的自动完成建议集中检索所提取的事件作为可能的搜索结果。自然语言描述可以是文本消息或电子邮件的一部分。
[0006] 当用户在不考虑与每个所提取的事件相关联的时间的情况下选择添加事件命令时,另选的实施方案可提供来自对所提取的事件的搜索的自动完成建议。在该另选的实施方案中,可在没有任何字符被输入到搜索输入字段中(零字自动完成建议)的情况下或在字符(该字符与所提取事件数据库中的事件相匹配)被输入到该字段中之后,提供通过搜索所提取事件数据库而获得的这些自动完成建议。
[0007] 在一个实施方案中,与所提取的日历事件相关联的第一时间可以是以下各项中的一者:(a)接收文本消息或电子邮件的时间;或(b)在文本消息或电子邮件被显示时提取所提取的事件的时间;或(c)将所提取的事件添加至所提取事件数据库的时间。
[0008] 在一个实施方案中,该方法还可包括基于从自然语言描述提取的数据来确定所提取的事件的截止日期;以及在截止日期或之后从数据库中移除所提取的事件。在一个实施方案中,包含所提取的事件的数据库可包括数据结构,其中所提取的事件按照从最近到最远的时间排序。在一个实施方案中,该方法还可包括在日历用户界面中接收对所显示的所提取事件的选择,并且响应于对所显示的所提取事件的选择,显示预先填充有来自所提取事件的数据的日历事件创建面板,以允许基于所提取的事件将条目编辑到由日历应用程序所维护的日历中。在一个实施方案中,可将所提取的事件放置在子日历中,该子日历可被表征为与用户的主日历分离的“在应用程序中找到”的日历。在一个实施方案中,日历应用程序可支持多个子日历(诸如工作日历、家庭日历等),如公布的美国专利申请US2004/0109025中所述。
[0009] 从自然语言描述提取事件的另一个实施方案可包括以下操作:从具有自然语言描述的文本中提取事件;将所提取的事件添加至包含一个或多个所提取的事件的数据库;显示日历应用程序的用户界面,该用户界面包括日历格式的一组一个或多个日期;接收对日历格式的一个或多个日期中的一者的选择;响应于该选择,搜索数据库以获取针对所选择的日期的任何所提取的事件,该搜索在用于接收并引起对数据库的搜索的搜索输入字段中接收到零个字符时执行;将数据库中针对所选择的日期的所提取的事件中的每一者显示为一个或多个候选事件。在一个实施方案中,该方法还可包括基于从自然语言描述提取的数据来确定所提取的事件的截止日期;以及在截止日期或之后从数据库中移除所提取的事件。
[0010] 本文所述的另一个方面涉及在用户使用Web浏览器进行预订或以其他方式创建事件时对一个或多个事件的提取。在一个实施方案中,一种方法可包括以下操作:从域接收文档;将该域与域白名单中的一组域进行比较;确定当该域在该组域中时是否基于文档的标题或文档的统一资源标识符(URI)中的至少一者来继续处理文档;如果继续处理,则从文档中提取表示候选日历事件的结构化数据;将候选日历事件添加至日历数据库;以及向用户呈现通知,该通知显示关于候选日历事件的数据的至少一部分。在一个实施方案中,对是否继续处理文档的确定可利用在使用Web浏览器的同时创建事件的过程来通过相同域(或已知与原始域相关的域)的不同网页重复完成。在一个实施方案中,该文档是包含来自企业的结构化数据的网页或电子邮件或文本消息中的一者。在一个实施方案中,白名单是Web浏览器的进程存储器中的数据结构,并且该数据结构是存储器映射查找树,且比较是存储器映射查找树中的查找操作。在一个实施方案中,对是否继续处理的确定可使用机器学习分类器,该分类器针对手动标记的示例进行训练,该手动标记的示例用于基于对网页的标题或电子邮件的主题行的表征来了解如何对结构化数据进行分类。在一个实施方案中,该表征指示电子邮件或网页是对预订的确认还是广告(非事件)或不被视为事件的促销。在一个实施方案中,日历数据库是在被存储在用户的私有存储账户中时被加密的私有本地日历数据库,并且候选日历事件可显示在子日历中,该子日历可为在日历应用程序中可显示的多个子日历中的一个。
[0011] 在一个实施方案中,通知可包括以下各项中的至少一者:(a)关闭命令,该关闭命令在保留候选日历事件的同时退出对通知的显示;或(b)选择命令,该选择命令在日历应用程序的用户界面中显示候选日历事件,其中候选日历事件在日历应用程序中可编辑;或(c)删除命令,该删除命令从日历数据库中删除候选日历事件。在一个实施方案中,通知可以是显示关于看似相关的一组候选事件的数据的合并通知。在一个实施方案中,该方法还可包括基于以下各项中的一者或多者从日历数据库中移除重复事件:重复次数;或重复标题;或由一个或多个域指示的重复源。在一个实施方案中,可将重复事件合并到合并通知中而不是移除它们。
[0012] 本文所述的另一个方面涉及用于提取引擎的架构,该架构可使用在不同事件类别之间共享的不同模。在一个实施方案中,提取引擎可执行以下操作:从域接收文档,该文档包含结构化数据诸如HTML内容;确定文档的语言;将文档分类为事件或非事件中的一种;针对由结构化数据描述的事件,检测位置、地址、日期、时间、电话号码或统一资源定位符中的一者或多者;基于被确定为处于类别中的一个类别的域,从用于不同事件类别的一组数据提取器中选择数据提取器;由所选择的数据提取器调用一组字段提取器,每个字段提取器被配置为从结构化数据中的对应类型的字段提取数据;由一组字段提取器提取结构化数据的字段内的数据,其中提取的流或顺序可由所选择的数据提取器控制;验证从字段提取的数据;针对事件生成所提取的数据的输出;以及响应于在验证成功时生成输出而自动将事件添加至日历。在一个实施方案中,一组数据提取器包括用于以下各项中的一者或多者的数据提取器:餐厅预订;汽车租赁预订;酒店预订;凭票入场事件,包括体育赛事和表演;
航班预订;或社交邀请事件。在一个实施方案中,该方法还可包括将域与域白名单进行比较;如果比较显示该域不在白名单中,则该方法可在对文档进行分类之前停止。在一个实施方案中,该方法还可包括在文档被分类为事件时对文档进行预处理,以在结构化数据的字段内提取数据之前移除不与事件相关联的内容。在一个实施方案中,分类确定文档是否为事件的取消。在一个实施方案中,一组数据提取器中的每个数据提取器在被选择时控制字段提取器的数据提取流。在一个实施方案中,该方法还可包括生成用于事件的密钥以与其他密钥进行比较从而移除日历中的重复事件。在一个实施方案中,一组字段提取器中的每个字段提取器从文档中提取候选对象,并且对候选对象进行评分以获取针对事件的字段而言为有效数据的可能性。在一个实施方案中,该方法还可包括:如果验证不成功,则向服务器系统发送失败报告,其中失败报告包括域和一个或多个失败类型。失败报告可用于将成功的事件提取与失败的事件提取进行比较,并确定是否应更新事件提取软件
[0013] 本文所述的另一个方面涉及在地图应用程序中对所提取的事件的使用,该地图应用程序可显示地图并且可在行进至某个位置时被使用,以在行进至事件时提供路线指引。一个实施方案中根据该方面的方法可包括以下操作:从具有自然语言描述的结构化数据或文本提取事件,所提取的事件包括位置;将所提取的事件添加至包含一个或多个所提取的事件的数据库;接收用于显示地图应用程序的选择;响应于用于显示地图应用程序的选择,搜索数据库以获取包括位置的所提取的事件;在地图应用程序内显示用于显示所提取的事件的位置的建议选项。在一个实施方案中,该方法还可包括:通过确定所提取的事件的位置是否在数据处理系统的当前位置的阈值距离内来过滤搜索的结果,并且如果所提取的事件的位置在当前位置的阈值距离内,则所提取的事件被显示为建议选项。在一个实施方案中,该方法还可包括:通过确定所提取的事件的时间是否在当前时间的预先确定的时间段内来过滤搜索的结果,并且如果所提取的事件的时间在当前时间的预先确定的时间段内,则所提取的事件被显示为建议选项。在一个实施方案中,如果(a)其他所提取的事件不包含位置,或者(b)其他所提取的事件的时间不在当前时间的预先确定的时间段内,或者(c)其他所提取的事件的位置不在当前位置的阈值距离内,则所提取事件数据库中的其他所提取的事件不被显示为建议选项。在一个实施方案中,可在没有字符被输入到搜索输入字段时执行搜索,并且因此在地图应用程序的一个实施方案中,建议选项为零字自动完成建议。
[0014] 在一个实施方案中,所提取事件数据库具有受限的访问,该受限的访问需要地图应用程序或目标守护进程所具有的访问权,而数据处理系统上的其他应用程序不具有访问权。在一个实施方案中,地图应用程序可包括可从应用程序启动用户界面访问的桌面小程序。在一个实施方案中,可验证所提取的事件的位置,并且一旦验证,就可对其进行地理编码以将地址诸如街道地址转换为一组地理坐标诸如纬度和经度。在一个实施方案中,所提取事件数据库可包括来自与云存储账户的一个或多个同步的所提取的事件,该云存储账户由数据处理系统用来从使用该云存储账户的其他设备获取所提取的事件。
[0015] 在一个实施方案中,该方法还可包括:在地图应用程序的用户界面内显示用于将所提取的事件添加至可通过日历应用程序显示的日历的命令;将所提取的事件添加至日历应用程序,并且从数据库或日历应用程序中的至少一者移除重复的所提取的事件。在一个实施方案中,该方法还可包括:确定运输模式;从一个或多个服务器系统获取关于交通或运输延迟的信息;基于所确定的运输模式和关于交通或运输延迟的信息来确定估计到达时间;并且其中估计到达时间与地图应用程序内的建议选项一起被显示。
[0016] 本文所述的方法和系统可通过数据处理系统诸如一个或多个智能电话、平板电脑、台式计算机、膝上型计算机、智能手表、可穿戴设备、音频附件、机载计算机,以及其他数据处理系统和其他消费电子设备来实现。本文所述的方法和系统还可由执行存储在一个或多个非暂态机器可读介质中的可执行计算机程序指令的一个或多个数据处理系统来实现,该程序指令在被执行时使得一个或多个数据处理系统执行本文所述的一个或多个方法。因此,本文所述的实施方案可包括方法、数据处理系统和非暂态机器可读介质诸如DRAM存储器和闪存存储器。
[0017] 以上概述不包括本公开的所有实施方案的详尽列表。所有系统和方法可根据以上概述的各个方面和实施方案以及以下具体实施方式中所公开的那些的所有合适的组合来实践。附图说明
[0018] 本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的标号指示类似的元件。
[0019] 图1是示出用于从自然语言描述提取事件的方法的流程图
[0020] 图2A示出了可包括事件的自然语言描述的即时消息应用程序的用户界面的示例。
[0021] 图2B示出了日历应用程序的用户界面的示例。
[0022] 图2C示出了基于所提取的事件的自动完成建议的示例,其中可响应于对用于将新事件添加至日历的命令的选择而在日历应用程序中显示该建议。
[0023] 图2D示出了可接受输入到搜索输入字段中的搜索查询的日历应用程序的用户界面的示例,并且搜索查询可用于在所提取事件数据库中搜索所提取的事件。
[0024] 图2E示出了即时消息应用程序的用户界面的示例,该用户界面显示对事件取消的自然语言描述。
[0025] 图3A示出了日历应用程序的用户界面的示例,该用户界面显示通过搜索所提取事件数据库而获得的建议事件。
[0026] 图3B示出了根据一个实施方案的方法,该方法用于响应于对日历中的日期的选择或响应于对用于将新事件添加至日历的命令的选择而显示一个或多个候选事件。
[0027] 图4示出了用于将事件提取器与日历应用程序一起使用的架构的框图形式的示例。
[0028] 图5是示出根据一个实施方案的方法的流程图,其中可从结构化数据诸如网页提取一个或多个事件。
[0029] 图6A、图6B和图6C示出了在用户浏览域内的多个网页时的浏览会话期间Web浏览器中网页的示例,并且分类器针对该浏览会话期间的每个此类页面确定是否在浏览会话期间提取事件。
[0030] 图7是可用于执行图5中所示方法的软件架构的框图。
[0031] 图8A、图8B、图8C和图8D示出了可与例如图5中所示方法一起使用的通知的示例。
[0032] 图9是示出使用提取引擎的方法的流程图,该提取引擎使用部件的分级结构。
[0033] 图10示出了根据一个实施方案的事件提取引擎的示例。
[0034] 图11示出了可用于实现图10中所示事件提取引擎的分级结构的示例。
[0035] 图12A、图12B、图12C、图12D、图12E和图12F示出了六种不同事件类别内各种可能的字段的示例,这些事件包括汽车租赁预订、凭票入场事件、餐厅预订、酒店预订、航班预订和社交邀请。
[0036] 图13A、图13B、图13C、图13D、图13E、图13F和图13G示出了验证规则的示例,这些验证规则可用作由图10中所示事件提取引擎进行的处理的一部分。
[0037] 图14A是流程图,其示出了在一个实施方案中用于通过监测大量设备中的成功的事件提取和失败的事件提取的报告来改进事件提取软件的方法。
[0038] 图14B示出了一个图形,其示出了可如何使用图14A的方法触发事件提取软件的更新,随后可将该更新分发到多个设备以改进事件提取。
[0039] 图15是流程图,其示出了在一个实施方案中用于提取事件并使用那些所提取的事件来在地图应用程序中对位置进行建议的方法。
[0040] 图16示出了可与地图应用程序一起使用以对一个或多个所提取的事件中的位置进行建议的系统的示例。
[0041] 图17示出了地图应用程序的用户界面的示例,该用户界面可显示从所提取事件数据库获得的建议位置。
[0042] 图18是可与本文所述的一个或多个实施方案一起使用的数据处理系统的示例的框图例示。

具体实施方式

[0043] 将参考以下论述的细节来描述各种实施方案和方面,并且附图将对各种实施方案进行说明。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,熟知的或常规的细节并未被描述,以便提供对实施方案的简明论述。
[0044] 在本说明书中提到的“一个实施方案”或“实施方案”是指结合该实施方案所述的特定特征、结构或特性可被包括在至少一个实施方案中。在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。在随后的附图中所描绘的过程由包括硬件(例如,电路专用逻辑部件等等)、软件或这两者的组合的处理逻辑部件来执行。虽然下文按照某些顺序操作来描述该过程,但应当理解,所描述的某些操作可以不同的顺序执行。此外,某些操作也可并行执行而非按顺序执行。
[0045] 本文所述的一个方面涉及从具有一个或多个事件的自然语言描述的文本提取一个或多个事件。图1示出了使用从具有自然语言描述的文本提取的事件的方法的示例。图1的方法可使用已知的数据提取技术,这些技术从自然语言描述提取数据,其中数据包括事件的数据。此类数据提取技术的示例在美国专利7,912,828和8,738,360中进行了描述。这些已知技术可用于执行操作51,并且可用作图4中所示事件提取器251的一部分。重新参考图1,在操作51中,从具有自然语言描述的文本提取了一个或多个事件。图2A示出了在即时消息应用程序101的用户界面的文字本103内所显示的事件的自然语言描述的示例。重新参考图1,在操作53中,可将所提取的事件添加至包含一个或多个所提取的事件的数据库。然后,可选操作55可记录表示与所提取的事件相关联的第一时间的数据。在一个实施方案中,稍后可使用该第一时间来确定是否将所提取的事件呈现为零字自动完成建议。在另一个实施方案中,不使用第一时间,并且显示所提取事件的自动完成建议可在不考虑时间的情况下被显示。在操作57中,可显示日历应用程序的用户界面,并且该用户界面可包括用于将事件添加至日历的命令。此类命令的示例在图2B中示出,该附图示出了日历应用程序的用户界面,该用户界面包括添加事件图标121;用户可选择添加事件图标121以使得日历应用程序呈现用户界面诸如图2C中所示的用户界面,以允许用户将新事件添加至日历。重新参考图1,在操作59中,日历应用程序的用户界面可接收对添加事件命令的选择。该选择可包括添加事件图标上的触摸或轻击,或使用光标鼠标来选择添加事件图标,或使用本领域已知的其他技术来选择由添加事件图标表示的添加事件命令。然后在图1中所示的操作61中,系统响应于在操作59中接收到的选择来确定第一时间是否在当前时间的时间段(例如一小时)内;操作61会在使用第一时间的那些实施方案中被执行。如果第一时间在当前时间的时间段内,则所提取的事件被显示为建议事件以添加至日历,并且这在图1中被显示为操作63。在一个实施方案中,对所提取的事件的显示可响应于对所提取事件数据库的搜索(其中用户未输入搜索查询)而发生,并且当前时间的预先确定的时间段(例如一小时)内的所有提取的事件都可被呈现为建议事件。换句话讲,在一个实施方案中,每个此类建议事件是由于每个此类事件的第一时间在当前时间的时间段内而显示的零字自动完成建议。在一个实施方案中,该时间段可为一小时,并且响应于对添加事件命令的选择,在过去一小时内提取的所有此类所提取的事件都可被呈现为建议事件(由搜索引擎发现)的零字自动完成建议。
[0046] 下面的示例将通过描述两个朋友之间的文本消息会话来示出图1的方法。每个朋友都可以使用即时消息应用程序在涉及午餐的会话中与另一位朋友交换消息。图2A示出了该会话在一个设备上的示例。即时消息应用程序的用户界面101包括显示三个消息泡105、107和109的文字本103。用户界面101还包括输入暂存区域111和屏幕键盘112。通过利用机器学习算法(哪些模型被训练以识别自然语言描述中的事件意图)和事件知识数据库的混合引擎来分析输入到即时消息应用程序中的文本。图4中的事件提取器是此类事件提取器
251的示例,该事件提取器分析自然语言描述中的文本,诸如图4中所示的电子邮件255和消息253。然后,事件提取器251可提取事件并将其存储在图4中所示的数据库257内。重新参考图2A,可以看出这两个朋友商定在一家名为Fred's的餐厅吃午餐。在一个实施方案中,事件提取系统可假定午餐的默认时间,诸如中午12:30。事件提取器可以提取事件的标题(诸如“午餐”),并且可以指定默认开始时间和默认持续时间(如果在自然语言描述中未明确提及)。
[0047] 从自然语言描述提取的所提取的事件可被添加至所提取事件数据库(诸如数据库257),然后可响应于对添加事件图标(诸如图2B中所示的日历应用程序的用户界面120内的添加事件图标121)的选择来搜索该数据库。换句话讲,参与图2A中所示的即时消息会话的任一用户都可转到其日历应用程序以启动用户界面120,并且可选择添加事件图标121。响应于对添加事件图标的选择,可自动执行对所提取事件数据库的搜索以检索某个时间段(诸如当前时间的一小时,其中用户未输入任何搜索查询)内的所有最近事件。可在不选择图2B中所示的日历应用程序的用户界面120内的搜索图标122的情况下执行该搜索。换句话讲,响应于对添加事件图标121的选择而执行的搜索是响应于对添加事件图标的选择而自动执行的,不需要单独选择搜索图标122。响应于对添加事件图标121的选择的搜索的结果在图2C中示出,其表示已在当前时间的过去一小时(在该实施方案中)提取的所提取事件的零字自动完成建议(来自搜索引擎的搜索)。在一个实施方案中,操作61中使用的时间段为一小时,但可以是其他时间段。如图2C中所示,所提取的事件133可为作为搜索结果的一部分返回的自动完成建议,其中没有任何字符被输入到日历应用程序的搜索输入字段中。所提取的事件133示出了该事件由于字词“可能”而被视为候选事件,并且包括餐厅的名称和时间以及被邀请者,该被邀请者是图2A中所示的文本消息会话中的另一个参与者。如果正在操作图2A中所示的即时消息应用程序的用户在过去一小时内进行了其他即时消息会话,并且那些其他消息会话还创建了所提取的事件,则图2C中所示的所提取事件的自动完成建议(来自搜索引擎259)也将包括那些所提取的事件,因为在一个实施方案中这些事件也在过去一小时内被提取。
[0048] 图1中所示的基于时间的方法允许用户在不向搜索输入字段中输入任何字符的情况下检索从最近消息、电子邮件等以及系统已自动处理的其他自然语言描述中提取的所有最近提取的事件。因此,用户无需输入任何搜索查询来检索最近所提取的事件,诸如在一个实施方案中在过去一小时内被提取的那些事件。应当理解,在另选的实施方案中,也可使用除一小时之外的其他时间段。在一个实施方案中,与所提取的事件相关联的第一时间可以是接收提供所提取事件的自然语言描述的文本消息或电子邮件的时间;另选地,第一时间可以是在文本消息或电子邮件被显示时提取所提取的事件的时间;另选地,第一时间可以是所提取的事件被添加至所提取事件数据库的时间。在每种情况下,将第一时间与当前时间进行比较以确定其是否在当前时间的时间段内,诸如当前时间的一小时内。在一个实施方案中,事件提取器(诸如事件提取器251)可基于关于截止时间和文本描述的规则来提取截止日期或创建截止日期;例如,在默认情况下,午餐或餐厅预订可在开始日期之后的那一天被视为截止,因此如果开始日期是8月17日星期三,则截止日期可默认是8月18日星期四。在一个实施方案中,截止日期可用于移除已截止的一个或多个所提取的事件;在一个实施方案中,所有已截止的所提取事件可被周期性地从所提取事件数据库中移除,以便搜索引擎(例如搜索引擎259)不在搜索结果中返回过时的所提取事件。还可在本文所述的其他实施方案中执行已截止的所提取事件的移除,诸如从结构化数据(例如,图7、图10和图16中所示的实施方案中的网页或电子邮件中的HTML内容)提取事件的实施方案。
[0049] 如图2D中所示,本文所述的实施方案还可允许用户通过将一个或多个字符输入到显示在日历应用程序的用户界面120B内的搜索输入字段137中来搜索所提取的事件。将一个或多个字符输入到搜索输入字段137中可使得图4中所示的搜索引擎259搜索包含所提取事件的数据库,该数据库在图4中被示为数据库257。该搜索的结果可由搜索引擎259提供给日历应用程序263,该日历应用程序可呈现如图2B、图2C和图2D中所示的用户界面。
[0050] 在一个实施方案中,图4中所示的事件提取器251可分析自然语言描述以确定事件是否已被取消。这可发生在将事件添加至所提取事件数据库(诸如数据库257)之前,或者发生在将事件添加至所提取事件数据库之后。对取消的检测可使得事件提取器(诸如事件提取器251)从所提取事件数据库(诸如图4中所示的数据库257)中移除所提取的事件。图2E示出了包含四个消息泡145、147、149和151的会话的示例。消息泡145、147和149表明已经安排了一个事件(午餐)。但是,消息泡151说明该事件已取消,因为其中一个参与者无法进行该事件,因此这会使得事件提取器(诸如事件提取器251)取消该事件,该取消会使得从所提取事件数据库中移除该事件(如果该事件已被添加至该数据库)。
[0051] 图3A和图3B示出了另一个实施方案,其中所提取的事件可以作为搜索结果返回,这些搜索结果可以是在搜索结果中提供的自动完成建议。图3B中所示的方法可在操作201中开始,该操作从具有自然语言描述的文本提取事件。例如,操作201可使用事件提取器251从自然语言描述(诸如在图4中所示的消息253或电子邮件255中发现的描述)提取事件。然后,在图3B的操作203中,可将所提取的事件添加至包含一个或多个所提取的事件的数据库。在图4中可看到这种情况,其中事件提取器251将所提取的事件添加至数据库257。重新参考图3B,用户可选择或启动日历应用程序,在操作205中,该日历应用程序显示日历应用程序的用户界面的,该用户界面可包括显示日历视图的各种不同方式(诸如每日视图、每周视图、每月视图等)。在一个实施方案中,视图可以是显示一个或多个日期的日历格式,诸如图2B中所示的格式,该附图在每周视图123中显示日历条目125、127和129。然后在图3B的操作207中,数据处理系统可接收对日历应用程序的用户界面内所显示的日历格式的日期的选择。例如,用户可选择在图2B中的日历条目127中所示的日期。然后,图3B的操作207中的选择可使得操作209发生。在操作209中,数据处理系统可响应于在零个字符被输入到搜索输入字段的情况下对日期的选择而搜索数据库以获取针对所选择的日期的任何所提取事件。重新参考图4,搜索引擎259可搜索数据库257以获取针对所选择的日期的所提取事件,并且该搜索的结果可包括一个或多个所提取的事件,这些事件可在图3B中的操作211中被显示为一个或多个候选事件。图3A示出了可由图3B中的操作211产生的日历应用程序的用户界面120C的示例。在图3A中所示的该示例中,已通过在图3B的操作209中的搜索发现所提取的事件160,并且该事件显示在用户界面120C中。候选事件由于所提取的事件160中的词“可能”而被显示为候选事件,如图3A中所示。所提取的事件可能已由于数据处理系统的用户与在自然语言描述中交换文本的另一个用户之间的电子邮件或文本消息而被创建,该文本描述了在图3B的操作207中所选择的日期在名为Mom's Burgers的餐厅的午餐。如果针对所选择的日期有多个所提取的事件,则日历用户界面(诸如用户界面120C)可在可滚动列表中显示多个所提取的事件。然后,包括日历应用程序的数据处理系统的用户可通过选择添加事件选项121A将所提取的事件添加至用户的日历,或者不能通过选择取消选项156将所提取的事件添加至用户的日历。用户界面120C还允许用户通过选择新事件选项157来添加新事件,在这种情况下新事件通常将不同于所提取的事件160。在图3B的方法中,不要求用户在搜索输入字段(诸如日历应用程序的用户界面中的搜索输入字段137)中输入任何字符,因此可将搜索引擎提供的搜索结果视为零字自动完成建议或一组建议,其基于在操作207中接收到的所选择的日期。应当理解,用户还可通过在日历应用程序中的搜索输入字段中输入字符来搜索所提取的事件,以检索由用户手动输入的日历事件以及所提取事件数据库(诸如数据库257)中的所提取事件。然后,搜索引擎(诸如图4中所示的搜索引擎259)可基于用户输入到搜索输入字段中的字符将结果返回至日历应用程序261。
[0052] 在图3B中所示的方法的另选的实施方案中,操作207可接收对添加新事件的选择,而不是对日历应用程序中日期的选择。例如,在图3B中所示的操作207的该另选的实施方案中,用户可选择图2B中所示的添加事件图标121。这可导致操作209的另选的实施方案,其中搜索引擎在不考虑日期的情况下搜索所提取事件的数据库,并且返回在搜索中找到的所提取的事件作为搜索结果。操作209的另选的实施方案中的该搜索可在用户在日历应用程序的搜索输入字段中输入零个字符的情况下执行,并且用户可通过在搜索输入字段中输入字符来进一步限制搜索结果,从而减少搜索结果中所显示的候选事件的数量。
[0053] 图5、图6A、图6B、图6C、图7和图8A至图8D示出了本文所述实施方案的另一个方面,其可在处理结构化数据(诸如包含HTML内容的网页)时使用。根据该方面的实施方案可将图5中所示的方法与图7中所示的架构一起使用,这能够最终产生一组一个或多个通知,诸如图8A、图8B、图8C和图8D中所示的通知。重新考图5,在操作301中,从域或文档的源的其他标识符接收到该文档诸如网页。在操作303中,可将该域与白名单(诸如图7中所示的域白名单
403)中的一组域(或源的其他标识符)进行比较。如果在白名单中未找到该域,则方法5可在操作303处停止,并且只要Web浏览器保持在该域中浏览,该方法就不会继续。在一个实施方案中,白名单是存储器映射查找树中的数据结构,并且在图5的操作303中执行的比较操作可为存储器映射查找树中的查找操作。如果在操作301中接收到的文档的域在操作303中的白名单中找到,则处理继续进行到图5中所示的操作305。在一个实施方案中,当用户浏览同一域中的多个网页(诸如在图6A、图6B和图6C中分别示出的网页321、323和325)时,图7中所示的分类器405可在循环中重复执行操作305。在一个实施方案中,当用户正在预订航班或餐厅或电影或其他事件类别的注册时,可发生浏览同一域中的多个网页,其中预订过程要求用户与域中的多个网页交互。重新参考图5,操作305基于(在一个实施方案中)文档的标题或诸如文档的URL(统一资源定位符)的统一资源标识符中的至少一者来确定是否继续处理文档。在图7中可看到操作305,其中Web浏览器401向执行图5中所示的操作305的分类器
405提供标题和URL 404。当用户浏览域中的多个网页时,对每个网页都重复操作305,并且图7中所示的Web浏览器401向分类器405重复提供一个或多个标题和URL 404,然后该分类器可在决策406中指示是否提取网页中的事件。决策406可基于分类器405提供的网页的分类来指示何时提取。在图5中的操作305可执行的循环的典型示例中,当分类器向Web浏览器
401提供“是”决策406时,分类器可在一组或多组最终网页之前返回针对一组初始网页的“否”决策406。这可在图6A、图6B和图6C中看到。具体地,分类器405将初始网页321分类为非事件。类似地,在预订过程的初始阶段,分类器405将网页323分类为非事件。这可以在域内的多个Web页面中继续。在新网页的每个实例处,图7中的Web浏览器401向分类器405提供标题和URL404,该分类器随后用“是”决策(其为事件)或“否”决策(其为非事件,尚未提取)对网页进行分类。在图6C中所示的示例中,网页325可为显示已确认对事件的预订的网页,并且分类器405向图7中的Web浏览器401返回“是”决策406,该决策随后向图7中所示的事件提取器407提供HTML内容408。重新参考图5,分类器405的决策使得处理从操作305继续到操作
307,其中来自被分类器405分类为事件的特定网页的结构化数据被提取。该结构化数据表示候选日历事件。在通过例如图7中的事件提取器407在操作307中提取结构化数据后,可执行图5中的操作309。在操作309中,可将候选日历事件添加至日历数据库,该日历数据库可为子日历的数据库,诸如已公布的美国专利申请2004/0109025中描述的子日历。例如,如操作309中所示,可将候选日历事件添加至被表征为“在应用程序中找到的日历”的日历。该日历数据库可以是图7中所示的所提取事件数据库409的一部分。然后,添加候选日历事件可使得通知系统(诸如图7中所示的通知系统411)引起图5中所示的操作311。在操作311中,数据处理系统可向用户呈现通知,并且该通知可显示关于在图5的操作307中提取的候选事件的数据的至少一部分。重新参考图7,通知系统411可使得显示通知(诸如图8A、图8B、图8C和图8D中所示的通知),并且用户可与这些通知交互,以使得所提取的事件被添加至图7中所示的一个或多个日历数据库412。
[0054] 在一个实施方案中,该通知可在预定过程完成时同时显示给用户,这在图8A和图8B中示出。在图8A的情况下,在显示通知455时,Web浏览器窗口453仍显示在用户的数据处理系统的屏幕451上。Web浏览器窗口453可显示预订过程的最终页面,该最终页面可以是提供由图7中所示的事件提取器407提取的详情的确认页面。因此,在一个实施方案中,在事件提取器已提取事件并将所提取的事件添加至所提取事件数据库(诸如图7中所示的数据库
409)之后,通知455可在确认网页(诸如图6C中所示的网页325)显示之后很快出现。在图8B中所示的用户界面的情况下,Web浏览器窗口457显示在屏幕456上,并且基于已从预订中提取的多个所提取的事件(例如汽车租赁预订或航班预订)同时显示多个通知459。图8C示出了通知455的示例,该通知包括关于区域465中的候选日历事件的数据的至少一部分,并且还包括关闭选项467和删除选项469。用户可选择区域465,该区域可使得日历应用程序打开以允许将事件的条目编辑到用户的日历中。如果用户选择关闭选项467,则通知被关闭,而不将所提取的事件添加至用户的日历;然而,所提取的事件可保留在所提取事件数据库中(诸如所提取事件数据库409),直到其截止日期为止,该截止日期可作为关于特定的所提取事件的数据的一部分存储在字段中。如果用户选择删除选项469,则所提取的事件不会被添加至用户的日历,并且还会被从所提取事件数据库(诸如图7中所示的所提取事件数据库
409)中删除。图8D示出了多个通知诸如多个通知459的用户界面的示例。
[0055] 在一个实施方案中,图7中所示的分类器405可为机器学习分类器,该分类器针对网页的手动标记示例进行训练,该手动标记示例用于基于网页的标题或电子邮件的主题行的特征来了解电子邮件或网页是对预订的确认还是非事件的广告或促销。在一个实施方案中,可将由事件提取器(诸如事件提取器407)提取的事件添加至与用户的主日历分开的私有本地日历数据库。如果私有本地日历数据库存储在用户的私有存储云账户中,则可以对其进行加密。在一个实施方案中,包含所提取的事件的私有本地日历数据库可显示在子日历中,该子日历是在日历应用程序中可显示的多个子日历中的一个。在一个实施方案中,看似针对相同事件的通知可合并到单个通知中,该通知可显示为图8B和图8D中的通知459。在一个实施方案中,可创建事件的标识符(诸如下述密钥)以便识别属于重复事件的事件,从而允许从日历和日历数据库中移除重复事件。
[0056] 本文所述的实施方案的另一个方面涉及可使用部件分级结构的事件提取引擎,并且在该分级结构内可存在多个数据提取器,其中多个数据提取器中的每一个都专用于特定类别的事件(诸如酒店预订、汽车租赁预订、航班预订、餐厅预订、凭票入场事件等)。图9、图10和图11示出了该方面的示例。另外,该方面中描述的事件提取引擎(例如事件提取引擎
550)可用于其他方面,诸如用于事件提取器407和提取系统755中。在一个实施方案中,图10中所示的事件提取引擎550可执行图9中所示的方法,并且事件提取引擎550可使用图11中所示的分级结构600来执行事件提取过程。图9中所示的方法可在操作501中开始,在该操作中从域接收文档,并且该文档包含诸如HTML内容的结构化数据。该文档可以是例如具有结构化数据的网页或电子邮件,或者具有由例如与即时消息应用程序一起操作的扩展应用程序提供的结构化数据的文本消息。参考图10,文档551是在图9的操作501中接收到的文档的示例。在一个实施方案中,图9的方法可任选地使用域白名单,诸如图10中所示的域(或源的其他标识符)白名单553。在一个实施方案中,可在图9的操作503之前执行对白名单的任选使用。如果在白名单中未找到该域,则图9的方法可在该点处停止,并且不再对当前文档进一步继续。另一方面,如果所接收的文档的域在白名单中被找到(诸如图10中的白名单
553),则处理可在操作503中继续。如图9中的操作503所示,分类器可将文档分类为事件或非事件以用于事件提取。在一个实施方案中,可将文档内的结构化数据提供给图10中所示的机器学习分类器557,该分类器可类似于图7中所示的分类器405。在一个实施方案中,机器学习分类器557可为针对用于了解如何对包含结构化数据的电子邮件或网页进行分类的标记示例进行手动训练的分类器,并且该分类可包括将结构化数据分类为对预订或其他事件的确认,并且还可包括对非事件(诸如广告和促销等)的分类。在一个实施方案中,机器学习分类器可学习确认电子邮件的主题行与广告电子邮件的主题行的特征。例如,机器学习分类器可学习到当“确认”一词出现在主题行或标题中时这增加了电子邮件或网页具有事件确认的可能性。相反,机器学习分类器可学习到当“10%折扣”出现在主题行或网页的标题中时,该电子邮件或网页不太可能包含事件预订,而可能仅仅是应当被丢弃的商业电子邮件或广告。对于网页,分类器可使用网页的标题和完整URL进行分类。在一个实施方案中,分类器还可使用统计方法来确定电子邮件或网页的区域设置(语言和国家)。对语言的确定也可由图10中所示的常规语言识别器555来执行,该识别器在一个实施方案中向图10中所示的机器学习分类器557提供语言的标识。这可允许机器学习分类器在一个实施方案中针对特定语言使用适当的规则。在一个实施方案中,当文档是包含结构化数据的电子邮件时,机器学习分类器557可接收电子邮件的主题行和电子邮件标头。如果分类器(诸如机器学习分类器557)将文档分类为事件,则处理可在图9的操作505处继续。操作505可包括从结构化数据中检测以下各项中的一者或多者:位置、日期、时间、电话号码、地址或者统一资源定位符或统一资源标识符。可在操作505中进行的该检测可由图10中所示的数据检测器561执行。在一个实施方案中,数据检测器561可为用于检测不同类型的数据(诸如位置、日期、时间、电话号码、地址、统一资源定位符等)的一组已知数据检测器。在一个实施方案中,该组数据检测器中的每个数据检测器都可专用于仅检测结构化数据的一种特定类型(诸如位置、日期、时间等)。在一个实施方案中,数据检测器561可在任选的预处理器(诸如预处理器
559)用于预处理结构化数据后执行操作505以移除非事件内容。这在图10中示出,因为预处理器559在事件提取引擎550内所示的数据流中位于数据检测器561之前。在一个实施方案中,预处理器559去除无关的HTML注释。例如,预处理器559将“hello”转换为“hello”,并将“”转换为“”等。
[0057] 在操作505中检测来自文档的结构化数据的数据之后,处理可继续进行至图9中的操作507。在操作507中,事件提取引擎可通过类别选择器(诸如图10中所示的类别选择器563)从用于不同事件类别的一组数据提取器中选择特定的数据提取器。该选择可基于被确定为在一个类别中的域来进行。例如,如果电子邮件是从“OpenTable.com”接收的,或者网页的域是“OpenTable.com”,则类别选择器563将选择用于餐厅预订的数据提取器,诸如用于图11中所示的餐厅预订的数据提取器609。在一个实施方案中,图10中所示的类别选择器
563可选择图11中所示的数据提取器中的一个,诸如数据提取器603、605、607和609。在一个实施方案中,可存在六个此类数据提取器,这些数据提取器通过图10中所示的类别选择器
563来选择。这六个类别在图12A、图12B、图12C、图12D、图12E和图12F中示出。在一个实施方案中,类别选择器563可使用包括这六个类别中的每一个类别中的域名单的数据结构。类别选择器563可在域名单中执行查找,并从为域指定的类别中确定类别。例如,可存在用于汽车租赁预订的域名单、用于餐厅预订的域名单、用于航班预订的域名单、用于酒店预订的域名单、用于凭票入场事件的域名单等。在一个实施方案中,每个此类类别都有一个单独的数据提取器,该组此类数据提取器在图10中被示为一组数据提取器565。每个数据提取器的作用是控制该类别的一般流程。例如,餐厅数据提取器将尝试提取事件的日期和时间以及位置(如果可用),然后它可以调用专可复用的子模块或字段提取器,这些子模块或字段提取器处理特定字段中的非常具体类型的提取。这在操作509中示出,其中所选择的数据提取器针对预期针对事件类别提取的每个字段调用一组字段提取器。该组字段提取器可以是图
10中所示的字段提取器567或图11中所示的一组字段提取器611。在一个实施方案中,对于图12A至图12F中所示的每个字段,针对特定字段都存在单独且不同的字段提取器,尽管这些字段提取器可在不同类别间共享。例如,用于“开始日期”字段的字段提取器可由凭票入场事件类别、餐厅预订类别、酒店预订类别以及航班预订类别等共享。
[0058] 重新参考图9,由所选择的数据提取器调用的该组字段提取器可在操作511中提取结构化数据的字段内的数据。所选择的数据提取器委托提取其类别中的事件的所有必需属性,然后将这些详情拼合在一起以创建事件,该事件可通过图10中所示的验证器569在图9中所示的操作513中来验证。在一个实施方案中,子模块或字段提取器可收集用于在文档中提取数据的一组候选项,并且用各种标准对它们进行评分,以便仅将最高得分项目保留为特定字段的提取数据。例如,开始时间字段提取器可获取使用数据检测器561提取的所有时间候选项,并且为接近关键字(诸如“开始时间”或“您的预订时间为”或“开始于”等)的候选项提供较高的得分。在所选择的数据提取器组合所提取的事件之后,可使用例如图13B、图13C、图13D、图13E、图13F和图13G中所示的特定类别(以及在图13A情况下的所有类别)的验证规则验证该数据。例如,在一个实施方案中,如果类别选择器(诸如图10中的类别选择器
563或图11中的类别选择器601)选择了餐厅预订类别,则验证规则将包括图13A和图13D中所示的规则。应当理解,存在用于验证规则的各种另选方案,因此可在另选的实施方案中使用另选的验证规则,该另选的实施方案在各种类别中可具有较少规则或较多规则或不同规则。重新参考图9,在一个实施方案中,在成功地完成验证操作(在操作513中)之后,则可将事件添加至日历数据库,例如“在应用程序中找到的”日历。在一个实施方案中,在将所提取的事件添加至所提取事件的数据库中之前,可处理所提取的数据以生成格式化输出,该格式化输出可为事件的字典表示,诸如可遵循例如对各种类别使用schema.org Web标准的事件详情。换句话讲,用于格式化特定类型的事件的标准可用于根据该标准生成格式化输出。
此外,以特定格式生成输出的过程还可包括生成事件的标题和关于事件的元数据诸如时间的持续时间,其中如果事件未提供持续时间,则该持续时间为默认持续时间。在一个实施方案中,当事件为非显式的时,可推断事件的默认持续时间;例如,餐厅预订的默认持续时间为1 1/2小时。生成所提取的事件的输出的过程还可包括生成用于检查用户的日历中是否已存在类似事件的重复关键字,并且当已将重复事件输入到日历中时,该重复关键字可用于对日历去除重复。例如,在餐厅预订的情况下,重复关键字可以是诸如餐厅/预订标识符/名称/时间的关键字。该关键字还可在提取事件的取消时使用,以便可使用取消来移除已取消的事件。一旦事件被提取(诸如图10中所示的所提取的事件571),便可将其添加至所提取事件数据库,诸如图10中所示的所提取事件数据库573。在一个实施方案中,将所提取的事件添加至所提取事件数据库可使用所提取的事件自动填充“在应用程序中找到的”日历,以便所提取的事件可被搜索引擎找到,该搜索引擎可由用户调用以搜索日历应用程序内的事件,也可响应于诸如用户在日历应用程序内选择添加事件命令的事件而由系统调用。
[0059] 如本文所述,事件提取引擎550可采用部件的分级结构,诸如图11中所示的分级结构600。类别选择器601位于分级结构的顶部,并负责为由类别选择器所选择的特定类别选择特定的数据提取器。在一个实施方案中,可类似于图10中的类别选择器563的类别选择器601可基于作为文档(诸如文档551)的源的域来选择类别。然后,类别选择器601可选择被设计来与所选择的类别一起使用的特定数据提取器。继而,所选择的数据提取器(可为图11中所示的数据提取器603、605、607和609中的一者)以及其他数据提取器可根据特定类别调用一组字段提取器611内的适当的一组字段提取器。图12A、图12B、图12C、图12D、图12E和图
12F示出了在一个实施方案中用于不同类别的各种字段提取器。所选择的数据提取器将根据用于处理如本文所述的数据的类别来选择适当的字段提取器。
[0060] 本文所述的实施方案的另一个方面在图14A和图14B中示出。通常,预订服务的提供商可以更改其网页格式或其电子邮件格式。这可能导致事件提取引擎无法再成功地提取事件。在一些实施方案中,可通过监视用户在某个时间段内使用的多个设备上的事件提取的成功和失败来避免这些情况。在一个实施方案中,这可涉及针对所有提供商以所有语言跟踪所有事件类别(诸如图12A至图12F中所示的类别)的成功和失败。图14A示出了可提供该跟踪的方法的示例。在操作651中,可从多个客户端设备接收成功的事件提取的报告,并且每个报告可包括成功提取事件的域的标识符(或其他源标识符)。该报告还可包括有关事件的一组元数据以及包含从中成功提取事件的结构化数据的文档。在一个实施方案中,除了域的标识符之外,该报告还可包括指示提取日期的日期。在操作653中,可在给定日期从多个设备接收失败的事件提取的报告。每个报告可包括该域的标识符(或其他源标识符)以及提取失败的一个或多个字段的一个或多个标识符。可将这些标识符视为错误消息,该消息指示给定域在给定日期的错误类型。在一个实施方案中,这些量度可每天由多个客户端设备传输,并且可在一个或多个服务器系统上以保护隐私的方式(诸如没有用户标识符等)收集,并且可用于建立基准。可以通过例如操作655来建立基准,该操作将给定时间段内成功的事件提取的数量与同一时间段内失败的事件提取的数量进行比较,并随时间推移显示该比较。在一个实施方案中,该显示可类似于图14B中所示的图形670,该图形随时间推移跟踪给定时间段内的成功的事件提取673相对于同一域的失败的事件提取671的情况。图14B中所示的Y轴示出了针对特定域的事件提取的报告的数量。可以看出,在时间675(时间T1)处,域“ABC”处的提供商可能改变了网页或电子邮件中的格式,这影响了来自域“ABC”处的提供商的一个或多个字段的事件提取过程的准确性。该比较可显示与基准的高偏差,这指示可能需要修改事件提取引擎。在一个实施方案中,这可涉及从受影响的域(例如域“ABC”)获取样本文档。例如,可通过转至受影响的域的网站并作出预订(然后取消)并收集样本文档(诸如电子邮件确认文档和网页确认文档)来完成该操作。然后,可通过事件提取引擎运行这些样本文档,以允许修改事件提取引擎从而允许正确处理样本文档以成功提取事件。一旦基于该测试修改了事件提取软件,则可在操作657中将其传输到用户的多个客户端设备。
[0061] 图15、图16和图17示出了本文所述实施方案的另一个方面,该方面涉及响应于例如用户为了显示地图应用程序所作的选择而进行的自动搜索。图15中所示的方法可与图16中所示的系统一起使用,以产生图17中所示的地图应用程序的用户界面801。现在参考图15,在操作701中,可从结构化数据或具有自然语言描述的文本提取事件,其中该事件包括位置。在操作703中,可将所提取的事件添加至包含一个或多个所提取事件的数据库。现在参考图16,系统750可接收可由提取系统755处理的源资料753,以产生被添加至包含一个或多个所提取事件的数据库757的所提取的事件。因此,提取系统755可处理源资料753以执行图15中所示的操作701和703。在一个实施方案中,源资料可包括网页、电子邮件、文本消息等。在一个实施方案中,提取系统755可类似于图4中所示的事件提取器251或类似于图7中所示的事件提取器407或类似于图10中所示的事件提取引擎550。在一个实施方案中,可将所提取的事件添加至日历应用程序,诸如图16中所示的日历应用程序759。可如本文所述继续将所提取的事件添加至日历应用程序,作为自动添加或在用户可手动确认的通知之后添加,或响应于用户对显示在地图应用程序的用户界面内的命令的选择而继续将所提取的事件添加至日历等。重新参考图15,在某个时刻,用户可启动或打开地图应用程序,这在操作
705中示出,在该操作中,系统接收用于使得显示地图应用程序(或地图应用程序的桌面小程序)的选择。当用户打开或启动地图应用程序时,地图应用程序(诸如图16中所示的地图应用程序751)可查询目标守护进程(诸如图16中所示的目标守护进程761),以使得在所提取事件数据库(诸如数据库757)中执行对所提取的事件的搜索。该搜索在图15中被示为操作707,并且该搜索可响应于用于打开或显示地图应用程序的选择而自动执行。在一个实施方案中,该搜索被限制或过滤以仅包括所提取的事件,这些所提取的事件包括已被验证的位置。在一个实施方案中,即使没有搜索输入字符被输入到地图应用程序中的搜索输入字段中也可执行该搜索。在一个实施方案中,可基于当前位置或当前时间或这两个参数来过滤搜索结果。例如,不在接下来八小时内(对于航班)和接下来四小时内(对于在应用程序中找到的任何其他事件或包含在所提取事件数据库中的其他事件)的事件将被搜索过程忽略或过滤掉。在一个实施方案中,不具有结构化地理编码位置(诸如纬度和经度)的事件也被忽略。在一个实施方案中,具有距当前位置远于200英里的位置的事件也被忽略。在一个实施方案中,在图16中所示的系统750中,可通过时钟763和位置确定系统767提供当前时间和当前位置。在一个实施方案中,位置确定系统767可包括GPS系统或辅助GPS系统或Wi-Fi定位技术等中的一种或多种。因此,可基于当前位置和当前时间来过滤由图15中的操作707执行的自动搜索,以便仅在例如当前时间的四小时内并且在当前位置的200英里内的事件在一个实施方案中被显示为操作709中的建议。建议选项可基于没有任何字符被输入到搜索输入字段中而被视为自动完成建议。在一个实施方案中,如果在预先确定的时间段内没有所提取的事件,则将不存在操作709中所显示的建议选项。在一个实施方案中,所显示的建议选项可包括基于从地图或交通服务器(诸如图16中所示的地图和交通服务器765)获得的当前交通状况的估计到达时间(ETA)。
[0062] 图17示出了图15的操作709的输出的示例。图17中所示的地图应用程序的用户界面801可包括地图803,在一个实施方案中,该地图可显示街道并且包括建议选项807的位置的指示器。可以看出,没有任何字符被输入到搜索输入字段805中,因此建议选项807可被视为是通过搜索所提取事件数据库(诸如数据库757)找到的零字自动完成建议,该搜索是响应于地图应用程序(诸如地图应用程序751)的打开或启动而执行的,该地图应用程序可显示图17中所示的用户界面801。建议选项807可包括该示例中的事件的名称和餐厅的名称以及事件的时间和日期。在图17中所示的示例中,建议选项807示出了存在从源资料(诸如源资料753)提取的预订。该预订是今晚7:00在Mom's Burgers。重新参考图15,操作711中的用户可选择建议选项,该建议选项随后可使得显示图17中所示的所提取事件的位置的地图,其中X标记了Mom's Burgers的位置。在一个实施方案中,图16中所示的系统所提取和存储的事件可为图12A至图12F所示类别中的任一个。在一个实施方案中,数据库757可强制执行受限的访问,该受限的访问需要来自例如目标守护进程761的访问权或权限,其中其他守护进程和其他应用程序将不能访问数据库757,因为它们不具有由数据库757控制的访问权或权限。在一个实施方案中,图16中所示的提取系统755可包括一种用于通过将地址转换为一组地理坐标来对地址进行地理编码的方法,作为验证过程的一部分。在一个实施方案中,数据库757可包括来自与云存储账户的一个或多个同步的所提取的事件,该云存储账户由图16中所示的系统用来从使用该云存储账户的其他设备获得所提取的事件。在一个实施方案中,建议选项807可包括从交通服务器(诸如图16中所示的交通服务器765)提供的数据导出的估计到达时间,其中交通数据经由诸如蜂窝电话连接或Wi-Fi连接等网络接口获得。在一个实施方案中,地图应用程序可显示用户可选择的命令,该命令在被选择时使得所提取的事件被添加至由日历应用程序提供的日历。
[0063] 本文所述的系统和方法可在各种不同的数据处理系统和设备中实现,所述数据处理系统和设备包括通用计算机系统、专用计算机系统或者通用计算机系统和专用计算机系统的混合。可使用本文所述的方法中的任一种方法的示例性数据处理系统包括服务器系统、台式计算机、膝上型计算机、平板电脑、智能电话、蜂窝电话、个人数字助理(PDA)、嵌入式电子设备或其他消费电子设备。
[0064] 图18为根据一个实施方案的数据处理系统硬件的框图。需注意,虽然[0065] 图18示出了可结合到移动设备或手持设备或其他电子设备的数据处理系统的各种部件,但这并不旨在表示将这些部件互连的任何特定的架构或方式,因为此类细节与本发明并无密切关系。还应理解,还可将具有比图18所示更少部件或更多部件的其他类型的数据处理系统与本发明一起使用。
[0066] 如图18所示,数据处理系统包括用于将系统的各种部件互连的一条或多条总线1309。一个或多个处理器1303如本领域中所公知地耦接到一条或多条总线1309。存储器
1305可以是DRAM或非易失性RAM,或者可以是闪存存储器或其他类型的存储器或此类存储器设备的组合。该存储器使用本领域已知的技术耦接到一条或多条总线1309。数据处理系统还可包括非易失性存储器1307,该非易失性存储器可以是硬盘驱动器或闪存存储器,或磁性光驱或磁性存储器,或光驱或者是甚至在系统断电之后仍维护数据的其他类型的存储器系统(例如ROM)。非易失性存储器1307和存储器1305均使用已知的接口和连接技术耦接到一条或多条总线1309。显示控制器1322耦接到一条或多条总线1309,以便接收将显示在显示设备1323上的显示数据。显示设备1323可包括集成式触摸输入以提供触摸屏。数据处理系统还可包括一个或多个输入/输出(I/O)控制器1315,该I/O控制器为一个或多个I/O设备提供接口,所述一个或多个I/O设备为诸如一个或多个鼠标、触摸屏、触摸板、操纵杆和其他输入设备(包括本领域已知的那些),以及输出设备(例如,扬声器)。输入/输出设备1317如本领域中所公知地通过一个或多个I/O控制器1315耦接。
[0067] 虽然图18示出了非易失性存储器1307和存储器1305直接地而不是通过网络接口耦接到一条或多条总线,但应当理解,本发明可利用远离系统的非易失性存储器,诸如通过网络接口诸如调制解调器或以太网接口耦接到数据处理系统的网络存储设备。如本领域所熟知的,总线1309可通过各种网桥、控制器和/或适配器彼此连接。在一个实施方案中,I/O控制器1315包括用于控制USB外围设备的USB(通用串行总线)适配器、用于兼容IEEE 1394的外围设备的IEEE 1394控制器,或用于控制Thunderbolt外围设备的Thunderbolt控制器中的一者或多者。在一个实施方案中,一个或多个网络设备1325可耦接到一条或多条总线1309。一个或多个网络设备1325可为有线网络设备(例如,以太网)或无线网络设备(例如,Wi-Fi、蓝牙)。
[0068] 通过本描述将显而易见的是,本发明的各方面可至少部分地在软件中体现。也就是说,响应于其处理器执行存储介质(诸如非暂态机器可读存储介质(诸如易失性DRAM或非易失性闪存存储器))中包含的指令序列而可在数据处理系统中实施这些技术。在各种实施方案中,可将硬连线的电路与软件指令结合使用来实施本发明。因此,这些技术不限于硬件电路与软件的任何指定组合,也不限于由数据处理系统执行的指令的任何特定源。此外,应当理解,在描述移动设备或手持设备的情况下,这种描述涵盖移动设备(例如膝上型电脑设备、平板设备)、具有集成计算能的扬声器系统、手持设备(例如智能电话)以及适合用于可穿戴电子设备中的嵌入式系统
[0069] 本公开认识到,在本发明技术中,使用个人信息数据(诸如可被添加至用户的日历中的所提取的事件)可用于使用户受益。例如,个人信息数据可用于使用所提取的事件来自动填充用户的日历。此外,本公开还预期个人信息数据有益于用户的其他用途。
[0070] 本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
[0071] 不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。在另一个示例中,用户可选择部分“加入”,其中仅在使用某些应用程序时收集数据,或者将所提取的事件添加至私有加密日历等。
[0072] 在上述说明书中,已描述特定示例性实施方案。显而易见的是,可在不脱离以下权利要求所给出的更广泛的实质和范围的情况下对那些实施方案作出各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈