述當前輸入字符串進行切分可以準確、快捷的切分出字或詞對應的字符串,提高了輸入匹配度,從而轉換得到準確的候選序列集合,再采用該候選序列集合中的每個候選序列分別進行搜索獲取搜索結果,并將所述候選序列集合和對應的搜索結果直接反饋給所述輸入法客戶端,無需在搜索引擎的搜索框中輸入搜索即可直接通過輸入法獲取想要的搜索結果,操作簡便、快捷,提高了搜索效率。
[0039]實施例一
[0040]參照圖1,示出了本發(fā)明的一種基于輸入預測的搜索方法實施例的步驟流程圖,具體可以包括如下步驟:
[0041]步驟102,服務器接收輸入法客戶端上傳的當前輸入信息。
[0042]本發(fā)明實施例在輸入法的輸入過程中依據(jù)輸入字符串進行搜索以提高搜索效率。即輸入法客戶端在接收用戶輸入的字符構成輸入字符串的過程中,實時地將當前輸入信息上傳給服務器。其中,所述當前輸入信息包括當前輸入字符串和時間間隔信息,所述時間間隔信息用于表征當前輸入字符串中字符之間的輸入時間間隔,即當前輸入字符串在輸入過程中的停頓時間。
[0043]其中,輸入法客戶端實時進行當前輸入信息的上傳操作,因此當用戶每輸入一個字符后,均可以將該字符和該字符與前一個字符的時間間隔信息進行上傳,此時可以是增量上傳,也可以與之前輸入的未確定上屏選項的其他字符串合并上傳,本發(fā)明實施例對此不做限定。
[0044]服務器會基于輸入法客戶端上傳的當前輸入信息進行后續(xù)的輸入預測和搜索。
[0045]步驟104,服務器依據(jù)所述時間間隔信息實時對所述當前輸入字符串進行切分并轉換得到所述當前輸入字符串對應的候選序列集合。
[0046]通過時間間隔信息可以確定字符輸入時的停頓,通常用戶在輸入一連串字符串時,在連續(xù)輸入一個字或詞的各字符時,各字符間會存在一個較短的停頓,而在一個字或詞對應的完整字符串在輸入完成后,通常在字符串后會存在一個較長的停頓,因此通過字符間停頓時間的長短可以實時判定當前是剛輸入一個字或詞對應中間字符還是已經輸入完畢一個完整的字符串,從而實現(xiàn)實時對輸入字符串的切分。
[0047]服務器從時間間隔信息中獲取當前輸入字符串中各字符間的停頓時間,依據(jù)停頓時間確定輸入到某字符時,是單個字符的輸入完成還是一個字或詞對應的完整字符串的輸入完成,從而在判定輸入完一個字詞對應的字符串后,在該字符處進行實時切分,然后基于對所述當前輸入字符串中后續(xù)字符進行檢測,直到當前輸入字符串全部切分完畢。然后對切分后的字符串進行實時轉換,得到當前輸入字符串對應的各候選序列,從而構成候選序列集合。
[0048]步驟106,服務器對所述候選序列集合中的每個候選序列分別進行搜索,獲取各候選序列各自對應的搜索結果,并將所述候選序列集合和對應的搜索結果反饋給所述輸入法客戶端。
[0049]通過實時切分、轉換預測出候選序列后,實時地從候選序列集合中取出各候選序列依次進行搜索,確定各候選序列的搜索結果,也可以僅檢索部分候選序列的搜索結果,后續(xù)依據(jù)需求再對其他部分的候選序列進行搜索。然后將候選序列集合和對應的搜索結果反饋給輸入法客戶端。
[0050]其中,在對搜索結果進行反饋時,可以一次將各候選序列的搜索結果都進行反饋,而輸入法客戶端在接收到候選序列集合和各候選序列對應的搜索結果后,可以對各候選序列和搜索結果分別進行展示,如依次展示候選序列集合中的各候選序列,同時展示部分或全部候選序列對應的搜索結果。
[0051]也可以首次僅默認反饋排在首位的候選序列對應搜索結果,供用戶初次進行快速展示,并利用用戶查看,或者進行鍵盤操作將首位序列移至非首位序列的時間間隙時,另行傳輸非首位序列對應的搜索結果至輸入法客戶端進行顯示,從而保證了搜索結果對應的數(shù)據(jù)能夠快速的傳輸、顯示,供用戶進行查看。
[0052]本實施例在輸入法中輸入字符串后即可通過對輸入字符串的預測確定候選序列,進而搜索候選序列的搜索結果進行展示,便于快速進行搜索。
[0053]上述提供了通過輸入法客戶端和服務器的交互實現(xiàn)基于輸入預測的搜索實施例,實際處理中,還可以由輸入法客戶端獨立執(zhí)行輸入的預測,僅采用服務器進行搜索,如圖2所示具體包括如下操作步驟:
[0054]步驟202,輸入法客戶端接收當前用戶輸入的當前輸入信息。
[0055]步驟204,輸入法客戶端依據(jù)所述時間間隔信息實時對所述當前輸入字符串進行切分,并轉換得到所述當前輸入字符串對應的候選序列集合。
[0056]步驟206,將所述候選序列集合中的候選序列上述給服務器。
[0057]步驟208,服務器對所述候選序列集合中的每個候選序列分別進行搜索,獲取各候選序列各自對應的搜索結果,并將所述候選序列集合和對應的搜索結果反饋給所述輸入法客戶端。
[0058]輸入法客戶端在用戶輸入過程中實時獲取用戶輸入的當前輸入字符串和時間間隔信息,從而可以按照時間間隔信息實時對當前輸入字符串中輸入停頓時間較長的兩個字符間進行切分,例如,實時計算或預先從服務器中獲取當前輸入字符串的平均輸入間隔,然后依據(jù)平均輸入間隔確定在輸入停頓時間較大的兩個字符,從而確定字符間切分的位置,實現(xiàn)按照時間對當前輸入字符串的切分,再進一步對切分后的字符串進行轉換得到候選序列集合。
[0059]再將候選序列集合上傳給服務器,此時可以依據(jù)網(wǎng)絡情況上傳候選序列集合中的部分或全部候選序列,從而采用服務器對候選序列進行搜索,搜索步驟與上述步驟106基本一致,因此不再贅述。
[0060]綜上,本實施例可以依據(jù)網(wǎng)絡情況確定在服務器或輸入法客戶端中執(zhí)行按照時間實時切分字符串的操作步驟,從而實時預測出用戶可能輸入的候選序列,進而對候選序列進打快速檢索,提聞效率。
[0061]實施例二
[0062]在上述實施例的基礎上,本實施例進一步論述對輸入進行預測并基于預測進行搜索的方法。
[0063]參照圖3,示出了本發(fā)明的一種基于輸入預測的搜索方法可選實施例的步驟流程圖,具體可以包括如下步驟:
[0064]步驟302,服務器接收輸入法客戶端上傳的當前輸入信息。
[0065]其中,所述當前輸入信息包括當前輸入字符串、時間間隔信息和用戶賬號信息,用戶賬號信息用于對用戶進行標識,不同的用戶具有不同的輸入習慣、歷史數(shù)據(jù)等信息,本發(fā)明實施例可以通過用戶賬號信息對不同的用戶進行區(qū)分,以預測出最符合該用戶意圖的候選序列,得到準確的搜索結果進行推薦。
[0066]步驟304,服務器當檢測到輸入過程中實時產生的停頓時間滿足預設條件時,在所述當前輸入字符串對應的輸入位置處進行切分,獲取所述當前輸入字符串對應的各切分序列。
[0067]服務器在接收到輸入法客戶端上傳的當前輸入信息后,可以依據(jù)時間間隔信息對當前輸入字符串進行實時切分,其中,時間間隔信息包括輸入過程中實時產生的停頓時間,該停頓時間包括隨著用戶在輸入過程中所述當前輸入字符串實時產生的兩個相鄰字符的停頓時間,即時間間隔信息中依次實時記錄了用戶在輸入完一個字符到輸入下一個字符之間的停頓時間,因此若當前輸入字符串中包括η個字符,則時間間隔信息中包括(η-1)個相鄰字符的停頓時間。
[0068]本發(fā)明實施例設置了預設條件用于確定如何對字符進行切分,在用戶輸入過程中,當檢測到實時產生的兩個相鄰字符的停頓時間滿足預設條件時,就可以在這兩個相鄰字符之間,即當前的輸入位置處進行切分,從而依次判斷輸入過程中實時產生的停頓時間是否滿足預設條件,就可以確定如何對當前輸入字符串進行切分,得到輸入字符串對應的各切分序列。當然該當前輸入字符串直至對應的候選項上屏也可能不需要切分,本發(fā)明實施例對此不作限定。
[0069]其中,可以設置停頓閾值對輸入過程中實時產生的停頓時間進行評價,當輸入過程中實時產生的停頓時間大于該停頓閾值時,認為其滿足預設條件,否則不滿預設條件。
[0070]但是由于不同用戶的輸入習慣不同,如老人打字速度較慢,輸入每個字符的平均停頓時間比較長,而電腦操作熟練的年輕人輸入每個字符的平均停頓時間就會短很多。因此在設置停頓閾值時,可以針對不同的用戶設置不同的停頓閾值,依據(jù)用戶賬號信息獲取其對應的停頓閾值進行比較。
[0071]當然也可以為所有用戶設置統(tǒng)一的停頓閾值,但此時要消除用戶輸入習慣的個體差異影響,如圖4所示具體包括如下步驟:
[0072]步驟402,按照所述用戶賬號信息查找對應用戶的平均停頓時間。
[0073]為了消除用戶輸入習慣的個體差異的影響,首先通過用戶賬號信息查找用戶的平均停頓時間,其中,所述平均停頓時間指的是用戶在連續(xù)輸入字符時的停頓時間,如用戶連續(xù)輸入一個字或詞的兩個相鄰字符間的停頓時間。
[0074]其中,用戶的平均停頓時間是通過如下步驟確定的:按照所述用戶賬號信息確定用戶,并收集所述用戶的歷史輸入信息;依據(jù)所述歷史輸入信息統(tǒng)計所述用戶輸入單個字符后停頓的時間,作為所述用戶的平均停頓時間。
[0075]本發(fā)明實施例根據(jù)用戶歷史輸入數(shù)據(jù)對不用用戶的輸入習慣進行區(qū)分,首先按照所述用戶賬號信息確定對應的用戶,然后收集每個用戶的歷史輸入信息,如可以包括輸入的字符串、該字符串對應的上屏選項,字符串中相鄰兩個字符的時間間隔、該段字符串的輸入時間等,從而分別根據(jù)每個用戶的歷史輸入信息統(tǒng)計該用戶輸入單字符后停頓的時間,作為所述用戶的平均停頓