CN110088781A - 用于上下文记忆捕获和召回的系统和方法 - Google Patents

用于上下文记忆捕获和召回的系统和方法 Download PDF

Info

Publication number
CN110088781A
CN110088781A CN201780079304.3A CN201780079304A CN110088781A CN 110088781 A CN110088781 A CN 110088781A CN 201780079304 A CN201780079304 A CN 201780079304A CN 110088781 A CN110088781 A CN 110088781A
Authority
CN
China
Prior art keywords
memory
user
activity
inquiry
movable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780079304.3A
Other languages
English (en)
Other versions
CN110088781B (zh
Inventor
V·万加拉
D·S·基尔
S·卡兰迪卡
A·拉加范
N·K·玛拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202310471591.XA priority Critical patent/CN116450806A/zh
Publication of CN110088781A publication Critical patent/CN110088781A/zh
Application granted granted Critical
Publication of CN110088781B publication Critical patent/CN110088781B/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/335Filtering based on additional data, e.g. user or group profiles
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了用于上下文记忆捕获和召回的系统和方法。上下文记忆捕获和召回系统和方法帮助用户创建、存储和召回与所标识的活动相关联的记忆信息。上下文记忆捕获和召回系统和方法能够标识可能期望进行记忆查询的用户活动,基于该活动来创建具有推荐的记忆动作的记忆查询,向用户提供记忆查询,以及将所接受的记忆动作以及记忆动作的任何接收的记忆信息与所标识的活动自动链接。

Description

用于上下文记忆捕获和召回的系统和方法
背景技术
语言理解系统、个人数字助理、代理和人工智能(AI)正在改变用户与计算机交互的方式。计算机、web服务和/或应用的开发人员总是试图改进人与计算机之间的交互。语言理解系统、个人数字助理、代理和人工智能通常用于与用户通信和/或完成基本任务。
关于这些和其他一般考虑,已经进行了本文中公开的各方面。而且,尽管已经讨论了相对具体的问题,但是应当理解,这些方面不应当限于解决在背景技术中或本公开其他地方确定的具体问题。
发明内容
总之,本公开总体上涉及用于上下文记忆捕获和召回的系统和方法。上下文记忆捕获和召回系统和方法帮助用户创建、存储和召回与所标识的活动相关联的记忆信息。上下文记忆捕获和召回系统和方法能够标识用户活动并且确定是否期望针对所标识的每个活动进行记忆查询。响应于确定期望针对活动进行记忆查询,上下文记忆捕获和召回系统和方法还能够基于活动来创建具有推荐的记忆动作的记忆查询,向用户提供记忆查询,并且将所接受的记忆动作以及记忆动作的任何接收的记忆信息与所标识的活动自动链接。
本公开的一个方面涉及一种用于上下文记忆捕获和召回的系统。该系统包括至少一个处理器和存储器。存储器编码计算机可执行指令,这些计算机可执行指令在由至少一个处理器执行时可操作用于:
从用户的客户端计算设备收集用户上下文信号;
利用世界知识来丰富来自用户上下文信号的用户上下文元素以形成丰富的上下文元素;
基于丰富的上下文元素来标识用户的活动,其中活动是未来活动;
基于查询规则评估活动;
基于对活动的评估来确定期望针对活动进行记忆查询;
基于活动和创建规则来创建适当的记忆查询;
响应于确定期望进行记忆查询,基于通知规则来评估丰富的上下文元素;
响应于记忆查询而从客户端计算设备收集记忆输入;
基于记忆输入创建记忆动作,其中记忆动作包括记忆信息的召回;
将记忆动作与活动的第一边界链接;
基于丰富的上下文元素来检测第一边界;以及
响应于第一边界的检测,向客户端计算设备发送向用户提供记忆信息的指令。
记忆输入包括记忆信息。
在另一方面,公开了一种用于上下文记忆捕获和召回的方法。该方法包括:
从用户的至少一个客户端计算设备收集上下文信号;
利用世界知识来丰富来自上下文信号的上下文元素以形成丰富的上下文元素;
基于丰富的上下文元素来标识用户的活动;
基于对活动的评估来确定期望针对活动进行记忆查询;
向用户提供记忆查询;
响应于记忆查询而从用户收集记忆输入;
响应于记忆输入而创建记忆动作,其中记忆动作包括记忆信息的召回;以及
将记忆输入与活动的至少一个边界链接。
记忆输入包括用户输入的记忆信息。
在本发明的又一方面,本公开涉及一种用于上下文记忆捕获和召回的系统。该系统包括至少一个处理器和存储器。存储器编码计算机可执行指令,这些计算机可执行指令在由至少一个处理器执行时可操作用于:
从用户的至少一个客户端计算设备收集上下文信号;
利用世界知识来丰富上下文信号以形成丰富的上下文元素;
基于丰富的上下文元素来标识用户的活动;
基于对活动的评估来确定期望针对活动进行记忆查询;
响应于确定期望针对活动进行记忆查询,基于活动来创建记忆查询;
向至少一个客户端计算设备提供记忆查询;
响应于记忆查询而从至少一个客户端计算设备收集记忆输入;以及
响应于记忆输入而将记忆动作与活动边界链接。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参考以下附图描述非限制性和非穷举性实施例。
图1A是示出根据本公开的各方面的客户端计算设备上的上下文记忆捕获和召回系统的示意图。
图1B是示出根据本公开的各方面的由用户经由客户端计算设备使用的服务器计算设备上的上下文记忆捕获和召回系统的示意图。
图2是示出根据本公开的各方面的上下文记忆捕获和召回系统的使用的简化的示意性框图。
图3A是示出根据本公开的各方面的显示针对用户的第一标识的活动的第一记忆查询的客户端计算设备的用户界面的简化示意图。
图3B是示出根据本公开的各方面的响应于第一标识的活动的边界检测而显示来自针对第一标识的活动的记忆输入的记忆信息的图3A的用户界面的简化示意图。
图3C是示出根据本公开的各方面的显示用户的第二标识的活动的第二记忆查询的图3A的用户界面的简化示意图。
图4是示出根据本公开的各方面的用于上下文记忆捕获和召回的方法的框流程图。
图5是示出可以用来实现本公开的各个方面的计算设备的示例物理组件的框图。
图6A是可以用来实现本公开的各个方面的移动计算设备的简化框图。
图6B是可以用来实现本公开的各个方面的图6A所示的移动计算设备的简化框图。
图7是可以用来实现本公开的各个方面的分布式计算系统的简化框图。
图8示出了可以用来实现本公开的各个方面的平板计算设备。
具体实施方式
在以下详细描述中,参考附图,附图形成详细描述的一部分,并且附图中通过图示的方式示出了特定方面或示例。在不脱离本公开的精神或范围的情况下,可以组合这些方面,可以利用其他方面,并且可以进行结构改变。因此,以下详细描述不应当被视为具有限制意义,并且本公开的范围由权利要求及其等同物限定。
机器学习、语言理解和人工智能的进步正在改变用户与计算机交互的方式。诸如Siri、Google Now和Cortana等数字助理应用是人机交互转变的示例。
人类记忆不能记录和召回所有事物。几乎不可能记住一个人每次完成每项活动需要记住的一切。通常,人们发现自己在想“哦,我没有向我遇到的这个人提出这个问题”,或者“我忘了在我的航班起飞之前按照承诺给这个人打电话”,等等。
当前,语言理解系统、个人数字助理、代理和人工智能被用于与用户通信和/或完成基本任务。这些先前使用的系统和方法能够提供具有用户输入信息的提醒。但是,这些提醒仅在用户请求时创建。此外,用户必须标识用于显示所创建的提醒的触发事件,诸如活动、位置或一天中的时间。换言之,用户必须标识出需要提醒,输入任何期望的记忆信息,和/或然后将该提醒和信息链接到期望的触发活动。此外,虽然这些先前使用的系统和方法可以基于检测到的用户活动来建议动作,但是这些先前使用的系统和方法不建议记忆动作的执行,诸如具有与当前或未来标识的活动相关的记忆输入的创建提醒。这样,这些先前使用的系统和方法仅具有用户启动的记忆捕获和召回和/或用于记忆捕获和召回的用户提供的关联。
因此,本文中公开了用于上下文记忆捕获和召回的系统和方法。用于上下文记忆捕获和召回的系统和方法利用丰富的用户上下文信号来标识用户活动并且确定对于用户而言针对所标识的每个活动进行记忆查询是否是期望、有益或适合的。然后,用于上下文记忆捕获和召回的系统和方法至少基于该活动利用记忆动作推荐来创建适当的记忆查询。本文中使用的记忆查询是指对执行与所标识的活动相关联的记忆动作的批准的请求。向用户呈现所标识的活动的记忆查询,并且记忆查询作为响应而从用户请求记忆输入。记忆输入可以是记忆动作的批准以及用户提供的记忆信息。该系统和方法将记忆动作和/或记忆信息与所标识的活动自动链接。本文中描述的系统和方法的能够标识可以受益于记忆查询的用户活动并且将响应于该查询而接收的记忆输入与活动自动链接的能力创建了诸如数字助理等应用,该应用与先前使用的应用(这些应用不会响应于标识用户活动而提供记忆查询和/或不会将用户输入的记忆输入与用户活动自动链接)相比,提高了用户完成任务的能力,改进了所需要的记忆项目的召回和捕获,并且改进了应用的可用性、性能和/或与应用的用户交互。
图1A和1B示出了根据本公开的各方面的由用户102使用的客户端计算设备104上的上下文记忆捕获和召回系统100的不同示例。上下文记忆捕获和召回系统100是帮助用户创建、存储和召回活动的记忆信息的系统。上下文记忆捕获和召回系统100包括活动框架108、通知代理109和链接系统111。上下文记忆捕获和召回系统100能够确定用户是否期望针对所标识的活动进行记忆查询,基于活动创建推荐记忆动作的记忆查询,向用户提供记忆查询,并且将记忆动作和任何接收的记忆信息与所标识的活动自动链接。上下文记忆捕获和召回系统100能够通过基于世界知识110分析由用户的一个或多个设备104生成的所接收的用户上下文信号来确定用户的上下文来执行上述操作。相比之下,诸如数字助理等先前使用的系统仅提供用户启动的记忆捕获和召回和/或用于记忆捕获和召回的用户提供的关联。
上下文记忆捕获和召回系统100还可以包括用于存储记忆输入、记忆信息、丰富的记忆元素(诸如丰富的上下文元素)、记忆查询、记忆动作、用户模式和/或用户反馈的记忆存储装置106。在替代方面,记忆存储装置106存储在与上下文记忆捕获和召回系统100分离且不同的数据库115上。
上下文记忆捕获和召回系统100还可以包括用于基于对用户上下文信号、其他用户信号和/或世界知识的分析来确定用户模式和/或用户反馈的模式检测框架112。在替代方面,模式检测框架112在与上下文记忆捕获和召回系统100分离且不同的服务器105上。在其他方面,模式检测框架112和/或记忆存储装置106不是上下文记忆捕获和召回系统100的一部分,但可以与上下文记忆捕获和召回系统100通信以交换数据。
在一些方面,上下文记忆捕获和召回系统100在客户端计算设备104上实现,如图1A所示。在基本配置中,客户端计算设备104是具有输入元件和输出元件的计算机。客户端计算设备104可以是用于实现上下文记忆捕获和召回系统100的任何合适的计算设备。例如,客户端计算设备104可以是移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、游戏系统、台式计算机、膝上型计算机等。该列表仅是示例性的,而不应当被视为限制。可以使用用于实现上下文记忆捕获和召回系统100的任何合适的客户端计算设备104。
在其他方面,上下文记忆捕获和召回系统100在服务器计算设备105上实现,如图1B所示。服务器计算设备105可以通过网络113向客户端计算设备104提供数据和/或从客户端计算设备104接收数据。在一些方面,网络113是分布式计算网络,诸如因特网。在其他方面,该上下文记忆捕获和召回系统100在多于一个服务器计算设备105上实现,诸如多个服务器计算设备105或服务器计算设备105的网络。在一些方面,上下文记忆捕获和召回系统100是混合系统,其中上下文记忆捕获和召回系统100的部分在客户端计算设备104上并且上下文记忆捕获和召回系统100的部分在服务器计算设备105上。
图2是示出根据本公开的各方面的上下文记忆捕获和召回系统100的使用的简化的示意框图的示例。如上所述并且如图2所示,上下文记忆捕获和召回系统100包括活动检测框架108。上下文记忆捕获和召回系统100的活动检测框架108收集包括上下文信号的用户信号116。本文中使用的术语“收集”是指项目的主动检索和/或项目的被动接收。上下文记忆捕获和召回系统100的活动检测框架108还可以从模式检测框架112收集世界知识和/或附加用户信息128,诸如用户反馈、用户模式和/或其他用户丰富的记忆元素。
用户信号116由信号生成器138产生。信号生成器是用户102的一个或多个设备104和/或在用户的设备104上运行的一个或多个应用138。例如,客户端计算设备104可以包括用户的台式计算机和/或用户的智能电话。在另外的示例中,客户端计算设备104上发送用户信号116的应用138可以包括数字助理应用、语音识别应用、电子邮件应用、社交网络应用、协作应用、企业管理应用、消息传递应用、文字处理应用、电子表格应用、数据库应用、演示应用、联系人应用、游戏应用、电子商务应用、照片应用、地图应用、电子商业应用、交易应用、交换应用、设备控制应用、web界面应用、日历应用等。
上下文记忆捕获和召回系统100的活动检测框架108接收用户信号116和/或附加用户信息128。活动检测框架108包括丰富系统118、检测系统119、查询决定系统120和创建系统122。
活动检测框架平台108的丰富系统118收集包括用户上下文信号的用户信号116。用户上下文信号包括用户102的上下文元素和/或数字工件(artifact)。丰富系统118利用世界知识110将数字工件转换成上下文元素。此外,丰富系统118利用世界知识110丰富上下文元素。本文中使用的世界知识110包括可以利用网络连接来访问的任何信息,诸如搜索引擎和数据库。用户上下文信号特定于给定用户102并且与给定用户102相关。用户上下文信号是与用户102的当前状态相关的信号。当前状态或用户上下文是用户102和/或客户端计算设备104的当前环境。例如,当前状态或用户上下文可以基于用户的当前位置、当前时间、当前天气、用户的当前数字行为和/或当前用户物理动作。在另外的方面,丰富系统118丰富所有用户信号以形成记忆元素,并且不限于用户上下文信号的丰富。
例如,诸如GPS坐标等数字工件对用户102没有上下文价值。然而,在搜索世界知识110时,丰富系统118可以确定这些坐标是针对华盛顿州西雅图的具体地址的星巴克的。响应于该确定,丰富系统118可以将数字GPS坐标转换为上下文元素“星巴克”和“西雅图”。此外,丰富系统118可以搜索世界知识110以丰富“星巴克”上下文元素并且确定“星巴克”是一家咖啡店。在该实施例中,丰富系统118可以通过将该上下文元素标记为“咖啡店”来丰富“星巴克”上下文元素。这样,丰富系统118标记上下文元素并且确定附加上下文元素以形成丰富的上下文元素。
检测系统119收集由丰富系统118生成的丰富的上下文元素。检测系统119分析丰富的上下文元素以标识用户活动。用户活动可以是将来发生的活动(未来活动)或当前发生的活动(当前活动)。例如,所标识的未来活动可以是医生的预约、到纽约的旅行、亲戚的生日、工作会议等。例如,所标识的当前活动可以是用户的工作通勤、到纽约的旅行的第一天、工作会议等。在一些方面,检测系统119基于一组上下文规则来分析或评估丰富的上下文信号。在其他方面,检测系统118还收集附加用户信息128,诸如用户反馈和用户模式。在这些方面,可以基于附加用户信息128利用学习算法来更新上下文规则。本文中提到的任何学习算法可以包括机器学习和/或统计建模技术。检测系统118基于用户反馈和/或用户模式来更新上下文规则的能力允许检测系统118基于用户的模式和/或反馈来与用户102一起不断地演进。
由查询决定系统120收集所标识的用户活动。查询决定系统120评估所标识的用户活动以确定是否期望针对该活动进行记忆查询。查询决定系统120利用查询规则来评估第一活动。在一些方面,查询决定系统120还收集附加用户信息128。在这些方面,可以基于附加用户信息128利用学习算法来更新该组查询规则。查询决定系统120基于用户反馈和/或用户模式来更新查询规则的能力允许查询决定系统120基于用户的模式和/或反馈来与用户102一起不断地演进。如果活动满足查询规则,则查询决定系统120确定针对所标识的活动的记忆查询是适当的。如果活动不满足查询规则,则查询决定系统120确定针对所标识的活动的记忆查询不适当。例如,用户工作通勤的所标识的活动可能不符合记忆查询的规则。在另一示例中,医生预约或即将到来的旅行的所标识的活动可以满足查询规则并且有资格进行记忆查询。在一些方面,查询规则是针对记忆查询而言适当或期望的所标识的当前和未来活动的列表。在其他方面,查询规则是针对记忆查询而言不适当或不期望的所标识的当前和未来活动的列表。然而,该规则列表仅是示例性的而非限制性的。如本领域技术人员将理解的,查询决定操作120可以使用用于确定记忆查询是否适当的任何合适的查询规则。
响应于查询决定系统120确定期望进行记忆查询,创建系统122创建或形成记忆查询。记忆查询标识活动并且请求批准执行记忆动作。本文中使用的记忆动作是指用于与所标识的活动相关联地执行与记忆信息的存储和/或召回相关的任何动作的所执行的任何动作或指令生成。与所标识的活动相关联的记忆信息的召回在本文中称为记忆召回。在一些方面,记忆召回可以包括活动的提醒或提醒信息(本文中也称为记忆信息)。在另外的方面,记忆召回可以包括用户想要与活动相关联地存储的与活动相关的记忆信息,使得可以根据请求召回该活动相关信息。创建系统122至少基于活动创建记忆查询132。在一些方面,创建系统122进一步基于世界知识和/或附加用户信息128创建记忆查询132。在一些方面,记忆查询由创建系统122基于活动满足哪个查询规则来确定或创建。例如,适合于记忆查询的每个查询规则或所标识的每个活动可以与预定记忆查询相关联。预定记忆查询可以是基于对活动、世界知识和/或附加用户信息128的分析而填充的模板。在其他方面,预定记忆查询是不改变的静态提示。
在替代方面,记忆查询基于对活动的分析以及世界知识和/或附加用户信息128来确定,并且不基于预定记忆查询。在记忆查询不是静态的方面,创建系统122可以基于一组创建规则来分析或评估活动以形成记忆查询。在其他方面,创建系统122还收集附加用户信息128和/或世界知识。在这些方面,可以基于附加用户信息128使用学习算法来更新创建规则。创建系统122基于用户反馈和/或用户模式来更新创建规则的能力允许创建系统122基于用户的模式和/或反馈来与用户102一起不断地演进。
此外,在这些方面,创建系统122可以评估其他丰富的记忆元素、世界知识和/或附加用户信息以基于创建规则来确定是否应当在记忆查询中提供(或推荐)任何记忆信息。如果创建系统122标识出活动的任何推荐的记忆信息,则在所创建的记忆查询中提供推荐的记忆信息。在一些方面,创建系统122利用用于接受和/或拒绝所提供的记忆查询的用户界面或可选择的图标或按钮来创建记忆查询。
另外,创建系统122可以基于活动以及利用创建规则对附加用户信息的分析来添加对所提供的记忆查询的解释。例如,可以仅在第一次提供特定类型的记忆查询时或者在提供特定种类的记忆查询的预定次数时提供解释。在其他方面,由创建系统122基于所提供的记忆动作在记忆查询中的复杂程度来提供解释。这些方面仅是示例性的,而非意在限制。如本领域技术人员将理解的,可以出于任何合适的原因提供解释。
例如,图3A和3C示出了显示在用户界面140上的不同记忆查询132的示例。图3A示出了响应于未来医生预约的用户活动的标识的记忆查询132a。记忆查询132a通过陈述“我注意到您今天有医生预约”来向用户通知所标识的活动。记忆查询132a还包括通过陈述“您想让我记住您想问医生的问题吗?”来提供该活动的提醒信息的请求的记忆动作。此外,通过陈述“我可以保留...在您到达医生办公室时为您提供上一次的处方”,记忆查询132a基于对与所标识的医生预约相关的附加用户信息的分析来提供附加相关元素。此外,记忆查询132a还包括用于记忆查询132a的推荐记忆动作的接受按钮142和拒绝按钮142。
图3C显示了响应于对到纽约的3天旅行的用户活动的标识的记忆查询132b。与记忆查询132a不同,该记忆查询132b用于当前活动,诸如3天旅行的第1天。记忆查询132a通过陈述“我注意到您正在到纽约的为期3天的旅行并且刚刚完成了您的第一天”来向用户通知所标识的活动。记忆查询132b还包括通过陈述“您想让我记录关于您这次旅行的第一天如何的概括以便我可以随时帮助您回忆它或者在旅行结束时将它添加到您的旅行日记中吗?”来执行与活动相关的记忆动作的请求。此外,记忆查询132b通过陈述“我可以帮助您记录诸如您访问过的地方以及您最喜欢这些地方哪里等内容”来提供在接受记忆查询132b时将被记录的事物的说明。记忆查询132b还包括用于记忆查询132b的建议记忆动作的接受按钮142和拒绝按钮144。
通知代理109确定适合于向用户102提供通知130的时间段。通知代理109向客户端计算设备104发送向用户102提供通知130的指令。通知130可以包括记忆查询132和/或记忆召回134(本文中也称为召回的记忆输入)。通知代理109从活动检测框架108收集记忆查询132和/或召回的记忆输入134。
响应于活动检测框架108的创建系统122对记忆查询132的创建和/或响应于确定活动检测框架108的查询决定系统120确定期望针对活动进行记忆查询,通知代理109确定用于向用户102提供记忆查询132的适当时间。通知代理109收集丰富的上下文元素。在一些方面,通知代理109还收集世界知识和/或附加用户信息128。响应于查询决定系统120确定期望进行记忆查询或者响应于创建系统122对记忆查询132的创建,通知代理109基于通知规则来评估丰富的上下文信号。可以基于世界知识和/或附加用户信息128利用学习算法来更新通知规则。通知代理109基于用户反馈和/或用户模式来更新通知规则的能力允许通知代理109基于用户的模式和/或反馈来与用户102一起不断地演进。
如果通知代理109确定当前时间段适合于向用户提供记忆查询,则通知代理109向一个或多个用户设备104提供或发送向用户102提供记忆查询132的指令。用户的一个或多个客户端计算设备104响应于从通知代理109接收到该指令而向用户102提供记忆查询132。客户端计算设备104可以经由任何合适的通知媒体(诸如视觉、听觉、触觉和/或其他感觉输出)向用户104提供通知130,诸如记忆查询132。例如,客户端计算设备104可以利用人工语音智能显示记忆查询132和/或口头陈述记忆查询132。
如果通知代理109确定当前时间段不适合于向用户102提供记忆查询132,则通知代理109不向一个或多个用户设备104发送向用户102提供记忆查询132的指令,而改为继续监测用于向用户102提供记忆查询132的适当时间段。例如,如果通知代理109基于对丰富的上下文元素的分析而确定用户正在驾驶或睡觉,则通知代理109可以确定该时间段不适合于显示通知130。
响应于接收到记忆查询132,用户可以向一个或多个客户端计算设备104的用户界面140输入记忆输入134。上下文记忆捕获和召回系统100从一个或多个客户端计算设备104收集记忆输入134。上下文记忆捕获和召回系统100的链接系统111收集记忆输入134。链接系统111是记忆读取和写入应用程序编程接口(API)。链接系统111读取或理解所接收的记忆输入132。记忆输入134包括在记忆查询中接受或拒绝所提出的记忆动作。在一些方面,记忆输入134包括由用户提供的记忆信息。在其他方面,由链接系统111将记忆信息的接收解释为对记忆查询132的隐式接受。如果链接代理读取记忆输入134并且确定记忆输入是对记忆查询的拒绝,则链接代理111向记忆存储装置106发送拒绝。
如果链接代理读取记忆输入134并且确定记忆输入是对记忆查询的接受,则链接代理111将记忆动作与活动链接或关联。在一些方面,响应于对所提议的记忆动作的接受,链接代理111还收集活动的记忆信息。例如,链接系统111可以响应于接受而向一个或多个用户设备104请求或发送请求记忆信息的指令。一个或多个用户设备104向用户提供记忆信息请求。用户102可以响应于记忆信息请求而经由用户界面140提供附加记忆信息。用户设备104向上下文记忆捕获和召回系统100发送用户输入的记忆信息。上下文记忆捕获和召回系统100的链接系统111从用户设备104收集用户输入的记忆信息。链接系统111在记忆查询132的接受之后收集的记忆信息被认为是记忆输入134的一部分。
在其他方面,链接系统111对提议的记忆动作和/或记忆输入中的记忆信息进行分析。基于该分析,链接系统111可以从世界知识和/或附加用户信息收集附加记忆信息。由链接系统111收集的该附加记忆信息被认为是记忆输入134的一部分。
一旦链接系统111收集了所有记忆输入,链接系统111就创建或写入执行记忆动作的指令。在一些方面,链接系统111通过将记忆动作与活动的一个或多个边界链接或相关联来将记忆动作链接到活动。在其他方面,链接系统111通过将记忆信息的存储与活动链接或相关联来将记忆动作链接到活动。记忆动作可以是从用户输入的记忆信息的显示和/或由链接系统111收集的附加记忆信息的显示。替代地,记忆动作可以是特定记忆事件的记录,诸如与所标识的活动相关联的活动的记忆元素的检测和记录,诸如在旅行期间访问的地点、用户在旅行期间喜欢的事物、和/或将所记录的记忆元素添加到特定存储装置或数据库。
一旦链接系统111已经创建了记忆动作并且将记忆动作链接到活动,链接系统111就将该信息发送到记忆存储装置106。记忆存储装置106存储所创建的记忆动作以及相关联的一个或多个活动边界。记忆存储装置106可以收集并且存储用户的任何丰富的记忆元素。在一些方面,丰富的记忆元素或丰富的记忆元素的一部分可以由上下文记忆捕获和召回系统100形成。丰富的记忆元素可以包括由上下文记忆捕获和召回系统100形成的丰富的上下文元素。在其他方面,丰富的记忆元素或丰富的记忆元素的一部分由与上下文记忆捕获和召回系统100分离的系统形成。上下文记忆捕获和召回系统100和/或模式检测系统112从记忆存储装置106收集信息。
模式检测框架112从用户收集丰富的记忆元素。丰富的记忆元素包括用户反馈。反馈可以是显式的或隐式的。来自用户的显式反馈是由用户输入的反馈。例如,显式用户反馈是指用户选择或提供指示特定记忆查询或记忆动作有帮助或没有帮助的输入。相反,隐式反馈通过响应于所提供的记忆动作而监测用户行为来确定。例如,可以监测所呈现的记忆信息的选择/不选择、使用的持续时间和/或所提供的记忆动作的使用模式以确定用户反馈148。
在一些方面,模式检测框架112可以从一个或多个信号生成器收集用户信号并且丰富用户信号以形成丰富的记忆元素。在其他方面,从与模式检测框架112分离且不同的系统收集丰富的记忆元素。通过利用世界知识110丰富从信号生成器收集的用户信号中的元素来形成丰富的记忆元素。用户信号包括所有类型用户元素,诸如用户上下文元素。
模式检测框架112包括映射系统126和推荐系统124。映射检测系统126通过将用户丰富的记忆元素映射到不同的活动来确定用户模式。推荐引擎124可以利用所确定的用户模式来推荐用于记忆查询的附加记忆信息和/或推荐学习算法的更新。
在一些方面,模式检测框架的映射系统126分析活动。映射系统126通过将活动映射到不同活动的丰富的记忆元素来分析活动。推荐引擎124基于对活动的分析来标识相关活动。推荐引擎124将相关活动的一个或多个边界链接或关联到为活动而创建的记忆动作。在一些方面,相关活动是未来的活动。推荐引擎向活动状态检测框架108发送推荐以监测相关活动的一个或多个边界,以响应于检测到相关活动的一个或多个边界而提供活动的记忆动作。在替代方面,推荐引擎向活动状态检测框架108发送推荐以监测相关活动的一个或多个边界以响应于检测到相关活动的一个或多个边界而提供与活动相关的相关活动的新记忆查询。新的记忆查询可以请求记录相关活动的记忆信息并且将该记忆信息与活动和/或相关活动的记忆信息相关联。替代地,新的记忆查询可以响应于检测到相关活动的边界而请求批准显示与活动相关的记忆信息。
例如,活动状态检测框架108可以检测在到纽约的3天旅行的主要活动期间发生的相关活动的边界(如图3C中的记忆查询132c所示)。在该示例中,响应于检测到相关活动的边界(诸如到大都会艺术博物馆的旅行),记录相关活动的记忆信息(诸如在博物馆拍摄的图片)并且将其与主要活动(到纽约的3天旅行)和/或相关活动相关联。替代地,在该示例中,响应于检测到相关活动的边界,提供请求允许记录相关活动的记忆信息并且将记忆信息与相关活动和/或主要活动(到纽约的3天旅行)相关联的记忆查询。
响应于从模式检测框架112的推荐引擎124接收推荐,活动检测框架108可以基于丰富的上下文元素来监测和检测相关活动的一个或多个边界。如果活动检测框架108未检测到相关活动的一个或多个边界,则活动检测框架108继续监测一个或多个边界。如果活动检测框架108检测到相关活动的一个或多个边界,则活动检测框架108响应于检测到相关活动的一个或多个边界而再次执行响应于活动而创建的记忆动作。替代地,如果活动检测框架108检测到相关活动的一个或多个边界,则活动检测框架108呈现请求允许响应于检测到相关活动的一个或多个边界而再次执行响应于主活动而创建的记忆动作的记忆查询。如果记忆动作包括显示通知,则如上所述,活动框架108可以将该通知发送到通知代理。
模式检测框架112将任何确定的用户模式、用户反馈、丰富的记忆元素和/或推荐作为附加用户信息收集或共享到记忆存储装置106以进行存储。此外,模式检测框架112将任何确定的用户模式、用户反馈、丰富的记忆元素和/或推荐作为附加用户信息发送到活动检测框架108或与活动检测框架108共享。
活动检测框架108接收检测活动的一个或多个边界的指令。活动的边界可以包括在活动开始、活动的开始时间、活动的发生和/或活动的完成之前。活动检测框架108基于对丰富的上下文信号的分析来检测活动的一个或多个边界。如果活动检测框架108未检测到链接到记忆动作的动作的边界,则活动状态检测框架108继续监测活动的边界。如果活动检测框架108检测到链接到记忆动作的活动的边界,则活动状态检测框架108执行链接到该活动的记忆动作。如果记忆动作需要向用户发送通知,诸如记忆信息的显示,则活动状态检测框架108将该通知发送到通知代理109。记忆信息的显示在本文中也可称为记忆召回128。
如上所述,通知代理109确定适合于向用户102提供通知130的时间段。通知代理109向客户端计算设备104提供或发送向用户提供通知130的指令。在替代方面,记忆动作所需要的通知140在接收时由通知代理109自动提供给客户端计算设备104。
图3B示出了根据本公开的各方面的响应于第一标识的活动的边界检测而显示针对第一标识的活动的召回的记忆输入128的图3A的用户界面的示例。如上所述,所标识的活动是医生预约。与医生预约相关联的边界可以在活动开始、活动的开始时间和/或活动的发生之前。召回的记忆输入128b包括由用户响应于记忆查询132a而输入的记忆信息。由用户输入的记忆信息包括医生针对他或她的医生预约的问题。在一些实施例中,在用户针对活动进行搜索时,在发生记忆输入召回128的链接活动边界之前,可以由用户请求和/或编辑与该记忆输入召回128相关联的记忆信息。
图4示出了概念性地示出用于上下文记忆捕获和召回的方法400的示例的流程图。在一些方面,方法400由如上所述的上下文记忆捕获和召回系统100执行。与先前使用的应用(这些应用不会基于检测到的活动而提供记忆查询,或者不会响应于记忆查询而基于记忆输入的接收来将记忆动作链接到检测到的活动)相比,方法400提供了一种应用,该应用提高了用户完成任务的能力,改进了所需要的记忆项目的召回,改进了应用的可用性、性能和/或与应用的用户交互。例如,即使在用户意识到记忆信息的存储将是有益的之前,方法400也可以询问用户是否期望记忆信息以用于以后使用。
方法400包括操作402。在操作402,收集包括用户上下文信号的用户信号。用户信号是从信号生成器收集的。在一些方面,信号生成器是客户端设备、服务器和/或应用中的至少一个。用户信号包括记忆元素和/或数字工件。如本文中使用的,利用世界知识和/或其他用户信息将数字工件转换成元素。在一些方面,用户信号中的记忆元素和/或数字工件可以包括用户反馈、GPS坐标、照片、浏览器历史、电子邮件、文本消息、社交数据、笔记本、待办事项、日历项目、专业数据、事件、和/或应用数据。如本文中使用的,数字工件是用户在进一步处理之前不会识别为记忆元素的数据。例如,数字工件可以包括GPS坐标或计算机编码数据。在操作402,在预定条件下和/或在预定时间量之后,连续收集用户信号。这样,可以在方法400期间基于每个新接收的用户信号来确定新的或已更新的用户上下文、用户模式、用户反馈、活动等。
用户上下文信号指示用户或用户上下文的当前状态。随着时间的推移,环境的改变,用户位置的改变,用户行为的改变和/或用户物理动作的改变,用户上下文一直在改变和/或被更新。如上所述,用户或当前用户上下文的当前状态基于用户上下文信号,诸如用户的当前位置、当前时间、当前天气、用户的当前数字行为和/或用户的当前用户物理动作。
接下来,方法400包括操作404。在操作404,利用世界知识来丰富包括用户上下文元素的记忆元素以形成丰富的元素。在一些方面,在操作404,利用世界知识和/或其他用户信息将用户信号中的数字工件转换为记忆元素,诸如上下文元素。在操作404,还可以利用世界知识和/或其他用户信息来丰富这些记忆元素以形成丰富的元素。
在一些方面,方法400包括操作406。在操作406,分析丰富的记忆元素以确定用户模式和/或用户反馈。在一些方面,操作406基于所确定的用户反馈和/或用户模式来更新或训练学习算法的机器学习技术和/或统计建模技术。在另外的方面,用户反馈和/或用户模式被添加到丰富的记忆元素。
本领域技术人员可以理解,操作402、404和/或406可以通过方法400连续地执行。此外,本领域技术人员可以理解,操作402、404和/或406可以与方法400的其他操作的执行重叠。例如,方法400可以在操作410处创建记忆查询期间在操作402和404处继续收集和丰富用户信号。
在操作404和/或406之后,在方法400期间执行操作407。在操作407,基于丰富的上下文元素、世界知识和/或其他用户信息来标识用户的活动。在一些方面,在操作407,利用丰富的上下文元素、世界知识和/或其他用户信息来标识与主要活动相关的活动。本文中使用的主要活动是指先前在操作407处标识的活动。本文中使用的相关活动是指与主要活动相关联或链接到主要活动的任何活动。活动和/或相关活动可以是未来活动或当前活动。本文中使用的活动是指与用户相关的任何事件、地点和/或场合。例如,活动可以包括亲戚的生日、未来的医生预约、休假、到达工作会议等。通过鉴于一组上下文规则来分析丰富的上下文元素、世界知识和/或其他用户信息来标识活动。在一些方面,利用学习算法来更新上下文规则。
在操作407之后,在方法400期间执行操作408。在操作408,评估由操作407标识的活动以确定记忆查询是否是期望和/或适当的。在一些方面,在操作408,鉴于一组查询规则来评估活动。在一些方面,利用学习算法来更新查询规则。在这些方面,如果活动满足一个或多个查询规则,则对于检测到的活动,记忆查询是期望或适当的。在这些方面,如果活动不满足一个或多个查询规则,则对于检测到的活动,记忆查询是不期望或不适当的。如果在操作408处确定记忆查询是期望的或适当的,则执行操作410。如果在操作408处确定记忆查询是不期望或不适当的,则不执行操作410并且方法400可以继续执行操作402。
接下来,执行操作410。在操作410,响应于在操作408确定记忆查询对于活动是期望的,基于活动来创建或形成记忆查询。记忆查询通过利用一组创建规则分析活动、世界知识和/或其他用户信息来创建。在一些方面,利用学习算法来更新创建规则。在操作410处创建的记忆查询包括所标识的活动和执行与所标识的活动相关的一个或多个记忆动作的请求。记忆动作可以包括从用户和/或从世界知识和/或其他用户信息收集与活动相关的记忆信息的请求。在其他方面,记忆查询包括与所标识的活动相关的推荐的记忆信息。推荐的记忆信息可以基于世界知识、丰富的用户上下文元素和/或其他用户信息来标识。在这些方面中,记忆动作可以包括在活动的记忆召回中提供在记忆查询中列出的推荐的记忆元素的请求。在其他方面,记忆动作是标识和存储用于活动的记忆召回的活动的一个或多个记忆元素的请求。在其他方面,记忆动作是标识和存储用于主要活动的记忆召回的相关活动的一个或多个记忆元素的请求。
在一些方面,方法400包括操作412。在操作412,确定当前时间段是否适合于提供记忆查询。在这些方面,在操作412,评估丰富的用户上下文元素以确定当前时间段是否适合于提供记忆查询。丰富的用户上下文元素可以利用通知规则来评估。在一些方面,利用学习算法来更新通知规则。在这些方面,如果丰富的上下文元素满足一个或多个通知规则,则确定当前时间段适合于提供记忆查询并且执行操作413。在这些方面,如果丰富的上下文元素不满足一个或多个通知规则,则确定当前时间段不适合于提供记忆查询,评估所接收的丰富的用户上下文元素,直到确定适当时间段,或者直到在操作412处记忆查询不再是适当的或期望的。
在执行操作410和/或412之后,在方法400期间执行操作413。在操作413,向用户提供记忆查询,或者向一个或多个客户端计算设备发送向用户提供记忆查询的指令。
接下来,在操作414,响应于记忆查询,从至少一个客户端计算设备收集记忆输入。记忆输入由用户输入到客户端计算设备的用户界面中。记忆输入包括接受或拒绝记忆查询中包括的建议的记忆动作。记忆输入还包括由用户响应于记忆查询而经由客户端设备的用户界面输入的活动的任何记忆信息。在一些方面,用户响应于记忆查询而输入记忆信息被认为是对记忆查询中的记忆动作的接受。
在一些方面,方法400包括操作416和417。在操作416,鉴于世界知识和/或其他用户信息利用学习算法来评估用户的记忆动作和/或任何接收的记忆信息以确定应当将任何补充记忆信息添加到由记忆动作利用的记忆信息中。如果在操作416处检测到补充记忆信息,则执行操作417。如果在操作416未检测到补充记忆信息,则执行操作418。
在操作417,添加与活动相关联的所标识的补充记忆信息并且将其与已经与记忆动作相关联的任何记忆信息一起存储。
接下来,执行操作418。在操作418,响应于接收到记忆输入中的记忆动作的接受和/或响应于记忆查询的创建,将记忆动作链接到活动。换言之,记忆动作与活动相关联。在一些方面,通过将记忆动作链接到活动的一个或多个边界,将记忆动作链接到活动。例如,记忆信息的记忆召回的记忆动作可以与活动链接,使得可以通过搜索活动来找到记忆信息,或者在检测到活动的一个或多个边界时呈现记忆信息。
在操作420,基于丰富的上下文信号来检测链接到活动的活动边界。如上所述,活动边界可以在活动开始、活动的开始时间、活动的发生和/或活动的完成之前。活动边界可以通过在操作420处利用学习算法评估丰富的上下文元素来确定。如果在操作420处检测到与活动相关联的一个或多个边界,则执行操作422。如果在操作420处未检测到与活动相关联的一个或多个边界,则操作420继续针对一个或多个边界来监测新接收的丰富的上下文信号。
在一些方面,方法400包括操作422。在操作422,确定当前时间段是否适合于提供记忆动作。在这些方面,在操作422处评估丰富的用户上下文元素以确定当前时间段是否适合于提供记忆动作。可以利用通知规则来评估丰富的用户上下文元素。在一些方面,利用学习算法来更新通知规则。在这些方面,如果丰富的上下文元素满足一个或多个通知规则,则确定当前时间段适合于执行记忆动作并且执行操作424。在这些方面,如果丰富的上下文元素不满足一个或多个通知规则,则确定当前时间段不适合于执行记忆动作,并且操作422继续监测所接收的丰富的用户上下文元素,直到适当的时间段被确定或直到记忆动作不再是适当的或期望的。
在执行操作420和/或422之后,在方法400期间执行操作424。在操作424,执行记忆动作或者向一个或多个客户端计算设备发送执行记忆动作的指令。
在一些方面,方法400包括操作426。在操作426,针对所执行的记忆动作请求和/或确定用户反馈。如上所述,用户反馈可以是隐式的或显式的。在操作426处的任何确定的用户反馈作为用户信号被提供给操作402。
图5-8和相关联的描述提供了可以实现本公开的各方面的各种操作环境的讨论。然而,关于图5-8示出和讨论的设备和系统是出于示例和说明的目的,而不限制可以用于实现本公开的各方面的大量计算设备配置,如本文所述。
图5是示出可以实现本公开的各方面的计算设备500的物理组件(例如,硬件)的框图。例如,上下文记忆捕获和召回系统100可以由计算设备500实现。在一些方面,计算设备500是移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、台式计算机、游戏系统、膝上型计算机等。下面描述的计算设备组件可以包括用于上下文记忆捕获和召回系统100的计算机可执行指令,这些指令可以被执行以采用方法400来构建和/或使用模拟人脑的AI,如本文中公开的。
在基本配置中,计算设备500可以包括至少一个处理单元502和系统存储器506。取决于计算设备的配置和类型,系统存储器506可以包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存或这些存储器的任何组合。系统存储器506可以包括操作系统505和适合于运行软件应用520的一个或多个程序模块506。例如,操作系统505可以适合于控制计算设备500的操作。此外,本公开的各方面可以结合图形库、其他操作系统或任何其他应用程序来实现,而不限于任何特定应用或系统。该基本配置在图7中通过虚线508中的那些组件来示出。计算设备500可以具有附加特征或功能。例如,计算设备500还可以包括附加数据存储设备(可移除和/或不可移除),诸如例如磁盘、光盘或磁带。这样的附加存储装置在图5中通过可移除存储设备509和不可移除存储设备510来示出。
如上所述,多个程序模块和数据文件可以存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如,上下文记忆捕获和召回系统100)可以执行处理,包括但不限于执行如本文所述的方法400。例如,处理单元502可以实现上下文记忆捕获和召回系统100。可以根据本公开的各方面来使用的并且特别是用于生成屏幕内容的其他程序模块可以包括数字助理应用、语音识别应用、电子邮件应用、社交网络应用、协作应用、企业管理应用、消息传递应用、文字处理应用、电子表格应用、数据库应用、演示应用、联系人应用、游戏应用、电子商务应用、电子商业应用、交易应用、交换应用、设备控制应用、web界面应用、日历应用等。在一些方面,上下文记忆捕获和召回系统100构建用于一个或多个上述应用的用户中心记忆图。
此外,本公开的各方面可以在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或者包含电子元件或微处理器的单个芯片中实现。例如,本公开的各方面可以经由片上系统(SOC)来实现,其中图5所示的每个或很多组件可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成(或“烧制”)到芯片基底上。当经由SOC操作时,本文中描述的关于客户端切换协议的能力的功能可以经由与单个集成电路(芯片)上的计算设备500的其他组件集成的应用特定的逻辑来操作。
本公开的各方面还可以使用能够执行逻辑运算(诸如例如,AND、OR和NOT)的其他技术来实现,包括但不限于机械、光学、流体和量子技术。此外,本公开的各方面可以在通用计算机内或者在任何其他电路或系统中实现。
计算设备500还可以具有一个或多个输入设备512,诸如键盘、鼠标、笔、麦克风或其他声音或语音输入设备、触摸或滑动输入设备等。诸如显示器、扬声器、打印机等(多个)输出设备514也可以被包括在内。上述设备是示例,并且可以使用其他设备。计算设备500可以包括允许与其他计算设备550通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于RF发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
本文中使用的术语计算机可读介质或存储介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序模块等信息的任何方法或技术实现的易失性和非易失性可移除和不可移除介质。系统存储器504、可移除存储设备509和不可移除存储设备510都是计算机存储介质示例(例如,存储器存储装置)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM,数字通用盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁存储设备、或者可以用于存储信息并且可以由计算设备500访问的任何其他制品。任何这样的计算机存储介质可以是计算设备500的一部分。计算机存储介质可以不包括载波或其他传播或调制数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制等调制数据信号中的其他数据来实施,并且包括任何信息传递介质。术语“调制数据信号”可以描述一个或多个特性以使得能够在信号中对信息进行编码的方式设置或改变的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频(RF)、红外和其他无线介质等无线介质。
图6A和6B示出了移动计算设备600,例如,移动电话、智能电话、平板计算机、平板手机、智能手表、可穿戴计算机、个人计算机、台式计算机、游戏系统、膝上型计算机等,其可以用于实现本公开的各方面。参考图6A,示出了适合于实现这些方面的移动计算设备600的一个方面。在基本配置中,移动计算设备600是具有输入元件和输出元件的手持式计算机。移动计算设备600通常包括显示器605和允许用户向移动计算设备600中输入信息的一个或多个输入按钮610。移动计算设备600的显示器605还可以用作输入设备(例如,触摸屏显示器)。
如果包括,则可选的侧输入元件615允许另外的用户输入。侧输入元件615可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代方面,移动计算设备600可以包含更多或更少的输入元素。例如,在一些方面中,显示器605可以不是触摸屏。在又一替代方面中,移动计算设备600是便携式电话系统,诸如蜂窝电话。移动计算设备600还可以包括可选的小键盘635。可选的小键盘635可以是物理小键盘或在触摸屏显示器上生成的“软”小键盘。
除了或代替与显示器605和/或小键盘635相关联的触摸屏输入设备,自然用户界面(NUI)可以并入移动计算设备600中。如本文所使用的,NUI包括使得用户能够以“自然”方式与设备交互而不受诸如鼠标、键盘、遥控器等输入设备施加的人为约束的任何接口技术。NUI方法的示例包括依赖于语音识别、触摸和手写笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、声音和语音、视觉、触摸、手势和机器智能的那些NUI方法。
在各个方面,输出元件包括用于显示图形用户界面(GUI)的显示器605。在本文中公开的各方面中,各种用户信息集合可以显示在显示器605上。其他输出元件可以包括视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些方面,移动计算设备600包括用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备600包括用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)。
图6B是示出移动计算设备的一个方面的架构的框图。也就是说,移动计算设备600可以包括系统(例如,架构)602以实现一些方面。在一个方面,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统602被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序666、上下文记忆捕获和召回系统100在操作系统664上或与操作系统664相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以用于存储在系统602断电时不应当丢失的持久信息。应用程序666可以在非易失性存储区域668中使用和存储信息,诸如电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统602上,并且被编程为与驻留在主计算机上的对应同步应用交互以使存储在非易失性存储区域668中的信息与存储在主计算机中的对应信息保持同步。应当理解,其他应用可以被加载到存储器662中并且在移动计算设备600上运行。
系统602具有电源670,电源670可以实现为一个或多个电池。电源670还可以包括外部电源,诸如补充或重新充电电池的AC适配器或电源对接支架。
系统602还可以包括执行发射和接收射频通信的功能的无线电672。无线电672经由通信运营商或服务提供商支持系统602与“外部世界”之间的无线连接。去往和来自无线电672的传输在操作系664的控制下进行。换言之,由无线电672接收的通信可以经由操作系统664传播到应用程序666,反之亦然。
视觉指示器620可以用于提供视觉通知,和/或音频接口674可以用于经由音频换能器625产生可听通知。在所示方面,视觉指示器620是发光二极管(LED),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得它们在被激活时在由通知机制指示的持续时间保持开启,即使处理器660和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取动作来指示设备的通电状态。音频接口674用于向用户提供可听信号和从用户接收可听信号。例如,除了耦合到音频换能器625之外,音频接口674还可以耦合到麦克风以接收可听输入。系统602还可以包括使得板载相机630的操作能够记录静止图像、视频流等的视频接口676。
实现系统602的移动计算设备600可以具有附加特征或功能。例如,移动计算设备600还可以包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这种附加存储装置在图6B中由非易失性存储区域668示出。
如上所述,由移动计算设备600生成或捕获并且经由系统602存储的数据/信息可以本地存储在移动计算设备600上,或者数据可以存储在任何数目的存储介质上,这些介质可以由设备经由无线电672或经由移动计算设备600和与移动计算设备600相关联的分开的电子设备(例如,诸如因特网等分布式计算网络中的服务器计算机)之间的有线连接来访问。应当理解,这样的数据/信息可以经由无线电672或经由分布式计算网络经由移动计算设备600来访问。类似地,根据公知的数据/信息传送和存储装置,包括电子邮件和协作数据/信息共享系统,这样的数据/信息可以在计算设备之间容易地传送以用于存储和使用。
图7示出了用于处理在计算系统处从远程源(诸如通用计算设备704、平板计算机706或移动设备708)接收的数据的系统的架构的一个方面,如上所述。在服务器设备702处显示和/或利用的内容可以存储在不同的通信信道或其他存储类型中。例如,各种文档可以使用目录服务722、web门户724、邮箱服务726、即时消息存储装置728和/或社交网络站点730来存储。作为示例,上下文记忆捕获和召回系统100可以在通用计算设备704、平板计算设备706和/或移动计算设备708(例如,智能电话)中实现。在一些方面,服务器702被配置为经由如图7所示的网络715来实现上下文记忆捕获和召回系统100。
图8示出了本文中公开的一个或多个方面可以在其中执行的示例性平板计算设备800。此外,本文中描述的各方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索以及各种处理功能可以通过诸如因特网或内联网等分布式计算网络彼此远程操作。用户界面和各种类型的信息可以经由板载计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,可以在墙面上显示和交互各种类型的用户界面和信息,在该墙面上投影有用户界面和各种类型的信息。与可以实现本发明的各方面的多个计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕获和解释用于控制计算设备的功能的用户手势等的检测(例如,相机)功能。
例如,以上参考根据本公开的各方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本公开的实施例。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
本公开参考附图描述了本技术的一些实施例,其中仅描述了一些可能的方面。然而,其他方面可以以很多不同的形式实现,并且本文中公开的具体方面不应当被解释为限于本文中阐述的本公开的各个方面。相反,提供这些示例性方面是为了使得本公开彻底和完整并且向本领域技术人员充分传达其他可能方面的范围。例如,在不脱离本公开的范围的情况下,可以修改和/或组合本文中公开的各个方面中的各方面。
尽管本文中描述了特定方面,但是本技术的范围不限于这些具体方面。本领域技术人员将认识到在本技术的范围和精神内的其他方面或改进。因此,特定结构、动作或媒体被公开仅作为说明性方面。该技术的范围由以下权利要求及其中的任何等同物限定。

