CN107103023A - 使用自动生成的存储层级组织电子存储的文件 - Google Patents

使用自动生成的存储层级组织电子存储的文件 Download PDF

Info

Publication number
CN107103023A
CN107103023A CN201611193462.5A CN201611193462A CN107103023A CN 107103023 A CN107103023 A CN 107103023A CN 201611193462 A CN201611193462 A CN 201611193462A CN 107103023 A CN107103023 A CN 107103023A
Authority
CN
China
Prior art keywords
catalogue
file
vector representation
title
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611193462.5A
Other languages
English (en)
Other versions
CN107103023B (zh
Inventor
N·利普卡
T·格鲁布
E·科
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN107103023A publication Critical patent/CN107103023A/zh
Application granted granted Critical
Publication of CN107103023B publication Critical patent/CN107103023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/93Document management systems
    • 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/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/23Updating
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的各实施例总体上涉及使用自动生成的存储层级组织电子存储的文件。具体地,描述了自动组织目录层级并且系统地标记各个目录的方法和系统。当第一目录中的文件的数目超过最大文件数目时,创建第二目录。先前仅设置在第一目录中的文件被组织到第一目录和第二目录二者中,使得在第一或第二目录中的任一个中不超过阈值文件数目。将文件组织到第一和第二目录中使用由系统生成的每个文件的矢量表示,使得当被组织时,第一和第二目录各自包括具有相似内容的文件。基于每个目录的集体内容的矢量表示与数据库中的标题的矢量表示之间的比较,为每个目录选择标签。

Description

使用自动生成的存储层级组织电子存储的文件
技术领域
本公开总体上涉及存储和组织电子存储系统内的电子文件。具体地,本公开涉及使用自动生成的存储层级来组织电子存储的文件。
背景技术
电子存储的文件通常在用户界面中被呈现为存储在目录的层级内。目录通常在用户界面中被描绘为文件夹,并且层级通常被描绘为“嵌套”在一个或多个其他文件夹内的一系列子文件夹。不管如何描述,目录可以表示包括越来越窄的主题领域的文件或子文件夹的集合。例如,“顶级”或“父”目录可能与公司实体内的所有部门相关。父目录中的下一级子目录(即,表示比父目录更窄的主目录范围的“子”目录)可以包括与公司实体内的每个单独的部门相对应的目录。类似地,每个部门特定的子目录内的下一级子目录可以包括相应部门中的每个单独雇员的子目录,其中存储有与相应雇员相关的文件。嵌套目录、子目录和文件的这种层级是从广泛的主题到狭窄的主题的直观的进展,其有助于存储和定位文件。
附图说明
图1示意性地示出了根据本公开的实施例的将第一目录中的文件分成第一目录和新创建的第二目录二者使得每个目录中的文件数目低于阈值;
图2是示出了根据本公开的实施例的使用文件的矢量表示来组织文件的方法的流程图;
图3是示出了在本公开的实施例中的用于基于目录中的内容的矢量表示与数据库中的文章标题的矢量表示之间的相似性来命名目录的方法的流程图;
图4示意性地示出了在本公开的实施例中的搜索方法,其中选择一个或多个文件并且所选择的一个或多个文件的矢量表示被用作语义上相似的内容的搜索准则;
图5是示出了根据本公开的实施例的用于通过选择一个或多个文件和/或目录并且生成所选择的文件和/或目录的矢量表示以用作搜索项来搜索存储系统的内容的方法的流程图;
图6A是根据本公开的实施例的包括文件组织系统的分布式处理环境的框图;以及
图6B是根据本公开的实施例的被配置成组织目录层级和目录层级内的文件的文件组织系统的框图。
附图仅出于说明的目的描绘了本公开的各种实施例。很多变化、配置和其他实施例根据以下详细讨论将变得容易理解。
具体实施方式
描述了用于在基于文件和目录的语义内容将文件添加到文件存储系统时系统地组织目录层级的方法和系统。还描述了基于存储在各个目录中的文件的语义内容系统地标记各个目录的方法和系统。
一旦数字文件被存储在数字存储系统中的目录层级的目录(或子目录)中,在稍后时间尝试检索所存储的文件的用户经常在定位该文件时遇到麻烦。例如,尝试检索文件的用户可能不知道文件或文件被存储在其中的目录(或子目录)的名称。随着存储系统的用户数目的增加,这个问题变得复杂,因为不同用户使用以命名文件和目录的命名约定可以随用户而广泛地变化。而且,由用户在系统内创建的目录层级的组织(例如,嵌套的子目录和目录的创建)可以随用户而广泛地变化。此外,在层级内的哪个位置存储文件的决定也可在用户之间广泛地变化。由于这些原因,可能难以在具有很多用户的存储系统中找到文件。
寻找所需文件的挑战也随着所存储的文件的数目、目录的数目和目录层级的复杂性的增加而增加。这是因为每个文件存在更多可能的存储位置。诸如“云”计算环境等分布式计算环境增加了另一个挑战,因为在一些情况下,文件可能不仅分布在单个存储系统上的层级的目录和子目录中,而且跨越不同的云计算系统,每个云计算系统都有自己的层级。
虽然使用关键字搜索功能在某些情况下可以有助于查找文件,但是该方法也可能不足。关键字搜索是否对找到文件有效取决于文件作者使用的词——即,搜索的关键词是否存在于文件中。缺少搜索的关键字的文件将不会在搜索中被标识。同样有问题的是搜索的关键词在不同上下文中由作者共同使用的情况。在这种情况下,将找到太多的文件,并且搜索结果可能无效。
为了解决这些挑战,本公开的一些实施例包括组织目录层级和系统地标记各个目录的方法。例如,为了在添加新文件时组织目录层级,针对存储系统中的目录,设置目录中允许存储的最大文件数目(本文中称为“阈值”)。当第一目录超过阈值文件数目时,例如通过附加文件被保存到第一目录,则创建第二目录。第二目录可以是第一个目录的子目录,也可以是层级中的同一组织“级别”的目录。先前仅存储在第一目录中的文件被组织到第一目录和第二目录二者中,使得在第一或第二目录中的任一个中不超过阈值文件数目。
使用一些或所有文件的矢量表示来组织文件以将具有相似内容的文件分组到同一目录中。为了标识哪些文件具有相似的内容,生成各个文件的矢量表示。矢量表示用于生成量化要被组织的文件对之间的相似性的相似性得分。生成相似性得分可以包括使用余弦相似性函数,但是也可以使用其他类型的相似性函数。使用相似性得分,标识在内容上彼此(相对于其他可能的文件对)最相似的文件。彼此类似的文件被存储在一个目录中,并且其余文件被存储在另一目录中,使得第一目录和第二目录二者中的文件数目都低于阈值文件数目。
例如,假设第一目录具有四个文件的阈值。初始存储在第一目录中的四个文件包括描述捕鱼技术的三个文件和描述经营鱼的餐馆的第四文件。寻求将描述餐馆质量评价的附加文件存储在第一目录中。但是,将附加文件存储在第一个目录中会导致目录超过阈值。因此,文件的矢量表示用于计算可能的文件对的相似性得分。在确定相似性得分时,描述捕鱼技术的三个文件被标识为彼此相似并且被存储在第一目录中。两个餐馆相关文件被标识为彼此相似并且被存储在新生成的第二目录中。因此,第一目录或第二目录中没有超过四个文件的阈值。还可以在最近使用的文件的层级中使用本公开的实施例来组织文件。与仅按使用的时间顺序显示最近使用的文件的现有操作系统不同,本公开的一些实施例可以将最近使用的文件呈现为被组织到相关文件的一个或多个目录中,如本文中所描述的。
为了提供反映存储在每个目录内的文件的内容的一致的目录标签,通过首先共同地生成目录内的一些或所有文件的矢量表示来生成目录标签。文件内容的分析可以根据通过文件的矢量表示的分析确定的文件的“语义”或含义来被参考。然后将目录矢量表示与数据库(诸如在一个示例中为维基百科)的文章标题的矢量表示进行比较以找到语义上相似的文章标题(使用例如余弦相似性)。一旦在数据库中标识到语义上相似的文章标题,则使用该标题用于标记目录。当目录本身中的文件改变和/或各个文件的内容改变时,可以递归地重复该过程。因此,目录的标签准确地反映目录的集体内容,即使内容改变。
此外,本公开的一些实施例包括语义搜索功能。语义搜索功能标识语义上类似于已被用户选择作为“搜索项”的目录和/或文件的目录和/或文件。在选择一个或多个文件/和/或目录时,生成所选择的文件和/或目录的矢量表示。然后将选择的矢量表示用作具有通过相似性得分(使用例如余弦相似性确定的)所指示的相似的矢量表示的其它文件夹和/或目录的“搜索项”。因此,该方法使得能够基于文件和/或目录的内容而不是仅仅基于关键字来进行有效的搜索。
本公开的一些实施例的益处包括存储系统,其中基于(1)目录中的最大文件数目和(2)目录中的文件之间的内容的相似性来自动地组织文件。这提高了层级的目录内的内容的一致性,并且减少了手动地组织文件的不便。一些实施例的另一个益处是在层级内的目录和文件的更加一致和逻辑的组织,从而提高了用户找到文件和相关文件的能力。具体地,使用根据本文中描述的一些实施例组织和标记的目录来改进用户手动地探索存储在层级中的文件的能力。本公开的一些实施例的另一个益处包括自动地标记反映目录的内容的层级内的目录,而不是用户任意选择的标签。本公开的一些实施例的另一个益处是使用语义搜索功能来搜索语义上相似的文件并且查看被组织到目录中的搜索结果的能力。将文件组织到目录中可以向用户提供文件中描述的语义主题的更高级别的透视。本公开的实施例的另一个益处是基于一个或多个所选择的文件和/或目录的内容的搜索功能,使得能够标识具有与集体的所选择的文件和/或目录相似的语义含义的文件。
如本文中所使用的,存储系统包括用于存储数字文件的任何数字存储系统或数字存储系统的组合。存储系统的示例包括分布式计算环境(例如,以下在图6A的上下文中更详细地解释的“云”)、共享的和/或专有的存储区域网络、本地非暂态存储介质(例如,计算机硬盘驱动器、可移除闪存)及其组合。
如上所述,目录是包含已经被标识为彼此相关的文件(或更具体地,对文件的引用)的文件系统结构。目录可以包括表示彼此相关的文件的集合的子目录,这些子目录作为整体是目录内的文件的子集。
如本文中所使用的层级是指存储系统内的目录和子目录的组织。例如,表示存储系统内的最宽组织级别的“顶级”目录可以各自包括在表示存储系统内的较窄组织级别的“第二级”组织的一系列子目录。这些子目录中的每个还可以包括更多级别的子目录,其中每个子目录表示包含彼此更紧密相关或与较窄主题范围相关的文件的组织级别。
文件是任何数字地存储的数据,该数据在被呈现时显示文本或图像,或者在被执行时在计算设备上执行一个或多个功能。文件的示例包括文本文件、图像文件和可执行文件等。层级中的文件的存储位置可以表示为“文件路径”,其是从最宽到最窄的每个目录标签的列表。
文件的矢量表示(或者称为“特征矢量”)是文件内容的数字表示。在本文中的一些示例中,文本文件的特征矢量可以是使用“词袋”模型(即,忽略语法(grammar)和句法(syntax)的模型)确定的各种词或词的组合的频率。
相似性得分是对被比较的矢量表示文件进行操作的相似性函数的输出。例如,余弦相似性是基于两个矢量表示之间的角度的余弦的两个矢量之间的相似性的测量,如通常已知的。
组织目录层级中的文件
图1是根据本公开的实施例的第一目录的示意图,第一目录当在第一目录中接收到附加文件时被组织到第一目录和第二目录中使得第一目录中的文件的数目超过阈值。如初始状态下所示,“目录1”包括来自“文件1”到“文件k”的多个文件,其中k是表示要存储在目录中的最大文件数目的阈值。阈值k可以是由系统的管理员选择的任何数字,但在一些实施例中可以是5到20个文件或10到15个文件。不管所选择的数目,为了说明目的,目录1被示出为已经存储了单个目录中允许的最大k个文件。
寻求将标识为“文件k+1”的附加文件存储在目录1中。然而,如上所述,最大k个文件已经存储在目录1中。因为通过文件k+1的添加超过了目录1的阈值,本公开的一些实施例被应用于将从文件1到文件k+1编号的文件组织到多于一个目录中,其中每个目录将具有比阈值文件数目k更少的文件。
如图所示,在尝试向目录1添加文件k+1时,生成附加目录(目录2)。文件k和文件k+1存储在目录2中,而其余文件(文件1到文件k-1)保留在目录1中。文件k和文件k+1用于存储在目录2中的选择基于针对来自文件1到文件k+1的组中的两个文件的一些或所有可能组合确定的相似性得分,如下面将更详细地描述的。也就是说,要存储在目录1中的文件的选择与要存储在目录2中的文件的选择基于使用文件的矢量表示所确定的各个文件之间的内容的相似性。
从本文中公开的其他实施例将变得容易理解,图1中所描绘的场景不限制可以应用本公开的实施例的层级的类型。例如,虽然目录2被示出为独立于目录1(即,它们在存储系统层级内处于相同的“级”),但是其他情况可以包括生成较高级目录内的子目录。
图2是示出了根据本公开的实施例的用于使用文件的矢量表示来组织文件的方法200的流程图。如同图1中描绘的场景,方法200可选地开始于在电子存储系统(例如,云存储系统或存储区域网络)处在第一目录中存储204多个文件。如上所述,目录是包含已经被标识为彼此相关的文件(或更具体地,引用文件)的文件系统结构。目录还可以包含一个或多个子目录,并且本文中的实施例可以应用于生成目录内的子目录以及在相同级别创建目录。为了便于说明,下面描述的实施例描述了其中存储在第一目录中的文件的数目等于允许存储在第一目录中的文件的阈值最大数目的情况。
在本示例中,为了说明清楚而呈现,可选地接收208将附加文件存储在第一目录处的指令,使得第一目录中的文件的总数(即,多个文件的文件加上附加文件的数目)超过阈值文件数目。在一些实施例中,激活超过允许存储在目录中的最大文件数目的另一指示。无论如何,由于超过了最大文件数目(被设置为阈值),第一目录中的文件和寻求存储在第一目录中的附加文件将被组织成使得:(1)第一目录中的文件的数目减少至地域阈值,并且(2)最相似的文件在目录内被分组在一起。此外,(3)将生成第二目录以存储未存储在第一目录中的文件,如下面更详细地描述的。
生成212第一目录中的多个文件和附加文件中的一些或所有文件的矢量表示。矢量表示(也称为特征矢量)是文件的数字表示,并且通常在各个方面的计算语言学中使用。可以根据各种现有的或随后开发的方法中的任一种来生成212文件的矢量表示。例如,可以使用忽略句法(syntax)和语法(grammar)的“词袋”模型来生成文本文件的n维矢量表示。如上所述,使用词袋模型分析的文本文件的矢量表示是在文件中出现的词的频率计数。还可以应用各种其他类型的特征提取算法来生成212各种文件的矢量表示。
响应于确定216第一目录中允许存储的文件的数目超过阈值,标识具有相似内容的第一目录中的文件并且将其组织到现有的第一目录中。将被标识为相似的其他文件存储在新的第二目录中,使得第一目录和第二目录中的每一个中的文件的数目低于阈值。在备选实施例中,文件可以被组织到用于存储不超过阈值的多个文件的目录和/或子目录的任意组合中。使用多个文件和附加文件中的一些或全部文件的矢量表示,生成220存储在电子文件系统的第一目录中的多个文件的相应文件对的多个相似性得分。文件对的相似性得分的使用定量地标识哪些文件彼此最相似。如上所述,可以使用的一个相似性得分是余弦相似性,其中量化了文件的矢量表示之间的“角度”。在这种方法中,“角度”越小,文件越相似。使用相似性得分,不管用于生成它们的计算方法如何,在所有文件对之间标识224相似的至少两个文件。继续余弦相似性示例,“最相似”的文件对将是具有最接近于为零的“角度”的相似性得分的两个文件。其他相似性得分方法或文件聚类算法(例如,k均值或层级聚集聚类)将产生不同类型的输出,但是标识224最相似的至少两个文件的效果将是相同的。
创建第二目录228,其中通过将至少两个相似的文件存储在第二目录中来存储并且因此动态地组织232所标识224的两个相似的文件,从而减少存储在第一目录中的文件的数目,并且基于由所生成的相似性得分指示的内容的相似性,在第一目录或第二目录中的一个中将多个文件中的文件分组在一起。也就是说,动态组织232将第一目录中的文件的数目减少到阈值文件数目以下。此外,第二目录用于存储与已经存储在第二目录中的文件相似并且寻求被存储的后续附加文件。
当寻求存储新的文件时,可以对目录的内容递归地执行方法200的上述元素中的一些或全部。在编辑现有文件并且添加新文件时执行方法200,将每个目录的内容保持为彼此相似的那些文件(如相似性得分所指示的)。以这种方式,每个目录存储类似的文件的“类”或“簇”。
下面将描述方法200的元素216-232的一些实施例的算法表达式示出为算法1。
在算法1中,“C”(“簇”或“类”)是指存储在目录内的多个语义上相似的文件,其中下标表示在“父”目录(表示为没有下标)内的“子”目录。大写字母“V”表示作为整体的目录的内容的矢量表示,其中小写字母“v”表示单个文件的矢量表示。“扇出k”是指目录内的最大文件数目,否则在本文中被标识为阈值。
在接收到引起多个文件C超过216阈值k的附加文件时,满足算法1的步骤1的条件。然后,如上所述,算法1的步骤2针对包括附加文件和多个文件的文件组中的文件对生成220相似性得分,如上所述。算法1的步骤3描述了基于所生成的相似性得分来标识224至少两个相似的文件,创建228第二目录(或当其他目录已经存在时创建附加目录)(Cn),并且将至少两个相似的文件存储232在第二目录中,使得第一目录中的文件的数目和第二目录中的文件的数目均低于阈值。步骤4生成第二目录(Cn)的矢量表示vn,其在一个实施例中是两个文件矢量的和vi+vj。步骤5指示方法200(和算法1)在超过阈值时递归地应用于每个目录,在一些示例中最终导致目录的复杂的嵌套层级。
在目录层级中标记目录
由于方法200用于在目录层级内存储新的文件或者编辑层级中的现有文件的内容时存储语义上相似的文件的目录并且保持目录内的语义相似性,可以以整体上准确地表示目录的内容的方式来选择每个目录的标签。如图3中描绘的示例方法300示出了用于选择目录层级的目录的标签的方法。
方法300通过生成304目录中的所有文件的内容的矢量表示来开始。也就是说,不是生成目录中的各个文件的矢量表示,而是生成所有文件的单个矢量表示。继续上面在图2的上下文中呈现的示例,可以组合所有文件的内容,并且基于“词袋”词频生成n维特征矢量。
生成306数据库中的内容项的标题的矢量表示。可以在各种实施例中使用的标题和数据库的示例包括国会图书馆中的项目的标题(并且在数字可访问的目录中列出)、维基百科中的文章标题、数字可访问的百科全书中的文章标题、专有数据库中的标题内容项库(例如在研究机构中使用的机密和专有知识库)等。不管实际使用的数据库如何,优选地,数据库将具有与存储在数据存储系统中的文件在语义上相似或在语义上相关的内容项的大量标题。在一些示例中,对于其中所存储的文件可以覆盖广泛范围的主题中的任何一个的存储系统,诸如等数据库由于本文中描述的广泛范围的主题而可能是优选的。对于更可能集中在较窄主题范围内的存储系统,相应地聚焦的数据库可能就足够了。例如,用于学术生物化学部门的专用存储系统可以基于由政府机构(例如,疾病控制中心)或科学期刊(例如,)维护的同行评议的出版物的数据库来选择其标题。
不管被选择用于在存储系统中提供目录标签的数据库,生成相似性得分308以量化目录的集体内容的矢量表示域数据库中的内容标题的矢量表示之间的相似性。如上所述,余弦相似性是一种方便的用于确定相似性得分的方法,但是其他相似性函数可以用于诸如通过使用余弦相似性来确定目录的集体内容和各种标题之间的相似性。
基于所生成308的相似性得分来标识312类似于目录的集体内容的数据库中的内容标题。可以可选地基于与和标题对应的内容相关联的“点击”速率来进一步标识316标题。也就是说,由用户频繁地访问的那些内容项(作为时间的函数或绝对数)被假定为最相关。因此,从具有与目录的集体内容相比接近相同的相似性得分的多个标题的子集,可以通过标识该子集的哪个标题与最频繁地访问的内容项相关联来选择单个标题。
一旦已经标识312标题(以及可选地316),则用所标识的内容标题320来标记该目录。在一些示例中,该过程是递归的,使得当目录的内容改变时(通过存储在其中的文件的改变或文件内容的改变),可以通过执行方法300任意次数来更新目录的标签。
在方法300的一个实施例中,算法2示出了基于可以用作目录标签的点击率进一步标识316个内容标题的计算上有效的方法。在本实施例中,算法2分析与通过方法300标识的标题312相关联的那些内容项链接(例如,经由用户资源链接)的内容项。
在算法2中,L0是可以被有意地选择的一组内容标题(诸如通过执行方法300标识312的那些标题),或者在一些实施例中可以是从数据库中随机地选择的一组内容标题。最终,集合L包含除已经标识312的之外的并且可以可选地用于标记320目录的内容标题的扩展选择。然而,在算法2所示的示例中,集合L作为没有内容标题的空集开始。在算法2的d次迭代中的每一次迭代中,如算法2的步骤3和步骤4所示,基于被最频繁地访问的并且也在最后一次迭代中添加的内容项(即,已经被选择为L的一部分)内被链接的内容项b(即,具有最高点击率),标识内容标题并且将其添加到集合L。如算法2的步骤5、6和7中所示,如果标识出新的内容项,则将其添加到集合L。如果所标识的内容项已经在集合L中,则将与内容项相关联的计数增加一。计数可以用于对最常访问的内容项排名,其中最高排名的内容项优选地用于标记320目录。
通过所选择的文件和/或目录来搜索
如上所述,基于关键字选择来搜索文件可以产生返回太多搜索结果、太少搜索结果、或者标识使用不相关的搜索项的文件的结果。为了解决这个问题,本公开的一些实施例包括基于对一个或多个文件和/或目录的选择的搜索功能。所选择的文件和/或目录用于生成选择的矢量表示。然后将选择的矢量表示用作搜索项以标识具有相似的(由相似性得分表示)矢量表示的语义上相似的目录和/或文件。
图4中示出了该搜索功能的示意性图示。如突出显示,已经选择了“目录1”中的“文件1”和“文件2”以及“目录2”中的“文件k”。在其他实施例中,将理解,在不脱离本公开的范围的情况下,可以选择附加的、更少的或不同的文件以及整个目录。在所示的实施例中,然后使用这三个所选择的文件来生成三个文件的集体内容的矢量表示“V”。如上所述,生成矢量表示的一种方法包括使用词袋模型来共同生成描述遍及所选择的文件的词频的n维矢量。一旦生成,则系统在数据库的内容中搜索具有相似的矢量表示的文件和/或目录。还如上所述,通过在一个示例中使用余弦相似性函数来生成相似性得分,可以实现标识文件和/或目录。因为在一些实施例中,系统维护用于所存储的目录和文件的矢量表示,所以该搜索方法在计算上是高效的。
图5是示出了根据本公开的实施例的并且如图4中示意性地描绘的用于通过选择一个或多个文件和/或目录并且生成所选择的文件和/或目录的矢量表示以用作搜索项来搜索存储系统的语义内容的方法的流程图。如图4所示并如上所述,接收504一个或多个文件和/或一个或多个目录的选择。生成508选择的矢量表示,然后将其用作语义上相似的文件的“搜索项”。在诸如其中选择单个文件或单个目录的一些示例中,可以使用由系统维护的先前存在的矢量表示。在诸如选择多个文件、多个目录以及文件和目录的混合的其他示例中,将生成矢量表示。一旦生成508了选择的矢量表示,则将矢量表示用作“搜索项”。通过将选择的矢量表示与系统中的文件和/或目录的矢量表示进行比较来搜索类似的矢量表示。通过生成相似性得分(诸如余弦相似性)来指示相似性。
在一些实施例中,系统维护每个目录的矢量表示。在这些实施例中,因为要搜索的目录具有维持的、预先存在的矢量表示,所以搜索在计算上是高效的,因为仅需要通过余弦相似性将所选择的文件和/或目录的所生成508的矢量表示与预先存在的目录矢量表示相比较。
示例环境和系统
图6A是在本公开的实施例中的分布式处理环境600的框图,其包括用于针对数字文件维护存储系统的组织、生成存储系统内的目录的标签、以及搜索在语义上类似于一个或多个所选择的目录和/或文件的所生成的矢量表示的内容的系统。图6A所示的系统环境600包括用户设备604、网络608和存储组织系统612。在其他实施例中,系统环境600包括与图6A所示的不同和/或额外的组件。
用户设备604是能够接收用户输入以及经由网络608发送和/或接收数据的计算设备。在一个实施例中,用户设备604是计算机系统,诸如台式或膝上型计算机。在另一实施例中,用户设备604可以是具有计算机功能的设备,诸如个人数字助理(PDA)、移动电话、平板计算机、智能电话或类似设备。在一些实施例中,用户设备604是用于在存储系统中存储数字文件、使用存储组织系统进行搜索和/或通过存储组织系统查看或访问文件的移动计算设备。在一个实施例中,用户设备604执行使得用户设备604的用户能够与存储组织系统612交互的应用,从而变成专用计算机器。例如,用户设备604执行浏览器应用以使得能够经由网络608在用户设备604与存储组织系统612之间实现交互。在另一实施例中,用户设备604通过在用户设备604的本地操作系统、诸如IOS或ANDROIDTM上运行的应用编程接口(API)与存储组织系统612交互。
用户设备604被配置成使用有线和无线通信系统经由网络608进行通信,网络608可以包括局域网和/或广域网的任意组合。在一个实施例中,网络608使用标准的通信技术和/或协议。因此,网络608可以包括使用诸如以太网、802.11、全球微波接入互操作性(WiMAX)、3G、4G、CDMA、数字用户线路(DSL)等技术的链路。类似地,网络608上使用的网络协议可以包括多协议标签交换(MPLS)、传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)和文件传输协议(FTP)。通过网络608交换的数据可以使用各种技术和/或格式来表示,包括超文本标记语言(HTML)或可扩展标记语言(XML)。此外,可以使用各种加密技术来加密所有或一些链路,诸如安全套接字层(SSL)、传输层安全(TLS)和互联网协议安全(IPsec)。
在一些实施例中,网络608包括一个或多个存储区域网络,诸如用于“云”计算系统的存储区域网络。在这些实施例中,存储组织系统612可以在多个云计算系统上操作,使得一致的层级、标记和搜索系统在不同的云计算系统上一致地操作。
下面在图6B的上下文中更详细地描述的存储组织系统612可以包括一个或多个计算设备,其用于当新的文件被存储在系统中并且现有的文件被编辑时存储文件、组织文件和目录、维护组织文件和目录、并且基于所选择的文件和/或目录的内容来提供搜索功能。存储组织系统612被配置成在接收到文件或对文件的编辑时,执行上述实施例中的一些或全部以维持目录层级的组织、标记层级中的目录、并且提供搜索功能。
图6B是如图6A所示的存储组织系统612的系统架构的框图。存储组织系统612包括存储器616、组织模块632、矢量生成器636、相似性得分模块640、搜索引擎644、目录标记模块648、处理器652和web服务器656。将理解,所示出的元件中的一些或所有元件可备选地设置在存储系统本身内,并且存储组织系统612的所描绘的实施例仅仅是为了方便解释。
存储器616被描绘为包括三个不同的元件:文件储存库620、矢量储存库624和层级储存库628。存储器616的这些元件中的每个元件将指令和数据存储在非暂态计算机可读介质(其可以包括任何合适的光学或磁性耐久存储设备,例如RAM、ROM、闪存、USB驱动器或其他基于半导体的存储介质、硬盘驱动器、CD-ROM)中,这些指令和数据在由一个或多个处理器(例如,处理器652)执行时执行上述方法。
文件储存库620存储数字编码文件用于稍后由用户访问。文件储存库620的示例包括被配置用于存储任何类型(例如,文本、图像)的文件的上述非暂态计算机可读存储介质的任意组合。类似地,矢量储存库624包括非暂态计算机可读存储介质而不是存储文件的任意组合,矢量储存库624被配置用于存储用于上述方法中的一些或所有方法的矢量表示中的一些或所有矢量表示。例如,在一些实施例中,矢量储存库624存储目录的矢量表示(或者更确切地说,目录的集体内容的矢量表示)。然后,这些可以用于如上所述的方法500的执行中,以提高上述搜索功能的实施例的效率。类似地,层级储存库628将指令存储在非暂态计算机可读介质中,这些指令用于维护目录、子目录和文件之间的组织关系并且当在图形用户界面中被呈现时可以被描绘为文件夹、子文件夹、文件和相应文件路径的图标。
组织模块632监视存储在每个目录内的多个文件。组织模块632还确定要存储在目录(例如上文在图2的上下文中提及的多个文件和附加文件)中的文件的数目是否超过阈值,或者是否超过目录中允许存储的最大文件数目。在确定已经超过阈值时,组织模块632启动文件的动态重组,如上所述。最终,组织模块632基于相似性得分来组织目录中的各种文件,如本文中所描述的。
在组织模块632标识出已经超过目录的文件的阈值数目时,组织模块创建第二目录并切指令矢量生成器636生成超过阈值的与目录相关联的各种文件的矢量表示。如上所述,可以使用任何数目的矢量生成和特征矢量提取方法。上述示例包括将词袋模型应用于文本文件并且生成用于一些或所有文件的n维矢量量化字计数频率。也可以使用其他类型的矢量生成方法。矢量生成器636还可以针对各种特征共同地生成目录的内容的矢量表示,诸如根据上述实施例来搜索。
使用由矢量生成器636生成的矢量表示,相似性得分模块640确定目录的文件对之间的相似性得分超过文件的阈值数目。如上所述,在一些实施例中使用的相似性得分是余弦相似性,但是可以等效地使用其他计算相似性的方法。
相似性得分模块640还确定用于上述其他应用的相似性得分。例如,相似性得分模块可以确定目录的集体内容和数据库中的标题之间的相似性得分,以便选择目录的标签,如图3的上下文中所描述的。在另一示例中,相似性得分模块640可以确定被选择为搜索项的文件和/或目录的选择的矢量表示与被搜索的文件和/或目录的矢量表示之间的相似性得分,如上文在图4和5的上下文中所描述的。
搜索引擎644通常应用于上文在图4和图5的上下文中所描述的搜索功能。搜索引擎644从矢量生成器636接收作为对一个或多个文件和/或目录的选择的搜索矢量。然后,搜索引擎从矢量储存库624检索所存储的文件和/或目录的矢量。然后将所存储的文件和/或目录的搜索矢量和要搜索的矢量传递给相似性得分模块640,用于生成相似性得分。重复该过程,直到向用户呈现搜索结果(例如,通过给web服务器656的在用户设备604上呈现搜索结果的指令)。
与矢量生成器636和相似性得分模块640合作,目录标记模块648用于基于与数据库内的内容的标题的相似性得分来标识和标记目录,如上文在图3的上下文中所描述的。例如,在生成新的目录或改变现有的目录的内容时,目录标记模块648访问数据库,并且将数据库中的内容项的标题传递给矢量生成器636,以生成标题的矢量表示。然后将这些矢量表示连同要标记的目录的矢量表示一起传递给相似性得分模块640。对于来自数据库的多个标题重复该过程,直到标识出相似的标题(例如,通过关于最接近零的目录具有余弦相似性“角度”的标题来量化的)。基于相似性得分结果,目录标记模块648与层级储存库628通信以改变目录的标签。
存储组织系统612还包括用于执行存储在存储器616或存储组织系统612的任何模块中的计算机可读和计算机可执行指令或软件的至少一个处理器652。可以采用虚拟化,使得存储组织系统612中的基础设施和资源可以被动态地共享。例如,可以提供虚拟机来处理在多个处理器上运行的进程,使得进程看起来仅使用一个计算资源而不是多个计算资源。多个虚拟机也可以与处理器652一起使用。
web服务器656经由网络608将存储组织系统612链接到用户设备604。web服务器656服务web页面以及其他web相关内容,诸如XML等。web服务器656可以提供以下功能:从用户设备604接收文件以存储在存储系统中,以及组织存储系统的层级内的文件、以及上述各种其他实施例的性能。另外,web服务器656可以提供应用程序编程接口(API)功能,以将数据直接发送给本地客户端设备操作系统,诸如ANDROIDTM或RIM。web服务器656还提供用于与用户设备604交换数据的API功能。
示例实施例
本公开的一个示例实施例包括一种用于组织存储在电子文件系统中的多个文件的计算机实现的方法,该方法包括:生成存储在电子文件系统的第一目录中的多个文件中的相应文件对的多个相似性得分,基于所生成的相似性得分标识至少两个相似的文件,创建第二目录,以及通过将至少两个相似的文件存储在第二目录中来动态地组织多个文件,使得第一目录中存储的文件的数目减小并且多个文件中的文件基于由所生成的相似性得分指示的内容的相似性来在第一目录或第二目录中的一个目录中被分组在一起。在一个实施例中,计算机实现的方法还包括响应于确定第一目录中存储的多个文件超过允许存储在第一目录中的文件的数目的阈值来创建第二目录。在一个实施例中,计算机实现的方法还包括生成多个文件中的文件中的至少一些文件的矢量表示,其中所生成的矢量表示用于生成多个相似性得分。在一个实施例中,该方法还包括共同地基于第一目录中的所有文件生成第一目录的第一矢量表示。在一个实施例中,该方法还包括通过以下方式来标记所述第一目录:生成数据库中的内容项的标题的标题矢量表示,生成第一目录的第一矢量表示相对于标题矢量表示的相似性得分,基于相似性得分来标识类似于第一目录的第一矢量表示的第一标题,以及用第一标题标记第一目录。在一个实施例中,标识还基于第一标题的点击率。在一个实施例中,使用余弦相似性函数来确定相似性得分。在一个实施例中,该方法还包括接收对多个文件中的至少一个目录或至少一个文件的选择,针对所选择的至少一个目录或至少一个文件生成选择矢量表示,在电子存储系统中搜索具有与选择矢量表示类似的矢量表示的文件。
另一示例实施例包括一种计算机程序产品,其中该计算机程序产品存储在包括指令的至少一个非暂态计算机可读介质上,这些指令在由一个或多个处理器执行时引起过程被执行,该过程包括:在电子存储系统处在第一目录处存储多个文件,以及生成多个文件中的文件中的至少一些文件的矢量表示。响应于确定第一目录中存储的多个文件超过允许存储在第一目录中的文件的阈值数目,该方法然后包括使用所生成的矢量表示来生成多个相似性得分,其中每个生成的相似性得分表示多个文件中的每个文件对之间的相似性,基于所生成的相似性得分来标识至少两个相似的文件,创建第二目录,以及通过将所述至少两个相似的文件存储在第二目录中来动态地组织所述多个文件,使得第一目录中的文件数目减少到低于阈值,并且多个文件中的文件基于由所生成的相似性得分指示的内容的相似性来在第一目录或第二目录中的一个中被分组在一起。在一个实施例中,在执行计算机程序产品时执行的方法包括:共同地基于第一目录中的所有文件生成第一目录的第一矢量表示。在一个实施例中,在执行计算机程序产品时执行的方法包括通过以下方式来标记所述第一目录:生成与数据库中的内容项的标题相对应的标题矢量表示,生成第一目录的第一矢量表示相对于数据库中内容项的标题的标题矢量表示的相似性得分,基于相似性得分来标识类似于第一矢量表示的第一标题,以及使用第一标题标记第一目录。在一个实施例中,标识还基于第一标题的点击率。在一个实施例中,使用余弦相似性函数来确定相似性得分。在一个实施例中,在执行计算机程序产品时执行的方法包括:接收对至少一个目录或多个文件中的至少一个文件的选择,针对所选择的至少一个目录或至少一个文件生成选择矢量表示,以及在电子存储系统中搜索具有与选择矢量表示类似的矢量表示的文件。
另一示例实施例是一种用于组织电子存储文件的系统,其包括被配置用于在电子存储系统处在第一目录处存储多个文件的文件存储器、以及被配置用于生成多个文件中的文件的中至少一些文件的矢量表示的矢量生成器。该系统包括相似性得分模块,其响应于确定存储在第一目录中的所个文件超过允许存储在第一目录中的文件的阈值数目,被配置用于:使用所生成的矢量表示来生成多个相似性得分,其中每个生成的相似性得分表示多个文件中的文件的文件对之间的相似性,以及基于所生成的相似性得分来标识至少两个相似的文件。该系统还包括组织模块,其被配置用于创建第二目录并且通过将至少两个相似的文件存储在第二目录中来动态地组织多个文件,使得第一目录中的文件数目减少至地域阈值,以及基于由所生成的相似性得分指示的内容的相似性,多个文件中的文件在第一目录或第二目录中的一个中被分组在一起。在一个实施例中,矢量生成器还被配置用于共同地基于第一目录中的所有文件来生成第一目录的第一矢量表示。在一个实施例中,系统还包括目录标记模块,其被配置用于通过以下方式来标记所述第一目录:生成数据库中的内容项的标题的标题矢量表示,生成第一目录的第一矢量表示相对于标题矢量表示的相似性得分,基于相似性得分来标识类似于第一目录的第一矢量表示的第一标题,并且使用第一标题标记第一目录。在一个实施例中,目录标记模块还被配置成基于第一标题的点击率标识第一目录的标签。在一个实施例中,使用余弦相似性函数来确定相似性得分。在一个实施例中,该系统包括搜索引擎,其响应于接收到对至少一个目录或多个文件中的至少一个文件的选择,以及从矢量生成器接收到至少一个目录或至少一个文件的选择的矢量表示,被配置用于使用至少一个目录或至少一个文件的选择的所生成的矢量表示来搜索存储在电子存储系统中的具有相似的矢量表示的文件。
进一步的考虑
为了说明的目的已经呈现了本公开的实施例的前述描述;但是其并不旨在穷举或将权利要求限制为所公开的精确形式。相关领域的技术人员可以理解,鉴于上述公开,很多修改和变化是可能的。
本说明书的一些部分在关于信息的操作的算法和符号表示方面描述实施例。这些算法描述和表示通常由数据处理领域的技术人员使用,以将他们的工作的实质有效地传达给本领域的其他技术人员。尽管在功能上、计算上或逻辑上描述,这些操作被理解为由计算机程序或等效电路、微代码等来实现。所描述的操作可以体现在软件、固件、硬件或其任意组合中。
本文所描述的任何步骤、操作或过程可以单独地或与其他设备组合地利用一个或多个硬件或软件模块来执行或实现。在一个实施例中,使用计算机程序产品来实现软件模块,该计算机程序产品包括包含计算机程序代码的非暂态计算机可读介质,计算机程序代码可以由计算机处理器执行,用于执行所描述的任何或所有步骤、操作或过程。

