CN110036360A - 用于解释和管理不精确的时间表达的系统 - Google Patents

用于解释和管理不精确的时间表达的系统 Download PDF

Info

Publication number
CN110036360A
CN110036360A CN201780074271.3A CN201780074271A CN110036360A CN 110036360 A CN110036360 A CN 110036360A CN 201780074271 A CN201780074271 A CN 201780074271A CN 110036360 A CN110036360 A CN 110036360A
Authority
CN
China
Prior art keywords
user
time
prediction
inaccurate
task
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
CN201780074271.3A
Other languages
English (en)
Other versions
CN110036360B (zh
Inventor
A·福尼
P·N·本内特
R·怀特
E·霍尔维兹
荣欣
D·格劳斯
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 CN202210313696.8A priority Critical patent/CN114648308A/zh
Publication of CN110036360A publication Critical patent/CN110036360A/zh
Application granted granted Critical
Publication of CN110036360B publication Critical patent/CN110036360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/3322Query formulation using system suggestions
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

公开了用于提取、标识和消费不精确的时间元素(“ITE”)的技术。可以从客户端设备接收用户输入。可以基于ITE模型生成用户输入所指的一个或多个时间区间的预测。用户输入可以与该预测相关联,并被提供给客户端设备。

Description

用于解释和管理不精确的时间表达的系统
技术领域
本公开一般涉及用于帮助用户完成任务和规划未来活动的技术。
背景技术
自动化的个人助理(例如,虚拟助理)可以支持一系列反应式和主动的场景,从问答应答到提供有关飞机飞行和交通的警报。一些自动化的个人助理可以提供提醒服务,旨在帮助人们记住他们可能忘记的未来任务。自动化的个人助理可以使用自然语言来访问设备的命令、设置和集成服务。在许多情况下,这些交互可能要求用户传达日期和/或时间。例如,当用户想要创建预约、设置提醒和/或查询天气、体育、新闻、请求项目的时间线等时,需要时间指示。无论是发出命令还是检索信息,按照惯例和指导,鼓励用户构建用户的话语,就好像用户正在与真人交谈一样。然而,这些类型的人际沟通通常会产生不精确的、有细微差别的和/或模棱两可的时间表达。因此,在沟通和规划中,用户经常使用不精确的时间表达(“ITE”)来表达关于时间的不确定性。ITE可以用于沟通目的(例如,传达优先级、灵活性或自身的不确定性),但现代自动化的个人助理缺乏用以捕获ITE系统背后的意图以做出适当的响应的系统支持。这可能导致不自然的交互和不期望的中断。例如,常规的自动化的个人助理可以将“今天晚些时候的某个时间”解释为下午12:00,而用户意图是下午2:00。因此,需要一种能够标识ITE并生成一个或多个近似时间区间的预测的系统,以便该系统可以被设备的自动化的个人助理、预测服务、调度服务等消费。
发明内容
在实施方式中,公开了一种系统,其可以包括数据库和沟通地耦合到数据库的处理器。数据库可以存储不精确的时间表达模型。在一些实例中,ITE模型可以由处理器生成。处理器可以被配置成从客户端设备接收用户输入。用户输入可以以语音和/或文本输入的形式由系统接收。可以基于数据库中的ITE模型生成对用户输入所指的一个或多个时间区间的预测。用户输入可以包括ITE、上下文文本和交互的时间中的至少一个。在用户输入包括ITE的事件中,处理器可以被配置成检测ITE。在一些实例中,可以将预测呈现给客户端设备(或服务器),并且可以生成接收用户输入以确认预测的请求。在一些实例中,处理器可以接收修改预测的指示,并基于该指示更新数据库中的ITE模型。预测可以与用户输入相关联。处理器可以向客户端设备提供预测。处理器可以被配置成在与用户输入相对应的时间在客户端设备上显示预测。可以以各种方式向客户端设备提供预测,诸如经由提醒、通知、文本的自动完成、时间线、任务列表、日历安排、时间区间、排序的时间区间列表、概率分布等。
根据实施方式,提供了一种方法,其中从客户端设备接收用户输入。可以基于ITE模型生成预测。用户输入可以与预测相关联,并且可以将预测提供给客户端设备。
在实施方式中,公开了一种非瞬态计算机可读介质,其上存储有可执行以使一个或多个处理器执行操作的计算机可读指令。可以接收来自客户端设备的用户输入。操作可以包括生成一个或多个时间区间的预测,基于数据库中的ITE模型生成可以生成用户输入所指的一个或多个时间区间。用户输入可以包括ITE、上下文文本和交互的时间中的至少一个。用户输入可以与预测相关联,并且计算机可读指令可以使得可以将预测提供给客户端设备。
考虑到以下详细描述、附图和权利要求,可以阐述或将清楚所公开的主题内容的附加特征、优点和实施例。此外,应当理解,前述发明内容和以下详细描述都是示例性的,并且旨在提供进一步的解释而不限制权利要求的范围。
附图说明
被包括以提供对所公开的主题内容的进一步理解的附图被包含在本说明书中并构成本说明书的一部分。附图还图示了所公开的主题内容的实施例,并且与详细描述一起用于解释所公开的主题内容的实施例的原理。除了对于所公开的主题内容的基本理解以及可以实践它的各种方式所必需的结构细节之外,没有尝试更详细地示出结构细节。
图1图示了根据所公开的实施方式的MCT和MNT中的每个单元中的提醒的创建时间P(rCT)和通知时间P(rNT)的先验概率的示例。
图2是提醒创建和通知之间的延迟的示例数据集的绘图的示例。
图3示出了每任务类型提醒和这些块之外两者的示例。“活动”和“去某处”提醒往往主要是在办公时间期间被创建的,而例如“沟通”和“家务”提醒往往更倾向于在傍晚被创建。
图4图示了针对被设置为在办公时间期间通知用户的任务和在这些时间之外触发的任务的概率分布的示例。
图5图示了根据本文所公开的实施方式的针对“沟通/一般”和“沟通/协调”任务的提醒通知时间概率分布的示例。
图6图示了可以示出提醒创建和通知时间之间的延迟的箱形图的示例(n=125376)。
图7示出了针对“沟通”子任务的提醒创建和通知之间的延迟(例如,提前时间)的示例。
图8示出了根据本文所公开的实施方式,基于示例数据的包含词语“教堂”或“预约”的任务描述的创建时间和通知时间的示例。
图9图示了在示例数据集中包含词语“预约”到“洗衣”的提醒的平均延迟的比较的示例。
图10示出了根据本文所公开的实施方式的针对三种不同rCT的P(rNT|rCT)的示例。
图11示出了实施方式的示例,其提供了用于向客户端设备(或其他计算机)提供针对不精确的时间表达的预测的过程。
图12图示了在客户端设备上操作的笔记或备忘录程序的示例界面。
图13是在客户端设备上操作的笔记或备忘录程序的示例界面,其中文本已经被录入到文本输入框中。
图14是用于在客户端设备上操作的笔记或备忘录程序的示例界面,其中用户已经在文本输入框中录入短语“本周提交专利申请”。
图15是适于实施本公开主题内容的实施例的示例计算机。
图16示出了根据所公开的主题内容的实施例的示例网络布置。
图17示出了根据实施方式的可以向用户显示以接收关于用户分配给项目的时间区间的用户的直接输入的对话的示例。
图18A-图18C示出了跨多个用户(例如,一组用户)的聚合响应的示例。图18A示出了针对词语“下周初”的响应的示例分布。图18B示出了针对词语“下周末”的响应的示例分布。图18C示出了针对词语“本周晚些时候”的响应的示例分布。
图19图示了基于众包结果在一周的不同日对“下周末”的解释的示例。所示的数字是在其解释范围内包括特定执行日期的用户的比例。
图20图示了基于众包结果在一周的不同日对“本周晚些时候”的解释的示例。所示的数字是在其解释范围内包括特定执行日期的工作者的比例。
图21是根据本文所公开的实施方式,基于根据用户输入生成的各种预测来显示任务的经排序的列表的自动化的个人助理的笔记或备忘录应用的示例。
图22是可以由用户提供的显式反馈的示例。
具体实施方式
现代自动化的个人助理通常坚持要精确地指定日期和时间,或者将严格地将时间表达的有限集合消除歧义为预定的挂钟时间(例如,将“早晨”映射到上午7:00)。虽然对于系统设计人员和实施人员,这些表达的早期解析可能是最简单的解决方案,但这种策略可能会导致用户体验崩溃。用户通常在使用时间表达方面是策略性的,以便传达他们自己的不确定性、承诺或任务优先级。在这些场景中,坚持用户输入特定时间或日期可能会增加使用该系统的负担。同样地,对时间表达的过度文字解释可能导致在不适当的时间递送提醒或通知(例如,指定“今天下午”的用户可能不希望或期望在恰好下午12:00递送提醒)。表1是不精确和精确的日期或时间表达的示例。表2列出了几种其他类型的ITE。当与基准时间(例如,讲出表达的时间)一起考虑时,精确日期解析为特定日历日的整体。ITE可以指既不解析为精确日期(即,日历日的整体),也不解析为精确时间(即,具有指定小时和分钟的时间)的时间表达。
表1
表2
本文公开了系统和方法,其(1)接收诸如文本或自然语言的用户输入,(2)生成用户输入所指的一个或多个时间区间的预测,和/或(3)提供预测服务,其以在给定所涉及的不确定性的情况下合适的方式促进数据输入和/或向用户递送时间相关信息。例如,结果预测可以表示系统对事件何时可能发生或已经发生,和/或何时应当采取动作(例如,已发送的通知、警告和/或警报)的信念。警报可以指视觉、触觉或听觉反馈(例如,发出声音、显示文本或通知、照亮发光二极管等)。预测可以基于ITE模型,该ITE模型可以考虑各种因素,诸如讲出或写出表达的时间、封闭话语或文本的内容/主题,和/或知道的关于用户的细节。ITE模型可以指一系列分布,其指示对ITE或事件(例如,修剪草坪)可能指示的基准时间或时间区间的信念。可以以如下所述的各种方式生成ITE模型。简而言之,可以基于对数据日志(诸如与电子邮件语料库和/或自动化的个人助理相对应的数据日志)的分析来开发ITE模型。可以生成一个以上的ITE模型(例如,可以针对每个ITE存在模型),并且ITE模型可以被更新和/或特定于特定用户或用户组。
因为ITE可以指过去,所以所公开的实施方式可以具有超出提醒或未来意图的实际应用。例如,所公开的系统可以分析用户过去的电子邮件的文本以确定已经发生的(多个)事件的至少一个区间,并将这些事件放置在可以向用户显示的时间线上。可以在电子邮件的文本中自动检测ITE或特定上下文文本(例如,潜在地指示时间元素的词,诸如“万圣节”或“修剪草坪”)。例如,用户可以请求从与特定关键词相关联的过去的电子邮件生成时间线。可以检测与所标识的电子邮件的子集相关联的ITE并向用户显示为时间线,以获得项目的生命周期或项目的阶段之间的关系的概述。
预测服务可以促进时间表达输出。作为预测服务的示例,当在日历应用中创作待办任务时,系统可以利用当前时间和待办事项的文本来自动建议用户可以从中选择的截止日期和/或通知时间。作为另一示例,当用户指示待办事项、日历预约等时,语音识别或数据提取过程可以利用ITE模型来细化假设(例如,n-最佳列表)。对于在不久的将来可能变为“到期”的低确定性事项,自动化的个人助理可以寻求附加的日程安排澄清作为某个后续维护任务的一部分。例如,助理可以在下次用户打开日历时请求安排指导,或者作为在方便的停歇时间(例如,在一天的开始或结束时)递送的每日简报的一部分。关于特定的确定性。
可以以各种方式将预测返回到客户端设备和/或服务器。预测的格式可以以用户可观察的形式提供,诸如任务列表、提醒、日历、时间线等。预测也可以是数学表示的形式,诸如时间区间和/或分布。这里提供的这种预测的示例没有下面的限制。在一些实例中,例如,该表示可以被存储到客户端设备和/或与服务器连接的数据库。在下面的示例1-14中,应用标准数学符号,使得“[a,b]”指示包括a和b的区间,以及“[a,b)”指示a和直到b但不是包括b的所有点的区间。类似地,“(a,b]”指示不包括a,但包括大于a直至b并包括b的所有点的区间。最后,“(a,b)”包括a和b之间的所有点,但是排除a和b本身,以及“[a,a]”是包括点a且仅包括a的“点区间”。
1)时间跨度:例如,“下周末”可以被表示(例如,计算、存储、显示等)为[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。
2)排序的列表:例如,预测可以指基于指示特定用户输入所指的时间区间的聚合用户响应,从最可能到最不可能排序的几个可能的时间区间。可以使用基于所接收的数据对列表进行排序的其他方法来代替或补充这种过程。例如,词语“下周末”可以被提供为排序的列表,诸如排序1:[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。排序2:[2016年12月09日,星期五,下午5:00-2016年12月11日,星期一,中午12:00)。在一些配置中,可以以对话框等的形式将排序的列表呈现给用户。
3)到无限期未来的开放区间:例如,词语“本周末之后”可以被提供为(2016年12月04日,星期一,中午12:00-无限未来范围)。
4)无限期过去的开放区间:例如,词语“在本周末之前”可以被提供为(无限过去范围-2016年12月02日,星期五,下午5:00)。
5)非连续的区间的集合:例如,词语“下周工作时间期间”可以被提供为数学表示,诸如{[2016年12月05日,星期一,上午9:00-2016年12月5日,星期一,下午5:00],[2016年12月06日,星期二,上午9:00-2016年12月06日,星期二,下午5:00],[2016年12月07日,星期三,上午9:00-2016年12月07日,星期三,下午5:00],[2016年12月08日,星期四,上午9:00-2016年12月08日,星期四,下午5:00],[2016年12月09日,星期五,上午9:00-2016年12月09日,星期五,下午5:00]}。
6)非连续区间的集合的排序的列表:例如,词语“下周工作时间期间”->排序1:{[2016年12月05日,星期一,上午9:00-2016年12月05日,星期一,下午5:00],[2016年12月06日,星期二,上午9:00-2016年12月06日,星期二,下午5:00],[2016年12月07日,星期三,上午9:00-2016年12月07日,星期三,下午5:00],[2016年12月08日,星期四,上午9:00-2016年12月08日,星期四,下午5:00],[2016年12月09日,星期五,上午9:00-2016年12月09日,星期五,下午5:00],排序2:{[2016年12月12日,星期一,上午9:00-2016年12月12日,星期一,下午5:00],[2016年12月13日,星期二,上午9:00-2016年12月13日,星期二,下午5:00],[2016年12月14日,星期三,上午9:00-2016年12月14日,星期三,下午5:00],[2016年12月15日,星期四,上午9:00-2016年12月15日,星期四,下午5:00],[2016年12月16日,星期五,上午9:00-2016年12月16日,星期五,下午5:00]}。
7)具有置信度的预测:例如,词语“下周末”可以被提供为以诸如80%[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)的形式的预测。
8)在每个候选/子组分中具有置信度的预测列表:例如,词语“下周末”可以被提供为80%[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。20%:[2016年12月09日,星期五,下午5:00-2016年12月11日,星期一,中午12:00)。
9)在每个候选/子组分中具有置信度的非穷举性预测列表(注意,百分比之和不等于100):例如,词语“下周末”可以被提供为50%[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。20%:[2016年12月09日,星期五,下午5:00-2016年12月11日,星期一,中午12:00)。
10)在每个候选/子组分中具有置信度“得分”的预测列表(百分比之和可能不等于100%),其中较高/较低得分指示信念:例如,词语“下周末”可能具有与之相关联的以下“得分”:得分104.32[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。得分43.43[2016年12月09日,星期五,下午5:00-2016年12月11日,星期一,中午12:00)。这些得分可以基于例如从各种源聚集的用户数据的分析(例如,自动化的个人助理的日志)。
11)具有表达被任何一个子组分覆盖并且子组分总和为1的总体置信度的预测列表:例如,词语“下周末”可以被提供为总体置信度为95%。80%[2016年12月02日,星期五,下午5:00-2016年12月04日,星期一,中午12:00)。20%[2016年12月09日,星期五,下午5:00-2016年12月11日,星期一,中午12:00)。在该示例中,表达(例如,ITE)被包含在所提供的两个时间区间内的置信度可以为95%。
12)具有表达被任何一个子组分覆盖并且子组分总和为1的得分的预测列表:继续前面的示例,可以提供例如92.8的得分,而不是反映95%的总体置信度。
13)在区间上具有相关联的分布的区间:例如,对于适当的参数选择λ,并且其中α=区间的开始,并且对于在区间中的任何时间t,可以如下表示指数衰减的概率:词语“在本周末之后”可以被表示为{(2016年12月04日,星期一,中午12:00-无限未来范围),λe^(-λ(t-α))}。对于大λ,这可能在2016年12月04日,星期一,中午12:00之后不久的时间点产生显著更高的概率并且迅速衰减。对于较小的λ,概率可能显著更慢地衰减。可以从数据中学习参数,作为学习时间表达模型的过程的一部分。同样地,可以使用除了指数分布之外的分布,包括分布的混合。
14)可以以前述示例1-12中的任何一个来表示预测,除了分布(连续的或离散的)可以与每个区间或子组分相关联,如在前面的示例13中那样。
因此,以上示例中的每个图示了可以生成并且可以被提供给客户端设备和/或服务器的预测,其中预测可以被其他服务应用或使用。例如,日程安排应用可以检测“让我们在本周末的某个时间见面”作为两个用户之间的视频会议中的话语。可以从用户的设备向处理两个用户的设备之间的沟通的服务器提供诸如上面的示例1-14的形式的“本周末的某个时间”的预测。服务器可以比较来自客户端设备的两个所提供的预测以确定至少一个时间区间的任何重叠,并相应地向两个用户提出会议时间,以解决在对应于“本周末的某个时间”的(多个)重叠时间期间的日程安排冲突。可以经由单独的应用(例如,电子邮件程序或日历应用)或通过视频会议应用提出该时间。所提出的时间可以被显示为请求用户确认预约的对话框。
已经开发了几个系统来帮助提醒人们未来的动作,其中许多系统利用上下文信号进行更准确的提醒。这些系统可以帮助生成与一系列未来动作相关联的提醒,包括位置、事件、活动、人员和时间。最常支持的提醒类型中的两种是基于位置和/或基于时间的。当人们在感兴趣的位置或附近时,可以触发基于位置的提醒。可以基于时间设置和触发基于时间的提醒,包括基于已花在任务上时间的提醒。而基于时间的提醒可以为许多用户提供价值,特别是老年人、具有记忆障碍的用户和/或寻求遵守处方药物的用户。
记忆辅助工具可以帮助用户记住过去的事件和信息。用户倾向于经由回忆策略利用他们自己的记忆和使用外部记忆辅助工具来增加回忆的可能性。辅助工具可以采取不同的形式,包括纸张到电子备选品。基于计算机的记忆辅助工具的一个示例是记忆代理,其可以使用上下文信息(例如,键入文本处理器的单词)来检索类似的文档。已经示出了用户使用标准计算机设施来支持将来的提醒(例如,将文档定位在计算机桌面上的显眼位置)。出于各种原因,这些用途可能不充分,包括缺少警报。其他解决方案可以使用机器学习来预测遗忘以及用于提醒事件的需要。根据本文所公开的实施方式,检查和/或量化使用模式和用户行为以使得能够更好地理解用户的需求、开发用于系统-用户交互和协作的改进的方法,并且增强对记忆辅助工具提供价值的任务类型的理解。
前瞻性记忆(“PM”)可以指记住将来要执行的行为的能力。成功的PM需要在适当的时候回忆。PM中的失败可能与外部因素(诸如中断)有关。前瞻性任务可以被分为基于时间的任务和基于事件的任务。基于时间的任务可以是用于在特定的未来时间执行的任务,而基于事件的任务可以在由外部线索(例如,人员、位置和/或对象)触发的特定情况或事件发生时被执行。如本文所公开的,自动化的个人助理的研究日志可以表示现实的、基于时间的PM实例的丰富资源。这些实例可以提供对用户可能忘记执行的任务的类型和性质的见解。
如本文所公开的,提供了在自然设置中大规模地创建常见的基于时间的提醒。其次,公开了由获得的关于由大量用户创建的提醒的数据促进的基于时间的提醒的类型的分类。第三,可以表征提醒生成过程的重要方面,包括它们的性质(例如,提醒正在进行的活动与计划的活动),以及提醒文本与设置提醒和警报以提醒的时间之间的关系。可以基于从获得的关于提醒的数据中发现的模式来生成预测模型。如之前所讨论的,预测模型可以被用来确定例如何时应当触发提醒。
可以通过观察与设置提醒链接的常见任务并确定是否存在作为提醒创建过程的基础的常见任务的主体来检查提醒创建周围的行为。可以提取经常观察到的并且跨多个用户的提醒。可以将提醒归类为任务分类,以更好地理解与提醒相关联的任务类型。
在表3的左栏中,列出了常见提醒的三个示例。这些示例示出了在从自动化的个人助理获得的所记录的提醒中经常观察到的结构。提醒可以被组成为谓语句子。它们可以包含与用户想要执行的动作(通常是动词短语)相关的短语,以及作为要执行的动作的目标的引用的对象。
表3
提醒 谓语
提醒我拿出垃圾 拿出(我,垃圾)
提醒我把我的衣服放在烘干机中 放(我,衣服在烘干机中)
提醒我从银行取现金 取(我,从银行现金)
用于设置提醒的会话可以包括对话框,其中用户和自动化的个人助理可以多轮交互。用户可以通过发出用于设置提醒的命令并指示提醒来开始。可选地,用户可以指定提醒的通知时间。接下来,自动化的个人助理可以请求指定时间(如果用户尚未指定它),或者提供提醒的概要(即,任务描述和通知时间,要求用户确认或改变所提出的提醒)。
可以分析来自自动化的个人助理的日志以提取与提醒相关的信息。可以预处理日志以仅包括例如来自美国市场的提醒。其他数据集(诸如电子邮件语料库或其他自然语言使用的源)可以被用来生成初始ITE模型和/或更新ITE模型。在实施方式中,分析可以集中在特定提醒(诸如基于时间的提醒)上,并且去除位置(例如,“当我在Y时提醒我做X”),和不太常见的基于人的提醒(例如,“当我看到Y时,提醒我给出X”)时。预处理可以进一步集中在由用户确认的那些提醒。在对来自自动化的个人助理的日志的这种预处理的示例中,在两个月的时间段内获得了来自92264个用户的576080个提醒的样本大小。对于每个提醒,可以提取提醒任务描述和通知时间。可以基于用户设备的本地时间来提取创建时间。每个提醒可以通过以下来表示:
rtask:提醒的文本任务描述,其可以指编码未来任务或将采取的动作的短语,如由用户指定的。
rCT:提醒的创建时间,其可以指用户对提醒进行编码的时间。项rCT可以被表示为下面所描述的离散化时间值。可以从客户端的设备中提取该时间戳。
rNT:使提醒触发警报而被设置的通知时间。这些数据可以指用户希望被提醒关于未来任务或动作的时间,并且可以以与rCT相同的离散方式来表示。
rΔT:从通知时间中减去创建时间可以产生时间增量,这可以指提醒的创建和通知时间之间的延迟。具有较小时间增量的提醒可以表示短期或即时任务(例如,“提醒我将披萨饼拿出烤箱”),而具有较大时间增量的提醒可以表示进一步在时间上提前计划的任务(例如,“提醒我预约医生”)。
在实施方式中,标识常见的提醒。常见提醒可以指跨多个用户经常被观察到的提醒。可以使用数据驱动和/或定性方法来标识常见任务类型,以提取和标识常见任务类型。
如本文所公开的,可以提取频繁的任务描述。首先,可以通过利用之前描述的谓语(例如,动词+对象)结构来提取常见的任务描述。为了确保基础任务描述表示广泛的任务,可以缩小或过滤数据集以包括那些以动词(或多个单词短语动词)开头的描述,其跨至少十个用户发生例如至少500次,具有至少有5个对象。在示例数据集中,这可以产生52个频繁的动词的集合,其可以包括示例数据集中60.9%的提醒。覆盖示例日志数据中的大多数提醒的相对少量的动词可以指示可能存在许多引起提醒创建的常见任务类型。为了进一步分析基础任务,可以包括最常见的对象,例如,通过删去与动词观察到少于五次的对象。这可以产生2484个唯一的任务描述(即动词+对象)的集合,覆盖21.7%的示例日志数据。
作为频繁的任务描述基础的常见任务可以被标识和/或归类为更广泛的任务类型分类。作为示例,通常分离任务的维度可以是:任务表示用户活动的中断还是继续、要执行任务的上下文(即在家、在工作中),和(预期)任务的持续时间。基于该分析,可以将频繁的任务描述标记为属于具有几个子类的六种广泛任务类型中的一种。
下面描述在示例数据集中标识的六种任务类型,并且提供相关联动词+对象模式的示例。可以通过对不同的数据集执行上述分析来标识其他任务类型。以频率的降序示出示例对象,从最常见的开始。动词可能不唯一地与单个任务类型相关联,但是动词+对象对可以确定任务类型(将例如“启动洗碗机”与“开始烹饪”进行比较)。
示例数据集中标识的第一种任务类型可以指去某个地方。大约33.0%的频繁任务可以指用户从一个地方移动到另一个地方。在此任务类型内可以区分两种子类型。第一子类型可以指运行差事(数据集的83.2%),其中提醒可以指在某个位置执行任务(例如,“拾取牛奶”)。运行差事可以表示用户活动的中断,但是任务的规模相对较小。例如,它可以是简单占用用户可用性的任务。第二子类型可以更广泛,并且可以表示以上下文切换为特征的任务(数据集的16.8%),例如,从一个上下文或活动移动到另一个(“上班”、“出发前往办公室”),它可以对用户的可用性产生较大的影响。分别在表4(运行差事)和表5(切换上下文)中提供这些子类型的示例。
表4
表5
示例动词 示例对象
离开(去)[某处] 房子、工作、机场
来[某处] 房子、回去工作、进来
在[某处] 在工作、在家里
去(到)[某处] 健身房、工作、家庭、预约
停在[某处] 银行、零售商处
有(去)[某物] 工作、预约
示例数据集中第二最常见的提醒类型可以被称为日常家务(23.8%的示例数据)。可以标识两种子类型:重复的家务(66.5%)和独立的家务(33.5%)。两种类型都表示简短地中断用户的活动的较小规模的任务。表6和表7分别提供了这些子类型的示例;可以在其他数据集中标识其他子类型。
表6
表7
示例动词 示例对象
写[某物] 支票、信、感谢函
改变[某物] 待洗衣物、油、空气过滤器
取消[某物] 订阅
订购[某物] 披萨、鲜花
更换[某物] 书、驾驶证、护照
订[某物] 旅馆、航班
邮寄[某物] 信、包裹、支票
提交[某物] 时间表、时间卡、费用
填写[某物] 申请、时间表、表格
打印[某物] 票、文章、登机牌
打包[某物] 午餐、运动服、衣服
示例数据集中标识的另一常见任务可以指用以联系(例如,“呼叫”、“打电话”、“发文本消息”)另一个体(诸如人(例如,“妈妈”、“杰克、“珍妮”)、组织/公司或其他(“美发师”、“医生办公室”))的提醒。可以标识两种子类型:大多数示例数据可以被称为一般的、未指定的沟通(94.7%的示例数据)(例如,“呼叫妈妈”),以及较小的部分(示例数据的5.3%)可以被称为协调或计划任务(例如,“预约医生”)。两种子类型都可以表示简短地中断用户活动的任务。表8和表9分别提供了一般的子类型和协调子类型的示例。
表8
示例动词 示例对象
发送[某物] 电子邮件、文本、报告
发电子邮件[某物] 爸爸、妈妈
发短信[某物] 妈妈、爸爸
呼叫[某物] 妈妈、爸爸
告诉[某人][某物] 我的妻子我爱她、生日快乐妈妈
表9
示例动词 示例对象
设置[预约] 医生的预约
进行[预约] 医生的预约、预订
安排[预约] 理发、医生的预约
可以被标识的第四种常见任务可以被称为正在进行的外部过程的管理。这些类型的任务包括示例数据集的12.9%。例如,对正在进行的外部过程的操纵可以指用户监控或与诸如待洗衣物或烤箱之类的某物交互的任务。这些任务的特征在于它们简短地中断用户的活动,并且可以不如执行家务广泛。表10提供了这种任务的示例。
表10
可以被标识的第五类常见任务可以指对正在进行的用户活动的管理。这类提醒与之前的类相似;然而,与用户与外部过程交互相反,任务可以反映用户自身活动的改变。这些任务可以导致用户可用性和认知负荷的成本增加。在示例数据集中,可以标识三种子类型:准备(31.4%)、开始(61.4%)和停止活动(7.2%)。表11-表13分别提供了这三种子类型的示例。
表11
示例动词 示例对象
做好准备[以/用于] 工作、家
表12
示例动词 示例对象
开始[某种活动] 晚餐、烹饪、学习
制作[某物] 食物、早餐、食品清单
进行[某物] 洗澡、休息
玩[某物] 游戏、控制台、篮球
观看[某物] 电视节目、体育比赛
表13
示例动词 示例对象
停止[某种活动] 阅读、播放
完成[某物] 家庭作业、洗衣、税收
另一频繁的提醒类型可以指消费某物,最常见的是食物(例如,“吃午饭”)或药物(例如,“吃药”)。这些任务可以很小并且范围从简短的中断(例如,“吃药片”)到更长的中断(“吃饭”)。表14列出了该提醒类型的示例。
表14
示例动词 示例对象
吃(take)[某物]
吃(eat)[某物] 午餐、晚餐、早餐、披萨
吃(have)[某物] 午餐、零食、早餐
可以分析提醒的时间模式以确定例如用户何时创建提醒、提醒被设置何时通知用户,以及针对不同提醒的创建和通知时间之间的平均延迟。基于这些确定,可以向提醒服务提供新的能力,诸如提供关于某些任务何时倾向于发生的可能性、建议通知时间(时隙填充)、预测(后续)任务和/或主动框出用户的日历上的时间。
可以通过将每天分成例如六个四小时的桶来离散化时间来分析提醒的常见的时间模式,六个四小时的桶为(i)深夜(例如,00:00-04:00),(ii)清晨(例如,04:00-08:00),(iii)上午(例如,08:00-12:00),(iv)下午(例如,12:00-16:00),(v)傍晚(例如,16:00-20:00)和(vi)夜晚(例如,20:00-00:00)。一天中的时间的划分与一周中的天数相结合可以产生7乘6的矩阵M,其列可以表示天数,并且行可以表示时间。每个rCT和rNT可以被表示为矩阵M中的单元,即Mi,j,其中i对应于一周中的天数,并且j对应于一天中的时间。此外,可以在特定天数和时间区分MCT和MNT,其对应于其单元可以包含被创建或分别设置来通知的提醒的矩阵。每个提醒可以被表示为对象r∈M,其具有前面描述的属性,诸如:提醒的任务描述(rtask)、创建时间(rCT)、通知时间(rNT)和时间增量(rΔT)。可以基于例如被创建的提醒的数目、其通知被设置和/或每单元来检查时间模式。可以在MCT和MNT中的单元上计算条件概率,其中提醒的创建或通知时间可以以例如任务类型、时间和/或任务描述中的词语为条件。
在给定来自任务描述的词语的情况下,通知或创建时间的条件概率可以通过将包含项w的提醒(被创建的或其通知在时间X被设置)的集合除以包含该词的提醒的总数目(参见例如等式1和/或等式2)来估计。可以通过计算针对MNT或MCT中的每个单元的该概率来生成矩阵M上的概率分布(即,)。
给定创建时间,可以生成用于提醒的通知时间的概率分布(参见例如等式3)以确定提醒的创建和通知之间的时间段的常见的模式。例如,可以通过将MCT的每个单元中的使其通知设置为在时间X被触发的提醒除以该单元中的所有提醒来计算此种概率分布。
例如,针对给定子集(例如,|rCT∈R:w∈r|或|rCT∈R:rCT=X|),可以通过收集计数并绘制提醒的rΔT的直方图,来分析设置和执行提醒之间的延迟。
图1图示了MCT和MNT中的每个单元中提醒的创建时间P(rCT)和通知时间P(rNT)的先验概率的示例。图1基于576080个提醒的示例数据集。第一绘图110是提醒创建时间的分布,并且右边的绘图120是示例数据集(n=576080)中针对所有提醒的提醒通知时间的分布。在示例数据集中,计划(提醒创建)最常发生在当天晚些时候,而不是在办公时间(上午和中午)。这可能是对用户的可用性的反映。例如,用户在傍晚可能有更多时间与他们的移动设备交互。附加地,一天的结束可以被认为是“结束一天”的自然时间段,例如,向后和向前查看已完成的任务和未来的任务。其他数据集可能显示相似或不同的趋势。所公开的分析数据集的过程不限于图1中所图示的特定趋势。
图1的右边的绘图120示出了关于通知时间的略微不同的模式。在示例数据集中,用户从上午到傍晚全天执行任务(即通知触发)。这可以指示用户更愿意在不同的上下文中(例如,在家中和工作中)全天被提醒任务。这也可以被反映在任务类型分类中,其中任务可以与两种上下文相关。在示例数据集中,工作日触发的通知略多于周末,并且在工作周的开始和结束时触发更多通知。这种观察可能归因于用于提醒创建的相同现象。用户可能倾向于采用对在周中和周末上下文之间切换的活动的提醒。最后,对两个绘图的比较示出了通知时间比创建时间略微更不均匀地分布,例如,用户在深夜创建提醒,此时通知相对不太可能被触发。
接下来,为了确定用户通常预先多久计划,针对提醒创建和通知之间的延迟而分析示例数据集,如图2中所图示的。上部直方图示出了大约五分钟区间的不同尖峰,这可以是由于具有相对时间指示的提醒(例如:“提醒我在五分钟内取出披萨”)。这些区间可能比更模糊的时间范围(例如,“提醒我在下午6:34取出披萨。”)更容易想到。图2中的中间和底部直方图清楚地图示了示例数据集中的大多数提醒具有短的延迟。示例数据集中大约25%的提醒被设置为在同一小时内通知(中间直方图),并且大约80%的提醒被设置为在24小时内通知(底部直方图)。在第二个绘图中在大约8-9小时处有小的峰,这可以通过跨晚上(例如,在一天结束时创建,以在第二天早些时候通知)或跨“工作日”((例如,在上午被创建,在当天结束时通知))的提醒来解释。
总之,对示例数据集的分析表明,平均而言,用户倾向于在傍晚设定计划,并在一天中执行计划。此外,驱动提醒设置的大多数任务往往是针对在接下来的24小时内被执行的短期任务。
接下来分析示例数据集以确定不同任务类型是否以与上述分析中看到的全局模式不同的不同时间模式为特征。为此,使用2484个频繁提醒(例如,唯一的任务描述)的集合来标记示例数据集提醒。这产生了具有被用于分析的任务类型标签的125376个提醒的子集。自动化的个人助理的其他数据集可以具有不同的百分比,并且可以针对用户的给定集合揭示不同的模式。
分析了每任务类型的提醒创建时间的概率分布,即P(rCT|任务类型)。基于对示例数据的这种分析以及针对每种任务类型的结果分布,可以标识两个更广泛的组:按照任务类型,可以主要在上午框和中午框(大致对应于通常的办公时间)创建提醒,或在这些框外部创建提醒。图3示出了两种类型的示例:“活动”提醒和“去某处”提醒往往主要在办公时间被创建,而例如“沟通”提醒和“家务”提醒往往更容易在傍晚被创建。在示例数据中,与活动相关的提醒往往在周末比较频繁。
还可以按照任务类型分析提醒通知时间,即P(rNT|任务类型)。与提醒创建时间一样,在用于该分析的示例数据中观察到类似的模式。观察到两种类型的任务:被设置为在办公时间期间通知的任务,以及在这些时间之外触发的任务。图4图示了这两种类型的任务的示例。“沟通”和“去”属于前一种类型,而“家务”和“管理正在进行的过程”属于后一种类型。任务的性质可以提供对这种区别的见解:前者往往与工作相关的任务(沟通、工作相关的差事)有关,而后者的大多数往往表示在家庭环境中更常见的活动(烹饪、清洁)。
对图5中的沟通任务子类的进一步分析图示了“沟通/一般”和“沟通/协调”的不同之处。“沟通/一般”往往更均匀地分布,而“沟通/协调”往往在办公时间更密集。“一般”子任务也可以在周末触发相对更多的提醒,而“协调”子任务往往更强烈地集中在工作日。示例数据集中的不同模式可以指示这些子类表示不同类型的任务。
对提醒创建和通知之间的提前时间中的差异进行了分析。在图6中图示了关于示例数据的每任务类型的提醒延迟的分布的概况。一般而言,在y轴上箱线图越低,提前时间越短,即,创建提醒和执行任务之间的延迟越短。这可以通过比较例如“管理正在进行的过程”的绘图与“去”或“沟通”任务类型来图示。在示例数据中,执行“管理正在进行的过程”任务看起来计划的提前时间比其他类型的任务短得多。考虑到任务的性质,其中正在进行的过程倾向于表示对过程的密切监控或检查(例如,烹饪或清洁任务),延迟大约是几分钟而不是几小时合乎逻辑。在示例数据中“沟通/协调”具有最大的平均延迟,即,它是人们事先计划最远的任务类型。
如图7中所提供的,对“沟通”子任务之间的差异进行更详细的检查说明了例如“沟通/一般”子任务往往更有可能以较短的提前时间被执行,如在上部直方图中的0小时处的峰值所指示的。“沟通/协调”子任务很可能在第二天被执行,如示例数据中的底部直方图中12小时标记周围的高峰所示。与上面进行的观察非常相似,两个“沟通”子任务之间的模式中的差异指示子类型之间的区别是有意义的。通过定性分析,不仅在语义级别上发现差异,而且还在时间模式中发现差异。
基于以上分析,任务描述可以示出不同的时间模式。例如,包含词语“披萨”的提醒可能会在晚餐时间附近触发。可以利用这些时间模式的存在来进行提醒创建或通知时间预测。在给定项w的情况下,可以计算针对MCT或MNT中的单元的条件概率(参见等式1和等式2)。
图8示出了包含词语“教堂”或“预约”的任务描述的创建时间和通知时间的示例,任务描述的创建时间和通知时间是基于示例数据的。图8中所示的“预约”绘图指示表示办公时间的上午框和中午框周围的强模式。包含“教堂”的提醒在示例数据中也示出了清晰的模式;它们往往主要从周六晚上到周日上午被创建,并且往往被设置成在周日清晨和上午通知。
图9图示了对示例数据集中的包含词语“预约”到“洗衣”的提醒的平均延迟的比较的示例。平均而言,“预约”提醒往往有较长的延迟,这由任务的性质反映(其可能涉及其他个体,并因此需要更多计划),而“洗衣”提醒往往更有可能反映短期任务(这可以单独执行)。因此,可以观察到任务描述词语中的不同时间模式。
可以分析和/或确定提醒创建和通知时间之间的相关性。在给定其创建时间的情况下,可以分析提醒通知时间的概率P(rNT|rCT)。图10图示了在给定其创建时间的情况下,给定提醒通知时间的概率分布的示例。图10中图示的绘图提供了跨不同创建时间的提醒看起来如何相似的示例。例如,提醒往往最有可能在同一单元或下一单元内触发其通知,从而确认了之前对示例数据的观察,即大多数提醒是短期的(即,相同的单元)。随着提醒的创建时间向一天期间的晚些时候移动,提醒往往更有可能被设置成在第二天通知。此外,图10中的“星期五傍晚”的绘图说明了在星期五傍晚创建的提醒如何具有在星期一上午触发其通知的小却重要的概率(即,提醒跨越周末)。这些模式示出了提醒创建和通知时间之间的延迟平均往往较低,但延迟的长度可能与创建时间无关的情况。
上述分析说明了提醒创建和通知时间中的时间模式的四种类型(聚合模式、任务类型相关、基于词语和基于时间)的示例。基于这些观察到的模式,可以确定预测任务。具体地,可以预测任务最可能发生的星期几(即,预测rNT)。
预测提醒被设置成在星期几通知的任务可以被设置为多类分类,其中一周中的每天对应于一类。预测模型的输入可以是提醒的任务描述(rtask)、创建时间(rCT),并且目标类是一周中一天的通知时间(rNT)。可以测量上述分析中的经由基于词语和基于(创建)时间的特征来标识的模式的预测能力。具体地,对于基于词语的特征,可以提取单词特征的一元组,并且基于时间的特征可以对应于RCT的一天中的时间(行)和星期几(列)以及自星期开始以来的分钟。
例如,梯度提升的决策树可以被用于分类。可以采用能够进行大规模学习的其他类似方法。例如,梯度提升决策树可以有效地处理特征空间和异构特征中的非线性。为了解决我们问题的多类性质,可以使用一对多(one versus all)分类策略,其中例如,可以训练7个二元分类器,并且可以输出具有最高置信度的预测作为最终预测。可以将准确性与随机选择一周中的某一天(例如,精确度为1/7≈0.1429)和预测通知将在创建通知的同一天的更具竞争力的基线(基线-同一天)进行比较。
对于示例分析,从自动化的个人助理采样六个月的数据(例如,2015年01月至06月)。根据上述过程过滤所有数据,产生总共1509340个提醒。这些数据按顺序分开:前70%(约2015年01月01日至2015年05月07日)形成训练集,后30%(约2015年05月08日至2015年06月30日)形成测试集。训练集的前两个月被用于上述分析以及用于在整个训练集上重新训练之前的参数调整。
下面描述了在所提出的测试集上的预测表现。具体地,在测试数据上提供了类(分别为宏和微)上的宏观和微观平均精度。比较了三种系统:一种利用基于提醒的创建时间(仅时间)的时间特征、一种利用词语特征(仅词语),以及利用两种类型的特征(完整模型)的模型。使用t-测试来测试统计显著性,将预测模型与基线-同一天进行比较。符号▲和▼表示在α=0.01时统计学上的显著的差异(分别大于基线和差于基线)。
表15示出了测试数据集上的预测任务的结果。预测通知时间与创建时间将是同一天的基线比随机表现好得多(在0.1429)。这指示在测试数据中用户主要设置用以计划短期事件的提醒。“仅时间”模型对基线显著改善,指示提醒创建时间有助于进一步提高预测准确性。如前所述,在深夜计划的任务往往更有可能在不同的天数执行,并且创建时间的使用可以帮助利用这种和更一般的模式。仅使用基于任务描述(即“仅词语”)的特征的模型比随机表现得更好,但没有优于基线。然而,当与时间模型(即,“完整模型”)组合时,在测试数据上观察到相对于“仅时间”模型增加8.2%。从前面对测试数据的分析可以得出结论,即创建时间为预测任务何时执行提供了最多信息,任务描述提供了重要的附加信息(主要在当描述与提醒的创建时间结合使用时)。
表15
运行 错误减少
完整模型 0.6788<sup>▲</sup> 0.6761<sup>▲</sup> +0.3381
仅时间 0.6279<sup>▲</sup> 0.6258<sup>▲</sup> +0.2333
仅词语 0.1777<sup>▼</sup> 0.1772<sup>▼</sup> -0.6944
基线-同一天 0.5147 0.5165
基于以上分析,ITE通常被用于各种用户输入(例如,电子邮件)。此外,ITE的频率倾向于遵循幂律分布,其中最常见的表达比最不常见的表达成指数级地更常出现。因此,自动化的个人助理在解决长尾时间表达上应当有效。可以开发启发式方法来解决最常见的ITE(诸如“下周”、“今天上午”、“今天下午”、“本周末”和“明天上午”)。然而,更复杂的时间表达(例如,一周多一点之后、不迟于明天中午、大约在本周结束时或下周初等)可能在提取ITE时以及针对下游解释和动作方面遇到困难(例如,触发提醒)。所公开的实施方式甚至为这些长尾时间表达提供了预测至少一个时间区间的机制。
如前所指示的,ITE可以表现出时间周期性。例如,“本周晚些时候”可能最常发生在星期一和星期二,而“下周初”可能最常发生在星期五。因此,模型可以考虑用户输入的时间上下文来更好地预测用户输入所指的至少一个时间区间。
通过分析示例数据集中归于ITE的时间来研究这一点。据观察,对ITE的解释基于对ITE考虑的时间而变化。例如,当给定的基准时间在工作周的早期时,短语“下周末”的解释以双峰分布为特征(图19)。在这里,有些人将该短语解释为意指最接近的即将到来的周末,而其他人将该短语解释为意指下周结束的周末。然而,到星期三,大部分的模棱两可消失了。同样地,图20总结了关于“本周晚些时候”的解释所获得的结果。与直觉相符,“本周晚些时候”往往最经常被解释为意指工作周的剩余部分(星期五结束)。该数据还指示,从星期一到星期三,解释的分布在星期五达到峰值。然而,从星期四开始,解释的时间的峰值转移到星期六。可能是示例数据中的用户设置了他们的估计,因为从星期四开始,星期五最自然地被简单地称为“明天”。这些观察到的周期性规则意味着日期和时间可以是用于正确解释ITE的关键上下文。基于星期几,虚拟助理可以在获取作为来自用户的输入的ITE时调整其期望。例如,当用户在星期五说“本周晚些时候”时,根据其过去的出现频率,这是罕见的事件,系统可以通过询问用户真正所指来与用户进行验证。类似地,如果用户在星期一说“下周末”,根据解释模型这非常模棱两可,则系统也可以主动与用户进行验证。
前面的描述提供了如何可以由设备或服务生成和/或消费不精确的时间表达模型的示例。可以基于从自动化的个人助理、电子邮件语料库或任何其他类似类型的数据集获得的日志来生成ITE模型。可以分析日志以确定感兴趣的时间表达并标识不精确的时间表达,诸如在上面的各个表中提供的那些。基于所标识的不精确的时间表达,可以生成概率分布,其指示给定百分比的用户认为不精确的时间表达对应的时间或想要使不精确的时间表达对应的时间。如在图1-图10中提供的示例中可以看出,可以以各种方式表示这些概率分布。此外,可以使用上面没有具体陈述的分类和/或回归分析来修改在给定数据集上训练模型的方式。可以基于特定用户的偏好或特定用户组的偏好来更新模型。例如,如果用户处于大学设定中(例如,由IP地址标识),则模型可以将词语“上午”关联为指代上午11:00而不是上午8:00。可以由客户端设备和/或服务器的处理器执行或计算(例如,等式1-3)被执行以生成ITE模型的过程。稍后关于图15-图16描述处理器和客户端/服务器设备的各种配置。
类似地,特定用户可以指示用户认为词语“上午”是上午9:30。例如,用户可以通过回答呈现一次或多次预测的确认对话来指示特定时间。图17示出了可以向用户显示并且可以接收用户对词语“本周晚些时候或下周初”对用户意味着什么的直接响应的问题的示例。图18A-图18C示出了跨多个用户(例如,一组用户)的聚合响应的示例。图18A示出了对词语“下周初”的响应的示例分布。图18B示出了对词语“下周末”的响应的示例分布。图18C示出了对词语“本周晚些时候”的响应的示例分布。在图18A-图18C中,x轴表示用户对问题(例如,诸如图17中所呈现的问题)的响应的日期,并且y轴表示作出响应的时间。可以看出,例如,对于“下周初”,当用户响应的时间大约是在11日,星期一至16日,星期六时,大多数人认为该短语属于从大约18日,星期一至20日,星期三的时间区间。然而,如果用户响应发生在17日,星期日,则短语“下周初”似乎具有对应于大约18日至20日以及24日至27日的双峰分布。因此,对“下周初”的预测是可以具有基于检测到ITE的文本或话语的时间而变化的一个或多个时间区间的预测的ITE的示例。因此,当系统检测到包含短语“下周初”的话语或文本时,它可以基于话语或文本的时间和ITE模型(例如,在这种情况下,图18A)生成预测。
如前所述,可以基于组或特定用户更新ITE模型。在用户未指示针对特定时间的特定时间区间的情况下,来自其他用户的聚合响应可以被用来生成对应于特定用户输入(例如,“下周末”)的时间区间的预测。即使用户已经指示了时间,系统也可以对特定分布进行加权以反映用户的偏好,而不是返回离散的时间值。无论客户端设备在线还是离线,都可以进行模型的更新,并且可以批量进行或者实时更新(例如,在与因特网或云服务的持久连接的情况下)。例如,更新可以包括可以在用户输入中检测到的附加ITE和/或新的/更新的概率分布。
图11示出了实施方式的示例,其提供了用于向客户端设备(或其他计算机)提供对不精确的时间表达1100的预测的过程。在1110处,可以接收来自客户端设备的用户输入。用户输入可以对应于由客户端设备录入、检测或接收的用户的语音和/或文本输入。例如,用户可以发出诸如“提醒我上午去商店”的命令,或者用户可以创作笔记来安排具有不精确的时间表达的预约(系统可以如本文所公开的那样自动完成)。
可以在用户的输入中检测ITE。例如,客户端设备(例如,膝上型电脑、智能电话、平板电脑、可穿戴设备(诸如智能手表)、服务器等)、自动化的个人助理正在其上操作的设备、和/或服务器可以通过将用户输入与已知时间表达或不精确的时间表达进行比较来识别其中一个ITE。作为另一示例,可以扫描用户输入以获取时间表达(例如,周末、下午等)以检测不精确的时间表达。在一些实例中,可以过滤用户输入以去除与时间表达无关的单词。如前所述,可以从现有数据集(例如,交互日志、电子邮件的语料库等)中标识候选ITE。
在1120处,可以基于ITE模型生成用户输入所指的一个或多个时间区间的预测。用户输入可以包括ITE、上下文文本和/或交互的时间中的至少一个。如上所述,可以在用户输入中检测ITE(例如,“在下星期一之前”,其中词语星期一是可以通过前面的“在下一个之前”变得不精确的时间表达)。类似地,上下文文本可以指缺少特定ITE的短语,诸如短语“修剪草坪”,其通常与周末发生的活动相关联。交互的时间可以指例如图17和图18A-图18C中所示的示例。值得注意的是,用户输入可以具有这些特征的组合,诸如“在下周初修剪草坪”,其可以返回与简单地“修剪草坪”不同的预测。在前已经描述了预测的示例。预测可以由处理器计算和/或存储在客户端设备和/或服务器上的数据库等中。
可以基于如前所述的ITE与一个或多个时间区间和/或分布的初始关联(例如,经由人工生成的启发式方法、众包等)来生成ITE模型。ITE与ITE模型的关联可以指具有预测的时间区间的特定ITE。可以以在前的示例1-示例14中提供的形式计算地表示和/或利用这种关联。可以从现有数据集(例如,交互日志、电子邮件的语料库等)枚举候选ITE。可以利用例如模板匹配过程和/或重构过程来检测ITE。在模板匹配方法中,可以确定用于已知时间实体的集合的常见的前缀或后缀(例如,在诸如“星期一上午之前”的消息中学习“星期一”周围的(多个)词语)。然后,可以利用所发现的前缀/后缀来帮助发现新的时间实体(例如,可以检测“在____上午之前”以获得“在明天上午之前”)。在重构方法中,例如,可以检测到对自动化的个人助理的失效的话语的重构。例如,常规的助手可能无法识别“在万圣节会下雨吗”。用户可以将话语重新表述为“在10月31日会下雨吗?”。两个话语都以“会下雨…”开头,但第二个话语提供了精确的日期,从而允许系统推断10月31日对应于万圣节并且万圣节是时间实体。根据本文所公开的实施方式,可以利用提取和标识不精确的时间表达的其他方法。基于人类生成的启发式方法、众包等,所提取的ITE可以与一个或多个时间区间和/或时间和日期上的分布相关联。例如,可以进行用户调查以确定用户如何解释特定的不精确的时间表达。还可以利用上述技术来确定可以指代没有ITE的事件等的其他短语(例如,“修剪草坪”)。
返回图11,系统可以基于何时可能或将要发生不精确的时间表达的该映射来生成预测(例如,信念)。例如,如图4和图5中所示,当用户输入是运行差事时,基于针对示例模型的概率分布,用户可能表示用户想要在下午执行该差事。系统可以选择特定时间,诸如在对应于该家务的下午1:00到下午3:00之间。模型可以进一步反映类似于图4和图5的基于时间的概率分布来选择该窗口中的离散时间。在一些配置中,用户可能已经向模型提供反馈,该反馈指示用户优选使与“中午”相关联的任务指代下午1:00,在这种情况下,系统可以选择该时间。同样地,可以基于该模型来解析像“下周初”、“本周晚些时候”或“下周末”的其他不精确的时间表达。分布可能基于诸如一天中的时间、当前日、月份等情况的上下文而变化。例如,如果用户向设备指示生成用于下周末的提醒并且当前日是星期六,则系统可以识别出“周末”指星期五下午5:00到星期日下午5:00之间的时间,并且在给定当天的情况下,用户打算在下周末做出提醒。
在1130处,用户输入可以与所生成的预测相关联。例如,如果用户已经请求自动化的个人助理安排下周末的家务,则可以生成针对该家务的提醒,以在预测的时间或接近预测的时间,使该提醒浮现在用户的客户端设备上(例如,通过触觉反馈、视觉或听觉信号警告用户)。例如,如果预测的置信度低,则在环境显示器(诸如智能电话的锁定屏幕或智能手表的表面)上显示预测。预测与用户输入的关联可以指存储时间指示(例如,至少一个区间)以及用户输入(例如,时间和任务)以及关于预测的其他数据(例如,预测的置信度、预测所基于的用户输入的时间/日期),其中时间指示使任务浮现的触发事件。作为另一示例,用户可以在即时消息传送系统或文本消息传送系统上与同事交谈。用户可以传达她希望本周末与同事会面。个人助理可以基于用户和她的同事两人的日历以及系统对不精确的时间表达“周末”的解释来确定为会面选择的适当的时间。
最后,过程1100可以包括在1140处向客户端设备和/或服务器提供预测。提供可以指显示自动完成的选择、时间线、在适当的时间的提醒、预约的安排、时间区间、概率分布和浮现预测的其他机制。如前所述,客户端设备和/或服务器可以将预测提供给利用该预测以用于未立即暴露给用户的服务的其他应用(例如,预测是被提供给调度应用的时间区间)。图12图示了在客户端设备上操作的笔记程序或备忘录程序的示例界面1200。可以看出,文本输入框1210没有录入任何文本。基于一天中的时间、星期几等,系统可以预测用户可能想要使用的不精确的时间表达。选择自动完成1220可以使用户不用键入完整的表达。例如,列表可以在周五时建议“本周末”、在傍晚时建议“明天早些时候”,或在上午时建议“今天晚些时候”,等等。图13是在客户端设备上操作的笔记程序或备忘录程序的示例界面1300,其中文本已经被录入到文本输入框1310中。基于用户的输入,可以相应地更新建议1320。在该示例中,修剪草坪可以被标识为一种“家务”,并且是可能在傍晚或周末完成的事情。因此,图12和图13可以是图11中图示的过程如何提供预测的示例。
在一些实例中,可以向用户呈现一系列预测,并且系统可以生成接收用户输入以确认预测的请求,诸如在图13中那样。在一些实例中,用户可以通过选择不同的时间或对时间预测进行校正来修改预测。系统可以调整初始不精确的时间表达模型以反映特定用户认为不精确的时间表达对应于不同的离散时间或不同的时间范围。例如,可以对概率分布进行加权,使得用户指示的时间是与不精确表达相关联的时间。作为另一示例,可以基于用户认为ITE要对应的内容的指示来对排序的列表进行重新排序。该列表可以在客户端设备的显示器上呈现给用户。可以基于ITE模型将该列表彩色编码,以传达用户在给定时间想要或需要该信息的可能性。所公开的实施方式可以预测在给定信息的紧急性和不确定性的情况下,用户是否/何时可能希望接收信息并且经由适当的装置呈现信息(例如,更新环境显示、发送通知等)。可以以多种方式向用户显示预测,并且不限于在图12-图14中所图示的特定示例。另外,可以以除了本文明确描述的方式之外的各种方式更新ITE模型。
图14是针对在客户端设备上操作的笔记程序或备忘录程序的示例界面1400,其中用户已经在文本输入框1410中录入短语“本周提交专利申请”。词语“本周”可以被检测为不精确的时间表达。可以如在1420处所示的那样提供系统对不精确的时间表达的解释(例如,预测)。例如,预测可以基于“下周”的解释的95%置信区间(上限和下限)。此外,可以将预测自动添加到例如用户的日历和/或任务列表中。因此,可以在适当的时间提供(例如,浮出)预测。在一些实例中,可以在对应于用户输入的时间在客户端设备上向用户显示预测(例如,“在上午”可以在接下来的上午的上午9:00显示)。
图21是根据本文所公开的实施方式的基于从用户输入生成的各种预测来显示任务的经排序的列表的自动化的个人助理的笔记应用或备忘录应用的示例。如前所述,自动化的个人助理可以被编程为识别广泛的ITE。当为图21图示的应用创建事项时,用户可以指定时间段。可以按时间显示与给定时刻相关的事项的简短列表,如图21中所示。例如,用户可以通过在事项的文本(诸如“下班后喝咖啡”)中包括时间表达、通过在常用表达列表中选择(例如,“今天”、“明天”等),或者通过从日历或时间选择器小程序中选择特定日期或时间来指定显示的时间。
用户的反馈可能是隐式的或显式的。例如,在图14中,如果用户手动校正开始和/或结束时间,则可以将其用作训练数据来改进用于“本周”的输入字符串的模型。这种反馈是隐式反馈的示例(例如,采取或不采取校正动作)。可以类似地利用其他形式的隐式反馈来更新ITE模型。图22是可以由用户提供的显式反馈的示例。例如,用户可以点击并按住显示器2200中的事项2210。这可以使对话框2220出现并使得用户能够向系统提供显式反馈。同样可以接收其他形式的显式反馈,例如,点击“竖起的大拇指”、忽略通知、向特定方向滑动通知、姿势等。可以跨多个用户聚合反馈来更新ITE模型。
在实施方式中,系统包括用于存储不精确的时间表达模型的数据库和与其通信地耦合的处理器。下面关于图15和图16更详细地描述数据库和处理器配置。数据库可以指设备的本地存储装置、存储器、服务器或基于云的数据库等。不精确的时间表达模型可以被压缩以适应某些设备(诸如可穿戴设备)中减少的可用的存储的量。例如,处理器可以被配置成执行图11中图示的过程。
公开了包括非瞬态计算机可读介质的实施方式,非瞬态计算机可读介质上存储有计算机可读指令,该计算机可读指令可执行以使一个或多个处理器执行操作。操作可以类似于上面关于图11描述的操作。
当前公开的主题内容的实施例可以在各种组件和网络架构中实施并与其一起使用。图15是适于实施本公开主题内容的实施例的示例计算机20(例如,诸如智能电话、平板电脑、膝上型电脑、个人计算机的电子设备、诸如智能手表的可穿戴设备、服务器等)。如上所述的客户端设备可以是计算机20。计算机20包括总线21,其将计算机20的主要组件互连,主要组件诸如是中央处理器24、存储器27(通常是RAM,但也可以包括只读存储器(“ROM”)、闪存RAM等)、输入/输出控制器28、用户显示器22(诸如经由显示适配器的显示屏)、用户输入接口26(其可以包括一个或多个控制器和相关联的用户输入设备(诸如键盘、鼠标等),并且可以被紧密耦合到I/O控制器28)、固定存储装置23(诸如硬盘驱动器、闪存装置、光纤通道网络、SAN设备、SCSI设备等),以及可移除介质组件25(可操作以控制和接收光盘、闪存驱动器等)。
总线21允许中央处理器24和存储器27之间的数据通信,如前所述,存储器27可以包括ROM或闪存(均未示出)和RAM(未示出)。RAM通常是将操作系统和应用程序加载到其中的主存储器。除了其他代码之外,ROM或闪存可以包含基本输入输出系统(BIOS),其控制诸如与外围组件的交互的基本硬件操作。驻留在计算机20中的应用通常被存储在计算机可读介质上并经由计算机可读介质(诸如硬盘驱动器(例如,固定存储装置23)、光盘驱动器、软盘或其他存储介质25)访问。
固定存储装置23可以与计算机20集成在一起,或者可以分离并且可以通过其他接口访问。网络接口29可以经由电话链路提供到远程服务器的直接连接、经由因特网服务提供商(ISP)提供到因特网的直接连接,或者经由到因特网的直接网络链路(经由POP(存在点)或其他技术)提供到远程服务器的直接连接。网络接口29可以使用无线技术提供这种连接,包括数字蜂窝电话连接、蜂窝数字分组数据(CDPD)连接、数字卫星数据连接等。例如,网络接口29可以允许计算机经由一个或多个本地网络、广域网或其他网络与其他计算机通信。许多其他设备或组件(未示出,例如,数码相机或扬声器)可以以类似的方式连接。相反,不需要存在图15中所示的所有组件来实践本公开。组件可以以与所示不同的方式互连。诸如图15中所示的计算机的操作在本领域中是公知的,并且在本申请中不再详细讨论。用以实施本公开的代码可以被存储在计算机可读存储介质(诸如存储器27、固定存储装置23、可移除介质25中的一个或多个)中,或者存储在远程存储位置上。
图16示出了根据所公开的主题内容的实施例的示例网络布置。诸如本地计算机、智能电话、可穿戴设备、平板计算设备等的一个或多个客户端10、11可以经由一个或多个网络7连接到其他设备。该网络可以是本地网络、广域网、因特网或任何其他合适的通信网络或多个网络,并且可以在包括有线网络和/或无线网络的任何合适的平台上实施。客户端可以与一个或多个服务器13和/或数据库15通信。设备可以由客户端10、11直接可访问,或者一个或多个其他设备可以提供中间访问,诸如服务器13提供对存储在数据库15中的资源的访问。客户端10、11还可以访问远程平台17或由远程平台17提供的服务,诸如云计算布置和服务。远程平台17可以包括一个或多个服务器13和/或数据库15。
更一般地,当前公开的主题内容的各种实施例可以包括计算机实施的过程和用于实践那些过程的装置或被实施成其形式。实施例还可以被实施成计算机程序产品的形式,该计算机程序产品具有包含在非瞬态和/或有形介质(诸如软盘、CD-ROM、硬盘驱动器、USB(通用串行总线)驱动器,或者任何其他机器可读存储介质)中实施的指令的计算机程序代码,其中当计算机程序代码被加载到计算机中并由计算机执行时,该计算机变成用于实践所公开的主题内容的实施例的装置。实施例还可以被实施成计算机程序代码的形式,例如,无论是存储在存储介质中、加载到计算机中和/或由计算机执行,还是在一些传输介质(诸如在电线或电缆上、通过光纤光学器件,或经由电磁辐射)上传输,其中当计算机程序代码被加载到计算机中并由计算机执行时,计算机变成用于实践所公开的主题内容的实施例的装置。
当在通用微处理器上实施时,计算机程序代码段将微处理器配置成创建特定的逻辑电路。在一些配置中,存储在计算机可读存储介质上的计算机可读指令的集合可以由通用处理器实施,该计算机可读指令的集合可以将通用处理器或包含通用处理器的设备变换为被配置成实施或执行指令的专用设备。可以使用可以包括处理器的硬件来实施实施例,处理器诸如是以硬件和/或固件的方式实施根据所公开的主题内容的实施例的全部或部分技术的通用微处理器和/或专用集成电路(ASIC)。处理器可以被耦合到存储器(诸如RAM、ROM、闪存、硬盘或能够存储电子信息的任何其他设备)。存储器可以存储适于由处理器执行以执行根据所公开的主题内容的实施例的技术的指令。
出于解释的目的,已经参考特定实施例描述了前述描述。然而,以上说明性讨论并非旨在穷举或将所公开的主题内容的实施例限于所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择和描述实施例是为了解释所公开的主题内容的实施例的原理及其实际应用,从而使得本领域技术人员能够利用那些实施例和具有各种修改的各种实施例(如可能适于预期的特定用途)。

