CN111557006B - 用于抽取关于内联注释的知识的混合智能方法 - Google Patents

用于抽取关于内联注释的知识的混合智能方法 Download PDF

Info

Publication number
CN111557006B
CN111557006B CN201880085385.2A CN201880085385A CN111557006B CN 111557006 B CN111557006 B CN 111557006B CN 201880085385 A CN201880085385 A CN 201880085385A CN 111557006 B CN111557006 B CN 111557006B
Authority
CN
China
Prior art keywords
request
inline
response
content
agents
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880085385.2A
Other languages
English (en)
Other versions
CN111557006A (zh
Inventor
B·S·J·科尔迈耶
L·C·瓦尔加斯赫林
M·J·恩卡纳西翁
P·潘特尔
J·B·蒂万
V·波兹南斯基
W·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
Publication of CN111557006A publication Critical patent/CN111557006A/zh
Application granted granted Critical
Publication of CN111557006B publication Critical patent/CN111557006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • 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/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
    • G06Q10/063114Status monitoring or status determination for a person or group
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)

Abstract

内容创建应用程序可以包括:接收文档中的内联注释,并将内联注释的内容以及与该内联注释的作者相关联的用户标识符传送给智能服务的功能。智能服务可以根据内联注释的内容,识别一个或多个代理和请求,所识别的一个或多个代理是作者、一个或多个人员代理、一个或多个bot代理或者其组合。基于所识别的代理(或缺少代理),智能服务可以生成针对所述一个或多个代理中的每个代理的消息,并通过通信信道将该消息传送给所述一个或多个代理中的每个代理。人员代理或作者可以使用适当的通信应用程序来接收消息并查看消息,而无需访问原始文档。

Description