Claims (20)

1.一种计算机实现的方法,用于组织存储在电子文件系统中的多个文件,所述方法包括:
生成针对存储在所述电子文件系统的第一目录中的所述多个文件中的相应文件对的多个相似性得分;
基于所生成的相似性得分来标识至少两个相似的文件;
创建第二目录;以及
通过将所述至少两个相似的文件存储在所述第二目录中来动态地组织所述多个文件,使得所述第一目录中存储的文件的数目减小,并且所述多个文件中的文件基于由所生成的相似性得分指示的内容中的相似性来在所述第一目录或所述第二目录中的一个目录中被分组在一起。
2.根据权利要求1所述的计算机实现的方法,还包括响应于确定所述第一目录中存储的所述多个文件超过允许存储在所述第一目录中的文件的数目的阈值来创建所述第二目录。
3.根据权利要求1所述的计算机实现的方法,还包括生成针对所述多个文件中的文件中的至少一些文件的矢量表示,其中所生成的矢量表示用于生成所述多个相似性得分。
4.根据权利要求1所述的计算机实现的方法,还包括共同地基于所述第一目录中的所有文件来生成所述第一目录的第一矢量表示。
5.根据权利要求4所述的计算机实现的方法,还包括通过以下方式来标记所述第一目录:
生成数据库中的内容项的标题的标题矢量表示;
生成所述第一目录的所述第一矢量表示相对于所述标题矢量表示的相似性得分;
基于所述相似性得分来标识类似于所述第一目录的所述第一矢量表示的第一标题;以及
使用所述第一标题标记所述第一目录。
6.根据权利要求5所述的计算机实现的方法,其中所述标识还基于所述第一标题的点击率。
7.根据权利要求1所述的计算机实现的方法,其中所述相似性得分使用余弦相似性函数来确定。
8.根据权利要求1所述的计算机实现的方法,还包括:
接收至少一个目录或者所述多个文件中的至少一个文件的选择;
针对所选择的至少一个目录或者所述至少一个文件生成选择矢量表示;以及
在所述电子存储系统中搜索具有与所述选择矢量表示类似的矢量表示的文件。
9.一种计算机程序产品,其中所述计算机程序产品存储在包括指令的至少一个非暂态计算机可读介质上,所述指令在由一个或多个处理器执行时引起过程被执行,所述过程包括:
在电子存储系统处在第一目录存储多个文件;
生成所述多个文件中的文件中的至少一些文件的矢量表示;
响应于确定所述第一目录中存储的所述多个文件超过允许存储在所述第一目录中的文件的阈值数目:
使用所生成的矢量表示生成多个相似性得分,其中每个所生成的相似性得分表示所述多个文件中的文件对之间的相似性;
基于所生成的相似性得分来标识至少两个相似的文件;
创建第二目录;以及
通过将所述至少两个相似的文件存储在所述第二目录中来动态地组织所述多个文件,使得所述第一目录中的文件的数目减小至低于所述阈值,并且所述多个文件中的文件基于由所生成的相似性得分指示的内容中的相似性来在所述第一目录或所述第二目录中的一个目录中被分组在一起。
10.根据权利要求9所述的计算机程序产品,还包括共同地基于所述第一目录中的所有文件来生成所述第一目录的第一矢量表示。
11.根据权利要求10所述的计算机程序产品,还包括通过以下方式来标记所述第一目录:
生成数据库中的内容项的标题的标题矢量表示;
生成所述第一目录的所述第一矢量表示相对于所述数据库中内容项的标题的所述标题矢量表示的相似性得分;
基于所述相似性得分来标识类似于所述第一矢量表示的第一标题;以及
使用所述第一标题标记所述第一目录。
12.根据权利要求11所述的计算机程序产品,其中所述标识还基于所述第一标题的点击率。
13.根据权利要求9所述的计算机程序产品,其中所述相似性得分使用余弦相似性函数来确定。
14.根据权利要求9所述的计算机程序产品,还包括:
接收至少一个目录或者所述多个文件中的至少一个文件的选择;
针对所选择的至少一个目录或者所述至少一个文件生成选择矢量表示;以及
在所述电子存储系统中搜索具有与所述选择矢量表示类似的矢量表示的文件。
15.一种用于组织电子地存储的文件的系统,所述系统包括:
文件储存库,被配置用于在电子存储系统处在第一目录存储多个文件;
矢量生成器,被配置用于生成所述多个文件中的文件中的至少一些文件的矢量表示;
相似性得分模块,被配置用于响应于确定所述第一目录中存储的所述多个文件超过允许存储在所述第一目录中的文件的阈值数目:
使用所生成的矢量表示生成多个相似性得分,其中每个所生成的相似性得分表示所述多个文件中的文件对之间的相似性;
基于所生成的相似性得分来标识至少两个相似的文件;
组织模块,被配置用于
创建第二目录;以及
通过将所述至少两个相似的文件存储在所述第二目录中来动态地组织所述多个文件,使得所述第一目录中的文件的数目减小至低于所述阈值,并且所述多个文件中的文件基于由所生成的相似性得分指示的内容中的相似性来在所述第一目录或所述第二目录中的一个目录中被分组在一起。
16.根据权利要求15所述的系统,其中所述矢量生成器还被配置用于共同地基于所述第一目录中的所有文件来生成所述第一目录的第一矢量表示。
17.根据权利要求16所述的系统,还包括被配置用于通过以下方式来标记所述第一目录的目录标记模块:
生成数据库中的内容项的标题的标题矢量表示;
生成所述第一目录的所述第一矢量表示相对于所述标题矢量表示的相似性得分;
基于所述相似性得分来标识类似于所述第一目录的所述第一矢量表示的第一标题;以及
使用所述第一标题标记所述第一目录。
18.根据权利要求17所述的系统,其中所述目录标记模块还被配置成基于所述第一标题的点击率来标识所述第一目录的标签。
19.根据权利要求15所述的系统,其中所述相似性得分使用余弦相似性函数来确定。
20.根据权利要求15所述的系统,还包括搜索引擎,所述搜索引擎响应于接收到至少一个目录或者所述多个文件中的至少一个文件的选择以及从所述矢量生成器接收到所述至少一个目录或所述至少一个文件的选择的矢量表示而被配置用于使用所述至少一个目录或所述至少一个文件的选择的所生成的矢量表示来搜索存储在所述电子存储系统中的具有相似的矢量表示的文件。
CN201611193462.5A 2016-02-22 2016-12-21 使用自动生成的存储层级组织电子存储的文件 Active CN107103023B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/049,172 US10803037B2 (en) 2016-02-22 2016-02-22 Organizing electronically stored files using an automatically generated storage hierarchy
US15/049,172 2016-02-22

