TW201535136A - 建立輸入建議的資料處理方法和系統 - Google Patents
建立輸入建議的資料處理方法和系統 Download PDFInfo
- Publication number
- TW201535136A TW201535136A TW103118593A TW103118593A TW201535136A TW 201535136 A TW201535136 A TW 201535136A TW 103118593 A TW103118593 A TW 103118593A TW 103118593 A TW103118593 A TW 103118593A TW 201535136 A TW201535136 A TW 201535136A
- Authority
- TW
- Taiwan
- Prior art keywords
- length
- prefix
- unit
- current
- entries
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申請提供一種建立輸入建議的資料處理方法,包括:生成長度小於或等於第一長度的前綴作為當前前綴,第一長度作為當前長度;合併相同的前綴,並為合併後的前綴和對應的詞條生成倒排索引;判斷每一前綴指向詞條的個數是否大於預設值N,對詞條個數大於N的前綴截取詞條;對前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,並返回至合併前綴的步驟重新處理,直至當前前綴指向詞條的個數均小於或等於N個,將倒排索引作為建立的輸入建議索引進行輸出;本申請提供的方法,形成根據詞條數目分佈的可變前綴長度的倒排索引,避免建立的倒排索引產生大量幾乎不會被用到的索引項,建立的輸入建議索引的冗餘程度得到了降低。
Description
本發明係關於搜索領域,尤其關於一種建立輸入建議的資料處理方法和系統。
搜索引擎是用於對網際網路上的資訊資源進行搜集整理,然後為用戶提供查詢的系統,它包括資訊搜集、資訊整理和用戶查詢。通常,用戶在搜索引擎中輸入關鍵字進行檢索,搜索引擎從索引資料庫中找到匹配該關鍵字的內容回饋給用戶。
目前,許多搜索引擎提供與用戶原始搜索查詢相關的一系列建議的搜索查詢。該一系列建議的搜索查詢又稱為輸入建議,是指在輸入框輸入的過程中,根據當前的部分輸入,提示建議的完整的輸入字串。例如,搜索引擎可以包括接收文本輸入的查詢輸入區域,搜索服務提供針對該文本輸入的搜索查詢建議,用戶可以選擇一個搜索查詢建議作為搜索查詢詞。輸入建議,主要用於在用戶輸入的過程中根據已有的部分輸入,推薦用戶可能輸入的完整文本,輔助啟發用戶快速完成文本輸入。例如,用戶的原始
搜索查詢是“中”,搜索引擎可以建議與之相關的搜索查詢為“中國”、“中心”、以及“中醫”等。
目前提供輸入建議的方法主要包括:生成輸入建議離線索引和提供線上輸入建議兩個部分。該生成輸入建議離線索引部分,可以稱為建立輸入建議,可以包括:為全部推薦的詞條列舉出所有前綴;對於前綴相同的不同詞條進行合併,並為已合併前綴的推薦詞條生成倒排索引;對每一個前綴的倒排索引根據具體業務需要進行排序,然後截取最重要的前N個詞條作為該前綴的輸入建議,生成前綴索引。該提供線上輸入建議可以包括:根據用戶在文本框中的當前輸入查找該前綴索引,根據該前綴索引返回索引記錄,該索引記錄即為提供的輸入建議。
在實現本申請過程中,發明人發現現有的建立輸入建議的技術中至少存在如下問題:由於推薦詞條資料較多,而每一個推薦詞條的完整列出的前綴數目也很多,因此全部推薦詞條所列舉出的所有前綴的數量非常龐大,而根據上述數量非常龐大的所有前綴所建立的倒排索引中,有大量的索引項幾乎不會被用到,例如一些前綴長度較長的索引項,如果較短前綴所指向的詞條較少,建立的索引中完全可以包括該較長前綴所指向的詞條,那麼該較長前綴的索引項就不會被用到。上述說明可以看出,該方法建立的輸入建議索引中存在冗餘。
本發明的目的在於提供一種提供輸入建議的方法和系統,以實現降低建立的輸入建議索引的冗餘程度。
一種建立輸入建議的資料處理方法,包括:為每一詞條生成長度小於或等於第一長度的前綴,並將該前綴作為當前前綴,將該第一長度作為當前長度;合併所有當前前綴中內容相同的前綴,為合併後的當前前綴和對應的詞條生成倒排索引;判斷該倒排索引中每一前綴指向詞條的個數是否大於預設值N,以及:若該倒排索引中存在指向詞條個數大於N的前綴,對倒排索引中詞條個數大於N的前綴截取詞條;根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,將更新後的當前前綴和當前長度返回至合併前綴的步驟重新進行處理;若每一前綴指向詞條的個數均小於或等於N,則將該倒排索引作為建立的輸入建議索引進行輸出。
較佳方案中,該對倒排索引中詞條個數大於N的前綴截取詞條,包括:對倒排索引中詞條個數大於N的前綴,若前綴長度小於當前長度,截取前綴指向的前N個詞條,若前綴長度等於當前長度,截取前綴所指向的前(N+1)個詞條。
較佳方案中,該根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長
度,包括:根據詞條內容將該前綴長度等於當前長度且詞條個數為(N+1)的前綴增加一個位元組,形成新的前綴,將已新增前綴的所有前綴作為更新後的當前前綴,將當前長度加1作為更新後的當前長度。
較佳方案中,該第一長度的取值最小為3。
較佳方案中,該N的取值最小為5。
較佳方案中,該方法中為每一詞條生成長度小於或等於第一長度的前綴之前,還包括:對詞條進行預處理;該對詞條進行預處理至少包括下述方式之一:去除詞條中無意義的字元;該無意義的字元包括空格、標點符號;將詞條內容中的大小寫以及簡繁體進行統一。
一種建立輸入建議的資料處理系統,包括:前綴生成單元、倒排索引生成單元、第一判斷單元、判斷截取單元、更新單元;其中,該前綴生成單元,用於為每一詞條生成長度小於或等於第一長度的前綴,將該前綴作為當前前綴,將該第一長度作為當前長度;該倒排索引生成單元,用於合併當前前綴中內容相同的前綴,為合併後的當前前綴及前綴對應的詞條生成倒排索引;該第一判斷單元,用於判斷所生成的倒排索引中每一前綴指向詞條的個數是否大於N,若詞條個數大於N,則進入判斷截取單元進行處理,若每一前綴指向詞條的個數
均小於或等於N,則將該倒排索引作為建立的輸入建議索引進行輸出;該判斷截取單元,用於對倒排索引中對於詞條個數大於N的前綴截取詞條;該更新單元,用於根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,將更新後的當前前綴和當前長度返回至倒排索引生成單元重新進行處理。
較佳方案中,該判斷截取單元包括:長度判斷單元、截取單元;其中,該長度判斷單元,用於判斷當前前綴中每一個前綴的長度是否小於當前長度;該截取單元,用於對長度判斷單元的結果中前綴長度小於當前長度的前綴所指向的詞條截取前N個詞條,對長度判斷單元結果中前綴長度等於當前長度的前綴所指向的詞條截取前(N+1)個詞條。
較佳方案中,該更新單元包括:前綴更新單元、當前長度更新單元;其中,該前綴更新單元,用於對長度判斷單元的結果中前綴長度等於當前長度的前綴,根據詞條內容將該前綴內容增加一個位元組,形成新的前綴,將已新增前綴的所有前綴更新為當前前綴;該當前長度更新單元,用於將當前長度加1作為更新後的當前長度。
較佳方案中,該倒排索引生成單元包括:合併單元、索引單元;其中,該合併單元,用於對所有當前前綴中內容相同的前綴進行合併;該索引單元,用於為合併後的當前前綴和前綴對應的詞條生成倒排索引。
較佳方案中,該第一判斷單元包括:個數判斷單元、輸出單元;其中,該個數判斷單元,用於判斷倒排索引生成單元生成的倒排索引中當前前綴中每一前綴指向的詞條的個數是否大於N個;該輸出單元,用於輸出倒排索引,具體地,若個數判斷單元的判斷結果中,每一前綴指向詞條的個數均小於或等於N個,則輸出倒排索引生成單元中的倒排索引結果。
較佳方案中,該建立輸入建議的資料處理系統,還包括:詞條預處理單元;該詞條預處理單元,用於為每一詞條進行預處理。
一種基於該建立輸入建議的資料處理方法建立的索引提供輸入建議的方法,包括:設置第二長度,判斷接收到的查詢串的長度是否大於第二長度,對長度小於或者等於第二長度的查詢串,將其對應的倒排索引作為輸入建議的結果;對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷;
判斷截斷後的查詢串對應的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度,返回更新後的第二長度重新進行截斷,直至查詢串截斷後所對應的詞條數小於或等於N;對於長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條;輸出查詢串的輸入建議結果。
較佳方案中,該更新第二長度包括:將第二長度加1作為更新後的第二長度。
較佳方案中,該過濾掉不匹配的詞條,具體包括:將截斷的查詢串對應的所有詞條和查詢串從第一個字元開始進行一一比對,將詞條中前x個字元與查詢串不完全相同的詞條過濾掉;該x表示查詢串的長度。
較佳方案中,該將截斷的查詢串查找到的倒排索引中的所有詞條和查詢串進行一一比對,包括:在進行比對的過程中,當查詢串與詞條的字元不是相同的語言時,將查詢串和詞條中的內容都轉換為拼音後再進行比對。
較佳方案中,該輸出查詢串的輸入建議結果,包括:對於查詢串長度小於第二長度的,直接輸出對應的詞條作為查詢串的輸入建議結果;對於截斷後查詢不到相同的索引的,返回空值作為查詢串的輸入建議結果;對於截斷後進行查詢的索引,將過濾掉不匹配的詞條的結果作為查詢串的輸入建議結果。
較佳方案中,該設置第二長度包括:設置第二長度的
值等於第一長度的值。
一種基於該建立輸入建議的資料處理系統建立的索引提供輸入建議的系統,包括:長度查詢單元、查詢串截斷單元、判斷更新單元、過濾單元、建議輸出單元;其中,該長度查詢單元,用於設置第二長度,查詢接收到的查詢串的長度是否大於第二長度,對查詢串的長度小於或者等於第二長度的,將其對應的倒排索引作為輸入建議的結果;該查詢串截斷單元,用於對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷;該判斷更新單元,用於判斷截斷後的查詢串對應的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度值並返回至查詢串截斷單元重新進行截斷,直至查詢串截斷後詞條數小於或等於N;該過濾單元,用於對長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條;該建議輸出單元,用於輸出查詢串的輸入建議結果。
較佳方案中,該判斷更新單元,包括:詞條數判斷單元、第二長度更新單元、返回單元;其中,該詞條數判斷單元,用於判斷該查詢串截斷單元截斷後的查詢串對應的倒排索引中詞條數是否大於N;該第二長度更新單元,用於將第二長度加1作為更新後的第二長度;該返回單元,用於將該詞條數判斷單元中判斷結果為
詞條數大於N的查詢串和該第二長度更新單元更新後的第二長度,返回至查詢串截斷單元。
較佳方案中,該過濾單元,包括:識別轉換單元、比對篩選單元;其中,該識別轉換單元,用於識別查詢串與詞條的內容是否屬於同一種語言,若不是,轉換查詢串或詞條的語言,使兩者的語言相同;該比對篩選單元,用於將截斷的查詢串對應的所有詞條和查詢串的內容從第一個字元開始進行一一比對,剔除不匹配的詞條。
本申請建立輸入建議索引的資料處理方法和系統,建立前綴與詞條的對應關係後,對同一個前綴所指向的詞條的個數進行判斷,當同一個前綴相關的詞條數目太多時,就對該前綴增加前綴長度,使前綴得到進一步細化,再重新建立細化後的前綴與詞條的關係。這樣,隨著前綴長度的增加,前綴指向的詞條數就減少,形成了一個根據詞條數目分佈的可變前綴長度的倒排索引,從而避免建立的倒排索引中產生大量幾乎不會被用到的索引項,這樣建立的輸入建議索引的冗餘程度就得到了降低。
本申請根據建立的輸入建議索引提供輸入建議的方法和系統,當接收到的查詢串長度大於或等於第二長度時,根據第二長度對查詢串進行截斷,截斷後的查詢串對應的詞條數目大於N時,臨時提高第二長度的值對查詢串重新進行截斷,保證查詢到的詞條數目小於或等於N;另外,
在查詢串原來長度大於第二長度且查詢到的詞條數小於或等於N的,可以透過比對的方法過濾掉與查詢串不匹配的詞條,保證詞條與接收到的查詢串相對應。上述方法採用動態增加前綴長度的方式,可以保證查詢到的詞條數目不超過N個,這樣在需要進行比對時,可以減少比對的計算量,提高提供輸入建議的效率。
此外,根據建立的輸入建議索引提供輸入建議的方法和系統,在比對過程中,如果將查詢串和詞條中的內容都轉換為utf-8編碼後再進行比對,還可以解決中文和拼音混和輸入的問題。
21‧‧‧前綴生成單元
22‧‧‧倒排索引生成單元
23‧‧‧第一判斷單元
24‧‧‧判斷截取單元
25‧‧‧更新單元
26‧‧‧詞條預處理單元
221‧‧‧合併單元
222‧‧‧索引單元
231‧‧‧個數判斷單元
232‧‧‧輸出單元
241‧‧‧長度判斷單元
242‧‧‧截取單元
251‧‧‧前綴更新單元
252‧‧‧當前長度更新單元
81‧‧‧長度查詢單元
82‧‧‧查詢串截斷單元
83‧‧‧判斷更新單元
84‧‧‧過濾單元
85‧‧‧建議輸出單元
831‧‧‧詞條數判斷單元
832‧‧‧第二長度更新單元
833‧‧‧返回單元
841‧‧‧識別轉換單元
842‧‧‧比對篩選單元
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本申請建立輸入建議索引的資料處理方法實施例的流程圖;圖2是本申請建立輸入建議索引的資料處理系統實施例的組成結構圖;圖3是本申請資料處理系統實施例中倒排索引生成單元的組成結構圖;
圖4是本申請資料處理系統實施例中第一判斷單元的組成結構圖;圖5是本申請資料處理系統實施例中判斷截取單元的組成結構圖;圖6是本申請資料處理系統實施例中更新單元的組成結構圖;圖7是本申請根據建立的輸入建議索引提供輸入建議的方法實施例的流程圖;圖8是本申請根據建立的輸入建議索引提供輸入建議的系統實施例的組成結構圖;圖9是本申請提供輸入建議的系統實施例中判斷更新單元的組成結構圖;圖10是本申請提供輸入建議的系統實施例中過濾單元的組成結構圖。
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
圖1是本申請中建立輸入建議索引的資料處理方法的
流程圖。如圖1所示,本申請建立輸入建議索引的資料處理方法包括:S101:為每一詞條生成長度小於或等於第一長度的前綴,將該前綴作為當前前綴,將該第一長度作為當前長度。
首先為每一詞條生成長度小於或等於第一長度的前綴。中文單字的utf-8編碼(8-bit Unicode Transformation Format,也稱為萬國碼)通常佔用3個位元組的長度,例如“中”的utf-8編碼為“\xe4\xb8\xad”;所以該第一長度一般至少取3。通常一個英文字母佔用一個位元組的長度,因此,第一長度為3時,每一個詞條的拼音只生成包含三個字元及三個以下字元的前綴。將該長度小於或等於第一長度的前綴作為當前前綴,將該第一長度作為當前長度。
以“中國石化”這一詞條為例,長度小於或等於3的前綴可以包括:中文單字“中”和拼音“zhongguoshihua”中的“Z”、“ZH”、“ZHO”。
S102:合併所有當前前綴中內容相同的前綴,為合併後的當前前綴和對應的詞條生成倒排索引。
對於不同的詞條,可能會出現相同的前綴,為了生成的倒排索引中前綴具有唯一性,需要將內容相同的當前前綴進行合併,並為合併後的當前前綴生成倒排索引,該倒排索引中包括前綴和前綴指向的詞條。
例如,對於兩個詞條“中國石化”和“中關村”,當
前長度為3時,詞條“中國石化”的前綴與前綴指向的詞條的關係如表1所示,詞條“中關村”的前綴與前綴指向的詞條的關係如表2所示。
將表1和表2中相同的前綴進行合併,並生成倒排索引,表3所示為合併前綴後生成的倒排索引中前綴與前綴指向的詞條的關係。
S103:判斷該倒排索引中每一前綴指向詞條的個數是否大於預設值N,若詞條個數大於N,則進入截取詞條的步驟進行處理,若每一前綴指向詞條的個數均小於或等於N,則將該倒排索引作為建立的輸入建議索引進行輸出。
該步驟中,N為預設值;該N的值可以根據需要進行選取,一般N至少為5。若一個前綴對應的詞條數大於N個,表示該前綴對應的可以提供的建議過多,其中部分詞條可能不能被顯示出來,這就需要對這些前綴及其指向的詞條作進一步處理。若該倒排索引中每一個前綴對應的詞條數均小於或等於N個,則表示每一個前綴對應的詞條都能夠作為輸入建議,不會產生冗餘,此時該倒排索引即為建立好的輸入建議索引。
例如,表4所示的是生成的倒排列索引中前綴與前綴指向的詞條之間的關係。若N取值為5,則表4中,前綴“Z”和“ZH”指向的詞條分別有6個,那麼這兩個前綴及其指向的詞條需要進行進一步處理。而其餘的前綴所指向的詞條均小於5個,不需要進行進一步處理。
S104:對倒排索引中詞條個數大於N的前綴截取詞條。
對S103中所指向的詞條數目大於N個的前綴截取詞條,具體包括:對於前綴長度小於當前長度的前綴,截取其所指向的詞條中的前N個詞條,對於前綴長度等於當前長度的前綴,截取其所指向的詞條中的前(N+1)個詞條。
例如,表5所示為當前長度為3時生成的倒排索引中前綴與前綴指向的詞條之間的關係。按照上述截取原則截取後,結果如表6所示。
S105:根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,將更新後的當前前綴和當前長度返回至合併前綴的步驟重新進行處理。
對倒排索引中前綴長度等於當前長度的前綴且詞條個數為(N+1)的,根據詞條內容將前綴內容增加一個位元組,新增的位元組可以是中文前綴所對應的每一個詞條中與前綴內容相鄰的下一個位元組的中文utf-8編碼,也可以是拼音前綴對應每一個詞條中與前綴相鄰的下一個拼音字母;該已新增位元組的前綴形成新的前綴;將包括新的前綴的所有前綴作為更新後的當前前綴,將當前長度值加1作為更新後的長度值,將更新後的當前前綴和當前長度返回至合併前綴的步驟重新進行處理。
例如表6中的前綴及其指向的詞條,前綴“中”和“ZHO”的前綴長度等於3,且這兩個前綴指向的詞條個數大於5,那麼,根據這兩個前綴指向的詞條將前綴的內容增加一個位元組。增加的位元組可以是中文前綴對應每一個詞條中與前綴相鄰的下一個中文utf-8編碼,例如中文前綴“中”對應的每一個詞條中與前綴“中”相鄰的下一個
位元組的中文utf-8編碼,包括:中文“國”、“關”、“通”的utf-8編碼中的第一個位元組,“國”的utf-8編碼為\xe5\x9b\xbd,“關”的utf-8編碼為\xe5\x85\xb3,“通”的utf-8編碼為\xe9\x80\x9a,所以,增加的位元組可以是“\xe5”或“\xe9”;增加的位元組還可以是拼音前綴對應每一個詞條中與前綴相鄰的下一個拼音字母,例如與拼音前綴“ZHO”相鄰的拼音字母“N”。因此,對於表6中的前綴,新的前綴可以包括:“中\xe5”、“中\xe9”、“ZHON”。將已包括新的前綴的所有前綴作為更新後的當前前綴,並將當前長度值加1作為更新後的當前長度。
將更新後的當前前綴和當前長度返回至S102-S105重新進行處理,直至滿足S103中該當前前綴均滿足指向的詞條數小於或等於N。表7所示為更新了當前前綴後建立的倒排索引中,當前前綴及其指向的詞條之間的關係。
上述提供的建立輸入建議索引的資料處理方法,其步驟S101~S105可以簡單地用代碼式表達方法表示為:
L1:{設定第一長度,第一長度作為當前長度;
L2:生成長度小於或等於第一長度的前綴;
L3:{合併前綴內容相同的前綴;
L4:生成倒排索引;
L5:判斷倒排索引中每個前綴指向詞條的個數;
L6:{若詞條個數大於N,跳轉至L8;
L7:若詞條個數小於或等於N,跳轉至L16};
L8:判斷該前綴的長度是否小於當前長度;
L9:{若該前綴的長度小於當前長度
L10:截取前N個詞條;
L11:若該前綴的長度等於當前長度
L12:截取前(N+1)個詞條;}
L13:選擇倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴;
L14:對於L13選擇的前綴,前綴內容增加一個位元組,當前長度的值加1;
L15:返回至L3;}
L16:倒排索引作為建立的輸入建議索引進行輸出;}
上述提供的建立輸入建議索引的資料處理方法,建立前綴與詞條的對應關係後,對同一個前綴所指向的詞條的個數進行判斷,當同一個前綴相關的詞條數目太多時,就對該前綴增加前綴長度,使前綴得到進一步細化,再重新
建立細化後的前綴與詞條的關係。這樣,隨著前綴長度的增加,前綴指向的詞條數就減少,形成了一個根據詞條數目分佈的可變前綴長度的倒排索引,從而避免建立的輸入建議索引產生大量幾乎不會被用到的索引項,這樣建立的輸入建議索引的冗餘程度就得到了降低。
圖2是本申請建立輸入建議索引的資料處理系統的組成結構圖。如圖2所示,申請建立輸入建議索引的資料處理系統包括:前綴生成單元21、倒排索引生成單元22、第一判斷單元23、判斷截取單元24、更新單元25。其中,該前綴生成單元21,用於為每一詞條生成長度小於或等於第一長度的前綴,並將該前綴作為當前前綴,將該第一長度作為當前長度。
該倒排索引生成單元22,用於合併當前前綴中內容相同的前綴,並為合併後的當前前綴及前綴對應的詞條生成倒排索引。
該第一判斷單元23,用於判斷倒排索引生成單元22生成的倒排索引中每一前綴指向的詞條的個數是否大於N個,若每一前綴指向詞條的個數均小於或等於N個,則將該倒排索引作為建立的輸入建議索引進行輸出;若前綴指向詞條的個數大於N,則進入判斷截取單元24進行處理。
該判斷截取單元24,用於對第一判斷單元23中詞條個數大於N的前綴截取詞條。
該更新單元25,用於對倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,並將更新後的當前前綴和當前長度返回至合併前綴的步驟重新進行處理。
圖3是倒排索引生成單元的組成結構圖。如圖3所示,該倒排索引生成單元22包括:合併單元221、索引單元222。其中,該合併單元221,用於對所有當前前綴中內容相同的前綴進行合併。
該索引單元222,用於為合併後的當前前綴和前綴對應的詞條生成倒排索引。
圖4是第一判斷單元的組成結構圖。如圖4所示,該第一判斷單元23包括:個數判斷單元231、輸出單元232。其中,該個數判斷單元231,用於判斷倒排索引生成單元22生成的倒排索引中每一前綴指向的詞條的個數是否大於N個。
該輸出單元232,用於輸出倒排索引,具體地,若個數判斷單元231的判斷結果中,每一前綴指向詞條的個數均小於或等於N個,則輸出倒排索引生成單元22中的倒排索引結果。
圖5是判斷截取單元的組成結構圖。如圖5所示,該判斷截取單元24包括:長度判斷單元241、截取單元242。其中,
該長度判斷單元241,用於判斷每一個前綴的長度是否小於當前長度;該截取單元242,用於對長度判斷單元241的結果中前綴長度小於當前長度的前綴所指向的詞條截取前N個詞條,對長度判斷單元241結果中前綴長度等於當前長度的前綴所指向的詞條截取前(N+1)個詞條。
圖6是更新單元的組成結構圖。如圖6所示,該更新單元25包括:前綴更新單元251、當前長度更新單元252。其中,該前綴更新單元251,用於對長度等於當前長度且詞條個數為(N+1)的前綴,根據詞條內容將該前綴內容增加一個位元組,形成新的前綴,將已包括新的前綴的所有前綴更新為當前前綴。
該當前長度更新單元252,用於將當前長度加1作為更新後的當前長度。
上述提供的建立輸入建議索引的資料處理系統與建立輸入建議索引的資料處理方法相對應,可以實現資料處理方法中的各個步驟,該資料處理系統建立的輸入建議索引能夠達到資料處理方法的實施效果。
下面介紹本申請建立輸入建議索引的資料處理方法的第二實施例。如圖1所示,本實施例與資料處理方法第一實施例的區別在於,該建立輸入建議索引的資料處理方法還包括:為每一詞條進行預處理。具體可以包括:去除詞條中的空格、標點符號等無意義的字元,將詞條內容中的
大小寫以及簡繁體進行統一,如將大小寫不同的字母統一轉換為大寫或者可以將簡體和繁體中文漢字統一轉換為簡體。例如可以將詞條“石_油”轉換為“石油”;或可以將詞條“中國石化”轉換為“中国石化”等。本實施例中的其他部分與資料處理方法第一實施例相同,不再詳細描述。
下面介紹建立輸入建議索引的資料處理系統的第二實施例。如圖2所示,與建立輸入建議索引的資料處理方法的第二實施例相對應,該建立輸入建議索引的資料處理系統的第二實施例與輸入建議索引的資料處理系統的第一實施例的區別在於,該建立輸入建議索引的資料處理系統還包括:詞條預處理單元26。該詞條預處理單元26,用於為每一詞條進行預處理,包括:去除詞條中的空格、標點符號等無意義的詞,將詞條內容中的大小寫以及簡繁體進行統一,如將大小寫不同的字母統一轉換為大寫或者將簡體和繁體中文漢字統一轉換為簡體。本實施例中的其他部分與資料處理系統第一實施例相同,不再詳細描述。
上述建立輸入建議索引的資料處理方法的第二實施例,在建立輸入建議索引的資料處理方法第一實施例的基礎上增加了詞條預處理的步驟,能排除建立的輸入建議索引中出現的無意義的字元、同一詞條中的大小寫和簡繁體不統一。能夠為建立輸入建議索引的資料處理方法提供更準確的資料。
相應地,上述建立輸入建議索引的資料處理系統的第
二實施例,在建立輸入建議索引的資料處理方法第一實施例的基礎上增加了詞條預處理單元,能夠實現資料處理方法的第二實施例的資料處理過程,為建立輸入建議索引的資料處理方法提供更準確的資料。
圖7是本申請根據建立的輸入建議索引提供輸入建議的方法實施例的流程圖。如圖7所示,根據建立的輸入建議索引提供輸入建議的方法包括:S701:設置第二長度,判斷接收到的查詢串的長度是否大於第二長度,對查詢串的長度小於或者等於第二長度的,將其對應的倒排索引作為輸入建議的結果。
將建立輸入建議索引的方法中的第一長度作為本方法的第二長度。當接收到的查詢串的長度小於或者等於該第二長度時,則直接將其對應的倒排索引作為輸入建議的結果。若接收到的查詢串的長度大於該第二長度,則進入下一步驟進行處理。
S702:對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷。
對於長度大於第二長度的查詢串,該步驟根據第二長度對該查詢串進行截斷,具體地,截取該查詢串前面的第二長度的內容。
S703:判斷截斷後的查詢串對應的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度並返回重新進行截斷,直至查詢串截斷後詞條數小於或等於N。
對S702中截斷後的查詢串,根據倒排索引查找對應
的詞條,判斷該詞條的個數是否大於N,由於在建立倒排索引的過程中,對於需要進一步增加前綴位元組的前綴,截取的詞條數為(N+1)個,所以詞條的個數大於N時,表示還可以增加前綴的長度,則將第二長度值加1作為更新後的第二長度值,並將該詞條個數大於N的查詢串和第二長度返回至S702,根據更新後的第二長度值對查詢串重新進行截斷,截取該查詢串的前面第二長度的內容,對重新截取後的查詢串根據倒排索引重新查詢對應的詞條,判斷重新查詢得到的詞條個數是否大於N,直至所有查詢到的詞條個數小於或等於N。
S704:對於長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條。
對於長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,由於對該查詢串採用截斷的方式查找對應的詞條,這就會導致部分詞條與接收到的查詢串的完整內容並不對應。那麼需要將倒排索引中的詞條與查詢串的完整內容進行比對,過濾掉不匹配的詞條。具體地,將查詢串中的內容與每個詞條的內容從第一個字元開始進行一一比對,假設查詢串的長度為x,那麼詞條中前x個位元組與查詢串內容完全相同的,則認為是與查詢串對應的詞條,如不完全相同,則認為不是與查詢串對應的詞條,在該步驟被過濾掉。
例如,在建立輸入建議索引時,第一長度設為3,N值設為6,有一個前綴“abc”的對應詞條為“abcd,abce,
abcf,abcp,abcea”這五個,那麼不需要對前綴“abc”增加位元組重新建立索引,建立的索引中包含“abc”→“abcd,abce,abcf,abcp,abcea”這一對應關係。當接收到的查詢串為“abce”時,第二長度初始為3,N為6,需要截取查詢串“abce”中的前3個位元組“abc”來進行查詢,得到對應的詞條為“abcd,abce,abcf,abcp,abcea”,滿足詞條個數小於6,但是,詞條中只有“abce,abcea”這兩個詞條是與查詢串“abce”對應的,其他三個詞條“abcd,abcf,abcp”與查詢串“abce”都不對應,就需要在該步驟將詞條“abcd,abcf,abcp”過濾掉。
需要說明的是,在進行比對的過程中,若查詢串與詞條的字元不屬於相同的語言,例如查詢串的字元為中文,而詞條的字元為字母,則可以將查詢串和詞條中的內容都轉換為拼音後再進行比對。
S705:輸出查詢串的輸入建議結果。
對於S701中查詢串長度小於第二長度的,直接輸出對應的詞條作為查詢串的輸入建議結果;對於S703中截斷後查詢不到相同的索引的,返回空值作為查詢串的輸入建議結果;對於S703中截斷後進行查詢的索引,經過S704過濾後,輸出S704過濾的結果作為查詢串的輸入建議結果。
上述根據建立的輸入建議索引提供輸入建議的方法,當接收到的查詢串長度大於或等於第二長度時,根據第二
長度對查詢串進行截斷,截斷後的查詢串對應的詞條數目大於N時,臨時提高第二長度的值對查詢串重新進行截斷,保證查詢到的詞條數目小於或等於N;另外,在查詢串原來長度大於第二長度且查詢到的詞條數小於或等於N的,可以透過比對的方法過濾掉與查詢串不匹配的詞條,保證詞條與接收到的查詢串相對應。上述方法採用動態增加前綴長度的方式,可以保證查詢到的詞條數目不超過N個,這樣在需要進行比對時,可以減少比對的計算量,提高提供輸入建議的效率。
此外,在比對過程中,如果將查詢串和詞條中的內容都轉換為utf-8編碼後再進行比對,還可以解決中文和拼音混和輸入的問題。
圖8是本申請根據建立的輸入建議索引提供輸入建議的系統實施例的組成結構圖。如圖8所示,該根據建立的輸入建議索引提供輸入建議的系統包括:長度查詢單元81、查詢串截斷單元82、判斷更新單元83、過濾單元84、建議輸出單元85。其中,該長度查詢單元81,用於設置第二長度,查詢接收到的查詢串的長度是否大於第二長度,對查詢串的長度小於或者等於第二長度的,將其對應的倒排索引作為輸入建議的結果。
該查詢串截斷單元82,用於對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷。
該判斷更新單元83,用於判斷截斷後的查詢串對應
的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度並返回至查詢串截斷單元82重新進行截斷,直至查詢串截斷後詞條數小於或等於N。
該過濾單元84,用於對於長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條。
該建議輸出單元85,用於輸出查詢串的輸入建議結果。
圖9是判斷更新單元的組成結構圖。如圖9所示,該判斷更新單元83,包括:詞條數判斷單元831、第二長度更新單元832、返回單元833。其中,該詞條數判斷單元831,用於判斷該查詢串截斷單元82截斷後的查詢串對應的倒排索引中詞條數是否大於N;該第二長度更新單元832,將第二長度加1作為更新後的第二長度;該返回單元833,用於將該詞條數判斷單元831中判斷結果為詞條數大於N的查詢串和該第二長度更新單元832更新後的第二長度,返回至查詢串截斷單元82。
圖10是過濾單元的組成結構圖。如圖10所示,該過濾單元84,包括:識別轉換單元841、比對篩選單元842。其中,該識別轉換單元841,用於識別查詢串與詞條的字元是否屬於同一種語言,若不是,轉換查詢串或詞條的語言,使兩者的語言相同。具體地可以將查詢串和詞條中的
內容都轉換為拼音。
該比對篩選單元842,用於將查詢串對應的倒排索引中的所有詞條和查詢串的內容進行一一比對,剔除不匹配的詞條。
上述根據建立的輸入建議索引提供輸入建議的系統,與根據建立的輸入建議索引提供輸入建議的方法相對應,可以實現方法實施例的過程,達到方法實施例的技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可編程邏輯器件(Programmable Logic Device,PLD)(例如現場可編程閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件編程來確定。由設計人員自行編程來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,
而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog2。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯編程並編程到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀介質、邏輯門、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。
本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯編
程來使得控制器以邏輯門、開關、專用積體電路、可編程邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本申請可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。該電腦軟體產品可以包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本申請各個實施例或者實施例的某些部分所述的方法。該電腦軟體產品可以儲存在記憶體中,記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記
憶體(flash RAM)。記憶體是電腦可讀介質的示例。電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可編程唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁片儲存或其他磁性儲存設備或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括暫態電腦可讀媒體(transitory media),如調製的資料信號和載波。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本申請可用於眾多通用或專用的電腦系統環境或配置中。例如:個人電腦、伺服器電腦、手持設備或可擕式設備、平板型設備、多處理器系統、基於微處理器的系統、機頂盒、可編程的消費電子設備、網路PC、小型電腦、大型電腦、包括以上任何系統或設備的分散式計算環境等等。
本申請可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式計算環境中實踐本申請,在這些分散式計算環境中,由透過通信網路而被連接的遠端處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端電腦儲存介質中。
雖然透過實施例描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的申請專利範圍包括這些變形和變化而不脫離本申請的精神。
Claims (15)
- 一種建立輸入建議的資料處理方法,其特徵在於,包括:為每一詞條生成長度小於或等於第一長度的前綴,並將該前綴作為當前前綴,將該第一長度作為當前長度;合併所有當前前綴中內容相同的前綴,為合併後的當前前綴和對應的詞條生成倒排索引;判斷該倒排索引中每一前綴指向詞條的個數是否大於預設值N,以及:若該倒排索引中存在指向詞條個數大於N的前綴,對倒排索引中詞條個數大於N的前綴截取詞條;根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,將更新後的當前前綴和當前長度返回至合併前綴的步驟重新進行處理;若每一前綴指向詞條的個數均小於或等於N,則將該倒排索引作為建立的輸入建議索引進行輸出。
- 如申請專利範圍第1項所述的建立輸入建議的資料處理方法,其中,該對倒排索引中詞條個數大於N的前綴截取詞條,包括:對倒排索引中詞條個數大於N的前綴,若前綴長度小於當前長度,截取前綴指向的前N個詞條,若前綴長度等於當前長度,截取前綴所指向的前(N+1)個詞條。
- 如申請專利範圍第1項所述的建立輸入建議的資料處理方法,其中,該根據倒排索引中前綴長度等於當前長 度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,包括:根據詞條內容將該前綴長度等於當前長度且詞條個數為(N+1)的前綴增加一個位元組,形成新的前綴,將已新增前綴的所有前綴作為更新後的當前前綴,將當前長度加1作為更新後的當前長度。
- 一種建立輸入建議的資料處理系統,其特徵在於,包括:前綴生成單元、倒排索引生成單元、第一判斷單元、判斷截取單元、更新單元;其中,該前綴生成單元,用於為每一詞條生成長度小於或等於第一長度的前綴,將該前綴作為當前前綴,將該第一長度作為當前長度;該倒排索引生成單元,用於合併當前前綴中內容相同的前綴,為合併後的當前前綴及前綴對應的詞條生成倒排索引;該第一判斷單元,用於判斷所生成的倒排索引中每一前綴指向詞條的個數是否大於N,若詞條個數大於N,則進入判斷截取單元進行處理,若每一前綴指向詞條的個數均小於或等於N,則將該倒排索引作為建立的輸入建議索引進行輸出;該判斷截取單元,用於對倒排索引中對於詞條個數大於N的前綴截取詞條;該更新單元,用於根據倒排索引中前綴長度等於當前長度且詞條個數為(N+1)的前綴,更新當前前綴和當前長度,將更新後的當前前綴和當前長度返回至倒排索引生 成單元重新進行處理。
- 如申請專利範圍第4項所述的建立輸入建議的資料處理系統,其中,該判斷截取單元包括:長度判斷單元、截取單元;其中,該長度判斷單元,用於判斷當前前綴中每一個前綴的長度是否小於當前長度;該截取單元,用於對長度判斷單元的結果中前綴長度小於當前長度的前綴所指向的詞條截取前N個詞條,對長度判斷單元結果中前綴長度等於當前長度的前綴所指向的詞條截取前(N+1)個詞條。
- 如申請專利範圍第4項所述的建立輸入建議的資料處理系統,其中,該更新單元包括:前綴更新單元、當前長度更新單元;其中,該前綴更新單元,用於對長度判斷單元的結果中前綴長度等於當前長度的前綴,根據詞條內容將該前綴內容增加一個位元組,形成新的前綴,將已新增前綴的所有前綴更新為當前前綴;該當前長度更新單元,用於將當前長度加1作為更新後的當前長度。
- 如申請專利範圍第4項所述的建立輸入建議的資料處理系統,其中,該倒排索引生成單元包括:合併單元、索引單元;其中,該合併單元,用於對所有當前前綴中內容相同的前綴進行合併; 該索引單元,用於為合併後的當前前綴和前綴對應的詞條生成倒排索引。
- 一種基於申請專利範圍第1~3項中任意一項所述方法建立的索引提供輸入建議的方法,其特徵在於,包括:設置第二長度,判斷接收到的查詢串的長度是否大於第二長度,對長度小於或者等於第二長度的查詢串,將其對應的倒排索引作為輸入建議的結果;對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷;判斷截斷後的查詢串對應的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度,返回更新後的第二長度重新進行截斷,直至查詢串截斷後所對應的詞條數小於或等於N;對於長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條;輸出查詢串的輸入建議結果。
- 如申請專利範圍第8項所述的根據建立的輸入建議索引提供輸入建議的方法,其中,該更新第二長度包括:將第二長度加1作為更新後的第二長度。
- 如申請專利範圍第8項所述的根據建立的輸入建議索引提供輸入建議的方法,其中,該過濾掉不匹配的詞條,具體包括:將截斷的查詢串對應的所有詞條和查詢串從第一個字元開始進行一一比對,將詞條中前x個字元與 查詢串不完全相同的詞條過濾掉;該x表示查詢串的長度。
- 如申請專利範圍第10項所述的根據建立的輸入建議索引提供輸入建議的方法,其中,該將截斷的查詢串查找到的倒排索引中的所有詞條和查詢串進行一一比對,包括:在進行比對的過程中,當查詢串與詞條的字元不是相同的語言時,將查詢串和詞條中的內容都轉換為拼音後再進行比對。
- 如申請專利範圍第8項所述的根據建立的輸入建議索引提供輸入建議的方法,其中,該輸出查詢串的輸入建議結果,包括:對於查詢串長度小於第二長度的,直接輸出對應的詞條作為查詢串的輸入建議結果;對於截斷後查詢不到相同的索引的,返回空值作為查詢串的輸入建議結果;對於截斷後進行查詢的索引,將過濾掉不匹配的詞條的結果作為查詢串的輸入建議結果。
- 如申請專利範圍第8項所述的根據建立的輸入建議索引提供輸入建議的方法,其中,該設置第二長度包括:設置第二長度的值等於第一長度的值。
- 一種基於申請專利範圍第4~7項中任意一項所述系統建立的索引提供輸入建議的系統,其特徵在於,包括:長度查詢單元、查詢串截斷單元、判斷更新單元、過濾單元、建議輸出單元;其中,該長度查詢單元,用於設置第二長度,查詢接收到的查詢串的長度是否大於第二長度,對查詢串的長度小於或 者等於第二長度的,將其對應的倒排索引作為輸入建議的結果;該查詢串截斷單元,用於對於長度大於第二長度的查詢串,根據第二長度對該查詢串進行截斷;該判斷更新單元,用於判斷截斷後的查詢串對應的倒排索引中詞條數是否大於N,詞條數大於N的,更新第二長度值並返回至查詢串截斷單元重新進行截斷,直至查詢串截斷後詞條數小於或等於N;該過濾單元,用於對長度大於第二長度且查詢串截斷後詞條數小於或等於N的查詢串,過濾掉不匹配的詞條;該建議輸出單元,用於輸出查詢串的輸入建議結果。
- 如申請專利範圍第14項所述的根據建立的輸入建議索引提供輸入建議的系統,其中,該判斷更新單元,包括:詞條數判斷單元、第二長度更新單元、返回單元;其中,該詞條數判斷單元,用於判斷該查詢串截斷單元截斷後的查詢串對應的倒排索引中詞條數是否大於N;該第二長度更新單元,用於將第二長度加1作為更新後的第二長度;該返回單元,用於將該詞條數判斷單元中判斷結果為詞條數大於N的查詢串和該第二長度更新單元更新後的第二長度,返回至查詢串截斷單元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410080568.9A CN104899214B (zh) | 2014-03-06 | 2014-03-06 | 一种建立输入建议的数据处理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201535136A true TW201535136A (zh) | 2015-09-16 |
Family
ID=54017543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103118593A TW201535136A (zh) | 2014-03-06 | 2014-05-28 | 建立輸入建議的資料處理方法和系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9870433B2 (zh) |
JP (1) | JP2017511928A (zh) |
CN (1) | CN104899214B (zh) |
HK (1) | HK1211101A1 (zh) |
TW (1) | TW201535136A (zh) |
WO (1) | WO2015134775A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956203A (zh) * | 2016-06-30 | 2016-09-21 | 湖州亿联信息技术有限公司 | 一种信息存储方法、信息查询方法、搜索引擎装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874880B (zh) * | 2018-05-04 | 2021-11-23 | 昆明理工大学 | 一种基于Trie的空间关键词查询方法及装置 |
CN108846013B (zh) * | 2018-05-04 | 2021-11-23 | 昆明理工大学 | 一种基于geohash与Patricia Trie的空间关键词查询方法及装置 |
CN110674262B (zh) * | 2019-10-16 | 2023-01-06 | 北京百度网讯科技有限公司 | 词语识别方法、装置、电子设备和介质 |
US11210291B2 (en) * | 2020-05-11 | 2021-12-28 | Microsoft Technology Licensing, Llc | Differential indexing for fast database search |
US20220044111A1 (en) * | 2020-08-07 | 2022-02-10 | Sap Se | Automatic flow generation from customer tickets using deep neural networks |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US7487145B1 (en) * | 2004-06-22 | 2009-02-03 | Google Inc. | Method and system for autocompletion using ranked results |
US8438142B2 (en) | 2005-05-04 | 2013-05-07 | Google Inc. | Suggesting and refining user input based on original user input |
US7634457B2 (en) | 2005-10-07 | 2009-12-15 | Oracle International Corp. | Function-based index tuning for queries with expressions |
KR100643801B1 (ko) * | 2005-10-26 | 2006-11-10 | 엔에이치엔(주) | 복수의 언어를 연동하는 자동완성 추천어 제공 시스템 및방법 |
EP1826692A3 (en) | 2006-02-22 | 2009-03-25 | Copernic Technologies, Inc. | Query correction using indexed content on a desktop indexer program. |
US8990240B2 (en) | 2008-12-30 | 2015-03-24 | Ebay Inc. | Predictive algorithm for search box auto-complete |
WO2010141429A1 (en) | 2009-06-01 | 2010-12-09 | Sean Christopher Timm | Providing suggested web search queries based on click data of stored search queries |
US8498972B2 (en) * | 2010-12-16 | 2013-07-30 | Sap Ag | String and sub-string searching using inverted indexes |
US9182831B2 (en) | 2011-04-09 | 2015-11-10 | Shanghai Chule (Cootek) Information Technology Co., Ltd. | System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment |
US9043350B2 (en) | 2011-09-22 | 2015-05-26 | Microsoft Technology Licensing, Llc | Providing topic based search guidance |
US9298825B2 (en) * | 2011-11-17 | 2016-03-29 | Microsoft Technology Licensing, Llc | Tagging entities with descriptive phrases |
CN102768681B (zh) * | 2012-06-26 | 2014-10-22 | 北京奇虎科技有限公司 | 一种用于搜索输入的推荐系统及方法 |
CN103473310A (zh) * | 2012-09-11 | 2013-12-25 | 周良文 | 搜索关键词节点信息站点的系统、方法 |
US20140201229A1 (en) | 2013-01-16 | 2014-07-17 | Google Inc. | Providing display suggestions |
WO2014139120A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Search intent preview, disambiguation, and refinement |
-
2014
- 2014-03-06 CN CN201410080568.9A patent/CN104899214B/zh active Active
- 2014-05-28 TW TW103118593A patent/TW201535136A/zh unknown
-
2015
- 2015-03-05 WO PCT/US2015/019010 patent/WO2015134775A1/en active Application Filing
- 2015-03-05 US US14/639,875 patent/US9870433B2/en active Active
- 2015-03-05 JP JP2016553443A patent/JP2017511928A/ja active Pending
- 2015-12-01 HK HK15111784.0A patent/HK1211101A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956203A (zh) * | 2016-06-30 | 2016-09-21 | 湖州亿联信息技术有限公司 | 一种信息存储方法、信息查询方法、搜索引擎装置 |
CN105956203B (zh) * | 2016-06-30 | 2019-03-08 | 湖州亿联信息技术有限公司 | 一种信息存储方法、信息查询方法、搜索引擎装置 |
Also Published As
Publication number | Publication date |
---|---|
US20150254263A1 (en) | 2015-09-10 |
CN104899214A (zh) | 2015-09-09 |
WO2015134775A1 (en) | 2015-09-11 |
CN104899214B (zh) | 2018-05-22 |
HK1211101A1 (zh) | 2016-05-13 |
JP2017511928A (ja) | 2017-04-27 |
US9870433B2 (en) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201535136A (zh) | 建立輸入建議的資料處理方法和系統 | |
US20180032930A1 (en) | System and method to Generate Queries for a Business Database | |
KR102407510B1 (ko) | 데이터 저장 및 조회 방법, 장치, 기기 및 매체 | |
CN106897343B (zh) | 执行计划的查找方法、存储方法及装置 | |
CN110543574A (zh) | 一种知识图谱的构建方法、装置、设备及介质 | |
CN105930362B (zh) | 搜索目标识别方法、装置及终端 | |
CN110020422A (zh) | 特征词的确定方法、装置和服务器 | |
CN111159330A (zh) | 一种数据库查询语句的生成方法及装置 | |
CN107436911A (zh) | 模糊查询方法、装置及查询系统 | |
CN102662936A (zh) | 融合Web挖掘、多特征与有监督学习的汉英未登录词翻译方法 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
JP2012533819A (ja) | 文書インデックス化およびデータクエリングのための方法およびシステム | |
CN104077297A (zh) | 基于本体的查询方法及装置 | |
CN108875065B (zh) | 一种基于内容的印尼新闻网页推荐方法 | |
JP6722615B2 (ja) | クエリクラスタリング装置、方法、及びプログラム | |
EP3822818A1 (en) | Method, apparatus, device and storage medium for intelligent response | |
WO2021258853A1 (zh) | 词汇纠错方法、装置、计算机设备及存储介质 | |
JP7197542B2 (ja) | テキストワードセグメンテーションの方法、装置、デバイスおよび媒体 | |
WO2019200699A1 (zh) | 政务系统发文方法、装置、计算机设备及存储介质 | |
CN117112595A (zh) | 一种信息查询方法、装置、电子设备及存储介质 | |
CN108804550A (zh) | 一种查询词拓展方法、装置以及电子设备 | |
CN104166550A (zh) | 一种面向软件维护的修改请求重新定制的方法 | |
CN107329964A (zh) | 一种文本处理方法及装置 | |
CN104424399A (zh) | 一种基于病毒蛋白质本体的知识导航的方法、装置和系统 | |
Darmawan et al. | Hoax news analysis for the Indonesian national capital relocation public policy with the support vector machine and random forest algorithms |