Claims (15)

1.一种用于上下文记忆捕获和召回的系统,所述系统包括:
至少一个处理器;以及
存储器,用于存储和编码计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时可操作用于:
从用户的客户端计算设备收集用户上下文信号;
利用世界知识来丰富来自所述用户上下文信号的用户上下文元素以形成丰富的上下文元素;
基于所述丰富的上下文元素来标识所述用户的活动,其中所述活动是未来活动;
基于查询规则评估所述活动;
基于对所述活动的所述评估来确定期望针对所述活动进行记忆查询;
基于所述活动和创建规则来创建适当的记忆查询;
响应于确定期望进行所述记忆查询,基于通知规则来评估所述丰富的上下文元素;
响应于所述记忆查询而从所述客户端计算设备收集记忆输入,其中所述记忆输入包括记忆信息;
基于所述记忆输入创建记忆动作,其中所述记忆动作包括所述记忆信息的召回;
将所述记忆动作与所述活动的第一边界进行链接;
基于所述丰富的上下文元素来检测所述第一边界;以及
响应于对所述第一边界的检测,向所述客户端计算设备发送向所述用户提供所述记忆信息的指令。
2.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
基于用户信号确定用户模式;
分析所述用户信号以确定用户反馈;以及
利用学习算法基于所述用户模式和所述用户反馈来更新所述查询规则。
3.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
从用户模式检测框架接收附加用户信息,其中所述附加用户信息是用户模式或用户反馈中的至少一个;以及
利用学习算法基于所述附加用户信息来更新所述查询规则。
4.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
从用户模式检测框架接收用户反馈和用户模式;以及
利用学习算法基于所述用户反馈和所述用户模式更新所述查询规则。
5.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
利用学习算法基于用户模式和用户反馈中的至少一个来更新所述查询规则、所述创建规则和所述通知规则。
6.根据权利要求1所述的系统,其中所述第一边界在所述活动的开始之前。
7.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
分析所述记忆输入;
基于对所述记忆输入的所述分析来从所述世界知识中收集附加记忆信息;
将所述附加记忆信息与所述活动的所述第一边界进行链接;以及
响应于对所述第一边界的所述检测,向所述客户端计算设备发送向所述用户提供所述附加记忆信息的另外的指令。
8.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
分析所述活动;
基于对所述活动的所述分析来标识相关活动;
将所述记忆动作链接到所述相关活动的第二边界;
基于所述丰富的上下文元素来检测所述相关活动的所述第二边界;
响应于对所述第二边界的检测,向所述客户端计算设备发送向所述用户提供所述记忆信息的指令。
9.根据权利要求1所述的系统,所述至少一个处理器还可操作用于:
基于对所述丰富的上下文元素的所述评估来确定用于提供所述记忆查询的适当时间段;以及
响应于所述适当时间段的所述确定而向所述客户端计算设备发送在所述适当时间段期间向所述用户提供所述记忆查询的指令。
10.一种用于上下文记忆捕获和召回的方法,所述方法包括:
从用户的至少一个客户端计算设备收集上下文信号;
利用世界知识来丰富来自所述上下文信号的上下文元素以形成丰富的上下文元素;
基于所述丰富的上下文元素来标识所述用户的活动;
基于对所述活动的评估来确定期望针对所述活动进行记忆查询;
向所述用户提供所述记忆查询;
响应于所述记忆查询而从所述用户收集记忆输入,其中所述记忆输入包括由所述用户输入的记忆信息;
响应于所述记忆输入而创建记忆动作,其中所述记忆动作包括所述记忆信息的召回;以及
将所述记忆输入与所述活动的至少一个边界进行链接。
11.根据权利要求10所述的方法,还包括:
基于所述丰富的上下文元素来检测所述活动的第一边界;以及
响应于对所述第一边界的检测,执行所述记忆动作。
12.根据权利要求11所述的方法,其中所述记忆查询包括所述活动和对与所述活动相关的记忆信息的请求。
13.根据权利要求12所述的方法,其中所述记忆输入包括与所述活动相关的所述记忆信息。
14.根据权利要求11所述的方法,还包括:
利用世界知识和附加用户信息基于对所述活动的分析来标识与所述活动相关的附加记忆信息,
其中所述记忆查询包括所述活动、所述活动的所述附加记忆信息、以及对在与所述活动相关的记忆召回中使用所述附加记忆信息的批准的请求,以及
其中所述记忆输入包括为所述活动创建所述记忆召回的所述批准。
15.根据权利要求11所述的方法,还包括:
利用世界知识和附加用户信息基于对所述活动的分析来标识与所述活动相关的附加记忆信息,
其中所述记忆查询包括所述活动、所述活动的所述附加记忆信息、以及对在与所述活动相关的记忆召回中使用所述附加记忆信息的批准的请求,以及
其中所述记忆查询还包括对与所述活动相关的记忆信息的请求,以及
其中所述记忆输入还包括来自所述用户的与所述活动相关的所述记忆信息。
CN201780079304.3A 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法 Active CN110088781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310471591.XA CN116450806A (zh) 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/391,947 US11409463B2 (en) 2016-12-28 2016-12-28 Systems and methods for contextual memory capture and recall
US15/391,947 2016-12-28
PCT/US2017/066233 WO2018125581A1 (en) 2016-12-28 2017-12-14 Systems and methods for contextual memory capture and recall

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310471591.XA Division CN116450806A (zh) 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法