Claims (15)

1.一种系统,包括:
数据库,用于存储不精确的时间表达模型;
处理器,被通信地耦合到所述数据库,并且被配置成:
从客户端设备接收用户输入;
基于所述数据库中的所述不精确的时间表达模型生成所述用户输入所指的一个或多个时间区间的预测,其中所述用户输入包括不精确的时间元素、上下文文本和交互的时间中的至少一个;
将所述用户输入与所述预测相关联;以及
向所述客户端设备提供所述预测。
2.根据权利要求1所述的系统,所述处理器还被配置成在与所述用户输入相对应的时间在所述客户端设备上显示所述预测。
3.根据权利要求1所述的系统,所述处理器还被配置成:
向所述客户端设备呈现所述预测;以及
生成接收用户输入以确认所述预测的请求。
4.根据权利要求3所述的系统,所述处理器还被配置成:
接收修改所述预测的指示;以及
基于所述指示更新所述数据库中的所述不精确的时间表达模型。
5.根据权利要求1所述的系统,其中所述预测以从由以下各项组成的组中被选择的方式被提供给所述客户端设备:提醒、通知、文本的自动完成、时间线、任务列表、日历安排、时间区间、经排序的时间区间列表和概率分布。
6.根据权利要求1所述的系统,所述处理器还被配置成生成所述不精确的时间表达模型。
7.根据权利要求1所述的系统,所述处理器还被配置成检测所述用户输入中的不精确的时间表达。
8.一种方法,包括:
从客户端设备接收用户输入;
基于不精确的时间表达模型生成所述用户输入所指的一个或多个时间区间的预测,其中所述用户输入包括不精确的时间元素、上下文文本和交互的时间中的至少一个;
将所述用户输入与所述预测相关联;以及
向所述客户端设备提供所述预测。
9.根据权利要求8所述的方法,还包括在与所述用户输入相对应的时间在所述客户端设备上显示所述预测。
10.根据权利要求8所述的方法,还包括:
向所述客户端设备呈现所述预测;以及
生成接收用户输入以确认所述预测的请求。
11.根据权利要求10所述的方法,还包括:
接收修改所述预测的指示;以及
基于所述指示更新所述数据库中的所述不精确的时间表达模型。
12.根据权利要求8所述的方法,其中所述预测以从由以下各项组成的组中被选择的方式被提供给所述客户端设备:提醒、通知、文本的自动完成、时间线、任务列表、日历安排、时间区间、经排序的时间区间列表和概率分布。
13.根据权利要求8所述的方法,还包括生成所述不精确的时间表达模型。
14.根据权利要求8所述的方法,还包括检测所述用户输入中的所述不精确的时间元素。
15.一种计算机可读存储器,其上存储有可执行以使一个或多个处理器执行操作的计算机可读指令,所述操作包括:
从客户端设备接收用户输入;
基于不精确的时间表达模型生成所述用户输入所指的一个或多个时间区间的预测,其中所述用户输入包括不精确的时间元素、上下文文本和交互的时间中的至少一个;
将所述用户输入与所述预测相关联;以及
向所述客户端设备提供所述预测。
CN201780074271.3A 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统 Active CN110036360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210313696.8A CN114648308A (zh) 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/368,314 US10719757B2 (en) 2016-12-02 2016-12-02 System for interpreting and managing imprecise temporal expressions
US15/368,314 2016-12-02
PCT/US2017/063213 WO2018102236A1 (en) 2016-12-02 2017-11-27 System for interpreting and managing imprecise temporal expressions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210313696.8A Division CN114648308A (zh) 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统

