CN112136121A - 推荐安全内容 - Google Patents

推荐安全内容 Download PDF

Info

Publication number
CN112136121A
CN112136121A CN201980032976.8A CN201980032976A CN112136121A CN 112136121 A CN112136121 A CN 112136121A CN 201980032976 A CN201980032976 A CN 201980032976A CN 112136121 A CN112136121 A CN 112136121A
Authority
CN
China
Prior art keywords
content
insights
user
insight
access
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.)
Pending
Application number
CN201980032976.8A
Other languages
English (en)
Inventor
J-O·卡尔伯格
T·克勒策
A·克瓦尔内斯
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 CN112136121A publication Critical patent/CN112136121A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种方法,其包括:针对多个用户内容组合中的每一个用户内容组合来预先生成见解,每个用户内容组合包括多个第一用户中的一个第一用户和多个第一内容片段中的一个内容片段的不同相应组合,其中每个见解指定一种关系类型以及与相应第一内容片段具有该关系的其它内容;随后接收查询,所述查询用于寻求对第一用户中的目标用户和第一内容片段的见解;基于该查询,针对该用户内容组合来识别相应的见解的集合;随后修剪掉没有指定目标用户允许访问的相关内容片段的一个或多个见解;并向目标用户输出剩余的见解子集中的至少一个。

Description