Publications (2)

Publication Number Publication Date
CN110088781A true CN110088781A (zh) 2019-08-02
CN110088781B CN110088781B (zh) 2023-05-09

Family

ID=60953949

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310471591.XA Pending CN116450806A (zh) 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法
CN201780079304.3A Active CN110088781B (zh) 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310471591.XA Pending CN116450806A (zh) 2016-12-28 2017-12-14 用于上下文记忆捕获和召回的系统和方法

Country Status (4)

Country Link
US (2) US11409463B2 (zh)
EP (1) EP3563311A1 (zh)
CN (2) CN116450806A (zh)
WO (1) WO2018125581A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909321B2 (en) * 2017-11-14 2021-02-02 Microsoft Technology Licensing, Llc Automated travel diary generation
US10740704B2 (en) * 2018-10-04 2020-08-11 Microsoft Technology Licensing, Llc User-centric browser location
US10733545B2 (en) * 2018-10-04 2020-08-04 Microsoft Technology Licensing, Llc User-centric contextual information for browser

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101479720A (zh) * 2006-06-30 2009-07-08 微软公司 用于上下文敏感的提醒、通知和服务促进的方法和体系结构
CN102812478A (zh) * 2010-03-25 2012-12-05 诺基亚公司 用于提供软提醒的方法和装置
CN103975320A (zh) * 2011-12-08 2014-08-06 谷歌公司 用于设备交互的场境和位置知晓
CN104252498A (zh) * 2013-06-28 2014-12-31 Sap欧洲公司 上下文感知推荐
US20160259775A1 (en) * 2015-03-08 2016-09-08 Speaktoit, Inc. Context-based natural language processing
US20160321573A1 (en) * 2015-04-29 2016-11-03 Microsoft Technology Licensing, Llc Personalized contextual suggestion engine

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182394A1 (en) 2001-06-07 2003-09-25 Oren Ryngler Method and system for providing context awareness
US8266042B2 (en) * 2004-12-21 2012-09-11 Weather Risk Solutions, Llc Financial activity based on natural peril events
US20090307038A1 (en) 2008-06-10 2009-12-10 International Business Machines Corporation System and method for creation of data feeds based on calender meeting participants
US8560371B2 (en) 2008-09-26 2013-10-15 Microsoft Corporation Suggesting things to do during time slots in a schedule
US8489599B2 (en) 2008-12-02 2013-07-16 Palo Alto Research Center Incorporated Context and activity-driven content delivery and interaction
US8620846B2 (en) 2010-01-21 2013-12-31 Telcordia Technologies, Inc. Method and system for improving personal productivity in home environments
USD672666S1 (en) 2011-01-12 2012-12-18 Emerson Electric Co. Thermostat
US8766793B2 (en) 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
US8718614B2 (en) 2012-02-21 2014-05-06 Cellco Partnership Concierge
US20140031060A1 (en) 2012-07-25 2014-01-30 Aro, Inc. Creating Context Slices of a Storyline from Mobile Device Data
US20140118384A1 (en) 2012-10-30 2014-05-01 Pixtronix, Inc. Display apparatus employing composite contributing colors gated by power management logic
US9300744B2 (en) 2013-01-18 2016-03-29 Plantronics, Inc. Context sensitive and shared location based reminder
US10776700B2 (en) * 2015-09-10 2020-09-15 Senseforth, Inc. Method and system for automatic resolution of user queries

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101479720A (zh) * 2006-06-30 2009-07-08 微软公司 用于上下文敏感的提醒、通知和服务促进的方法和体系结构
CN102812478A (zh) * 2010-03-25 2012-12-05 诺基亚公司 用于提供软提醒的方法和装置
CN103975320A (zh) * 2011-12-08 2014-08-06 谷歌公司 用于设备交互的场境和位置知晓
CN104252498A (zh) * 2013-06-28 2014-12-31 Sap欧洲公司 上下文感知推荐
US20160259775A1 (en) * 2015-03-08 2016-09-08 Speaktoit, Inc. Context-based natural language processing
US20160321573A1 (en) * 2015-04-29 2016-11-03 Microsoft Technology Licensing, Llc Personalized contextual suggestion engine

