優(yōu)先權(quán)申請
本申請要求2015年3月24日提交的美國申請序列號14/667,222的優(yōu)先權(quán)的權(quán)益,所述美國申請通過引用以其全部內(nèi)容結(jié)合在此。
本文所描述的實施例總體上涉及數(shù)據(jù)組織和呈現(xiàn),并且特別涉及一種非結(jié)構(gòu)化用戶界面。
背景技術(shù):
非結(jié)構(gòu)化數(shù)據(jù)指沒有預(yù)定義數(shù)據(jù)模型或以其他方式未被組織的信息。對非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行捕獲和組織是一項困難的任務(wù)。
附圖說明
在不必按比例繪制的附圖中,相同標(biāo)號可以描述不同視圖中的類似部件。具有不同字母后綴的相同標(biāo)號可以表示類似部件的不同實例。一些實施例以舉例的方式被展示并且不限于附圖中的圖,在附圖中:
圖1是根據(jù)實施例的展示了用于捕獲、分析、和呈現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)的系統(tǒng)的示意圖;
圖2是根據(jù)實施例的展示了解析非結(jié)構(gòu)化數(shù)據(jù)的過程的數(shù)據(jù)流程圖;
圖3是根據(jù)實施例的電子輸入調(diào)色板的示例;
圖4a至圖4c根據(jù)實施例展示了隨著時間推移的輸入;
圖5根據(jù)實施例展示了數(shù)據(jù)組的實例;
圖6根據(jù)實施例展示了所生成的數(shù)據(jù)庫結(jié)構(gòu);
圖7根據(jù)實施例展示了示例用戶界面;
圖8是根據(jù)實施例的如何可以通過數(shù)據(jù)類型來對記錄進(jìn)行組織的示例;
圖9根據(jù)實施例展示了具有列標(biāo)題的數(shù)據(jù)結(jié)構(gòu);
圖10是根據(jù)實施例的展示了處理離群值數(shù)據(jù)的方法的流程圖;
圖11根據(jù)實施例展示了示例用戶界面;
圖12根據(jù)實施例展示了修正后的圖11的用戶界面;
圖13根據(jù)實施例展示了根據(jù)圖12進(jìn)行修正后的具有列標(biāo)題的數(shù)據(jù)結(jié)構(gòu);
圖14根據(jù)實施例展示了修正后的圖12的用戶界面;
圖15是根據(jù)實施例的展示了一種用于實現(xiàn)非結(jié)構(gòu)化用戶界面的系統(tǒng)的框圖;
圖16是根據(jù)實施例的展示了一種實現(xiàn)非結(jié)構(gòu)化用戶界面的方法的流程圖;以及
圖17是根據(jù)示例實施例的展示了示例機器的框圖,在所述機器上可以執(zhí)行本文所討論的技術(shù)(例如,方法)中的任何一種或多種技術(shù)。
具體實施方式
本文所描述的系統(tǒng)和方法提供了一種用于非結(jié)構(gòu)化數(shù)據(jù)的用戶界面。根據(jù)定義,非結(jié)構(gòu)化數(shù)據(jù)具有很少的或沒有底層數(shù)據(jù)結(jié)構(gòu)。捕獲非結(jié)構(gòu)化數(shù)據(jù)并創(chuàng)建數(shù)據(jù)模型是初始階段。后一階段是創(chuàng)建用戶界面,使用所生成的數(shù)據(jù)模型變換后的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行瀏覽、搜索、或?qū)Ш?。以循環(huán)方式,隨著對更多數(shù)據(jù)進(jìn)行接收、識別、和建模,可以對用于管理數(shù)據(jù)的相應(yīng)的用戶界面進(jìn)行演進(jìn)。因此,可以向用戶提供用于收集、檢索、和與非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行交互的連貫、直觀的平臺。
圖1是根據(jù)實施例的展示了用于捕獲、分析、和呈現(xiàn)非結(jié)構(gòu)化數(shù)據(jù)的系統(tǒng)100的示意圖。系統(tǒng)100包括具有用戶輸入機構(gòu)104的計算設(shè)備102。計算設(shè)備102可以通過網(wǎng)絡(luò)106通信地耦合至服務(wù)器系統(tǒng)108。計算設(shè)備102可以是諸如智能電話、蜂窩電話、移動電話、膝上型計算機、平板電腦、可穿戴設(shè)備(例如,手表、基于眼鏡的設(shè)備等)、桌面、筆記本電腦、混合、墻內(nèi)、或其他聯(lián)網(wǎng)設(shè)備的設(shè)備。
用戶輸入機構(gòu)104可以與計算設(shè)備102分離或并入計算設(shè)備102中。用戶輸入機構(gòu)104可以使用諸如
網(wǎng)絡(luò)106可以包括局域網(wǎng)(lan)、廣域網(wǎng)(wan)、無線變體網(wǎng)絡(luò)(例如,諸如符合ieee802.11系列標(biāo)準(zhǔn)的網(wǎng)絡(luò)的無線lan(wlan)或無線wan(wwan),諸如蜂窩網(wǎng)絡(luò))、公共交換電話網(wǎng)(pstn)網(wǎng)絡(luò)、自組織網(wǎng)絡(luò)、個人區(qū)域網(wǎng)絡(luò)(例如,藍(lán)牙)或網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)類型的其他組合或排列。網(wǎng)絡(luò)106可以包括單個局域網(wǎng)(lan)或廣域網(wǎng)(wan)、或lan或wan的組合(如互聯(lián)網(wǎng))。圖1中的各種設(shè)備可以通過一個或多個有線或無線連接耦合至網(wǎng)絡(luò)106。
計算設(shè)備102還可以通信地耦合至服務(wù)器系統(tǒng)108。服務(wù)器系統(tǒng)108可以提供多種服務(wù)中的一種,包括但不限于數(shù)據(jù)分析、數(shù)據(jù)存儲等。
在使用中,用戶操作用戶輸入機構(gòu)104以將多種自由形式信息輸入到計算設(shè)備102中。所述自由形式信息可以包括文本數(shù)據(jù)、攝影數(shù)據(jù)、頻等。計算設(shè)備102分析自由形式信息以建立信息之間的關(guān)系、創(chuàng)建數(shù)據(jù)模式、并向用戶呈現(xiàn)用戶界面,以允許用戶瀏覽、搜索、或操縱信息或數(shù)據(jù)模式。
通常,在非結(jié)構(gòu)化用戶環(huán)境中輸入信息,如在空白繪圖頁面或新的文字處理文檔上。在完全了解任何業(yè)務(wù)或數(shù)據(jù)建模要求之前,用戶可能正在收集信息。因此,用戶可能沒有結(jié)構(gòu)化的用戶界面來立即在其中進(jìn)行操作。使用圖1中所示的系統(tǒng)100,用戶能夠以自由方式輸入非結(jié)構(gòu)化數(shù)據(jù),并允許系統(tǒng)100推斷結(jié)構(gòu)并創(chuàng)建底層數(shù)據(jù)庫和用戶界面以進(jìn)一步操縱結(jié)構(gòu)化數(shù)據(jù)。用戶不需要提供標(biāo)簽、使用特定的程序、或者具有任何關(guān)于如何輸入數(shù)據(jù)的前置知識——用戶僅開始輸入數(shù)據(jù),而系統(tǒng)100能夠確定數(shù)據(jù)結(jié)構(gòu)的記錄、數(shù)據(jù)字段、和元素。
數(shù)據(jù)結(jié)構(gòu)可以由系統(tǒng)100使用各種機制來推斷和確定,包括所收集的信息的上下文分析、已知數(shù)據(jù)結(jié)構(gòu)、全局或局部表示模型、眾包維基、通常擴展歸因、邊界驗證、和機器學(xué)習(xí)。當(dāng)用戶輸入信息時,系統(tǒng)100可以跟蹤何時輸入數(shù)據(jù)、在屏幕上何處輸入數(shù)據(jù)、以及其他上下文線索來創(chuàng)建數(shù)據(jù)之間的關(guān)系。系統(tǒng)100能夠基于所接收或推斷的附加信息不斷地改變和適應(yīng)。通過這樣做,系統(tǒng)100不需要輸入數(shù)據(jù)的完美輸入或完美解釋。相反,系統(tǒng)100能夠隨著時間推移調(diào)整以更好地將數(shù)據(jù)適配到數(shù)據(jù)結(jié)構(gòu),并且提供更準(zhǔn)確的用戶界面以與數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)進(jìn)行交互。
在使用中,用戶可以從相對空白的界面開始,如空白頁或繪圖調(diào)色板。當(dāng)用戶輸入數(shù)據(jù)時,系統(tǒng)100觀察上下文,諸如時間、輸入的順序、以及對數(shù)據(jù)的共同性的意識來構(gòu)建數(shù)據(jù)結(jié)構(gòu)。當(dāng)描述數(shù)據(jù)結(jié)構(gòu)時,可以生成用戶界面并呈現(xiàn)給用戶以瀏覽或以其他方式操縱數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)。
人們傾向于無意識地組織數(shù)據(jù)。例如,在制作列表時,人們可以將類似的項目分組在一起,或者在列表頂部制作更重要的項目的列表。在系統(tǒng)100中所使用的程序化邏輯觀察數(shù)據(jù)輸入的時間以幫助定義記錄組(例如,相關(guān)數(shù)據(jù)字段大致在同一時間輸入)??梢酝ㄟ^觀察數(shù)據(jù)的屏幕坐標(biāo)(例如,每個記錄組的數(shù)據(jù)字段彼此靠近地布置)來定義數(shù)據(jù)字段。一對多關(guān)系可以通過回車或換行符來定義。文本分析可用于確定數(shù)據(jù)類型。離群值數(shù)據(jù)可以首先被劃分并被表征為注釋或其他通用字段,然后使用與其他離群值數(shù)據(jù)、其他字段、附加記錄組等的比較來進(jìn)一步處理。然后,從數(shù)據(jù)分析得到的知識用于創(chuàng)建各種用戶界面控件(例如,文本框、控制按鈕等)。
圖2是根據(jù)實施例的展示了解析非結(jié)構(gòu)化數(shù)據(jù)的過程200的數(shù)據(jù)流程圖。在202,用戶通過創(chuàng)建空白工作區(qū)域(例如,頁面或畫布)來開始。工作區(qū)域可以是文字處理文檔、繪圖畫布、或其他電子文檔。用戶可以使用觸控筆、物理鍵盤、虛擬鍵盤等輸入數(shù)據(jù)。當(dāng)用戶輸入數(shù)據(jù)時,收集上下文數(shù)據(jù)(框204)。一些上下文數(shù)據(jù)可以由傳感器206收集。傳感器206可以是麥克風(fēng)、照相機等??梢垣@得和存儲各種上下文數(shù)據(jù)(框208),諸如輸入的位置(例如,屏幕坐標(biāo))、用戶的位置(例如,地理位置)、環(huán)境聲音、語音命令和識別、與過去所輸入的數(shù)據(jù)的相似性、輸入的時間,輸入的順序等。對所輸入的每個數(shù)據(jù)元素進(jìn)行輸入分析(框210),并且可以將分析結(jié)果存儲在數(shù)據(jù)存儲212中。數(shù)據(jù)存儲212還可以包括來自先前分析的結(jié)果。
當(dāng)用戶與系統(tǒng)100交互時,使用學(xué)習(xí)算法(框214)來分析數(shù)據(jù)元素和用戶交互以調(diào)整數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型化、或用戶界面元素。學(xué)習(xí)算法可以使用各種因素218(諸如定時、輸入的順序、和屏幕位置)來分析每個數(shù)據(jù)元素(框216),以執(zhí)行諸如動態(tài)數(shù)據(jù)類型化220、離群值標(biāo)識222、或數(shù)據(jù)結(jié)構(gòu)化224之類的各種操作。例如,基于輸入特性,可以標(biāo)識字段和記錄,并且可以構(gòu)建數(shù)據(jù)結(jié)構(gòu)。
基于數(shù)據(jù)結(jié)構(gòu),渲染用戶界面(框226)。用戶可以與用戶界面交互(框228)來添加或移除字段、調(diào)整列名、改變數(shù)據(jù)、排序數(shù)據(jù)等。基于這些調(diào)整,學(xué)習(xí)算法可以瀑布式進(jìn)行并改變其他數(shù)據(jù)類型、分組(例如,記錄)等,以修正底層數(shù)據(jù)結(jié)構(gòu)和由此產(chǎn)生的用戶界面。
使用以下示例場景描述記錄創(chuàng)建、動態(tài)數(shù)據(jù)類型化、離群值標(biāo)識、和數(shù)據(jù)結(jié)構(gòu)化。特意用不一致來描述此場景以說明系統(tǒng)100可以適應(yīng)用戶如何輸入數(shù)據(jù)。
一個叫休(sue)的人帶著她的平板電腦坐在足球場。屏幕上有空白頁面。她的意圖是創(chuàng)建一個兒童足球隊注冊信息的集合(例如,數(shù)據(jù)庫)。她不了解表單、標(biāo)簽、或rdbms概念。休旨在收集父母的姓名、兒童的姓名、優(yōu)選的練習(xí)日、和聯(lián)系電話號碼。
休創(chuàng)建了空白頁面并且輸入“姓名”。當(dāng)父母交互時,休收集信息。在采集了三個父母的信息后,頁面可能看起來像圖3中所示。圖4a至圖4c展示了時間分片時圖3的屏幕。可以將各輸入的時間捕獲為圖2中的上述流程中的上下文數(shù)據(jù)(框204)并進(jìn)行分析(框218)。圖4a展示了第一時間片段,例如,在此時“瑪麗·蒙塔納(marymontana)”提供關(guān)于她的孩子杰克(jack)和吉爾(jill)的信息。圖4b展示了第二時間片段,在此時“麥克(mike)”提供關(guān)于他的兒子“比爾(bill)”的信息。圖4c展示了第一時間片段,在此時“喬治·休斯頓(georgehouston)”提供關(guān)于他的孩子“溫蒂(wendy)”、“桑迪(sandy)”和“克萊爾(claire)”的信息。在溫蒂和桑迪想要在星期日參加時,克萊爾指出她將在星期六參加。
使用時間分片可以提供粗略的機制來推斷相關(guān)信息的記錄。然后將數(shù)據(jù)輸入屏幕的位置用作標(biāo)識類似數(shù)據(jù)的字段的機制。在此情況下,使用初始輸入位置和與先前輸入位置的相對鄰近來標(biāo)識四個潛在字段。這在圖5中所展示,具有列標(biāo)識符“a1”、“a2”、“a3”、和“a4”??梢酝ㄟ^使用坐標(biāo)圖或使用標(biāo)記指示符(如換行符)來進(jìn)行數(shù)據(jù)分組。通過時間分片和基于位置的分組,可以生成粗略的數(shù)據(jù)結(jié)構(gòu)。
圖6根據(jù)實施例展示了所生成的數(shù)據(jù)庫結(jié)構(gòu)600。數(shù)據(jù)庫結(jié)構(gòu)600包括針對每個時間片段的一行和每個數(shù)據(jù)分組的一列??梢允褂脮r間來定義記錄,可以使用在文本輸入開始處的屏幕坐標(biāo)來定義字段(例如,列),并且可以通過回車來定義一對多、多對一、或多對多關(guān)系。在4a-4c中所展示的示例中,可以通過識別在文本輸入“杰克”和之后的輸入“吉爾”之間的回車來推斷“瑪麗·蒙塔納”和她的孩子之間的一對多關(guān)系。這在數(shù)據(jù)庫結(jié)構(gòu)600的第一行中所展示。類似地,可以將“喬治·休斯頓”和他的孩子的記錄解析成具有父親和他的孩子之間的一對多關(guān)系。盡管時間分片和基于位置的分組都在本示例中使用,但是應(yīng)當(dāng)理解可以單獨使用時間片段來標(biāo)識記錄。這種類型的分析可以獨立于位置來進(jìn)行,因此例如可以使用單行輸入機制來定義記錄。
在處理的這一點上,可以使用從數(shù)據(jù)庫結(jié)構(gòu)600所生成的基本用戶界面來呈現(xiàn)記錄。圖7中展示了示例用戶界面,其中記錄的每個元素被提供為用戶界面中的數(shù)據(jù)字段。呈現(xiàn)分頁按鈕702、704以允許用戶將數(shù)據(jù)庫記錄向前或向后移動。使用傳統(tǒng)的用戶界面設(shè)計方法,分頁按鈕702、704可以被編程為在一個方向到達(dá)記錄的結(jié)尾時停用(例如,變灰)??商娲兀猪摪粹o702、704可以用于以循環(huán)方式導(dǎo)航記錄,使得當(dāng)?shù)竭_(dá)記錄的結(jié)尾時,如果用戶使用“下一個”分頁按鈕704,將用戶導(dǎo)航到記錄中的第一條記錄。還呈現(xiàn)了搜索按鈕706,其提供了使用諸如全文搜索、數(shù)據(jù)類型搜索、范圍過濾、正則表達(dá)等之類的各種機制來搜索記錄的機制。每個字段也可以具有相應(yīng)的控件(例如,項目708),以允許用戶命名所述字段。當(dāng)提供了字段名稱時,可以對相應(yīng)的數(shù)據(jù)庫列進(jìn)行更新以匹配。這在下面的繼續(xù)示例中說明。
在初始記錄和字段分類之后,可以應(yīng)用進(jìn)一步的方法來確定數(shù)據(jù)類型(例如,動態(tài)數(shù)據(jù)類型化,圖2中的框220)??梢允褂脵C器學(xué)習(xí)和人類語言分析來進(jìn)行數(shù)據(jù)類型化。對于所輸入的第一條記錄,短語“姓名”可以被標(biāo)識并分類為具有通用含義的“文本”數(shù)據(jù)類型。可以將短語“瑪麗·蒙塔納”標(biāo)識并分類為具有“姓名”含義的“文本”數(shù)據(jù)類型。類似地,短語“杰克”和“吉爾”可以被標(biāo)識并分類為“文本/姓名”數(shù)據(jù)類型。短語“星期六”可以被分類為“文本/日”數(shù)據(jù)類型,而短語“505-333-7777”可以被分類為“文本/電話”數(shù)據(jù)類型。
使用這些數(shù)據(jù)類型,系統(tǒng)100組織記錄。圖8是根據(jù)實施例的記錄可以怎樣由數(shù)據(jù)類型進(jìn)行組織的示例。雖然諸如日和電話之類的字段被明確定義,但是仍然存在一些未解析的數(shù)據(jù)字段,如分別對應(yīng)于短語“姓名”和“克萊爾在星期日”的文本/詞語和文本/姓名+日字段。因此,在執(zhí)行初始數(shù)據(jù)類型化之后,對離群值數(shù)據(jù)字段進(jìn)行解析和分析(例如,圖2中的框222)。
離群值字段是不完全適合其他數(shù)據(jù)類型表達(dá)式的字段。在本示例中,有兩個所標(biāo)識的離群值字段“姓名”和“克萊爾在星期日”?!靶彰币辉~可能由休在提供有關(guān)她要收集的數(shù)據(jù)的線索的嘗試中輸入。無論如何,系統(tǒng)100至今確定“姓名”一詞不與其他數(shù)據(jù)對齊或在同一組。系統(tǒng)100使用邏輯規(guī)則,所述邏輯規(guī)則提供如果數(shù)據(jù)元素在數(shù)據(jù)結(jié)構(gòu)中沒有邏輯放置,則它將被標(biāo)記為離群值,并且將被分類為雜項類別,類似于“注釋”。圖9根據(jù)實施例展示了具有列標(biāo)題的數(shù)據(jù)結(jié)構(gòu)。已添加列標(biāo)題“注釋”,并將文本/詞語數(shù)據(jù)放在那列中。此外,列標(biāo)題“日”和“電話”已被添加到明確定義的日和電話號碼的數(shù)據(jù)上。
存在另一個離群值,定義為文本/姓名+日。請記住,這個字段包含“克萊爾在星期六”。它可以很容易地包含像“克萊爾不在星期六”的數(shù)據(jù)。系統(tǒng)100依賴于人類的天性出于一個理由來包括這個短語——假定是相關(guān)的。雖然字符串可能會像“泡菜是綠色”這樣的短語,此短語將與休嘗試做的不相關(guān)。因此,系統(tǒng)100假定它具有含義。所述含義根據(jù)其在文本流中的位置將允許系統(tǒng)100假定與前面或后續(xù)文本具有關(guān)系。在此情況下,由于用戶在后期所提供的反饋和所使用的機器學(xué)習(xí),不完美是可以接受的,
離群值處理會詢問各種問題,如“數(shù)據(jù)類型是否適合當(dāng)前記錄的任何位置?”以及“數(shù)據(jù)類型是否在其他記錄中找到類似的類型?”如果離群值數(shù)據(jù)與當(dāng)前記錄或其他記錄的數(shù)據(jù)類型不匹配,則離群值數(shù)據(jù)將被進(jìn)一步解構(gòu)。在此情況下,可以使用空格作為分隔符來解構(gòu)離群值數(shù)據(jù)“克萊爾在星期六”。可以使用其他分隔符,如逗號、分號、斜杠等。在分開短語之后,每個元素都用相同的問題進(jìn)行分析。字符串“克萊爾”被標(biāo)識為姓名,并與當(dāng)前記錄以及其他記錄中的現(xiàn)有數(shù)據(jù)類型相匹配。類似地,字符串“星期六”被標(biāo)識為日,并與現(xiàn)有的數(shù)據(jù)類型相匹配。
系統(tǒng)100知道在使用休輸入信息時所捕獲的時間戳元數(shù)據(jù)的詞語“星期日”之后輸入短語“克萊爾在星期六”。此外,系統(tǒng)100知道在使用休輸入信息時所捕獲的屏幕坐標(biāo)的詞語“星期日”的附近輸入所述短語。系統(tǒng)100可以使用基于鄰近的規(guī)則來給出與所述短語之前或之后的條目更強的關(guān)聯(lián)??紤]到后續(xù)條目是電話號碼,系統(tǒng)100將優(yōu)先考慮前面的“星期日”的數(shù)據(jù)元素,所述數(shù)據(jù)元素與短語“克萊爾在星期六”的組成部分之一具有相同數(shù)據(jù)類型。
因此,系統(tǒng)100確定短語“克萊爾在星期六”在時間和位置上與“星期日”鄰近,并且姓名“克萊爾”也存在于記錄中。然后,系統(tǒng)100必須確定是否在評論字段中放置“克萊爾在星期六”或者是否與記錄中的其他數(shù)據(jù)有不同的關(guān)系。
通過分析對于父親“喬治·休斯頓”的記錄,系統(tǒng)100可以確定當(dāng)所解構(gòu)的短語“克萊爾在星期六”被包括在記錄的結(jié)構(gòu)中時,姓名“克萊爾”出現(xiàn)了兩次。系統(tǒng)100使用關(guān)系數(shù)據(jù)庫概念將記錄重新組合成具有“喬治·休斯頓”主鍵的兩條記錄,其中第一記錄包括與日“星期日”相關(guān)聯(lián)的人“溫蒂”和“桑迪”,而第二條記錄包括人“克萊爾”人和日“星期六”。
圖10是根據(jù)實施例的展示了處理離群值數(shù)據(jù)的方法1000的流程圖。在操作1002,確定所討論的數(shù)據(jù)的數(shù)據(jù)類型是否適合當(dāng)前記錄中的任何位置。這可以使用反正態(tài)表達(dá)式匹配過程來進(jìn)行。如果所討論的數(shù)據(jù)不是符合當(dāng)前記錄的數(shù)據(jù)類型,則在操作1004,確定所討論的數(shù)據(jù)是否具有適合于其他記錄的數(shù)據(jù)類型。如果所討論的數(shù)據(jù)適合于當(dāng)前記錄或跨記錄的數(shù)據(jù)類型,則數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)類型相關(guān)聯(lián)(操作1006)。
反之,如果確定為否定,則系統(tǒng)100嘗試將數(shù)據(jù)解析為單獨的元素(操作1008)。這可以使用子字符串標(biāo)識機制來執(zhí)行,如基于分隔符(例如,空格、逗號、分號等)將字符串分區(qū)。對于所解析的數(shù)據(jù)的每個元素,系統(tǒng)100確定當(dāng)前記錄內(nèi)是否具有匹配的數(shù)據(jù)類型。否則,系統(tǒng)100確定是否具有跨其他記錄的匹配數(shù)據(jù)類型(操作1010)。
基于數(shù)據(jù)類型匹配,可以修改數(shù)據(jù)結(jié)構(gòu),例如,為了表示數(shù)據(jù)關(guān)系(操作1012),例如,父親“喬治·休斯頓”關(guān)于人“溫蒂”、“桑迪”、和“克萊爾”具有一對多的關(guān)系,這些人“溫蒂”、“桑迪”、和“克萊爾”中的每個人關(guān)于日具有一對一的關(guān)系。在這個處理之前,似乎孩子對日的關(guān)系是多對一的關(guān)系(例如,杰克和吉爾與星期六相關(guān))。
在這一點上,數(shù)據(jù)結(jié)構(gòu)被相當(dāng)明確地定義,并且可以生成用戶界面并將其呈現(xiàn)給用戶(例如,休),如圖11中所展示。數(shù)據(jù)分析提供了一些列/字段名稱,如“姓名”和“日”。然而,系統(tǒng)100無法確定“杰克”和“吉爾”的字段名稱。用戶可以與用戶界面交互,如通過激活用戶界面控件708,并編輯列名稱。例如,休可以將列名稱“姓名”更改為“父母姓名”,并且將空白列名稱更改為“孩子姓名1”和“孩子姓名2”。在圖12中展示了修正后的用戶界面。在修改了用戶界面后,相應(yīng)地修改了底層數(shù)據(jù)結(jié)構(gòu)。這在圖13中所展示。圖13還展示了先前模糊不清的數(shù)據(jù)“克萊爾在星期六”是如何重新結(jié)構(gòu)化為附加行1300的。“喬治·休斯頓”的構(gòu)建主鍵被重新用在附加行1300上??梢詫τ脩艚缑孢M(jìn)行修正以展示這個新的關(guān)系,如在圖14中所展示。請注意,“克萊爾”的列名稱為空,因為這是第一次將具有第三孩子姓名的用戶界面呈現(xiàn)給休。可替代地,系統(tǒng)100可以識別休先前根據(jù)標(biāo)準(zhǔn)命名結(jié)構(gòu)為類似的數(shù)據(jù)類型修正了列名稱,并且使用附加分析,系統(tǒng)100可以將“孩子姓名3”呈現(xiàn)為“克萊爾”的列名稱。然后,用戶可以能夠根據(jù)需要對這個標(biāo)簽進(jìn)行修正。如果用戶不修正標(biāo)簽,則系統(tǒng)100可以將用戶的這種不動作作為對標(biāo)簽名稱的默許批準(zhǔn),這可以加強標(biāo)簽命名的未來嘗試。
為替代性實施例的附加細(xì)節(jié)提供了整體過程流程的另一個描述。當(dāng)輸入數(shù)據(jù)時,可以采集各種上下文信息,包括輸入的順序、輸入的詞語或數(shù)字之間的時間、在頁面上或相對于其他數(shù)據(jù)的數(shù)據(jù)的放置、或傳感器數(shù)據(jù)(例如,全球定位數(shù)據(jù))。然后基于使用人傾向在記錄條目之間暫停的時間來描繪記錄。如果單獨的時間不足以描繪記錄,則可以分析所輸入的全部數(shù)據(jù),以確定哪里存在可重復(fù)的元素,其可以指示類似于記錄的結(jié)構(gòu)。例如,使用姓名、日期、時間、姓名、日期、時間等的數(shù)據(jù)類型的重復(fù)數(shù)據(jù)可以提供對每個記錄具有姓名、日期、和時間的記錄結(jié)構(gòu)的洞察。
在這一點上,系統(tǒng)可能對記錄被恰當(dāng)?shù)孛枥L具有相當(dāng)?shù)男判摹S脩艨梢渣c擊按鈕來“查看ui”或在輸入調(diào)色板上所呈現(xiàn)的類似的控件并且查看系統(tǒng)是如何提出數(shù)據(jù)組織的。然后用戶可以使用各種用戶界面控制機制(例如,拖放、刪除列表、查詢工具等)來操縱數(shù)據(jù)結(jié)構(gòu)。在附加的用戶交互或自動化系統(tǒng)識別和數(shù)據(jù)結(jié)構(gòu)化后,記錄可能達(dá)到一個被認(rèn)為是明確定義的點。
然后對記錄內(nèi)的字段(例如,數(shù)據(jù)元素或列)進(jìn)行分析,以確定是否輸入了任何數(shù)據(jù)以指示字段名稱(例如,列標(biāo)題)或者字段中是否具有離群值數(shù)據(jù)。
對于每個字段,系統(tǒng)分析輸入的順序。系統(tǒng)嘗試確定是否可以將任何輸入的數(shù)據(jù)定義為字段名稱。示例可以包括“姓名”、“日期”、“數(shù)量”、“大小”等。輸入的順序考慮了條目之間的時間或延遲。輸入的順序還考慮了是否應(yīng)當(dāng)將若干數(shù)據(jù)項合并在一起成為字符串。這可以使用語言分析、輸入的時間等來執(zhí)行。
然后將每個字段的數(shù)據(jù)(其可以是詞語、字符串、數(shù)字等)連同其相應(yīng)的輸入的順序加載到矩陣中。所述矩陣用于跨記錄比較數(shù)據(jù)??缬涗浄治霾榭疵總€字段內(nèi)的數(shù)據(jù),以基于輸入的順序查看數(shù)據(jù)是否具有相似性。相似性可以基于數(shù)據(jù)類型(例如,字符串、詞語、整數(shù)等)的比較。當(dāng)跨字段找到相似之處時,則加強對那些字段的數(shù)據(jù)類型分配。維持?jǐn)?shù)據(jù)字段的強度的一種方法是使用數(shù)值評分系統(tǒng)。當(dāng)找到相似之處時,則可以增大數(shù)值分?jǐn)?shù),指示對于特定字段的數(shù)據(jù)類型化正確的置信度。
分析還可以查看每個字段內(nèi)的數(shù)據(jù),以查看數(shù)據(jù)是否具有相對于屏幕上的放置的相似性,而不管輸入的順序如何。在輸入調(diào)色板上彼此相鄰的字段的放置可以用于推斷諸如相似數(shù)據(jù)類型的關(guān)系。使用放置作為另一個相似性度量,可以調(diào)整數(shù)值置信度分?jǐn)?shù)以指示字段的數(shù)據(jù)類型分配的正確性的或多或少的可能性。
比較跨記錄數(shù)據(jù)類型分析和放置數(shù)據(jù)類型分析可以提供對哪種方法提供更好的匹配的洞察。如果對兩種方法的評分都很低,如低于50%置信水平,則可以使用更復(fù)雜的分析。
更復(fù)雜的方法包括跨每條記錄將每個字段與每個其他字段進(jìn)行比較。對比較進(jìn)行評分并保持在矩陣中,所述矩陣對應(yīng)于字段的放置。在所有比較完成之后,然后字段的數(shù)據(jù)類型分配可以基于跨矩陣的評分。
離群值數(shù)據(jù)被標(biāo)識為那些跨記錄沒有評分或低評分的數(shù)據(jù)元素。離群值可以被標(biāo)記并置于通用捕獲全部字段中,如注釋或雜項字段,以在以后被手動輸入??商娲?,可以分析離群值數(shù)據(jù),如通過將字符串分解成組成元素并且分析在記錄中跨一個或多個字段或其他記錄中跨字段的每個元素。附加地或替代地,離群值數(shù)據(jù)可以被分析用于諸如“和(and)”或“或(or)”的連接表達(dá)式,其可以被用于將字符串分解成邏輯元素。例如,字符串“星期六或星期日”可以允許任何一個單獨的元素評分很好,但是當(dāng)一起作為評分時可能很低。對字符串中“或”的意識允許系統(tǒng)對“星期六”或“星期日”進(jìn)行匹配,并找到與不同的字段或記錄的更好的匹配。這種分析可以被用于初始標(biāo)識可能的數(shù)據(jù)類型或加強推定的數(shù)據(jù)類型。
在數(shù)據(jù)分析和數(shù)據(jù)結(jié)構(gòu)化過程中,可以向用戶呈現(xiàn)選項,以使系統(tǒng)在添加新記錄時持續(xù)更新ui和數(shù)據(jù)分配,或者用戶可以鎖定ui,有效地強制系統(tǒng)將附加記錄解析為固定的底層數(shù)據(jù)結(jié)構(gòu)。
圖15是根據(jù)實施例的展示了用于實現(xiàn)非結(jié)構(gòu)化用戶界面的系統(tǒng)1500的框圖。所述系統(tǒng)包括監(jiān)測模塊1502、數(shù)據(jù)標(biāo)記模塊1504、數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506、和用戶界面模塊1508。所述監(jiān)測模塊1502可以被配置成用于在計算設(shè)備102處監(jiān)測在電子調(diào)色板處所接收的輸入,所述輸入產(chǎn)生多個數(shù)據(jù)元素。在一個實施例中,所述電子調(diào)色板包括文字處理文檔。
所述數(shù)據(jù)標(biāo)記模塊1504可以被配置成用于利用相應(yīng)的時間戳來標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素。
所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506可以被配置成用于使用所述多個數(shù)據(jù)元素的所述時間戳來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,為了使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄。
所述用戶界面模塊1508可以被配置成用于向所述計算設(shè)備的用戶呈現(xiàn)用戶界面,所述用戶界面基于所述數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,為了呈現(xiàn)用戶界面,所述用戶界面模塊1508用于呈現(xiàn)具有特定記錄中每個數(shù)據(jù)元素的列名稱和字段值的用戶界面。在一個進(jìn)一步實施例中,所述用戶界面模塊1508用于接收標(biāo)識用于修正所述列名稱的用戶輸入。在另一個實施例中,所述用戶界面模塊1508用于接收用戶輸入以修正所述數(shù)據(jù)結(jié)構(gòu)。
在一個實施例中,所述數(shù)據(jù)標(biāo)記模塊1504用于利用所述電子調(diào)色板上的相應(yīng)輸入位置標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素,并且所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)。
在一個進(jìn)一步實施例中,為了使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄,并且為了使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將具有在空間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的所述記錄中的字段。為了被認(rèn)為在時間上相對接近,可以測量每個數(shù)據(jù)元素的輸入之間的時間,并且可以計算閾值延遲,使得超過閾值延遲的延遲可以指示從一條記錄到另一條記錄的中斷。類似地,為了被認(rèn)為在空間相對接近,可以比較第一數(shù)據(jù)元素和第二數(shù)據(jù)元素的輸入的開始的像素位置(或屏幕坐標(biāo)),以確定數(shù)據(jù)元素是否可以被認(rèn)為在空間上是接近的。更接近的輸入坐標(biāo)表示數(shù)據(jù)元素是相同記錄或字段的一部分,而遠(yuǎn)處的輸入坐標(biāo)表示數(shù)據(jù)元素應(yīng)當(dāng)與不同的記錄或字段相關(guān)聯(lián)。
在一個實施例中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于分析所述多個數(shù)據(jù)元素以標(biāo)識所述多個數(shù)據(jù)元素中的數(shù)據(jù)元素的數(shù)據(jù)類型。
在一個實施例中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將離群值數(shù)據(jù)標(biāo)識為未能適應(yīng)所述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素。在一個進(jìn)一步實施例中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將所述離群值數(shù)據(jù)處理成多個子數(shù)據(jù)元素,所述多個子數(shù)據(jù)元素符合所述數(shù)據(jù)結(jié)構(gòu)。子數(shù)據(jù)元素可以是字符串中的詞語、字符串中的數(shù)字、或字符串中的其他短語或子短語??梢允褂迷~語分析(例如,標(biāo)識連接)來標(biāo)識這樣的子數(shù)據(jù)元素。在一個進(jìn)一步實施例中,為了處理離群值數(shù)據(jù),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將子數(shù)據(jù)元素與當(dāng)前記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。在另一個實施例中,為了處理離群值數(shù)據(jù),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊1506用于將子數(shù)據(jù)元素與外部記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。外部記錄是除了包含分析的數(shù)據(jù)元素或子數(shù)據(jù)元素的記錄以外的不同記錄。
圖16是根據(jù)實施例的展示了實現(xiàn)非結(jié)構(gòu)化用戶界面的方法1600的流程圖。在框1602,在計算設(shè)備處監(jiān)測在電子調(diào)色板處所接收的輸入,所述輸入產(chǎn)生多個數(shù)據(jù)元素。在一個實施例中,所述電子調(diào)色板包括文字處理文檔。
在框1604,用相應(yīng)的時間戳來標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素。
在框1606,使用所述多個數(shù)據(jù)元素的所述時間戳來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄。
在框1608,向所述計算設(shè)備的用戶呈現(xiàn)用戶界面,所述用戶界面基于所述數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,呈現(xiàn)所述用戶界面包括呈現(xiàn)具有特定記錄中每個數(shù)據(jù)元素的列名稱和字段值的用戶界面。在一個進(jìn)一步實施例中,方法1600包括接收標(biāo)識用于修正所述列名稱的用戶輸入。在另一個實施例中,方法1600包括接收用戶輸入以修正所述數(shù)據(jù)結(jié)構(gòu)。
在一個實施例中,方法1600包括用所述電子調(diào)色板上的相應(yīng)輸入位置標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素,以及使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)。在一個進(jìn)一步實施例中,使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄,并且使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將具有在空間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的所述記錄中的字段。
在一個實施例中,方法1600包括分析所述多個數(shù)據(jù)元素以標(biāo)識所述多個數(shù)據(jù)元素中的數(shù)據(jù)元素的數(shù)據(jù)類型。
在一個實施例中,方法1600包括將離群值數(shù)據(jù)標(biāo)識為未能適應(yīng)所述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素。在一個進(jìn)一步實施例中,方法1600包括將所述離群值數(shù)據(jù)處理成多個子數(shù)據(jù)元素,所述多個子數(shù)據(jù)元素符合所述數(shù)據(jù)結(jié)構(gòu)。在一個進(jìn)一步實施例中,處理離群值數(shù)據(jù)包括將子數(shù)據(jù)元素與當(dāng)前記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。在另一個實施例中,處理離群值數(shù)據(jù)包括將子數(shù)據(jù)元素與外部記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。
實施例可在硬件、固件、和軟件中的一個或組合中實現(xiàn)。實施例還可以被實施為存儲在機器可讀存儲介質(zhì)上的指令,所述指令可以被至少一個處理器讀取并執(zhí)行以進(jìn)行在此所描述的操作。機器可讀存儲介質(zhì)可以包括用于存儲機器(例如,計算機)可讀的形式的信息的任何非瞬態(tài)機構(gòu)。例如,機器可讀存儲介質(zhì)可以包括只讀存儲器(rom)、隨機存取存儲器(ram)、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存器、以及其他存儲設(shè)備和介質(zhì)。
如在此所描述的示例可以包括或可以操作在邏輯或多個部件、模塊或機制上。模塊可以是通信耦合至一個或多個處理器從而執(zhí)行在此所述的操作的硬件、軟件、或固件。模塊可以是硬件模塊,并且此類模塊可以被當(dāng)做能夠執(zhí)行特定操作并且能夠以一定方式被配置或安排的有形實體。在示例中,電路可以以指定方式被安排(例如,內(nèi)部地或關(guān)于外部實體(諸如其他電路))為模塊。在示例中,可以由固件或軟件(例如,指令、應(yīng)用部分、或應(yīng)用)將一個或多個計算機系統(tǒng)(例如,獨立的客戶端或服務(wù)器計算機系統(tǒng))或一個或多個硬件處理器中的整個或部分配置為進(jìn)行操作以便執(zhí)行指定操作的模塊。在示例中,軟件可以駐留在計算機可讀介質(zhì)上。在示例中,當(dāng)由模塊的底部硬件執(zhí)行時,軟件使硬件執(zhí)行指定的操作。因而,術(shù)語“硬件模塊”被理解為包括有形的實體,所述有形的實體是在物理上構(gòu)建的、具體配置的(例如,硬接線的)、或臨時(例如,暫時)配置的(例如,編程的)實體以便以指定的方式操作或執(zhí)行在此描述的任何操作中的部分或全部??紤]其中模塊被暫時配置的示例,不需要在任何一個時刻處例示每個模塊。例如,當(dāng)模塊包括使用軟件進(jìn)行配置的通用硬件處理器時,所述通用硬件處理器可以在不同時間被配置為相應(yīng)的不同模塊。例如,軟件可以從而配置硬件處理器以便在一個時間實例處構(gòu)成特定模塊并且在不同的時間實例處構(gòu)成不同的模塊。模塊還可以是軟件或固件模塊,所述軟件或固件模塊運行以執(zhí)行在此所述的方法論。
圖17是根據(jù)示例實施例展示了采用計算機系統(tǒng)1700的示例形式的機器的框圖,在所述機器中可以執(zhí)行指令集或序列,從而使所述機器執(zhí)行本文中所討論的方法論中的任何一種。在替代性實施例中,機器作為獨立設(shè)備操作或者可以連接(例如,連網(wǎng))至其他機器。在聯(lián)網(wǎng)部署中,所述機器在服務(wù)器-客戶端網(wǎng)絡(luò)環(huán)境中可以以服務(wù)器或者客戶端機器的角色運行,或者可以作為對等(或分布式)網(wǎng)絡(luò)環(huán)境中的對等機。所述機器可以是車載系統(tǒng)、機頂盒、可穿戴設(shè)備、私人計算機(pc)、平板pc、混合平板、私人數(shù)字助手(pda)、移動電話、或任何能夠執(zhí)行限定了要由這個機器采取的動作的指令(連續(xù)的或相反)的機器。進(jìn)一步地,雖然僅展示了單個機器,但術(shù)語“機器”也應(yīng)視為包括機器的任何集合,所述機器個別地或聯(lián)合地執(zhí)行一組(或多組)指令以便執(zhí)行本文中所討論的方法中的任何一種或多種方法論。類似地,術(shù)語“基于處理器的系統(tǒng)”應(yīng)當(dāng)被當(dāng)做包括一個或多個機器的任何集合,所述一個或多個機器被處理器(例如,計算機)控制或操作以單獨地或聯(lián)合地執(zhí)行指令,從而執(zhí)行在此所討論的方法論中的任何一種或多種。
示例計算機系統(tǒng)1700包括至少一個處理器1702(例如,中央處理單元(cpu)、圖形處理單元(gpu)或兩者、處理器核、計算節(jié)點等)、主存儲器1704和靜態(tài)存儲器1706,其經(jīng)由鏈路1708(例如,總線)彼此通信。計算機系統(tǒng)1700可以進(jìn)一步包括視頻顯示單元1710、字母數(shù)字輸入設(shè)備1712(例如,鍵盤)、和用戶界面(ui)導(dǎo)航設(shè)備1714(例如,鼠標(biāo))。在一個實施例中,視頻顯示單元1710、輸入設(shè)備1712、和ui導(dǎo)航設(shè)備1714被并入觸摸屏顯示器。計算機系統(tǒng)1700可以附加地包括存儲設(shè)備1716(例如,驅(qū)動單元)、信號生成設(shè)備1718(例如,揚聲器)、網(wǎng)絡(luò)接口設(shè)備1720、以及一個或多個傳感器(未示出)(如全球定位系統(tǒng)(gps)傳感器、羅盤、加速度計、或其他傳感器)。
儲存設(shè)備1716包括在其上存儲了一個或多個數(shù)據(jù)結(jié)構(gòu)和指令集1724(例如,軟件)的機器可讀介質(zhì)1722,所述一個或多個數(shù)據(jù)結(jié)構(gòu)和指令集包含本文中所描述的方法或功能中的任何一個或多個,或者被其所利用。指令1724也可完全地或至少部分地駐留在主存儲器1704、靜態(tài)存儲器1706中,和/或在計算機系統(tǒng)1700執(zhí)行其過程中駐留在處理器1702中,其中主存儲器1704、靜態(tài)存儲器1706和處理器1702同樣也構(gòu)成機器可讀介質(zhì)。
雖然機器可讀介質(zhì)1722在示例實施例中被展示為單個介質(zhì),但術(shù)語“機器可讀介質(zhì)”可以包括存儲一個或多個指令1724的單個介質(zhì)或多個介質(zhì)(例如,集中或分布式數(shù)據(jù)庫、和/或相關(guān)聯(lián)的高速緩存和服務(wù)器)。術(shù)語“機器可讀介質(zhì)”還將理解為包括任何有形介質(zhì),所述有形介質(zhì)能夠存儲、編碼或攜帶用于由機器執(zhí)行的指令并且指令引起機器執(zhí)行本公開的方法論中的任何一個或多個,或者所述有形介質(zhì)能夠存儲、編碼或攜帶由這樣的指令利用或與這樣的指令相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。術(shù)語“機器可讀介質(zhì)”應(yīng)當(dāng)相應(yīng)地被視為包括但不限于固態(tài)存儲器、以及光學(xué)介質(zhì)和磁性介質(zhì)。機器可讀介質(zhì)的特定示例包括非易失性存儲器,舉例來講,包括但不限于半導(dǎo)體存儲器設(shè)備(例如,電可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom))和閃速存儲器設(shè)備;磁盤,如內(nèi)置硬盤和可移除磁盤;磁光盤;以及cd-rom和dvd-rom磁盤。
進(jìn)一步可以利用多個眾所周知的傳輸協(xié)議(例如,http)中的任一種協(xié)議、經(jīng)由網(wǎng)絡(luò)接口設(shè)備1720、使用傳輸介質(zhì)、通過通信網(wǎng)絡(luò)1726來發(fā)射或接收指令1724。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(lan)、廣域網(wǎng)(wan)、因特網(wǎng)、移動電話網(wǎng)絡(luò)、普通老式電話(pots)網(wǎng)絡(luò)和無線數(shù)據(jù)網(wǎng)絡(luò)(例如,wi-fi、3g和4glte/lte-a或wimax網(wǎng)絡(luò))。術(shù)語“傳輸介質(zhì)”應(yīng)視為包括能夠存儲、編碼或攜帶由機器執(zhí)行的指令的任何無形介質(zhì),并且包括數(shù)字或模擬通信信號或者促進(jìn)這種軟件通信的其他無形介質(zhì)。
補充說明和示例:
示例1包括用于實現(xiàn)非結(jié)構(gòu)化用戶界面的主題(如設(shè)備、裝置、或機器),包括:監(jiān)測模塊,用于在計算設(shè)備處監(jiān)測在電子調(diào)色板處所接收的輸入,所述輸入產(chǎn)生多個數(shù)據(jù)元素;數(shù)據(jù)標(biāo)記模塊,用于利用相應(yīng)的時間戳來標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素;數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊,用于使用所述多個數(shù)據(jù)元素的所述時間戳來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu);以及用戶界面模塊,用于向所述計算設(shè)備的用戶呈現(xiàn)用戶界面,所述用戶界面基于所述數(shù)據(jù)結(jié)構(gòu)。
在示例2中,如示例1所述的主題可以包括:其中,所述電子調(diào)色板包括文字處理文檔。
在示例3中,如示例1至2中的任一項所述的主題可以包括:其中,為了使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄。
在示例4中,如示例1至3中的任一項所述的主題可以包括:其中,為了呈現(xiàn)用戶界面,所述用戶界面模塊用于呈現(xiàn)具有特定記錄中每個數(shù)據(jù)元素的列名稱和字段值的用戶界面。
在示例5中,如示例1至4中的任一項所述的主題可以包括:其中,所述用戶界面模塊用于接收標(biāo)識用于修正所述列名稱的用戶輸入。
在示例6中,如示例1至5中的任一項所述的主題可以包括:其中,所述用戶界面模塊用于接收用戶輸入以修正所述數(shù)據(jù)結(jié)構(gòu)。
在示例7中,如示例1至6中的任一項所述的主題可以包括:其中,所述數(shù)據(jù)標(biāo)記模塊用于利用所述電子調(diào)色板上的相應(yīng)輸入位置標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素;并且其中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)。
在示例8中,如示例1至7中的任一項所述的主題可以包括:其中,為了使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄;并且其中,為了使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將具有在空間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的所述記錄中的字段。
在示例9中,如示例1至8中的任一項所述的主題可以包括:其中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于分析所述多個數(shù)據(jù)元素以標(biāo)識所述多個數(shù)據(jù)元素中的數(shù)據(jù)元素的數(shù)據(jù)類型。
在示例10中,如示例1至9中的任一項所述的主題可以包括:其中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將離群值數(shù)據(jù)標(biāo)識為未能適應(yīng)所述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素。
在示例11中,如示例1至10中的任一項所述的主題可以包括:其中,所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將所述離群值數(shù)據(jù)處理成多個子數(shù)據(jù)元素,所述多個子數(shù)據(jù)元素符合所述數(shù)據(jù)結(jié)構(gòu)。
在示例12中,如示例1至11中的任一項所述的主題可以包括:其中,為了處理離群值數(shù)據(jù),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將子數(shù)據(jù)元素與當(dāng)前記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。
在示例13中,如示例1至12中的任一項所述的主題可以包括:其中,為了處理離群值數(shù)據(jù),所述數(shù)據(jù)結(jié)構(gòu)構(gòu)建模塊用于將子數(shù)據(jù)元素與外部記錄中的字段進(jìn)行比較,以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。
示例14包括用于實現(xiàn)非結(jié)構(gòu)化用戶界面的主題(如方法、用于執(zhí)行動作的裝置、包括由機器執(zhí)行時引起機器執(zhí)行動作的指令的機器可讀介質(zhì)、或執(zhí)行的設(shè)備),包括:在計算設(shè)備處監(jiān)測在電子調(diào)色板處所接收的輸入,所述輸入產(chǎn)生多個數(shù)據(jù)元素;用相應(yīng)的時間戳來標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素;使用所述多個數(shù)據(jù)元素的所述時間戳來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu);以及向所述計算設(shè)備的用戶呈現(xiàn)用戶界面,所述用戶界面基于所述數(shù)據(jù)結(jié)構(gòu)。
在示例15中,如示例14所述的主題可以包括:其中,所述電子調(diào)色板包括文字處理文檔。
在示例16中,如示例14至15中的任一項所述的主題可以包括:其中,使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄。
在示例17中,如示例14至16中的任一項所述的主題可以包括:其中,呈現(xiàn)用戶界面包括呈現(xiàn)具有特定記錄中每個數(shù)據(jù)元素的列名稱和字段值的用戶界面。
在示例18中,如示例14至17中的任一項所述的主題可以包括:接收標(biāo)識用于修正所述列名稱的用戶輸入。
在示例19中,如示例14至18中的任一項所述的主題可以包括:接收用戶輸入以修正所述數(shù)據(jù)結(jié)構(gòu)。
在示例20中,如示例14至19中的任一項所述的主題可以包括:利用所述電子調(diào)色板上的相應(yīng)輸入位置標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素;以及使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)。
在示例21中,如示例14至20中的任一項所述的主題可以包括:其中,使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄;并且其中,使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)包括將具有在空間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的所述記錄中的字段。
在示例22中,如示例14至21中的任一項所述的主題可以包括:分析所述多個數(shù)據(jù)元素以標(biāo)識所述多個數(shù)據(jù)元素中的數(shù)據(jù)元素的數(shù)據(jù)類型。
在示例23中,如示例14至22中的任一項所述的主題可以包括:將離群值數(shù)據(jù)標(biāo)識為未能適應(yīng)所述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素。
在示例24中,如示例14至23中的任一項所述的主題可以包括:將所述離群值數(shù)據(jù)處理成多個子數(shù)據(jù)元素,所述多個子數(shù)據(jù)元素符合所述數(shù)據(jù)結(jié)構(gòu)。
在示例25中,如示例14至24中的任一項所述的主題可以包括:其中,處理離群值數(shù)據(jù)包括將子數(shù)據(jù)元素與當(dāng)前記錄中的字段進(jìn)行比較以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。
在示例26中,如示例14至25中的任一項所述的主題可以包括:其中,處理離群值數(shù)據(jù)包括將子數(shù)據(jù)元素與外部記錄中的字段進(jìn)行比較以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型。
示例27包括至少一種包括指令的機器可讀介質(zhì),所述指令當(dāng)由機器執(zhí)行時使所述機器執(zhí)行如示例14至26中任一項所述的操作。
示例28包括一種設(shè)備,所述設(shè)備包括用于執(zhí)行如示例14至26中任一項的裝置。
示例29包括用于實現(xiàn)非結(jié)構(gòu)化用戶界面的主題(如設(shè)備、裝置、或機器),包括:用于在計算設(shè)備處監(jiān)測在電子調(diào)色板處所接收的輸入的裝置,所述輸入產(chǎn)生多個數(shù)據(jù)元素;用于利用相應(yīng)的時間戳來標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素的裝置;用于使用所述多個數(shù)據(jù)元素的所述時間戳來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)的裝置;以及用于向所述計算設(shè)備的用戶呈現(xiàn)用戶界面的裝置,所述用戶界面基于所述數(shù)據(jù)結(jié)構(gòu)。
在示例30中,如示例29所述的主題可以包括:其中,所述電子調(diào)色板包括文字處理文檔。
在示例31中,如示例29至30中的任一項所述的主題可以包括:其中,用于使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)的裝置包括用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄的裝置。
在示例32中,如示例29至31中的任一項所述的主題可以包括:其中,呈現(xiàn)用戶界面包括呈現(xiàn)具有特定記錄中每個數(shù)據(jù)元素的列名稱和字段值的用戶界面。
在示例33中,如示例29至32中的任一項所述的主題可以包括:用于接收標(biāo)識用于修正所述列名稱的用戶輸入的裝置。
在示例34中,如示例29至33中的任一項所述的主題可以包括:用于接收用戶輸入以修正所述數(shù)據(jù)結(jié)構(gòu)的裝置。
在示例35中,如示例29至34中的任一項所述的主題可以包括:用于利用所述電子調(diào)色板上的相應(yīng)輸入位置標(biāo)記所述多個數(shù)據(jù)元素中的每個數(shù)據(jù)元素的裝置;以及用于使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成數(shù)據(jù)結(jié)構(gòu)的裝置。
在示例36中,如示例29至35中的任一項所述的主題可以包括:其中,用于使用所述時間戳來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)的裝置包括用于將在時間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的記錄的裝置;并且其中,用于使用所述多個數(shù)據(jù)元素的所述輸入位置來將所述多個數(shù)據(jù)元素組織成所述數(shù)據(jù)結(jié)構(gòu)的裝置包括用于將具有在空間上彼此相對接近地輸入的數(shù)據(jù)元素分組為所述數(shù)據(jù)結(jié)構(gòu)中的所述記錄中的字段的裝置。
在示例37中,如示例29至36中的任一項所述的主題可以包括:用于分析所述多個數(shù)據(jù)元素以標(biāo)識所述多個數(shù)據(jù)元素中的數(shù)據(jù)元素的數(shù)據(jù)類型的裝置。
在示例38中,如示例29至37中的任一項所述的主題可以包括:用于將離群值數(shù)據(jù)標(biāo)識為未能適應(yīng)所述數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)元素的裝置。
在示例39中,如示例29至38中的任一項所述的主題可以包括:用于將所述離群值數(shù)據(jù)處理成多個子數(shù)據(jù)元素的裝置,所述多個子數(shù)據(jù)元素符合所述數(shù)據(jù)結(jié)構(gòu)。
在示例40中,如示例29至39中的任一項所述的主題可以包括:其中,用于處理離群值數(shù)據(jù)的裝置包括用于將子數(shù)據(jù)元素與當(dāng)前記錄中的字段進(jìn)行比較以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型的裝置。
在示例41中,如示例29至40中的任一項所述的主題可以包括:其中,用于處理離群值數(shù)據(jù)的裝置包括用于將子數(shù)據(jù)元素與外部記錄中的字段進(jìn)行比較以判定所述子數(shù)據(jù)元素是否具有與所述字段類似的數(shù)據(jù)類型的裝置。
以上的詳細(xì)描述包括對附圖的參照,這些附圖形成了詳細(xì)描述的一部分。所述附圖以圖示的方式示出了可以被實踐的具體實施例。這些實施例在本文中也被稱為“示例”。這類示例可以包括除所示出或所描述的那些要素之外的要素。然而,還設(shè)想了包括所示出或所描述的要素的示例。此外,或者針對本文中所示出或所描述的具體示例(或者其一個或多個方面),或者針對本文中所示出或所描述的其他示例(或者其一個或多個方面),還考慮到使用所示出或所描述的那些要素的任何組合或枚舉(或者其一個或多個方面)的示例。
在本文檔中提及的出版物、專利和專利文獻(xiàn)通過引用而全部內(nèi)容結(jié)合在此,如同通過引用而單獨合并。在本文檔與通過引用并于此的那些文檔之間的不一致的使用的情況下,在并入的(多個)參考文獻(xiàn)中的使用是對本文檔的使用的補充;對于相矛盾的不一致,以本文檔中的用法為準(zhǔn)。
在本文檔中,如在專利文檔中是普遍的,術(shù)語“一個(a)”或“一個(an)”用于包括一個或多于一個,獨立于“至少一個”或者“一個或多個”的任何其他實例或用法。在本文檔中,術(shù)語“或者”用于指代非排他的或,從而使得除非另外指示,“a或b”包括“a而沒有b”、“b而沒有a”以及“a和b”。在所附權(quán)利要求書中,術(shù)語“包括(including)”和“其中(inwhich)”用作對應(yīng)術(shù)語“包括(comprising)”和“其中(wherein)”的通俗的英文等價詞。此外,在以下權(quán)利要求書中,術(shù)語“包括(including)”和“包括(comprising)”是開放式的,即,除在權(quán)利要求中列在此類術(shù)語之后的那些元素外還包括元素的系統(tǒng)、設(shè)備、物品或過程仍被視為落入所述權(quán)利要求的范圍內(nèi)。此外,在以下權(quán)利要求書中,術(shù)語“第一”、“第二”、和“第三”等僅用作標(biāo)簽,且不旨在暗示其對象的數(shù)值次序。
以上描述旨在是說明性的,而非限制性的。例如,以上所描述的示例(或者其一個或多個方面)可以互相結(jié)合使用。如本領(lǐng)域的普通技術(shù)人員在審閱以上描述后可以使用其他實施例。本摘要用于允許讀者快速確定本技術(shù)公開的性質(zhì)?;谄鋵⒉槐挥糜诮忉尰蛘呦拗茩?quán)利要求書的范圍或者含義的理解提交所述摘要。而且,在以上具體實施方式中,可以將各個特征分組在一起以便精簡本公開。然而,權(quán)利要求書可以不對本文中公開的每一個特征進(jìn)行闡述,并且實施例就可以表征所述特征的子集。進(jìn)一步地,實施例可以包括相比在特定示例中公開的那些特征更少的特征。因此,據(jù)此將權(quán)利要求書結(jié)合到具體實施方式中,權(quán)利要求獨立地代表單獨的實施例。本文中所公開的實施例的范圍應(yīng)當(dāng)參考所附權(quán)利要求書、連同這樣的權(quán)利要求書有權(quán)獲得的等效物的全部范圍來確定。