推荐安全内容
背景技术
如今,许多通信服务示例可以在诸如互联网之类的分组交换网络上实现,从而提供用于在网络上共享内容的不同方式。此类服务的示例包括社交网络、文档共享服务和在线协作工作区。在一些情况下,也可以将多个此类服务链接在一起。例如,给定的软件发布者可以将具有在线功能的各种内容创作应用程序(例如,文字处理应用程序、电子表格应用程序、电子邮件客户端等)链接到通过单个帐户和/或前端访问的一组应用程序中。再举一个例子,可以向用户提供将来自不同服务提供商的服务的账户链接在一起的选项,例如,将他/她的应用套件与社交网络账户链接在一起,从而允许彼此共享内容。
在这样的系统中,向用户提供他/她可能感兴趣的内容的自动建议是有用的。例如,如果用户正在查看或撰写第一文档,则可以自动向用户提供包含相似内容的一个或多个其它文档的建议,或者查看第一文档的其他用户也查看过的其它文档的建议。例如,可以以与当前查看的文档相关联的屏幕提要的形式来提供这些建议。这样的设施通过帮助更快地呈现(surface)更多相关内容来增加通信系统的实用性。
可以以“见解”的形式实现这些建议。对给定内容片段的见解包括指定一个或多个其它相关内容片段的数据、以及指示其关系性质的信息。当通过用户界面将见解输出给用户时,向用户提供相关内容片段的至少一个的指示(例如,以文件名、链接或预览的形式)、以及其关系的指示(例如,以文本说明的形式)。例如,当用户查看文档X时,可以向用户显示以下形式的消息:“因为查看过文档X的N个用户也查看了文档Y,所以建议您查看文档Y。”这可以帮助防止建议对用户显得“令人毛骨悚然”。它还可以帮助自动遵守数据保护要求,从而使用户有权知道如何获取有关它们的信息。
在内容共享环境中,通常还需要建立访问控制机制,以限制哪些用户可以查看哪些内容。
发明内容
当前许多信息检索和生产力系统都依赖于分析内容,来产生有关哪些内容可能与用户相关以及为何相关的见解。此类见解的生成是在消费之前进行的,如果所生成的见解所基于的数据处于访问控制之下,这将是一个问题。如果撤消了对特定内容片段的访问,则可能影响向用户提供哪些见解和内容。本公开内容提供了一种在尊重基础内容的改变访问控制策略的同时,有效地提供关于内容的见解的手段。
根据本文所公开的一个方面,提供了一种用于在网络上共享内容的计算机实现的方法,其中,至少一些内容受到访问控制的限制,该访问控制限制了允许哪些用户访问该内容。该方法包括:针对多个用户内容组合中的每一个相应的用户内容组合,预先生成相应的多个见解的集合,每个用户内容组合包括多个第一用户中的一个第一用户和该用户有权访问的多个第一内容片段中的一个内容片段的不同相应组合。每个见解指定一种关系类型以及一个或多个其它相关内容片段,这些其它相关内容片段与相应的第一内容片段具有所指定的关系类型。在所述预先生成之后,该方法包括:接收查询,所述查询用于寻求对所述第一用户中的目标用户所访问的所述第一内容片段中的目标内容的见解;并基于所接收到的查询,针对目标用户和目标内容组合来识别相应的预先生成的见解的集合。在所述查询和所述识别之后,该方法还包括:从所识别的见解的集合中修剪一个或多个见解,以保留剩余的见解子集,其中,所述修剪包括:修剪掉至少那些没有指定目标用户允许访问的相关内容片段的见解。在所述修剪之后,该方法包括:经由用户界面向目标用户输出剩余的见解子集中的至少一个,其包括至少输出指定的关系以及允许目标用户访问的仅有的相应相关内容片段的指示。
提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本发明的关键特征或本质特征,也不是使用该概括部分来限制本发明的保护范围。此外,本发明并不限于解决本文所陈述的任何或所有缺点。
附图说明
为了帮助理解本公开内容并示出实施例如何生效,仅通过示例的方式来参考附图,其中:
图1是一种通信系统的示意图,
图2是显示了通信系统的更多细节的示意框图,
图3是见解索引的示意性表示,以及
图4是见解索引的另一种示意性表示。
具体实施方式
图1根据本文公开的实施例,示出了在网络101上实现的示例性通信系统100。通信系统100包括多个用户终端102,每个用户终端102与至少一个相应的用户103相关联。每个用户终端102可以采用任何适当的形式,例如,桌面型计算机、膝上型计算机、平板设备、智能电话或可穿戴智能设备(例如,智能手表或智能眼镜)。另外,不同用户103的不同用户终端102不必全部采用相同的形式。通信系统100还包括一个或多个服务器104。本文的服务器指代提供给定服务的逻辑实体,并且可以包括位于一个或多个地理位置的一个或多个物理服务器单元。在必要时,分布式或“云”计算技术本身是本领域已知的。用户终端102和服务器104中的每一个都连接到分组交换网络101,该分组交换网络101可以包括例如广域网(如,互联网)、诸如3GPP网络之类的移动蜂窝网络、诸如以太网之类的有线局域网(LAN)、或者无线LAN(例如,Wi-Fi、Thread或6LoWPAN网络)。在实施例中,网络101可以包括多个这样的网络(例如,互联网加上一个或多个LAN和/或蜂窝网络,用户终端102中的一个或多个通过所述一个或多个LAN和/或蜂窝网络连接到互联网)。用户终端102和服务器104中的每一个可以通过并入到各个终端或单元中的任何适当的网络接口(没有示出)来连接到网络101,例如,通过PSTM连接或以太网连接进行连接的有线调制解调器,或通过诸如Wi-Fi、thread或6LoWPAN连接之类的无线连接进行连接的无线调制解调器。
每个服务器都被布置为托管通过网络101提供相应服务的相应服务应用程序106。例如,这些服务之一可以包括应用程序套件,其包括一组具有在线功能的内容创作应用程序(例如,文字处理应用程序、电子表格应用程序、幻灯片显示应用程序和/或电子邮件应用程序),每个应用程序都具有将用户103创作的内容存储在服务器104上并通过网络101与其他用户103共享这些内容的能力。再举一个例子,这些服务可以包括通信服务,例如VoIP服务、即时消息传递服务、文件传输服务、屏幕共享服务、或者包括这些中的两个或多个的任意组合的统一通信服务。这种服务使用户103可以通过网络101来相互通信,并再次彼此共享内容(例如,通过将文件拖放到要共享的聊天窗口中、或者显示文件、文档或用户103中的一个的屏幕共享,以供其他用户103查看)。再举一个例子,这些服务可以包括社交网络服务,其同样使用户能够以多种可能形式中的一种或多种来彼此共享内容(例如,文本消息、图片、视频和/或声音片段)。再举一个例子,这些服务可以包括文档共享或文件共享服务。再举一个例子,这些服务可以包括协作工作空间服务,例如,使多个用户103能够处理存储在服务器104上的相同文档,和/或使用一个或多个协作工具(例如,虚拟白板)。
每个用户终端102均安装有通信客户端应用程序105的相应实例。客户端应用程序105可以是专用于这些服务中的特定服务的专用客户端应用程序,例如,用于应用程序套件的专用前端应用程序、或者诸如VoIP客户端、IM客户端、或具有其它集成UC功能(例如,IM和/或文件共享)的VoIP客户端之类的通信客户端。替代地,客户端应用程序105可以是通用客户端应用程序(例如,网络浏览器)。不同的终端102也可以使用专用和通用应用程序的混合。
服务器104由所讨论的通信服务的提供者来操作,并且被布置为托管相应的服务应用106。客户端105的每个实例安装在各个用户终端102上,并被布置为在各个用户终端102上运行,并且被配置为如此运行以提供经由网络101以及终端102和服务器104的各个网络接口来访问服务器104中的一个或多个上的服务应用106所提供的各个服务的能力。
转到图2,通信系统100包括具有应用程序前端202、见解引擎204、分析引擎206、见解索引208和访问控制机制210形式的多个组件。见解引擎204可操作地耦合到应用程序前端202、见解索引208和访问控制机制210。分析引擎210可操作地耦合到应用程序前端202和见解索引208。
应用程序前端202被配置为使用户103能够经由相应的客户端应用程序103和网络101,从用户的相应用户终端102访问服务器104上的服务应用程序106提供的服务中的一个、多个或全部。应用程序前端202通过为服务提供用户界面(例如,图形用户界面)来实现该访问,其中用户103可以通过运行在他/她的用户终端102上的客户端105对其进行操作。对服务的访问包括访问诸如文档(例如,其包含文本)、静止图像、视频或录音之类的多个内容片段的能力。该访问可以包括:查看内容或者对其进行编辑。该访问可以包括:使给定用户103a能够从运行在他/她的用户终端102a上的客户端105a访问一个或多个其他用户103b、c、...从运行在各个用户终端102b、c、…上的客户端应用105b、c、…而经由服务共享的内容片段。
访问控制机制210被配置为设置哪些用户有权访问哪些内容片段。通过访问控制机制210,作为给定内容所有者的用户可以设置该内容片段的许可权,以设置其他用户可以访问或不能访问所讨论内容的权限。用户103可以经由应用程序前端202和运行在他/她的用户终端102上的客户端,对访问控制机制210进行访问,以设置对于他/她的内容的许可。给定内容片段的提供者可以是内容的作者或者内容的发布者(在当前上下文中发布,不一定意味着向所有公众开放或免费或无条件提供)。为了便于说明起见,特定内容片段的所有者是有权设置该内容的权限设置的用户。通常,所有者也是提供者,但不是必须的。给定的内容片段可能具有一个或多个所有者。
分析引擎206被配置为确定内容片段之间的关系,并将其记录在见解索引208中。见解索引被配置为在见解索引中查找见解,以便向目标用户103a提供建议(即,与他/她可以访问的内容相关的其他内容的建议)。这些建议可以包括:针对由一个或多个其他用户103b、c、...提供或拥有的内容片段的建议。见解引擎被配置为咨询访问控制机制210,以在将建议输出到目标用户103a之前,检查是否允许目标用户103a访问潜在建议的内容片段。稍后将更详细地讨论这些功能。建议经由应用程序前端202将这些建议输出到目标用户103a,并且客户端应用105a在他/她的终端102a上运行。
应用程序前端202、见解引擎204、分析引擎206、见解索引208和访问控制机制210中的每一个,都可以以体现在计算机可读存储装置上的软件代码的形式来实现,并在包括一个或多个处理器(例如,在一个或多个地理位置的一个或多个计算机终端或单元上实现的CPU、工作加速器协处理器或专用处理器)的处理装置上运行。在其上存储代码的存储装置可以包括采用一个或多个存储介质的一个或多个存储设备,同样,在一个或多个地理位置的一个或多个计算机终端或单元上实现所述一个或多个存储介质。在实施例中,组件202、204、206、208、210中的一个、一些或全部的各个实例,可以作为相应客户端实例105的一部分而在一个、一些或全部用户终端102中的每一个上实现,或者在通过适当的API(应用程序接口)与客户端实例接口的独立应用程序中实现。在另一个例子中,组件202、204、206、208、210中的一个、一些或全部可以作为服务应用程序106的一部分而在一个、一些或所有的服务器104上实现,或者在第三方提供程序(没有显示)的服务器上实现。在其它例子中,可以在以下中的两个或多个的任意组合之间,拆分组件202、204、206、210的功能:用户终端102、服务的服务器104、和/或一个或多个其他方的服务器。同样,应当注意,在需要时,分布式计算技术本身是本领域已知的。
以下描述了根据本文所公开的实施例的一些示例方法。分析内容以确定它们之间的关系,并基于此来产生见解的功能,可以由分析引擎206来执行。判断是否允许一个用户访问内容片段的功能,可以由访问控制机制210来执行。见解存储在见解索引208中。查找见解并确定向用户呈现的见解的功能,可以由见解引擎204来执行。经由应用程序前端202来触发对见解的查询,并通过应用程序前端202将源自于见解而产生的建议呈现给目标用户103a(从目标用户的用户终端102a上的客户端105来访问)。
该方法包括:针对多个用户内容组合中的每一个相应的用户内容组合,预先生成相应的多个见解的集合,每个用户内容组合包括多个第一用户103之一和该用户有权访问的多个第一内容片段中的一个内容片段的不同相应组合。也就是说,对于多个第一用户103中的每个给定第一用户,该方法包括:针对该第一用户可以访问的多个第一内容片段中的每个第一内容片段,生成相应的见解的集合(每个第一用户的多个第一内容片段、以及每个第一用户的每个第一内容片段的相应的见解的集合)。这种预先生成可以由分析引擎206来执行,该分析引擎206将预先生成的见解存储在见解索引208中。注意:这些组合中的一些可以包括不同的第一内容片段和相同的第一用户。和/或,这些组合中的一些可以包括不同的第一用户和相同的第一内容片段。
每个见解指定一种关系类型以及一个或多个其它相关内容片段,这些其它相关内容片段与相应的第一内容片段具有所指定的关系类型。例如,这些所述见解中的一个见解的关系类型可以包括以下事实:第一内容片段的文本、音频或视频被分析为类似于相应的其它相关内容片段的文本、音频或视频。再举一个例子,第一内容片段的主题可以与相应的其它相关内容片段的主题相同。用于确定例如两个文本、两个图像或两个录音之间的相似性的算法,本身在本领域中是已知的。类似地,用于分析诸如文本、图像或音频之类的内容并分配主题的算法,在本领域中是已知的。分析引擎206可以应用这样的算法,以从通过服务应用程序106提供的服务可获得的各种内容中识别与第一内容片段有关的其它内容。
再举一个例子,这些所述见解中的一个见解指定的关系类型可以包括:访问了第一内容片段的一个或多个其他用户103还访问了相关的内容片段。这可以是任何其他用户,或者特别是与第一用户具有预定关系的其他用户。在实施例中,可以通过已经访问了第一内容片段和另一内容片段的其他用户的数量的统计,来限定见解。这些关系可以再次由分析引擎206进行确定,例如通过维护图结构来进行确定,其中该图结构记录跨一个或多个服务的实体(用户和内容)之间的连接。
基于所讨论的第一位用户访问第一内容片段的过去或当前情况来生成这些见解。即,在过去或当前情况下的每一次,在第一用户103之一通过其用户终端102上的应用程序前端202和客户端105,从这些服务之一来访问一项内容时,分析引擎206判断是否可以找到与正在访问的内容片段有关的任何内容片段(例如,具有上述关系之一)。如果是,则将该关系记录在见解索引208中的见解中。例如,当第一用户第一次查看文档、页面或文件时,或者在第一个用户正在创作(撰写)文档、页面或文件时,执行该操作。在实施例中,当第一用户访问所讨论的内容时,可以在一个或多个随后的时机更新见解(即,分析引擎206判断是否存在任何新关系,并且如果是这样,则将其记录在见解索引中的见解208中)。
见解是一种数据结构,针对每个第一用户的每个第一内容片段,其包括:第一内容片段的指示(例如,以内容ID、Ci的形式指示)、关系类型的功能描述、以及与相应的第一内容片段具有指定关系的一个或多个其它相关内容片段的指示(例如,同样以内容ID CidA、CidB、CidC...的形式指示相关内容片段)。图3示出了映射到见解索引208中的用户内容对<Ci,Ux>的一组三个见解的示例。稍后将对此进行更详细的讨论。
在所述预先生成之后,该方法包括:接收查询,所述查询用于寻求对所述第一用户103a中的目标用户所访问的所述第一内容片段中的目标内容(例如,目标用户103a当前正在访问的内容片段)的见解。见解引擎204从应用程序前端202接收该查询。目标用户103a可以针对目标内容片段的见解来显式地触发该查询,其是通过应用程序前端202提供的用户界面来提交的(客户端105a在目标用户的用户终端102a上运行)。替代地,该查询可以由应用程序前端202自动触发,例如由目标用户103a通过应用程序前端的用户界面(再次通过在其用户终端102a上运行的客户端应用程序105a进行访问)所执行的另一操作来隐式触发该查询。例如,当目标用户103a打开或编辑目标内容片段时,自动地触发该查询。再举一个例子,可以与一个或多个其他用户103b、c、...、的一个或多个联系卡(即,配置文件)相关联地呈现目标内容片段,并且应用程序前端202自动地向见解引擎204发送查询,以寻求对目标内容片段的用户关系类型的见解;即,寻求针对一个或多个其他用户访问的一个或多个其他相关内容片段的建议,其中这些其他用户的联系卡正在与目标内容联合地呈现,并且也访问了目标内容。在一些实施例中,当目标用户103将光标悬停在给定的其他用户的联系人卡片上时,可以自动地触发该给定的其他用户。
无论触发采取什么形式,该方法然后包括:基于所接收到的查询,针对目标用户103a和识别的目标内容的组合,来识别相应的预先生成的见解的集合。该步骤可以由见解引擎204来执行,参考存储在见解索引208中的见解。再次注意,这些见解可以指定由其他用户103b、c等等提供或拥有的相关内容片段。可以在访问控制下进行这些操作,其可能不允许目标用户103a的访问。基于这些的建议不应呈现给目标用户103a,这是因为它们可以使目标用户103a能够推断出私人信息(例如,其他用户103b、c、...访问的内容)。此外,目标用户103a不应“迷恋”他/她无法访问的建议。
因此,在查询和相关见解的集合的识别之后,该方法包括:从所识别的见解的集合中修剪一个或多个见解,以保留剩余的见解子集(其中,剩余的子集可以具有一个或多个内容片段的成员资格)这种修剪包括:修剪掉至少那些没有指定目标用户允许访问的相关内容片段的见解。即,如果见解仅基于访问控制机制210不允许目标用户103a访问的内容,则将其删除。可以由见解引擎204参考访问控制机制210来执行该修剪。在所述修剪之后,该方法然后包括:经由(应用程序前端202的)用户界面(经由目标用户的用户终端102上的客户端105a)向目标用户输出剩余的见解子集的至少一个)。该输出可以由见解引擎204控制,经由应用程序前端202来执行输出。至少一个见解的输出至少包括:输出所指定的关系以及允许目标用户103访问的仅有的相应相关内容片段的指示。即,向目标用户103a通知为什么已经为他/她建议了相关内容片段。但是,仅向目标用户提供有关他/她实际可以访问的内容的建议。
应当注意:在许多情况下,允许目标用户103a访问的所述内容片段的数量(来自于所识别的见解的集合中指定的相关内容片段之中)在各个见解的集合的预先生成与针对这些见解的查询的接收(由来自应用程序前端202的见解引擎204执行)之间可能有所不同。这可以包括:允许目标用户103访问的片段的数量的减少。例如,其它用户103b之一可能决定撤销在生成见解时,对先前授权的他/她的内容片段的许可。所公开的方法有利地防止了将针对这样的内容的建议呈现给目标用户103a,即使在生成相应的见解时先前已经允许目标用户进行访问。此外,该方法无需在每次接收到新查询时都生成见解来执行此操作。取而代之的是,见解是预先生成的,然后在查询时,只需参考访问控制机制210进行修剪即可。这提供了一种计算上更高效的方式,可以在仍然尊重访问权限的同时提供内容建议。
如上面所提到的,在实施例中,见解索引208中的见解到用户-内容对的映射是基于内容ID和用户ID对。然后,见解引擎204使用这些作为键值来查找用于指定目标内容ID和用户ID的给定查询的见解。在这样的实施例中,见解的集合的预先生成包括(通过分析引擎206):A)为每个用户内容组合生成相应的键值<Ci,Ux>,每个键值包括相应第一用户的用户ID和相应第一内容片段的内容ID;B)将键值存储在见解索引208中;以及C)在见解索引208中,将每个键值映射到相应的见解的集合中的每个见解的描述符,其中每个描述符包括相应的一个或多个相关内容片段中的每个相关内容片段的内容ID(CidA、CidB、CidC...),以及与相应的第一内容的关系的描述。然后,所接收的查询包括目标用户的用户ID(Ux)和目标内容片段的内容ID(Ci)。所识别的见解的集合的识别包括:使用在查询中接收到的用户ID和内容ID来在见解索引208中查找映射到键<Ci,Ux>的、包括目标用户的用户ID和目标内容片段的内容ID的见解的集合。
在优选实施例中,修剪可以包括:I)在见解索引208中,查找由所识别的见解的集合中的见解所指定的相关内容片段的内容ID(CidA、CidB、CidC...);II)形成包括所述查找的内容ID的并集的内容ID的集合;III)从内容ID的集合中删除掉不允许目标用户访问的内容的内容ID,因此留下内容ID的子集;以及IV)确定所识别的见解的集合中的哪些见解不包含所述内容ID子集的至少一个,并修剪掉所确定的见解。通过首先形成内容ID的并集,然后修剪该集合,而不是修剪每个单独的见解中的集合,这有利地通过对每个查询仅执行一次修剪来节省处理资源(所识别的集合中的不同见解可能包括重复的内容ID:该并集形成一个没有重复的集合)。
在另一种示例性优化中,每个内容ID(Ci)以压缩形式存储在键值中,并且见解索引包括每个压缩形式内容ID到相应的全局唯一ID的映射。例如,该全局唯一形式可以是URL,该URL可以相对较长。由于见解索引中包含许多见解,因此,如果这些ID在出现的每个见解中重复,则可能开始消耗大量存储空间。因此,在实施例中,见解索引208将简短的ID(例如,整数)映射到见解索引208中映射表里的每个GUID。当内容ID需要相应的全局唯一ID时,见解引擎204查找映射到见解索引中的各个键值的(简短形式)内容ID,然后在见解索引中查找映射到查找的内容ID的相应全局唯一ID。
例如,通过参考访问控制机制210,关于允许目标用户访问哪些相关内容片段的确定,可能需要所识别出的见解的集合中的见解指定的每个相关内容片段的全长GUID。即,见解引擎必须将内容ID的完整GUID版本输出到访问控制机制210,以判断是否允许目标用户103a进行访问。因此,见解引擎204将所查找的全局唯一ID提交给访问控制机制210,以判断是否允许目标用户103a访问相应内容。
替代地或另外地,为了将剩余的见解子集中的至少一个输出到目标用户103a(见解的最终结果),输出指示可以包括或者可以是至少基于该相应相关内容片段的查找的全局唯一标识符。即,可能需要全长GUID向目标用户103a提供实际建议,例如通过输出URL、指向URL的链接、或者基于URL获得的预览。
在另外的替代或另外的实施例中,一个、一些或所有见解中的每一个可以进一步指定一个或多个附加标准。在这样的实施例中,所述修剪还可以包括:修剪掉在所述查询时间进行评估时,所识别的集合中的不满足其中指定的自己的附加标准的任何见解。
举一个例子,所述一个或多个附加标准可以至少包括:见解指定目标用户103允许访问的多于预定数量的相关内容片段。再举一个例子,所述一个或多个附加标准可以至少包括:见解指定了允许目标用户103a访问的来自于多于预定数量的其他用户的内容片段。这样的附加约束可以有利地帮助尊重隐私考虑。例如,如果有一定数量以上的其他用户访问了潜在的建议内容片段,则可以认为该内容片段与目标内容片段之间的关系是公开的;否则,该关系就不能被目标用户103a知道,这是因为这可能使他/她能够推断出访问了这两个内容片段的特定其他用户103b的某些信息。
在另外的替代或其它实施例中,一个、一些或所有见解中的每一个可以进一步指定限定该见解的元数据。例如,该元数据可以至少包括生成见解时的时间戳记录。在这种情况下,该方法可以包括:在相对于它们自己的指定时间戳而经过了预定的时间限制之后,自动地终止一个或多个见解。该步骤可以由见解引擎204通过参考在见解索引208中查找的元数据来执行。该元数据还可以指定到期的时间限制,或者替代地,这可以是预定的。
在另一个例子中,元数据可以指定相应的一个或多个相关内容片段中的每一个的最后修改时间。再举一个例子,元数据可以指定修改了相应的一个或多个相关内容片段的一个或多个其他用户103b、c、...的指示。在实施例中,在见解还指定了一个或多个附加标准的情况下,则这些附加标准可以包括:见解指定根据元数据最近修改的时间不超过预定时间的相关内容片段(即,新近度标准);和/或见解指定根据元数据,与目标用户103a以预定关系相关的另一个用户(例如,目标用户在其组织中的同事或主管)在先前修改过的相关内容片段。这有助于提供最新的建议,和/或通过目标用户103a的相关用户与目标用户103a具有另外的连接。
在元数据的另一个示例性使用中,所述输出到目标103a用户可以包括:输出见解子集中的所述至少一个的元数据(即,输出元数据作为最终建议的一部分)。这可以帮助目标用户103a决定是否访问建议的内容。
还应当注意,不同的可能标准和元数据并不互斥。在实施例中,给定的见解可以包括一个或多个附加标准和/或一种或多种元数据的任意组合。
现在更详细地讨论以上概述的技术的一些示例性特征和实现细节。同样,可以将各个步骤理解为由见解引擎204响应于经由应用程序前端202接收的查询而执行,并且在适当的时候推送到访问控制机制210、分析引擎206和见解索引208,并通过应用程序前端202来输出结果。
当前的信息检索和生产力系统依赖于分析任务,向用户显示相关信息103。通过生成有关基础数据的见解,可以向系统的用户显示偶然的新内容,解释某些内容为何与他们相关等等。这些见解的产生通常既需要大量数据,又需要大量计算。因此,可以通过例如批处理作业或在用户消费见解之前的某个时间来生成所述见解。在见解与具有相关访问控制的内容有关的情况下,这是有问题的,这是因为:用户有权访问内容片段的更新,可能会改变在不从基础内容中泄漏信息的基础上是否可以向用户呈现特定见解的状况。这些注意事项在企业软件部分中特别(但不是唯一)相关。
因为见解的产生通常在计算上是耗费资源的,并且是数据密集的,所以本文所公开的实施例提供了一种用于以允许高效评估和检索的格式来存储与特定内容片段有关的多个见解的单元208。
考虑一种基于内容分析以及用户如何与之交互的生产力或信息检索系统,该系统向用户103a呈现认为与她相关的内容。出于多种原因,可能发现呈现的内容与用户相关。例如,一个文档可能很有趣,因为在许多其它文档中检测到该主题,或者您的经理已经查看或编辑了该文档。同样,某个内部网络页面可能是用户103a感兴趣的,这是因为它包含与用户自己当前正在撰写的文档相同的主题,或者因为查看了用户103a读取的某些文档的人们103b、103c也访问了该站点。对于单个内容片段(例如,文档、站点或视频等),系统可以产生与之相关的多种见解。每个这样的见解都可以构成向用户103a显示或推荐内容的原因。
见解的产生通常既需要大量数据,又需要大量计算。例如,可以检索有关与内容和用户103相关的大量数据的信息,以构建高保真交互模型,查找具有相似主题的文档等等。此外,不同见解的产生通常是基于不同的模型和数据,并且可能发生在不同的节奏和时间点。因此,支持见解检索的软件组件204必须提供添加新的和更新现有见解的有效方式。
当内容受访问控制限制时,生成见解的分析工作通常在生成见解时忽略用户无法访问的内容。例如,文档DA可能与用户103a(Alice)有关,因为它的内容类似于她的经理103b最近修改的另一个文档DB的内容。但是,如果Alice无法访问DB,那么就无法在不泄漏有关DB的信息的情况下显示该见解。因此,分析工作可以不存储此数据以供以后检索,而忽略了该数据。但是,可能还有其由理由向Alice推荐DA。例如,查看DA的人员103c,...最近也可能查看过DC、DD和DE,Alice访问了所有这些文档。在这种情况下,该系统可以代表Alice存储与DA有关的后一个见解,以便以后可以使用它,例如呈现新的偶然内容、对搜索结果进行排名、或者出于任何其它原因。
现在考虑以下的情形,在该情形下,在(分析引擎206)执行分析工作时,Alice可以访问包括DB在内的所有文档。在这种情况下,将存储这两种见解以供以后检索。但是,在使用见解之前,对DB的访问控制进行了更新,其撤消了Alice对DB的访问权限。为了尊重内容的访问控制,不能再将从DB派生的见解呈现给Alice。这可以通过以下方式来实现:a)部分地或全部地基于DB而对所有见解进行反应性更新,或者b)在查询时间,对提供给用户的见解进行过滤。由于大量(可能针对大量不同用户103的)见解可能(部分地)从单个内容片段中得出,因此从计算上来说,更新每个见解可能会变得非常耗费资源。由于不能保证产生见解的用户103a曾经使用过见解,这一事实使这个问题更加严重。由于这些效率的原因,所公开的系统利用见解的查询时间修剪来尊重内容的访问控制,从而尊重所产生的见解。
当前公开的系统的实施例包括:针对内容用户对的见解的索引208、见解查询评估引擎204、以及访问控制评估组件210。一般而言,这些组件的职责如下。
见解索引208:对于每个内容用户对,存储一组见解。这些见解包含评估见解查询和完成访问控制检查所需的信息。
访问控制评估组件210:该软件组件提供一种检查给定用户103a是否有权访问内容片段的单元。
见解查询引擎204:该组件利用访问控制评估组件210来确定对其进行见解查询的用户103a可访问哪些内容,并通过去除用户103a不可用的见解来精练见解结果集,并根据系统的当前状态来最终确定见解。
访问控制检查机构210本身可以以本领域已知的方式来实现。可以将其视为独立的软件组件。它的实现将特定于用于保护内容的访问控制机制。
见解索引208用于存储内容用户对的见解的集合。虽然可以使用任何高效的索引结构,但实现此目的的一种方法是使用字典,其中键值是内容和用户ID的组合,使得每个键值k(Ci,Uj)唯一地解决了针对该特定内容片段和该特定用户生成的一组见解Insight{Iji1,Iji2,Iji3...}。
通过分析生成的每个见解,都包含针对内容执行访问控制检查所必需的信息(其中从该内容中导出见解)、以及用于描述见解查询引擎如何对其进行评估的一些数据。具体而言,每个见解包含:“tidbit”、一组内容ID、一组变量、以及可选的一组约束和/或系统元数据。
“tidbit”为用户提供了呈现内容片段的描述或原因。在描述可能基于查询评估而改变的意义上,该tidbit可以是动态的。例如,它可以是基于正则表达式,例如“查看过{nameci}的{countusers}用户,也查看过{namecz}”,其中nameci是见解所属内容的名称,namecz是用户还可以访问的其它某些内容的名称,countusers是查看过namecz的用户数。
内容ID的集合ContentId{CidA、CidB、CidC...}标识从中得出见解的所有内容片段。
当确定动态tidbit时,可以使用变量集合Variable{varA,varB,varC,...}。例如,内容的文件名、查看者的数量、或者如上例所示,是一对内容名称-视图计数对。
约束集Constraint{const1,const2,const3,...}包括在返回见解之前必须评估的约束。这些约束条件可以促进“众包”,例如,用户必须有权访问一些最小数量的内容项才能展现该见解,同时也可以提早终止。例如,用户是否有权访问用于生成该见解的10或100个内容项都没关系,因为一旦达到11,就可以使用“10+”值来填充tidbit。
系统元数据可以例如包括指示何时生成见解的时间戳、到期时间、给定用户体验的相对得分等等。该元数据用于系统记账,例如驱逐旧的或过期的见解,或者用于给定用户103a在多个可能的见解之间进行选择的手段。系统元数据可以存储在属性包中。
图3示出了包含针对内容片段的一组生成的见解的见解索引。
见解查询引擎204负责代表用户103a来执行和评估向系统发出的查询。该引擎以一组键(内容用户对)作为输入,并为这些对中的每一个返回一组最终的见解。假定生成内容用户对所需的内容标识符,被提供为引擎204的输入。例如,内容标识符可以对应于用户103a在浏览内联网时显示的内容片段。另一个是类似馈送的系统,其中内容标识符对应于发现的与用户103a相关的内容。此外,可以基于见解索引中存储的数据来构建其它索引,以支持内容确定。例如,如果见解元数据描述了用户修改了内容片段的哪些,则可以创建并查询该元数据上的索引以支持以下场景:其中,一个人感兴趣的是基于用户管理器103b已经修改的内容中的所有候选者来确定要向用户103a建议的候选内容集合。这样的附加索引将是对本文所述实施例的可能扩展。
在内部,查询评估引擎204的工作方式如下:1)首先在见解索引208中查询根据提供的键值来存储的见解;2)构建用于生成见解的完整内容ID集,然后再查询3)访问控制组件210以查找用户103a当前有权访问的内容ID集合。基于内容ID的该潜在修剪的集合,引擎204然后执行以下操作:4)通过评估相应的约束来评估每个见解。如果满足约束条件,则基于可用变量5)来构建每个见解的最终tidbit。在以下段落中,将更详细地描述每个步骤。
如前一段落所述,见解查询执行引擎204执行的第一步是使用所提供的键值来查询见解索引208。这些键值对应于内容用户对。也就是说,如果系统为给定的用户生成了与N个文档相关的见解,则将生成N个内容用户对或者键值,例如<C1,Ua>,<C2,Ua>,..,<CN,Ua>。如果系统为两个不同的用户生成了相同内容片段的见解,则将产生两个内容用户对,例如<Ci,Ua>和<Ci,Ub>。当见解查询到达系统中,代表特定用户103a来执行该查询。使用与该用户相对应的一个或多个键以及要获取其见解的内容片段,来查询见解索引。键值可以具有任何格式,但是生成键值的一种方法可以是组合用户和内容的唯一标识符(如果可用的话)。步骤1的结果是一组见解的集合,每个见解的集合对应一个内容片段[InsightsciUa{},InsightscjUa{},...,InsightscmUa{}]。
查询执行管道的下一步是收集内容的完整标识符集,从中得出这些集合中的不同见解。如上所述,每个见解都包含用于得出其内容的内容的标识符。步骤2)的结果是集合中所有的见解的集合中的每个见解中所有内容标识符的并集,或者InsightContentIds=Ids(InsightsciUa{})U Ids(InsightscjUa{})U...U Ids(InsightscmUa{}),其中Ids(InsightscmUa{})对应于集合InsightscmUa{}中所有见解的内容标识符的并集。在图4中示出了该集合的生成(针对与给定内容片段相关的一组见解以及单个用户103a的内容标识符的总集合的生成)。可以并行地进行内容标识符的检索,以加快查询执行速度。
下一步骤3)是修剪内容ID集合,使其仅包含与查询执行时用户103a有权访问的内容相对应的那些标识符。这是通过将InsightContentIds馈送到访问控制组件210来完成的。对于InsightContentIds中的每个标识符,访问控制组件210应该提供用户103a是否具有访问权限的答案。基于该信息,现在可以通过仅添加与用户103a有权访问的内容相对应的那些标识符,而忽略用户103a不可访问的那些内容,来构造经过修剪的内容标识符集InsightContentIds。
在步骤4)期间,查询执行引擎204检查每个见解以判断是否可以将其返回给用户103a,如果可以,则确定见解的tidbit。每个tidbit都有一个相关联的约束集合,必须在此过程中对其进行评估。这些约束可以采用任何布尔函数的形式,并且还可以在执行过程中使用见解的存储变量。一种示例性约束是:用户103a必须能够访问可从中导出见解的至少三个内容项。另一种约束可以是基于新近度,要求见解是相关的,用户103a有权访问的至少一个相关内容片段已被一个或多个其他用户103b、c等等进行了修改或查看。在这种情况下,可以将诸如时间戳和用户标识符之类的信息存储为见解变量集的一部分。
可以通过多种方式实现约束的实施及其评估。例如,可以使用可解释语言,将约束存储为函数或方法。如果基于.Net平台,则可以将约束实现为普通的C#函数,并在使用Roslyn编译器服务进行约束评估时对其进行编译和执行。另一种方法是使用某些特定于域的语言来指定约束,然后在相应的运行时中解释并执行约束。如果经常使用某些约束,则可以通过在见解之间共享约束来减少存储(并取决于实现策略的编译)开销。在这种情况下,约束将采用“存储过程”的形式,可以对其进行参数化,并将见解变量集作为输入。
减少运行时开销的另一种技术是将内容标识符映射到更紧凑的表示形式(例如,整数)的技术。如果不同的内容ID的数量很大,并且在多个见解中表示许多相同的内容ID,则这特别有价值。通过为每个内容标识符分配一个唯一的整数,然后将它们存储在以实际内容标识符为键值的双向映射结构以及压缩的标识符中,则可以减少存储和内存开销,这是因为可以使用整数来表示见解中的内容。此外,可以通过减少在约束验证期间使用的标识符的大小来显著地减少计算开销,匹配两个整数比匹配字符串甚至GUID要更快得多。
可以将用于见解的变量集合实现为属性包,其中属性名称对应于变量的名称,而属性值类似地对应于变量的值。如果期望键入变量,则可以通过将类型编码在属性值中来实现。这些约束可以容易地访问属性包中的变量,并按其名称来检索值。因为约束如何维护有关如何处理这些变量的知识,所以任何可序列化的数据都可以存储为变量。这使得分析可以准备变量,从而可以在查询时实现最大效率。这样的一个例子是:多个替代的文件名以及它们的视图计数可以注入到tidbit中。如果期望提供尽可能高的视图计数,则视图计数可以按降序来排序文件名-视图计数元组的列表。在这种情况下,如果用户103a不可访问第一条目,则查询评估引擎仅需考虑第二条目。
如上例所示,通过利用变量中的多个潜在值的列表,即使面对多个访问撤消,也可以提供见解。实际上,分析工作通常会生成多个此类选项,并且仅存储前N个结果。另一方面,执行查询而不产生结果会浪费资源。通常,应该在存储/内存开销与不返回结果的可能性之间进行合理的折衷。
可以以集中式或分散式方式来实现实施例。例如,所有组件都可以驻留在单个计算机上,或者以各种方式进行分布。这提供了独立缩放不同组件的功能。一个示例是使用分布式哈希表(DHT)来实现见解索引,而另一个示例是将见解存储在每个用户的强化模型中。还可以将访问控制组件实现为与见解查询引擎在同一台机器上运行的单独服务,也可以实现为可通过网络访问的Web服务。至于选择哪种方法,需要进行与性能和可维护性有关的权衡。
以下给出了当将见解添加到见解索引208时以及当评估见解查询时,实施例如何操作的逐步描述。在下文中,假设已经利用必要的元数据产生了见解,以支持将由本发明实现的任何逐出策略。因此,向系统中添加新的见解涉及以下步骤。
基于见解所属的内容ID和用户ID来查询见解索引。
假设对<Ci,Ux>键可以存储的见解数没有上限,则更新该键下的见解的集合。如通过检查见解元数据所确定的,如果见解不能代替另一个较旧/过时的见解,则将其插入到集合中。如通过检查见解元数据所确定的,如果见解取代了较旧/过时的见解,则它将替换集合中的旧见解。
如果启用了针对内容标识符的压缩方案,则将内容ID添加到映射中,并将压缩的标识符存储在见解中。
如果存在<Ci,Ux>键可以存储的见解数的某个上限,则通过以下方法,将调用任何主动驱逐策略来回收空间:从集合中移除逐出的见解;并且如果启用了针对内容标识符的压缩方案,则从映射中删除所有未使用的内容标识符。
根据以下方法,将见解插入到集合中。如通过检查见解元数据所确定的,如果见解不能代替另一个较旧/过时的见解,则将其插入到集合中。如通过检查见解元数据所确定的,如果见解取代了较旧/过时的见解,则它将替换集合中的旧见解。
如果启用了针对内容标识符的压缩方案,则将内容ID添加到映射,并将压缩的标识符存储在见解中。
当见解查询到达系统时,通过执行以下步骤来评估查询。
基于见解所属的内容ID和用户ID来查询见解索引。
对于根据用户标识符和1中提供的内容ID集合生成的每个内容用户<Ci,Ux>、<Cj,Ux>、<Ck,Ux>...对,从存储在键<Ci,Ux>下的见解中检索用于生成见解的内容标识符集合。可以针对集合中的每个见解,并行地执行该操作。
如果采用针对内容标识符的压缩方案,则读取后备索引结构以供以后在查询执行中使用。
查询访问控制组件210以获得用户103a有权访问的(可能被删减的)一组内容标识符。
如果采用针对内容标识符的压缩方案,则在将非压缩标识符发送到访问控制组件之前,使用索引结构从压缩的标识符中检索完整的内容标识符。
查询执行引擎204评估存储在键<Ci,Ux>下的集合中的每个见解。这可以并行发生。即,评估该见解的所有约束;如果满足所有约束,则最终确定tidbit,并将其见解添加到查询的候选见解的集合中;但是,如果不满足所有约束,则丢弃该见解。
最后,将相关联的最终见解返回给客户端105。
总结以上讨论的各种问题,组织的智能和分析是资源和计算密集型的,通常是分批完成的,而不是实时的。这种延迟会导致结果可用性与最新的安全状态不匹配。例如,用户对组织智能和分析结果的可用性通常取决于与这些结果中的内容相关联的访问控制以及用户103a的访问控制特权。当这些安全状态更改时,结果通常不会反映这些更改,这是因为结果是在更改之前产生的,从而导致不良的用户体验,甚至存在安全风险。实施例通过将访问控制状态与生成的结果相关联来解决这些问题,从而可以根据最新的访问控制状态来显示不同的结果。这可以包括:
·在提供见解的查询时,观察从中获得见解的所有内容的访问控制;
·将该访问控制集成到见解查询评估引擎中,以评估和执行查询,这是查询执行不可或缺的一部分;
·在每个用户的基础上,将多个潜在的见解与内容片段相关联;
·将每个见解与多个布尔约束进行关联,从而允许查询时间解析浮现哪些见解;
·将一组变量与每个见解相关联,从而允许在查询时,生成见解tidbit的多个版本;
·将每个见解与查询时生成的动态tidbit相关联;
·通过允许使用压缩的内容标识符,利用可选的映射结构来减少运行时内存和CPU开销;以及
·通过在见解之间共享约束,来减少存储和运行时CPU开销。
应当理解,仅通过示例的方式来描述以上实施例。一旦给出本文的公开内容,其它变型或应用对于本领域普通技术人员而言将变得显而易见。本公开内容的保护范围不由上述实施例限制,而仅由所附权利要求书限制。

Claims (15)

1.一种用于在网络上共享内容的计算机实现的方法,其中,所述内容中的至少一些内容受访问控制的限制,所述访问控制限制了允许哪些用户访问所述内容;所述方法包括:
针对多个用户内容组合中的每一个相应的用户内容组合,预先生成相应的多个见解的集合,每个用户内容组合包括多个第一用户中的一个第一用户和该用户有权访问的多个第一内容片段中的一个内容片段的不同相应组合,其中,每个见解指定一种关系类型以及一个或多个其它相关内容片段,所述一个或多个其它相关内容片段与所述相应的第一内容片段具有所指定的关系类型;
在所述预先生成之后,接收查询,所述查询用于寻求对所述第一用户中的目标用户所访问的所述第一内容片段中的目标内容的见解;
基于所接收的查询,针对所述目标用户和所述目标内容的所述组合来识别所述相应的预先生成的见解的集合;
在所述查询和所述识别之后,从所识别的见解的集合中修剪掉一个或多个见解,以保留剩余的见解子集,其中,所述修剪包括:修剪掉至少那些没有指定所述目标用户允许访问的相关内容片段的见解;以及
在所述修剪之后,经由用户界面向所述目标用户输出所述剩余的见解子集中的至少一个,其包括至少输出所指定的关系以及允许所述目标用户访问的仅有的所述相应相关内容片段的指示。
2.根据权利要求1所述的方法,其中,在所述集合的所述预先生成与所述查询的所述接收之间,从所识别的集合的见解中指定的所述相关内容片段之中,减少了允许所述目标用户访问的所述内容片段的数量。
3.根据权利要求1所述的方法,其中,所识别的集合中的所述见解中的一个见解的所述关系类型包括:
-所述第一内容片段的文本、音频或视频被分析为与所述相应的其它相关内容片段的文本、音频或视频相似;或
-所述第一内容片段的主题与所述相应的其它相关内容片段的主题相同。
4.根据权利要求1所述的方法,其中,所识别的集合中的所述见解中的一个见解指定的所述关系类型包括:
-访问所述第一内容片段的一个或多个其他用户也访问了所述相关的内容片段。
5.根据权利要求4所述的方法,其中,所述一个或多个其他用户是与所述第一用户具有预定关系的用户。
6.根据权利要求1所述的方法,其中,所述见解中的一个、一些或全部中的每一个进一步指定一个或多个附加标准,并且所述修剪还包括:修剪掉在所述查询时间进行评估时,所识别的集合中的不满足其中指定的自己的附加标准的任何见解。
7.根据权利要求6所述的方法,其中,所述一个或多个附加标准至少包括:
-所述见解指定了允许所述目标用户访问的多于预定数量的相关内容片段。
8.根据权利要求4所述的方法,其中,所述见解中的一个、一些或全部中的每一个进一步指定一个或多个附加标准,并且所述修剪还包括:修剪掉在所述查询时间进行评估时,所识别的集合中的不满足其中指定的自己的附加标准的任何见解;并且其中,所述一个或多个附加标准至少包括:
-所述见解指定了允许所述目标用户访问的来自于多于预定数量的其他用户的内容。
9.根据权利要求1所述的方法,其中,所述见解中的一个、一些或全部中的每一个进一步指定限定所述见解的元数据。
10.根据权利要求9所述的方法,其中,所述元数据至少包括生成所述见解时的时间戳记录,并且其中,所述方法包括:在相对于其自己的指定时间戳经过预定的时间限制之后,自动地使所述见解中的一个或多个到期。
11.根据权利要求9所述的方法,其中,所述元数据指定以下之一或二者:
-最后修改所述相应的一个或多个相关内容片段中的每一个的时间,或
-修改所述相应的一个或多个相关内容片段的一个或多个其他用户的指示;
其中,所述见解中的每个见解还指定一个或多个附加标准,并且所述修剪还包括:修剪掉在所述查询时间进行评估时,所识别的集合中的不满足其中指定的自己的附加标准的任何见解;并且其中,所述一个或多个附加标准至少包括:
-所述见解指定根据所述元数据最近修改的时间不超过预定时间的相关内容片段,或者
-所述见解指定根据所述元数据,与所述目标用户以预定关系相关的另一个用户在先前修改过的相关内容片段。
12.根据权利要求1所述的方法,其中,所述预先生成包括:
-为所述用户内容组合中的每个用户内容组合生成相应的键值,每个键值包括所述相应的第一用户的用户ID和所述相应的第一内容片段的内容ID;
-将所述键值存储在见解索引中;以及
-在所述见解索引中,将每个键值映射到所述相应的见解的集合中的每个见解的描述符,其中,每个描述符包括所述相应的一个或多个相关内容片段中的每个相关内容片段的内容ID、以及与所述相应的第一内容片段的关系的描述;
其中,所接收的查询包括所述目标用户的用户ID和所述目标内容片段的内容ID;
其中,对所识别的见解的集合的所述识别包括:使用在所述查询中接收到的所述用户ID和所述内容ID,在所述见解索引中查找映射到所述键值的所述见解的集合,其中所述键值包括所述目标用户的用户ID和所述目标内容片段的内容ID。
13.根据权利要求12所述的方法,其中,所述修剪包括:
-在所述见解索引中查找所识别的见解的集合中的所述见解指定的所述相关内容片段的内容ID;
-形成包括所述查找内容ID的并集的内容ID集合;
-从所述内容ID集合中,修剪掉不允许所述目标用户访问的内容的内容ID,从而留下内容ID的子集;以及
-确定所识别的见解的集合中的哪些见解不包含所述内容ID的所述子集中的至少一个,并修剪掉所确定的见解。
14.一种用于通过网络共享内容的计算机程序,其中,所述内容中的至少一些内容受访问控制的限制,所述访问控制限制了允许哪些用户访问所述内容,所述计算机程序体现在计算机可读存储装置上,并被配置为在运行时一个或多个处理器时执行以下操作:
针对多个用户内容组合中的每一个相应的用户内容组合,预先生成相应的多个见解的集合,每个用户内容组合包括多个第一用户中的一个第一用户和该用户有权访问的多个第一内容片段中的一个内容片段的不同相应组合,其中,每个见解指定一种关系类型以及一个或多个其它相关内容片段,所述一个或多个其它相关内容片段与所述相应的第一内容片段具有所指定关系类型;
在所述预先生成之后,接收查询,所述查询用于寻求对所述第一用户中的目标用户所访问的所述第一内容片段中的目标内容的见解;
基于所接收的查询,针对所述目标用户和所述目标内容的所述组合来识别所述相应的预先生成的见解的集合;
在所述查询和所述识别之后,从所识别的见解的集合中修剪掉一个或多个见解,以保留剩余的见解子集,其中,所述修剪包括:修剪掉至少那些没有指定所述目标用户允许访问的相关内容片段的见解;以及
在所述修剪之后,经由用户界面向所述目标用户输出所述剩余的见解子集中的至少一个,其包括至少输出所指定的关系以及允许所述目标用户访问的仅有的所述相应相关内容片段的指示。
15.一种用于通过网络共享内容的系统,其中,所述内容中的至少一些内容受访问控制的限制,所述访问控制限制了允许哪些用户访问所述内容;所述系统包括:
一个或多个处理器;以及
存储装置,其存储被布置为在所述一个或多个处理器上运行的代码,所述代码被配置为在运行时执行以下操作。
-针对多个用户内容组合中的每一个相应的用户内容组合,预先生成相应的多个见解的集合,每个用户内容组合包括多个第一用户中的一个第一用户和该用户有权访问的多个第一内容片段中的一个内容片段的不同相应组合,其中,每个见解指定一种关系类型以及一个或多个其它相关内容片段,所述一个或多个其它相关内容片段与所述相应的第一内容片段具有所指定的关系类型;
-在所述预先生成之后,接收查询,所述查询用于寻求对所述第一用户中的目标用户所访问的所述第一内容片段中的目标内容的见解;
-基于所接收的查询,针对所述目标用户和所述目标内容的所述组合来识别所述相应的预先生成的见解的集合;
-在所述查询和所述识别之后,从所识别的见解的集合中修剪掉一个或多个见解,以保留剩余的见解子集,其中,所述修剪包括:修剪掉至少那些没有指定所述目标用户允许访问的相关内容片段的见解;以及
-在所述修剪之后,经由用户界面向所述目标用户输出所述剩余的见解子集中的至少一个,其包括至少输出所指定的关系以及允许所述目标用户访问的仅有的所述相应相关内容片段的指示。
CN201980032976.8A 2018-05-17 2019-05-06 推荐安全内容 Pending CN112136121A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/982,133 2018-05-17
US15/982,133 US10944756B2 (en) 2018-05-17 2018-05-17 Access control
PCT/US2019/030784 WO2019221945A1 (en) 2018-05-17 2019-05-06 Recommending secured content