Publications (2)

Publication Number Publication Date
CN107103023A true CN107103023A (zh) 2017-08-29
CN107103023B CN107103023B (zh) 2022-12-02

Family

ID=58360423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611193462.5A Active CN107103023B (zh) 2016-02-22 2016-12-21 使用自动生成的存储层级组织电子存储的文件

Country Status (5)

Country Link
US (1) US10803037B2 (zh)
CN (1) CN107103023B (zh)
AU (1) AU2016277656B2 (zh)
DE (1) DE102016015536A1 (zh)
GB (1) GB2547535A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858476A (zh) * 2020-07-20 2020-10-30 上海闻泰电子科技有限公司 文件处理方法、装置、电子设备和计算机可读存储介质
US11940960B2 (en) 2022-04-21 2024-03-26 Folder Front, LLC Intelligent folder-based data organization system
CN116363667B (zh) * 2023-04-26 2023-10-13 公安部信息通信中心 一种聚合文件主题识别与归类系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588372A (zh) * 2004-10-12 2005-03-02 北京北大方正电子有限公司 基于关系型数据库的通用文档存储方法
CN1773492A (zh) * 2004-11-09 2006-05-17 国际商业机器公司 组织多个文档的方法以及显示多个文档的设备
US20090248615A1 (en) * 2008-03-25 2009-10-01 Tal Drory Method and System for Folder Recommendation in a File Operation
CN102419775A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种海量小文件的存储与检索方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532943B2 (en) * 2001-08-21 2009-05-12 Microsoft Corporation System and methods for providing automatic classification of media entities according to sonic properties
US7945600B1 (en) * 2001-05-18 2011-05-17 Stratify, Inc. Techniques for organizing data to support efficient review and analysis
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files
US20050044487A1 (en) * 2003-08-21 2005-02-24 Apple Computer, Inc. Method and apparatus for automatic file clustering into a data-driven, user-specific taxonomy
US8285760B1 (en) * 2009-02-01 2012-10-09 Parham Sina System for organizing computer data
US8359279B2 (en) * 2010-05-26 2013-01-22 Microsoft Corporation Assisted clustering
US9330106B2 (en) * 2012-02-15 2016-05-03 Citrix Systems, Inc. Selective synchronization of remotely stored content
US9805042B1 (en) * 2014-07-22 2017-10-31 Google Inc. Systems and methods for automatically organizing files and folders

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588372A (zh) * 2004-10-12 2005-03-02 北京北大方正电子有限公司 基于关系型数据库的通用文档存储方法
CN1773492A (zh) * 2004-11-09 2006-05-17 国际商业机器公司 组织多个文档的方法以及显示多个文档的设备
US20090248615A1 (en) * 2008-03-25 2009-10-01 Tal Drory Method and System for Folder Recommendation in a File Operation
CN102419775A (zh) * 2011-12-22 2012-04-18 厦门雅迅网络股份有限公司 一种海量小文件的存储与检索方法

