背景技術(shù):
設(shè)備或系統(tǒng)可以提供被稱為自動(dòng)補(bǔ)全或者字補(bǔ)全的特征。自動(dòng)補(bǔ)全可以涉及設(shè)備或系統(tǒng)預(yù)測(cè)用戶想要鍵入而用戶并未實(shí)際將其完整鍵入的字或短語。制造商、供應(yīng)商、和/或服務(wù)提供商受到挑戰(zhàn)以提供改進(jìn)的自動(dòng)補(bǔ)全技術(shù)來更好地輔助用戶。
附圖說明
以下具體實(shí)施方式參考附圖,其中:
圖1是用于阻擋向用戶呈現(xiàn)詞語的設(shè)備的示例性框圖;
圖2是用于阻擋向用戶呈現(xiàn)詞語的設(shè)備的另一示例性框圖;
圖3是包括用于基于詞語的類別來阻擋詞語的指令的計(jì)算設(shè)備的示例性框圖;并且
圖4是用于基于詞語的類別來阻擋詞語的方法的示例性流程圖。
具體實(shí)施方式
以下說明書中給出了特定細(xì)節(jié)以提供對(duì)實(shí)施例的透徹理解。然而,應(yīng)該理解的是可以不利用這些特定細(xì)節(jié)而實(shí)踐實(shí)施例。例如,可以以框圖的方式示出系統(tǒng)以便于不以不必要的細(xì)節(jié)來使實(shí)施例難以理解。在其他實(shí)例中,可以示出熟知的過程、結(jié)構(gòu)、和技術(shù)而不利用不必要的細(xì)節(jié),以便于避免使實(shí)施例難以理解。
自動(dòng)補(bǔ)全對(duì)話可以根據(jù)輸入文本的片段向用戶提供推薦。例如,“capit”可以自動(dòng)補(bǔ)全為“capital”或“capitulate”。自動(dòng)補(bǔ)全可以通過例如網(wǎng)絡(luò)瀏覽器、電子郵箱程序、搜索引擎界面、源代碼編輯器、數(shù)據(jù)庫查詢工具、字處理器、以及命令行注釋器來實(shí)施。
一些實(shí)施方式可以使用詞典或者搜索引擎。搜索引擎可以僅提供返回被索引至搜索引擎中的相關(guān)條目的推薦,相反,在詞典中,可以不呈現(xiàn)一些條目。然而,在一些情形中,所索引的數(shù)據(jù)可能包括敏感信息。例如,醫(yī)療記錄的搜索索引可能包含患者姓名或他們的社保號(hào)。自動(dòng)補(bǔ)全敏感信息可能是不希望的而補(bǔ)全非敏感信息對(duì)于搜索操作者是有益的。
僅使用加權(quán)或一些流行/閾值參數(shù)(包含詞語的文件數(shù)目)來過濾數(shù)據(jù)可能無法提供足夠精細(xì)的控制以防止敏感信息的泄漏。另外,提供明確的推薦黑名單可能濾除需要的詞語匹配。然而,手動(dòng)提供和/或更新此類等級(jí)的精細(xì)控制可能成本過高,高至不可能有用地應(yīng)用。
示例可以使用分類技術(shù)以過濾自動(dòng)補(bǔ)全推薦,從而僅向用戶呈現(xiàn)允許他們看到的信息。示例性的設(shè)備可以確定來自數(shù)據(jù)庫的詞語的類別。如果所確定的類別不包括關(guān)于用戶查看詞語的許可,則設(shè)備可以阻擋向用戶呈現(xiàn)該詞語。詞語可以推薦由用戶輸入的不完整查詢的剩余部分。
因此,與簡(jiǎn)單加權(quán)/閾值參數(shù)相比,示例可以允許在過濾什么元素的基礎(chǔ)上的更精細(xì)的控制。另外,與精確的詞語/短語/條目的手動(dòng)維護(hù)的黑名單或白名單相比,示例可以允許更快的部署和較少的維護(hù)。
現(xiàn)在參照附圖,圖1是用于阻擋向用戶呈現(xiàn)詞語的設(shè)備100的示例性框圖。設(shè)備100可以是微處理器、控制器、存儲(chǔ)器模塊或設(shè)備、筆記本計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、多合一系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)設(shè)備、無線設(shè)備、或能夠與數(shù)據(jù)庫交互和/或截取網(wǎng)絡(luò)上的消息的任何其他類型的設(shè)備。
設(shè)備100被示出為包括分類單元110和過濾器單元120。分類單元110和過濾器單元120可以包括例如硬件設(shè)備,該硬件設(shè)備包括用于實(shí)施以下所述的功能的電子電路,諸如控制邏輯和/或存儲(chǔ)器。此外或者替換地,分類單元110和過濾器單元120可以被實(shí)施為編碼在機(jī)器可讀存儲(chǔ)介質(zhì)上并且由處理器可執(zhí)行的一系列指令。
分類單元110可以確定來自數(shù)據(jù)庫的詞語的類別112。詞語可以是用于描述事物或表達(dá)概念的字或短語,諸如姓名、地址、和社保號(hào)等等。詞語可以推薦由用戶輸入的不完整查詢的剩余部分。類別112可以涉及用于識(shí)別各種類型的詞語(諸如機(jī)密和非機(jī)密詞語)的系統(tǒng)。
如果所確定的類別112不包括關(guān)于用戶查看詞語的許可122,則過濾器單元120可以阻擋向用戶呈現(xiàn)詞語。比如,如果所確定的類別112不包括關(guān)于用戶查看詞語的許可122,則所確定的類別112可以指示敏感信息和個(gè)人可識(shí)別的信息中的至少一種。如果所確定的類別112包括關(guān)于用戶查看詞語的許可122,則過濾器單元120可以允許向用戶呈現(xiàn)該詞語。
用戶可以是諸如通過使用數(shù)據(jù)庫可以自動(dòng)補(bǔ)全詞語的計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)來輸入查詢的任何人。用戶可以具有用戶賬戶,和/或用戶可以通過用戶名和/或密碼來識(shí)別。許可122可以涉及用戶是否有權(quán)查看、訪問、或修改詞語。此處的許可122可以涉及用戶是否可以響應(yīng)于用戶的查詢來查看由數(shù)據(jù)庫觸發(fā)的詞語。
比如,如果基于詞語的類別112,用戶并不具有查看詞語的許可,則過濾器單元120可以通過防止將詞語發(fā)送至用戶和/或拒絕訪問詞語來阻擋詞語。所確定的類別112可以諸如經(jīng)由元數(shù)據(jù)在數(shù)據(jù)庫、分類單元110、和/或過濾器單元120處被存儲(chǔ)和/或與詞語相關(guān)聯(lián)。以下參照?qǐng)D2更詳細(xì)地說明分類單元110和過濾器單元120。
圖2是用于阻擋向用戶呈現(xiàn)詞語的設(shè)備200的另一示例性框圖。設(shè)備200可以是微處理器、控制器、存儲(chǔ)模塊或設(shè)備、筆記本計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、多合一系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)設(shè)備、無線設(shè)備、或者能夠與數(shù)據(jù)庫交互和/或截取網(wǎng)絡(luò)上的消息的任何其他類型設(shè)備。
設(shè)備200被示出為與數(shù)據(jù)庫230交互。數(shù)據(jù)庫230可以是包含或存儲(chǔ)信息的任何電子、磁性、光學(xué)或其他物理存儲(chǔ)設(shè)備,諸如隨機(jī)存取存儲(chǔ)器(ram)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、存儲(chǔ)驅(qū)動(dòng)、只讀光盤存儲(chǔ)器(cd-rom)等等。比如,數(shù)據(jù)庫230可以包括搜索引擎索引的最流行的搜索詞語232-1至232-n,其中n是自然數(shù)。另外,搜索詞語232-1至232-n中的至少一些可以包括個(gè)人可識(shí)別的信息(pii),諸如醫(yī)療記錄、姓名、社保號(hào)等等。
圖2的設(shè)備200可以至少包括圖1的設(shè)備100的功能和/或硬件。例如,圖2的設(shè)備200的分類單元210可以至少包括圖1的設(shè)備100的分類單元110的功能和/或硬件,并且圖2的設(shè)備200的過濾器單元220可以至少包括圖1的設(shè)備100的分類單元120的功能和/或硬件。
如上所述,分類單元210可以確定來自數(shù)據(jù)庫230的詞語232的類別212。詞語232的類別212可以相對(duì)于用戶250而改變。例如,詞語232可以相對(duì)于第一用戶被分類為機(jī)密,但是相對(duì)于第二用戶被分類為非機(jī)密。因此,當(dāng)確定詞語232的類別212時(shí),分類單元210可以考慮用戶250的類型或身份。不同類型的用戶250可以與不同類型的類別212相對(duì)應(yīng)。比如,諸如當(dāng)用戶250登錄至系統(tǒng)中時(shí),可以使用用戶250的賬戶來識(shí)別用戶的類型。
還如上所述,如果所確定的類別212不包括關(guān)于用戶250查看詞語232的許可222,則過濾器單元220可以阻擋向用戶250呈現(xiàn)詞語。如果所確定的類別212包括關(guān)于用戶250查看詞語232的許可222,則過濾器單元220可以允許向用戶250呈現(xiàn)詞語232。
分類單元210可以基于規(guī)則214和機(jī)器學(xué)習(xí)216中的至少一個(gè)來分類詞語232。盡管示出了一個(gè)規(guī)則214,示例可以包括多個(gè)規(guī)則。規(guī)則214可以指示對(duì)詞語232的數(shù)字、字母、文法、標(biāo)點(diǎn)、和/或語法來執(zhí)行的操作。分類單元210可以使用規(guī)則214以將詞語232與模板和模式中的至少一個(gè)匹配。例如,如果詞語232與用于社保號(hào)的特定模式(如由規(guī)則214所指示的)匹配,則分類單元210可以使用規(guī)則來將詞語232分類為社保號(hào)。如果詞語232被分類為社保號(hào),則過濾器單元220可以阻擋向用戶250呈現(xiàn)詞語232。
在另一示例中,分類單元210可以對(duì)詞語232執(zhí)行算法操作。接著,如果算法操作的結(jié)果滿足規(guī)則214,則過濾器單元220可以允許向用戶250呈現(xiàn)詞語。比如,分類單元210可以基于信用卡數(shù)字的校驗(yàn)或乘法的結(jié)果來將詞語232分類為信用卡編號(hào),或者替代地基于詞語232的范圍和/或語法與模板的比較來將詞語232分類為日期。在此,如果詞語232被分類為信用卡編號(hào)或落入禁止日內(nèi)的日期,則過濾器單元220可以阻擋向用戶250呈現(xiàn)詞語232。
機(jī)器學(xué)習(xí)216可以涉及可以根據(jù)數(shù)據(jù)進(jìn)行學(xué)習(xí)的算法的構(gòu)建和研究。此類算法可以通過基于輸入來構(gòu)建模型并且使用該模型來做出預(yù)測(cè)或決定、而不是僅遵循明確的編程指令而操作。機(jī)器學(xué)習(xí)216技術(shù)可以包括例如文法歸納和/或概率分類器。比如,概率分類器可以是貝葉斯分類器。文法歸納可以包括例如通過試誤推斷、遺傳算法、貪吃算法、分布式學(xué)習(xí)算法、和模式學(xué)習(xí)算法。分類單元210可以使用機(jī)器學(xué)習(xí)來對(duì)無法容易地經(jīng)由規(guī)則214可識(shí)別的詞語232的類型進(jìn)行分類,諸如地址或垃圾信息。
如上所述,分類單元210可以基于包括于數(shù)據(jù)庫230中的多個(gè)詞語232-1至232-n來確定多個(gè)不同類型的類別212。類別212的類型可以涉及不同的安全許可。另外,類別212中的至少一個(gè)可以是另一個(gè)類別212的子集。因此,過濾器單元220可以將用戶250的身份與詞語232的類別212進(jìn)行比較,以確定用戶的安全許可是否僅允許他們看到詞語232的子集。如果用戶240不具有安全許可,則過濾器單元220可以不向用戶250提供響應(yīng)于用戶250的查詢而由數(shù)據(jù)庫所推薦的詞語232。
分類單元210可以同時(shí)確定詞語232的多個(gè)類別212。類似地,過濾器單元220可以同時(shí)阻擋和/或允許多個(gè)詞語232。因此,示例可以移除被分類為不向用戶250呈現(xiàn)的詞語232,或者防止向用戶250推薦被分類為不向用戶250呈現(xiàn)的詞語232。另外,pii僅是可以由過濾器單元220過濾的類型分類的一個(gè)示例。示例可以基于被認(rèn)為適用于拒絕詞語232的任何類型的標(biāo)準(zhǔn)來確定詞語232的類別212。
圖3是包括用于基于詞語的類別來阻擋詞語的指令的計(jì)算設(shè)備300的示例性框圖。在圖3的實(shí)施例中,計(jì)算設(shè)備300包括處理器310和機(jī)器可讀存儲(chǔ)介質(zhì)320。機(jī)器可讀存儲(chǔ)介質(zhì)320進(jìn)一步包括用于基于詞語的類別來阻擋詞語的指令322和324。
計(jì)算設(shè)備300可以包括在例如微處理器、控制器、存儲(chǔ)器模塊或設(shè)備、筆記本計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、多合一系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)設(shè)備、無線設(shè)備、或能夠執(zhí)行指令322和324的任何其他類型的設(shè)備中或者是其部分。在特定示例中,計(jì)算設(shè)備300可以包括或者連接至諸如存儲(chǔ)器、控制器等的額外的部件。
處理器310可以是至少一個(gè)中央處理單元(cpu)、至少一個(gè)基于半導(dǎo)體的微處理器、至少一個(gè)圖形處理單元(gpu)、微控制器、由微代碼控制的專用邏輯硬件、或者適用于檢索并執(zhí)行存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)320中的指令的其他硬件設(shè)備、或者其組合。處理器310可以獲取、解碼、并執(zhí)行指令321、323、325、327和329,以實(shí)施基于詞語的類別來阻擋詞語。作為替代例或者除了檢索并執(zhí)行指令之外,處理器310可以包括至少一個(gè)集成電路(ic)、其他控制邏輯、其他電子電路、或者其組合(包括用于執(zhí)行指令322和324的功能的多個(gè)電子部件)。
機(jī)器可讀存儲(chǔ)介質(zhì)320可以是包含或存儲(chǔ)可執(zhí)行指令的任何電子、磁性、光學(xué)、或其他物理存儲(chǔ)設(shè)備。因此,機(jī)器可讀存儲(chǔ)介質(zhì)320可以是例如隨機(jī)存取存儲(chǔ)器(ram)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、存儲(chǔ)驅(qū)動(dòng)、只讀光盤存儲(chǔ)器(cd-rom)等等。照此,機(jī)器可讀存儲(chǔ)介質(zhì)320可以是非暫時(shí)性的。如以下詳細(xì)描述,可以利用一系列可執(zhí)行指令來對(duì)機(jī)器可讀存儲(chǔ)介質(zhì)320編碼以用于基于詞語的類別來阻擋詞語。
此外,當(dāng)由處理器(例如經(jīng)由處理器的一個(gè)處理元件或者多個(gè)處理元件)執(zhí)行時(shí),指令322和324可以使處理器執(zhí)行諸如圖4的過程之類的過程。例如,分析指令322可以由處理器310執(zhí)行來分析來自數(shù)據(jù)庫(未示出)的詞語以確定類別,詞語與查詢的部分相關(guān)并且用于推薦查詢的剩余部分。確定指令324可以由處理器310執(zhí)行,以基于所分析的詞語的類別來確定是否響應(yīng)于查詢而阻擋詞語??梢曰谝?guī)則和機(jī)器學(xué)習(xí)中的至少一個(gè)來確定類別。例如,如果用戶不具有關(guān)于所分析的類別的許可,則可以阻擋詞語被呈現(xiàn)。如果用戶具有關(guān)于所分析的類別的許可,則可以允許詞語被呈現(xiàn)。
圖4是用于基于詞語的類別來阻擋詞語的方法的示例性流程圖400。盡管以下參照設(shè)備200描述了方法400的執(zhí)行,但可以采用用于執(zhí)行方法400的其他合適的部件,諸如設(shè)備100。額外地,用于執(zhí)行方法400的部件可以散布在多個(gè)設(shè)備中(例如與輸入設(shè)備和輸出設(shè)備通信的處理設(shè)備)。在特定情形中,協(xié)同工作的多個(gè)設(shè)備可以視作用于執(zhí)行方法400的單個(gè)設(shè)備。方法400可以以存儲(chǔ)在諸如存儲(chǔ)介質(zhì)320的機(jī)器可讀存儲(chǔ)介質(zhì)上的可執(zhí)行指令的形式來實(shí)施,和/或以電子電路的形式來實(shí)施。
在框410處,設(shè)備200從數(shù)據(jù)庫230接收與用戶250的查詢的部分相關(guān)的詞語232。詞語232可以推薦查詢的剩余部分。在框420處,設(shè)備200可以基于規(guī)則214和機(jī)器學(xué)習(xí)216中的至少一個(gè)來對(duì)詞語進(jìn)行分類。機(jī)器學(xué)習(xí)216可以包括文法歸納和概率分類器中的至少一個(gè)以對(duì)詞語232進(jìn)行分類。規(guī)則214可以將詞語與模板和模式中的至少一個(gè)匹配,以對(duì)詞語232進(jìn)行分類。
在框430處,如果詞語232的類別212不向用戶250提供許可222以查看詞語232,則設(shè)備200阻擋推薦詞語232。在框440處,如果詞語232的類別212向用戶250提供許可222以查看詞語232,則設(shè)備200允許推薦詞語。