本公開總體上涉及存儲(chǔ)和組織電子存儲(chǔ)系統(tǒng)內(nèi)的電子文件。具體地,本公開涉及使用自動(dòng)生成的存儲(chǔ)層級(jí)來組織電子存儲(chǔ)的文件。
背景技術(shù):
電子存儲(chǔ)的文件通常在用戶界面中被呈現(xiàn)為存儲(chǔ)在目錄的層級(jí)內(nèi)。目錄通常在用戶界面中被描繪為文件夾,并且層級(jí)通常被描繪為“嵌套”在一個(gè)或多個(gè)其他文件夾內(nèi)的一系列子文件夾。不管如何描述,目錄可以表示包括越來越窄的主題領(lǐng)域的文件或子文件夾的集合。例如,“頂級(jí)”或“父”目錄可能與公司實(shí)體內(nèi)的所有部門相關(guān)。父目錄中的下一級(jí)子目錄(即,表示比父目錄更窄的主目錄范圍的“子”目錄)可以包括與公司實(shí)體內(nèi)的每個(gè)單獨(dú)的部門相對(duì)應(yīng)的目錄。類似地,每個(gè)部門特定的子目錄內(nèi)的下一級(jí)子目錄可以包括相應(yīng)部門中的每個(gè)單獨(dú)雇員的子目錄,其中存儲(chǔ)有與相應(yīng)雇員相關(guān)的文件。嵌套目錄、子目錄和文件的這種層級(jí)是從廣泛的主題到狹窄的主題的直觀的進(jìn)展,其有助于存儲(chǔ)和定位文件。
附圖說明
圖1示意性地示出了根據(jù)本公開的實(shí)施例的將第一目錄中的文件分成第一目錄和新創(chuàng)建的第二目錄二者使得每個(gè)目錄中的文件數(shù)目低于閾值;
圖2是示出了根據(jù)本公開的實(shí)施例的使用文件的矢量表示來組織文件的方法的流程圖;
圖3是示出了在本公開的實(shí)施例中的用于基于目錄中的內(nèi)容的矢量表示與數(shù)據(jù)庫中的文章標(biāo)題的矢量表示之間的相似性來命名目錄的方法的流程圖;
圖4示意性地示出了在本公開的實(shí)施例中的搜索方法,其中選擇一個(gè)或多個(gè)文件并且所選擇的一個(gè)或多個(gè)文件的矢量表示被用作語義上相似的內(nèi)容的搜索準(zhǔn)則;
圖5是示出了根據(jù)本公開的實(shí)施例的用于通過選擇一個(gè)或多個(gè)文件和/或目錄并且生成所選擇的文件和/或目錄的矢量表示以用作搜索項(xiàng)來搜索存儲(chǔ)系統(tǒng)的內(nèi)容的方法的流程圖;
圖6a是根據(jù)本公開的實(shí)施例的包括文件組織系統(tǒng)的分布式處理環(huán)境的框圖;以及
圖6b是根據(jù)本公開的實(shí)施例的被配置成組織目錄層級(jí)和目錄層級(jí)內(nèi)的文件的文件組織系統(tǒng)的框圖。
附圖僅出于說明的目的描繪了本公開的各種實(shí)施例。很多變化、配置和其他實(shí)施例根據(jù)以下詳細(xì)討論將變得容易理解。
具體實(shí)施方式
描述了用于在基于文件和目錄的語義內(nèi)容將文件添加到文件存儲(chǔ)系統(tǒng)時(shí)系統(tǒng)地組織目錄層級(jí)的方法和系統(tǒng)。還描述了基于存儲(chǔ)在各個(gè)目錄中的文件的語義內(nèi)容系統(tǒng)地標(biāo)記各個(gè)目錄的方法和系統(tǒng)。
一旦數(shù)字文件被存儲(chǔ)在數(shù)字存儲(chǔ)系統(tǒng)中的目錄層級(jí)的目錄(或子目錄)中,在稍后時(shí)間嘗試檢索所存儲(chǔ)的文件的用戶經(jīng)常在定位該文件時(shí)遇到麻煩。例如,嘗試檢索文件的用戶可能不知道文件或文件被存儲(chǔ)在其中的目錄(或子目錄)的名稱。隨著存儲(chǔ)系統(tǒng)的用戶數(shù)目的增加,這個(gè)問題變得復(fù)雜,因?yàn)椴煌脩羰褂靡悦募湍夸浀拿s定可以隨用戶而廣泛地變化。而且,由用戶在系統(tǒng)內(nèi)創(chuàng)建的目錄層級(jí)的組織(例如,嵌套的子目錄和目錄的創(chuàng)建)可以隨用戶而廣泛地變化。此外,在層級(jí)內(nèi)的哪個(gè)位置存儲(chǔ)文件的決定也可在用戶之間廣泛地變化。由于這些原因,可能難以在具有很多用戶的存儲(chǔ)系統(tǒng)中找到文件。
尋找所需文件的挑戰(zhàn)也隨著所存儲(chǔ)的文件的數(shù)目、目錄的數(shù)目和目錄層級(jí)的復(fù)雜性的增加而增加。這是因?yàn)槊總€(gè)文件存在更多可能的存儲(chǔ)位置。諸如“云”計(jì)算環(huán)境等分布式計(jì)算環(huán)境增加了另一個(gè)挑戰(zhàn),因?yàn)樵谝恍┣闆r下,文件可能不僅分布在單個(gè)存儲(chǔ)系統(tǒng)上的層級(jí)的目錄和子目錄中,而且跨越不同的云計(jì)算系統(tǒng),每個(gè)云計(jì)算系統(tǒng)都有自己的層級(jí)。
雖然使用關(guān)鍵字搜索功能在某些情況下可以有助于查找文件,但是該方法也可能不足。關(guān)鍵字搜索是否對(duì)找到文件有效取決于文件作者使用的詞——即,搜索的關(guān)鍵詞是否存在于文件中。缺少搜索的關(guān)鍵字的文件將不會(huì)在搜索中被標(biāo)識(shí)。同樣有問題的是搜索的關(guān)鍵詞在不同上下文中由作者共同使用的情況。在這種情況下,將找到太多的文件,并且搜索結(jié)果可能無效。
為了解決這些挑戰(zhàn),本公開的一些實(shí)施例包括組織目錄層級(jí)和系統(tǒng)地標(biāo)記各個(gè)目錄的方法。例如,為了在添加新文件時(shí)組織目錄層級(jí),針對(duì)存儲(chǔ)系統(tǒng)中的目錄,設(shè)置目錄中允許存儲(chǔ)的最大文件數(shù)目(本文中稱為“閾值”)。當(dāng)?shù)谝荒夸洺^閾值文件數(shù)目時(shí),例如通過附加文件被保存到第一目錄,則創(chuàng)建第二目錄。第二目錄可以是第一個(gè)目錄的子目錄,也可以是層級(jí)中的同一組織“級(jí)別”的目錄。先前僅存儲(chǔ)在第一目錄中的文件被組織到第一目錄和第二目錄二者中,使得在第一或第二目錄中的任一個(gè)中不超過閾值文件數(shù)目。
使用一些或所有文件的矢量表示來組織文件以將具有相似內(nèi)容的文件分組到同一目錄中。為了標(biāo)識(shí)哪些文件具有相似的內(nèi)容,生成各個(gè)文件的矢量表示。矢量表示用于生成量化要被組織的文件對(duì)之間的相似性的相似性得分。生成相似性得分可以包括使用余弦相似性函數(shù),但是也可以使用其他類型的相似性函數(shù)。使用相似性得分,標(biāo)識(shí)在內(nèi)容上彼此(相對(duì)于其他可能的文件對(duì))最相似的文件。彼此類似的文件被存儲(chǔ)在一個(gè)目錄中,并且其余文件被存儲(chǔ)在另一目錄中,使得第一目錄和第二目錄二者中的文件數(shù)目都低于閾值文件數(shù)目。
例如,假設(shè)第一目錄具有四個(gè)文件的閾值。初始存儲(chǔ)在第一目錄中的四個(gè)文件包括描述捕魚技術(shù)的三個(gè)文件和描述經(jīng)營(yíng)魚的餐館的第四文件。尋求將描述餐館質(zhì)量評(píng)價(jià)的附加文件存儲(chǔ)在第一目錄中。但是,將附加文件存儲(chǔ)在第一個(gè)目錄中會(huì)導(dǎo)致目錄超過閾值。因此,文件的矢量表示用于計(jì)算可能的文件對(duì)的相似性得分。在確定相似性得分時(shí),描述捕魚技術(shù)的三個(gè)文件被標(biāo)識(shí)為彼此相似并且被存儲(chǔ)在第一目錄中。兩個(gè)餐館相關(guān)文件被標(biāo)識(shí)為彼此相似并且被存儲(chǔ)在新生成的第二目錄中。因此,第一目錄或第二目錄中沒有超過四個(gè)文件的閾值。還可以在最近使用的文件的層級(jí)中使用本公開的實(shí)施例來組織文件。與僅按使用的時(shí)間順序顯示最近使用的文件的現(xiàn)有操作系統(tǒng)不同,本公開的一些實(shí)施例可以將最近使用的文件呈現(xiàn)為被組織到相關(guān)文件的一個(gè)或多個(gè)目錄中,如本文中所描述的。
為了提供反映存儲(chǔ)在每個(gè)目錄內(nèi)的文件的內(nèi)容的一致的目錄標(biāo)簽,通過首先共同地生成目錄內(nèi)的一些或所有文件的矢量表示來生成目錄標(biāo)簽。文件內(nèi)容的分析可以根據(jù)通過文件的矢量表示的分析確定的文件的“語義”或含義來被參考。然后將目錄矢量表示與數(shù)據(jù)庫(諸如在一個(gè)示例中為維基百科)的文章標(biāo)題的矢量表示進(jìn)行比較以找到語義上相似的文章標(biāo)題(使用例如余弦相似性)。一旦在數(shù)據(jù)庫中標(biāo)識(shí)到語義上相似的文章標(biāo)題,則使用該標(biāo)題用于標(biāo)記目錄。當(dāng)目錄本身中的文件改變和/或各個(gè)文件的內(nèi)容改變時(shí),可以遞歸地重復(fù)該過程。因此,目錄的標(biāo)簽準(zhǔn)確地反映目錄的集體內(nèi)容,即使內(nèi)容改變。
此外,本公開的一些實(shí)施例包括語義搜索功能。語義搜索功能標(biāo)識(shí)語義上類似于已被用戶選擇作為“搜索項(xiàng)”的目錄和/或文件的目錄和/或文件。在選擇一個(gè)或多個(gè)文件/和/或目錄時(shí),生成所選擇的文件和/或目錄的矢量表示。然后將選擇的矢量表示用作具有通過相似性得分(使用例如余弦相似性確定的)所指示的相似的矢量表示的其它文件夾和/或目錄的“搜索項(xiàng)”。因此,該方法使得能夠基于文件和/或目錄的內(nèi)容而不是僅僅基于關(guān)鍵字來進(jìn)行有效的搜索。
本公開的一些實(shí)施例的益處包括存儲(chǔ)系統(tǒng),其中基于(1)目錄中的最大文件數(shù)目和(2)目錄中的文件之間的內(nèi)容的相似性來自動(dòng)地組織文件。這提高了層級(jí)的目錄內(nèi)的內(nèi)容的一致性,并且減少了手動(dòng)地組織文件的不便。一些實(shí)施例的另一個(gè)益處是在層級(jí)內(nèi)的目錄和文件的更加一致和邏輯的組織,從而提高了用戶找到文件和相關(guān)文件的能力。具體地,使用根據(jù)本文中描述的一些實(shí)施例組織和標(biāo)記的目錄來改進(jìn)用戶手動(dòng)地探索存儲(chǔ)在層級(jí)中的文件的能力。本公開的一些實(shí)施例的另一個(gè)益處包括自動(dòng)地標(biāo)記反映目錄的內(nèi)容的層級(jí)內(nèi)的目錄,而不是用戶任意選擇的標(biāo)簽。本公開的一些實(shí)施例的另一個(gè)益處是使用語義搜索功能來搜索語義上相似的文件并且查看被組織到目錄中的搜索結(jié)果的能力。將文件組織到目錄中可以向用戶提供文件中描述的語義主題的更高級(jí)別的透視。本公開的實(shí)施例的另一個(gè)益處是基于一個(gè)或多個(gè)所選擇的文件和/或目錄的內(nèi)容的搜索功能,使得能夠標(biāo)識(shí)具有與集體的所選擇的文件和/或目錄相似的語義含義的文件。
如本文中所使用的,存儲(chǔ)系統(tǒng)包括用于存儲(chǔ)數(shù)字文件的任何數(shù)字存儲(chǔ)系統(tǒng)或數(shù)字存儲(chǔ)系統(tǒng)的組合。存儲(chǔ)系統(tǒng)的示例包括分布式計(jì)算環(huán)境(例如,以下在圖6a的上下文中更詳細(xì)地解釋的“云”)、共享的和/或?qū)S械拇鎯?chǔ)區(qū)域網(wǎng)絡(luò)、本地非暫態(tài)存儲(chǔ)介質(zhì)(例如,計(jì)算機(jī)硬盤驅(qū)動(dòng)器、可移除閃存)及其組合。
如上所述,目錄是包含已經(jīng)被標(biāo)識(shí)為彼此相關(guān)的文件(或更具體地,對(duì)文件的引用)的文件系統(tǒng)結(jié)構(gòu)。目錄可以包括表示彼此相關(guān)的文件的集合的子目錄,這些子目錄作為整體是目錄內(nèi)的文件的子集。
如本文中所使用的層級(jí)是指存儲(chǔ)系統(tǒng)內(nèi)的目錄和子目錄的組織。例如,表示存儲(chǔ)系統(tǒng)內(nèi)的最寬組織級(jí)別的“頂級(jí)”目錄可以各自包括在表示存儲(chǔ)系統(tǒng)內(nèi)的較窄組織級(jí)別的“第二級(jí)”組織的一系列子目錄。這些子目錄中的每個(gè)還可以包括更多級(jí)別的子目錄,其中每個(gè)子目錄表示包含彼此更緊密相關(guān)或與較窄主題范圍相關(guān)的文件的組織級(jí)別。
文件是任何數(shù)字地存儲(chǔ)的數(shù)據(jù),該數(shù)據(jù)在被呈現(xiàn)時(shí)顯示文本或圖像,或者在被執(zhí)行時(shí)在計(jì)算設(shè)備上執(zhí)行一個(gè)或多個(gè)功能。文件的示例包括文本文件、圖像文件和可執(zhí)行文件等。層級(jí)中的文件的存儲(chǔ)位置可以表示為“文件路徑”,其是從最寬到最窄的每個(gè)目錄標(biāo)簽的列表。
文件的矢量表示(或者稱為“特征矢量”)是文件內(nèi)容的數(shù)字表示。在本文中的一些示例中,文本文件的特征矢量可以是使用“詞袋”模型(即,忽略語法(grammar)和句法(syntax)的模型)確定的各種詞或詞的組合的頻率。
相似性得分是對(duì)被比較的矢量表示文件進(jìn)行操作的相似性函數(shù)的輸出。例如,余弦相似性是基于兩個(gè)矢量表示之間的角度的余弦的兩個(gè)矢量之間的相似性的測(cè)量,如通常已知的。
組織目錄層級(jí)中的文件
圖1是根據(jù)本公開的實(shí)施例的第一目錄的示意圖,第一目錄當(dāng)在第一目錄中接收到附加文件時(shí)被組織到第一目錄和第二目錄中使得第一目錄中的文件的數(shù)目超過閾值。如初始狀態(tài)下所示,“目錄1”包括來自“文件1”到“文件k”的多個(gè)文件,其中k是表示要存儲(chǔ)在目錄中的最大文件數(shù)目的閾值。閾值k可以是由系統(tǒng)的管理員選擇的任何數(shù)字,但在一些實(shí)施例中可以是5到20個(gè)文件或10到15個(gè)文件。不管所選擇的數(shù)目,為了說明目的,目錄1被示出為已經(jīng)存儲(chǔ)了單個(gè)目錄中允許的最大k個(gè)文件。
尋求將標(biāo)識(shí)為“文件k+1”的附加文件存儲(chǔ)在目錄1中。然而,如上所述,最大k個(gè)文件已經(jīng)存儲(chǔ)在目錄1中。因?yàn)橥ㄟ^文件k+1的添加超過了目錄1的閾值,本公開的一些實(shí)施例被應(yīng)用于將從文件1到文件k+1編號(hào)的文件組織到多于一個(gè)目錄中,其中每個(gè)目錄將具有比閾值文件數(shù)目k更少的文件。
如圖所示,在嘗試向目錄1添加文件k+1時(shí),生成附加目錄(目錄2)。文件k和文件k+1存儲(chǔ)在目錄2中,而其余文件(文件1到文件k-1)保留在目錄1中。文件k和文件k+1用于存儲(chǔ)在目錄2中的選擇基于針對(duì)來自文件1到文件k+1的組中的兩個(gè)文件的一些或所有可能組合確定的相似性得分,如下面將更詳細(xì)地描述的。也就是說,要存儲(chǔ)在目錄1中的文件的選擇與要存儲(chǔ)在目錄2中的文件的選擇基于使用文件的矢量表示所確定的各個(gè)文件之間的內(nèi)容的相似性。
從本文中公開的其他實(shí)施例將變得容易理解,圖1中所描繪的場(chǎng)景不限制可以應(yīng)用本公開的實(shí)施例的層級(jí)的類型。例如,雖然目錄2被示出為獨(dú)立于目錄1(即,它們?cè)诖鎯?chǔ)系統(tǒng)層級(jí)內(nèi)處于相同的“級(jí)”),但是其他情況可以包括生成較高級(jí)目錄內(nèi)的子目錄。
圖2是示出了根據(jù)本公開的實(shí)施例的用于使用文件的矢量表示來組織文件的方法200的流程圖。如同圖1中描繪的場(chǎng)景,方法200可選地開始于在電子存儲(chǔ)系統(tǒng)(例如,云存儲(chǔ)系統(tǒng)或存儲(chǔ)區(qū)域網(wǎng)絡(luò))處在第一目錄中存儲(chǔ)204多個(gè)文件。如上所述,目錄是包含已經(jīng)被標(biāo)識(shí)為彼此相關(guān)的文件(或更具體地,引用文件)的文件系統(tǒng)結(jié)構(gòu)。目錄還可以包含一個(gè)或多個(gè)子目錄,并且本文中的實(shí)施例可以應(yīng)用于生成目錄內(nèi)的子目錄以及在相同級(jí)別創(chuàng)建目錄。為了便于說明,下面描述的實(shí)施例描述了其中存儲(chǔ)在第一目錄中的文件的數(shù)目等于允許存儲(chǔ)在第一目錄中的文件的閾值最大數(shù)目的情況。
在本示例中,為了說明清楚而呈現(xiàn),可選地接收208將附加文件存儲(chǔ)在第一目錄處的指令,使得第一目錄中的文件的總數(shù)(即,多個(gè)文件的文件加上附加文件的數(shù)目)超過閾值文件數(shù)目。在一些實(shí)施例中,激活超過允許存儲(chǔ)在目錄中的最大文件數(shù)目的另一指示。無論如何,由于超過了最大文件數(shù)目(被設(shè)置為閾值),第一目錄中的文件和尋求存儲(chǔ)在第一目錄中的附加文件將被組織成使得:(1)第一目錄中的文件的數(shù)目減少至地域閾值,并且(2)最相似的文件在目錄內(nèi)被分組在一起。此外,(3)將生成第二目錄以存儲(chǔ)未存儲(chǔ)在第一目錄中的文件,如下面更詳細(xì)地描述的。
生成212第一目錄中的多個(gè)文件和附加文件中的一些或所有文件的矢量表示。矢量表示(也稱為特征矢量)是文件的數(shù)字表示,并且通常在各個(gè)方面的計(jì)算語言學(xué)中使用。可以根據(jù)各種現(xiàn)有的或隨后開發(fā)的方法中的任一種來生成212文件的矢量表示。例如,可以使用忽略句法(syntax)和語法(grammar)的“詞袋”模型來生成文本文件的n維矢量表示。如上所述,使用詞袋模型分析的文本文件的矢量表示是在文件中出現(xiàn)的詞的頻率計(jì)數(shù)。還可以應(yīng)用各種其他類型的特征提取算法來生成212各種文件的矢量表示。
響應(yīng)于確定216第一目錄中允許存儲(chǔ)的文件的數(shù)目超過閾值,標(biāo)識(shí)具有相似內(nèi)容的第一目錄中的文件并且將其組織到現(xiàn)有的第一目錄中。將被標(biāo)識(shí)為相似的其他文件存儲(chǔ)在新的第二目錄中,使得第一目錄和第二目錄中的每一個(gè)中的文件的數(shù)目低于閾值。在備選實(shí)施例中,文件可以被組織到用于存儲(chǔ)不超過閾值的多個(gè)文件的目錄和/或子目錄的任意組合中。使用多個(gè)文件和附加文件中的一些或全部文件的矢量表示,生成220存儲(chǔ)在電子文件系統(tǒng)的第一目錄中的多個(gè)文件的相應(yīng)文件對(duì)的多個(gè)相似性得分。文件對(duì)的相似性得分的使用定量地標(biāo)識(shí)哪些文件彼此最相似。如上所述,可以使用的一個(gè)相似性得分是余弦相似性,其中量化了文件的矢量表示之間的“角度”。在這種方法中,“角度”越小,文件越相似。使用相似性得分,不管用于生成它們的計(jì)算方法如何,在所有文件對(duì)之間標(biāo)識(shí)224相似的至少兩個(gè)文件。繼續(xù)余弦相似性示例,“最相似”的文件對(duì)將是具有最接近于為零的“角度”的相似性得分的兩個(gè)文件。其他相似性得分方法或文件聚類算法(例如,k均值或?qū)蛹?jí)聚集聚類)將產(chǎn)生不同類型的輸出,但是標(biāo)識(shí)224最相似的至少兩個(gè)文件的效果將是相同的。
創(chuàng)建第二目錄228,其中通過將至少兩個(gè)相似的文件存儲(chǔ)在第二目錄中來存儲(chǔ)并且因此動(dòng)態(tài)地組織232所標(biāo)識(shí)224的兩個(gè)相似的文件,從而減少存儲(chǔ)在第一目錄中的文件的數(shù)目,并且基于由所生成的相似性得分指示的內(nèi)容的相似性,在第一目錄或第二目錄中的一個(gè)中將多個(gè)文件中的文件分組在一起。也就是說,動(dòng)態(tài)組織232將第一目錄中的文件的數(shù)目減少到閾值文件數(shù)目以下。此外,第二目錄用于存儲(chǔ)與已經(jīng)存儲(chǔ)在第二目錄中的文件相似并且尋求被存儲(chǔ)的后續(xù)附加文件。
當(dāng)尋求存儲(chǔ)新的文件時(shí),可以對(duì)目錄的內(nèi)容遞歸地執(zhí)行方法200的上述元素中的一些或全部。在編輯現(xiàn)有文件并且添加新文件時(shí)執(zhí)行方法200,將每個(gè)目錄的內(nèi)容保持為彼此相似的那些文件(如相似性得分所指示的)。以這種方式,每個(gè)目錄存儲(chǔ)類似的文件的“類”或“簇”。
下面將描述方法200的元素216-232的一些實(shí)施例的算法表達(dá)式示出為算法1。
在算法1中,“c”(“簇”或“類”)是指存儲(chǔ)在目錄內(nèi)的多個(gè)語義上相似的文件,其中下標(biāo)表示在“父”目錄(表示為沒有下標(biāo))內(nèi)的“子”目錄。大寫字母“v”表示作為整體的目錄的內(nèi)容的矢量表示,其中小寫字母“v”表示單個(gè)文件的矢量表示?!吧瘸鰇”是指目錄內(nèi)的最大文件數(shù)目,否則在本文中被標(biāo)識(shí)為閾值。
在接收到引起多個(gè)文件c超過216閾值k的附加文件時(shí),滿足算法1的步驟1的條件。然后,如上所述,算法1的步驟2針對(duì)包括附加文件和多個(gè)文件的文件組中的文件對(duì)生成220相似性得分,如上所述。算法1的步驟3描述了基于所生成的相似性得分來標(biāo)識(shí)224至少兩個(gè)相似的文件,創(chuàng)建228第二目錄(或當(dāng)其他目錄已經(jīng)存在時(shí)創(chuàng)建附加目錄)(cn),并且將至少兩個(gè)相似的文件存儲(chǔ)232在第二目錄中,使得第一目錄中的文件的數(shù)目和第二目錄中的文件的數(shù)目均低于閾值。步驟4生成第二目錄(cn)的矢量表示vn,其在一個(gè)實(shí)施例中是兩個(gè)文件矢量的和vi+vj。步驟5指示方法200(和算法1)在超過閾值時(shí)遞歸地應(yīng)用于每個(gè)目錄,在一些示例中最終導(dǎo)致目錄的復(fù)雜的嵌套層級(jí)。
在目錄層級(jí)中標(biāo)記目錄
由于方法200用于在目錄層級(jí)內(nèi)存儲(chǔ)新的文件或者編輯層級(jí)中的現(xiàn)有文件的內(nèi)容時(shí)存儲(chǔ)語義上相似的文件的目錄并且保持目錄內(nèi)的語義相似性,可以以整體上準(zhǔn)確地表示目錄的內(nèi)容的方式來選擇每個(gè)目錄的標(biāo)簽。如圖3中描繪的示例方法300示出了用于選擇目錄層級(jí)的目錄的標(biāo)簽的方法。
方法300通過生成304目錄中的所有文件的內(nèi)容的矢量表示來開始。也就是說,不是生成目錄中的各個(gè)文件的矢量表示,而是生成所有文件的單個(gè)矢量表示。繼續(xù)上面在圖2的上下文中呈現(xiàn)的示例,可以組合所有文件的內(nèi)容,并且基于“詞袋”詞頻生成n維特征矢量。
生成306數(shù)據(jù)庫中的內(nèi)容項(xiàng)的標(biāo)題的矢量表示??梢栽诟鞣N實(shí)施例中使用的標(biāo)題和數(shù)據(jù)庫的示例包括國(guó)會(huì)圖書館中的項(xiàng)目的標(biāo)題(并且在數(shù)字可訪問的目錄中列出)、維基百科中的文章標(biāo)題、數(shù)字可訪問的百科全書中的文章標(biāo)題、專有數(shù)據(jù)庫中的標(biāo)題內(nèi)容項(xiàng)庫(例如在研究機(jī)構(gòu)中使用的機(jī)密和專有知識(shí)庫)等。不管實(shí)際使用的數(shù)據(jù)庫如何,優(yōu)選地,數(shù)據(jù)庫將具有與存儲(chǔ)在數(shù)據(jù)存儲(chǔ)系統(tǒng)中的文件在語義上相似或在語義上相關(guān)的內(nèi)容項(xiàng)的大量標(biāo)題。在一些示例中,對(duì)于其中所存儲(chǔ)的文件可以覆蓋廣泛范圍的主題中的任何一個(gè)的存儲(chǔ)系統(tǒng),諸如
不管被選擇用于在存儲(chǔ)系統(tǒng)中提供目錄標(biāo)簽的數(shù)據(jù)庫,生成相似性得分308以量化目錄的集體內(nèi)容的矢量表示域數(shù)據(jù)庫中的內(nèi)容標(biāo)題的矢量表示之間的相似性。如上所述,余弦相似性是一種方便的用于確定相似性得分的方法,但是其他相似性函數(shù)可以用于諸如通過使用余弦相似性來確定目錄的集體內(nèi)容和各種標(biāo)題之間的相似性。
基于所生成308的相似性得分來標(biāo)識(shí)312類似于目錄的集體內(nèi)容的數(shù)據(jù)庫中的內(nèi)容標(biāo)題??梢钥蛇x地基于與和標(biāo)題對(duì)應(yīng)的內(nèi)容相關(guān)聯(lián)的“點(diǎn)擊”速率來進(jìn)一步標(biāo)識(shí)316標(biāo)題。也就是說,由用戶頻繁地訪問的那些內(nèi)容項(xiàng)(作為時(shí)間的函數(shù)或絕對(duì)數(shù))被假定為最相關(guān)。因此,從具有與目錄的集體內(nèi)容相比接近相同的相似性得分的多個(gè)標(biāo)題的子集,可以通過標(biāo)識(shí)該子集的哪個(gè)標(biāo)題與最頻繁地訪問的內(nèi)容項(xiàng)相關(guān)聯(lián)來選擇單個(gè)標(biāo)題。
一旦已經(jīng)標(biāo)識(shí)312標(biāo)題(以及可選地316),則用所標(biāo)識(shí)的內(nèi)容標(biāo)題320來標(biāo)記該目錄。在一些示例中,該過程是遞歸的,使得當(dāng)目錄的內(nèi)容改變時(shí)(通過存儲(chǔ)在其中的文件的改變或文件內(nèi)容的改變),可以通過執(zhí)行方法300任意次數(shù)來更新目錄的標(biāo)簽。
在方法300的一個(gè)實(shí)施例中,算法2示出了基于可以用作目錄標(biāo)簽的點(diǎn)擊率進(jìn)一步標(biāo)識(shí)316個(gè)內(nèi)容標(biāo)題的計(jì)算上有效的方法。在本實(shí)施例中,算法2分析與通過方法300標(biāo)識(shí)的標(biāo)題312相關(guān)聯(lián)的那些內(nèi)容項(xiàng)鏈接(例如,經(jīng)由用戶資源鏈接)的內(nèi)容項(xiàng)。
在算法2中,l0是可以被有意地選擇的一組內(nèi)容標(biāo)題(諸如通過執(zhí)行方法300標(biāo)識(shí)312的那些標(biāo)題),或者在一些實(shí)施例中可以是從數(shù)據(jù)庫中隨機(jī)地選擇的一組內(nèi)容標(biāo)題。最終,集合l包含除已經(jīng)標(biāo)識(shí)312的之外的并且可以可選地用于標(biāo)記320目錄的內(nèi)容標(biāo)題的擴(kuò)展選擇。然而,在算法2所示的示例中,集合l作為沒有內(nèi)容標(biāo)題的空集開始。在算法2的d次迭代中的每一次迭代中,如算法2的步驟3和步驟4所示,基于被最頻繁地訪問的并且也在最后一次迭代中添加的內(nèi)容項(xiàng)(即,已經(jīng)被選擇為l的一部分)內(nèi)被鏈接的內(nèi)容項(xiàng)b(即,具有最高點(diǎn)擊率),標(biāo)識(shí)內(nèi)容標(biāo)題并且將其添加到集合l。如算法2的步驟5、6和7中所示,如果標(biāo)識(shí)出新的內(nèi)容項(xiàng),則將其添加到集合l。如果所標(biāo)識(shí)的內(nèi)容項(xiàng)已經(jīng)在集合l中,則將與內(nèi)容項(xiàng)相關(guān)聯(lián)的計(jì)數(shù)增加一。計(jì)數(shù)可以用于對(duì)最常訪問的內(nèi)容項(xiàng)排名,其中最高排名的內(nèi)容項(xiàng)優(yōu)選地用于標(biāo)記320目錄。
通過所選擇的文件和/或目錄來搜索
如上所述,基于關(guān)鍵字選擇來搜索文件可以產(chǎn)生返回太多搜索結(jié)果、太少搜索結(jié)果、或者標(biāo)識(shí)使用不相關(guān)的搜索項(xiàng)的文件的結(jié)果。為了解決這個(gè)問題,本公開的一些實(shí)施例包括基于對(duì)一個(gè)或多個(gè)文件和/或目錄的選擇的搜索功能。所選擇的文件和/或目錄用于生成選擇的矢量表示。然后將選擇的矢量表示用作搜索項(xiàng)以標(biāo)識(shí)具有相似的(由相似性得分表示)矢量表示的語義上相似的目錄和/或文件。
圖4中示出了該搜索功能的示意性圖示。如突出顯示,已經(jīng)選擇了“目錄1”中的“文件1”和“文件2”以及“目錄2”中的“文件k”。在其他實(shí)施例中,將理解,在不脫離本公開的范圍的情況下,可以選擇附加的、更少的或不同的文件以及整個(gè)目錄。在所示的實(shí)施例中,然后使用這三個(gè)所選擇的文件來生成三個(gè)文件的集體內(nèi)容的矢量表示“v”。如上所述,生成矢量表示的一種方法包括使用詞袋模型來共同生成描述遍及所選擇的文件的詞頻的n維矢量。一旦生成,則系統(tǒng)在數(shù)據(jù)庫的內(nèi)容中搜索具有相似的矢量表示的文件和/或目錄。還如上所述,通過在一個(gè)示例中使用余弦相似性函數(shù)來生成相似性得分,可以實(shí)現(xiàn)標(biāo)識(shí)文件和/或目錄。因?yàn)樵谝恍?shí)施例中,系統(tǒng)維護(hù)用于所存儲(chǔ)的目錄和文件的矢量表示,所以該搜索方法在計(jì)算上是高效的。
圖5是示出了根據(jù)本公開的實(shí)施例的并且如圖4中示意性地描繪的用于通過選擇一個(gè)或多個(gè)文件和/或目錄并且生成所選擇的文件和/或目錄的矢量表示以用作搜索項(xiàng)來搜索存儲(chǔ)系統(tǒng)的語義內(nèi)容的方法的流程圖。如圖4所示并如上所述,接收504一個(gè)或多個(gè)文件和/或一個(gè)或多個(gè)目錄的選擇。生成508選擇的矢量表示,然后將其用作語義上相似的文件的“搜索項(xiàng)”。在諸如其中選擇單個(gè)文件或單個(gè)目錄的一些示例中,可以使用由系統(tǒng)維護(hù)的先前存在的矢量表示。在諸如選擇多個(gè)文件、多個(gè)目錄以及文件和目錄的混合的其他示例中,將生成矢量表示。一旦生成508了選擇的矢量表示,則將矢量表示用作“搜索項(xiàng)”。通過將選擇的矢量表示與系統(tǒng)中的文件和/或目錄的矢量表示進(jìn)行比較來搜索類似的矢量表示。通過生成相似性得分(諸如余弦相似性)來指示相似性。
在一些實(shí)施例中,系統(tǒng)維護(hù)每個(gè)目錄的矢量表示。在這些實(shí)施例中,因?yàn)橐阉鞯哪夸浘哂芯S持的、預(yù)先存在的矢量表示,所以搜索在計(jì)算上是高效的,因?yàn)閮H需要通過余弦相似性將所選擇的文件和/或目錄的所生成508的矢量表示與預(yù)先存在的目錄矢量表示相比較。
示例環(huán)境和系統(tǒng)
圖6a是在本公開的實(shí)施例中的分布式處理環(huán)境600的框圖,其包括用于針對(duì)數(shù)字文件維護(hù)存儲(chǔ)系統(tǒng)的組織、生成存儲(chǔ)系統(tǒng)內(nèi)的目錄的標(biāo)簽、以及搜索在語義上類似于一個(gè)或多個(gè)所選擇的目錄和/或文件的所生成的矢量表示的內(nèi)容的系統(tǒng)。圖6a所示的系統(tǒng)環(huán)境600包括用戶設(shè)備604、網(wǎng)絡(luò)608和存儲(chǔ)組織系統(tǒng)612。在其他實(shí)施例中,系統(tǒng)環(huán)境600包括與圖6a所示的不同和/或額外的組件。
用戶設(shè)備604是能夠接收用戶輸入以及經(jīng)由網(wǎng)絡(luò)608發(fā)送和/或接收數(shù)據(jù)的計(jì)算設(shè)備。在一個(gè)實(shí)施例中,用戶設(shè)備604是計(jì)算機(jī)系統(tǒng),諸如臺(tái)式或膝上型計(jì)算機(jī)。在另一實(shí)施例中,用戶設(shè)備604可以是具有計(jì)算機(jī)功能的設(shè)備,諸如個(gè)人數(shù)字助理(pda)、移動(dòng)電話、平板計(jì)算機(jī)、智能電話或類似設(shè)備。在一些實(shí)施例中,用戶設(shè)備604是用于在存儲(chǔ)系統(tǒng)中存儲(chǔ)數(shù)字文件、使用存儲(chǔ)組織系統(tǒng)進(jìn)行搜索和/或通過存儲(chǔ)組織系統(tǒng)查看或訪問文件的移動(dòng)計(jì)算設(shè)備。在一個(gè)實(shí)施例中,用戶設(shè)備604執(zhí)行使得用戶設(shè)備604的用戶能夠與存儲(chǔ)組織系統(tǒng)612交互的應(yīng)用,從而變成專用計(jì)算機(jī)器。例如,用戶設(shè)備604執(zhí)行瀏覽器應(yīng)用以使得能夠經(jīng)由網(wǎng)絡(luò)608在用戶設(shè)備604與存儲(chǔ)組織系統(tǒng)612之間實(shí)現(xiàn)交互。在另一實(shí)施例中,用戶設(shè)備604通過在用戶設(shè)備604的本地操作系統(tǒng)、諸如ios或androidtm上運(yùn)行的應(yīng)用編程接口(api)與存儲(chǔ)組織系統(tǒng)612交互。
用戶設(shè)備604被配置成使用有線和無線通信系統(tǒng)經(jīng)由網(wǎng)絡(luò)608進(jìn)行通信,網(wǎng)絡(luò)608可以包括局域網(wǎng)和/或廣域網(wǎng)的任意組合。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)608使用標(biāo)準(zhǔn)的通信技術(shù)和/或協(xié)議。因此,網(wǎng)絡(luò)608可以包括使用諸如以太網(wǎng)、802.11、全球微波接入互操作性(wimax)、3g、4g、cdma、數(shù)字用戶線路(dsl)等技術(shù)的鏈路。類似地,網(wǎng)絡(luò)608上使用的網(wǎng)絡(luò)協(xié)議可以包括多協(xié)議標(biāo)簽交換(mpls)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(tcp/ip)、用戶數(shù)據(jù)報(bào)協(xié)議(udp)、超文本傳輸協(xié)議(http)、簡(jiǎn)單郵件傳輸協(xié)議(smtp)和文件傳輸協(xié)議(ftp)。通過網(wǎng)絡(luò)608交換的數(shù)據(jù)可以使用各種技術(shù)和/或格式來表示,包括超文本標(biāo)記語言(html)或可擴(kuò)展標(biāo)記語言(xml)。此外,可以使用各種加密技術(shù)來加密所有或一些鏈路,諸如安全套接字層(ssl)、傳輸層安全(tls)和互聯(lián)網(wǎng)協(xié)議安全(ipsec)。
在一些實(shí)施例中,網(wǎng)絡(luò)608包括一個(gè)或多個(gè)存儲(chǔ)區(qū)域網(wǎng)絡(luò),諸如用于“云”計(jì)算系統(tǒng)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)。在這些實(shí)施例中,存儲(chǔ)組織系統(tǒng)612可以在多個(gè)云計(jì)算系統(tǒng)上操作,使得一致的層級(jí)、標(biāo)記和搜索系統(tǒng)在不同的云計(jì)算系統(tǒng)上一致地操作。
下面在圖6b的上下文中更詳細(xì)地描述的存儲(chǔ)組織系統(tǒng)612可以包括一個(gè)或多個(gè)計(jì)算設(shè)備,其用于當(dāng)新的文件被存儲(chǔ)在系統(tǒng)中并且現(xiàn)有的文件被編輯時(shí)存儲(chǔ)文件、組織文件和目錄、維護(hù)組織文件和目錄、并且基于所選擇的文件和/或目錄的內(nèi)容來提供搜索功能。存儲(chǔ)組織系統(tǒng)612被配置成在接收到文件或?qū)ξ募木庉嫊r(shí),執(zhí)行上述實(shí)施例中的一些或全部以維持目錄層級(jí)的組織、標(biāo)記層級(jí)中的目錄、并且提供搜索功能。
圖6b是如圖6a所示的存儲(chǔ)組織系統(tǒng)612的系統(tǒng)架構(gòu)的框圖。存儲(chǔ)組織系統(tǒng)612包括存儲(chǔ)器616、組織模塊632、矢量生成器636、相似性得分模塊640、搜索引擎644、目錄標(biāo)記模塊648、處理器652和web服務(wù)器656。將理解,所示出的元件中的一些或所有元件可備選地設(shè)置在存儲(chǔ)系統(tǒng)本身內(nèi),并且存儲(chǔ)組織系統(tǒng)612的所描繪的實(shí)施例僅僅是為了方便解釋。
存儲(chǔ)器616被描繪為包括三個(gè)不同的元件:文件儲(chǔ)存庫620、矢量?jī)?chǔ)存庫624和層級(jí)儲(chǔ)存庫628。存儲(chǔ)器616的這些元件中的每個(gè)元件將指令和數(shù)據(jù)存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀介質(zhì)(其可以包括任何合適的光學(xué)或磁性耐久存儲(chǔ)設(shè)備,例如ram、rom、閃存、usb驅(qū)動(dòng)器或其他基于半導(dǎo)體的存儲(chǔ)介質(zhì)、硬盤驅(qū)動(dòng)器、cd-rom)中,這些指令和數(shù)據(jù)在由一個(gè)或多個(gè)處理器(例如,處理器652)執(zhí)行時(shí)執(zhí)行上述方法。
文件儲(chǔ)存庫620存儲(chǔ)數(shù)字編碼文件用于稍后由用戶訪問。文件儲(chǔ)存庫620的示例包括被配置用于存儲(chǔ)任何類型(例如,文本、圖像)的文件的上述非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的任意組合。類似地,矢量?jī)?chǔ)存庫624包括非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)而不是存儲(chǔ)文件的任意組合,矢量?jī)?chǔ)存庫624被配置用于存儲(chǔ)用于上述方法中的一些或所有方法的矢量表示中的一些或所有矢量表示。例如,在一些實(shí)施例中,矢量?jī)?chǔ)存庫624存儲(chǔ)目錄的矢量表示(或者更確切地說,目錄的集體內(nèi)容的矢量表示)。然后,這些可以用于如上所述的方法500的執(zhí)行中,以提高上述搜索功能的實(shí)施例的效率。類似地,層級(jí)儲(chǔ)存庫628將指令存儲(chǔ)在非暫態(tài)計(jì)算機(jī)可讀介質(zhì)中,這些指令用于維護(hù)目錄、子目錄和文件之間的組織關(guān)系并且當(dāng)在圖形用戶界面中被呈現(xiàn)時(shí)可以被描繪為文件夾、子文件夾、文件和相應(yīng)文件路徑的圖標(biāo)。
組織模塊632監(jiān)視存儲(chǔ)在每個(gè)目錄內(nèi)的多個(gè)文件。組織模塊632還確定要存儲(chǔ)在目錄(例如上文在圖2的上下文中提及的多個(gè)文件和附加文件)中的文件的數(shù)目是否超過閾值,或者是否超過目錄中允許存儲(chǔ)的最大文件數(shù)目。在確定已經(jīng)超過閾值時(shí),組織模塊632啟動(dòng)文件的動(dòng)態(tài)重組,如上所述。最終,組織模塊632基于相似性得分來組織目錄中的各種文件,如本文中所描述的。
在組織模塊632標(biāo)識(shí)出已經(jīng)超過目錄的文件的閾值數(shù)目時(shí),組織模塊創(chuàng)建第二目錄并切指令矢量生成器636生成超過閾值的與目錄相關(guān)聯(lián)的各種文件的矢量表示。如上所述,可以使用任何數(shù)目的矢量生成和特征矢量提取方法。上述示例包括將詞袋模型應(yīng)用于文本文件并且生成用于一些或所有文件的n維矢量量化字計(jì)數(shù)頻率。也可以使用其他類型的矢量生成方法。矢量生成器636還可以針對(duì)各種特征共同地生成目錄的內(nèi)容的矢量表示,諸如根據(jù)上述實(shí)施例來搜索。
使用由矢量生成器636生成的矢量表示,相似性得分模塊640確定目錄的文件對(duì)之間的相似性得分超過文件的閾值數(shù)目。如上所述,在一些實(shí)施例中使用的相似性得分是余弦相似性,但是可以等效地使用其他計(jì)算相似性的方法。
相似性得分模塊640還確定用于上述其他應(yīng)用的相似性得分。例如,相似性得分模塊可以確定目錄的集體內(nèi)容和數(shù)據(jù)庫中的標(biāo)題之間的相似性得分,以便選擇目錄的標(biāo)簽,如圖3的上下文中所描述的。在另一示例中,相似性得分模塊640可以確定被選擇為搜索項(xiàng)的文件和/或目錄的選擇的矢量表示與被搜索的文件和/或目錄的矢量表示之間的相似性得分,如上文在圖4和5的上下文中所描述的。
搜索引擎644通常應(yīng)用于上文在圖4和圖5的上下文中所描述的搜索功能。搜索引擎644從矢量生成器636接收作為對(duì)一個(gè)或多個(gè)文件和/或目錄的選擇的搜索矢量。然后,搜索引擎從矢量?jī)?chǔ)存庫624檢索所存儲(chǔ)的文件和/或目錄的矢量。然后將所存儲(chǔ)的文件和/或目錄的搜索矢量和要搜索的矢量傳遞給相似性得分模塊640,用于生成相似性得分。重復(fù)該過程,直到向用戶呈現(xiàn)搜索結(jié)果(例如,通過給web服務(wù)器656的在用戶設(shè)備604上呈現(xiàn)搜索結(jié)果的指令)。
與矢量生成器636和相似性得分模塊640合作,目錄標(biāo)記模塊648用于基于與數(shù)據(jù)庫內(nèi)的內(nèi)容的標(biāo)題的相似性得分來標(biāo)識(shí)和標(biāo)記目錄,如上文在圖3的上下文中所描述的。例如,在生成新的目錄或改變現(xiàn)有的目錄的內(nèi)容時(shí),目錄標(biāo)記模塊648訪問數(shù)據(jù)庫,并且將數(shù)據(jù)庫中的內(nèi)容項(xiàng)的標(biāo)題傳遞給矢量生成器636,以生成標(biāo)題的矢量表示。然后將這些矢量表示連同要標(biāo)記的目錄的矢量表示一起傳遞給相似性得分模塊640。對(duì)于來自數(shù)據(jù)庫的多個(gè)標(biāo)題重復(fù)該過程,直到標(biāo)識(shí)出相似的標(biāo)題(例如,通過關(guān)于最接近零的目錄具有余弦相似性“角度”的標(biāo)題來量化的)?;谙嗨菩缘梅纸Y(jié)果,目錄標(biāo)記模塊648與層級(jí)儲(chǔ)存庫628通信以改變目錄的標(biāo)簽。
存儲(chǔ)組織系統(tǒng)612還包括用于執(zhí)行存儲(chǔ)在存儲(chǔ)器616或存儲(chǔ)組織系統(tǒng)612的任何模塊中的計(jì)算機(jī)可讀和計(jì)算機(jī)可執(zhí)行指令或軟件的至少一個(gè)處理器652??梢圆捎锰摂M化,使得存儲(chǔ)組織系統(tǒng)612中的基礎(chǔ)設(shè)施和資源可以被動(dòng)態(tài)地共享。例如,可以提供虛擬機(jī)來處理在多個(gè)處理器上運(yùn)行的進(jìn)程,使得進(jìn)程看起來僅使用一個(gè)計(jì)算資源而不是多個(gè)計(jì)算資源。多個(gè)虛擬機(jī)也可以與處理器652一起使用。
web服務(wù)器656經(jīng)由網(wǎng)絡(luò)608將存儲(chǔ)組織系統(tǒng)612鏈接到用戶設(shè)備604。web服務(wù)器656服務(wù)web頁面以及其他web相關(guān)內(nèi)容,諸如
示例實(shí)施例
本公開的一個(gè)示例實(shí)施例包括一種用于組織存儲(chǔ)在電子文件系統(tǒng)中的多個(gè)文件的計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法包括:生成存儲(chǔ)在電子文件系統(tǒng)的第一目錄中的多個(gè)文件中的相應(yīng)文件對(duì)的多個(gè)相似性得分,基于所生成的相似性得分標(biāo)識(shí)至少兩個(gè)相似的文件,創(chuàng)建第二目錄,以及通過將至少兩個(gè)相似的文件存儲(chǔ)在第二目錄中來動(dòng)態(tài)地組織多個(gè)文件,使得第一目錄中存儲(chǔ)的文件的數(shù)目減小并且多個(gè)文件中的文件基于由所生成的相似性得分指示的內(nèi)容的相似性來在第一目錄或第二目錄中的一個(gè)目錄中被分組在一起。在一個(gè)實(shí)施例中,計(jì)算機(jī)實(shí)現(xiàn)的方法還包括響應(yīng)于確定第一目錄中存儲(chǔ)的多個(gè)文件超過允許存儲(chǔ)在第一目錄中的文件的數(shù)目的閾值來創(chuàng)建第二目錄。在一個(gè)實(shí)施例中,計(jì)算機(jī)實(shí)現(xiàn)的方法還包括生成多個(gè)文件中的文件中的至少一些文件的矢量表示,其中所生成的矢量表示用于生成多個(gè)相似性得分。在一個(gè)實(shí)施例中,該方法還包括共同地基于第一目錄中的所有文件生成第一目錄的第一矢量表示。在一個(gè)實(shí)施例中,該方法還包括通過以下方式來標(biāo)記所述第一目錄:生成數(shù)據(jù)庫中的內(nèi)容項(xiàng)的標(biāo)題的標(biāo)題矢量表示,生成第一目錄的第一矢量表示相對(duì)于標(biāo)題矢量表示的相似性得分,基于相似性得分來標(biāo)識(shí)類似于第一目錄的第一矢量表示的第一標(biāo)題,以及用第一標(biāo)題標(biāo)記第一目錄。在一個(gè)實(shí)施例中,標(biāo)識(shí)還基于第一標(biāo)題的點(diǎn)擊率。在一個(gè)實(shí)施例中,使用余弦相似性函數(shù)來確定相似性得分。在一個(gè)實(shí)施例中,該方法還包括接收對(duì)多個(gè)文件中的至少一個(gè)目錄或至少一個(gè)文件的選擇,針對(duì)所選擇的至少一個(gè)目錄或至少一個(gè)文件生成選擇矢量表示,在電子存儲(chǔ)系統(tǒng)中搜索具有與選擇矢量表示類似的矢量表示的文件。
另一示例實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其中該計(jì)算機(jī)程序產(chǎn)品存儲(chǔ)在包括指令的至少一個(gè)非暫態(tài)計(jì)算機(jī)可讀介質(zhì)上,這些指令在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)引起過程被執(zhí)行,該過程包括:在電子存儲(chǔ)系統(tǒng)處在第一目錄處存儲(chǔ)多個(gè)文件,以及生成多個(gè)文件中的文件中的至少一些文件的矢量表示。響應(yīng)于確定第一目錄中存儲(chǔ)的多個(gè)文件超過允許存儲(chǔ)在第一目錄中的文件的閾值數(shù)目,該方法然后包括使用所生成的矢量表示來生成多個(gè)相似性得分,其中每個(gè)生成的相似性得分表示多個(gè)文件中的每個(gè)文件對(duì)之間的相似性,基于所生成的相似性得分來標(biāo)識(shí)至少兩個(gè)相似的文件,創(chuàng)建第二目錄,以及通過將所述至少兩個(gè)相似的文件存儲(chǔ)在第二目錄中來動(dòng)態(tài)地組織所述多個(gè)文件,使得第一目錄中的文件數(shù)目減少到低于閾值,并且多個(gè)文件中的文件基于由所生成的相似性得分指示的內(nèi)容的相似性來在第一目錄或第二目錄中的一個(gè)中被分組在一起。在一個(gè)實(shí)施例中,在執(zhí)行計(jì)算機(jī)程序產(chǎn)品時(shí)執(zhí)行的方法包括:共同地基于第一目錄中的所有文件生成第一目錄的第一矢量表示。在一個(gè)實(shí)施例中,在執(zhí)行計(jì)算機(jī)程序產(chǎn)品時(shí)執(zhí)行的方法包括通過以下方式來標(biāo)記所述第一目錄:生成與數(shù)據(jù)庫中的內(nèi)容項(xiàng)的標(biāo)題相對(duì)應(yīng)的標(biāo)題矢量表示,生成第一目錄的第一矢量表示相對(duì)于數(shù)據(jù)庫中內(nèi)容項(xiàng)的標(biāo)題的標(biāo)題矢量表示的相似性得分,基于相似性得分來標(biāo)識(shí)類似于第一矢量表示的第一標(biāo)題,以及使用第一標(biāo)題標(biāo)記第一目錄。在一個(gè)實(shí)施例中,標(biāo)識(shí)還基于第一標(biāo)題的點(diǎn)擊率。在一個(gè)實(shí)施例中,使用余弦相似性函數(shù)來確定相似性得分。在一個(gè)實(shí)施例中,在執(zhí)行計(jì)算機(jī)程序產(chǎn)品時(shí)執(zhí)行的方法包括:接收對(duì)至少一個(gè)目錄或多個(gè)文件中的至少一個(gè)文件的選擇,針對(duì)所選擇的至少一個(gè)目錄或至少一個(gè)文件生成選擇矢量表示,以及在電子存儲(chǔ)系統(tǒng)中搜索具有與選擇矢量表示類似的矢量表示的文件。
另一示例實(shí)施例是一種用于組織電子存儲(chǔ)文件的系統(tǒng),其包括被配置用于在電子存儲(chǔ)系統(tǒng)處在第一目錄處存儲(chǔ)多個(gè)文件的文件存儲(chǔ)器、以及被配置用于生成多個(gè)文件中的文件的中至少一些文件的矢量表示的矢量生成器。該系統(tǒng)包括相似性得分模塊,其響應(yīng)于確定存儲(chǔ)在第一目錄中的所個(gè)文件超過允許存儲(chǔ)在第一目錄中的文件的閾值數(shù)目,被配置用于:使用所生成的矢量表示來生成多個(gè)相似性得分,其中每個(gè)生成的相似性得分表示多個(gè)文件中的文件的文件對(duì)之間的相似性,以及基于所生成的相似性得分來標(biāo)識(shí)至少兩個(gè)相似的文件。該系統(tǒng)還包括組織模塊,其被配置用于創(chuàng)建第二目錄并且通過將至少兩個(gè)相似的文件存儲(chǔ)在第二目錄中來動(dòng)態(tài)地組織多個(gè)文件,使得第一目錄中的文件數(shù)目減少至地域閾值,以及基于由所生成的相似性得分指示的內(nèi)容的相似性,多個(gè)文件中的文件在第一目錄或第二目錄中的一個(gè)中被分組在一起。在一個(gè)實(shí)施例中,矢量生成器還被配置用于共同地基于第一目錄中的所有文件來生成第一目錄的第一矢量表示。在一個(gè)實(shí)施例中,系統(tǒng)還包括目錄標(biāo)記模塊,其被配置用于通過以下方式來標(biāo)記所述第一目錄:生成數(shù)據(jù)庫中的內(nèi)容項(xiàng)的標(biāo)題的標(biāo)題矢量表示,生成第一目錄的第一矢量表示相對(duì)于標(biāo)題矢量表示的相似性得分,基于相似性得分來標(biāo)識(shí)類似于第一目錄的第一矢量表示的第一標(biāo)題,并且使用第一標(biāo)題標(biāo)記第一目錄。在一個(gè)實(shí)施例中,目錄標(biāo)記模塊還被配置成基于第一標(biāo)題的點(diǎn)擊率標(biāo)識(shí)第一目錄的標(biāo)簽。在一個(gè)實(shí)施例中,使用余弦相似性函數(shù)來確定相似性得分。在一個(gè)實(shí)施例中,該系統(tǒng)包括搜索引擎,其響應(yīng)于接收到對(duì)至少一個(gè)目錄或多個(gè)文件中的至少一個(gè)文件的選擇,以及從矢量生成器接收到至少一個(gè)目錄或至少一個(gè)文件的選擇的矢量表示,被配置用于使用至少一個(gè)目錄或至少一個(gè)文件的選擇的所生成的矢量表示來搜索存儲(chǔ)在電子存儲(chǔ)系統(tǒng)中的具有相似的矢量表示的文件。
進(jìn)一步的考慮
為了說明的目的已經(jīng)呈現(xiàn)了本公開的實(shí)施例的前述描述;但是其并不旨在窮舉或?qū)?quán)利要求限制為所公開的精確形式。相關(guān)領(lǐng)域的技術(shù)人員可以理解,鑒于上述公開,很多修改和變化是可能的。
本說明書的一些部分在關(guān)于信息的操作的算法和符號(hào)表示方面描述實(shí)施例。這些算法描述和表示通常由數(shù)據(jù)處理領(lǐng)域的技術(shù)人員使用,以將他們的工作的實(shí)質(zhì)有效地傳達(dá)給本領(lǐng)域的其他技術(shù)人員。盡管在功能上、計(jì)算上或邏輯上描述,這些操作被理解為由計(jì)算機(jī)程序或等效電路、微代碼等來實(shí)現(xiàn)。所描述的操作可以體現(xiàn)在軟件、固件、硬件或其任意組合中。
本文所描述的任何步驟、操作或過程可以單獨(dú)地或與其他設(shè)備組合地利用一個(gè)或多個(gè)硬件或軟件模塊來執(zhí)行或?qū)崿F(xiàn)。在一個(gè)實(shí)施例中,使用計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)軟件模塊,該計(jì)算機(jī)程序產(chǎn)品包括包含計(jì)算機(jī)程序代碼的非暫態(tài)計(jì)算機(jī)可讀介質(zhì),計(jì)算機(jī)程序代碼可以由計(jì)算機(jī)處理器執(zhí)行,用于執(zhí)行所描述的任何或所有步驟、操作或過程。