CN112840336A - 用于对内容项推荐进行排名的技术 - Google Patents

用于对内容项推荐进行排名的技术 Download PDF

Info

Publication number
CN112840336A
CN112840336A CN201980068390.7A CN201980068390A CN112840336A CN 112840336 A CN112840336 A CN 112840336A CN 201980068390 A CN201980068390 A CN 201980068390A CN 112840336 A CN112840336 A CN 112840336A
Authority
CN
China
Prior art keywords
content
tag
tags
input
image
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
CN201980068390.7A
Other languages
English (en)
Inventor
S·戈沙尔
N·K·帕特纳亚克
V·彼得
H·卡德拉巴陆
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN112840336A publication Critical patent/CN112840336A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/9536Search customisation based on social or collaborative filtering
    • 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/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述的技术包括使用软件工具和特征向量比较来分析和推荐来自内容储存库的图像、文本内容和其它相关媒体内容。数字内容推荐工具可以与多个后端服务和内容储存库进行通信,以分析文本和/或视觉输入、从输入中提取关键词或主题、对输入内容进行分类和标记,以及将分类/标记的内容存储在一个或多个内容储存库中。输入文本和/或输入图像可以被转换成多维向量空间内的向量,并且与向量空间内的多个特征向量进行比较以识别内容储存库内的相关内容项。这样的比较可以包括详尽的深度搜索和/或高效的基于标签的经过滤的搜索。可以检索相关的内容项(例如,图像、音频和/或视频剪辑、到相关文章的链接等)并将其呈现给内容作者并嵌入到原始创作的内容中。

Description