用于抽取关于内联注释的知识的混合智能方法
背景技术
内容创建应用程序是用户可以在其中创建数字形式的基于文本和/或基于图像的内容的软件应用程序。一些内容创建应用程序支持协作。在大多数情况下,内容创建应用程序包括用于创作新内容和编辑现有内容的工具。内容创建应用程序的例子包括但不限于:诸如MICROSOFT ONENOTE和EVERNOTE之类的笔记记录应用程序、诸如GOOGLE JAMBOARD和MICROSOFT Whiteboard之类的自由形式数字画布(freeform digital canvas)、诸如MICROSOFT WORD、GOOGLE DOCS和COREL WORDPERFECT之类的文字处理应用程序、诸如MICROSOFT POWERPOINT和PREZI之类的演示应用程序、以及各种生产力、计算机辅助设计、博客与照片和设计软件。
为了在文字处理和其它内容创建应用程序中编写时保留其故事的流(flow),用户经常为自己和其他人留下内联注释。用户可能为自己留下注释,但需要对其进行提醒。用户可能会为其他人留下注释,但必须让这些人知道存在问题,并且经常必须跟进以获得响应并询问其进度。当用户想要对其注释进行响应时,他们需要返回到应用程序的画布以查看请求。
发明内容
描述了一种用于抽取关于内联注释的知识的混合智能方法。所描述的系统和技术为在文档的内容中进行填充提供了智能支持,其中以某种方式标记该文档以便以后进行填充。抽取关于内联注释的知识的方法利用bot框架和人员或bot代理(其包括内联注释的作者),来代表文档中的用户请求响应,并提供这些响应以直接插入具有内联注释的文档中,而无需代理访问文档本身。
内容创建应用程序可以包括以下功能:接收文档中的内联注释;一旦内联注释完成或者在任何其它适当的时间,内容创建应用程序就可以将内联注释的内容以及与内联注释的作者相关联的用户标识符传送给智能服务。智能服务可以根据内联注释的内容以及(可选地)根据文档和/或用户上下文来识别一个或多个代理和请求,所识别的一个或多个代理是作者、一个或多个人员代理、一个或多个bot代理、或它们的组合。一些bot代理可以用于与用户的社区进行交互(例如,提供众包或零工(gig)经济内容)。基于所识别的代理(或缺少代理),智能服务可以生成针对所述一个或多个代理中的每个代理的消息,并通过通信信道将该消息传送给所述一个或多个代理中的每个代理。该消息包括来自内联注释的作者的请求。在一些情况下,可以检查存储资源以确定是否存在可以满足查询的响应。在已经存在响应的情况下,智能服务可以忽略生成和传送消息,或者仍然可以生成和传送消息,但可以将响应提供给内联注释的作者。在一些情况下,可以使用存储资源中的信息来协助响应代理提供其它上下文或建议响应,以便响应代理构造响应。
人员或bot代理或作者可以接收该消息,并且使用适当的通信应用程序、内联注释功能、或者框架(例如,bot框架)来查看该消息。该消息可以包括输入字段、命令、和/或链接,以使人员代理能够输入针对请求的响应。bot代理可以通过针对该bot的合适接口来接收该消息。
智能服务从所述一个或多个代理的对应代理接收响应,并将响应与对应代理和请求相关联地存储在存储资源中。如上所述,可以在后续请求期间访问该存储资源,以确定是否已经存在满足查询条件的响应。存储在存储资源中的响应信息还可以用于帮助识别适当的消息代理。
内容创建应用程序可以自动地从智能服务接收响应,或者请求从智能服务接收响应,并且可以将响应插入与相应的内联注释绑定的文档中。
提供该概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是旨在用于限制本发明的保护范围。
附图说明
图1说明了用于抽取关于内联注释的知识的混合智能方法的示例性操作环境。
图2A和图2B示出了用于抽取关于内联注释的知识的混合智能方法的示例性过程。
图3示出了智能服务的示例代理中介方逻辑。
图4A-4C示出了用户从内容创建应用程序中抽取关于内联注释的知识的示例性场景。
图5A-5D示出了来自通信应用程序内的代理响应的示例性场景。
图6A和图6B示出了将结果返回给内容创建应用程序的示例性场景。
图7示出了可以在本文所描述的某些实施例中使用的计算设备的组件。
图8示出了可以在本文所描述的某些实施例中使用的计算系统的组件。
图9示出了示例性bot框架环境。
具体实施方式
描述了一种用于抽取关于内联注释的知识的混合智能方法。该混合智能也称为混合增强智能,是指人与机器智能的组合,其中人与机器智能都用于解决问题。混合智能可以用于训练人工智能。所描述的系统和技术提供了在文档的内容中进行填充的智能支持,其中以某种方式标记该文档以便稍后进行填充。通过这种方式,智能特征提供辅助内容创作。
用于抽取关于内联注释的知识的混合智能方法利用包括内联注释的作者在内的人和bot代理两者,来代表文档中的用户请求进行响应,并提供这些响应以直接插入具有内联注释的文档中。
bot代理或“bot”是与用户进行交互的服务(用于应用程序)的术语。对话界面通常称为“chatbot”,并且在一些情况下,可以认为诸如微软CORTANA、苹果SIRI、三星BIXBY、亚马逊ALEXA和GOOGLE ASSISTANT之类的虚拟/数字助理是chatbot或bot的一种形式。Bot可以使用文本、卡片、语音甚至图像与用户进行交流或交互。Bot可以具有不同程度的复杂性,从针对响应的简单模式匹配到与现有服务的复杂集成,从而提供业务逻辑、自然语言理解、以及其它服务。
内联注释是针对要出现的内容的占位符(placeholder),并且不仅仅是需要人工提醒以进行审查和填写的“自我注释”,所描述的系统和技术利用智能对这一领域进行了补充。内联注释主题在文档中提供了一个占位符,其不仅可以从文档内部进行填充,而且还可以经由移动应用进行填充。此外,内联注释主题可以支持向内联注释的作者以外的其他人、以及能够填充内联注释的机器智能进行委派。
有利的是,可以将用于在画布或移动设备上从其他用户处获取内容和动作的简单的触发机制以及任务功能,与文字处理和其它内容创建应用程序集成在一起。用户不仅可以获得使用文档的帮助(而无需实际共享文档本身),而且用户可以在无需直接进入文档来了解文档(或文档可能包含的其它内容)的情况下,为他人的文档做出贡献。实际上,接收针对响应的请求的用户可以不访问该文档,甚至为该请求提供上下文。
图1示出了用于抽取关于内联注释的知识的混合智能方法的示例性操作环境。图2A和图2B示出了用于抽取关于内联注释的知识的混合智能方法的示例过程。操作环境100显示了用于说明混合智能方法的各个方面(其提供辅助的内容创作)的服务体系结构和某些相关的操作场景。该服务体系结构包括应用程序平台101和服务平台111。在应用程序平台101的上下文中执行本地应用程序102,而智能服务112由服务平台111托管并在其上下文内运行。
在一些情况下,可以认为本地应用程序102远离智能服务112,这是因为它们各自在单独的计算平台上实现。在这种情况下,本地应用程序102和智能服务112可以通过以下方式进行通信:通过适当的一个或多个通信链路(没有示出),在应用程序平台101和服务平台111之间交换数据和信息。在其它情况下,本地应用程序102和智能服务112提供的特征和功能可以是同处一地的,或者甚至集成为单个应用程序。
应用程序平台101代表能够托管本地应用程序102(并且能够采用参照图2A和图2B所描述的过程200)的任何物理或虚拟计算系统、设备或者其集合)。示例包括但不限于智能手机、膝上型计算机、平板计算机、桌上型计算机、混合型计算机、游戏机、智能电视、娱乐装置、互联网设备、虚拟机、可穿戴计算机(例如,手表、眼镜)以及其任何变体或组合,图7中所示的计算设备700就是代表。
本地应用程序102表示能够实现智能内联注释功能的任何软件应用程序、模块、组件或者其集合。可以提供智能内联注释功能的应用程序示例包括但不限于笔记记录应用程序、自由形式的数字画布、文字处理应用程序、电子表格应用程序、演示应用程序、博客和微博应用程序、社交网络应用程序、游戏应用程序。
本地应用程序102可以是在浏览器应用程序的上下文中执行的基于浏览器的应用程序。在一些实现中,本地应用程序102可以在网页、网站、web服务等等的上下文中或者与之相关联地执行。但是,本地应用程序102也可以是本地安装并执行的应用程序、流应用程序、移动应用程序或者其任何组合或变型。本地应用程序102可以实现为独立应用程序,或者可以分布在多个应用中。
服务平台111表示能够托管智能服务112的全部或者一部分并实现参照图2A和图2B描述的过程210的全部或部分的任何物理或虚拟计算系统、设备或者其集合。服务平台111的例子包括但不限于智能手机、膝上型计算机、平板计算机、台式计算机、混合计算机、游戏机、智能电视、娱乐设备、互联网设备、虚拟机、可穿戴计算机(例如,手表、眼镜)、以及其任何变体或组合,图7中所示的计算设备700就是代表。服务平台111的其它示例包括但不限于Web服务器、应用程序服务器、机架服务器、刀片服务器、虚拟机服务器或者塔式服务器以及任何其它类型的计算系统,其中图8的计算系统800就是代表。在一些场景中,可以在数据中心、虚拟数据中心或者某些其它适当的设施中实现服务平台111。
智能服务112是能够向本地应用程序102提供智能服务并与代理进行通信的任何软件应用程序、模块、组件或者其集合。服务112可以包括多个REST端点,从而提供应用程序接口(API)。例如,服务112可以包括用于接收内联注释以及与内联注释的作者相关联的用户标识符的内联注释API,以执行辅助内容创作。在一些情况下,可以通过内联注释API来传送上下文(例如,文档和/或用户信息)。此外,可以支持响应API和转发API,以实现对通过各种通信信道发送的消息的直接反馈。此外,服务112可以包括诸如以下的API:用于请求和接收关于针对特定文档或用户标识符的请求的未完成响应的状态信息的文档状态API,和/或用于请求和接收关于针对特定用户的未完成请求的信息的用户状态API。文档状态API和用户状态API的示例性用法包括:例如,任务应用程序(如,WUNDER LIST或TR ELLO)调用用户状态API以获得该用户的通知信息(例如,未完成请求),或者调用文档状态API以获得特定文档的答复者和未答复者的状态。
API通常是一组编程指令和标准,其用于使两个或更多应用程序能够彼此通信,并且通常实现为一组超文本传输协议(HTTP)请求消息以及根据EST(表示状态传输)或SOAP(简单对象访问协议)体系结构的针对响应消息的指定格式或结构。
在操作中,本地应用程序102可以在用户界面120中呈现(render)文档110。可以将用户能够查看并与之交互以创建和编辑内容的文档的一部分视为“画布”。文档110可以本地存储、存储在“云”上、存储在企业服务器上、或者其组合方式。在一些情况下,文档110可能不会永久保存在任何地方。在首次创建文档110时,其最初可能是空白的。在一些情况下,文档110包含用户已经创作过的内容。应用程序102的智能内联注释功能可以接收已在文档110中输入了隐式代理请求或显式代理请求(例如,“@<代理>:请求”)的内联注释130,并且可以例如通过API(例如,智能服务112的内联注释API)将代理请求传送给智能服务112。
在画布上工作时,存在一些用于标注其他人的机制。例如,“@mentions”可以用于电子邮件、便笺和评论,以将评论指引给特定的人。这些@mentions有助于生成围绕一个话题的会话。有利地,内联注释和智能服务主题可以利用这种已知的触发文本以及其它术语(例如,“注释”、“待办”、“自我注释”)来识别指定的或未指定的代理(人员或bot)。
API通信131可以包括一个或多个指定代理(人员或bot)、请求、以及发送方信息(例如,作者的用户标识符、以及可选的文档信息或标识符和/或应用程序标识符)。也可以另外地或替代地传送其它信息。应当理解的是,虽然使用术语“文档”,但文档110可以表示适合于内容创作的任何文件格式/类型。
更详细地,转到图2A,可以由应用程序102执行过程200。例如,内容创建应用程序102可以接收(202)文档110中的内容;并且接收(204)文档110中的内联注释130。可以显式地或隐式地接收该内联注释。
例如,当接收到指示内联注释的内容的触发时,可以在文档中显式地接收内联注释。该触发可以包括一个或多个指定的字符、符号、手势或者其组合。例如,该触发可以包括“@”符号。在一些情况下,该触发包括一系列字符,例如,单括号或双括号后跟一个“@”符号。在一些情况下,当使用某些术语或短语时,可以检测到内联注释触发,可以将这些术语或短语视作被归类为固有触发项的内容。可以被归类为固有触发项的术语包括但不限于:自我注释、询问、或者插入。在一些情况下,这些术语可以基于用户的偏好和/或随时间的学习而改变或更新。可以使用经过训练以检测特定用户的内联注释行为的个性化机器学习算法来识别定义固有触发项的行为。
除了识别触发词、符号和字符之外,还可以通过显式命令来触发内联注释以插入内联注释。在一些情况下,可以通过用于接收自然语言意向语句的接口来接收内联注释命令(例如,可以通过TellMe服务使用,在MICROSOFT OFFICE中发现的一个例子标记为“告诉我您想要做什么”)。在各种实现中,应用程序可以监测适当的内容或命令。此外,该应用程序还可以例如通过突出显示或其它特殊格式,向用户发信号以告知该内容是内联注释的一部分。参照图4A-4C描述了涉及检测内联注释的示例性场景。
在接收到内联注释之后,并且在一些情况下,在用户退出内联注释(例如,完成注释)之后,应用程序102可以将内联注释(例如,作为API通信131)传送给智能服务112。通信(例如131)可以包括内联注释的作者的内容和用户标识符(以及可选的文档和/或用户上下文)。应当理解的是,替代文本或除了文本之外,注释的内容可以包括图像、URL和其它内容。该内容可以包括定向请求,该请求可以指定一个或多个代理,或者以其它方式提供足够的信息以标识适当的代理(例如,“我需要合法的人来审视”或“获取临时工来对其进行填写”或者“向bot询问图像”)。在一些情况下,这些请求可能是未定向的,仅包含请求(例如,“获取有关Lamassu的信息”)。如上所述,在请求中也可以包含其它信息。
在一些实现中,将内联注释的内容以及与内联注释的作者相关联的用户标识符传送给智能服务包括:以一种格式将该内容和用户标识符发送给智能服务的API,该格式包括代理名称(或足以识别代理的信息)、请求、以及发送方,代理名称和请求是来自内联注释的内容并且发送方是用户标识符。
用于API调用的时间可以取决于具体的实现。例如,在一些情况下,对多个请求进行批处理,以便在检测到一定数量的内联注释之后或者在经过一定时间(例如,以异步方式)之后,将内联注释传送给智能服务。可以在大型语料库上,对所述多个请求进行批处理。
当执行智能功能时,可以继续在文档中接收(208)用户创作的内容。
可以通过接收(212)内容和用户标识符(例如,通信131)来在智能服务112处执行过程210。该服务通过例如代理中介方(agent broker)逻辑,可以从内联注释(及其提供的任何上下文)的内容中识别(214)代理和请求。在图3中示出了该逻辑的示例性实现。所识别的一个或多个代理可以是作者、一个或多个人员代理、一个或多个bot代理或者它们的组合。可以指定、推断、建议人员代理和bot代理,或者其是零工经济的成员。
“零工经济”通常是指依赖于按需或独立承包商社区的商业模式。在该上下文中,零工是通常通过数字市场雇用工人来按需工作的项目或任务。促进零工经济的平台是那些将独立工作人员与组织或特定项目进行短期合作的平台。这些平台使得从众多人群中采购产品和服务成为可能。示例性零工经济平台包括ConstantContent和Moravia。
所述服务可以例如通过以下方式来识别代理:通过执行对指定代理的联系信息的查找;通过分析请求和/或文档的上下文;或者通过确定内联注释是自我注释并且代理是作者。
所述服务处的逻辑可以确定(215)是否已经存在针对该请求的响应(例如,通过搜索存储代理和应答信息的存储资源135)。如果响应已经存在,例如由于先前的请求和响应(其可能来自相同的已识别代理),则可以将该响应传送(216)或以其它方式指示为可用于内容创建应用程序102。
如果还不存在响应,则可以针对代理,生成(218)具有请求的消息。在一些情况下,存储资源135中可能存在与该请求有关的响应或内容。可以使用该相关信息,来为作者或代理提供额外的上下文。例如,可以生成一条消息,其中包含来自先前交互的有助于代理更好、更快地进行响应的信息。除了来自先前交互的信息之外,与其他人的交互以及来自文档本身的信息或元数据可以直接提供给代理,也可以由智能服务用于识别潜在的相关响应或内容,然后将其与请求一起提供给代理。该另外信息的形式可以是建议的潜在的应答。
参照图1和图2A,可以通过通信服务器140,将生成的消息139传送(220)给代理,其中通信服务器140接收消息并将其路由(222)到代理。通信服务器140可以与任何适当的通信信道相关联,例如,该通信信道支持文本消息、电子邮件(例如,作为SMTP服务器)、即时通消息(例如,APPLE iMessage、WeChat、VIBER、SKYPE即时通消息、FACEBOOK Messenger)、群组聊天消息(例如,MICROSOFT Teams)或群组频道会话(例如,SLACK),作为非限制性示例。
代理可以经由通信应用145接收带有请求的消息,在通信应用145中,针对人工代理150执行处理230。除了与上面所提及的通信信道相关联的通信应用之外,可以使用其它平台和应用(例如,众包和/或零工钱经济平台、或者笔记记录应用程序、任务应用程序或其它生产力应用程序)来接收和/或显示人工代理的消息。实际上,可以由包含内联注释功能的应用程序访问该消息,以便用户与他们自己进行交流(可以支持人与人之间的通信,也可以不支持)。例如,具有内联注释功能的应用程序可以包括拉取(或接收)一个人的内联注释,并将这些注释以个人馈送提供给用户的移动应用程序。这些应用程序可以使用户能够访问和寻址他们自己的注释,并且在一些情况下,还可以访问和寻址其他人分配给他们的注释。应当理解的是,内联注释功能可以被配置为独立的应用程序、小部件、或者与其它应用程序集成在一起。
当将消息传送给bot代理时,可以通过适当的bot框架来传送该消息和响应。本文更详细描述的图9示出了一种示例性bot框架环境。在一些情况下,可以将该消息传送给可以认为是“bot”或者不认为是“bot”的其它服务,例如包括人工组件的服务(例如,其中bot充当两个人之间通信的中介,其包括实时聊天支持)和/或执行更复杂任务的服务(例如,完整的申请)。
应当注意的是,在已经存在响应的情况下,智能服务可以省略生成(218)和传送(220)消息,或者仍然可以生成(218)和传送(220)消息,但是同时向内联注释的作者提供响应。在一些情况下,可以使用存储资源中的信息,来协助响应代理提供其它上下文或者建议响应,以便响应代理构造响应。实际上,在某些情况下,系统可以从文档中提取信息或元数据,并在消息中提供该另外的信息作为响应代理的支持信息。在其它情况下,系统可以使用存储在存储资源中的信息向响应代理建议潜在的应答。
参照图2A,过程230可以包括:经由在计算设备(例如,参照图7所描述的设备700)上执行的通信应用145,显示(234)具有请求的消息。该消息可以包括用于针对特定文档、命令或链接的直接响应(例如,用于响应和/或将消息转发给另一个人或bot(参见图5A-5D中所示的示例场景))的字段。响应于接收到(236)响应的选择(例如,通过与字段的交互或者单击响应命令),可以执行交互字段(238)。该交互字段可以在新窗口中、在显示的消息内的窗口中、或者在窗格中(举一些例子)打开。用户可以将其响应输入到交互字段中。可以接收(240)针对答复的命令,以便使响应传送(242)到智能服务112。如上所述,智能服务可能已经提供了超出请求文本之外的其它信息,并且,在一些情况下,智能服务可以包括建议的应答,其可以由消息的接收者选择和/或详细说明。
返回到过程210,智能服务112可以接收(244)来自例如经由消息的交互字段发送的代理(例如,150)的响应。当然,在一些情况下,代替用于发起代理与智能服务之间的通信的链接或命令,来自代理的响应可以是经由通信应用程序(和相应的通信服务器)进行,从而智能服务112通过电子邮件、即时通消息等等接收消息。
智能服务例如在存储设备135中存储(246)与请求相关联的响应。可以通过拉取或推送机制,将响应传送(248)到内容创建应用程序102。应当理解的是,响应的内容可以除了文字之外,还包括图像、URL、墨水和其它内容。
再次返回到过程200,内容创建应用程序102可以接收(250)响应,并将响应插入(252)到与相应的内联注释130相关联的文档110中。
图3示出了智能服务的示例性代理中介方逻辑。在该示例性实现中,智能服务利用bot框架(其可以如参照图9所描述的那样实施),以提供针对内联注释的响应,其不需要指定bot作为代理(例如,针对非定向请求)。参照图3,代理中介方300可以接收内联注释的内容310,并执行诸如确定(321)内联注释的内容是否包括定向请求的逻辑,例如使用指定代理(显式地指定或者能够推断出)。对于未显式地指出指定代理的情况,服务可以访问一个或多个资源来确定预期目标,例如,如果确定内联注释的内容包括定向请求,则系统可以执行(322)指定代理的查找以获得指定代理的联系信息(例如,通过访问联系资源),并且可以确定(323)在查找期间是否找到该代理。这里,指定代理还可以包括未直接指定但可以通过众包平台或被指定(显式或隐式)的社区平台来获得的那些指定代理。对于找到代理的情况(来自操作323),使用指定代理的联系信息,通过通信通道来传送针对指定代理的消息。如果在查找期间没有找到代理,则该代理可以缺省为内联注释的作者,并且可以使用发送方用户的联系信息(消息卡350),将消息发送(324)给“自己”。对于自问,消息卡350可以指示用户发送通知的首选方式。可以通过任何适当的通信信道来发送该消息,甚至可以发送到用户的移动电话上的独立应用程序。
如果在确定(321)内联注释的内容是否包括指定代理(人员或bot)时,结果是内联注释不包括指定代理(由于被视为是自我注释,或者由于内联注释显式地指示它是自我注释),代理中介方可以将请求327发送(326)到例如bot框架390(例如,具有通往诸如TellMeBot、BingAnswers Bot和Translator Bot 394之类的bot的路径),以确定(329)是否任何现有的bot(例如,该框架已知的(例如,注册的)一组bot)可以提供响应328。如果一个或多个bot具有应答,则可以将请求更新(330)为“已应答”,并使其可供作者使用(例如,通过推或拉场景)。如果没有满足该请求的应答,则可以向“自己”发送(324)消息。当然,其它实现可以不向bot发送请求327,而只是生成自我消息卡(如操作324中所提到的);而其它实现可以向bot发送请求327(即使在存在指定代理的情况下)。在一些实现中,如果没有在注释中指定代理,则系统可以例如通过查找先前的请求和响应并确定谁可能具有相关主题的知识,来识别可能满足该请求的一个或多个人员或bot。
此外,在图3的操作环境中还示出了,已知的代理340可以由代理中介方进行存储并使用,以在查询bot 326时查找代理322或识别bot 380。此外,虽然未在代理中介方逻辑中显示,但是可以查询Web服务和其余API360。另外,可以将信息存储在存储器370中,并用于回答请求(例如,参照图2A所描述的操作215所使用的)。存储器370可以存储先前的请求、所请求的代理、以及相应的响应(以及发出请求的是谁或什么)。可以根据适当的隐私准则来维护用户隐私。智能服务可以将存储在存储器370中的信息,用作在接收到请求时要查看的第一位置,以便快速回答问题和/或减少发送给代理的消息数量。可以查询存储器370以获取整个请求或者仅在请求中找到的项。
还可以使用存储器370中存储的信息来补充响应和/或识别将请求路由到谁。例如,如果已经提交了相同的请求,则智能服务可以识别谁之前曾回答过该请求,并提供该响应或者将信息提供给可能回答该问题的用户。这在企业环境中将是有用的。智能服务可以使用先前的结果来了解向谁提出了特定问题。对于公共环境,仍然可以向人们发送请求,但是可以保持谁在询问和谁在响应的隐私(并在用户允许的情况下透露)。
再举一个例子,可以使用所存储的信息来帮助识别哪些bot具有正确应答(例如,在询问bot操作326以识别可能具有响应的bot的期间)。存储设备370还可以包括将针对同一请求的多个响应提供给用户,并且该用户选择所述多个响应中的一个或多个作为期望的响应的反馈。该反馈信息可以用于对适当的代理进行排名或改进。
因此,当接收到确定为不包含指定代理(人员或bot)和/或不是定向请求的请求时,智能服务可以识别适当的代理,并随时间来改善将请求发送给的人。
图4A-4C示出了用户从内容创建应用程序中抽取关于内联注释的知识的示例性场景。
参照图4A,用户(例如,WKW 405)可以在内容创建应用程序400的画布410中创建内容。如图所示,在画布410处于第一状态410-A时,用户已经书写了标题(例如,“介绍”)和关于Bellevue的人口的语句。为了避免停止查找Bellevue的人口,用户可以给自己留下一个内联注释。这里,用于启动内联注释的触发文本420是“[[@””,然后更改区域422的格式以指示后续文本是内联注释的一部分,例如在图4B的状态410-B中所示。可以通过特殊的格式来识别内联注释。当用户退出内联注释时(例如,使用结束符“]]”),应用程序将执行智能服务(例如,将内容发送给智能服务)。内联注释让用户继续输入文档
参照图4C,如状态410-C中所示,用户继续打字。第一内联注释430包括句柄432,该句柄432可能已经由用户输入,以指示以下文本是内联注释、请求434、以及指定代理(在该情况下为Patrick 436,通过@-mention来指示)的一部分。在没有指定代理的情况下,示出用于询问有关Bellevue的人口的第二内联注释440。如关于图3所提到的,当没有指定代理时,该逻辑可以询问bot和/或用户。
包括用于要求“将hello翻译为法语”的第三内联注释,以向指定bot代理“answerbot”444发出请求。可以询问任何已知(或未知)的bot,并且当用户继续键入时,bot会检索信息,并将响应插入到文档中(如图6A和6B中所示)。在一些情况下,智能服务可以在没有响应时,将请求发送给一个或多个bot。此外,还显示了第四内联注释460,其是自我注释(例如,用户WKW 464)。
图4A-4C示出了用户利用“@mention”或“询问”或“待办”,有意地触发内联注释功能的部分;但是,在一些实现中,该内联注释功能可以通过诸如“查找”、“再次确认”等等之类的动作或任何词语来触发。
图5A-5D示出了来自通信应用程序内的代理响应的示例性场景。参照图5A,人员代理Patrick 436代表WKW 405从智能服务接收消息(例如,通过电子邮件),并可以在电子邮件应用程序500中查看该消息。将类似的电子邮件发送给WKW以进行自我注释。可以看出,Patrick不能访问WKW的文档,而只访问该请求,并且可以在不需要知道它是特定文档或主题的情况下对文档做出贡献。除了请求434之外,该消息还可以包括诸如响应502和转发(“询问某人”)504之类的操作。
在图5A的图示中,Patrick正在选择响应(520),它可以打开如图5B中所示的交互字段522。用户可以将他们的响应524输入到字段522中,并选择响应526以将响应524发送回智能服务。当然,在一些情况下,该字段可能已经在消息中可用,而无需执行额外的步骤来选择图5A的响应502命令。此外,在一些实现中,代替交互字段522或者除了交互字段522之外,可以出现新的窗口或窗格。
在图5C的图示中,Patrick例如通过选择(530)“询问某人”504、并输入(532)联系信息或者该人(或bot)的名称,选择将请求转发或委托给其他人,如图5D中所示。当智能服务接收到新名称或联系信息时,智能服务可以生成新的电子邮件或其它消息,以发送给建议的人(或bot或其它实体)。
这些动作可以与服务的API绑定在一起,例如,从消息中的交互字段接收响应的响应API(在交互字段中提供应答后,可以通过单独的命令来发起响应的发送,如图5B中所示)、以及接收一个或多个建议的代理以生成针对请求的转发通信的转发API,在智能服务接收到之后,将转发通信传送给所述一个或多个建议的代理中的每个代理。在一些情况下,可以通过响应电子邮件(或其它消息类型)来提供响应,而不使用特殊响应API。
图6A和6B示出了将结果返回给内容创建应用程序的示例性场景。参照图6A,可以以锚定到对应的内联注释的评论的形式,将响应插入到与内联注释绑定的文档中。这里,画布600以与图4C的状态410-C相似的状态来显示内联注释(但是在接收到所有响应之后的某个时间)。可以在智能服务接收到这些响应时,在文档中显示这些响应,并通过拉取或推送机制来传送这些响应。
在该图示中,Patrick的响应位于与第一内联注释430绑定的评论602中,评论604中的响应绑定到第二内联注释440,answerbot的响应在与第三内联注释450绑定的评论606中,并且WKW的响应位于与第四内联注释460绑定的注释608中。可以显示锚定行610的可视表示,其显示出这些响应锚定到它们相应的内联注释。
如关于图3所提到的,当没有指定代理时,逻辑可以询问bot和/或用户。可以存在分类过程,其中,例如基于置信度,对来自bot的响应进行排队和排序。在一些情况下,与用户共享一个以上的应答。例如,一些bot可能已经识别出不同州的Bellevue的人口。这里,智能服务询问了answerbot,并接收到评论604中所示的响应。
参照图6B,可以利用以响应替换内联注释的全部或某些内容的形式,将响应插入到与内联注释绑定的文档中。在图6B的例子中,画布650的状态是在Patrick回答了提及他的内联注释之前的时间。这里,显示了不同类型的插入。例如,在内联注释中显示了对第二内联注释e430的响应652以及响应的实体。显示了提供将“hello”翻译为法语的响应654,其完全替换第三内联注释450。在该例子中,不存在内联提供的属性(但在一些情况下,可以包含在内联中和/或显示在评论中)。利用第四内联注释460,内联地显示用于提供WKW评论的响应656。
除了接收直接针对文档的响应之外,其它应用程序(例如,独立应用程序或任务应用程序)也可以通过智能服务来访问响应和/或请求(例如,通过上面所描述的API)。
图7示出了可以在本文所描述的某些实施例中使用的计算设备的组件。参照图7,系统700可以表示计算设备,例如但不限于个人计算机、读取器、移动设备、个人数字助理、可穿戴计算机、智能手机、平板设备、膝上型计算机(笔记本或上网本)、游戏设备或游戏机、娱乐设备、混合计算机、桌面型计算机、智能电视、或者电子白板或大型触摸屏。因此,可以结合关于系统700所描述的更多或更少的元件来实现特定的计算设备。
系统700包括一个或多个处理器的处理系统705,以根据存储在存储系统715中的软件710的指令来转换或操纵数据。处理系统705的处理器的例子包括通用中央处理器(CPU)、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用处理器和逻辑设备,以及任何其它类型的处理设备、它们的组合或变形。处理系统705可以是片上系统(SoC)以及一个或多个其它组件(例如,网络连接组件、传感器、视频显示组件),或者包含在SoC以及一个或多个其它组件中。
可以利用程序指令来实现软件710,并且除其它功能外,当软件710一般由系统700或者尤其由处理系统705执行时,指示系统700或处理系统705的一个或多个处理器执行如本文关于过程100和170所描述的操作。
软件710可以包括操作系统和包括内容创建应用程序的应用程序,其中内联注释功能720用于指导本文所描述的过程。设备操作系统通常控制和协调计算设备中各个组件的功能,从而提供应用程序与较低层级接口(如网络接口)进行连接的简便方法。操作系统的非限制性示例包括微软公司的WINDOWS、苹果公司的APPLE iOS、Google公司的ANDROID操作系统、以及来自Canonical的Linux操作系统的Ubuntu。
应当注意,该操作系统既可以在计算设备上本地运行,也可以在本机设备操作系统(OS)顶层运行的软件虚拟化层上实现。虽然没有在图7中描述虚拟化的OS层,但可以认为其是操作系统空间内的附加的嵌套组合,每个组合都包含OS、应用程序和API。
存储系统715可以包括可由处理系统705读取并且能够存储软件710的任何计算机可读存储介质,该软件710包括具有内联注释功能720的内容创建应用程序。
存储系统715可以包括易失性和非易失性存储器、以任何用于存储信息(例如,计算机可读指令、数据结构、程序模块或其它数据)的方法或技术实现的可移动和不可移动介质。存储系统715的存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、CD、DVD、闪存、磁带盒、磁带、磁盘存储器或者其它磁存储设备、或者任何其它适当的存储介质。
可以将存储系统715实现为单个存储设备,但也可以跨多个存储设备或子系统来实现,所述多个存储设备或子系统同处一地或者相对于彼此是分布式的。存储系统715可以包括能够与处理系统705通信的其它元件(例如,控制器)。
该系统还可以包括用户界面系统730,该用户界面系统730可以包括允许用户与系统700之间进行通信的输入/输出(I/O)设备和组件。用户界面系统730可以包括输入设备,例如鼠标、触控板、键盘、用于从用户接收触摸手势的触摸设备、用于检测用户的非触摸手势和其它动作的运动输入设备、用于检测语音的麦克风、以及能够接收用户输入的其它类型的输入设备及其相关联处理元件。
用户界面系统730还可以包括输出设备,例如,显示屏、扬声器、用于触觉反馈的触觉设备、以及其它类型的输出设备。在某些情况下,可以将输入和输出设备组合在单个设备中,例如既可以描绘图像又可以从用户接收触摸手势输入的触摸屏显示器。触摸屏(其可能与显示器相关联或者构成显示器的一部分)是输入设备,其被配置为检测触摸的存在和位置。触摸屏可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲识别触摸屏,或者可以使用任何其它触摸屏技术。在一些实施例中,触摸屏作为透明层并入显示器的顶部,以使用户能够使用一个或多个触摸来与显示器上呈现的对象或其它信息进行交互。
可以将自然用户界面(NUI)包括成用户界面系统730的一部分。NUI方法的示例包括那些依赖于语音识别、触摸和手写笔识别、屏幕上以及与屏幕相邻的手势识别、空中手势、头部和眼睛跟踪、语音和声音、视觉、触摸、悬停、手势和机器智能。因此,本文所描述的系统可以包括触敏显示器、语音和声音识别、意图和目标理解、使用深度摄像头(例如,立体或飞行时间摄像头系统、红外摄像头系统、红绿蓝(RGB)摄像头系统及其组合)的运动手势检测、使用加速度计/陀螺仪的运动手势检测、面部识别、3D显示、头部、眼睛和视线跟踪、身临其境的增强现实和虚拟现实系统,它们都提供了更自然的界面、以及用于使用电场感应电极来感测大脑活动的技术(EEG和相关方法)。
可以以多种方式在显示器(未示出)上描绘视觉输出,呈现图形用户界面元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘或者能够以视觉形式描绘的任何其它类型的信息。
用户界面系统730还可以包括由OS执行以支持各种用户输入和输出设备的用户界面软件和相关软件(例如,用于图形芯片和输入设备)。相关联的软件使用定义的机制,协助OS将用户界面硬件事件传送给应用程序。包括用户界面软件的用户界面系统730可以支持图形用户界面、自然用户界面或者任何其它类型的用户界面。例如,可以通过用户界面系统730和其中显示的图形用户界面,来呈现其中如本文所述地那样显示内联注释和响应的用户界面。
网络接口740可以包括允许通过一个或多个通信网络(没有示出)与其它计算系统进行通信的通信连接和设备。一起允许系统间通信的连接和设备的例子可以包括网络接口卡、天线、功率放大器、RF电路、收发器和其它通信电路。这些连接和设备可以通过通信介质(例如,金属、玻璃、空气或任何其它适当的通信介质)进行通信,以与其它计算系统或系统网络交换通信。去往通信接口的传输由OS进行控制,并在必要时向应用程序通知通信事件。
图8示出了可以在本文所描述的某些实施例中使用的计算系统的组件。参考图8,可以在单个计算设备内实现系统800,或者系统800分布在协作执行程序指令的多个计算设备或子系统中。系统800可以包括一个或多个刀片服务器设备、独立服务器设备、个人计算机、路由器、集线器、交换机、网桥、防火墙设备、入侵检测设备、大型计算机、网络连接的存储设备以及其它类型的计算设备。可以根据任何适当的计算机体系结构(例如,对称多处理(SMP)体系结构或者非统一存储器访问(NUMA)体系结构)来配置系统硬件。
系统800可以包括处理系统810,处理系统810可以包括一个或多个处理器和/或从存储系统830中检索并执行软件820的其它电路。可以在单个处理设备内实现处理系统810,但是处理系统810也可以分布在协作执行程序指令的多个处理设备或子系统中。
存储系统830可以包括处理系统810可读并且能够存储软件820的任何计算机可读存储介质。存储系统830可以实现为单个存储设备,但也可以跨多个存储设备或子系统来实现,所述多个存储设备或子系统同处一地或者相对于彼此是分布式的。存储系统830可以包括能够与处理系统810通信的其它元件(例如,控制器)。存储系统830还可以包括在其上存储诸如实体相关信息之类的数据的存储设备和/或子系统。
可以利用程序指令来实现包括智能服务840在内的软件820,并且除其它功能外,当软件820一般由系统800或者尤其由处理系统810执行时,指示系统800或处理系统810执行如本文针对智能服务所描述的操作(以及其各种组件和功能,例如代理中介方300)。
系统800可以表示能够在其上进行软件820,并且可以通过其来分发、传输、下载或以其它方式将软件820提供给另一计算系统以进行部署和执行或者进行另外的分发的任何计算系统。
在系统800包括多个计算设备的实施例中,服务器可以包括促进计算设备之间的通信的一个或多个通信网络。例如,所述一个或多个通信网络可以包括有助于实现计算设备之间的通信的局域网或广域网。可以在计算设备之间包括一个或多个直接通信链路。此外,在一些情况下,可以将计算设备安装在地理位置分散的位置。在其它情况下,可以将所述多个计算设备安装在单个地理位置(例如,服务器场或办公室)。
可以包括通信接口850,该通信接口850提供允许系统800和其它计算系统(没有示出)之间通过通信网络或网络集合(没有示出)或空中进行通信的通信连接和设备。
替代地或另外地,本文所描述的功能、方法和过程可以至少部分地由一个或多个硬件模块(或逻辑组件)来实现。例如,这些硬件模块可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、片上系统(SoC)系统、复杂可编程逻辑器件(CPLD)、以及现在已知或以后开发的其它可编程逻辑器件。当激活硬件模块时,硬件模块执行该硬件模块中包含的功能、方法和过程。
可以将实施例实现为计算机过程、计算系统或者诸如计算机程序产品或计算机可读介质之类的制品。本文所描述的某些方法和过程可以体现为能够存储在一个或多个存储介质上的软件、代码和/或数据。本发明的某些实施例考虑了以计算机系统形式使用机器,其中,当一组指令被执行时可以使系统执行上面所讨论的方法中的任何一个或多个。某些计算机程序产品可以是计算机系统可读的一个或多个计算机可读存储介质(并且可由处理系统执行),并编码用于执行计算机过程的计算机程序指令。应当理解的是,如本文所使用的,“存储介质”、“计算机可读介质”或“计算机可读存储介质”在任何情况下均不包含瞬态载波或传播信号。相反,“存储”介质指代非临时性介质。
图9示出了示例性bot框架环境。参照图9,用户900可以通过包括但不限于以下的任何通信通道910与作为bot框架一部分的bot进行交互:群组频道会话912、群聊914、即时通消息916、网络聊天918、甚至电子邮件或SMS文本对话。bot框架包括bot消息路由/连接器920,它支持通过各种通信通道910进行通信,并将消息路由到已知/注册的bot 930中的适当bot中(例如,指定bot 932)。Bot 930可以访问各种认知服务940,以支持诸如自然语言处理、语音转文本、说话者识别、搜索、图像处理、实体识别、翻译之类的各种功能和其它功能。
与指定bot 932的通信可以通过bot的Web API 950进行,或者在某些情况下(例如,当用户900位于客户端应用程序960内时),可以经由bot的直接线路API 970与指定bot932进行通信。可以以更常规的客户端/服务配置来执行客户端应用程序960和指定bot 932之间的通信。
虽然利用特定于结构特征和/或动作的语言来描述本发明的主题,但应当理解的是,所附的权利要求书中规定的主题并不必需限于上面所描述的特定特征或者动作。相反,只是将上面所描述的特定特征和动作公开成实现本发明的例子,其它等同的特征和动作也落在本发明的保护范围内。