Publications (1)

Publication Number Publication Date
CN112136121A true CN112136121A (zh) 2020-12-25

Family

ID=66647452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980032976.8A Pending CN112136121A (zh) 2018-05-17 2019-05-06 推荐安全内容

Country Status (4)

Country Link
US (1) US10944756B2 (zh)
EP (1) EP3794457A1 (zh)
CN (1) CN112136121A (zh)
WO (1) WO2019221945A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11375251B2 (en) 2020-05-19 2022-06-28 International Business Machines Corporation Automatically generating enhancements to AV content
US11709845B2 (en) * 2021-11-22 2023-07-25 Microsoft Technology Licensing, Llc Federation of data during query time in computing systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358240A1 (en) * 2015-06-08 2016-12-08 IntelliResponse Systems, Inc. Method and apparatus for facilitating comprehension of user queries during interactions
CN108027817A (zh) * 2015-12-30 2018-05-11 谷歌有限责任公司 基于用户的组关联建议查询

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5934900A (en) * 1999-07-16 2001-02-05 Agentarts, Inc. Methods and system for generating automated alternative content recommendations
US20020198882A1 (en) * 2001-03-29 2002-12-26 Linden Gregory D. Content personalization based on actions performed during a current browsing session
US7664751B2 (en) 2004-09-30 2010-02-16 Google Inc. Variable user interface based on document access privileges
US10848590B2 (en) * 2005-10-26 2020-11-24 Cortica Ltd System and method for determining a contextual insight and providing recommendations based thereon
US20090254546A1 (en) * 2008-04-03 2009-10-08 Pointcross, Inc. Personalized screening of contextually relevant content
US10810613B1 (en) * 2011-04-18 2020-10-20 Oracle America, Inc. Ad search engine
US20130073340A1 (en) 2011-09-20 2013-03-21 American Express Travel Related Services Company, Inc. Systems and methods for generating business insights
US8909476B2 (en) 2012-03-22 2014-12-09 Here Global B.V. Method and apparatus for recommending content based on a travel route
WO2014132250A1 (en) * 2013-02-26 2014-09-04 Adience SER LTD Generating user insights from images and other data
US20140289012A1 (en) 2013-03-19 2014-09-25 Enterra Solutions, Llc Aggregated sensory profile generation, analytics, and insights
US20140297739A1 (en) * 2013-03-27 2014-10-02 Howard T. Stein Media Previews Based on Social Context
US8849764B1 (en) 2013-06-13 2014-09-30 DataGravity, Inc. System and method of data intelligent storage
US9720577B1 (en) * 2014-05-01 2017-08-01 On24, Inc. Webcast and virtual environment content recommendation engine and method for recommendation using user history and affinity with other individuals to predict interesting current future webcasts and online virtual environments and content
US20160078520A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Modified matrix factorization of content-based model for recommendation system
US9600548B2 (en) 2014-10-10 2017-03-21 Salesforce.Com Row level security integration of analytical data store with cloud architecture
US20160196582A1 (en) * 2015-01-02 2016-07-07 Verizon Patent And Licensing Inc. Subscriber location audience insights for enterprise networks
US20170083523A1 (en) * 2015-09-18 2017-03-23 Facebook, Inc. Granular Forward Indexes on Online Social Networks
US20170262417A1 (en) 2016-03-14 2017-09-14 Agreewithme Inc. Summarized document version map
US10242212B2 (en) 2016-04-18 2019-03-26 Quest Software, Inc. Preserving data protection and enabling secure content awareness in query services
US10650007B2 (en) 2016-04-25 2020-05-12 Microsoft Technology Licensing, Llc Ranking contextual metadata to generate relevant data insights
US20180068232A1 (en) * 2016-09-07 2018-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Expert-assisted online-learning for media similarity
US10789620B2 (en) * 2017-02-03 2020-09-29 Adobe Inc. User segment identification based on similarity in content consumption
US20180234796A1 (en) * 2017-02-10 2018-08-16 Adobe Systems Incorporated Digital Content Output Control in a Physical Environment Based on a User Profile
US11886431B2 (en) * 2018-05-22 2024-01-30 Hyland Uk Operations Limited Real-time analytical queries of a document store

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358240A1 (en) * 2015-06-08 2016-12-08 IntelliResponse Systems, Inc. Method and apparatus for facilitating comprehension of user queries during interactions
CN108027817A (zh) * 2015-12-30 2018-05-11 谷歌有限责任公司 基于用户的组关联建议查询

Also Published As

Publication number Publication date
EP3794457A1 (en) 2021-03-24
US10944756B2 (en) 2021-03-09
US20190356669A1 (en) 2019-11-21
WO2019221945A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
Bizer et al. Linked data-the story so far
US11816615B2 (en) Managing project tasks using content items
EP1624386B1 (en) Searching for data objects
CN107092666B (zh) 用于网络的系统、方法以及存储介质
JP5592505B2 (ja) トピックに基づいて調整可能なデーター・フィードの総計
US8756221B2 (en) Social files
US7912816B2 (en) Adaptive archive data management
US9465828B2 (en) Computer implemented methods and apparatus for identifying similar labels using collaborative filtering
US20170308962A1 (en) System and method for conversation discovery
US20080263014A1 (en) Method, device and program for personal information management
WO2012070935A1 (en) Method and system for handling a digital sample
US20200401639A1 (en) Personalizing a search query using social media
US20130283231A1 (en) Method and System for Compiling a Unique Sample Code for an Existing Digital Sample
US20150142776A1 (en) Techniques for managing writable search results
CN112136121A (zh) 推荐安全内容
Marchionini From information retrieval to information interaction
US9542457B1 (en) Methods for displaying object history information
Graube et al. Open semantic revision control with R43ples: Extending SPARQL to access revisions of named graphs
Parker-Wood et al. Making sense of file systems through provenance and rich metadata
Shaw et al. Integrating collaborative bibliography and research
US20160077727A1 (en) Online Protocol Community
CN109074399A (zh) 计算机网络中的个性化内容建议
Rajan et al. Features and Challenges of web mining systems in emerging technology
Sacco et al. Privacy aware and faceted user-profile management using social data
Handschuh et al. Deep Annotation for Information Integration.

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