Publications (2)

Publication Number Publication Date
CN110036360A true CN110036360A (zh) 2019-07-19
CN110036360B CN110036360B (zh) 2022-04-15

Family

ID=60629837

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201780074271.3A Active CN110036360B (zh) 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统
CN202210313696.8A Pending CN114648308A (zh) 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210313696.8A Pending CN114648308A (zh) 2016-12-02 2017-11-27 用于解释和管理不精确的时间表达的系统

Country Status (4)

Country Link
US (2) US10719757B2 (zh)
EP (1) EP3549033B1 (zh)
CN (2) CN110036360B (zh)
WO (1) WO2018102236A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394954B2 (en) * 2017-02-27 2019-08-27 Intel Corporation Natural language intent and location determination method and apparatus
US11082456B2 (en) * 2017-08-17 2021-08-03 Avctechnologies Usa Inc. Automated agent for a web communication feature
WO2019054988A1 (en) * 2017-09-12 2019-03-21 Google Llc SYSTEMS AND METHODS FOR HANDS-FREE COMMUNICATION REQUESTED BY AN ASSISANT
US20220155926A1 (en) * 2019-11-13 2022-05-19 Walmart Apollo, Llc Personalizing user interface displays in real-time
US11687802B2 (en) * 2019-11-13 2023-06-27 Walmart Apollo, Llc Systems and methods for proactively predicting user intents in personal agents
US11900061B2 (en) * 2021-04-14 2024-02-13 Microsoft Technology Licensing, Llc Intelligent interpretation of temporal expressions
US11630710B2 (en) * 2021-07-22 2023-04-18 Rovi Guides, Inc. Systems and methods to improve notifications with temporal content
US11803699B1 (en) 2022-06-20 2023-10-31 International Business Machines Corporation Annotating a message body with time expressions

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025513A2 (fr) * 2000-09-25 2002-03-28 David Trechnievski Assistant personnel electronique intelligent
US20090235280A1 (en) * 2008-03-12 2009-09-17 Xerox Corporation Event extraction system for electronic messages
US20120192096A1 (en) * 2011-01-25 2012-07-26 Research In Motion Limited Active command line driven user interface
US20120271676A1 (en) * 2011-04-25 2012-10-25 Murali Aravamudan System and method for an intelligent personal timeline assistant
WO2013155619A1 (en) * 2012-04-20 2013-10-24 Sam Pasupalak Conversational agent
US20130278492A1 (en) * 2011-01-25 2013-10-24 Damien Phelan Stolarz Distributed, predictive, dichotomous decision engine for an electronic personal assistant
US20140006328A1 (en) * 2012-06-29 2014-01-02 Yahoo! Inc. Method or system for ranking related news predictions
CN103702401A (zh) * 2013-12-17 2014-04-02 无锡清华信息科学与技术国家实验室物联网技术中心 基于用户行为分析的移动网络节能方法
US20160132590A1 (en) * 2014-11-12 2016-05-12 International Business Machines Corporation Answering Questions Via a Persona-Based Natural Language Processing (NLP) System
US20160342886A1 (en) * 2015-05-22 2016-11-24 International Business Machines Corporation Cognitive Reminder Notification Mechanisms for Answers to Questions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298700B1 (en) 2009-07-28 2016-03-29 Amazon Technologies, Inc. Determining similar phrases
WO2011146946A2 (en) 2010-05-21 2011-11-24 Live Matrix, Inc. Interactive calendar of scheduled web-based events and temporal indices of the web that associate index elements with metadata
US8812298B1 (en) 2010-07-28 2014-08-19 Wolfram Alpha Llc Macro replacement of natural language input
US9418124B2 (en) 2013-12-16 2016-08-16 International Business Machines Corporation System and method of integrating time-aware data from multiple sources
US9767091B2 (en) 2015-01-23 2017-09-19 Microsoft Technology Licensing, Llc Methods for understanding incomplete natural language query

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025513A2 (fr) * 2000-09-25 2002-03-28 David Trechnievski Assistant personnel electronique intelligent
US20090235280A1 (en) * 2008-03-12 2009-09-17 Xerox Corporation Event extraction system for electronic messages
US20120192096A1 (en) * 2011-01-25 2012-07-26 Research In Motion Limited Active command line driven user interface
US20130278492A1 (en) * 2011-01-25 2013-10-24 Damien Phelan Stolarz Distributed, predictive, dichotomous decision engine for an electronic personal assistant
US20120271676A1 (en) * 2011-04-25 2012-10-25 Murali Aravamudan System and method for an intelligent personal timeline assistant
WO2013155619A1 (en) * 2012-04-20 2013-10-24 Sam Pasupalak Conversational agent
US20140006328A1 (en) * 2012-06-29 2014-01-02 Yahoo! Inc. Method or system for ranking related news predictions
CN103702401A (zh) * 2013-12-17 2014-04-02 无锡清华信息科学与技术国家实验室物联网技术中心 基于用户行为分析的移动网络节能方法
US20160132590A1 (en) * 2014-11-12 2016-05-12 International Business Machines Corporation Answering Questions Via a Persona-Based Natural Language Processing (NLP) System
US20160342886A1 (en) * 2015-05-22 2016-11-24 International Business Machines Corporation Cognitive Reminder Notification Mechanisms for Answers to Questions