用于对内容项推荐进行排名的技术
优先权要求
本申请:
(1)要求享有于2019年9月24日提交的标题为“SMART CONTENT RECOMMENDATIONSFOR CONTENT AUTHORS”的美国专利申请No.16/581,138的优先权并且是其部分继续申请,该专利申请进而要求于2018年10月18日提交的标题为“SMART CONTENT RECOMMENDATIONSFOR CONTENT AUTHORS”的印度临时专利申请No.201841039495的权益和优先权;以及
(2)要求于2018年10月18日提交的标题为“SMART CONTENT RECOMMENDATIONS FORCONTENT AUTHORS”的印度临时专利申请No.201841039495的权益和优先权。
为了所有目的,通过引用将美国专利申请No.16/581,138和印度临时专利申请No.201841039495的全部内容并入本文。
背景技术
用于在线发布和/或传输的原始内容的生成者和作者可以使用各种不同的基于软件的工具和技术来生成、编辑和存储新生成的内容。例如,新的原始内容可以包括在线文章、新闻通讯、电子邮件、博文等,并且此类内容可以经由基于软件的文字处理器工具、电子邮件客户端应用、web开发工具等生成。在生成新的创作内容期间,对于作者来说,在内容中识别和结合附加相关项目(诸如主题图像和指向相关文章的链接等)可以是有用的。
但是,即使当使用搜索引擎、关键词搜索等时,定位和结合相关图像、链接和其它相关内容也可以证明是困难并且手动上是费时的。例如,当新内容的生成者或作者希望将相关项目结合到其新创作的文本中时,作者必须找到期望的相关项目、确保这些项目可以安全地插入到创作的内容中(例如,不含病毒和恶意软件)、确认作者和/或组织有权使用这些项目,然后将这些项目嵌入到新创作的内容中。这些处理中的每一个都可能在技术上具有挑战性、是手动密集的且效率低下。
发明内容
本公开的各方面涉及人工智能(AI)驱动的工具,该工具被配置为用作智能数字助理以从内容储存库推荐图像、文本内容和其它相关媒体内容。某些实施例可以包括具有图形用户界面的前端软件工具,以补充用于创作原始媒体内容(例如,博文、在线文章等)的内容创作界面。在一些情况下,附加的GUI屏幕和特征可以结合到现有的内容创作软件工具中,例如,作为软件插件。智能数字内容推荐工具可以与许多后端服务和内容储存库进行通信,例如,以分析文本和/或视觉输入、从输入中提取关键词或主题、对输入内容进行分类和标记,以及将分类/标记的内容存储在一个或多个内容储存库中。
在智能数字内容推荐工具的各种实施例中执行的附加技术(例如,或者直接由软件工具和/或间接地通过调用后端服务)可以包括将输入文本和/或图像转换成多维向量空间内的向量,并将输入内容与多个储存库内容进行比较,以找到内容储存库中的多个相关内容选项。这样的比较可以包括彻底和详尽的深度搜索和/或更高效的基于标签的经过滤的搜索。最后,可以检索相关的内容项(例如,图像、音频和/或视频剪辑、到相关文章的链接等)并将其呈现给内容作者,以进行检查并嵌入到原始创作的内容中。
附图说明
通过参考说明书的其余部分并结合以下附图,可以实现对根据本公开的实施例的性质和优点的进一步理解。
图1是包括其中可以实现本公开的某些实施例的数据集成云平台的示例计算机系统体系架构的图。
图2是根据本公开的某些实施例的用于配置、监视和控制服务实例的用户界面中的定制仪表板的示例屏幕。
图3是根据本公开的某些实施例的数据集成云平台的体系架构图。
图4是根据本公开的某些实施例的被配置为执行内容分类和推荐的示例计算环境的图。
图5是根据本公开的某些实施例的被配置为执行内容分类和推荐的示例计算环境的另一个图。
图6是图示根据本公开的某些实施例的用于基于内容储存库内的内容资源来生成特征向量的处理的流程图。
图7是根据本公开的某些实施例的识别多个图像特征的示例图像。
图8是根据本公开的某些实施例的图示关键词提取处理的文本文档的示例。
图9-11是图示根据本公开的某些实施例的生成和存储图像标签的处理的图。
图12是图示根据本公开的某些实施例的用于比较特征向量和识别内容储存库内的相关内容的另一个处理的流程图。
图13是图示根据本公开的某些实施例的将提交的图像转换成特征向量的技术的图。
图14是根据本公开的某些实施例的用特征向量填充的说明性向量空间。
图15是图示根据本公开的某些实施例的深度特征空间向量比较的图。
图16-17是图示根据本公开的某些实施例的经过滤的特征空间向量比较的图。
图18是根据本公开的某些实施例的表示接收和处理文本输入以识别相关图像或文章的处理的图。
图19是图示根据本公开的某些实施例的将提取出的关键词与图像标签进行比较的示例图。
图20是根据本公开的某些实施例的在3D词向量空间内的关键词分析的示例。
图21是图示根据本公开的某些实施例的关键词到标签向量空间分析的图。
图22是图示根据本公开的某些实施例的同音异义图像标签的示例的图。
图23-24是图示根据本公开的某些实施例的示例性消歧处理的图。
图25-28是图示根据本公开的某些实施例的比较特征向量和识别内容储存库内的相关内容的处理的图。
图29-30是根据本公开的某些实施例的图示主题提取处理的文本文档的示例图。
图31-35是图示根据本公开的某些实施例的基于输入文本数据识别相关文章的处理的图。
图36是根据本公开的某些实施例的示例语义文本分析器系统的图。
图37-38是根据本公开的某些实施例的示出在内容创建期间向用户提供的图像推荐的示例用户界面屏幕。
图39描绘了用于实现根据本公开的某些实施例的分布式系统的简化图。
图40是根据本公开的某些实施例的可以通过其将由系统的一个或多个组件提供的服务作为云服务提供的系统环境的一个或多个组件的简化框图。
图41图示了其中可以实现各种实施例的示例性计算机系统。
图42是根据本公开的某些实施例的示例计算环境的图,该示例计算环境被配置为响应于从用户或客户端系统接收的输入内容而评估和排名来自内容储存库的内容项。
图43是流程图,其图示根据本公开的某些实施例的用于识别和排名与用户内容相关的内容项的处理。
图44是根据本公开的某些实施例的内容创作用户界面的示例屏幕。
图45示出了根据本公开的某些实施例的由内容推荐系统识别出的内容项的匹配集合的示例表。
图46示出了根据本公开的某些实施例的包括排名分数的内容项的匹配集合的另一个示例表。
图47是根据本公开的某些实施例的内容创作用户界面的另一个示例屏幕。
在附图中,相似的组件和/或特征可以具有相同的附图标记。另外,可以通过在附图标记之后加上破折号和在相似组件之间进行区分的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一附图标记,那么该描述适用于具有相同的第一附图标记的任何一个类似部件,而与第二附图标记无关。
具体实施方式
在以下描述中,出于解释的目的,阐述具体细节以便提供对各种实施方式和示例的透彻理解。但是,将显而易见的是,可以在没有这些具体细节的情况下实践各种实施方式。例如,电路、系统、算法、结构、技术、网络、处理和其它组件可以被示为框图形式的组件,以便不会在不必要的细节上使实施方式晦涩难懂。附图和描述不旨在是限制性的。
一些示例(诸如关于本公开中的附图公开的那些示例)可以被描述为被描绘为流程图、流图、数据流图、结构图、序列图或框图的处理。虽然序列图或流程图可以将操作描述为顺序处理,但是许多操作可以并行或并发执行。此外,可以重新布置操作的次序。处理在其操作完成后终止,但可以具有图中未包括的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与该函数返回到调用函数或主函数对应。
本文描绘的处理(诸如参考本公开中的附图描述的处理)可以以由一个或多个处理单元(例如,处理器核心)执行的软件(例如,代码、程序)、硬件或其组合来实现。软件可以被存储在存储器中(例如,在存储器设备上、在非暂态计算机可读存储介质上)。在一些示例中,可以通过本文公开的任何系统来实现本文的序列图和流程图中描绘的处理。本公开中的处理步骤的特定系列不旨在是限制性的。根据替代示例,也可以执行其它步骤序列。例如,本公开的替代示例可以以不同的次序执行以上概述的步骤。而且,图中所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适合于各个步骤的各种顺序来执行。此外,取决于特定的应用,可以添加或移除附加步骤。本领域普通技术人员将认识到许多变型、修改和替代。
在一些示例中,本公开的附图中的每个处理可以由一个或多个处理单元执行。处理单元可以包括一个或多个处理器,包括单核或多核处理器、处理器的一个或多个核或其组合。在一些示例中,处理单元可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些示例中,可以使用定制电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))来实现处理单元中的一些或全部。
本文描述的某些实施例可以被实现为数据集成平台云(DIPC)的一部分。一般而言,数据集成涉及组合驻留在不同数据源中的数据,并为用户提供数据的统一访问和统一视图。在许多情况下,诸如将商业实体与现有遗留数据库合并,这个处理常常出现并变得重要。随着数据量的不断增加以及对数据进行分析以提供有用结果(“大数据”)的能力,数据集成在企业软件系统中开始越来越频繁地出现。例如,考虑web应用,用户可以在其中查询各种类型的旅行信息(例如,天气、旅馆、航空公司、人口统计学、犯罪统计信息等)。企业应用不必要求将所有这些各种数据类型都存储在具有单个模式的单个数据库中,而是可以使用DIPC中的统一视图和虚拟模式来组合许多异构数据源,使得可以将它们在统一视图中呈现给用户。
DIPC是用于数据变换、集成、复制和治理(governance)的基于云的平台。它提供了云和内部部署(on-premise)数据源之间的批量和实时数据移动,同时维持具有默认容差和弹性的数据一致性。当将这些各种数据源组合到一个或多个数据仓库中时,DIPC可以被用于连接到各种数据源并准备、变换、复制、治理和/或监视来自这些各种源的数据。DIPC可以用任何类型的数据源工作并支持任何格式的任何类型的数据。DIPC可以使用平台即服务(PaaS)或基础设施即服务(IaaS)体系架构来为企业提供基于云的数据集成。
DIPC可以提供许多不同的实用程序,包括将整个数据源转移到新的基于云的部署以及允许从云平台容易地访问云数据库。数据可以实时地流传输到最新的新数据源并保持任何数量的分布式数据源同步。可以在同步的数据源之间分配负载,使得它们对最终用户保持高度可用。底层数据管理系统可以被用于减少通过网络移动以部署到数据库云、大数据云、第三方云等中的数据量。拖放用户界面可以被用于执行可重用的提取、加载和变换(ELT)功能和模板。可以创建实时测试环境,以在云中对复制的数据源执行报告和数据分析,使得数据可以保持对最终用户高度可用。使用重复的同步的数据源,可以以零停机时间执行数据迁移。同步的数据源还可以被用于维持可用性的无缝灾难恢复。
图1图示了根据一些实施例的利用DIPC来集成来自各种现有平台的数据的计算机系统体系架构。第一数据源102可以包括基于云的存储储存库。第二数据源104可以包括内部部署数据中心。为了提供对第一数据源102和第二数据源104的统一访问和视图,DIPC108可以使用现有的高性能ELT功能库106从第一数据源102和第二数据源复制数据104。当数据存储在新的云平台中时,DIPC 108还可以提取、丰富和变换数据。然后,DIPC 108可以提供对驻留在云平台中或可由云平台访问的任何大数据实用程序的访问。在一些实施例中,原始数据源102和104可以继续向客户提供访问,而云平台中的复制的数据源可以被用于测试、监视、治理和大数据分析。在一些实施例中,可以提供数据治理以在用户界面中的定制仪表板的现有集合内剖析、清理和治理数据源。
图2图示了用户界面中的自定义仪表板之一,其可以被用于在DIPC 108中配置、监视和控制服务实例。摘要仪表板202可以提供允许用户创建服务实例的控件204。接下来,可以呈现一系列渐进式web表单,以引导用户逐步了解用于创建服务实例的信息的类型。在第一步中,将要求用户提供服务名称和描述以及电子邮件地址和服务版本类型。还可以要求用户提供集群尺寸,该集群尺寸指定服务中使用的虚拟机的数量。服务版本类型确定在虚拟机上安装哪些应用。在第二步和对应的web表单中,用户可以提供正在运行的云数据库部署以存储DIPC服务器的模式。以后可以使用同一数据库存储数据实体并执行集成任务。此外,可以指定和/或供应存储云作为备份实用程序。用户还可以提供可以被用于访问数据集成中使用的现有数据源的凭据。在第三步中,可以确认供应信息并可以创建服务实例。然后可以在摘要仪表板202的摘要区域206中显示新服务实例。从那里,用户可以访问任何正在运行的数据集成服务实例的任何信息。
图3图示了根据一些实施例的DIPC的体系架构图。可以通过浏览器客户端302接收请求,该浏览器客户端302可以使用JavaScript扩展工具包(JET)组件集合来实现。可替代地或附加地,系统可以通过在客户的内部部署数据中心306处操作的DIPC代理304接收请求。DIPC代理304可以包括数据集成器代理308和用于复制服务(诸如Oracle的
Figure BDA0003023825140000081
服务)的代理310。这些代理308、310中的每一个可以在正常操作期间从内部部署数据中心306检索信息,并且使用连接性服务312将数据传输回DIPC。
传入的请求可以通过登录服务314被传递,该登录服务314可以包括负载平衡或其它实用程序,用于通过DIPC路由请求。登录服务314可以使用身份管理服务(诸如身份云服务316),以提供用于云平台的安全性和身份管理作为集成企业安全结构的一部分。身份云服务316可以管理这个实施例中描述的云部署和内部部署应用两者的用户身份。除了身份云服务316之外,DIPC还可以使用PaaS服务管理器(PSM)工具318提供界面来管理云部署中平台服务的生命周期。例如,PSM工具318可以被用于在云平台中创建和管理数据集成服务的实例。
可以在Web逻辑服务器320上实现DIPC,以在云环境中构建和部署企业应用。DIPC可以包括本地储存库322,该本地储存库322存储用于通过DIPC的信息传递的数据策略、设计信息、元数据和审计数据。它还可以包括监视服务324,以填充本地储存库322。目录服务326可以包括机器可读的开放API的集合,以提供对云部署中许多SaaS和PaaS应用的访问。目录服务326也可以可用于使用分布式索引服务的搜索应用338,诸如Apache
Figure BDA0003023825140000091
连接性服务328和中介(mediator)服务330可以管理连接并为通过DIPC的信息提供变换、验证和路由逻辑。可以使用事件驱动体系架构(EDA)和对应的消息总线332传递DIPC内的信息。
DIPC还可以包括编排服务334。编排服务334可以通过调用REST端点、脚本、第三方自动化框架等来启用自动化任务。这些任务然后可以由编排服务334执行以提供DIPC功能性。编排服务334可以使用运行时服务来导入、变换和存储数据。例如,ELT运行时服务334可以执行上述ELT功能的库,而复制运行时服务342可以将来自各种数据源的数据复制到部署了云的DIPC储存库316中。此外,DIPC可以包括代码生成服务336,其为ELT功能和复制功能提供自动代码生成。
I.智能内容–智能内容推荐
如上所述,当用户创建/创作原始媒体内容(例如,文章、新闻通讯、电子邮件、博客文章等)时,用诸如相关图像、音频/视频剪辑,到相关文章或其它内容的链接之类的相关附加内来增强创作的内容常常是有用的。但是,在几个方面,搜索此类附加内容以及将附加内容嵌入用户的原始创作内容中可能会很困难。最初的困难可以涉及从受信任的源寻找安全/可靠的附加内容,并确保授权用户/作者将该内容结合到他们的工作中。此外,从任何这样的安全和授权内容储存库,对于用户/作者来说,在其原始创作内容中定位并结合/嵌入任何相关内容可能是手动密集且效率低下的处理。
因此,本文描述的某些方面涉及智能数字内容推荐工具。在某些实施例中,智能数字内容推荐工具可以是人工智能(AI)驱动的工具,该工具被配置为实时处理和分析来自内容作者的输入内容(例如,文本、图像),并推荐来自一个或多个受信任内容储存库的相关图像、附加文本内容和/或其它相关媒体内容(例如,音频或视频剪辑、图形、社交媒体帖子等)。智能数字内容推荐工具可以与多个后端服务和内容储存库进行通信,例如,以分析文本和/或视觉输入、从输入中提取关键词或主题、对输入内容进行分类和标记,以及将分类/标记的内容存储在一个或多个内容储存库中。
本文描述的附加方面(这些方面中的每个方面可以直接经由在由内容作者操作的客户端上执行的智能数字内容推荐工具执行,和/或间接地通过调用各种后端服务来执行)可以包括(a)接收文本和/或图像形式的原始内容作为输入,(b)从原始内容中提取关键词和/或主题,(c)确定并存储用于原始内容的相关联的关键词和/或主题标签,(d)将原始内容(例如,输入文本和/或图像)转换成多维向量空间内的向量,(e)将这样的向量与多个其它内容向量进行比较,每个其它向量表示内容储存库中的附加内容,以便找到并识别与用户/作者创作的原始内容输入相关的各种潜在相关的附加内容,以及最后(f)检索识别出的附加内容并经由智能数字内容推荐工具将其呈现给作者。在一些实施例中,每个附加内容项(例如,图像、到相关文章或网页的链接、音频或视频文件、图形、社交媒体帖子等)可以在基于GUI的工具中由智能数字内容推荐工具显示和/或缩略图化,该工具允许用户将附加内容拖放或以其它方式放置在用户的原始创作内容中,包括内容定位、格式化、调整尺寸等。
现在参考图4,示出了图示用于智能内容分类和推荐的系统400的各个组件的框图,包括客户端设备410、内容输入处理和分析服务420、内容推荐引擎425、内容管理和分类系统435,以及内容检索和嵌入服务445。此外,系统400包括存储内容文件/资源的一个或多个内容储存库440,以及一个或多个向量空间430。如以下更详细描述的,向量空间可以指被配置为存储一个或多个特征向量的多维数据结构。在一些实施例中,推荐引擎425、相关联的软件组件以及服务420和445、内容管理和分类系统435以及内容储存库440(其可以存储一个或多个数据存储库或其它数据结构)可以被实现并存储为远离前端客户端设备410的后端服务器系统。因此,客户端设备410与内容推荐引擎425之间的交互可以是基于互联网的web浏览会话或客户端-服务器应用会话,在此期间,用户访问可以经由客户端设备410输入原始创作的内容,并从内容推荐引擎425接收附加内容形式的内容推荐,该附加内容是从内容储存库440中检索的并链接或嵌入到客户端设备410处的内容创作用户界面中。附加地或可替代地,内容推荐引擎425和/或内容储存库440和相关服务可以被实现为在客户端设备410上执行的专用软件组件。
这个示例中所示的各种计算基础设施元素(例如,内容推荐引擎425、软件组件/服务420、435和445以及内容储存库440)可以与由企业或组织创建和维护的高级计算机体系架构对应,该高级计算机体系架构向各种客户端设备410提供基于互联网的服务和/或内容。本文描述的内容(其也可以被称为内容资源和/或内容文件、内容链接等)可以存储在一个或多个内容储存库中、由内容推荐引擎425检索和分类,并提供给客户端设备410处的内容作者。在各种实施例中,内容作者可以在客户端设备410处输入内容的各种不同媒体类型或文件类型作为原始内容,并且类似地,各种不同媒体类型或文件类型的内容可以存储在内容储存库440中并推荐用于/嵌入到客户端设备410的前端用户界面中。由内容作者创作或推荐给内容作者的这些各种不同媒体类型可以包括文本(例如,创作信件、文章或博客)、图像(由作者选择或为作者选择)、音频或视频内容资源、图形、社交媒体内容(例如,Facebook、Twitter、Instagram等上的帖子、消息或推文)。
在一些实施例中,图4中所示的系统400可以被实现为基于云的多层系统,其中上层用户设备410可以经由内容处理/分析组件420来请求和接收对基于网络的资源和服务的访问,并且其中可以基于包括硬件和/或软件资源的基础资源集(例如,基于云的、SaaS、IaaS、PaaS等)来部署和执行应用服务器。此外,虽然在一些实施例中可以使用基于云的系统,但是在其它示例中,系统400可以使用内部部署数据中心、服务器农场、分布式计算系统以及其它各种非云计算体系架构。本文描述的用于内容处理/分析组件420、内容推荐引擎425、内容管理和分类系统435、内容检索和嵌入组件445以及向量空间430的生成和存储的功能性中的一些或全部可以由代表性状态传输(REST)服务和/或web服务执行,包括简单对象访问协议(SOAP)web服务或API,和/或通过超文本传输协议(HTTP)或HTTP安全协议公开的web内容。因此,虽然未在图4中示出以免附加细节使所示出的组件模糊不清,但是计算环境400可以包括附加的客户端设备410、一个或多个计算机网络、一个或多个防火墙435、代理服务器和/或其它中间网络设备,以促进客户端设备410、内容推荐引擎425和后端内容储存库440之间的交互。在图5中更详细地示出了类似系统500的另一个实施例。
简要地参考图5,示出了计算环境500的另一个示例图,其示出了用于执行内容分类和推荐的数据流/数据变换图。因此,在这个示例中示出的计算环境500可以与以上在图4中描述的计算环境400的一种可能的实施方式对应。在图5中,所示的几个图方框表示特定的数据状态或数据变换,而不是上面在图4中描述的结构硬件和/或软件组件。因此,方框505可以表示经由用户界面接收的输入内容数据。方框510表示基于输入内容505由系统400确定的关键词的集合。如以上所讨论的,可以由输入处理/分析组件420使用一个或多个关键词提取和/或主题建模处理来确定关键词510,并且可以基于所确定的关键词510来生成文本特征向量515。
继续图5中所示的示例,可以从内容储存库440中检索多个附加特征向量520。在这个示例中,可以通过执行一个或多个神经网络训练的图像模型并将确定的关键词510提供给经训练的模型来从内容储存库440中选择附加特征向量520。基于经训练的模型的输出,所得特征向量520可以进一步变窄以排除特征向量概率小于z%的特征向量,从而得到检索出的特征向量525的子集。然后可以在测试特征向量515与检索出的特征向量525的子集之间执行特征空间比较530。在一些实施例中,并且如这个示例中所示,最接近欧几里德距离计算可以被用于识别与测试特征515最接近的检索出的特征向量525。基于特征空间比较530,可以确定一个或多个推荐530,基于与测试特征向量515具有阈值接近度的关联特征向量525以及与内容储存库440中的图像对应的每个推荐530来确定每个推荐530。
系统400中所示的用于向客户端设备410提供基于AI和基于特征向量分析的内容推荐和服务的组件可以以硬件、软件或硬件和软件的组合来实现。例如,可使用诸如数据存储设备、网络资源、计算资源(例如,服务器)和各种软件组件之类的底层系统硬件或软件组件在数据中心440中生成、部署和执行web服务。在一些实施例中,web服务可以与在相同的(一个或多个)底层计算机服务器、网络、数据存储库上和/或相同的虚拟机内执行的不同软件组件。在内容推荐引擎425内提供的一些基于web的内容、计算基础设施实例和/或web服务可以使用专用的硬件和/或软件资源,而其它可以共享底层资源(例如,共享的云)。在任一种情况下,某些更高级别的服务(例如,用户应用)以及客户端设备上的用户都无需知道用于支持服务的底层资源。
在这样的实施方式中,各种应用服务器、数据库服务器和/或云存储系统以及其它基础设施组件(诸如web高速缓存、网络组件等(在这个示例中未示出))可以包括各种硬件和/或软件组件(例如,应用编程接口(API)、云资源管理器等)以提供和监视内容资源的分类和向量化,以及管理底层存储装置/服务器/网络资源。内容储存库440的底层资源可以存储在内容数据库和/或云存储系统内,该内容数据库和/或云存储系统可以包括例如被实现为数据库、基于文件的存储装置等的非易失性计算机存储器设备的集合、网络硬件和软件组件(例如,路由器、防火墙、网关、负载平衡器等)的集合、主机服务器的集合,以及与各种平台、服务器、中间件和应用软件的不同版本对应的各种软件资源(诸如存储软件映像、安装、内部版本、模板、配置文件等)。容纳推荐引擎425的应用服务器、向量空间430和相关服务/组件的数据中心还可以包括附加资源,诸如虚拟机管理程序、主机操作系统、资源管理器和其它基于云的应用,以及硬件和软件基础设施以支持各种基于互联网的服务,诸如基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。此外,数据中心的底层硬件可以被配置为支持多种内部共享服务,其可以包括例如安全和身份服务、集成服务、存储库服务、企业管理服务、病毒扫描服务、备份和恢复服务、通知服务、文件传送服务等。
如上所述,根据本文描述的各种实施例,许多不同类型的计算机体系架构(基于云、基于web、托管、多层计算环境、分布式计算环境等)可以被用于从内容推荐引擎425到客户端设备410提供基于web的内容推荐(可以经由一个或多个内容推荐应用服务器来实现)。但是,在某些实施方式中,云计算平台可以被用于提供某些有利的特征以用于基于web的内容的生成和管理。例如,与具有固定体系架构和有限硬件资源的非基于云的实施方式相反,云计算平台可以提供弹性和可伸缩性,以快速地供应、配置和部署许多不同类型的计算基础设施实例。而且,在各种实施例中可以使用公共云、私有云和公共-私有混合云平台以充分利用每个不同体系架构的特征和优点。
此外,如这个示例中所示,系统400还包括内容管理和分类系统435。在一些实施例中,内容管理和分类系统435可以包括分布式存储处理系统、一个或多个基于机器学习的分类算法(和/或基于非机器学习的算法)和/或存储体系架构。如下面更详细地讨论的,在一些实施例中,内容管理和分类系统435可以经由一个或多个内容储存库440(例如,基于网络的文档存储库、基于web的内容提供者等)访问内容资源(例如,基于web的文章、图像、音频文件、视频文件、图形、社交媒体内容等)。例如,在系统400内,可以在存储内容对象或基于网络的内容的一个或多个应用服务器、数据库服务器和/或云系统上安装和运行专用的JavaScript或其它软件组件。这些软件组件可以被配置为检索内容资源(例如,文章、图像、网页、文档等)并将其传输到内容管理和分类系统435以进行分析和分类。例如,每次系统400的运营组织内的用户导入或创建新内容(诸如图像或文章)时,软件组件可以将内容取回内容管理和分类系统435,以进行下面描述的各种处理和分析(例如,图像处理、关键词提取、主题分析等)。此外,虽然在这个示例中内容管理和分类系统435被描述为与内容推荐引擎425和内容储存库440分开实现,但是在其它示例中,内容管理和分类系统435可以与内容推荐引擎425和/或存储内容储存库440的存储设备中的任一个一起本地实现,因此不需要从那些设备接收单独的内容传输,而是可以分析和分类由其相应系统存储或提供的那些内容资源。
还可以生成一个或多个向量空间430并将其用于存储与内容储存库440内的不同内容项对应的特征向量,并比较用于原始创作内容的特征向量(例如,从客户端设备410接收到的)与内容储存库440中附加内容项的特征向量。在一些实施例中,可以在系统400内实现多个多维特征空间430,诸如用于文本输入/文章的主题的第一特征空间430a和用于图像的第二特征空间430b。在其它实施例中,可以为不同类型的内容媒体生成附加的单独的多维特征空间430(例如,用于音频数据/文件的特征空间、用于视频数据/文件的特征空间、用于图形的特征空间、用于社交媒体内容的特征空间等)。如下面所讨论的,比较算法可以被用于确定特征空间内的向量之间的距离。因此,在图像特征向量的特征空间中,算法可以被用于识别与接收到的输入图像最接近的图像,在文本特征向量的特征空间中,算法可以被用于识别与接收到的输入文本块最接近的文本(例如,文章),依此类推。此外或可替代地,比较算法可以使用向量空间的关键词/标签来确定各种媒体类型之间的相似性。
在各种实施方式中,系统400可以使用一个或多个计算系统和/或网络来实现。这些计算系统可以包括一个或多个计算机和/或服务器,它们可以是通用计算机、专用服务器计算机(例如,台式机服务器、UNIX服务器、中端服务器、大型机、机架式服务器等)、服务器农场、服务器集群、分布式服务器或计算硬件的任何其它适当布置和/或组合。内容推荐引擎425可以运行操作系统和/或各种附加服务器应用和/或中间层应用,包括超文本传输协议(HTTP)服务器、文件传输服务(FTP)服务器、公共网关接口(CGI)服务器、Java服务器、数据库服务器和其它计算系统。内容储存库440可以包括数据库服务器,例如,可以从Oracle、Microsoft等商购获得的那些数据库服务器。可以使用硬件、固件、软件或硬件、固件和软件的组合来实现系统400中的每个组件。
在各种实施方式中,系统400内的每个组件可以包括至少一个存储器、一个或多个处理单元(例如,(一个或多个)处理器))和/或存储装置。可以适当地以硬件(例如,集成电路)、计算机可执行指令、固件或硬件和指令的组合来实现(一个或多个)处理单元。在一些示例中,系统400的各种组件可以包括几个子系统和/或模块。内容推荐引擎425中的子系统和/或模块可以以硬件、在硬件上执行的软件(例如,可由处理器执行的程序代码或指令)或其组合来实现。在一些示例中,软件可以存储在存储器(例如,非暂态计算机可读介质)中、存储器设备上或某种其它物理存储器中,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器内核、一个或多个图形处理单元(GPU)等)执行。(一个或多个)处理单元的计算机可执行指令或固件实施方式可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,其可以执行本文描述的各种操作、功能、方法和/或处理。存储器可以存储在(一个或多个)处理单元上可加载和可执行的程序指令,以及在这些程序的执行期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(例诸如只读存储器(ROM)、闪存等)。可以使用任何类型的持久性存储设备(诸如计算机可读存储介质)来实现该存储器。在一些示例中,计算机可读存储介质可以被配置为保护计算机免受包含恶意代码的电子通信的影响。
现在参考图6,示出了图示用于基于内容储存库440中的内容资源生成特征向量并将特征向量存储在特征空间430中的处理的流程图。如下所述,这个处理中的步骤可以由计算环境400中的一个或多个组件(诸如内容管理和分类系统435)以及在其中实现的各种子系统和子组件来执行。
在步骤602中,可以从内容储存库440或其它数据存储库中检索内容资源。如以上讨论的,个体内容资源(也可以被称为内容或内容项)可以与任何各种内容类型的数据对象对应:文本项(例如,文本文件、文章、电子邮件、博文等)、图像、音频文件、视频文件、2D或3D图形对象、社交媒体数据项等。在一些实施例中,可以从特定内容储存库440中检索内容项,诸如由特定受信任组织拥有和运营的专有数据存储库。虽然内容储存库440可以是外部数据源(诸如互联网web服务器或其它远程数据存储),但是从本地和/或私有控制的内容储存库440检索和向量化内容的系统400可以在系统400的操作中实现一些技术优势,包括确保来自储存库440的内容将被保留并在需要时可访问,并且确保用户/作者被授权使用和再现来自储存库440的内容。在一些情况下,可以响应于新的内容项被存储在内容储存库440中和/或对内容储存库440中的项目的修改而触发步骤602(以及后续步骤604-608)中的检索。
在步骤604中,可以对在步骤602中检索出的内容项进行解析/分析等,以便提取项目特征或特点的集合。在步骤604中执行的解析、处理、特征提取和/或分析的类型可以取决于内容项的类型。对于图像内容项,可以使用基于人工智能的图像分类工具来识别特定图像特征和/或生成图像标签。如图7的示例图像中所示,图像分析可以识别多个图像特征(例如,微笑、女服务员、柜台、销售机、咖啡杯、蛋糕、手、食物、人、咖啡馆等),并且可以使用这些识别出的特征中的每一个对图像进行加标签。对于基于文本的内容项(诸如博客文章、信件、电子邮件、文章等),在步骤604中执行的分析可以包括关键词提取和处理工具(例如,词干、同义词检索等),如图8中所示。一种或两种类型的分析(例如,如图9中所示的从图像中提取特征,以及如图8中所示的从文本内容中提取关键词/主题)可以经由基于REST的服务或其它web服务使用分析、机器学习算法和/或人工智能(AI)(诸如基于AI的认知图像分析服务或类似的AI/REST认知文本服务)用于图8的文本内容。类似的技术可以在步骤604中用于其它类型的内容项,诸如视频文件、音频文件、图形或社交媒体帖子,其中取决于内容项的媒体类型,系统400的专用web服务被用于提取和分析特定的特征(例如,词、图像/视频中的对象、面部表情等)。
在步骤606中,在从内容项中提取/确定特定内容特征(例如,视觉对象、关键词、主题等)之后,可以基于提取出的/确定的特征来生成特征向量。使用各种变换技术,与内容项相关联的特征的每个集合可以被变换为可以输入到公共向量空间430中的向量。变换算法可以输出预定的向量格式(例如,1x4096维向量)。然后,在步骤608中,可以将特征向量存储在一个或多个向量空间430中(例如,用于文本内容的主题向量空间430a、用于图像内容的图像向量空间430b和/或用于多个内容类型的组合向量空间)。向量空间和存储在其中的特征向量可以由内容管理和分类系统435、内容推荐引擎425和/或系统400的其它组件来生成和维护。
在一些实施例中,提取出的/确定的内容特征的子集也可以被保存为与内容项相关联的标签。图9-11中示出了用于基于图像生成和存储图像标签以及反过来基于图像标签检索图像的示例处理。虽然这些示例涉及图像内容项,但是可以对文本内容项、音频/视频内容项等执行类似的加标签处理和/或关键词或主题提取。如图9中所示,在步骤901中,可以创建图像和/或上传到例如内容储存库440中。在步骤902中,可以将图像从内容储存库440传输到基于人工智能(AI)的REST服务,该REST服务被配置为分析图像并提取主题、话题、特定视觉特征等。AI REST服务可以基于识别出的图像特征确定一个或多个特定图像标签,并且在步骤903中可以将图像标签传输回内容储存库,以在步骤904中存储在图像内或与图像相关联。在图10中,示出了与图9中描述的处理完全相同的处理,用于基于图像生成和存储图像标签。此外,图10示出了在某些实施例中可以在AI REST服务内实现的几个说明性特征1001,包括图像标签确定/检索组件、Apache MxNet组件和认知图像服务。在确定用于内容项的一个或多个标签之后,可以或者将标签存储回到内容储存库440中,或者存储在分离的存储位置中。例如,参考图7的示例图像,可以从这单个图像提取十二个或更多个潜在图像特征,所有这些特征可以被结合到特征向量中。但是;AI REST服务和/或内容储存库440可以确定对于内容匹配而言,最优的做法是仅用图像的一些最普遍的话题(例如,咖啡、零售)来标记图像。
现在简要地参考图11,示出了另一个示例处理,该处理涉及图9和10中所描述的用于基于图像生成和存储图像标签的处理。在图11中,图示了相反的处理,其中图像标签被用于从内容储存库440检索匹配的图像。在步骤1101中,内容创作用户界面415或其它前端界面可以基于经由该界面接收的输入来确定一个或多个内容标签。在这个示例中,从接收到的用户输入确定单个内容标签(“女服务员”),并且在步骤1102中,将内容标签传输到与内容储存库440相关联的搜索API。搜索API可以在计算系统的一个或多个分离的层内实现,包括在内容输入处理/分析组件420、内容推荐引擎425和/或内容管理和分类系统435内。在步骤1103中,可以将识别由搜索API确定的匹配的图像的数据传输回内容创作用户界面415,以将其集成在界面中或以其它方式呈现给用户。
因此,在针对内容储存库440中的多个内容资源的步骤602-608完成后,可以用向量填充一个或多个向量空间430,其中每个向量与储存库440中的内容项对应。此外,在一些实施例中,可以为内容项中的一些或全部生成元数据标签的分离集合,并将其作为来自向量的分离对象存储在向量空间430中。这样的标签可以存储在图4中所示的任何数据存储装置或组件中,或者存储在分离的数据存储库中,并且每个标签可以与储存库440中的内容项、向量空间430中的向量或两者相关联。
现在参考图12,示出了另一个流程图,图示用于经由客户端设备410从用户接收原始创作内容、在用户的创作会话期间实时(或接近实时)从内容中提取特征和/或标签、对创作内容进行向量化(也是实时或近实时),并将原始创作内容的向量与一个或多个现有向量空间430进行比较以便识别和检索来自一个或多个可用内容储存库440的相关/相关联内容的第二处理。这个处理中的步骤也可以由计算环境400内的一个或多个组件(诸如内容推荐引擎425与客户端设备410、输入处理/分析组件420和检索/嵌入组件445以及在其中实现的各种子系统和子组件协作)执行。
在步骤1202中,可以经由客户端设备410从用户接收原始创作的内容。如以上所讨论的,原始创作的内容可以与用户键入的文本、用户创建或导入的新图像、用户记录或导入的新音频或视频输入、用户创建的新图形等对应。因此,步骤1202可以类似于上面讨论的步骤602。但是,虽然步骤602中的内容可以是先前从储存库440中检索出的创作/存储的内容,但是在步骤1202中,内容可以是经由用户界面,诸如基于web的文本输入控件、图像导入器控件、图像创建控件、音频/视频创建控件等,接收的新创作的内容。
在步骤1204中,例如,可以由输入处理/分析组件420处理在步骤1202中接收到的内容(例如,原始创作的内容)。关于解析步骤、处理步骤、关键词/数据特征提取步骤等,步骤1204可以与上面讨论的步骤604相似或完全相同。例如,对于在步骤1202中接收到的文本输入(例如,博客文章、信件、电子邮件、文章等),步骤1204中的处理可以包括文本解析、关键词的标识、词干、同义词分析/检索等。在其它示例中,当在步骤1202中接收到图像时(其可以由用户上传、从另一个系统导入,和/或由用户经由内容作者用户界面415手动创建或修改),步骤1204可以包括使用如上所述的基于AI的图像分类工具来识别特定的图像特征和/或生成图像标签。(参见图7)。可以使用分析、机器学习算法和/或AI(诸如基于AI的认知图像分析服务和/或AI/REST认知文本服务)经由基于REST的服务或其它web服务执行步骤1204中的这些分析。类似的技术/服务可以在步骤1204中用于其它类型的内容项,诸如视频文件、音频文件、图形或社交媒体帖子,其中系统400的专用web服务被用于提取并根据内容项的媒体类型分析特定特征(例如,词、图像/视频中的对象、面部表情等)。步骤1204还可以包括本文描述的用于用与任何识别出的内容主题、类别或特征对应的标签来对文本块、图像、音频/视频数据和/或其它内容加标签的任何加标签处理。
在步骤1206中,可以基于在步骤1202中接收到的内容来生成与可用向量空间430中的一个或多个兼容的一个或多个向量。步骤1206可以与以上讨论的步骤606相似或完全相同。如以上讨论的,可以基于在步骤1204中识别出的内容(和/或标签)内的特定特征来生成向量。步骤1206中的向量生成处理可以使用一种或多种数据变换技术,由此可以将与原始创作的内容项相关联的特征的集合变换成与公共向量空间430之一兼容的向量。例如,图13图示了一种技术,通过该技术,在步骤1206中,可以将在步骤1202中接收到的图像输入变换成预定向量格式的特征向量(例如,1x4096维向量)。如图13中所示,可以将图像作为输入提供给模型,该模型被配置为提取和学习图像中的特征(例如,使用卷积、池化和其它函数),并输出表示输入图像的特征向量。例如,如通过引用并入本文的纽约大学的MatthewD.Zeiler和Rob Fergus于2014年在论文“Visualizing and UnderstandingConvolutional Networks”中所描述的那样,在卷积神经网络内,神经网络的初始层可以从图像中检测简单的特征(如线性边缘),在随后的层中检测更复杂的形状和图案。例如,卷积神经网络中的第一层和/或第二层可以检测简单的边缘或图案,而随后的层可以检测图像中存在的实际复杂对象(杯子、花朵、狗等)。作为示例,当使用卷积神经网络接收和处理人脸图像时,第一层可以检测各个方向上的边缘,第二层可以检测给定脸的不同部分(例如,眼睛、鼻子等),而第三层可以获得整个脸的特征图。
在步骤1208中,可以将在步骤1206中生成的特征向量与在上面讨论的处理602-608期间填充的兼容特征向量空间430(或空间430a-n)进行比较。例如,图14中示出了用与图像对应的特征向量填充的说明性向量空间。在这个示例中,每个点可以表示向量化的图像,并且图14中的圆圈(和对应的点颜色)可以指示与图像相关联的三个示例标签之一。在这种情况下,图像标签是“咖啡”、“山峰”和“鸟”,并且应当理解的是,这些标签不是互斥的(即,图像可以用一个、两个或所有三个标签加标签)。此外,应当理解的是,这些标签和图14中的多维向量空间的布局仅仅是说明性的。在各种实施例中,对可以使用的标签的数量或类型没有限制,或者对向量空间430的维数没有限制。
为了在步骤1208中执行向量空间比较,内容推荐引擎425可以计算在步骤1206中生成的特征向量与存储在一个或多个向量空间430中的每个其它特征向量之间的欧几里德距离。基于计算出的距离,引擎425可以按照特征空间距离的升序对特征向量进行排名,使得两个特征向量之间的距离越小,排名越高。这样的技术可以允许内容推荐引擎425确定在(一个或多个)向量空间430内的最高排名的特征向量的集合,基于在步骤1202中接收到的输入,其在特征/特点/等方面与步骤1206中生成的特征向量最相似。在一些情况下,可以在步骤1208中选择预定数量(N)的最高排名的特征向量(例如,5篇最相似的文章、10个最相似的图像等),而在其它情况下,可以选择满足特定接近度阈值的所有特征向量(例如,向量之间的距离<阈值(T))。
在一些实施例中,步骤1208中的向量比较可以是图15中所示的“深度特征空间”比较。在这些实施例中,可以在不考虑任何标签或其它元数据的情况下比较在步骤1206中生成的特征向量。换句话说,在深度特征比较中,可以将在步骤1206中生成的特征向量与存储在向量空间430中的每隔一个特征进行比较。虽然可以保证深度特征比较在向量空间430中找到最接近的向量,但是这种比较可能要求附加的处理资源和/或附加的时间来返回向量结果。对于可以包括数千个或甚至数百万个特征向量的大向量空间尤其如此,其中每个特征向量表示存储在储存库440中的分离的内容对象/资源。例如,为了计算尺寸为1x4096的两个图像特征向量之间的欧几里得距离,要求由系统400执行大约10000个加法和乘法指令。因此,如果储存库中有10000个图像,那么必须执行10000000个操作。
因而,在其它实施例中,步骤1208中的向量比较可以是图16-17中所示的“经过滤的特征空间”比较。在经过滤的特征空间比较中,可以首先基于标签(和/或其它特性,诸如资源媒体类型、创建日期等)对向量空间进行过滤,以识别(一个或多个)向量空间430内的特征向量的子集具有与在步骤1206中生成的特征向量的标签(和/或其它特性)匹配的标签(和/或其它特性)。然后,可以将在步骤1206中生成的特征向量与仅具有匹配的标签/特性的子集中的那些特征向量进行比较。因而,虽然可能存在丢失被滤除且未比较的接近特征向量的可能性,但是与深层空间比较相比,可以更快且更高效地执行经过滤的特征空间比较。
如上所述,步骤1208可以包括将在步骤1206中生成的特征向量与单个向量空间或与多个向量空间进行比较。在一些实施例中,可以将在步骤1206中生成的特征向量与向量空间的对应类型进行比较。例如,当在步骤1202中接收到文本输入时,可以将所得特征向量与主题向量空间430a内的向量进行比较,并且当在步骤1202中接收到图像作为输入时,可以将所得特征向量与图像向量空间430b内的向量进行比较,等等。在一些实施例中,可以有可能将与一种类型的输入对应的特征向量与包含不同类型的向量的向量空间进行比较(例如,识别与基于文本的输入最紧密相关的图像资源,反之亦然)。例如,图18表示在步骤1402中接收文本输入并且在步骤1408中检索相似图像(例如,图像向量空间430b中最接近的)和相似文章(例如,主题向量空间430b中最接近的)的处理。
对于涉及检索和/或比较与内容资源相关联的标签的实施例,当一个资源的标签与另一个资源的对应标签/关键词/特征相关但不完全匹配时,会出现问题。这个潜在问题的示例在图19中图示,其中将从原始创作的文本内容资源中提取出的关键词与为图像内容资源的集合存储的图像标签的集合进行比较。在这个示例中,提取出的关键词(“Everest”、“Base Camp”、“Summit”、“Mountain”或“Himalaya”)都不与图像标签(“Mountaineer”、“Cappuccino”或“Macaw”)完全匹配。在一些实施例中,诸如词干、词定义和/或同义词检索和分析等词/短语解析和处理技术可以被用于检测相关但不匹配的术语之间的匹配。但是,即使对于相关的关键词/标签,这些技术也可能会失败。因此,在一些实施例中,内容处理/分析组件420和/或内容推荐引擎425可以执行词向量比较以解决这个问题。如图20所示示例中所示,可以在3D词向量空间内分析从图19中的文本文档中提取出的关键词,并且可以计算这些关键词与每个图像标签之间的距离。如图21中所示,在图20中执行的关键词到标签向量空间分析可以确定图像标签“Mountaineer”在词向量空间内与提取出的关键词足够接近,因此对于经过滤的特征空间比较,应当将其视为图像标签匹配。
在检索和/或比较与内容资源相关联的标签的实施例中可能出现的另一个潜在问题是由同形异义关键词和/或资源标签引起的。同形异义词或短语(或同音异义)是指具有相同拼写形式且具有不同且不相关的含义的词或短语。同音异义图像标签的示例在图22中示出,其中第一个图像标有词“Crane”,这是指长腿和长颈的鸟,第二个图像标有相同的词“Crane”,这是指具有用于移动重物的伸出臂的机器。在这种情况下,内容处理/分析组件420和/或内容推荐引擎425可以对两个图像标签执行词义消歧处理,以确定每个词Crane是指哪个词义。在这个示例中,词义消歧处理可以最初检索与每个标签相关联的Wordnet数据库条目(或其它定义数据),如图22中对于两个不同的“Crane”标签所示的。
在图23-24中示出了说明性的词义消歧处理。在这个处理中,创作的文档内的其它关键词和/或文档中“Crane”一词的特定上下文(例如,描述、词性、时态等)可以被内容处理/分析组件420和/或内容推荐引擎425用来确定词Crane在创作的文本文档内的最可能的含义,从而确定哪个“Crane”图像标签与创作文本文档有关。例如,现在参考图23,示出了输入文本2301,从该输入文本中提取了多个相关关键词2302。可以将第一个提取出的关键词(“Crane”)与内容储存库440内的图像标签进行比较,并且在这个示例中,已经识别出与内容储存库440内的两个“Crane”标签图像2304a和2304b对应的两个匹配标签2303。
如图24中所示,为了解决词义消歧这一潜在问题,可以通过将从输入内容2301中提取出的一个或多个附加关键词2302与两个匹配的图像2304a和2304b的其它内容标签进行比较来继续进行消歧处理。在这个示例中,可以将附加的提取出的关键词“mechanical”、“machine”、“lifting”和“construction”与与图像2304a和2304b的每一个相关联的内容标签和/或提取的特征进行比较。如图24中所示,这些附加比较可以消除“Crane”的初始关键词匹配的歧义,从而内容推荐系统425不返回禽类鹤图像2304a,而是返回建筑起重机图像2304b。
在其它示例中,可以使用图像相似性执行相似的消歧处理。例如,内容处理/分析组件420和/或内容推荐引擎425可以在与创作内容相关联的图像(例如,绘制的或创作的图像)与两个不同的“Crane”图像之间识别公共图像特征,以便确定哪个crane是合适的相关图像。这些消歧的处理也可以以各种方式组合,例如,将从创作的文本文档中提取出的关键词与从图像中提取出的视觉特征进行比较等。因此,在涉及crane的创作的文本文档中,如果可以在那个图像中视觉上识别出吊杆和滑轮,那么相关词“boom”和“pulley”可能在视觉上与下部的起重机图像匹配。类似地,如果创作的文本文档引用了crrane并且包含相关词“beak”和“feathers”,那么如果可以在那个图像中视觉上识别出喙和羽毛,那么可以将“crane”关键词在视觉上与上部鹤图像进行匹配。
现在参考图25-28,示出了执行图12中的处理的端到端示例,具体而言是针对经由用户界面415检索用户创作的文章的相关图像的集合的实施例。最初,在2501处(图25),用户在Demo Editor(AIditor)用户界面中输入文章的文本。在2502处,从文章的文本中提取多个关键词,并且在2503处,AI Rest Service将提取出的关键词与为图像内容储存库440内的图像库存储的图像标签进行比较。图26和27图示了与图25相同的示例处理,但具有有关AI Rest Service的操作的附加细节。如图26中所示,使用以上讨论的技术,AI RestService将一个或多个标签(例如,“mountaineer”)识别为与创作的文章相关。然后,如图27中所示,在一些实施例中,可以使用不同的软件服务来执行这个步骤,诸如用于从文本输入确定关键词的集合的第一认知文本REST服务,以及用于将关键词映射到图像标签的第二内部REST服务。这些服务中的每一个可以在内容推荐引擎425内和/或经由外部服务提供者来实现,然后,在步骤2505处(图28中所示),内容推荐引擎425可以将确定的(一个或多个)图像标签传输到与图像内容储存库440相关联的搜索API。在一些情况下,可以在基于云的内容中心(例如,Oracle内容和体验云(CEC))中实现搜索API。在步骤2506中,搜索API可以基于标签匹配检索相关图像的集合,并且在步骤2507中可以将检索的图像(或图像的按比例缩小的版本)传输回并嵌入415处的用户界面内(在屏幕区域2810处)。
虽然图25-28中所示的示例图示了检索由用户创作的文章的相关图像的集合的特定实施例,但是应当理解的是,也可以类似地执行图12中的步骤以检索其它类型的内容。例如,可以执行类似的步骤以检索与用户经由用户界面415输入的文本相关的文章(或其它文本文档)。在其它实施例中,也可以检索其它媒体类型的相关内容资源(例如,音频文件、视频剪辑、图形、社交媒体帖子等)。此外,当用户向用户界面中导入/创建文本以外的其它类型的输入(例如,绘制或上传的图像、口语音频输入、视频输入等)时,可以执行类似的步骤以根据内容推荐引擎425的配置和/或用户偏好来检索各种不同类型的相关内容资源(例如,相关文章、图像、视频、音频、社交媒体等)。
例如,现在参考图29-35,示出了另一个示例实施例,其中基于经由用户界面415接收的原始创作的文本输入(例如,用户的博客文章、电子邮件、文章等),执行图12的处理步骤以检索相关文章(或其它文本内容资源)的集合。如图29中所示,用户已经由用户界面415创作了新文章,并且内容推荐引擎425调用的基于AI的REST服务已识别出文章主题的集合。如图30中所示,可以将识别出的文章主题与先前针对文章内容储存库440中的文章的集合识别出的主题进行比较。在这些示例中,根据一个实施例示出的图29,而图30示出了另一个实施例。图29只是图30的子集,我们可以从图中安全地移除图29。因此,可以使用与以上在图6)中描述的处理类似的技术来确定文章主题并将其存储为元数据或其它相关联的数据对象,其中确定图像特征/标签并与图像相关联地存储。类似地,对于存储在储存库440中的每篇文章,文章内容储存库440可以具有元数据或其它相关联的存储,包括文章主题、日期、关键词、作者、出版物等。在图30所示的示例中,根据文章主题的匹配,已将与珠穆朗玛峰死亡相关的文章确定为与用户的新创建的文章潜在相关。图31-35图示了使用系统400来查找与用户输入的文章相关的文章的端到端处理,类似于图25-28中所示的用于寻找相关图像的步骤。在步骤3101中(图31),用户经由用户界面415创建新文章。在步骤3102中,文章文本由内容推荐引擎425传输到一个或多个软件服务(例如,基于AI的REST服务),并且在步骤3103中(图32),(一个或多个)软件服务使用认知文本服务功能性来分析文章的文本,以确定文章的一个或多个主题。在步骤3104中,将确定的文章主题传输回内容推荐引擎425,并且在步骤3105中,推荐引擎425将文章文本和识别出的主题都发送到分离的API(例如,在基于云的内容中心内)),其中在步骤3106中,可以将文章保存到储存库440以供将来参考,并基于识别出的主题对其进行索引。而且在步骤3106中(图33),可以基于主题匹配处理(图34)经由搜索API来搜索文章的现有储存库440以识别潜在相关的主题。最终,在步骤3107中(图35),被识别为与新创建的文章潜在相关的文章可以被传输回(整体或只是链接)以嵌入到用户界面415内(例如,在用户界面区域3510处)。
如在图29-33的以上示例中所图示的,本文描述的某些实施例可以包括新创建的文本文档的主题和/或存储在内容储存库440内的文本文档的主题的标识,以及主题接近度和匹配的比较和标识。在本文描述的各种实施例中,包括显式语义分析在内的各种技术可以被用于文本主题评估和主题“接近度”技术。如图29-30中所示,在一些情况下,此类技术可以使用大规模数据源(例如,维基百科)来提供不受限制的自然语言文本的细粒度语义表示,以在高维空间中表示得自数据源的自然概念的含义。例如,文本分类技术可以被用于根据基于维基百科的概念来明确表示任何文本的含义。语义表示可以是文本片段的特征向量,其通过主题建模进行转换。维基百科(或另一个大规模数据源)可以被用于将较大的词汇表(例如,单词袋)包括到系统中,以覆盖大范围的词。基于维基百科的概念可以是维基百科页面的标题,这些页面在分类给定文本片段时用作类/类别。给定文本片段,可以返回最接近的维基百科页面标题(例如,“Mount Everest”、“Stephen Hawking”、“Car Accident”等),其可以用作文本的类/类别。可以通过计算自然语言文本的片段之间的语义相关度来自动评估此类技术的有效性。
在这些文本分类/相关性评估技术中,使用大规模的公共可用知识源(例如,维基百科或其它百科全书)的优势之一是可以访问大量预先编码成公共可用资源的高度组织化的人类知识,它们处于不断变化/发展中。可以基于维基百科和/或其它来源使用机器学习技术来构建语义解释器,该语义解释器将自然语言文本的片段映射为按其与输入的相关性排序的维基百科概念的加权序列。因此,输入文本可以被表示为概念的加权向量,称为解释向量。因此,根据文本片段与许多维基百科概念的相似性来解释其含义。然后,可以通过在由概念定义的空间中比较它们的向量,例如使用余弦度量,来计算文本的语义相关性。这样的语义分析在明显概念可以基于人类认知的意义上可以是显式的。因为可以经由用户界面415以纯文本的形式接收用户输入,所以可以使用常规文本分类算法来根据这些文章所表示的概念与给定文本片段的相关性来对其进行排名。因此,可以直接使用在线百科全书(例如,维基百科),而无需深入的语言理解或预先编录的常识知识。在一些实施例中,每个维基百科概念可以被表示为出现在对应文章中的词的属性向量。可以使用例如术语“频率倒排文档频率(TFIDF)方案”来为这些向量的条目指派权重。这些权重可以量化词和概念之间的关联强度。为了加快语义解释,可以使用倒排索引,该倒排索引将每个词映射到该词出现的概念的列表中。通过移除给定词的权重低于某个阈值的那些概念,倒排索引还可以被用于丢弃词和概念之间的无关紧要的关联。语义解释器可以被实现为基于质心的分类器,其可以基于接收到的文本片段按相关性对维基百科概念进行排名。例如,内容推荐引擎中的语义解释器可以接收输入文本片段T,并将该片段表示为向量(例如,使用TFIDF方案)。语义解释器可以在文本词上迭代,从倒排索引中检索对应的条目,并将它们合并为加权向量。加权向量的条目可以反映对应概念与文本T的相关性。为了计算一对文本片段的语义相关性,可以使用例如余弦度量来比较它们的向量。
在其它示例中,用于生成用于文本分类的特征的类似方法可以包括监督式学习任务,其中在训练文档中出现的词可以被用作特征。因此,在一些示例中,可以使用维基百科概念来扩充单词袋。另一方面,计算一对文本的语义相关性本质上是“一次性的”任务,因此单词袋表示可以用基于概念的表示来代替。以色列理工学院计算机科学技术系的EvgeniyGabrilovich和Shaul Markovitch在论文“Computing Semantic Relatedness usingWikipedia-based Explicit Semantic Analysis”中更详细地描述了这些技术和其它相关技术,该论文出于所有目的通过引用并入本文,以及其中讨论的其它相关内容。使用这个论文中描述的技术和其它技术,对于经过滤的维基百科的子集,对于每篇文章,可以存在作为文章标题的一个概念。当内容推荐引擎425经由用户界面415接收文本文档时,可以首先对文本进行汇总。在这些情况下,在移除停用词并对词进行词干提取之后,可以根据文章中词的出现频率和倒排频率对文本中的每个唯一词赋予权重。然后可以将每个词进行比较以查看其出现在什么维基百科文章(概念)中,因此内容推荐引擎425可以为该词创建概念向量。可以将文本文档中所有词的概念向量组合起来,以形成文本文档的加权概念向量。内容推荐引擎425然后可以测量每个词概念向量与文本概念向量之间的相似性。然后可以将高于某个阈值的所有词选择为文档的“关键词”。
现在参考图36,示出了示例语义文本分析器系统3600,其图示了在上述某些实施例中由分析器系统3600用于执行语义文本摘要的技术。在各种实施方式中,这样的系统3600可以被内容推荐引擎425结合和/或与之分离。
在一些实施方式中,用于计算语义相关性的显式语义分析被重新用于计算给定文本文档的文本摘要。更具体而言,文本摘要是基于词嵌入而得出的。换句话说,与典型的相似性测度(诸如单词袋上的余弦或字符串上的编辑距离)相比,捕获n元语法(例如,词)的上下文是为了确定语义相似性。
给定的文本文档可以是文章、网页或期望文本摘要的其它文本。与本文描述的分类方法一样,文本不限于书面语言,而是可以包括其它人类可读的符号、数字、图表、表格、方程式、公式等。
使用显式语义分析的文本摘要方法一般如下操作:(1)使用用于识别和提取此类单元的任何已知技术从给定的文本文档中提取语法单元(例如,句子或词),(2)提取出的每个语法单元和文本文档都表示为知识库概念的加权向量;(3)使用加权向量计算文本文档作为整体与每个语法单元之间的语义相关性,并且(4)选择与整个文本文档在语义上最相关的语法单元中的一个或多个,以将其包括在文本文档的文本摘要中。在一些情况下,知识库概念的加权向量的表示可以与主题建模对应,其中首先可以将每个句子或词转换成特征向量,然后可以在高维向量空间中计算特征差异/相似性。可以有多种方法可以将词转换成向量,例如WORD2VEC或Latent Dirichlet Allocation。
图36图示了使用显式语义分析的文本摘要。首先,基于知识库3602构建文本摘要器。知识库3602可以是通用的或特定于领域的。通用知识库的示例是百科全书文章的集合,诸如维基百科文章的集合或文本文章的其它百科全书的集合。但是,知识库3602可以替代地是特定领域的,诸如特定于特定技术领域的文本文章的集合,诸如医学、科学、工程或金融文章的集合。
知识库3602的每篇文章都被表示为文章中出现的n元语法(例如,词)的属性向量。属性向量中的条目被指派有权重。例如,可以使用术语“频率倒排文档频率评分方案”来使用权重。文章的属性向量中的权重量化了文章的n元语法(例如,词)与作为概念的文章之间的关联强度。
在一些实施方式中,术语“频率倒排文档频率评分方案”为给定的文章文档d的给定的n元语法t计算权重,如以下等式所示:
Figure BDA0003023825140000311
在此,tft,d表示文档d中的n元语法t的频率。并且dft表示在知识库3602中n元语法t的文档频率。M表示训练集中的文档总数,Ld表示按术语数量的文档d的长度,Lavg表示训练语料库的平均长度,并且K和b是自由参数。在一些实施方式中,k近似为1.5,b近似为0.75。
前面是术语“频率倒排文档频率评分方案”的一个示例,其可以被用于对属性向量的属性进行加权。可以使用反映属性(例如,n元语法)对于知识库3602中的文章的重要性的其它统计测度。例如,考虑到锚文本的其它TF/IDF变体(诸如BM25F)可以与某些类型的知识库(诸如例如网页或其它超链接文档集的知识库)一起使用。
加权倒排索引构建器计算机3604从表示知识库3602的文章的属性向量构建加权倒排索引3606。加权倒排索引3606将属性向量集合中表示的每个不同的n元语法映射到其中出现n元语法的概念(文章)的概念向量。概念向量中的每个概念可以根据概念与概念向量通过加权倒排索引3606所映射到的n元语法之间的关联强度来加权。在一些实施方式中,索引器计算机3604通过从概念向量中移除对于给定的n元语法的权重低于阈值的那些概念使用倒排索引3606来丢弃n元语法与概念之间的无关紧要的关联。
为了生成给定文本文档3610的文本摘要,从给定文本文档3610中提取语法单元3608,并且计算每个语法单元与给定文本文档3610之间的语义相关性。选择与给定文本文档3610具有高度语义相关性的多个语法单元以包括在文本摘要中。
被选择以包括在文本摘要中的语法单元的数量可以基于各种不同的因素而变化。一种方法是选择预定义数量的语法单元。例如,预定义数量可以由系统的用户配置或通过机器学习处理来学习。另一种方法是选择与给定文本文档3610具有高于预定阈值的一定程度的语义相关性的所有语法单元。预定义阈值可以由系统的用户配置或通过机器学习处理来学习。还有另一种可能的方法是确定与给定文本文档3610具有最高语义相关度的语法单元,然后选择其中语法单元与给定文本文档3610在语义相关度上的差异和最高程度低于预定义阈值的所有其它语法单元。选择具有最高程度的语法单元和低于预定义阈值的任何其它语法单元以包括在文本摘要中。同样,预定义阈值可以由系统的用户配置或通过机器学习处理来学习。
在一些实施方式中,并非总是选择与给定文本文档3610具有最高或相对较高语义相关度的语法单元以包括在文本摘要中。例如,与第二语法单元相比,与给定文本文档3610具有较低语义相关度的第一语法单元可以被选择要包括在文本摘要中,而第二语法单元可以不被选择要包括在文本摘要中,如果第一语法单元相对于已经选择要包括在文本摘要中的语法单元没有足够不相似的话。相对于现有文本摘要,语法单元的不相似程度可以通过多种不同方式进行测量,诸如例如通过使用词汇方法、概率方法或词汇方法和概率方法的混合。使用不相似测度以选择要包括在文本摘要中的语法单元可以防止将多个相似的语法单元包括在同一文本摘要中。
在一些实施方式中,可以使用用于根据单元与给定文本文档3610的语义相关性及其相对于一个或多个其它单元的不相似性来选择多个语法单元以包括在文本摘要中的其它技术并且不限于任何特定技术。例如,给定多个语法单元与给定文本文档3610的语义相关性在阈值之上,那么可以测量每个复合语法单元相对于多个语法单元的组合的不相似性,并且可以选择彼此最不相似的多个语法单元以将其包括在文本摘要中。因此,从整体上来说,选择要包括在文本摘要中的语法单元与文本文档在语义上高度相关,但彼此之间却不相似。这是比包含高度语义相关但相似的语法单元的文本摘要更为有用的文本摘要,因为就语法单元传达的信息而言,相似的语法单元比不相似的语法单元更可能是彼此冗余的。
另一个可能性是为语法单元计算复合相似性/不相似性测度,然后基于它们的复合分数来选择要包括在文本摘要中的语法单元。例如,复合测度可以是语义相关性测度和不相似性测度的加权平均值。例如,作为加权平均值计算的可能的复合测度为:
(a*相似性)+(b*不相似性)
在此,参数相似性总体上表示语法单元与输入文本3610的语义相关性。例如,参数相似性可以是针对语法单元计算的相似性估计3620。参数不相似性表示语法单元与一个或多个语法单元的集合的不相似性的不相似性测度。例如,一个或多个语法单元的集合可以是已经被选择以包括在文本摘要中的一个或多个语法单元的集合。参数a表示加权平均值中应用于相似性测度的权重。参数b表示加权平均值中对不相似性测度的权重应用。复合测度有效地使相似性测度和不相似性测度彼此平衡。它们可以相等地彼此平衡(例如,a=0.5和b=0.5)。可替代地,可以给相似性测度更大的权重(例如,a=0.8和b=0.2)。
从给定文本文档中提取的语法单元可以是句子、短语、段落、词、n元语法或其它语法单元。在从给定文本文档3610提取出的语法单元3608是词或n元语法的情况下,与文本摘要相反,该处理可以被视为关键词生成。
文本摘要器3612接受文本片段。该文本片段是给定的文本文档3610或其语法单元。该文本片段被表示为该文本片段的加权属性(例如,词或n元语法)的“输入”向量。输入向量中的每个权重针对该文本片段中识别出的对应属性(例如,词或n元语法),并表示该文本片段与对应属性之间的关联强度。例如,可以根据TF-IDF方案等来计算权重。
在一些实施方式中,输入向量中的属性的权重计算如下:
Figure BDA0003023825140000341
在此,tft,d是该文本片段d中n元语法t的频率。参数k、b、Ld和Lavg与之前的相同,只是关于知识库3602而不是分类训练集。在一些实施方式中,k近似为1.5,并且b近似为0.75。
应当注意的是,其它加权方案是可能的,并且实施例在形成输入向量时不限于任何特定的加权方案。形成输入向量还可以包括单位长度归一化,诸如以上关于训练数据项向量所描述的。
文本摘要器3612在基于该文本片段形成的输入向量的非零加权属性上迭代,从加权倒排索引3606中检索与属性对应的属性向量,并将检索出的属性向量合并为表示该文本片段的概念的加权向量。概念的这个加权向量在下文中被称为“概念”向量。
从加权倒排索引3606检索出的与输入向量的属性对应的属性向量也各自是权重的向量。但是,属性向量中的权重量化知识库3602的相应概念与通过倒排索引3606映射到属性向量的属性之间的关联强度。
文本摘要器3612为文本片段创建概念向量。概念向量是权重的向量。概念向量中的每个权重表示知识库3602的相应概念与文本片段之间的关联强度。由文本摘要器3612计算概念向量中的概念权重作为值的总和,每个属性在输入向量中有一个非零加权的值。该总和的针对属性的每个值被计算为(a)输入向量中属性的权重与(b)针对该属性的属性向量中的概念的权重的乘积。概念向量中的每个概念权重反映该概念与文本片段的相关性。在一些实施方式中,概念向量被归一化。例如,可以针对单元长度或概念长度(例如,如上面的类长度)对概念向量进行归一化。
文本摘要器3612可以为输入文本3610生成概念向量3616,并且为每个语法单元3608生成概念向量3614。向量比较器3618使用相似性测度将针对语法单元生成的概念向量3614与针对输入文本3610生成的概念向量3616进行比较,以生成相似性估计3620。在一些实施方式中,使用余弦相似性测度。实施方式不限于任何特定的相似性测度,并且可以使用能够测量两个非零向量之间的相似性的任何相似性测度。
相似性估计3620量化语法单元与从中提取语法单元的输入文本3610之间的语义相关度。例如,相似性估计3620可以是介于1和0之间的值(包括1和0),其中更接近1的值表示较高的语义相关度,而更接近0的值表示较低的语义相关度。
可以为每个语法单元3608计算相似性估计3620。为语法单元3608生成的相似性估计值3620可以被用于选择语法单元3608中的一个或多个以包括在输入文本3610的文本摘要中(或选择一个或多个关键词用于为输入文本3610生成关键词)。
上述技术有各种应用用于文本摘要化以提供较长文本(诸如例如新闻报道、博客文章、期刊文章、网页等)的准确文本摘要。
在任何或所有上述实施例中,在一个或多个内容资源(例如,图像、文章等)已被识别为潜在地与用户经由用户界面415当前正在创建的内容相关之后,相关的内容资源被传输回内容推荐引擎425,在那里它们可以例如由内容检索/嵌入组件445检索、修改并嵌入到用户界面415中。使用检索/嵌入组件445,可以以用户可以可选地将它们包括在当前正在创建的内容中的方式经由用户界面415向用户提供潜在相关的内容资源。在图37和38中示出了两个示例用户界面,其中在内容创建期间向用户提供图像推荐。在图37中,示出了媒体推荐窗格,其包括基于用户当前经由用户界面创作的内容的文本选择的图像。在图38中,视觉特征分析已被用来选择可能与用户选择的第一图像(“filename.JPG”)相关的图像的集合。可以使用类似的技术和用户界面屏幕来允许用户选择、拖放图像、到文章和其它文本文档的链接、音频/视频文件等,并将其嵌入到用户当前正在创建的内容中。
图39描绘了其中可以实现上面讨论的各种示例的分布式系统3900的简化图。在所示的示例中,分布式系统3900包括经由一个或多个通信网络3910耦合到服务器3912的一个或多个客户端计算设备3902、3904、3906、3908。客户端计算设备3902、3904、3906、3908可以被配置为运行一个或多个应用。
在各种实施例中,服务器3912可以适于运行启用与内容推荐系统400相关联的一个或多个操作的一个或多个服务或软件应用。例如,用户可以使用客户端计算设备3902、3904、3906、3908(例如,对应于内容创作者设备410)来访问通过经由内容推荐引擎425提供的一个或多个基于云的服务。
在各个示例中,服务器3912还可以提供其它服务或软件应用,并且可以包括非虚拟和虚拟环境。在一些示例中,这些服务可以作为基于web的服务或云服务,诸如在软件即服务(SaaS)模型下,提供给客户端计算设备3902、3904、3906、3908的用户。操作客户端计算设备3902、3904、3906、3908的用户可以依次利用一个或多个客户端应用与服务器3912交互以利用由这些组件提供的服务。
在图39所描绘的配置中,服务器3912可以包括实现由服务器3912执行的功能的一个或多个组件3918、3920和3922。这些组件可以包括可以由一个或多个处理器执行的软件组件、硬件组件或其组合。应当认识到的是,各种不同的系统配置是可能的,其可以与示例分布式系统3900不同。
客户端计算设备3902、3904、3906、3908可以包括各种类型的计算系统,诸如便携式手持设备,诸如智能电话和平板电脑;通用计算机,诸如个人计算机和膝上型计算机;工作站计算机;可穿戴设备,诸如头戴式显示器;游戏系统,诸如手持游戏设备、游戏控制台和支持互联网的游戏设备;瘦客户端;各种消息传递设备;传感器和其它感测设备;等等。这些计算设备可以运行各种类型和版本的软件应用和操作系统(例如,Microsoft
Figure BDA0003023825140000371
Apple
Figure BDA0003023825140000372
Figure BDA0003023825140000373
或类UNIX操作系统、Linux或类Linux操作系统,诸如Google ChromeTMTMOS),包括各种移动操作系统(例如,Microsoft Windows
Figure BDA0003023825140000374
Windows
Figure BDA0003023825140000375
AndroidTM
Figure BDA0003023825140000376
Palm
Figure BDA0003023825140000377
)。客户端设备可以能够执行各种不同的应用,诸如各种与互联网相关的应用、通信应用(例如,电子邮件应用、短消息服务(SMS)应用),并且可以使用各种通信协议。客户端设备可以提供使客户端设备的用户能够与客户端设备交互的接口。客户端设备还可以经由这个接口向用户输出信息。虽然图39仅描绘了四个客户端计算设备,但是可以支持任何数量的客户端计算设备。
分布式系统3900中的(一个或多个)网络3910可以是本领域技术人员熟悉的任何类型的网络,其可以使用多种可用协议中的任何一种来支持数据通信,包括但不限于TCP/IP(传输控制协议/互联网协议)、SNA(系统网络体系架构)、IPX(互联网分组交换)、AppleTalk等。仅仅作为示例,(一个或多个)网络3910可以是局域网(LAN)、基于以太网的网络、令牌环、广域网、互联网、虚拟网络、虚拟专用网(VPN)、内联网、外联网、公共电话交换网(PSTN)、红外网络、无线网络(例如,在任何电气和电子协会(IEEE)802.11协议套件、
Figure BDA0003023825140000381
和/或任何其它无线协议下操作的网络)和/或这些和/或其它网络的任意组合。
服务器3912可以由一个或多个通用计算机、专用服务器计算机(作为示例,包括PC(个人计算机)服务器、
Figure BDA0003023825140000382
服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器农场、服务器集群或任何其它适当的布置和/或组合组成。服务器3912可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其它计算体系架构,诸如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活的池。在各种示例中,服务器3912可以适于运行执行上述操作的一个或多个服务或软件应用。
服务器3912可以运行操作系统,包括以上讨论的任何操作系统以及任何商用的服务器操作系统。服务器3912还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(通用网关接口)服务器、
Figure BDA0003023825140000383
服务器、数据库服务器等。数据库服务器的示例包括但不限于可从Oracle、Microsoft、Sybase、IBM(国际商业机器)等商购获得的数据库服务器。
在一些实施方式中,服务器3912可以包括一个或多个应用以分析和整合从客户端计算设备3902、3904、3906、3908的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和连续数据流接收到的
Figure BDA0003023825140000384
馈送、
Figure BDA0003023825140000385
更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器3912还可以包括经由客户端计算设备3902、3904、3906、3908的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
分布式系统3900还可以包括一个或多个数据储存库3914、3916。这些数据储存库可以提供用于存储各种类型的信息(诸如由以上讨论的各种示例描述的信息)的机制。数据储存库3914、3916可以驻留在各种位置。例如,由服务器3912使用的数据储存库可以在服务器3912本地,或者可以远离服务器3912并经由基于网络或专用的连接与服务器3912通信。数据储存库3914、3916可以是不同的类型。在一些示例中,由服务器3912使用的数据储存库可以是数据库,例如关系数据库,诸如由
Figure BDA0003023825140000391
公司和其它供应商提供的数据库。这些数据库中的一个或多个可以适于响应于SQL格式的命令来实现数据库中数据的存储、更新和检索。
在一些示例中,应用还可以使用数据储存库3914、3916中的一个或多个来存储应用数据。由应用使用的数据储存库可以具有不同的类型,诸如,例如,键-值储存库、对象储存库或由文件系统支持的通用储存库。
在一些示例中,云环境可以提供一个或多个服务,例如以上讨论的服务。图40是系统环境4000的一个或多个组件的简化框图,其中这些和其它服务可以被提供为云服务。在图40中示出的示例中,云基础设施系统4002可以提供可以由用户使用一个或多个客户端计算设备4004、4006和4008请求的一个或多个云服务。云基础设施系统4002可以包括一个或多个计算机和/或服务器,其可以包括以上针对图39的服务器3912描述的那些计算机和/或服务器。云基础设施系统4002中的计算机可以被组织为通用计算机、专用服务器计算机、服务器农场、服务器集群或任何其它适当的布置和/或组合。
(一个或多个)网络4010可以促进客户端4004、4006和4008与云基础设施系统4002之间的通信和数据交换。(一个或多个)网络4010可以包括一个或多个网络。网络可以是相同或不同的类型。(一个或多个)网络4010可以支持一种或多种通信协议,包括有线和/或无线协议,以促进通信。
图40中描绘的示例仅仅是云基础设施系统的一个示例,并且不旨在进行限制。应该认识到的是,在其它示例中,云基础设施系统4002可以具有比图40所示的组件更多或更少的组件、可以组合两个或更多个组件,或者可以具有不同的组件配置或布置。例如,虽然图40描绘了三个客户端计算设备,但是在其它示例中可以支持任何数量的客户端计算设备。
术语“云服务”通常用于指由服务提供商的系统(例如,云基础设施系统4002)根据需要并且经由诸如互联网之类的通信网络使用户可使用的服务。典型地,在公共云环境中,组成云服务提供商系统的服务器和系统与客户自己的内部服务器和系统不同。云服务提供商的系统由云服务提供商管理。客户因此可以利用由云服务提供商提供的云服务,而不必为服务购买单独的许可证、支持或硬件和软件资源。例如,云服务提供商的系统可以托管应用,并且用户可以经由互联网按需和自助订购和使用应用,而用户不必购买用于执行应用的基础设施资源。云服务旨在提供对应用、资源和服务的轻松、可扩展的访问。几个提供商提供云服务。例如,由加利福尼亚州Redwood Shores的
Figure BDA0003023825140000402
公司提供了几种云服务,诸如中间件服务、数据库服务、Java云服务等。
在各种示例中,云基础设施系统4002可以使用诸如软件即服务(SaaS)模型、平台即服务(PaaS)模型、基础设施即服务(IaaS)模型以及包括混合服务模型的其它模型之类的不同模型提供一个或多个云服务。云基础设施系统4002可以包括一套应用、中间件、数据库以及使得能够供给各种云服务的其它资源。
SaaS模型使得应用或软件能够作为服务通过如互联网的通信网络交付给客户,而客户不必为底层应用购买硬件或软件。例如,SaaS模型可以用于为客户提供对由云基础设施系统4002托管的按需应用的访问。由
Figure BDA0003023825140000401
公司提供的SaaS服务的示例包括但不限于用于人力资源/资本管理、客户关系管理(CRM)、企业资源计划(ERP)、供应链管理(SCM)、企业绩效管理(EPM)、分析服务、社交应用及其它的各种服务。
IaaS模型通常用于向客户提供基础设施资源(例如,服务器、存储装置、硬件和联网资源)作为云服务,以提供弹性计算和存储能力。
Figure BDA0003023825140000411
公司提供了各种IaaS服务。
PaaS模型通常用于提供平台和环境资源作为服务,其使得客户能够开发、运行和管理应用和服务,而客户不必采购、构建或维护此类资源。由
Figure BDA0003023825140000412
公司提供的PaaS服务的示例包括但不限于Oracle Java云服务(JCS)、Oracle数据库云服务(DBCS)、数据管理云服务、各种应用开发解决方案服务,以及其它服务。
在一些示例中,云基础设施系统4002中的资源可以由多个用户共享并且根据需求动态地重新分配。此外,可以将资源分配给不同时区的用户。例如,云基础设施系统4002可以使第一时区中的用户的第一集合能够在指定的小时数内利用云基础设施系统的资源,然后使得能够将相同资源重新分配给位于不同时区的用户的另一个集合,从而最大程度地利用资源。
云基础设施系统4002可以经由不同的部署模型来提供云服务。在公共云模型中,云基础设施系统4002可以由第三方云服务提供商拥有,并且云服务被提供给任何普通公众客户,其中客户可以是个人或企业。在某些其它实施例中,在私有云模型下,可以在组织内(例如,在企业组织内)操作云基础设施系统4002,并向组织内的客户提供服务。例如,客户可以是企业的各个部门,诸如人力资源部门、工资部门等,甚至是企业内的个人。在某些其它实施例中,在社区云模型下,云基础设施系统4002和所提供的服务可以由相关社区中的几个组织共享。也可以使用各种其它模型,诸如上面提到的模型的混合。
客户端计算设备4004、4006、4008可以是与以上针对图39的客户端计算设备3902、3904、3906、3908所描述的设备相似的设备。图40的客户端计算设备4004、4006、4008可以被配置为操作可以由客户端计算设备的用户用于与云基础设施系统4002交互以使用云基础设施系统4002提供的服务的客户端应用,诸如web浏览器、专有客户端应用(例如,OracleForms)或某个其它应用。
在各个示例中,云基础设施系统4002还可以提供“大数据”以及相关的计算和分析服务。术语“大数据”一般被用于指可以由分析人员和研究人员存储和操纵的非常大的数据集,以可视化大量数据、检测趋势和/或以其它方式与数据进行交互。云基础设施系统4002可以执行的分析可以涉及使用、分析和操纵大型数据集,以检测和可视化数据内的各种趋势、行为、关系等。这种分析可以由一个或多个处理器执行、可能并行处理数据、使用数据执行仿真等。用于这种分析的数据可以包括结构化数据(例如,存储在数据库中或根据结构化模型结构化的数据)和/或非结构化数据(例如,数据Blob(二进制大对象))。
如在图40的实施例中所描绘的,云基础设施系统4002可以包括基础设施资源4030,其用于促进由云基础设施系统4002提供的各种云服务的供给。基础设施资源4030可以包括例如处理资源、存储或存储器资源、联网资源等。
在一些示例中,为了促进这些资源的高效供给以支持由云基础设施系统4002为不同客户提供的各种云服务,可以将资源捆绑成资源或资源模块的集合(也称为“群聚(pod)”)。每个资源模块或群聚可以包括一种或多种类型的资源的预先集成和优化的组合。在一些示例中,可以为不同类型的云服务预先供给不同的群聚。例如,可以为数据库服务供给第一组群聚,可以为Java服务供给第二组群聚,其中第二组群聚可以包括与第一组群聚中的群聚不同的资源组合。对于一些服务,可以在服务之间共享为供给服务而分配的资源。
云基础设施系统4002本身可以内部使用服务4032,服务4032由云基础设施系统4002的不同组件共享并且促进云基础设施系统4002的服务供给。这些内部共享的服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
在各个示例中,云基础设施系统4002可以包括多个子系统。这些子系统可以用软件或硬件或其组合来实现。如图40所示,子系统可以包括用户界面子系统4012,该用户界面子系统4012使得云基础设施系统4002的用户或客户能够与云基础设施系统4002交互。用户界面子系统4012可以包括各种不同的界面,诸如web界面4014、在线商店界面4016(其中由云基础设施系统4002提供的云服务被广告并且可由消费者购买)和其它界面4018。例如,客户可以使用客户端设备使用接口4014、4016和4018中的一个或多个来请求(服务请求4034)由云基础设施系统4002提供的一个或多个服务。例如,客户可以访问在线商店、浏览由云基础设施系统4002提供的云服务,并为由云基础设施系统4002提供的服务中客户希望订阅的一个或多个服务下订阅订单。服务请求可以包括识别客户的信息以及客户期望订阅的一个或多个服务。例如,客户可以为诸如上面讨论的那些服务下订单。作为订单的一部分,客户可以提供尤其识别客户所需的资源量和/或在什么时间范围内的信息。
在一些示例中,诸如在图40中描绘的示例,云基础设施系统4002可以包括被配置为处理新订单的订单管理子系统(OMS)4020。作为这个处理的一部分,OMS 4020可以被配置为:为客户生成账户(如果尚未创建);接收来自客户的账单和/或会计信息,该账单和/或账单信息将用于针对向客户提供所请求的服务向客户计费;验证客户信息;在验证后,为客户预订订单;并且编排各种工作流程以尤其准备用于供应的订单。
一旦被正确地验证,OMS 4020就可以调用订单供给子系统(OPS)4024,其被配置为为订单供给资源,包括处理资源、存储器资源和联网资源。供给可以包括为订单分配资源,以及配置资源以促进由客户订单所请求的服务。为订单供给资源的方式和供给资源的类型可以取决于客户已订购的云服务的类型。例如,根据一个工作流程,OPS 4024可以被配置为确定所请求的特定云服务,并且识别可能已经针对该特定云服务而被预先配置的多个群聚。为订单分配的群聚的数量可以取决于所请求的服务的大小/数量/级别/范围。例如,可以基于服务所支持的用户的数量、正在请求的服务的持续时间等来确定要分配的群聚的数量。然后,可以针对特定的请求客户定制所分配的群聚,以提供所请求的服务。
云基础设施系统4002可以向请求客户发送响应或通知4044,以指示所请求的服务何时准备就绪。在一些情况下,可以将信息(例如,链接)发送给客户,使得客户能够开始使用和利用所请求的服务的益处。
云基础设施系统4002可以向多个客户提供服务。对于每个客户,云基础设施系统4002负责管理与从客户接收到的一个或多个订阅订单相关的信息、维护与订单相关的客户数据,以及向客户提供所请求的服务。云基础设施系统4002还可以收集关于客户对已订阅的服务的使用的使用统计信息。例如,可以针对使用的存储量、传输的数据量、用户的数量以及系统正常运行时间和系统停机时间量等收集统计信息。该使用信息可以用于向客户计费。计费可以例如按月周期进行。
云基础设施系统4002可以并行地向多个客户提供服务。云基础设施系统4002可以存储这些客户的信息,包括可能的专有信息。在一些示例中,云基础设施系统4002包括身份管理子系统(IMS)4028,其被配置为管理客户的信息并提供所管理的信息的分离,使得与一个客户相关的信息不可被另一个客户访问。IMS 4028可以被配置为提供各种与安全相关的服务,诸如身份服务,诸如信息访问管理、认证和授权服务、用于管理客户身份和角色及相关能力的服务,等等。
图41图示了可以被用于实现上面讨论的各种示例的计算机系统4100的示例。在一些示例中,计算机系统4100可以被用于实现上述各种服务器和计算机系统中的任何一个。如图41中所示,计算机系统4100包括各种子系统,包括经由总线子系统4102与多个其它子系统通信的处理子系统4104。这些其它子系统可以包括处理加速单元4106、I/O子系统4108、存储子系统4118和通信子系统4124。存储子系统4118可以包括非暂态计算机可读存储介质4122和系统存储器4110。
总线子系统4102提供用于使计算机系统4100的各种组件和子系统按照期望彼此通信的机制。虽然总线子系统4102被示意性地示为单条总线,但是总线子系统的替代示例可以利用多条总线。总线子系统4102可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和使用任何各种总线体系架构的局部总线。例如,此类体系架构可以包括工业标准体系架构(ISA)总线、微通道体系架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和外围组件互连(PCI)总线,其可以实现为根据IEEE P1386.1标准制造的夹层(Mezzanine)总线,等等。
处理子系统4104控制计算机系统4100的操作,并且可以包括一个或多个处理器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。处理器可以包括单核或多核处理器。可以将计算机系统4100的处理资源组织成一个或多个处理单元4132、4134。处理单元可以包括一个或多个处理器(包括单核或多核处理器)、来自相同或不同处理器的一个或多个核心、核心和处理器的组合、或核心和处理器的其它组合。在一些示例中,处理子系统4104可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(DSP)等。在一些示例中,处理子系统4104的一些或全部可以使用定制电路来实现,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
在一些示例中,处理子系统4104中的处理单元可以执行存储在系统存储器4110中或计算机可读存储介质4122上的指令。在各种示例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器4110中和/或计算机可读存储介质4122上,包括可能在一个或多个存储设备上。通过适当的编程,处理子系统4104可以提供上述各种功能。在计算机系统4100正在执行一个或多个虚拟机的情况下,可以将一个或多个处理单元分配给每个虚拟机。
在一些示例中,可以提供处理加速单元4106,以用于执行定制的处理或用于卸载由处理子系统4104执行的一些处理,从而加速由计算机系统4100执行的总体处理。
I/O子系统4108可以包括用于向计算机系统4100输入信息和/或用于从或经由计算机系统4100输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统4100输入信息的所有可能类型的设备和机制。用户界面输入设备可以包括,例如,键盘、诸如鼠标或轨迹球之类的指向设备、并入到显示器中的触摸板或触摸屏、滚轮、点击轮、拨盘、按钮、开关、小键盘、带有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户界面输入设备还可以包括使用户能够控制输入设备并与之交互的诸如Microsoft
Figure BDA0003023825140000461
运动传感器的运动感测和/或姿势识别设备、Microsoft
Figure BDA0003023825140000462
360游戏控制器、提供用于接收使用姿势和口语命令的输入的界面的设备。用户界面输入设备还可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,Google
Figure BDA0003023825140000463
)的输入的Google
Figure BDA0003023825140000464
眨眼检测器。此外,用户界面输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,
Figure BDA0003023825140000465
导航器)交互的语音识别感测设备。
用户界面输入设备的其它示例包括但不限于,三维(3D)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3D扫描仪、3D打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户界面输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、医疗超声检查设备。用户界面输入设备也可以包括,例如,音频输入设备,诸如MIDI键盘、数字乐器等。
一般而言,术语“输出设备”的使用旨在包括所有可能类型的设备和用于从计算机系统4100向用户或其它计算机输出信息的机制。用户界面输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(CRT)、诸如利用液晶显示器(LCD)或等离子体显示器的平板设备、投影设备、触摸屏等。例如,用户界面输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
存储子系统4118提供用于存储由计算机系统4100使用的信息的储存库或数据存储库。存储子系统4118提供有形的非暂态计算机可读存储介质,用于存储提供一些示例的功能性的基本编程和数据构造。当由处理子系统4104执行时提供上述功能性的软件(例如,程序、代码模块、指令)可以存储在存储子系统4118中。软件可以由处理子系统4104的一个或多个处理单元执行。存储子系统4118还可以提供用于存储根据本公开使用的数据的储库。
存储子系统4118可以包括一个或多个非暂态存储器设备,包括易失性和非易失性存储器设备。如图41所示,存储子系统4118包括系统存储器4110和计算机可读存储介质4122。系统存储器4110可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(RAM)以及其中存储有固定指令的非易失性只读存储器(ROM)或闪存。在一些实施方式中,基本输入/输出系统(BIOS)可以典型地存储在ROM中,该基本输入/输出系统(BIOS)包含有助于诸如在启动期间在计算机系统4100内的元件之间传递信息的基本例程。RAM通常包含当前由处理子系统4104操作和执行的数据和/或程序模块。在一些实施方式中,系统存储器4110可以包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)等。
作为示例而非限制,如图41所示,系统存储器4110可以加载正在被执行的可以包括客户端应用、Web浏览器、中间层应用、关系型数据库管理系统(RDBMS)等的应用程序4112、程序数据4111和操作系统4116。作为示例,操作系统4116可以包括各种版本的Microsoft
Figure BDA0003023825140000481
Apple
Figure BDA0003023825140000482
和/或Linux操作系统、各种商用
Figure BDA0003023825140000483
或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统、Google
Figure BDA0003023825140000484
OS等)和/或移动操作系统,诸如iOS、
Figure BDA0003023825140000485
Phone、
Figure BDA0003023825140000486
OS、
Figure BDA0003023825140000487
10OS和
Figure BDA0003023825140000488
OS操作系统。
计算机可读存储介质4122可以存储提供一些示例的功能性的编程和数据构造。计算机可读介质4122可以为计算机系统4100提供计算机可读指令、数据结构、程序模块和其它数据的存储。当由处理子系统4104执行时,提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统4118中。作为示例,计算机可读存储介质4122可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如CD ROM、DVD、
Figure BDA0003023825140000489
(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质4122可以包括但不限于,
Figure BDA00030238251400004810
驱动器、闪存存储器卡、通用串行总线(USB)闪存驱动器、安全数字(SD)卡、DVD盘、数字视频带等。计算机可读存储介质4122也可以包括基于非易失性存储器的固态驱动器(SSD)(诸如基于闪存存储器的SSD、企业闪存驱动器、固态ROM等)、基于易失性存储器的SSD(诸如基于固态RAM、动态RAM、静态RAM、DRAM的SSD、磁阻RAM(MRAM)SSD),以及使用基于DRAM和基于闪存存储器的SSD的组合的混合SSD。计算机可读存储介质4122可以提供用于计算机系统4100计算机可读指令、数据结构、程序模块和其它数据的存储。
在一些示例中,存储子系统4118还可以包括计算机可读存储介质读取器4120,计算机可读存储介质读取器4120可以进一步连接到计算机可读存储介质4122。读取器4120可以接收并被配置为从诸如盘、闪存驱动器等存储器设备读取数据。
在一些示例中,计算机系统4100可以支持虚拟化技术,包括但不限于处理和存储器资源的虚拟化。例如,计算机系统4100可以提供用于执行一个或多个虚拟机的支持。计算机系统4100可以执行诸如促进虚拟机的配置和管理的管理程序之类的程序。每个虚拟机一般独立于其它虚拟机运行。可以为每个虚拟机分配存储器、计算(例如,处理器、核心)、I/O和联网资源。每个虚拟机通常运行其自己的操作系统,该操作系统可以与由计算机系统4100执行的其它虚拟机执行的操作系统相同或不同。因此,计算机系统4100可以潜在地同时运行多个操作系统。
通信子系统4124提供到其它计算机系统和网络的接口。通信子系统4124用作用于从计算机系统4100接收数据以及向其它系统传输数据的接口。例如,通信子系统4124可以使得计算机系统4100能够经由互联网建立到一个或多个客户端设备的通信信道,以用于从客户端设备接收信息以及向客户端计算设备发送信息。
通信子系统4124可以支持有线和/或无线通信协议两者。例如,在一些示例中,通信子系统4124可以包括用于(例如,使用蜂窝电话技术、高级数据网络技术(诸如3G、4G或EDGE(全球演进的增强数据速率)、WiFi(IEEE 802.11族标准)、或其它移动通信技术、或其任意组合)接入无线语音和/或数据网络的射频(RF)收发器组件、全球定位系统(GPS)接收器组件和/或其它组件。在一些示例中,作为无线接口的附加或代替地,通信子系统4124可以提供有线网络连接(例如,以太网)。
通信子系统4124可以以各种形式接收和传输数据。例如,在一些示例中,通信子系统4124还可以以结构化和/或非结构化的数据馈送4126、事件流4128、事件更新4130等形式接收输入通信。例如,通信子系统4124可以被配置为实时地从社交媒体网络的用户和/或诸如
Figure BDA0003023825140000491
馈送、
Figure BDA0003023825140000492
更新、诸如丰富站点摘要(RSS)馈送的web馈送的其它通信服务接收(或发送)数据馈送4126,和/或来自一个或多个第三方信息源的实时更新。
在一些示例中,通信子系统4124可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流4128和/或事件更新4130。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
通信子系统4124还可以被配置为将结构化和/或非结构化数据馈送4126、事件流4128、事件更新4130等输出到可以与耦合到计算机系统4100的一个或多个流传输数据源计算机进行通信的一个或多个数据库。
计算机系统4100可以是各种类型中的一种,包括手持便携式设备(例如,
Figure BDA0003023825140000501
蜂窝电话、
Figure BDA0003023825140000502
计算平板、PDA)、可穿戴设备(例如,Google
Figure BDA0003023825140000503
头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。
由于计算机和网络不断变化的性质,对图41中绘出的计算机系统4100的描述旨在仅仅作为具体示例。具有比图41中所绘出的系统更多或更少组件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
II.智能内容-搜索结果排名
对于被配置为响应于来自客户端或用户的输入来推荐特定内容(内容项)的内容推荐系统,评估内容项并相对于彼此进行排名的处理在总体推荐中起着重要的作用。例如,用户可以将一个或多个搜索术语输入搜索引擎查询界面,推荐系统可以推荐与输入搜索术语最匹配的一个或多个相关内容项(例如,网页、文档、图像等)。在其它示例中,用户可以使用内容创作系统创作原始内容,诸如电子邮件、文档、在线文章、博客文章等,该内容创作系统可以被配置为提供相关内容项的推荐,该推荐可以与用户创作的内容相关。例如,如上所述,内容推荐系统可以向用户推荐相关图像或到网页的链接等,使得如果期望的话,作者可以将推荐的内容项中的一个或多个结合到正在由用户创作的内容中。在上面的部分中描述了此类技术的几个示例。如这些示例所说明的,响应于从其它处理接收到手动输入的用户输入和/或自动输入,特定内容项的排名和推荐可以应用于许多不同的用例。待排名和/或推荐的内容项可以与推荐系统可用于搜索的图像、网页、其它媒体文件、文档、数字对象等对应。这些内容项可以存储在推荐系统可访问的一个或多个储存库中,该储存库可以是私有或公共储存库(例如,互联网)。
但是,对内容项进行排名是不简单的任务。例如,考虑使用标签匹配技术来执行推荐的推荐系统。在这样的系统中,可用于被推荐系统搜索的内容项被加标签,并且内容项与标签一起可以被存储在一个或多个储存库中。加标签可以由内容项加标签服务/应用来执行。对于内容项,与该内容项相关联的一个或多个标签指示该内容项所包含的内容。值(有时也称为标签概率)也可以与每个标签相关联,其中该值提供了由出现在内容项中的标签指示的内容的测度(例如,概率)。在接收到要为其提供内容项的推荐的用户输入(例如,搜索术语/短语、由用户创作的内容)后,可以分析用户输入以识别要与该用户输入相关联的一个或多个标签。推荐系统然后可以使用标签匹配技术从可用于搜索的内容项中识别内容项的集合,该内容项的相关联的标签匹配与用户输入相关联的标签。推荐系统然后可以使用某种排名算法来对识别出的集合内的内容项进行排名并将结果显示给用户。
但是,在某些用例中,由推荐系统使用的排名算法的有效性会受到限制,并且可能不会产生最优结果。例如,考虑存在与用户输入相关联的多个标签的情况。例如,如果用户在图像搜索引擎中键入词“咖啡”和“人”,那么标签“咖啡”和“人”可以与用户输入相关联。在某些实施例中,搜索术语本身可以被视为与用户输入相关联的标签。为了简单起见,假设可用于搜索的内容项的集合包括加标签的图像。使用这两个标签,推荐系统可以从内容项(例如,图像)的集合中检索匹配的内容项的集合,其中如果与内容项相关联的至少一个标签和与用户输入相关联的标签匹配,那么认为该内容项是匹配的。考虑一种场景(情况1),其中由推荐系统检索多个匹配的内容项,并且每个内容项都具有与之相关联的“咖啡”和“人”标签。对这些检索出的内容项进行排名的一种可能方式是(a)针对每个匹配的内容项,添加与用于那个内容项的与标签“咖啡”和“人”相关联的值,然后(b)基于它们相关联的相加总和对内容项进行排名。但是,这带来了一个问题,因为对于多个匹配的内容项,与匹配的标签相关联的值可以累加至相同的值,这是非常可能的情况,因为大多数加标签服务将概率归一化到一的尺度。例如,三个匹配的图像可以具有如下相关联的标签值:图像A((“咖啡”,0.5),(“人”,0.5)),图像B((“咖啡”,0.2),(“人”,0.8))和图片C((“咖啡”,0.7),(“人”,0.3))。如可以看出的,这些匹配的图像中每个匹配的图像的匹配标签的值之和为一(“1”),因此无法使用常规求和技术将这些图像之一排名在另一个之上。因而,仅基于图像的匹配标签值的相加总和对图像进行排名不能被用于对图像进行排名。
扩展以上示例,匹配的图像的集合还可以包括仅匹配一个标签(例如,仅匹配“咖啡”或仅匹配“人”)并具有相同的相关联标签值的图像。这再次提出了对图像进行排名的问题。例如,考虑三个匹配的图像可以具有如下相关联的标签值:图像A((“咖啡”,0.5))和图像B((“人”,0.5))。再次,使用常规技术无法将这些图像之一排名在另一个之上。
当与用户输入相关联的标签多于两个时,情况进一步恶化。例如,如果用户在图像搜索引擎中键入词“咖啡”、“人”和“咖啡馆”,那么与用户输入相关联的搜索标签为“咖啡”、“人”和“咖啡馆”三个。推荐系统可以从内容项(例如,图像)的集合中检索匹配的内容项的集合,其中如果与内容项相关联的至少一个标签匹配与用户输入相关联的标签,那么认为该内容项是匹配的。匹配的内容项的匹配标签的数量可以从仅一个匹配标签到多个匹配标签(“咖啡”、“人”和“咖啡馆”示例的三个匹配标签的最大值)不同。同样在这个场景中,对于多个匹配的内容项,与匹配的标签相关联的值可以累加至相同的值。例如,三个匹配的图像可以具有如下相关联的标签值:图像A((“人”,0.8),(“咖啡”,0.2)),图像B((“人”,0.2),(“咖啡”,0.2),(“咖啡馆”,0.6))和图像C((“人”,0.5),(“咖啡馆”,0.5))。如可以看出的,这些匹配的图像中每个匹配的图像的匹配标签的值之和为一(“1”),因此,无法使用常规求和技术将这些图像之一排名在另一个之上。
因而,在许多情况下,由于多种原因,简单的标签匹配技术可能不会返回最优内容推荐。例如,储存库中的某些图像(或其它内容项)可以仅用一个或两个内容标签来加标签,而其它图像/内容项可以用大量标签来加标签,包括对于单个内容项有数十个甚至数百个标签。在这样的情况下,常规标签匹配技术可能会过分推荐重加标签的内容项(例如,因为它更频繁地包括至少一个与输入术语匹配的标签)和/或可能会不足推荐这种项目(例如,因为即使匹配一个或多个内容标签,其大多数标签仍将与输入术语不匹配)。类似地,由用户或客户端系统提供的输入内容可能仅包括几个输入术语(例如,明确输入的搜索术语或从更大的输入文本中提取的主题),或者可能包括相对大量的输入术语,这取决于接收到的输入数据。在此类情况下,常规标签匹配技术可能或者无法识别储存库中的某些相关内容项(例如,因为太少输入术语与相关内容项的标签匹配),或者可能错误地推荐相关性较低的内容项(例如,因为相关性较低的内容项包括一个或多个匹配标签)。
在某些实施例中,本文描述了用于评估、排名和推荐加标签的内容项的改进技术。在一些实施例中,内容推荐系统可以从客户端设备接收输入内容(诸如搜索查询、新创作的文本输入等)。一个或多个标签可以包括在从客户端设备接收到的输入内容中或与其相关联,和/或可以基于对输入内容执行的预处理和分析技术从输入内容中确定和提取。此外,内容推荐系统可以访问存储多个加标签的内容项(诸如图像、媒体内容文件、到网页的链接和/或其它文档)的内容储存库。在一些情况下,内容储存库可以存储识别加标签的内容项的数据,并且对于每个加标签的内容项,还可以存储用于每个项目的相关联的标签信息,其中用于内容项的标签信息包括识别与内容项关联的一个或多个标签的信息和每个相关联的标签的标签值。
响应于接收要对其做出推荐的输入数据,内容推荐系统可以从可搜索内容项的集合中检索来自内容储存库的匹配的加标签的内容项的集合,其中如果与内容项相关联的至少一个内容标签匹配与输入内容相关联的标签,那么将该内容项视为匹配的内容项。然后,对于从内容储存库中检索出的每个匹配的加标签的内容项,内容推荐系统可以计算两个分数:(1)基于与匹配与输入内容相关联的标签的内容项相关联的标签的数量的第一分数(也称为标签计数分数),以及(2)基于该内容项的每个匹配标签的标签值的第二分数(也称为基于标签值的分数或TVBS)。然后,内容推荐系统基于该匹配的内容项的第一分数和第二分数为每个匹配的内容项计算最终排名分数。然后,针对匹配的内容项的集合计算出的最终排名分数被用于生成匹配的内容项的排名列表。然后,这个排名列表被用于识别要输出到用户或客户端系统的匹配的内容项的推荐子集。
现在参考图42,示出了根据某些实施例的图示计算环境4200的框图,该计算环境4200具有内容推荐系统4220,该内容推荐系统4220被实现为响应于从用户或客户端系统4210接收的输入内容来评估和排名来自内容储存库4230的内容项。在这个示例中还示出了内容推荐系统4220内的各种组件和子系统,包括图形用户界面(GUI)4215,客户端系统4210可通过该图形用户界面4215与内容推荐系统4220交互,以提供输入内容并接收识别推荐的内容项的子集的数据。在某些实施例中,GUI 4215可以是用户用来创作内容的分离的客户端应用4215(例如,web浏览器应用)的GUI。在这个实施例中,内容推荐系统4220可以从客户端应用接收用户提供或创作的内容。内容推荐系统4220可以使用应用编程接口(API)来接收内容,该应用编程接口使客户端应用和内容推荐系统4220能够彼此交互和交换信息。
图42中描绘的实施例仅仅是示例,并且无意于不当地限制要求保护的实施例的范围。本领域普通技术人员将认识到许多可能的变化、替代和修改。例如,在一些实施方式中,内容推荐系统4220可以具有比图42所示的系统或子系统更多或更少的系统或子系统,可以组合两个或更多个系统,或者可以具有系统的不同配置或布置。内容推荐系统4220可以被实现为一个或多个计算系统,在一些实施例中,包括使用具有专用和专门的硬件和软件的独立计算和网络基础设施的分离的系统。可替代地或附加地,这些组件和子系统中的一个或多个可以集成到执行分离的功能性的单个系统中。图42中描绘的各种系统、子系统和组件可以以由相应系统的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)、硬件或组合来实现。软件可以存储在非暂态存储介质上(例如,存储器设备上)。
在更高级别,内容推荐系统4220被配置为接收用户输入内容,然后响应于并基于用户输入内容而做出内容项推荐。推荐是从内容项的集合做出的,这些内容项对于内容推荐系统4220可用且可访问以进行推荐。内容项的集合可以包括图像、各种类型的文档、媒体内容、数字对象等。基于与用户输入内容相关联的标签信息和与内容项的集合相关联的标签信息,内容推荐系统4220被配置为使用标签匹配技术为用户输入内容识别匹配的内容项的集合。然后,内容推荐系统4220被配置为使用本公开中描述的创新排名技术来对匹配的内容项的集合中的内容项进行排名。基于排名,内容推荐系统4220然后被配置为识别和推荐要输出到用户或客户端系统的匹配的内容项的子集。
内容推荐系统4220包括内容加标签器子系统4222,该内容加标签器子系统4222被配置为接收或检索可用于由内容推荐系统4220推荐的内容项。内容项可以包括但不限于图像、网页、文档、媒体文件等。可以从一个或多个内容储存库4230接收或检索内容项。内容储存库4230可以包括各种公共或私有内容储存库,诸如库或数据库,包括图像库、文档存储库、基于web的资源的局域网或广域网(例如,互联网)等。一个或多个内容储存库4230可以本地存储到内容推荐系统4220中,而其它内容储存库可以是分离的、远离内容推荐系统4220并且可经由一个或多个计算机网络让内容推荐系统4220访问。
在某些实施例中,对于每个内容项,内容加标签器子系统4222被配置为检索和分析内容项的内容,并识别要与该内容项相关联的一个或多个内容标签(tag)。对于与内容项相关联的每个标签,内容加标签器4222还可以确定与该标签相关联的标签值,其中该值提供由该标签指示的内容在内容项中出现的测度(例如,概率)。标签的标签值可以与表示特定内容标签如何适用于那个内容项的数值测度。一个或多个标签和对应的标签值可以与内容项相关联。对于具有多个相关联的标签和对应标签值的内容项,标签值可以表示那个图像中由标签指示的图像主题或话题的相对突出。例如,与具有相对高标签值的内容项相关联的第一标签可以指示由那个第一标签指示的内容或特征在该内容项中特别相关并且突出。相反,与具有较低标签值的相同内容项相关联的第二标签可以指示,相对于由第一内容标签指示的内容,由第二标签指示的内容或特征在内容项中不那么突出或流行。例如,图像内容项可以具有两个相关联的标签和值,如下所示:(“人”,0.8),(“咖啡”,0.2))。这指示图像包含与咖啡(例如,咖啡杯)相关的内容和与人相关的内容(例如,喝咖啡的人),并且与咖啡的描述相比,人在图像中的显示更为突出(例如,图像的很大一部分可以描绘人,而咖啡杯可以覆盖图像的一小部分)。标签值可以使用不同的格式表示。例如,在一些实施方式中,标签值可以被表达为0.0和1.0之间的浮点数。在一些实施方式中,与特定内容项相关联的标签的所有标签值的总和可以求和到固定且统一的值(例如,累加至1)。
在一些实施例中,内容加标签器4222可以使用内容加标签服务的服务来执行针对内容项的加标签任务,包括识别要与内容项相关联的一个或多个标签以及每个标签的标签值。在某些实施例中,使用已被训练为将内容项作为输入并预测该内容项的标签和相关联的标签值的一个或多个预测性机器学习模型来实现内容加标签器4222。在一些实施例中,标签可以从用于训练模型的预配置标签的集合中选择。可以使用使用预训练的机器学习模型和/或其它基于人工智能的工具的各种机器学习技术(包括基于AI的文本或图像分类系统、主题或特征提取和/或上述技术的任何其它组合)来确定要与内容项相关联的标签和对应的标签值。
在一些实施例中,从内容储存库4230检索出的内容项可能已经包括相关联的内容标签和标签值。当检索出的内容项不包括标签信息时,和/或当内容推荐系统4220被配置为确定内容项的附加标签时,内容加标签器4222可以被用于为检索出的内容项更新或生成新标签。内容加标签器4222可以使用各种不同技术来生成用于内容项的标签信息(例如,一个或多个标签以及相关联的标签值)。例如,内容加标签器4222可以使用任何或所有先前描述的技术来分析检索出的内容项并确定内容标签,诸如解析、处理、特征提取和/或其它分析技术。解析、处理、特征提取和/或分析的类型可以取决于内容项的类型。例如,对于基于文本的内容项,诸如博客文章、信件、电子邮件、文章、文档等,分析可以包括关键词提取和处理工具(例如,词干提取、同义词检索等)、主题分析工具等。对于作为图像的内容项,可以使用基于人工智能的图像分类工具来识别特定的图像特征和/或生成图像标签。例如,图像的分析可以识别多个图像特征,并且可以用这些识别出的特征中的每个特征对图像加标签。一种或两种类型的分析(即,从图像中提取标签和从文本内容中提取关键词/主题)可以使用基于分析、机器学习算法和/或人工智能(AI)的技术(诸如基于AI的认知图像分析服务,或要用于文本内容的类似的AI/REST认知文本服务)经由基于REST的服务或其它web服务来执行。类似的技术可以被用于其它类型的内容项,诸如视频文件、音频文件、图形或社交媒体帖子,其中可以使用专门的web服务来提取和分析特定特征(例如,词、图像/视频中的对象、面部表情等),这取决于内容项的媒体类型。
在一些实施例中,内容加标签器4222可以使用一个或多个用训练数据进行训练的基于机器学习和/或人工智能的预训练的模型来识别和提取要用于确定内容项的标签和标签值的内容特征。例如,模型训练系统可以生成一个或多个模型,可以基于包括先前输入数据(例如,文本输入、图像等)以及先前输入数据的对应标签的训练数据集在内的训练数据集使用机器学习算法预先对其进行训练。在各种实施例中,可以使用一种或多种不同类型的经训练的模型,包括执行监督式或半监督式学习技术的分类系统(诸如朴素贝叶斯模型、决策树模型、逻辑回归模型或深度学习模型),或可以执行监督式或非监督式学习技术的任何其它基于机器学习或人工智能的预测系统。对于每种机器学习模型或模型类型,经训练的模型可以由一个或多个计算系统执行,在执行期间,将内容项作为输入提供给一个或多个模型,并且来自模型的输出可以将一个或多个标签识别为与内容项相关联,或者模型的输出可以被用于识别要与内容项相关联的一个或多个标签。因而,内容加标签器4222可以使用各种不同工具或技术,诸如但不限于关键词提取和处理(例如,词干提取、同义词检索等)、主题分析、从图像中提取特征、机器学习和基于AI的建模工具和文本或图像分类系统,和/或上述技术的任何其它组合,以确定或生成可用于推荐的每个内容项的标签信息(例如,一个或多个标签和相关联的标签值)。
在某些实施例中,可用于推荐的内容项及其相关联的标签信息(例如,对于每个内容项,与该内容项相关联的一个或多个标签以及对应的标签值)可以存储在数据存储库4223中。在一些实施例中,内容/标签信息数据存储库4223可以存储识别从内容储存库4230中检索出的内容项的数据,其可以包括项目本身(例如,图像、网页、文档、媒体文件等),或者附加地/可替代地,可以包括对项目的引用(例如,项目标识符、可以从中检索内容项的网络地址、项目的描述、项目的缩略图等)。在图45中示出了图示可以存储在内容/标签信息数据存储库4223中的数据的类型的示例并且在下面更详细地讨论。
内容推荐系统4220包括标签识别器子系统4221,该标签识别器子系统4221被配置为从设备4210接收用户输入内容并确定要与用户内容相关联的一个或多个标签。在一些实施例中,从设备4210接收的用户内容可以包括相关联的标签。在一些其它实施例中,标签识别器4221可以被配置为处理输入数据以确定要与输入数据相关联的一个或多个标签。作为一个示例,标签识别器4221可以使用数据加标签服务来识别将与输入数据相关联的一个或多个标签的集合。然后,标签识别器4221可以将与输入数据(在一些实施方式中还包括用户内容)相关联的标签提供给推荐的内容项识别器和排名器子系统4224(为简洁起见,可以被称为内容项排名器4224)以供进一步处理。
在一些实施例中,标签识别器4221可以使用由内容标签器4222使用的各种技术,并且如上所述,确定要与接收到的用户内容相关联的一个或多个标签。在一些实施例中,标签识别器4221和内容加标签器4222都可以使用相同的标签的超集,从该标签的超集确定要与用户输入和内容项相关联的标签。在某些实施例中,标签识别器4221和内容加标签器4222可以使用相同的数据加标签服务来分别识别要与用户内容相关联的标签以及内容项。在还有其它实施例中,标记识别器4221和内容加标签器4222子系统可以被实现为单个子系统,该子系统被配置为对从储存库4230接收的内容项和从客户端系统4210接收的输入内容执行相似(或甚至完全相同)的处理。
如所描述的,当由内容加标签器4222对内容项加标签时,对于每个内容项,识别要与该内容项相关联的一个或多个标签以及每个标签的标签值。关于为用户内容加标签,在一些实施例中,标签识别器4221被配置为仅确定要与用户输入相关联的标签,而没有任何相关联的标签值。在此类实施例中,基于与用户输入相关联的标签,相对于由内容项排名器4224执行的排名,每个标签被赋予相等的权重。在一些其它实施例中,可以为用户内容确定标签和相关联的标签值两者,并且由内容项排名器4224用于对内容项推荐进行排名。
如上所述,由标签识别器4221接收和处理的用户内容可以以不同的形式出现。例如,用户内容可以包括由用户创作的文档的内容(例如,电子邮件、文章、博客帖子、文档、社交媒体帖子、图像等)、用户创建或选择的内容(例如,多媒体文件)等。作为另一个示例,用户输入可以是用户访问的文档(例如,网页)。作为又一个示例,用户内容可以是由用户(例如,基于浏览器的搜索引擎)输入的用于执行搜索的搜索术语。在某些实施例中,例如,对于搜索术语,这些术语本身可以用作标签。
如在图42中所描绘并且如上所述,内容项排名器4224从标签识别器4221接收识别与用户内容相关联的一个或多个标签的集合的信息作为输入。基于用户内容的这个标签信息并且基于可用于推荐的内容项,内容项排名器4224被配置为使用标签匹配技术来识别与输入内容最相关和/或最有关的一个或多个内容项。在多个内容项被识别为与用户输入相关或有关的情况下,内容项排名器4224还被配置为使用本文描述的创新排名技术来对内容项进行排名。下面更详细地描述与内容项排名器4224所使用的用于对内容项进行评分和排名的各种技术相关的更多细节。内容项排名器4224被配置为响应于为用户接收到的用户输入来生成要推荐给用户的内容项的排名列表。然后将内容项的排名列表提供给推荐选择器子系统4225以供进一步处理。
使用从内容项排名器4224接收的内容项的排名列表,推荐选择器4225被配置为响应于从客户端系统4210接收的输入内容而选择要推荐给用户的一个或多个特定内容项。在某些场景中,可以选择排名列表中的所有内容项以进行推荐。在一些其它场景中,可以选择排名的内容项的子集以进行推荐,其中该子集包括少于排名列表中的所有内容项,并且基于排名列表中的内容项的排名来选择该子集中包括的一个或多个内容项。例如,推荐选择器4225可以从排名列表中选择排名最高的“X”个(例如,排名前5、排名前10等)内容项用于推荐,其中X是小于或等于排名项目的数量的某个整数。在某些实施例中,推荐选择器4225可以基于与排名列表中的内容项相关联的分数来选择要包括在要推荐给用户的子集中的内容项。例如,只有具有高于用户可配置的阈值分数的相关联分数的那些内容项才可以被选择以推荐给用户。
然后,可以将识别由推荐选择器4225选择用于推荐的内容项的信息从内容推荐系统4220传送到用户的用户客户端设备4210。然后可以经由用户客户端设备将关于推荐的内容项的信息输出给用户。例如,关于推荐的信息可以经由在用户客户端设备上显示的GUI4215或者经由由用户客户端设备执行的应用4215来输出。例如,如果用户输入与用户经由由用户设备执行的浏览器显示的网页而由用户输入的搜索查询对应,那么关于推荐的信息也可以经由那个网页或由浏览器显示的附加网页输出给用户。在某些实施例中,对于每个推荐的内容项,输出给用户的信息可以包括识别该内容项的信息(例如,文本信息、图像的缩略图等)以及用于访问该内容项的信息。例如,访问内容项的信息可以采用链接(例如,URL)的形式,当用户选择该链接(例如,通过鼠标单击动作)时,该链接将导致对应的内容项被访问并经由用户客户端设备显示给用户。在一些实施例中,可以组合识别内容项的信息和用于访问内容项的信息(例如,推荐的图像的缩略图表示,其既识别图像内容项又可以由用户选择以访问图像本身)。
在各种实施例中,内容推荐系统4220,包括其相关联的硬件/软件组件4221-4225和服务,可以被实现为远离前端客户端设备4210的后端服务。客户端设备4210与内容推荐系统4220之间的交互可以是基于互联网的web浏览会话,或者是客户端-服务器应用会话,在此期间,用户访问可以经由客户端设备4210输入用户内容(例如,搜索术语、原始创作的内容等),并且可以从内容推荐系统4220接收内容项推荐。附加地或可替代地,内容推荐系统4220和/或内容储存库4230和相关服务可以被实现为直接在客户端设备4210上执行的专门的软件组件。
在一些实施例中,图42中所示的系统4200可以被实现为基于云的多层系统,其中上层用户设备4210可以经由驻留在基于底层资源集(例如,基于云的、SaaS、IaaS、PaaS等)上部署和执行的后端应用服务器上的内容推荐系统4220来请求和接收对基于网络的资源和服务的访问。本文针对内容推荐系统4220描述的功能性中的一些或全部可以由代表性状态转移(REST)服务和/或包括简单对象访问协议(SOAP)web服务或API和/或经由超文本传输协议(HTTP)或HTTP安全协议公开的web内容的web服务来执行或访问。因此,虽然未在图42中示出以免用附加的细节使所示出的组件模糊,但是计算环境4200可以包括附加的客户端设备、一个或多个计算机网络、一个或多个防火墙、代理服务器、路由器、网关、负载平衡器和/或其它中间网络设备,从而促进客户端设备4210、内容推荐系统4220和内容储存库4230之间的交互。
在各种实施方式中,可以使用一个或多个计算系统和/或网络来实现计算环境4200中所描绘的系统,包括专门的服务器计算机(诸如台式服务器、UNIX服务器、中端服务器、大型机计算机、机架式服务器等)、服务器农场、服务器集群、分布式服务器或计算硬件的任何其它适当布置和/或组合。例如,内容推荐系统4220可以运行操作系统和/或各种其它服务器应用和/或中间层应用,包括超文本传输协议(HTTP)服务器、文件传输服务(FTP)服务器、通用网关接口(CGI)服务器、Java服务器、数据库服务器和其它计算系统。内容推荐系统4220内的任何或所有组件或子系统可以包括至少一个存储器、一个或多个处理单元(例如,(一个或多个)处理器)和/或存储装置。内容推荐系统4220中的子系统和/或模块可以以硬件、在硬件上执行的软件(例如,可由处理器执行的程序代码或指令)或其组合来实现。在一些示例中,软件可以存储在存储器(例如,非暂态计算机可读介质)中、存储器设备上或某种其它物理存储器中,并且可以由一个或多个处理单元(例如,一个或多个处理器、一个或多个处理器内核、一个或多个图形处理单元(GPU)等)执行。(一个或多个)处理单元的计算机可执行指令或固件实施方式可以包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,其可以执行本文描述的各种操作、功能、方法和/或处理。存储器可以存储在(一个或多个)处理单元上可加载和可执行的程序指令,以及在这些程序的执行期间生成的数据。存储器可以是易失性的(诸如随机存取存储器(RAM))和/或非易失性的(例诸如只读存储器(ROM)、闪存等)。可以使用任何类型的持久性存储设备(诸如计算机可读存储介质)来实现该存储器。在一些示例中,计算机可读存储介质可以被配置为保护计算机免受包含恶意代码的电子通信的影响。
图43描绘了简化的流程图4300,其描绘了根据某些实施例的由内容推荐系统执行的用于识别和排名与用户内容相关的内容项的处理。图43中描绘的处理可以在由相应系统、硬件或其组合的一个或多个处理单元(例如,处理器、核心)执行的软件(例如,代码、指令、程序)中实现。软件可以存储在非暂态存储介质上(例如,存储器设备上)。图43中呈现并在下面描述的方法旨在是说明性而非限制性的。虽然图43描绘了以特定顺序或次序发生的各种处理步骤,但这并不旨在是限制性的。在某些替代实施例中,可以以某个不同的次序来执行处理,或者也可以并行地执行一些步骤。图43中描绘的处理可以由图42中描绘的一个或多个系统执行,诸如由内容推荐系统4220执行。作为示例,对于图42中所描绘的实施例,可以由标签识别器4221来执行4302和4304中的处理,可以由内容项排名器4224来执行4306至4316中的处理,并且可以由推荐选择器4225执行4318和4320中的处理。但是,应当理解的是,结合图43描述的技术和功能性不必仅限于图42中所示的特定计算基础设施内的实施方式,而是可以使用本文描述的其它兼容的计算基础设施来实现。
在4302中,内容推荐系统4220可以从一个或多个用户或客户端系统4210接收输入内容。如以上参考图42所讨论的,可以通过由内容推荐系统4220提供的图形用户界面4215(例如,基于web的GUI)从客户端设备4210接收输入内容。在其它示例中,基于由安装在客户端设备4210上的前端应用(例如,移动应用)传输的数据,输入内容可以由在内容推荐系统4220中执行的web服务器或后端服务接收。
在一些实施例中,在步骤4302中接收的输入内容可以与由用户输入到搜索引擎用户界面中的搜索术语或短语的集合对应。在其它实施例中,输入内容可以与由用户创作并输入到专用用户界面中的原始内容对应。例如,新的原始内容可以包括在线文章、新闻通讯、电子邮件、博文等,并且这种内容可以由用户经由基于软件的文字处理器工具、电子邮件客户端应用、web开发工具等输入。在还有其它示例中,在步骤4302中接收到的输入内容可以是图像、图形、音频输入,或者是用户经由客户端设备4310生成或选择的任何其它文本和/或多媒体内容。
简要地参考图44,示出了示例用户界面4400,其包括允许用户输入原始创作内容的用户界面屏幕4410。在这个示例中,用户界面屏幕4410总体上标记为“内容创作用户界面”,但是,在各种实施例中,用户界面4410可以与文字处理器、文章设计者或博文作者、电子邮件客户端应用等的界面对应。在这个示例中,用户界面4410包括第一文本框4411,用户可以在其中输入创作的内容的标题或主题,以及第二文本框4412,用户可以在其中输入全文(例如,文章、电子邮件主体、文档等)作为输入内容。此外,用户界面4410包括可选择的按钮4413,其允许用户发起对可以被结合到新创作的内容中的相关内容项(例如,图像、相关文章等)的搜索。在一些情况下,按钮4413或类似的用户界面组件的选择可以通过首先分析并将经由用户界面4410接收的用户内容(例如,在4411和/或4412中输入的用户内容)传输到内容推荐系统4220来发起图43中所示的处理。在其它实施例中,后台处理可以在前端用户界面内连续(或周期性)运行,以连续(或周期性)分析从用户接收的新文本输入(例如,在4411和/或4412中由用户输入的内容),并响应于文本更新而重新发起图43的处理,以便可以连续或周期性地实时更新内容项推荐。
返回去参考图43,在4304中,内容推荐系统4220为在步骤4302中接收到的输入内容确定一个或多个标签。在一些实施例中,在4302中接收到的输入内容可能已经具有与其相关联或嵌入在输入内容中的标签,并且标签识别器4221可以识别并提取与输入内容相关联的预定标签的集合。如果在步骤4302中接收到的输入内容与搜索术语对应,那么标签识别器4221可以简单地将用户输入的搜索术语用作标签(例如,排除某些词,诸如冠词、连接词、介词、量词等)。在原始创作的文本内容或内容推荐系统4220接收到的任何其它未加标签的输入内容的情况下,标签识别器4221可以被配置为分析在4302中接收到的输入内容的各种特征,并基于分析确定将与接收到的输入内容相关联的一个或多个标签。如前所述,标签识别器4221可以使用各种不同技术来确定将与在4302中接收到的输入内容相关联的一个或多个标签。
返回到图44中所示的示例用户界面4400,对于这个示例,在4302中接收到的输入内容可以与用户在主题/主题框4411中输入的文本(即,“对你来说,咖啡比茶更健康吗?”)以及在方框4412中输入的文本对应。基于对4411中主题内容和4411中创作的文章的主体文本的分析以及可以提供的任何其它输入内容,内容推荐系统4220可以在4304中确定标签“咖啡”、“茶”和“人”与用户内容相关联。
在4306中,基于在4302中为输入内容确定的标签,内容推荐系统4220使用标签匹配技术从可用于推荐的内容项的集合中识别匹配的内容项的集合,其中如果与内容项相关联的至少一个标签与为4304中的输入内容确定的标签匹配,那么将该内容项视为匹配并在4306中进行识别。在4306中识别出的内容项的集合也可以被称为内容项的匹配集合,并且包括响应于在4302中接收到的输入内容而作为推荐给用户的候选的内容项。在各种实施例中,诸如词干提取和同义词检索/比较之类的数据处理技术可以用作4306中的匹配处理的一部分,以识别匹配的标签。
例如,在图42中所描绘的实施例中,可用于推荐的内容项的集合及其相关联的标签信息(例如,与内容项相关联的标签和相关联的标签值)可以存储在内容/标签信息数据存储库4223。作为4306中的处理的一部分,内容推荐系统4220可以将在4304中确定的一个或多个标签与和可用于推荐的内容项相关联的标签进行比较,并从集合中识别出具有与4304中识别出的标签匹配的至少一个相关联标签的内容项。
继续图44的示例并假设已在4304中为在4302中接收到的用户输入内容确定了标签“咖啡”、“人”和“茶”,图45中的示例表4500示出了由内容推荐系统4220(例如,由内容项排序器4224)从可用于做出推荐的内容项的集合中识别出的内容项的匹配集合。如从表4500中可以看出的,八个不同的图像内容项已被识别为具有与标签“咖啡”、“人”或“茶”中的至少一个匹配的至少一个相关联标签。如这个示例中所示,使用图像识别器4501来识别每个匹配的图像内容项。图45中提供的图像描述4502是对匹配的图像的内容的描述,并且已经在图45中提供,使得不必示出实际图像。每个匹配的图像具有一个或多个相关联的标签4503,并且标签值4504与每个标签相关联。在表4500的示例中,标签值是具有预定范围(例如,在0.0和1.0之间)的浮点值,并且每个内容项的标签值的总和等于相同的总数(例如,1.0)。此类实施例提供了附加的技术优势,例如,标签计数分数的总和的统一性,并且TVBS可以确保具有更多相关联标签的内容项不会基于较大数量的相关联标签而被人为地过高排名或过分推荐。另外,如下面所讨论的,通过具有介于0.0和1.0之间的标签值,当它们相乘时(例如,在下面描述的用例中),结果值将允许内容项在特定组或桶内排名,同时确保一个组内排名最高的内容项不会比下一个更高组中排名最低的内容项排名高。
从图45可以看出,如果与内容项相关联的至少一个标签匹配与输入内容相关联的标签,那么该内容项(在这个示例中为图像)被视为匹配。匹配的内容项可以具有相关联的标签,该相关联的标签匹配与输入内容相关联的一个或多个标签。匹配的内容项还可以具有与之相关联的其它标签,这些其它标签与用于输入内容的标签不同(例如,Image_1,Image_3等)。
在4308中,基于与内容项相关联的、与为输入内容确定的标签匹配的标签的数量,为在4306中识别出的每个匹配的内容项计算标签计数分数(第一分数)。在一些场景中,内容项的每个匹配标签被赋予值一,因此在4308中为内容项计算出的标签计数分数等于匹配与输入内容相关联的标签的内容项的标签数量。对于在图45中识别出的示例匹配的图像,图46中的表4600为在图45(以及图46)中识别出的每个匹配的图像识别标签计数分数4602。例如,Image_1的标签计数分数是“1”(一),因为与该图像相关联的一个标签(“人”)匹配与输入内容相关联的标签。作为另一个示例,Image_2的标签计数分数为“2”(二),因为与该图像相关联的两个标签(“咖啡”和“人”)匹配与输入内容相关联的图像。作为又一个示例,Image_8的标签计数分数是“1”(一),因为与该图像相关联的一个标签(“咖啡”)匹配与输入内容相关联的标签。
在4310中,基于在4308中为内容项计算出的标签计数分数,将匹配的内容项分组(分桶)为组或桶。在某些实施例中,组(或桶)包含具有相同标签计数分数的所有内容项。在内容项的每个匹配标签被赋予值一的情况下,每个组或桶都包括具有相同数量的匹配的标签的内容项。4310中的处理可以是可选的,并且在某些实施例中可以不执行。
继续图46中所示的示例,可以将八个匹配的图像分组为两个组或桶:第一组或桶,其包括标签计数分数为1(一)的内容项和标签计数分数为2(二)的第二组或桶。第一组将包括图像{Image_1,Image_3,Image_6和Image_8},第二组将包括图像{Image_2,Image_4,Image_5和Image_7}。值得注意的是,在这个示例中,没有匹配的图像匹配与输入内容相关联的所有三个标签(“咖啡”,“人”,“茶”)。
在4312中,对于在4310中识别出的每个组,为那个组中的每个候选内容项计算基于标签值的分数(第二分数)。在一些实施例中,用于特定内容项的基于标签值的分数(TVBS)基于与该内容项的匹配标签相关联的标签值并使用其来计算。
在某些实施例中,通过将与内容项的标签相关联的标签值相乘来计算针对内容项的TVBS,其中内容项的标签匹配与输入内容相关联的标签。例如:
图46中Image_1的TVBS=0.93
图46中Image_2的TVBS=0.5*0.5=0.25
图46中Image_3的TVBS=0.65
图46中Image_4的TVBS=0.35*0.60=0.21,依此类推。
表4600示出了使用上述技术针对各个匹配的图像计算出的TVBS 4603。
在某些实施例中,使用朴素贝叶斯方法来计算内容项的基于标签值的分数。例如,假设为输入内容确定了两个标签tag1和tag2,那么图像内容项的基于标签值的分数(TVBS)可以表达为:
Imagei的TVBS=P(Imagei|tag1,tag2)=给定标签tag1和tag2的Imagei的概率
将此扩展用于“n”个标签:
P(Imagei|tag1,tag2…,tagn)=给定(标签tag1和tag2和…tagn)的Imagei的概率
假设标签tag1,tag2…,tagn是相互独立的:
Imagei的TVBS=TVBSi=P(Imagei|tag1,tag2...,tagn)=P(Imagei|tag1)*P(Imagei|tag2)*...*P(Imagen|tagn)
等式1
现在由朴素贝叶斯(Simple
Figure BDA0003023825140000681
Bayes):(等式2)
Figure BDA0003023825140000691
其中:
P(Imagei|tagt)=对于Imagei,tagt的概率
P(Imagei)=认为每个图像是唯一的,并且可以舍弃或忽略这一项
P(tagt)=内容项的集合中标签的频率(即,用tagt加标签的可用于推荐的内容项集合中内容项(例如,图像)的数量)。由于这一项在分母中,因此标签在内容项集合中出现的频率越低(即,具有这个相关联标签的内容项的数量越少),具有该标签的图像的TVBS分数就越高。
在展开后,以上公式变为:等式3
Figure BDA0003023825140000692
等式3中的分子是概率的乘积,当概率可能相等时,将导致分数更高(给定为多个图像匹配相同的标签,分母将保持不变)。
以下示例说明了等式3在计算内容项的TVBS时的应用。假设为输入内容确定的标签是“人”和“咖啡”。进一步假设可用于推荐的内容项(图像)的集合包含具有以下标签和标签值的三个图像:
图像A:(“人”,0.5),(“咖啡”,0.5)
图像B:(“人”,0.1),(“咖啡”,0.9)
图像C:(“人”,0.8),(“咖啡”,0.2)
对于图像A:
P(人|图像)=0.5和P(咖啡|图像)=0.5
应用等式3,
Figure BDA0003023825140000693
Figure BDA0003023825140000701
其中“频率(人)”是可用于推荐的内容项集合中具有与之相关联的“人”标签的内容项的数量,并且“频率(咖啡)”是可用于推荐的内容项集合中具有与之相关联的“咖啡”标签的内容项的数量
Figure BDA0003023825140000702
图像A的TVBS=0.028
使用类似的技术,
图像B的TVBS=(0.1/3)*(0.9/3)=0.01
图像C的TVBS=(0.8/3)*(0.2/3)=0.018
如从这个示例可以看出的,在频率相同的情况下,当概率可能相等时,TVBS更高(如果为多个图像匹配相同的标签,分母将保持相同)。
根据等式3的扩展,具有特定相关联标签的内容项集合中的内容项的频率被考虑用于计算TVBS(因此也将影响总体排名分数,如下所述)。具有特定相关联标签的内容项数量越少(即,频率越低),具有特定标签的图像的TVBS分数越高。在一些实施例中,期望增加具有“稀少”或较不频繁标签的此类内容项比具有更频繁标签的内容项被排名更高的可能性,从而增加它们被包括在推荐给用户的内容项列表中的可能性。因此,内容项的TVBS的值与出现在内容项的集合中的特定标签的出现频率成反比(即,集合中具有相关联的特定标签的内容项的数量)。
在4314中,基于在4308中为内容项计算出的标签计数分数和在4312中为内容项计算出的TVBS,为在4306中识别出的每个匹配的内容项计算总体排名分数。在一些实施例中,可以将候选内容项的总体排名分数计算为针对该内容项计算的标签计数分数(在4308中计算)和TVBS(在4312中计算)之和。即,对于图像内容项Imagei
排名分数(Imagei)=TagsCountScorei+TVBSi---等式4
对于图46中所描绘的示例,列4604指示通过为每个匹配的图像将那个图像的标签计数分数(在列4602中指示)和该图像的TVBS(在列4603中指示)相加而为每个匹配的图像计算出的总体排名分数。例如,计算出的总体排名分数如下:
Image_1:1+0.93=1.93
Image_2:2+0.25=2.25
Image_3:1+0.65=1.65,依此类推。
在步骤4316中,内容推荐系统4220(例如,内容推荐系统4220中的内容项排序器4224)基于在4314中为内容项计算出的总体排名分数来生成匹配的内容项的排名列表。因此,继续图44-46的示例,基于为匹配的图像计算出的总体排名分数(在列4604中),可以按从最高到最低的顺序对图像进行排名,如下所示:(1)Image_2,(2)Image_5,(3)Image_4,(4)Image_7,(5)Image_6,(6)Image_1,(7)Image_8,(8)Image_3。
在其中标签的标签值在0.0和1.0之间的范围内的某些实施例中,使用(TagCountScore+TVBS)方法计算总体排名分数确保与具有较低数量标签匹配的内容项相比,具有匹配与输入内容相关联的标签的更高数量的相关联的标签的内容项被更高排名。例如,在图46的示例中,标签计数分数为2的图像(与和图像相关联的两个标签对应,该标签匹配与输入内容相关联的标签)将始终具有总体排名分数,因此其排名高于标签计数分数为1的图像(与和图像相关联的两个标签对应,该标签匹配与输入内容相关联的标签)。这是因为,给定标签值在零和一之间,通过将与匹配的标签相关联的标签值相乘而计算出的图像的TVBS不能超过一。这还意味着,对于与第一标签计数分数对应的内容项的第一组或桶以及与第二标签计数分数对应的内容项的第二组或桶,如果第一标签计数分数高于第二标签计数分数,那么第一组中的每个内容项的排名(由于总体排名分数更高)将比第二组中的内容项更高。因此,在为输入内容确定了三个标签(“咖啡”、“人”和“茶”)的示例中,具有三个内容标签与输入内容的标签匹配的内容项将始终排在具有两个匹配的内容标签的内容项之前,具有两个匹配的内容标签中的每一个将始终排在具有一个匹配的内容标签的内容项之前,依此类推。在每个组或桶内,可以基于内容项的TVBS对内容项进行排名,这有利于匹配的内容标签的参数更高且更相等。但是,应当理解的是,在其它实施例中,为了实现不同的内容项排名优先级和策略,可以使用不同的等式或逻辑来计算标签计数分数、TVBS和总体排名分数。
在4318中,内容推荐系统4220(例如,推荐选择器4225)可以使用在4316中生成的排名列表来选择要推荐给用户的一个或多个内容项。在某些场景中,可以选择排名列表中的所有内容项以进行推荐。在一些其它场景中,可以选择排名的内容项的子集以进行推荐,其中该子集包括少于排名列表中的所有内容项,并且基于排名列表中的内容项的排名来选择该子集中包括的一个或多个内容项。例如,推荐选择器4225可以从用于推荐的排名列表中选择排名最高的“X”个(例如,排名前5、排名前10等)内容项,其中X是小于或等于列表中排名项目的数量的某个整数。在某些实施例中,推荐选择器4225可以基于与排名列表中的内容项相关联的总体排名分数来选择要包括在要推荐给用户的子集中的内容项。例如,只有具有高于用户可配置的阈值分数的相关联分数的那些内容项才可以被选择以推荐给用户。
在4320中,内容推荐系统4220可以将与在4318中选择的内容项相关的信息传送给用户设备。由于这个信息包括与要推荐给用户的内容项相关的信息,因此这个信息可以被称为推荐信息。在4320中传送的推荐信息还可以包括排名信息(例如,与所选择的内容项相关联的总体排名分数)。这个信息可以在用户设备上被用于确定关于推荐内容项的信息(例如,次序)如何经由用户设备被显示给用户。在一些实施例中,作为推荐信息的一部分,推荐选择器4225可以在步骤4302中向从其接收输入内容的客户端设备4310或者传输内容项本身,或者识别内容项的某些信息(例如,内容项标识符和描述、缩略图、网络路径或下载链接等)。
然后可以经由用户设备将关于所选择的推荐的信息输出给用户。例如,关于推荐的信息可以经由在用户客户端设备上显示的GUI4215或者经由由用户客户端设备执行的应用4215来输出。例如,如果用户输入与用户经由由用户设备执行的浏览器显示的网页而由用户输入的搜索查询对应,那么关于推荐的信息也可以经由示出搜索结果的网页或浏览器显示的附加网页输出给用户。在某些实施例中,对于每个推荐的内容项,输出给用户的信息可以包括识别该内容项的信息(例如,文本信息、图像的缩略图等)以及用于访问该内容项的信息。例如,访问内容项的信息可以采用链接(例如,URL)的形式,当用户选择该链接(例如,通过鼠标单击动作)时,该链接将导致对应的内容项被访问并经由用户客户端设备显示给用户。在一些实施例中,可以组合识别内容项的信息和用于访问内容项的信息(例如,推荐的图像的缩略图表示,其既识别图像内容项又可以由用户选择以访问图像本身)。
例如,参考图47,示出了示例用户界面4700,其与来自图44的显示与推荐的图像相关的信息的用户界面屏幕4400的更新对应。在这个示例中,基于标题/主题4711、正文文本4712和/或任何其它输入内容,内容推荐系统4220已经从图像的排名列表中选择了四个排名最高的内容项图像以推荐给用户。在用户界面4700的专用部分4714内按照排名的次序显示与这四个排名最高的图像相关的信息,以示出内容项推荐。在某些实施例中,可以在4714中显示推荐的图像的缩略图表示。用户界面4700可以支持拖放功能或其它技术,以允许用户将在4714中显示的一个或多个建议的图像结合到创作的内容的主体4712中。
图43中描绘且在上面描述的处理不旨在是限制性的。在不同的实施例中可以提供各种变化。例如,对于图43中描绘且在上面描述的实施例,对于在4306中识别出的所有匹配的内容项执行4312、4314和4316中的处理。在某些变化中,在4308中计算出的标签计数分数可以被用于从进一步的处理中滤除某些内容项。例如,在内容项具有不同标签计数分数的情况下,可以从流程图中的进一步处理中滤除具有最低标签计数分数(或某个其它阈值)的内容项。在一些其它实施例中,仅具有最高标签计数分数的那些内容项可以被选择用于进一步处理,从而从进一步处理中滤除其它内容项。例如,内容项排名器4224可以仅计算最高标签分数组的TVBS(如在步骤4304中确定),或者可以按照从最高到最低标签计数分数组的次序来计算TVBS,在此期间,计算处理可以在达到阈值数量的候选内容项或阈值标签计数分数时停止。这样的过滤减少了要处理的内容项的数量,并且可以使用更少的处理资源(例如,处理器、存储器、网络资源)使总体推荐操作更快且更高效地执行。
在图43中描绘且上面描述的方法中,相对于由内容推荐系统4220执行的排名,与4304中的输入内容相关联或为其确定的每个标签都被赋予相等的权重。基于这个假设,将用于每个匹配的内容项的标签分数确定为与输入内容的标签匹配的其内容标签的数量。因而,相对于标签计数分数的确定,与匹配的内容项相关联的每个匹配的内容标签都被同等地评估/加权。但是,在其它实施例中,可以将不同的权重赋予与输入内容相关联的标签。例如,对于为输入内容确定的两个标签,通过赋予一个标签比另一个标签更高的权重,一个标签对于输入内容可以被指示为“更重要”。例如,对于图44-47所描绘且上面描述的示例,其中为输入内容确定了标签“人”、“咖啡”和“茶”,不是对这三个标签赋予同等的重要性,而是标签的权重如下:人=1,咖啡=2,并且茶=4。这个权重可以指示标签对输入内容的相对重要性,例如,“茶”比“咖啡”权重大,而“咖啡”比“人”权重大。在某些实施例中,可以修改用于计算每个内容项的标签计数分数的逻辑,以考虑指派给输入内容的标签的不同权重。根据一个这种经修改的逻辑,内容项的每个匹配标签的贡献乘以与针对输入内容的相同标签相关联的权重。例如,使用(人=1,咖啡=2,茶=4)权重用于输入内容,图45中匹配的图像的标签计数分数将如下所示:
Image_1:
-TagCountScore(无加权)="人"标签匹配=1
-TagCountScore(有加权)="人"标签匹配=1*1=1
Image_2:
-TagCountScore(无加权)="咖啡"和"人"标签匹配=1+1=2
-TagCountScore(有加权)="咖啡"和"人"标签匹配=2(1)+1(1)=3
Image_3:
-TagCountScore(无加权)="茶"标签匹配=1
-TagCountScore(有加权)="茶"标签匹配=4(1)=4
Image_4:
-TagCountScore(无加权)="咖啡"和"人"标签匹配=1+1=2
-TagCountScore(有加权)="咖啡"和"人"标签匹配=2(1)+1(1)=3
Image_5:
-TagCountScore(无加权)="茶"和"人"标签匹配=1+1=2
-TagCountScore(有加权)="茶"和"人"标签匹配=4(1)+1(1)=5
Image_6:
-TagCountScore(无加权)="咖啡"标签匹配=1
-TagCountScore(有加权)="咖啡"标签匹配=2(1)=2
Image_7:
-TagCountScore(无加权)="茶"和"人"标签匹配=1+1=2
-TagCountScore(有加权)="茶"和"人"标签匹配=4(1)+1(1)=5
Image_8:
-TagCountScore(无加权)="咖啡"标签匹配=1
-TagCountScore(有加权)="咖啡"标签匹配=2(1)=2
由于标签计数分数不同,因此在4310中执行的内容项的分组或分桶将不同。因此,具有与“茶”和“人”标签都匹配的内容标签的内容项将被分组在一起,并且指派标签分数5,而仅具有一个与“茶”匹配的内容标签的内容项将被分组在一起并指派标签分数4,并且具有与“咖啡”和“人”标签都匹配的内容标签的内容项将被分组在一起并指派标签分数3,依此类推。因此,在此类实施例中,候选内容项的总体排名不仅受到内容项的多少标签与输入内容的标签匹配的影响,而且还受到内容项的哪些特定标签与输入内容标签匹配以及赋予那些标签的相对重要性的权重的影响。在这个示例中,图像Image_5和Image_7将基于它们的最高标签计数分数5(茶=4+人=1)成为排名最高的总体内容项。
虽然已经描述了特定的实施方式,但是各种修改、变更、替代构造以及等同物都是可能的。本公开中描述的实施方式不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已经使用一系列特定的事务和步骤描述了实施方式,但是对于本领域技术人员来说显而易见的是,这并不旨在进行限制。虽然一些流程图将操作描述为顺序处理,但是许多操作可以并行或同时执行。此外,操作的次序可以被重新布置。处理可能具有图中未包括的其它步骤。上述实施方式的各种特征和方面可以被单独使用或联合使用。
此外,虽然已经使用硬件和软件的特定组合描述了本公开中描述的实施方式,但是应该认识到的是,硬件和软件的其它组合也是可能的。本文描述的一些实施方式可以仅用硬件或仅用软件或其组合来实现。本文描述的各种处理可以以任何组合在相同的处理器或不同的处理器上实现。
在将设备、系统、组件或模块描述为被配置为执行某些操作或功能的情况下,这样的配置可以通过以下方式来实现,例如,通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作,诸如通过执行计算机指令或代码,或处理器或核心被编程为执行存储在非暂态存储介质上的代码或指令,或其任意组合来执行操作。进程可以使用各种技术进行通信,包括但不限于用于进程间通信的常规技术,并且不同对的进程可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。
在本公开中给出了具体细节以提供对实施例的透彻理解。但是,可以在没有这些具体细节的情况下实践实施例。例如,已经示出了众所周知的电路、处理、算法、结构和技术,而没有不必要的细节,以避免使实施例模糊。本描述仅提供示例实施例,并且不旨在限制其它实施例的范围、适用性或配置。相反,实施例的先前描述将为本领域技术人员提供用于实现各种实施例的使能描述。可以对元件的功能和布置进行各种改变。
因此,说明书和附图应被认为是说明性的而不是限制性的。但是,将显而易见的是,在不脱离本公开的更广泛的精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和改变。因此,虽然已经描述了具体的实施方式,但是这些实施例并不旨在进行限制;各种修改和等同形式均在本公开的范围内。

Claims (17)

1.一种基于向量空间内的向量比较来选择内容的方法,包括:
由计算设备并经由用户界面接收文本输入数据;
由计算设备基于对文本输入数据的分析来确定文本输入数据的关键词、主题或特征中的至少一个;
由计算设备执行变换算法,其中提供至少一个确定的关键词、主题或特征作为对变换算法的输入,并且其中变换算法输出与文本输入数据对应的特征向量;
由计算设备将与文本输入数据对应的特征向量与存储在向量空间内的多个附加特征向量中的每一个附加特征向量进行比较;
由计算设备基于特征向量与所述多个附加特征向量的比较来选择所述附加特征向量中的一个或多个附加特征向量;
由计算设备并从内容储存库中检索与一个或多个选择的附加特征向量对应的一个或多个内容文件;以及
由计算设备经由用户界面渲染一个或多个内容文件的可选择表示。
2.如权利要求1所述的方法,还包括:
经由用户界面接收对与第一内容文件对应的第一用户输入组件的选择;
从内容储存库中检索第一内容文件;以及
将第一内容文件的表示嵌入到包括文本输入数据的用户界面区域中。
3.如权利要求1所述的方法,其中将与文本输入数据对应的特征向量与存储在向量空间内的多个附加特征向量进行比较包括:
检索与特征向量相关联的一个或多个标签;
确定所述多个附加特征向量的子集,该子集具有和与所述特征向量相关联的一个或多个标签匹配的一个或多个标签;以及
将与文本输入数据对应的特征向量与存储在向量空间中的多个附加特征向量的所述子集进行比较。
4.如权利要求1所述的方法,其中将与文本输入数据对应的特征向量与存储在向量空间内的多个附加特征向量进行比较包括:
对于存储在向量空间中的多个附加特征向量中的每个特定特征向量,计算特定特征向量和与文本输入数据对应的特征向量之间的欧几里得距离。
5.如权利要求1所述的方法,其中检索出的内容文件包括多个图像文件,并且其中所述方法还包括在经由用户界面接收文本输入数据之前:
接收并在内容储存库中存储所述多个图像文件中的每个图像文件;
使用图像分类软件工具来识别所述多个图像文件中的每个图像文件内的一个或多个图像特征;
基于在图像文件内识别出的图像特征,为所述多个图像文件中的每个图像文件生成一个或多个图像标签;以及
基于在图像文件内识别出的图像特征,生成与内容储存库中的所述多个图像文件对应的存储在向量空间内的多个附加特征向量。
6.如权利要求1所述的方法,其中向量空间包括多个不同向量空间,每个不同向量空间存储与不同类型的媒体内容对应的向量,并且其中所述方法还包括:
经由用户界面接收识别将要与文本输入数据一起嵌入的媒体内容的类型的选择;以及
访问所述多个不同向量空间中与识别出的媒体内容的类型对应的特定向量空间,其中一个或多个附加特征向量是从所述特定向量空间中选择的。
7.如权利要求6所述的方法,其中所述多个不同向量空间至少包括:
第一向量空间,其存储与图像文件对应的多个特征向量;以及
第二向量空间,其存储与网页对应的多个特征向量。
8.如权利要求1所述的方法,其中对文本输入数据的分析包括:(1)关键词提取处理,(2)词干处理,以及(3)同义词检索处理。
9.一种方法,包括:
由内容推荐系统从客户端计算设备接收输入内容;
由内容推荐系统确定针对输入内容的相关联的一个或多个标签的集合;
基于用于输入内容的标签的集合,由内容推荐系统识别来自多个内容项的内容项的匹配集合,其中如果与来自所述多个内容项的内容项相关联的至少一个标签匹配用于输入内容的一个或多个标签中的标签,那么将所述内容项包括在内容项的匹配集合中;
对于内容项的匹配集合中的每个内容项:
(a)由内容推荐系统计算用于内容项的第一分数,其中第一分数基于与匹配用于输入内容的一个或多个标签的内容项相关联的多个内容标签;
(b)由内容推荐系统计算用于内容项的第二分数,其中第二分数基于与和匹配用于输入内容的一个或多个标签的内容项相关联的一个或多个标签对应的一个或多个标签值;以及
(c)由内容推荐系统基于为内容项计算出的第一分数和第二分数来计算内容项的总体项目排名分数;
由内容推荐系统基于为匹配内容项的集合中的每个匹配内容项计算出的总体项目排名分数来生成内容项的匹配集合中的内容项的排名列表;
由内容推荐系统基于内容项的排名列表从内容项的匹配集合中选择一个或多个内容项;以及
由内容推荐系统并向客户端计算设备传送与从匹配内容项中选择的一个或多个内容项有关的推荐信息,其中所述推荐信息使得能够使用客户端计算设备来输出与选择的一个或多个内容项有关的信息。
10.如权利要求9所述的方法,其中:
权重与用于输入内容的一个或多个标签中的至少一个标签相关联;以及
计算用于内容项的第一分数包括:
确定与内容项相关联的标签与用于输入内容的一个或多个标签中的至少一个标签匹配;以及
通过使用与至少一个标签相关联的权重来计算用于内容项的第一分数。
11.如权利要求9所述的方法,其中计算用于内容项的第二分数包括:
识别与内容项相关联的一个或多个内容标签,所述一个或多个内容标签与用于输入内容的一个或多个标签匹配;
对于与内容项相关联的一个或多个内容标签中的每个内容标签,确定该标签的标签值;以及
通过将为与内容项相关联的一个或多个标签确定的一个或多个标签值相乘来计算用于内容项的第二分数。
12.如权利要求9所述的方法,其中计算用于内容项的第二分数包括基于与和匹配用于输入内容的一个或多个标签的内容项相关联的一个或多个标签对应的一个或多个标签值使用朴素贝叶斯技术。
13.如权利要求9所述的方法,其中计算用于内容项的第二分数包括:
对于与内容项相关联的一个或多个标签中与用于输入内容的一个或多个标签匹配的至少第一标签,确定所述多个内容项中与第一标签相关联的内容项的频率;
使用所述频率计算第二分数,其中第二分数与所述频率成反比。
14.如权利要求9所述的方法,其中计算用于内容项的总体项目排名分数包括将为内容项计算出的第一分数与为内容项计算出的第二分数相加。
15.如权利要求9所述的方法,还包括:
针对多个内容项中的每个内容项,确定要与该内容项相关联的一个或多个标签的集合并且,针对每个标签,确定该标签的标签值。
16.如权利要求9所述的方法,其中从客户端计算设备接收的输入内容包括以下项中的至少一项:由客户端计算设备的用户创作的内容,或作为输入提供给搜索引擎的一个或多个搜索项。
17.如权利要求9所述的方法,其中确定与输入内容相关联的一个或多个标签包括:
对输入内容执行关键词提取处理;
对关键词提取处理的输出执行词干处理;以及
对词干处理的输出执行同义词检索处理。
CN201980068390.7A 2018-10-18 2019-10-18 用于对内容项推荐进行排名的技术 Pending CN112840336A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN201841039495 2018-10-18
IN201841039495 2018-10-18
US16/581,138 US11163777B2 (en) 2018-10-18 2019-09-24 Smart content recommendations for content authors
US16/581,138 2019-09-24
PCT/US2019/056992 WO2020081969A2 (en) 2018-10-18 2019-10-18 Techniques for ranking content item recommendations

Publications (1)

Publication Number Publication Date
CN112840336A true CN112840336A (zh) 2021-05-25

Family

ID=70279603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980068390.7A Pending CN112840336A (zh) 2018-10-18 2019-10-18 用于对内容项推荐进行排名的技术

Country Status (5)

Country Link
US (4) US11163777B2 (zh)
EP (1) EP3867789A2 (zh)
JP (2) JP7411651B2 (zh)
CN (1) CN112840336A (zh)
WO (1) WO2020081969A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11240266B1 (en) * 2021-07-16 2022-02-01 Social Safeguard, Inc. System, device and method for detecting social engineering attacks in digital communications
US20220083733A1 (en) * 2019-12-05 2022-03-17 Boe Technology Group Co., Ltd. Synonym mining method, application method of synonym dictionary, medical synonym mining method, application method of medical synonym dictionary, synonym mining device and storage medium
US20220171924A1 (en) * 2019-03-25 2022-06-02 Nippon Telegraph And Telephone Corporation Index value giving apparatus, index value giving method and program
US20220405062A1 (en) * 2021-06-21 2022-12-22 International Business Machines Corporation Software code integration from a media file
CN116738054A (zh) * 2023-06-19 2023-09-12 联洋国融(上海)科技有限公司 一种结合用户意图的文本深度分析方法
CN116756295A (zh) * 2023-08-16 2023-09-15 北京盛通知行教育科技集团有限公司 知识库的检索方法、装置及存储介质

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US10581755B2 (en) * 2015-04-03 2020-03-03 Nicira, Inc. Provisioning network services in a software defined data center
US11093876B2 (en) * 2017-10-10 2021-08-17 Marvel Business Solutions Pvt Ltd System and methods employed for accountability of an asset
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11163777B2 (en) * 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors
US11017179B2 (en) 2018-12-28 2021-05-25 Open Text Sa Ulc Real-time in-context smart summarizer
US11080601B2 (en) 2019-04-03 2021-08-03 Mashtraxx Limited Method of training a neural network to reflect emotional perception and related system and method for categorizing and finding associated content
KR20200127599A (ko) * 2019-05-03 2020-11-11 삼성전자주식회사 디스플레이 장치, 서버, 디스플레이 장치의 제어방법 및 서버의 제어방법
US11003840B2 (en) 2019-06-27 2021-05-11 Open Text Corporation System and method for in-context document composition using subject metadata queries
US11829723B2 (en) 2019-10-17 2023-11-28 Microsoft Technology Licensing, Llc System for predicting document reuse
US11734349B2 (en) * 2019-10-23 2023-08-22 Chih-Pin TANG Convergence information-tags retrieval method
US11256735B2 (en) 2019-11-07 2022-02-22 Open Text Holdings, Inc. Content management systems providing automated generation of content summaries
US11620351B2 (en) 2019-11-07 2023-04-04 Open Text Holdings, Inc. Content management methods for providing automated generation of content summaries
US11423114B2 (en) 2019-11-07 2022-08-23 Open Text Holdings, Inc. Content management systems for providing automated generation of content suggestions
US11216521B2 (en) * 2019-11-07 2022-01-04 Open Text Holdings, Inc. Content management methods for providing automated generation of content suggestions
US11361156B2 (en) 2019-11-18 2022-06-14 Monday.Com Digital processing systems and methods for real-time status aggregation in collaborative work systems
JP7456137B2 (ja) * 2019-12-05 2024-03-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11514696B2 (en) * 2019-12-17 2022-11-29 Ricoh Company, Ltd. Display device, display method, and computer-readable recording medium
JP7413776B2 (ja) * 2019-12-27 2024-01-16 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びコンピュータプログラム
US11741511B2 (en) * 2020-02-03 2023-08-29 Intuit Inc. Systems and methods of business categorization and service recommendation
US20210264326A1 (en) * 2020-02-21 2021-08-26 THOTH, Inc. Flight-recommendation-and-booking methods and systems based on machine learning
US11619501B2 (en) * 2020-03-11 2023-04-04 Snap Inc. Avatar based on trip
US20210286851A1 (en) * 2020-03-11 2021-09-16 Microsoft Technology Licensing, Llc Guided query recommendations
US11429582B2 (en) * 2020-04-09 2022-08-30 Capital One Services, Llc Techniques for creating and utilizing multidimensional embedding spaces
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
CN111611492A (zh) * 2020-05-26 2020-09-01 北京字节跳动网络技术有限公司 一种触发搜索的方法、装置、电子设备及存储介质
US11508392B1 (en) 2020-06-05 2022-11-22 Meta Platforms Technologies, Llc Automated conversation content items from natural language
US11375012B2 (en) * 2020-06-15 2022-06-28 Dell Products, L.P. Method and apparatus for determining feature usage on a set of storage systems deployed across multiple customer sites
US11443143B2 (en) * 2020-07-16 2022-09-13 International Business Machines Corporation Unattended object detection using machine learning
CN111897950A (zh) * 2020-07-29 2020-11-06 北京字节跳动网络技术有限公司 用于生成信息的方法和装置
US20220044199A1 (en) * 2020-08-06 2022-02-10 Actimize Ltd. AUTOMATIC GENERATION Of A TWO-PART READABLE SUSPICIOUS ACTIVITY REPORT (SAR) FROM HIGH-DIMENSIONAL DATA IN TABULAR FORM
US20220100988A1 (en) * 2020-09-25 2022-03-31 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
USD988354S1 (en) * 2020-09-29 2023-06-06 Yokogawa Electric Corporation Display screen or portion thereof with transitional graphical user interface
GB2599441B (en) 2020-10-02 2024-02-28 Emotional Perception Ai Ltd System and method for recommending semantically relevant content
CN112182396A (zh) * 2020-10-12 2021-01-05 浙江新蓝网络传媒有限公司 基于用户行为的信息推送方法
US20240028350A1 (en) * 2020-10-15 2024-01-25 Second Layer, Inc. Visually expressive creation and collaboration and asyncronous multimodal communciation for documents
US11307881B1 (en) * 2020-11-11 2022-04-19 Adobe Inc. Systems for generating suggestions with knowledge graph embedding vectors
US20220171773A1 (en) * 2020-12-01 2022-06-02 International Business Machines Corporation Optimizing expansion of user query input in natural language processing applications
WO2022146685A1 (en) * 2020-12-28 2022-07-07 Meta Platforms Technologies, Llc Automatic memory content item provisioning
US11934445B2 (en) 2020-12-28 2024-03-19 Meta Platforms Technologies, Llc Automatic memory content item provisioning
US11481288B2 (en) 2021-01-14 2022-10-25 Monday.com Ltd. Digital processing systems and methods for historical review of specific document edits in collaborative work systems
WO2022154884A1 (en) * 2021-01-14 2022-07-21 Microsoft Technology Licensing, Llc Automatic embedding of additional content to articles
US11748555B2 (en) * 2021-01-22 2023-09-05 Bao Tran Systems and methods for machine content generation
US11790165B2 (en) * 2021-01-26 2023-10-17 Microsoft Technology Licensing, Llc Content element recommendation system
CN112836518B (zh) * 2021-01-29 2023-12-26 华南师范大学 名称歧义消除模型的处理方法、系统和存储介质
US11310539B1 (en) * 2021-03-01 2022-04-19 Microsoft Technology Licensing, Llc Grouping a first set of video items to efficiently match against a second set of video items using embedding similarity
US11782957B2 (en) * 2021-04-08 2023-10-10 Grail, Llc Systems and methods for automated classification of a document
US11397759B1 (en) 2021-04-19 2022-07-26 Facebook Technologies, Llc Automated memory creation and retrieval from moment content items
US11803574B2 (en) * 2021-05-13 2023-10-31 Microsoft Technology Licensing, Llc Clustering approach for auto generation and classification of regional sports
US20220374459A1 (en) * 2021-05-17 2022-11-24 Salesforce.Com, Inc. Systems and methods for hierarchical retrieval of semantic-based passages in deep learning
US20220414338A1 (en) * 2021-06-29 2022-12-29 Adobe Inc. Topical vector-quantized variational autoencoders for extractive summarization of video transcripts
US20230033622A1 (en) * 2021-08-02 2023-02-02 Microsoft Technology Licensing, Llc Context-aware observational entity recognition and capture
CN115730111B (zh) * 2021-09-01 2024-02-06 腾讯科技(深圳)有限公司 内容分发方法、装置、设备及计算机可读存储介质
CN113792183B (zh) * 2021-09-17 2023-09-08 咪咕数字传媒有限公司 一种文本生成方法、装置及计算设备
US11831832B2 (en) * 2021-10-06 2023-11-28 Relevant, Inc. Scannable thumbnails for association with data objects
CN114255835B (zh) * 2021-11-15 2023-07-28 四川大学华西医院 一种基于人工智能的病例大数据管理方法和系统
WO2023100363A1 (ja) * 2021-12-03 2023-06-08 富士通株式会社 モデル学習方法、モデル学習プログラムおよび情報処理装置
WO2023111842A1 (en) * 2021-12-13 2023-06-22 Communaute Woopen Inc. Server and method for generating digital content for users of a recommendation system
US20230252031A1 (en) * 2022-02-09 2023-08-10 bundleIQ Inc. Content Analysis System and Method
CN114661872B (zh) * 2022-02-25 2023-07-21 北京大学 一种面向初学者的api自适应推荐方法与系统
US11683245B1 (en) * 2022-03-04 2023-06-20 Verizon Patent And Licensing Inc. Recommendation system with performance management
US11928161B2 (en) * 2022-03-04 2024-03-12 Humane, Inc. Structuring and presenting event data for use with wearable multimedia devices
US11966570B2 (en) 2022-04-26 2024-04-23 Truist Bank Automated processing and dynamic filtering of content for display
US20240004913A1 (en) * 2022-06-29 2024-01-04 International Business Machines Corporation Long text clustering method based on introducing external label information
US11947601B2 (en) * 2022-07-27 2024-04-02 Dropbox, Inc. Seeding and generating suggested content collections
US11954167B1 (en) * 2022-12-21 2024-04-09 Google Llc Techniques for presenting graphical content in a search result
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes
CN117708437B (zh) * 2024-02-05 2024-04-16 四川日报网络传媒发展有限公司 一种个性化内容的推荐方法、装置、电子设备及存储介质
CN117934122A (zh) * 2024-03-22 2024-04-26 中电科大数据研究院有限公司 一种基于深度学习的智能推荐方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737092A (zh) * 2011-03-29 2012-10-17 索尼公司 内容推荐装置、推荐内容搜索方法和程序
CN108629266A (zh) * 2017-03-20 2018-10-09 奥多比公司 使用图像到题目嵌入的大规模图像加标记

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873107A (en) 1996-03-29 1999-02-16 Apple Computer, Inc. System for automatically retrieving information relevant to text being authored
JP4608740B2 (ja) 2000-02-21 2011-01-12 ソニー株式会社 情報処理装置および方法、並びにプログラム格納媒体
JP2001265808A (ja) 2000-03-22 2001-09-28 Skysoft Inc 情報検索システム及び情報検索方法
US7028253B1 (en) 2000-10-10 2006-04-11 Eastman Kodak Company Agent for integrated annotation and retrieval of images
JP4011906B2 (ja) 2001-12-13 2007-11-21 富士通株式会社 プロファイル情報の情報検索方法、プログラム、記録媒体及び装置
JP2006285656A (ja) 2005-03-31 2006-10-19 Seiko Epson Corp 文書検索システム、記録媒体、プログラム、および文書検索方法
US8181107B2 (en) * 2006-12-08 2012-05-15 Bytemobile, Inc. Content adaptation
US7958127B2 (en) * 2007-02-15 2011-06-07 Uqast, Llc Tag-mediated review system for electronic content
CN101779180B (zh) 2007-08-08 2012-08-15 贝诺特公司 基于背景的内容推荐的方法和设备
US8990235B2 (en) 2009-03-12 2015-03-24 Google Inc. Automatically providing content associated with captured information, such as information captured in real-time
US10331744B2 (en) 2010-06-07 2019-06-25 Microsoft Technology Licensing, Llc Presenting supplemental content in context
JP2012027788A (ja) 2010-07-26 2012-02-09 Fyuutorekku:Kk 文書検索システム、文書検索方法およびプログラム
US9519883B2 (en) 2011-06-28 2016-12-13 Microsoft Technology Licensing, Llc Automatic project content suggestion
JP5563016B2 (ja) 2012-05-30 2014-07-30 株式会社デンソーアイティーラボラトリ 情報検索装置、情報検索方法及びプログラム
AU2013361460A1 (en) * 2012-12-18 2015-07-16 Vadio, Inc. System and method for providing matched multimedia video content
WO2014160380A1 (en) 2013-03-13 2014-10-02 Deja.io, Inc. Analysis platform of media content metadata
WO2015035188A1 (en) 2013-09-05 2015-03-12 Jones Colleen Pettit Content analysis and scoring
US10210146B2 (en) 2014-09-28 2019-02-19 Microsoft Technology Licensing, Llc Productivity tools for content authoring
US9606716B2 (en) * 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
US9898773B2 (en) 2014-11-18 2018-02-20 Microsoft Technology Licensing, Llc Multilingual content based recommendation system
US20160232922A1 (en) 2015-02-09 2016-08-11 Simon Hickey Communication Analyzer and Recommendation System
US10798193B2 (en) 2015-06-03 2020-10-06 Oath Inc. System and method for automatic storyline construction based on determined breaking news
US11153253B2 (en) 2015-06-03 2021-10-19 Verizon Media Inc. System and method for determining and delivering breaking news utilizing social media
US20160379123A1 (en) 2015-06-24 2016-12-29 Comcast Cable Communications, Llc Entertainment Prediction Favorites
US10394829B2 (en) 2015-12-08 2019-08-27 International Business Machines Corporation Content authoring
US10565222B2 (en) * 2016-09-15 2020-02-18 Oracle International Corporation Techniques for facilitating the joining of datasets
US10191990B2 (en) * 2016-11-21 2019-01-29 Comcast Cable Communications, Llc Content recommendation system with weighted metadata annotations
US10963503B2 (en) 2017-06-06 2021-03-30 SparkCognition, Inc. Generation of document classifiers
JP6337183B1 (ja) 2017-06-22 2018-06-06 株式会社ドワンゴ テキスト抽出装置、コメント投稿装置、コメント投稿支援装置、再生端末および文脈ベクトル計算装置
US10699062B2 (en) * 2017-08-01 2020-06-30 Samsung Electronics Co., Ltd. Apparatus and method for providing summarized information using an artificial intelligence model
US10936970B2 (en) 2017-08-31 2021-03-02 Accenture Global Solutions Limited Machine learning document processing
US10798446B2 (en) 2018-01-04 2020-10-06 International Business Machines Corporation Content narrowing of a live feed based on cognitive profiling
US10891943B2 (en) * 2018-01-18 2021-01-12 Citrix Systems, Inc. Intelligent short text information retrieve based on deep learning
US20220012268A1 (en) * 2018-10-18 2022-01-13 Oracle International Corporation System and method for smart categorization of content in a content management system
US11163777B2 (en) * 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors
US11372894B2 (en) * 2018-12-21 2022-06-28 Atlassian Pty Ltd. Associating product with document using document linkage data
KR102046789B1 (ko) * 2019-04-05 2019-11-20 호서대학교 산학협력단 웹 어플리케이션에 대한 딥러닝 기반의 침입탐지 방법, 시스템 및 컴퓨터 프로그램
US10628633B1 (en) * 2019-06-28 2020-04-21 Decision Engines, Inc. Enhancing electronic form data based on hierarchical context information
US11232147B2 (en) * 2019-07-29 2022-01-25 Adobe Inc. Generating contextual tags for digital content
US11061980B2 (en) * 2019-09-18 2021-07-13 Capital One Services, Llc System and method for integrating content into webpages
US11423114B2 (en) * 2019-11-07 2022-08-23 Open Text Holdings, Inc. Content management systems for providing automated generation of content suggestions
US11216521B2 (en) * 2019-11-07 2022-01-04 Open Text Holdings, Inc. Content management methods for providing automated generation of content suggestions
WO2021113741A1 (en) 2019-12-04 2021-06-10 Dean Sarah Ankaret Anderson Controlling reachability in a collaboratively filtered recommender
US20210326718A1 (en) * 2020-04-16 2021-10-21 Microsoft Technology Licensing, Llc Machine learning techniques to shape downstream content traffic through hashtag suggestion during content creation
US20220027578A1 (en) * 2020-07-27 2022-01-27 Nvidia Corporation Text string summarization
CN115867919A (zh) 2020-08-17 2023-03-28 华为技术有限公司 用于推荐系统的图结构感知增量学习
US11934445B2 (en) * 2020-12-28 2024-03-19 Meta Platforms Technologies, Llc Automatic memory content item provisioning
US20220207484A1 (en) * 2020-12-31 2022-06-30 Microsoft Technology Licensing, Llc Training data generation techniques to capture entity-to-entity affinities
US11790165B2 (en) * 2021-01-26 2023-10-17 Microsoft Technology Licensing, Llc Content element recommendation system
US11310539B1 (en) * 2021-03-01 2022-04-19 Microsoft Technology Licensing, Llc Grouping a first set of video items to efficiently match against a second set of video items using embedding similarity

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737092A (zh) * 2011-03-29 2012-10-17 索尼公司 内容推荐装置、推荐内容搜索方法和程序
CN108629266A (zh) * 2017-03-20 2018-10-09 奥多比公司 使用图像到题目嵌入的大规模图像加标记

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220171924A1 (en) * 2019-03-25 2022-06-02 Nippon Telegraph And Telephone Corporation Index value giving apparatus, index value giving method and program
US11960836B2 (en) * 2019-03-25 2024-04-16 Nippon Telegraph And Telephone Corporation Index value giving apparatus, index value giving method and program
US20220083733A1 (en) * 2019-12-05 2022-03-17 Boe Technology Group Co., Ltd. Synonym mining method, application method of synonym dictionary, medical synonym mining method, application method of medical synonym dictionary, synonym mining device and storage medium
US11977838B2 (en) * 2019-12-05 2024-05-07 Boe Technology Group Co., Ltd. Synonym mining method, application method of synonym dictionary, medical synonym mining method, application method of medical synonym dictionary, synonym mining device and storage medium
US20220405062A1 (en) * 2021-06-21 2022-12-22 International Business Machines Corporation Software code integration from a media file
US11714610B2 (en) * 2021-06-21 2023-08-01 International Business Machines Corporation Software code integration from a media file
US11240266B1 (en) * 2021-07-16 2022-02-01 Social Safeguard, Inc. System, device and method for detecting social engineering attacks in digital communications
CN116738054A (zh) * 2023-06-19 2023-09-12 联洋国融(上海)科技有限公司 一种结合用户意图的文本深度分析方法
CN116756295A (zh) * 2023-08-16 2023-09-15 北京盛通知行教育科技集团有限公司 知识库的检索方法、装置及存储介质
CN116756295B (zh) * 2023-08-16 2023-11-03 北京盛通知行教育科技集团有限公司 知识库的检索方法、装置及存储介质

Also Published As

Publication number Publication date
US11163777B2 (en) 2021-11-02
US20200125574A1 (en) 2020-04-23
US11604798B2 (en) 2023-03-14
EP3867789A2 (en) 2021-08-25
WO2020081969A2 (en) 2020-04-23
US11200240B2 (en) 2021-12-14
JP7411651B2 (ja) 2024-01-11
WO2020081969A3 (en) 2020-10-08
JP2022505237A (ja) 2022-01-14
JP2024001121A (ja) 2024-01-09
US20220100767A1 (en) 2022-03-31
US20200125575A1 (en) 2020-04-23
US20210390108A1 (en) 2021-12-16
US11853705B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
US11604798B2 (en) Techniques for ranking content item recommendations
US11200248B2 (en) Techniques for facilitating the joining of datasets
US11704321B2 (en) Techniques for relationship discovery between datasets
US11163527B2 (en) Techniques for dataset similarity discovery
US11379506B2 (en) Techniques for similarity analysis and data enrichment using knowledge sources
US11334583B2 (en) Techniques for semantic searching
US20220012268A1 (en) System and method for smart categorization of content in a content management system
US10891272B2 (en) Declarative language and visualization system for recommended data transformations and repairs
US10296192B2 (en) Dynamic visual profiling and visualization of high volume datasets and real-time smart sampling and statistical profiling of extremely large datasets
EP4217887A1 (en) System and method for smart categorization of content in a content management system
CN116569164A (zh) 在内容管理系统中对内容进行智能归类的系统和方法
US20240169147A1 (en) Reference driven nlp-based topic categorization

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