Claims (15)

1.一种用于抽取关于内联注释的知识的方法,其包括:
接收文档中的内联注释,其中,所述文档包括所述内联注释的内容和其它显示的内容;
将所述内联注释的所述内容以及与所述内联注释的作者相关联的用户标识符传送给智能服务;
在所述智能服务处,根据所述内联注释的所述内容来识别一个或多个代理和请求,其中,所述内联注释的所述内容包括对谁将接收所述请求和所述请求的文本的指示,所识别的一个或多个代理是所述作者、一个或多个人员代理、一个或多个bot代理、或者它们的组合;生成针对所述一个或多个代理中的每个代理的消息,所述消息包括所述请求;并且通过通信信道,将所述消息传送给所述一个或多个代理中的所述每个代理;
在所述智能服务处,从所述一个或多个代理中的对应代理接收响应;将所述响应与所述对应代理和所述请求相关联地存储在存储资源中;以及
将所述响应插入到与所述内联注释绑定的所述文档中。
2.根据权利要求1所述的方法,还包括:
在从所述内联注释的所述内容中识别出所述一个或多个代理和所述请求之后,在所述存储资源中搜索满足所述请求的现有响应。
3.根据权利要求1所述的方法,其中,所述请求是定向请求,其中,从所述内联注释的所述内容中识别出所述一个或多个代理和所述请求包括:
通过访问联系人资源以查找指定代理的联系信息,识别所述指定代理的联系信息。
4.根据权利要求1所述的方法,其中,在所述内联注释中未指定任何代理,其中,从所述内联注释的所述内容中识别出所述一个或多个代理和所述请求包括:
指定所述内联注释的所述作者作为所述代理,以及
使用所述用户标识符,获得所述内联注释的所述作者的联系信息。
5.根据权利要求1所述的方法,其中,所述内联注释中未指定任何代理,其中,从所述内联注释的所述内容中识别出所述一个或多个代理和所述请求包括:
将所述请求传送给一组bot代理;以及
将所述一组bot代理中响应所述请求的任何bot代理指定为所述代理。
6.根据权利要求1所述的方法,其中,通过所述通信信道将所述消息传送给所述一个或多个代理中的每个代理包括以下之一:传送文本消息、电子邮件、即时通消息、群聊消息。
7.根据权利要求1所述的方法,其中,将所述响应插入到与所述内联注释绑定的所述文档中包括:将所述响应插入到锚定到所述内联注释的评论中。
8.根据权利要求1所述的方法,其中,将所述响应插入到与所述内联注释绑定的所述文档中包括:将所述内联注释的全部或部分内容替换为所述响应。
9.根据权利要求1所述的方法,其中,将所述内联注释的所述内容以及与所述内联注释的所述作者相关联的所述用户标识符传送给所述智能服务包括:以包括代理名称、请求、以及发送方的格式,向所述智能服务的应用程序接口(API)发送所述内容和所述用户标识符,所述代理名称和所述请求来自所述内联注释的所述内容,并且所述发送方是所述用户标识符。
10.一种用于抽取关于内联注释的知识的系统,其包括:
处理系统;
一个或多个计算机可读存储介质;
通信接口;
存储在所述一个或多个计算机可读存储介质中的内容创建应用程序,当其由所述处理系统执行时,指示所述处理系统用于:
接收文档中的内联注释,其中,所述文档包括所述内联注释的内容和其它显示的内容;
将所述内联注释的内容以及与所述内联注释的作者相关联的用户标识符传送给智能服务,其中,所述内联注释的所述内容包括对谁将接收请求和所述请求的文本的指示;
从所述智能服务接收针对所述内联注释的响应;以及
将针对所述内联注释的所述响应插入到与所述内联注释绑定的所述文档中;以及
存储在所述一个或多个计算机可读存储介质中的通信应用程序,当其由所述处理系统执行时,指示所述处理系统用于:
从所述通信接口接收消息,所述消息包括针对所述响应的请求;
显示所述消息;
接收对响应的选择,所述对响应的选择执行所述响应的交互字段;以及
接收在所述消息内回复的命令,所述命令生成到提供所述响应的所述智能服务的通信。
11.一种存储有指令的计算机可读存储介质,当所述指令由硬件处理器执行时,指示所述硬件处理器用于:
提供内联注释应用程序接口API,以接收内联注释的内容和与所述内联注释的作者相关联的用户标识符;
根据通过所述内联注释应用程序接口API接收的所述内联注释的所述内容,识别一个或多个代理和请求,其中,所述内联注释的所述内容包括对谁将接收所述请求和所述请求的文本的指示,所识别的一个或多个代理是所述作者、一个或多个指定人员代理、一个或多个bot代理、或者其组合;
生成针对所述一个或多个代理中的每个代理的消息,所述消息包括所述请求;
通过通信信道,将所述消息传送给所述一个或多个代理中的每个代理;
从所述一个或多个代理中的对应代理接收响应;以及
将所述响应与所述对应代理和所述请求相关联地存储在存储资源中。
12.根据权利要求11所述的介质,还包括指示所述硬件处理器执行以下操作的指令:
提供文档状态API,以用于请求和接收关于对特定文档或用户标识符的请求的未完成响应的状态信息;
响应于通过所述文档状态API的请求,从所述存储资源中识别针对所述特定文档或用户标识符的所述请求的响应;并且利用所述响应进行回应;
提供用户状态API,以请求和接收关于对特定用户的未完成请求的信息;以及
响应于通过所述用户状态API的请求,识别与所述特定用户相关联的请求;并且利用所述请求进行回应。
13.根据权利要求11所述的介质,还包括指示所述硬件处理器执行以下操作的指令:
提供响应API,响应API从所述消息中的交互字段接收响应;以及
提供转发API,所述转发API接收一个或多个建议的代理以生成针对所述请求的转发通信,所述转发通信被传送给所述一个或多个建议的代理中的每个代理。
14.根据权利要求11所述的介质,其中,指示所述硬件处理器根据所述内联注释的所述内容来识别所述一个或多个代理和所述请求的所述指令,指示所述硬件处理器执行以下操作:
确定所述内联注释的所述内容是否包括指定人员代理或bot代理;
如果确定所述内联注释的所述内容包括所述指定人员代理,则执行对所述指定人员代理的查找以获得所述指定人员代理的联系信息,其中,针对所述指定人员代理的所述消息是使用所述指定人员代理的所述联系信息,通过所述通信信道来传送的;
如果确定所述内联注释的所述内容包括所述bot代理,则将所述消息传送给所述bot代理;以及
如果确定所述内联注释的所述内容不包括所述指定人员代理或bot代理,则执行以下中的一项或两项:
1)向bot框架发送请求,以确定是否任何现有的bot可以提供响应;
2)获取与所述用户标识符相关联的所述作者的联系信息;其中,
所述消息是使用所述作者的所述联系信息在所述通信信道上传送的。
15.根据权利要求14所述的介质,其中,如果在所述查找期间没有找到所述指定人员代理或bot代理,则所述指令指示所述硬件处理器执行以下操作:
向bot框架或者与所述作者的所述用户标识符相关联的联系信息发送所述请求。
CN201880085385.2A 2018-01-02 2018-12-13 用于抽取关于内联注释的知识的混合智能方法 Active CN111557006B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/860,279 2018-01-02
US15/860,279 US11385914B2 (en) 2018-01-02 2018-01-02 Hybrid intelligence approach to eliciting knowledge for inline notes
PCT/US2018/065570 WO2019135880A1 (en) 2018-01-02 2018-12-13 Hybrid intelligence approach to eliciting knowledge for inline notes

Publications (2)

Publication Number Publication Date
CN111557006A CN111557006A (zh) 2020-08-18
CN111557006B true CN111557006B (zh) 2023-10-03

Family

ID=64902536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880085385.2A Active CN111557006B (zh) 2018-01-02 2018-12-13 用于抽取关于内联注释的知识的混合智能方法

Country Status (4)

Country Link
US (1) US11385914B2 (zh)
EP (1) EP3735645A1 (zh)
CN (1) CN111557006B (zh)
WO (1) WO2019135880A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11605100B1 (en) 2017-12-22 2023-03-14 Salesloft, Inc. Methods and systems for determining cadences
CN108924038B (zh) 2018-06-29 2019-12-27 北京字节跳动网络技术有限公司 基于共享文档的群聊发起方法及其装置、设备、存储介质
US11115624B1 (en) 2019-07-22 2021-09-07 Salesloft, Inc. Methods and systems for joining a conference
US10742695B1 (en) * 2018-08-01 2020-08-11 Salesloft, Inc. Methods and systems of recording information related to an electronic conference system
US10791217B1 (en) 2019-09-03 2020-09-29 Salesloft, Inc. Methods and systems for placing calls
US11074400B2 (en) * 2019-09-30 2021-07-27 Dropbox, Inc. Collaborative in-line content item annotations
US11451669B1 (en) * 2021-02-26 2022-09-20 The Toronto-Dominion Bank Method and system for providing access to a node of a shared resource
US11526659B2 (en) 2021-03-16 2022-12-13 Microsoft Technology Licensing, Llc Converting text to digital ink
US11372486B1 (en) 2021-03-16 2022-06-28 Microsoft Technology Licensing, Llc Setting digital pen input mode using tilt angle
US11361153B1 (en) 2021-03-16 2022-06-14 Microsoft Technology Licensing, Llc Linking digital ink instances using connecting lines
US11435893B1 (en) * 2021-03-16 2022-09-06 Microsoft Technology Licensing, Llc Submitting questions using digital ink
US11875543B2 (en) 2021-03-16 2024-01-16 Microsoft Technology Licensing, Llc Duplicating and aggregating digital ink instances
US20220414320A1 (en) * 2021-06-23 2022-12-29 Microsoft Technology Licensing, Llc Interactive content generation
US11586878B1 (en) 2021-12-10 2023-02-21 Salesloft, Inc. Methods and systems for cascading model architecture for providing information on reply emails
US20230315271A1 (en) * 2022-03-18 2023-10-05 Sony Group Corporation Collaborative whiteboard for meetings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950982B1 (en) * 1999-11-19 2005-09-27 Xerox Corporation Active annotation mechanism for document management systems
CN102822826A (zh) * 2010-03-31 2012-12-12 微软公司 创建和传播注释的信息

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493006B1 (en) * 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US6438564B1 (en) * 1998-06-17 2002-08-20 Microsoft Corporation Method for associating a discussion with a document
US6957248B2 (en) * 2000-07-31 2005-10-18 Pitney Bowes Inc. System and method for forwarding electronic messages
US7571212B2 (en) * 2002-05-14 2009-08-04 Family Systems, Ltd. Interactive web collaboration systems and methods
US8930490B2 (en) * 2009-01-27 2015-01-06 Apple Inc. Lifestream annotation method and system
US8851380B2 (en) * 2009-01-27 2014-10-07 Apple Inc. Device identification and monitoring system and method
US20110035453A1 (en) * 2009-08-06 2011-02-10 Oracle International Corporation Automatic rules-based messaging system based on analysis of text and/or associated metadata
US20120245925A1 (en) * 2011-03-25 2012-09-27 Aloke Guha Methods and devices for analyzing text
US9087048B2 (en) * 2011-06-10 2015-07-21 Linkedin Corporation Method of and system for validating a fact checking system
US9665266B2 (en) * 2011-10-27 2017-05-30 Blackberry Limited Setting reminders from an instant messaging application
US9171333B2 (en) * 2012-07-06 2015-10-27 Nasdaq, Inc. Due diligence systems with integrated indication of required action
US9059957B2 (en) * 2012-09-24 2015-06-16 Apple Inc. Complex handling of conditional messages
US9313162B2 (en) * 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US10198140B2 (en) * 2012-12-20 2019-02-05 Dropbox, Inc. Systems and methods for facilitating communication between users of a content management service
US9424354B2 (en) * 2013-03-15 2016-08-23 Microsoft Technology Licensing, Llc Providing crowdsourced answers to information needs presented by search engine and social networking application users
US8984080B1 (en) * 2013-04-09 2015-03-17 Kabam, Inc. Facilitating user configured assistance requests through a chat in a virtual space
US9344573B2 (en) * 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US20170097765A1 (en) * 2015-10-05 2017-04-06 Iq Technology Inc. Method to Provide a Service While Inputting Content in an Application Though A Virtual Keyboard
US10616036B2 (en) * 2017-06-07 2020-04-07 Accenture Global Solutions Limited Integration platform for multi-network integration of service platforms
US10381006B1 (en) * 2018-11-26 2019-08-13 Accenture Global Solutions Limited Dialog management system for using multiple artificial intelligence service providers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950982B1 (en) * 1999-11-19 2005-09-27 Xerox Corporation Active annotation mechanism for document management systems
CN102822826A (zh) * 2010-03-31 2012-12-12 微软公司 创建和传播注释的信息