Also Published As

Publication number Publication date
US11886748B2 (en) 2024-01-30
WO2018125581A1 (en) 2018-07-05
CN110088781B (zh) 2023-05-09
US11409463B2 (en) 2022-08-09
CN116450806A (zh) 2023-07-18
US20220357895A1 (en) 2022-11-10
US20180181345A1 (en) 2018-06-28
EP3563311A1 (en) 2019-11-06

Similar Documents

Publication Publication Date Title
CN110651325B (zh) 计算助理的延迟响应
KR102404702B1 (ko) 크로스-디바이스 핸드오프
US11449907B2 (en) Personalized contextual suggestion engine
US10524092B2 (en) Task automation using location-awareness of multiple devices
CN105378624B (zh) 在交互出现于白板上时显示交互
US11288574B2 (en) Systems and methods for building and utilizing artificial intelligence that models human memory
US6842877B2 (en) Contextual responses based on automated learning techniques
CN109478196A (zh) 用于对在线用户查询进行响应的系统和方法
WO2017146954A1 (en) Contextual notification engine
US10462215B2 (en) Systems and methods for an intelligent distributed working memory
CN105917349A (zh) 对请求的用户数据的隐私过滤以及上下文激活的隐私模式
CN108369607A (zh) 用于个人数字助理的动态反应性上下文策略
US10331480B2 (en) Contextual application organizer framework for user life events
CN110168571A (zh) 用于人工智能界面生成、演进和/或调节的系统和方法
CN108885739A (zh) 智能个人助理作为联系人
US11886748B2 (en) Systems and methods for contextual memory capture and recall
US11057673B2 (en) Personalized content aggregation and delivery
KR20190009201A (ko) 이동 단말기 및 그 제어 방법
Kbar et al. Utilizing sensors networks to develop a smart and context-aware solution for people with disabilities at the workplace (design and implementation)
CN108885637A (zh) 人物相关性平台
WO2016176376A1 (en) Personalized contextual suggestion engine
CN110431548A (zh) 针对图表的上下文规则
US20230144016A1 (en) Cognitive persona embeddings for secure omni-channel personalized recommendations
KR101924892B1 (ko) O2o 서비스 제공방법
Ponnusamy et al. Wearable Devices, Surveillance Systems, and AI for Women's Wellbeing

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