Also Published As

Publication number Publication date
US20170242906A1 (en) 2017-08-24
CN107103023B (zh) 2022-12-02
GB201622045D0 (en) 2017-02-08
DE102016015536A1 (de) 2017-08-24
GB2547535A (en) 2017-08-23
AU2016277656A1 (en) 2017-09-07
US10803037B2 (en) 2020-10-13
AU2016277656B2 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
US20230139464A1 (en) Platform for authoring, storing, and searching workflows
Bradel et al. Multi-model semantic interaction for text analytics
US20120158791A1 (en) Feature vector construction
Im et al. Linked tag: image annotation using semantic relationships between image tags
Mansouri et al. Learning to rank for mathematical formula retrieval
Yeo Contexts, original orders, and item-level orientation: Responding creatively to users' needs and technological change
García-Plaza et al. Reorganizing clouds: A study on tag clustering and evaluation
CN107103023A (zh) 使用自动生成的存储层级组织电子存储的文件
CN109783599A (zh) 基于多种存储介质的知识图谱检索方法及系统
CN111143400A (zh) 一种全栈式检索方法、系统、引擎及电子设备
Dong et al. Using hybrid algorithmic-crowdsourcing methods for academic knowledge acquisition
US20150220631A1 (en) Content repository and retrieval system
Chen et al. EXACT: attributed entity extraction by annotating texts
Mic et al. Similarity search for an extreme application: experience and implementation
Gentile et al. Early steps towards web scale information extraction with lodie
Mahdi et al. Similarity search techniques in exploratory search: a review
Kronmueller et al. A graph database of yelp dataset challenge 2018 and using cypher for basic statistics and graph pattern exploration
Oliveira et al. Improving the pruning ability of dynamic metric access methods with local additional pivots and anticipation of information
Kotov Knowledge graph entity representation and retrieval
Gentile et al. Self training wrapper induction with linked data
Wang et al. QA4GIS: A novel approach learning to answer GIS developer questions with API documentation
JP3578045B2 (ja) 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体
Seah et al. Summarizing social image search results
Meng et al. Online multimodal co-indexing and retrieval of social media data
Roul et al. Study the Significance of ML-ELM Using Combined PageRank and Content-Based Feature Selection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant