CN112214980A - 树结构模板的定制和推荐 - Google Patents

树结构模板的定制和推荐 Download PDF

Info

Publication number
CN112214980A
CN112214980A CN202010661950.4A CN202010661950A CN112214980A CN 112214980 A CN112214980 A CN 112214980A CN 202010661950 A CN202010661950 A CN 202010661950A CN 112214980 A CN112214980 A CN 112214980A
Authority
CN
China
Prior art keywords
user
computer
tree structure
template
nodes
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
CN202010661950.4A
Other languages
English (en)
Inventor
黄磊
任广杰
江顺
R·I·阿拉尔
E·Y·刘
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN112214980A publication Critical patent/CN112214980A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/906Clustering; Classification
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Abstract

根据一个实施例,一种计算机实现的方法用于创建定制模板和模板推荐。该计算机实现的方法包括:从与用户相对应的用户信息中提取文本内容,以及使用从用户信息中提取的文本内容来生成特征向量。特征向量还用于形成现有用户版本的一个或多个集群。对于一个或多个所形成的集群中的每个集群,针对该集群中的每个用户版本生成树结构。而且,将该集群中的树结构合并成合并树结构。针对该一个或多个所形成的集群中的每个集群,使用相应的合并树结构生成定制模板,并且基于用户信息向用户推荐定制模板中的至少一个定制模板。

Description

树结构模板的定制和推荐
技术领域
本发明涉及模板的定制,并且更具体地,本发明涉及基于与用户相关联的信息生成针对用户的定制模板。
背景技术
模板通常用于与文字处理,基于Web的构建器,业务体系结构建模等有关的不同服务中。在简化期望内容的生成方面,模板可作为有价值的工具。模板有效地充当了有助于形成期望内容的开始的骨架,从而允许将资源如期望地用于其他地方。
然而,模板传统上是由个人预先设计的,他们通常对于模板最终将被用于何处缺乏了解,更不用说如何使用了。这样,常规的模板是固定的,因此无法随着用户偏好的变化而发展。
发明内容
根据一个实施例,一种计算机实现的方法用于创建定制模板和模板推荐。该计算机实现的方法包括:从与用户对应的用户信息中提取文本内容,以及使用从用户信息中提取的文本内容来生成特征向量。特征向量还用于形成现有用户版本的一个或多个集群。对于该一个或多个所形成的集群中的每个集群,针对该集群中的每个用户版本生成树结构。而且,集群中的树结构被合并成合并树结构。针对该一个或多个所形成的集群中的每个集群,使用相应的合并树结构生成定制模板,并且基于用户信息向用户推荐定制模板中的至少一个定制模板。
根据另一实施例的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令。程序指令能够由处理器读取和/或执行,以使处理器执行前述方法。
根据又一实施例的系统,包括:处理器,以及与处理器集成在一起的逻辑,能够由处理器执行的逻辑,或者与处理器集成在一起并能够由处理器执行的逻辑。该逻辑被配置为:执行前述方法。
通过以下详细描述,本发明的其他方面和实施例将变得显而易见,以下详细描述结合附图以示例的方式示出本发明的原理。
附图说明
图1是根据一个实施例的网络架构。
图2是根据一个实施例的可与图1的服务器和/或客户端相关联的代表性硬件环境。
图3是根据一个实施例的分层数据存储系统。
图4A是根据一个实施例的方法的流程图。
图4B是根据一个实施例的方法的流程图。
图4C是根据一个实施例的用于操作的子过程的流程图。
图5是根据一个实施例的树结构的局部表示图。
图6A是根据一个实施例的两个树结构的表示图。
图6B是根据一个实施例的合并结构的表示图。
图7A是根据一个实施例的推荐引擎的表示图。
图7B-7C是根据示例性实施例的伪代码的表示图。
图8描绘了根据一个实施例的云计算节点。
图9描绘了根据一个实施例的云计算环境。
图10描绘了根据一个实施例的抽象模型层。
具体实施方式
以下描述是出于说明本发明的一般原理的目的而进行的,并不意味着限制本文所要求保护的发明构思。此外,本文描述的特定特征可以以各种可能的组合和排列中的每一个与其他描述的特征组合使用。
除非本文另外明确定义,否则所有术语应被给予它们最广泛的可能解释,包括从说明书中暗示的含义以及本领域技术人员理解的含义和/或如字典,论文等所定义。
还必须注意,如说明书和所附权利要求书中所使用的,除非另有说明,单数形式的“一”,“一个”和“该”包括复数参考。还将理解的是,当在本说明书中使用术语“包括”和/或“包含”时,其指定了所述特征,整数,步骤,操作,元件和/或组件的存在,但并不排除一个或多个其他特征,整数,步骤,操作,元件,组件和/或其组合的存在或添加。
以下描述公开了例如将在下面更详细地描述的用于生成定制模板并提供关于定制模板的推荐的系统,方法和计算机程序产品的几个优选实施例。
在一个一般实施例中,一种计算机实现的方法用于创建定制的模板和模板推荐。该计算机实现的方法包括:从与用户对应的用户信息中提取文本内容,以及使用从用户信息中提取的文本内容来生成特征向量。特征向量还用于形成现有用户版本的一个或多个集群。对于一个或多个所形成的集群中的每个集群,针对集群中的每个用户版本生成树结构。而且,集群中的树结构被组合成合并树结构。针对该一个或多个所形成的集群中的每一个,使用相应的合并树结构生成定制模板,并且基于用户信息向用户推荐定制模板中的至少一个定制模板。
在另一个一般实施例中,一种计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中体现有程序指令。程序指令能够由处理器读取和/或执行,以使处理器执行前述方法。
在又一个一般实施例中,一种系统包括:处理器,以及与处理器集成在一起的逻辑,能够由处理器执行的逻辑,或者与处理器集成在一起并能够由处理器执行的逻辑。该逻辑被配置为:执行前述方法。
图1示出了根据一个实施例的体系结构100。如图1所示,提供了包括第一远程网络104和第二远程网络106的多个远程网络102。网关101可耦接在远程网络102和邻近网络108之间。在本体系结构100的上下文中,网络104、106的每一个可采用任何形式,包括但不限于:局域网(LAN),诸如互联网的广域网(WAN),公共交换电话网(PSTN),内部电话网等。
在使用中,网关101充当从远程网络102到邻近网络108的入口点。这样,网关101可充当能够引导到达网关101的给定数据分组的路由器,以及为给定数据分组提供进出网关101的实际路径的交换机。
还包括至少一个数据服务器114,其耦接到邻近网络108,并且可通过网关101从远程网络102访问。应当注意,数据服务器114可包括任何类型的计算设备/群件。每个数据服务器114耦接有多个用户设备116。用户设备116也可通过网络104、106、108中的一个直接连接。此类用户设备116可包括台式计算机,膝上型计算机,手持式计算机,打印机或任何其他类型的逻辑。应当注意,在一个实施例中,用户设备111也可直接耦接到任何网络。
外围设备120或一系列外围设备120,例如传真机、打印机、联网的和/或本地的存储单元或系统等,可耦接到网络104、106、108中的一个或多个。应注意,数据库和/或附加组件可与耦接到网络104、106、108的任何类型的网络元件一起使用或集成到其中。在本说明书的上下文中,网络元件可指代网络的任何组件。
根据一些方法,本文描述的方法和系统可与虚拟系统和/或模拟一个或多个其他系统的系统一起实现和/或在其上实现,例如模拟
Figure BDA0002578917140000041
z/
Figure BDA0002578917140000042
环境的
Figure BDA0002578917140000043
系统,虚拟地托管
Figure BDA0002578917140000044
环境的
Figure BDA0002578917140000045
系统,模拟
Figure BDA0002578917140000046
z/
Figure BDA0002578917140000047
环境的
Figure BDA0002578917140000048
系统等。在一些实施例中,这种虚拟化和/或仿真可通过使用
Figure BDA0002578917140000049
软件来增强。
在更多的方法中,一个或多个网络104、106、108可代表通常被称为“云”的系统集群。在云计算中,诸如处理能力,外围设备,软件,数据,服务器等的共享资源以按需关系被提供给云中的任何系统,从而允许跨许多计算系统的访问和服务分配。云计算通常涉及在云中运行的系统之间的互联网连接,但是连接系统的其他技术也可被使用。
图2示出了根据一个实施例的与图1的用户设备116和/或服务器114相关联的代表性硬件环境。该图示出了工作站的典型硬件配置,该工作站具有诸如微处理器的中央处理单元210,以及经由系统总线212互连的许多其他单元。
图2所示的工作站包括:随机存取存储器(RAM)214,只读存储器(ROM)216,用于将诸如磁盘存储单元220的外围设备连接至总线212的输入/输出(I/O)适配器218,用于将键盘224,鼠标226,扬声器228,麦克风232和/或其他用户接口设备(例如触摸屏和数码相机(未显示))连接到总线212的用户接口适配器222,用于将工作站连接到通信网络235(例如,数据处理网络)的通信适配器234和用于将总线212连接到显示设备238的显示适配器236。
工作站上可驻留有操作系统,例如Microsoft
Figure BDA0002578917140000051
操作系统(OS),
Figure BDA0002578917140000052
OS等。应当理解,优选实施例也可在除了所提到的之外的平台和操作系统上实现。优选实施例可使用可扩展标记语言(XML),C和/或C++语言,或其他编程语言,以及面向对象的编程方法来编写。可使用面向对象编程(OOP),其已越来越多地用于开发复杂的应用程序。
现在参考图3,示出了根据一个实施例的存储系统300。注意,根据各种实施例,图3中所示的元件中的一些元件可被实现为硬件和/或软件。存储系统300可包括用于与在至少一个较高存储层302和至少一个较低存储层306上的多个介质和/或驱动器进行通信的存储系统管理器312。较高存储层302可优选地包括:一种或多种随机访问和/或直接访问介质304,例如硬盘驱动器(HDD)中的硬盘,非易失性存储器(NVM),固态驱动器(SSD)中的固态存储器,闪存,SSD阵列,闪存阵列等,和/或本文所述或本领域已知的其他介质。较低存储层306可优选地包括一个或多个较低级性能的存储介质308,包括顺序访问介质(例如,磁带驱动器中的磁带和/或光学介质),访问速度较慢的HDD,访问速度较慢的SSD等,和/或本文所述或本领域已知的其他介质。一个或多个附加存储层316可包括系统300的设计者所期望的存储存储器介质的任何组合。而且,较高存储层302和/或较低存储层306中的任何一个可包括存储设备和/或存储介质的某种组合。
存储系统管理器312可通过网络310(诸如如图3所示的存储区域网络(SAN)或一些其他合适的网络类型)与较高存储层302和较低存储层306上的驱动器和/或存储介质304、308通信。存储系统管理器312还可通过主机接口314与一个或多个主机系统(未示出)通信,该主机接口可以是或可以不是存储系统管理器312的一部分。存储系统管理器312和/或存储系统300的任何其他组件可以用硬件和/或软件来实现,并且可利用处理器(未示出)来执行本领域中已知类型的命令,例如中央处理单元(CPU),现场可编程门阵列(FPGA),专用集成电路(ASIC)等。当然,如本领域技术人员在阅读本说明书后将显而易见的是,可使用存储系统的任何布置。
在更多实施例中,存储系统300可包括任何数量的数据存储层,并且可在每个存储层内包括相同或不同的存储存储器介质。例如,每个数据存储层可包括相同类型的存储存储器介质,例如HDD,SSD,顺序访问介质(磁带驱动器中的磁带,光盘驱动器中的光盘等),直接访问介质(CD-ROM),DVD-ROM等),或媒体存储类型的任意组合。在一种此类配置中,较高存储层302可包括用于在较高性能的存储环境中存储数据的大多数SSD存储介质,而包括较低存储层306和附加存储层316的其余存储层可包括用于在较低性能的存储环境中存储数据的SSD,HDD,磁带驱动器等的任何组合。这样,更频繁访问的数据,具有较高优先级的数据,需要更快速地访问的数据等可被存储到较高存储层302,而不具有这些属性中的一个属性的数据可被存储到包括较低存储层306的附加存储层316。当然,本领域的技术人员在阅读了本说明书之后,可根据本文提出的实施例设计出存储介质类型的许多其他组合以实现为不同的存储方案。
根据一些实施例,存储系统(例如300)可包括:被配置为接收打开数据集的请求的逻辑,被配置为确定所请求的数据集是否以多个相关联的部分被存储到分层数据存储系统300的较低存储层306的逻辑,被配置为将所请求的数据集的每个相关联的部分移动到分层数据存储系统300的较高存储层302的逻辑,以及被配置为将所请求的数据集从相关联的部分集成到分层数据存储系统300的较高存储层302上的逻辑。
当然,根据各种实施例,该逻辑可被实现为任何设备和/或系统上的方法或计算机程序产品。
如前所述,模板传统上是由个人预先设计的,他们通常对于模板最终将被用于何处缺乏了解,更不用说如何使用了。这样,常规模板是固定的,因此无法随着用户偏好的变化而发展。结果,传统上模板的适用性受到限制。
与之形成鲜明对比的是,本文所包括的各个实施例能够生成定制模板,其能够有效地帮助用户完成他们的任务。这些定制模板是使用与用户本身及其偏好相对应的信息而生成的,从而提高了使用中的适用性和保留率。还可基于所生成的模板和/或可用信息来向特定用户提出推荐。在一些方法中,这些改进是通过生成在实际形成定制模板的过程中使用的合成树结构来实现的,例如,如下面将进一步详细描述的。
参考图4A,示出了根据一个实施例的用于创建定制模板和/或模板推荐的方法400的流程图。除其它外,在各个实施例中,方法400可根据本发明在图1至图3中描绘的任何环境中执行。当然,如本领域技术人员在阅读本说明书时将理解的,比在图4A中具体描述的更多或更少的操作可被包括在方法400中。
方法400的每个步骤可由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法400可由控制器,处理器,计算机等或其中具有一个或多个处理器的某些其他设备来部分或全部地执行。因此,在一些实施例中,方法400可以是计算机实现的方法。此外,术语“计算机”,“处理器”和“控制器”可相对于本文中的任何实施例互换使用,此类组件在本发明的许多各种排列中被认为是等同物。
此外,对于具有处理器的那些实施例,处理器(例如,以硬件和/或软件实现的处理电路,芯片和/或模块,并且优选地具有至少一个硬件组件)可在任何设备中使用以执行方法400的一个或多个步骤。说明性处理器包括但不限于中央处理器(CPU),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,其组合,或本领域已知的任何其他合适的计算设备。
如图4A所示,方法400的操作402包括从与用户相对应的用户信息中提取文本内容。根据本说明书,“用户”可包括期望模板的任何人,公司,实体等。因此,在一些方法中,操作402可响应于接收到来自用户的对模板请求或者甚至初始模板(例如,参见下面的图4B)来执行。此外,从可用的用户信息中提取的文本内容也可根据情况而变化。例如,在某些方法中,提取的文本内容可能取决于可用的用户信息的类型。不同用户信息类型的说明性列表包括但绝不限于用户背景信息,用户专业知识信息,用户首选项,期望功能(例如模板要求),用户先前所做的选择等。
在某些方法中,实际提取文本内容的过程实现了词识别算法。如本领域的技术人员在阅读本说明书之后将认识到的,这些算法可被提供有关键词以进行搜索。这些关键词可被存储在存储器中,基于用户的类型动态地更新,是预先确定的等。在一些方法中,可从与给定用户相关联的用户版本中提取至少一些文本内容。关于本说明书,“用户版本”旨在指由用户实现,推荐给用户,针对其生成等的先前发行的定制(例如,修订的)模板。换句话说,已被所采用的用户采用并对其进行了更改以生成定制版本的模板在此被视为用户版本。
方法400还包括使用从用户信息和/或用户版本中提取的文本内容来生成数字特征向量。参见操作404。换句话说,操作404包括形成表示已提取的文本内容的数值。在一些方法中,所提取的文本内容可被认为是“关键词”。而且,生成数字特征向量的过程可包括对文本内容的每个部分实现哈希值。这些哈希值可进一步存储在哈希表中,从而保留对应的文本内容。也可将与文本内容对应的浓度值分配给相应哈希值中的一些或全部。在一些方法中,哈希图中的条目中的一个条目用作占位符,该占位符存储哈希图中包括的所有关键字的总权重。例如,哈希图中的最后一个条目被保留用于存储在其中的所有条目的总组合权重(或密度)。
数字特征向量用于评估现有用户和/或用户版本。参见操作406。关于本说明书,“现有用户”旨在指与重复用户对应的用户档案。因此,与现有用户对应的信息可被存储在存储器中(例如,在查找表中)并根据需要使用。此外,如上所述,“用户版本”旨在指用户已经做出的先前发布的定制模板以及在模板结构,布局,内容等方面的更新。这样,可将与先前形成的用户版本对应的特征向量和/或其他信息存储在存储器中,并在开发新的定制模板的过程中参考。
在操作406中执行的评估用于识别最匹配给定情况的某些用户和/或用户版本。参见操作408。换句话说,与用户对应的用户信息在选择类似于当前情况的先前用户和/或用户版本时实现。根据绝不旨在限制本发明的一些方法,在操作406中识别与当前用户和/或当前模板请求具有预定数量的相似性的用户和/或用户版本。此外,任何期望类型的相似性分析可被实施以执行操作408。
这些现有用户和/或用户版本被进一步分开以形成一个或多个集群。参见操作410。两个或更多个现有用户版本的集群优选地使用特征向量形成。例如,在一些方法中,形成现有用户版本的该一个或多个集群的过程包括从现有用户版本中提取文本内容,并将从用户版本中提取的文本内容与从用户信息中提取的文本内容一起使用以生成特征向量。特征向量还用于将两个或更多个现有用户版本合并成一个集群。
这样,特征向量被用来形成现有用户版本的一个或多个集群。每个集群包括被确定为彼此足够相似的多个用户档案和/或用户版本。例如,如下所述的等式1可用于确定两个或更多个特定节点之间存在的相似性。被确定为具有预定数量的相同特征向量的两个或更多个用户档案和/或用户版本可由此被放置在同一集群中。因此,优选地使用在操作404中形成的数字特征向量来创建这些集群。换句话说,直接基于(例如,使用)特征向量来形成集群。取决于方法,可通过使用标志,数据头和/或脚,查找表等将用户档案和/或用户版本标识为被包括在特定集群中。
仍然参考方法400,操作412包括针对集群中的每个用户版本生成树结构。换句话说,针对每个集群,使用被包括在给定集群中的用户档案和/或用户版本形成树结构。每个树结构包括被组织成多个级别(例如,深度)的多个节点。此外,树结构中的每个节点都充当相应用户版本中的组件。树结构优选地被组织成使得同一级别中的每个节点代表用户档案和/或用户版本的不同方面。
用户版本是从模板取得的,并且它们包括用户所做的更新。为了更加清楚起见,可以进行类比,其中用表格表示用户版本,其中组件对应于表格中的单元格。组件还可包括子组件,例如标题,描述等以及其他文本内容。因此,该表格具有分层结构(或“树结构”),例如,如图5所示。每个用户版本因此可由树结构表示,其中每个节点对应于组件,从那里扩展的子节点指示该给定节点下的子组件。用户版本集群包含许多类似的用户版本,每个用户版本都可表示为树结构。给定集群中的多个树结构可被合并成一个合并树。
还应当注意,在优选方法中,用户档案不是树结构的一部分。反而,用户档案用于帮助准确地使不同的用户版本聚集成集群,以及为新用户预测和/或推荐模板。例如,新用户的档案(例如背景,专业知识,要求等)可类似于给定集群中的用户。结果,可能会向新用户推荐使用给定集群生成的模板。
暂时参考图5,示出了根据在使用中的示例的示例性树结构500,其决不旨在限制本发明。如图所示,第一级别502中的每个节点对应于不同的雇佣组件。此外,从第一级别502中的给定节点扩展的每个子节点优选地对应于相同或相似的主题。例如,查看第一级别502中的“体系结构元素”节点,从其扩展到第二级别504中的每个子节点都与体系结构元素的主题有关。
返回到方法400,树结构可使用在本领域技术人员阅读本说明书之后将显而易见的任何过程来形成。例如,在一些方法中,每个用户档案和/或用户版本可被重新格式化为树结构。所形成的每个树结构可进一步组合以形成单个组合树结构,例如,这将很快变得显而易见。
进行到操作413,方法400包括将集群中的树结构合并成合并树结构。此外,操作414包括针对该一个或多个所形成的集群中的每一个使用相应的合并树结构生成定制模板。在优选的方法中,实现了自上而下的树节点聚类和合并方法,以便针对给定的集群使用相应的合并树结构生成合并树结构和/或定制模板。暂时参考图4C,示出了根据一个实施例的将集群中的树结构组合成合并树结构的示例性子过程,其中一个或多个子过程可用于执行图4A的操作414和/或下面图4B的操作466。然而,应当注意,根据一个实施例示出了图4C的子处理,该实施例决不旨在限制本发明。
如图所示,包括在图4C中的子处理被用于通过形成相应树结构的每个级别,将多个用户版本树结构(优选地在同一集群中)合并为组合树结构。为了效率,优选以自上而下的顺序形成(例如合并)树结构的多个级别。例如,合并两个或更多个节点的过程也可能导致依赖于其的子节点中的每个子节点也被合并。但是,可根据任何期望的顺序,进程,过程等合并树结构。
取决于方法,可在给定的树结构中,例如取决于用于形成它们的用户档案和/或用户版本的数量、类型、分布(spread)等,包括任意数量的节点。因此,子操作470包括在树结构的给定级别上对节点进行分组,而子操作472包括基于与之对应的数字特征向量来评估对节点进行的分组。换句话说,子操作472包括确定在与在子操作470中已经分组在一起的每个节点对应的数字特征向量之间是否存在任何相似性和/或差异。
取决于方法,在子操作472中,可使用任何期望类型的过程来执行评估。例如,在一些方法中,可将与节点中的两个节点相关联的特征向量彼此进行比较以确定节点是否彼此足够相似。该确定可基于特征向量的内容之间的多个相似性,与每个节点相关联的特征向量的数目,预定标准等,或者本领域技术人员在阅读完本说明书之后将显而易见的任何其他因素。
子操作474还包括删除被识别为不重要分组的节点及其子代。换句话说,子操作474包括去除那些被识别为与树结构的同一级别中的其他节点不足够相似的节点。此外,在子操作474中,从被移除的节点扩展的节点(例如,“分支”)也被从树结构中删除,从而避免了树结构中的任何悬挂分支。
虽然某些节点可被识别为相对于树结构的同一级别中的其他节点是“不重要的”,但是其他节点可被识别为向给定级别和/或整个树结构提供重要的内容。因此,将被识别为非常相似的节点合并在一起,从而形成合并节点。参见子操作476。合并被确定为彼此足够相似的两个或更多个节点的过程可以以任何期望的方式执行。例如,在一些方法中,可通过合并与每个节点相关联的特征向量来简单地组合节点。在其他方法中,合并两个或更多个节点的过程可取决于任何节点是否具有从其扩展的子节点。例如,可简单地将分支中从将要合并的两个或更多个节点扩展的子节点更新为从同一合并节点扩展。然而,在某些情况下,从给定节点扩展的子节点的数量,样式,方向等实际上可能在确定该节点是否能够与一个或多个其他节点合并中起作用。
参考图6A至图6B,示出了根据在使用中的示例的合并两个不同树结构的代表性示图,其决不旨在限制本发明。如图所示,图6A包括第一树结构600和第二树结构602,第一树结构600和第二树结构602中的每一个具有根603和从其扩展的多个节点604。节点604进一步按级别组织,每个级别对应于用户档案和/或用户版本的不同方面。
移至图6B,通过去除或合并被包括在第一和第二树结构600、602中的各种节点604来形成合并树结构606。与仅出现在树结构中的一个树结构中的节点相比,在第一和第二树结构600、602之间共同的节点可被合并。因此,所得的合并树结构606可包括与第一树结构600和第二树结构602不同数量的节点。
取决于所期望的方法,可不同地执行合并不同树结构中的节点的过程。例如,在一些方法中,可通过实现示例性图7B-7C中包括的伪代码的任何部分来合并两个树结构。根据另一种说明性方法,其决不旨在限制本发明,等式1可用于确定两个或更多个节点的相似程度。换句话说,等式1用于说明模板定制的总体目标,该目标最小化用户版本的集群与用于该集群的对应的定制模板之间的差异。因此,准确对应于集群的模板应尽可能多且尽可能准确地实现该集群中用户版本的功能。
Figure BDA0002578917140000131
在此,等式1可涉及通过将用户版本集群“Ui”中的每个用户版本“Uij”转换成树结构来生成用于用户版本集群“Ui”的模板“Ti”。然后将每个树结构合并在一起以形成单个合并树结构,该合并树结构经过优化并最终转换为定制模板“Ti”。因此,等式1可用于测量集群“Ui”中的用户版本与对应模板“Ti”之间的总距离,其中“i”表示集群数量,“j”表示集群“Ui”中的用户版本数量,以及“Ti”是用于集群“Ui”的模板。此外,“dist”指示任何距离计算方法,“min”表示最小化,并且“λ”是正则化参数,这例如是本领域的技术人员在阅读本说明书之后将显而易见的。
因此,对于树结构“i”中的每个级别,基于节点本身和可用于从其扩展的子节点的信息来执行对给定级别“i”中的节点进行的分组。文本信息也可从节点和/或它们各自的子代中提取。为每个节点形成特征向量,并基于与之对应的特征向量来测量节点之间的相似度。
仍然参考图4C,子操作478包括重命名合并节点。应当注意,在某些方法中,重命名合并节点的过程可实际上涉及改变与合并节点相关联的名称(例如,文件名)。但是,在其他方法中,可取决于所期望的方法,通过更改物理存储位置,逻辑存储位置,查找表中的关联信息等来“重命名”合并节点。此外,重命名合并节点的过程可基于任何可用信息,例如与合并节点和/或其各个部分相关联的相对流行度(popularity)。例如,重复特征向量可比单次出现的特征向量具有更大的权重。
现在回到图4A,方法400从操作414进行到操作416。在那里,操作416包括向用户推荐定制模板中的至少一个定制模板。应当注意,在操作416中做出的推荐优选地基于用户档案数据与定制模板之间的匹配。也就是说,基于哪个模板与相关用户档案最匹配(包括与背景,专业知识,需求等对应的信息)来进行预测,并据此做出推荐。根据一种绝不旨在限制本发明的示例性方法,基于用户信息向用户推荐定制模板中的至少一个定制模板包括将定制模板和用户信息转换成特征向量,基于该特征向量测量相似度,识别与用户信息最匹配的定制模板,并推荐所识别的定制模板。
因此,可用的用户信息优选地用于选择定制模板中被确定为最适合给定情况的一个或多个定制模板。但是,向用户推荐的定制模板的数量,类型,样式等可取决于多个其他因素。起作用的模板的类型可影响推荐过程。例如,基于文字处理的模板在格式,文本样式,边距大小,颜色等方面可能具有许多不同的选项,这可能会影响推荐的定制模板的数量和/或类型。但是,基于演示文稿的模板可仅具有多个不同的背景选择可供选择,从而导致推荐的定制模板的数量和/或类型更少。
根据决不旨在限制本发明的示例性实施例,至少部分地基于用户信息来向用户推荐定制模板中的至少一个定制模板的过程包括将定制模板与数值特征向量进行比较。根据一种方法,可通过尝试将从用户收集的每个可用特征向量与给定定制模板中的一个或多个节点进行匹配来执行比较。换句话说,可在每个定制模板中的数字特征向量和节点本身之间进行比较。这种比较允许识别与数字特征向量最匹配的一个或多个定制模板,并相应地推荐给用户。
根据决不旨在限制本发明的另一示例性实施例,向用户推荐定制模板中的至少一个定制模板的过程可通过推荐引擎来执行,例如,如图7A所示。暂时参考图7A,推荐引擎702接收用户档案和与其对应的信息,例如,诸如所期望的模板特征(例如,用户要求)。推荐引擎702还可访问存储在池704中的多个不同的现有模板。因此,推荐引擎702能够使用从初始模板接收到的信息以及用户信息和/或用户版本来修改现有模板以形成任意期望数量的用户版本集群和/或定制模板,其然后可被专门推荐给用户。
如前所述,在一些方法中,接收到对模板甚至初始模板的请求。对于其中接收初始模板的方法,用户可修改初始模板以创建其自己的版本,在此再次将其称为用户版本。基于这些用户版本,本文包括的各种过程能够依次生成定制的模板(例如,参见上面的方法450)。但是,对于其中未提供初始模板的方法,此处包括的过程能够使用单个用户的先前用户版本和/或其他相似用户制作的其他相似版本学习并生成用于该单个用户的定制模板(例如,参见上述方法400)。
因此,生成定制模板的过程可基于由请求用户指定的一个或多个初始参数。参考回图4B,示出了根据一个实施例的用于基于初始模板创建定制模板和/或模板推荐的方法450。然而,应当注意,结合方法450中包括的过程来描述的各种方法与以上关于方法400描述的那些方法相似和/或相同。因此,上述方法中的任何一个可根据需要在方法450中实现。
方法450的每个步骤可由操作环境的任何合适的组件来执行。例如,在各种实施例中,方法450可由控制器、处理器、计算机等或其中具有一个或多个处理器的某些其他设备部分或全部执行。因此,在一些实施例中,方法450可以是计算机实现的方法。此外,术语“计算机”,“处理器”和“控制器”可相对于本文中的任何实施例互换使用,此类组件被认为在本发明的许多各种排列中是等同物。
此外,对于具有处理器的那些实施例,处理器(例如,以硬件和/或软件实现的处理电路,芯片和/或模块,并且优选地具有至少一个硬件组件)可在任何设备中使用以执行方法450的一个或多个步骤。说明性处理器包括但不限于中央处理器(CPU),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,其组合,或本领域已知的任何其他合适的计算设备。
如图4B所示,方法450的操作452包括接收初始模板。在某些方法中,初始模板可从用户接收,该用户希望针对特定情况开发定制模板。此外,此初始模板可以是由用户实现的先前模板,最适合用户所面临任务的普通模板,用户自己开发的模板等。
操作454还包括从初始模板,其他用户信息和/或与用户相对应的其他用户版本中提取文本内容。如在本领域的技术人员中将认识到的,以上关于方法400描述的任何一种或多种方法可在操作454中提取文本内容中实现。
方法450还包括使用从初始模板提取的文本内容,其他用户信息和/或其他用户版本来生成数字特征向量。参见操作456。换句话说,操作456包括形成表示已提取的文本内容的数值。在一些方法中,所提取的文本内容可被认为是“关键词”。此外,生成数字特征向量的过程可以是上述任何方法。
数字特征向量还用于评估现有用户和/或用户版本。参见操作458。在操作458中执行的评估用于识别最匹配给定情况的某些用户和/或用户版本。参见操作460。换句话说,与初始模板对应的用户信息,其他用户信息和/或其他用户版本是在选择类似于当前情况的先前用户和/或用户版本中实现的。根据绝不旨在限制本发明的一些方法,在操作458中识别与当前用户和/或当前模板具有预定数量的相似性的用户和/或用户版本。在其它方法中,被包括在给定集群中并与某个用户对应的多个用户版本可用于确定与给定情况是否存在关联。此外,可实施任何期望类型的相似性分析以便执行操作460。
这些现有用户和/或用户版本被进一步分开以形成一个或多个集群。参见操作462。每个集群包括被确定为彼此足够相似的多个用户档案和/或用户版本。例如,可将被确定为具有预定数量的相同特征向量的两个或更多个用户档案和/或用户版本放置在同一集群中。因此,这些集群优选地使用在操作456中形成的数字特征向量来创建。取决于方法,可通过使用标志,数据头和/或脚,查找表等将用户档案和/或用户版本标识为被包括在特定集群中。
仍参考方法450,操作464包括针对集群中的每个用户版本生成树结构。换句话说,针对每个集群,使用给定集群中包括的用户档案和/或用户版本形成树结构。如上所述,每个树结构包括被组织成多个级别(例如,深度)的多个节点。此外,树结构中的每个节点充当相应用户版本中的组件。树结构优选地被组织成使得同一级别中的每个节点表示用户档案和/或用户版本的不同方面,例如,如图5所示。
可使用在本领域的技术人员阅读本说明书之后显而易见的任何过程来形成树结构。例如,在一些方法中,每个用户档案和/或用户版本可被重新格式化为树结构。例如,如将很快变得显而易见,所形成的每个树结构可进一步被组合以形成单个组合树结构。
进行到操作465,方法450包括将集群中的树结构组合成合并树结构。此外,操作466包括使用相应的合并树结构为该一个或多个所形成的集群中的每一个生成定制模板。在优选的方法中,实现了自上而下的树节点聚集和合并方法,以便针对给定的集群使用相应的合并树结构生成合并树结构和/或定制模板。在一些方法中,通过修改在操作452中初始接收的模板来针对该一个或多个所形成的集群中的每个形成定制模板。换句话说,优选地针对该一个或多个所形成的集群中的每一个不同地修改初始模板,从而形成针对所形成的集群中的每个集群的不同定制模板。然而,图4C中包括的子过程中的任何一个或多个子过程可被用于针对给定的集群使用相应的树结构来生成定制模板。因此,图4C中的子过程中的任何一个或多个子过程可被用于执行上述图4B的操作466和/或图4A的操作414。然而,应当注意,示出了根据一个实施例的图4C的子过程,该实施例决不旨在限制本发明。
继续参考图4B,方法450从操作466进行到操作468。在那里,操作468包括向用户推荐定制模板中的至少一个定制模板。如上所述,在操作468中做出的推荐优选地至少部分地基于与给定用户对应的用户信息。换句话说,可用的用户信息优选地用于选择被确定为最适合给定情况的定制模板中的一个或多个定制模板。但是,向用户推荐的定制模板的数量,类型,样式等可取决于多个其他因素。起作用的模板的类型可影响推荐过程。例如,基于文字处理的模板在格式,文本样式,边距大小,颜色等方面可能具有许多不同的选项,这可能会影响推荐的定制模板的数量和/或类型。但是,基于演示文稿的模板可仅具有多个不同的背景选择可供选择,从而导致推荐的定制模板的数量和/或类型更少。
现在参考图7B-7C,根据绝不旨在限制本发明的示例性实施例,提供了伪代码以用于执行不同树结构中的节点的自上而下的分组和合并。因此,伪代码可在针对该一个或多个所形成的集群中的每个集群使用相应的树结构生成定制模板的过程中使用。
由图7B中的伪代码执行的主要处理涉及在将要被组合的树结构的给定级别上针对每个节点建立特征向量。此外,该过程是基于来自同一级别的节点的每个相应分组中包括的信息以及与从其扩展的子节点对应的信息。因此,所提供的输出包括针对各个节点的特征向量。
此外,包括在图7C中的伪代码主要用于实际形成所得的合并树结构。这是通过再次分析正在被组合的树结构中的给定级别中的节点来实现的。针对这些节点形成的特征向量(例如,使用图7B中的伪代码)用于组合节点中的特定节点以及确定是否应将该特定节点移除或合并在一起。此后,例如根据本文所包括的任何方法,将新形成的合并节点重命名。一旦形成,所得的合并树结构可用于形成(例如,转换成)定制模板,该模板可根据需要使用。
这样,本文所包括的各种实施例能够将输入(例如,模板,用户版本,用户档案,用户偏好等)转换成定制模板和/或模板推荐形式的输出。这显著提高了定制模板可被开发的准确性,从而也提高了这些定制模板在许多不同情况下的适用性。
此外,由于在许多情况下不使用附加的设备和/或基础设施,因此可用最小的成本实现这些改进。因此,可在基于云的计算环境中实现本文所包括的各种实施例。因此,本领域的技术人员在阅读本说明书之后将理解,可在云计算环境中实现本文所包括的方法中的任何一种或多种方法。此外,本文的各种方法能够与现在已知或以后开发的任何其他类型的计算环境结合来实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图8,其中显示了云计算节点的一个例子。图1显示的云计算节点800仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点800能够被用来实现和/或执行以上所述的任何功能。
云计算节点800具有计算机系统/服务器802,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器802一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器802可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器802可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图8所示,云计算节点800中的计算机系统/服务器802以通用计算设备的形式表现。计算机系统/服务器802的组件可以包括但不限于:一个或者多个处理器或者处理单元806,系统存储器818,连接不同系统组件(包括系统存储器818和处理单元806)的总线808。
总线808表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器802典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器802访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器818可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)820和/或高速缓存存储器822。计算机系统/服务器802可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统824可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线808相连。存储器818可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块832的程序/实用工具830,可以存储在存储器818中,这样的程序模块832包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块832通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器802也可以与一个或多个外部设备804(例如键盘、指向设备、显示器814等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器802交互的设备通信,和/或与使得该计算机系统/服务器802能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口812进行。并且,计算机系统/服务器802还可以通过网络适配器810与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器810通过总线808与计算机系统/服务器802的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器802一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图9,其中显示了示例性的云计算环境900。如图所示,云计算环境900包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点800,本地计算设备例如可以是个人数字助理(PDA)或移动电话904A,台式电脑904B、笔记本电脑904C和/或汽车计算机系统904N。云计算节点800之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点800进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图9显示的各类计算设备904A-N仅仅是示意性的,云计算节点800以及云计算环境900可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图10,其中显示了云计算环境900(图9)提供的一组功能抽象层。首先应当理解,图10所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图10所示,提供下列层和对应功能:
硬件和软件层1000包括硬件和软件组件。硬件组件的例子包括:主机1001;基于RISC(精简指令集计算机)体系结构的服务器1002;服务器1003;刀片服务器1004;存储设备1005;网络和网络组件1006。软件组件的例子包括:网络应用服务器软件1007以及数据库软件1008。
虚拟层1010提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器1011、虚拟存储1012、虚拟网络1013(包括虚拟私有网络)、虚拟应用和操作系统1014,以及虚拟客户端1015。
在一个示例中,管理层1020可以提供下述功能:资源供应功能1021:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能1022:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能1023:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能1024:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能1025:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层1030提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航1031;软件开发及生命周期管理1032;虚拟教室的教学提供1033;数据分析处理1034;交易处理1035;以及生成定制模板和/或做出与定制模板相关的建议1036。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以作为一步执行,并行执行,实质并行地,以部分或全部时间重叠的方式,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,根据各种实施例的系统可包括处理器和与处理器集成在一起和/或可由处理器执行的逻辑,该逻辑被配置为执行本文所述的一个或多个处理步骤。处理器可具有本文所述的任何配置,例如分立处理器或包括许多组件(例如处理硬件,存储器,I/O接口等)的处理电路。集成在一起意味着处理器具有作为硬件逻辑嵌入其中的逻辑,例如专用集成电路(ASIC),FPGA等。可由处理器执行,是指该逻辑是硬件逻辑;软件逻辑,例如固件,操作系统的一部分,应用程序的一部分;等,或者处理器可访问并被配置为在由处理器执行时使处理器执行某些功能的硬件和软件逻辑的某种组合。如本领域中已知的,软件逻辑可被存储在具有任何存储器类型的本地和/或远程存储器上。可使用本领域已知的任何处理器,例如软件处理器模块和/或硬件处理器,例如ASIC,FPGA,中央处理单元(CPU),集成电路(IC),图形处理单元(GPU)等。
将清楚的是,可以以任何方式组合前述系统和/或方法的各种特征,从而从以上呈现的描述中创建多个组合。
将进一步理解,可以以代表客户部署的服务的形式提供本发明的实施例以按需提供服务。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (11)

1.一种用于创建定制模板和模板推荐的计算机实现的方法,包括:
从与用户对应的用户信息中提取文本内容;
使用从所述用户信息中提取的文本内容生成特征向量;
使用所述特征向量来形成现有用户版本的一个或多个集群;
对于所述一个或多个所形成的集群中的每个集群,针对该集群中的每个用户版本生成树结构;
将该集群中的所述树结构合并成合并树结构;
针对所述一个或多个所形成的集群中的每个集群,使用相应的合并树结构生成定制模板;以及
基于所述用户信息向所述用户推荐所述定制模板中的至少一个定制模板。
2.根据权利要求1所述的计算机实现的方法,其中,使用所述特征向量来形成现有用户版本的所述一个或多个集群包括:
从所述现有用户版本中提取文本内容;
使用从所述用户版本中提取的文本内容以及从所述用户信息中提取的文本内容来生成所述特征向量;以及
基于相应的特征向量将所述现有用户版本中的两个或更多个现有用户版本聚集成集群。
3.根据权利要求1所述的计算机实现的方法,其中,每个树结构包括以多个级别组织的多个节点,其中,将该集群中的所述树结构合并成合并树结构包括:
通过以下步骤来形成所述合并树结构的每个级别:
对在所述树结构的给定级别上的节点进行分组,
基于与节点对应的特征向量评估对所述节点进行的分组,
删除被识别为不重要的节点及其子代,
合并被识别为重要的节点以形成合并节点,以及
重命名所述合并节点。
4.根据权利要求3所述的计算机实现的方法,其中,所述合并树结构的所述级别以自上而下的顺序形成。
5.根据权利要求1所述的计算机实现的方法,其中,基于所述用户信息向所述用户推荐所述定制模板中的至少一个定制模板包括:
将定制模板和用户信息转换为特征向量;
基于所述特征向量测量相似度;
识别最匹配所述用户信息的定制模板;以及
推荐所识别的定制模板。
6.根据权利要求1所述的计算机实现的方法,其中,所述用户信息选自包括以下项的组:背景信息,专业知识信息,要求,以及偏好。
7.根据权利要求1所述的计算机实现的方法,包括:
从与所述用户相关联的用户版本中提取文本内容;以及
使用从所述用户版本中提取的文本内容以及从所述用户信息中提取的文本内容来生成所述特征向量。
8.根据权利要求1所述的计算机实现的方法,包括:
接收初始模板,
其中,所述初始模板与所述特征向量一起用于形成现有用户版本的所述一个或多个集群。
9.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质中体现有程序指令,所述程序指令能够由处理器读取和/或执行以使所述处理器执行根据权利要求1至8中任一项所述的方法。
10.一种系统,包括:
处理器;以及
与所述处理器集成在一起的逻辑,能够由所述处理器执行的逻辑,或者与所述处理器集成在一起并能够由所述处理器执行的逻辑,所述逻辑被配置为执行根据权利要求1至8中任一项所述的方法。
11.一种包括指令的非暂时性计算机可读介质,所述指令在被处理器读取时使所述处理器执行根据权利要求1至8中任一项所述的方法。
CN202010661950.4A 2019-07-11 2020-07-10 树结构模板的定制和推荐 Pending CN112214980A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/509359 2019-07-11
US16/509,359 US11269835B2 (en) 2019-07-11 2019-07-11 Customization and recommendation of tree-structured templates

Publications (1)

Publication Number Publication Date
CN112214980A true CN112214980A (zh) 2021-01-12

Family

ID=74059254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010661950.4A Pending CN112214980A (zh) 2019-07-11 2020-07-10 树结构模板的定制和推荐

Country Status (2)

Country Link
US (1) US11269835B2 (zh)
CN (1) CN112214980A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210596B1 (en) 2020-11-06 2021-12-28 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11188778B1 (en) 2020-05-05 2021-11-30 Illumina, Inc. Equalization-based image processing and spatial crosstalk attenuator
US11455487B1 (en) * 2021-10-26 2022-09-27 Illumina Software, Inc. Intensity extraction and crosstalk attenuation using interpolation and adaptation for base calling
US11687708B2 (en) * 2021-09-27 2023-06-27 Microsoft Technology Licensing, Llc Generator for synthesizing templates

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090216708A1 (en) * 2008-02-22 2009-08-27 Yahoo! Inc. Structural clustering and template identification for electronic documents
US20170220544A1 (en) * 2016-02-01 2017-08-03 Microsoft Technology Licensing, Llc. Automatic template generation based on previous documents
CN108108387A (zh) * 2016-11-23 2018-06-01 谷歌有限责任公司 基于模版的结构化文档分类和提取
CN108255975A (zh) * 2017-12-27 2018-07-06 东软集团股份有限公司 模板构建方法、页面内容抓取方法及装置、介质及设备
US20180349476A1 (en) * 2017-06-06 2018-12-06 International Business Machines Corporation Evaluating theses using tree structures
CN109670163A (zh) * 2017-10-17 2019-04-23 阿里巴巴集团控股有限公司 信息识别方法、信息推荐方法、模板构建方法及计算设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849115B2 (en) 2006-06-05 2010-12-07 Bruce Reiner Method and apparatus for adapting computer-based systems to end-user profiles
US7660804B2 (en) * 2006-08-16 2010-02-09 Microsoft Corporation Joint optimization of wrapper generation and template detection
US8060857B2 (en) * 2009-01-31 2011-11-15 Ted J. Biggerstaff Automated partitioning of a computation for parallel or other high capability architecture
WO2014145884A2 (en) * 2013-03-15 2014-09-18 Locus Analytics, Llc Syntactic tagging in a domain-specific context
US9563689B1 (en) 2014-08-27 2017-02-07 Google Inc. Generating and applying data extraction templates
CN105426352A (zh) 2015-11-24 2016-03-23 国家电网公司 模板文档自动生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090216708A1 (en) * 2008-02-22 2009-08-27 Yahoo! Inc. Structural clustering and template identification for electronic documents
US20170220544A1 (en) * 2016-02-01 2017-08-03 Microsoft Technology Licensing, Llc. Automatic template generation based on previous documents
CN108108387A (zh) * 2016-11-23 2018-06-01 谷歌有限责任公司 基于模版的结构化文档分类和提取
US20180349476A1 (en) * 2017-06-06 2018-12-06 International Business Machines Corporation Evaluating theses using tree structures
CN109670163A (zh) * 2017-10-17 2019-04-23 阿里巴巴集团控股有限公司 信息识别方法、信息推荐方法、模板构建方法及计算设备
CN108255975A (zh) * 2017-12-27 2018-07-06 东软集团股份有限公司 模板构建方法、页面内容抓取方法及装置、介质及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210596B1 (en) 2020-11-06 2021-12-28 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database
US11810007B2 (en) 2020-11-06 2023-11-07 Videoxrm Inc. Self-building hierarchically indexed multimedia database

Also Published As

Publication number Publication date
US11269835B2 (en) 2022-03-08
US20210011896A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US11120589B2 (en) Increasing readability of visualization nodes
CN112214980A (zh) 树结构模板的定制和推荐
US10922101B2 (en) User interface widget recommendation
US11144607B2 (en) Network search mapping and execution
AU2021257649B2 (en) Vision-based cell structure recognition using hierarchical neural networks and cell boundaries to structure clustering
US10482162B2 (en) Automatic equation transformation from text
US8874513B2 (en) Transitioning application replication configurations in a networked computing environment
WO2023098302A1 (en) Identifying microservices for monolith application through static code analysis
JP7410040B2 (ja) 仮想エージェント・システムにおけるクエリ認識レジリエンシの判断
US10902037B2 (en) Cognitive data curation on an interactive infrastructure management system
US11847443B2 (en) Constraints-based refactoring of monolith applications through attributed graph embeddings
US20230021563A1 (en) Federated data standardization using data privacy techniques
US9542616B1 (en) Determining user preferences for data visualizations
US11620275B2 (en) Multi-text interconnection
US11429381B1 (en) Software application refactoring and modification
US11514121B2 (en) Webpage customization
US20230267278A1 (en) Context-based response generation
US20230177032A1 (en) Performing automated semantic feature discovery
US20220012220A1 (en) Data enlargement for big data analytics and system identification

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