Also Published As

Publication number Publication date
CN114648308A (zh) 2022-06-21
US20200302264A1 (en) 2020-09-24
CN110036360B (zh) 2022-04-15
US20180157958A1 (en) 2018-06-07
US11562199B2 (en) 2023-01-24
US10719757B2 (en) 2020-07-21
EP3549033A1 (en) 2019-10-09
EP3549033B1 (en) 2020-10-21
WO2018102236A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
CN110036360A (zh) 用于解释和管理不精确的时间表达的系统
CN108781175B (zh) 用于消息交换题绪的自动建议的方法、介质及系统
US11113672B2 (en) Computer support for meetings
US11144883B2 (en) Intelligent scheduling of events
US11064044B2 (en) Intent-based scheduling via digital personal assistant
US10417567B1 (en) Learning user preferences in a conversational system
WO2020005648A1 (en) Meeting preparation manager
CN112905773A (zh) 多用户消息交互话题中提供用于与自动化助理交互的建议
US20130304924A1 (en) System and Method for Predicting Meeting Subjects, Logistics, and Resources
WO2017184468A1 (en) Meeting scheduling resource efficiency
CN109804395A (zh) 具有会议时间和位置优化的会议服务
CN1598817A (zh) 计算及通讯应用中构造使用重大事件的模型的系统及方法
CA2828618A1 (en) Systems and methods for message collection
JP7471371B2 (ja) アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択
US20230262016A1 (en) Methods and systems for generating a virtual assistant in a messaging user interface
CN109918574A (zh) 项目推荐方法、装置、设备及存储介质
WO2023034949A1 (en) Systems and methods for dynamic chat streams
CA3221419A1 (en) Messaging system and method for providing management views
CN114041145A (zh) 用于生成和提供建议动作的系统和方法
US20150066949A1 (en) Computerized systems and methods for social networking
CN112335205B (zh) 确定一组用户的活动实例集合的方法、设备和存储介质
US20230105185A1 (en) Computing system for over time analytics using graph intelligence
Rosenthal et al. Efficient radiology: How to optimize radiology operations
WO2015195128A1 (en) Value-based organization
CN118134445A (zh) 一种基于智能终端的事项管理方法及装置

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