Also Published As

Publication number Publication date
CN111557006A (zh) 2020-08-18
US20190205772A1 (en) 2019-07-04
WO2019135880A1 (en) 2019-07-11
US11385914B2 (en) 2022-07-12
EP3735645A1 (en) 2020-11-11

Similar Documents

Publication Publication Date Title
CN111557006B (zh) 用于抽取关于内联注释的知识的混合智能方法
US11303590B2 (en) Suggested responses based on message stickers
CN111095215B (zh) 应用间传递格式特定的数据对象
US9772750B2 (en) Linking selected messages in electronic message threads
US11327984B2 (en) Computerized systems and methods for query expansion using displayed objects
US20160147400A1 (en) Tab based browser content sharing
JP5961320B2 (ja) ソーシャル・メデイアにおけるユーザの分類方法、コンピュータ・プログラム及びコンピュータ
EP3610376B1 (en) Automatic context passing between applications
US20190334845A1 (en) Messaging interface configured to a render graphical sentiment and progression indicator
US11232145B2 (en) Content corpora for electronic documents
US20170116291A1 (en) Network caching of search result history and interactions
US10831812B2 (en) Author-created digital agents
CN112513829A (zh) 基于表面类型应用模板以定制内容呈现
EP3996010A1 (en) Systems and methods to generate contextual threads
US11842206B2 (en) Generating content endorsements using machine learning nominator(s)
US11507730B1 (en) User interface with command-line link creation for generating graphical objects linked to third-party content
US12118296B2 (en) Collaborative coauthoring with artificial intelligence
KR101770724B1 (ko) 소셜 네트워크 서비스에 사용하는 이미지 제공 시스템 및 방법

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