亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于學(xué)術(shù)搜索的姓名自動提示方法

文檔序號:6628876閱讀:254來源:國知局
一種基于學(xué)術(shù)搜索的姓名自動提示方法
【專利摘要】本發(fā)明公開了一種基于學(xué)術(shù)搜索的姓名自動提示方法,其特征在于,包括如下步驟:用戶輸入一定長度的字符串;針對用戶輸入的字符串在待選結(jié)果中通過前綴匹配方法,查找用戶輸入的字符串匹配的結(jié)果返回用戶;如果未返回與用戶輸入的字符串匹配的結(jié)果,則按姓名匹配方法分類匹配向用戶反饋結(jié)果。本發(fā)明能夠識別并且提示滿足以輸入字符串開頭的學(xué)者姓名。本發(fā)明使得姓名自動提示提示更加快捷、準(zhǔn)確、方便用戶的使用,提高用戶體驗(yàn)。
【專利說明】一種基于學(xué)術(shù)搜索的姓名自動提示方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種姓名自動提示方法,特別涉及一種基于學(xué)術(shù)搜索的姓名自動提示 方法,屬于數(shù)據(jù)搜索【技術(shù)領(lǐng)域】。

【背景技術(shù)】
[0002] 搜索提示,是指當(dāng)用戶在搜索框中輸入關(guān)鍵字時(shí),出現(xiàn)的與關(guān)鍵字相關(guān)聯(lián)的提示, 這些提示是與已輸入的關(guān)鍵字匹配的。
[0003] 搜索提示被廣泛運(yùn)用在搜索引擎、電子詞典中的搜索等技術(shù)中。以搜索引擎為例, 如:當(dāng)用戶輸入"北京"時(shí),搜索提示會出現(xiàn)"北京地鐵"、"北京地圖"等,用戶可以通過鍵盤 的上、下鍵直接選中"北京地鐵"或"北京地圖"作為搜索關(guān)鍵字。
[0004] 在基于學(xué)術(shù)搜索系統(tǒng)中,在學(xué)術(shù)論文題目、學(xué)術(shù)論文的作者、并針對這些搜索結(jié)果 的歸類、統(tǒng)計(jì)等工作中也常常會有大量的搜索關(guān)鍵詞錄入。為了方便用戶盡可能少量的輸 入就能體現(xiàn)相應(yīng)的關(guān)鍵詞,減少用戶的工作量。搜索提示系統(tǒng)也逐漸應(yīng)用到學(xué)術(shù)搜索系統(tǒng) 中,主要針對學(xué)術(shù)搜索系統(tǒng)的搜索部分進(jìn)行自動提示功能,以幫助用戶更快的輸入,并且糾 正用戶的輸入錯誤,針對用戶的輸入找到相近的內(nèi)容。
[0005] 現(xiàn)有的一些搜索提示系統(tǒng)往往不能滿足學(xué)術(shù)搜索中的一些特殊搜索。例如在需要 對學(xué)者排名時(shí),不僅僅要考慮學(xué)者發(fā)表的論文數(shù)目還要考慮學(xué)者發(fā)表論文的級別。用戶在 輸入學(xué)者名稱時(shí),搜索提示系統(tǒng)能識別并提示滿足以輸入字符串開頭的學(xué)者名稱。但現(xiàn)有 的搜索提示系統(tǒng)涉及到一些特殊的名稱將不能很好的提示用戶。例如:中國學(xué)者與西方學(xué) 者明明習(xí)慣不同導(dǎo)致了相應(yīng)的名稱也不同。涉及到中間名、特殊字符、昵稱、拼寫錯誤等問 題目前的搜索提示系統(tǒng)并不能很好的按用戶的輸入提示用戶。


【發(fā)明內(nèi)容】

[0006] 本發(fā)明要解決的技術(shù)問題是:提供一種能夠識別并且提示滿足以輸入字符串開頭 的自動提示方法。
[0007] 為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明提供了一種基于學(xué)術(shù)搜索的姓名自動提示方法, 其特征在于,包括如下步驟:
[0008] 用戶輸入一定長度的字符串;
[0009] 針對用戶輸入的字符串在待選結(jié)果中通過前綴匹配方法,查找用戶輸入的字符串 匹配的結(jié)果返回用戶;
[0010] 如果未返回與用戶輸入的字符串匹配的結(jié)果,則按姓名匹配方法分類匹配向用戶 反饋結(jié)果。
[0011] 其中較優(yōu)地,所述字符串的長度是3。
[0012] 其中較優(yōu)地,所述前綴匹配算法具體包括如下步驟:
[0013] 通過構(gòu)件Trie樹對用戶輸入的字符進(jìn)行預(yù)處理,算出輸入的返回結(jié)果。
[0014] 其中較優(yōu)地,所述Trie樹在路徑上存儲一個字符,在每個節(jié)點(diǎn)存儲三個字符串。
[0015] 其中較優(yōu)地,所述按姓名匹配方法分類匹配向用戶反饋結(jié)果的步驟包括:
[0016] 將用戶輸入的字符按姓名的命名習(xí)慣分類為亞洲姓名、含有特殊字符的姓名、含 有中間名的姓名、昵稱類姓名;
[0017] 按不同類型的姓名以相應(yīng)的提示方式向用戶提示。
[0018] 其中較優(yōu)地,如果用戶輸入的字符是亞洲姓名,則判斷用戶輸入的字符是否是中 文拼音或含有英文演化詞;
[0019] 如果是拼音,則將用戶輸入的字符識別出中文姓名,進(jìn)行標(biāo)記,在臨時(shí)數(shù)據(jù)庫中存 儲正姓-名常順序的拼寫和姓-名顛倒順序,分別在學(xué)者姓名數(shù)據(jù)庫中做匹配提示;
[0020] 如果含有英文演化詞,則將用戶輸入的字符轉(zhuǎn)化為中文拼音,以演化詞和中文拼 音分別在學(xué)著姓名庫中做匹配提示。
[0021] 其中較優(yōu)地,如果用戶輸入的字符是含有特殊字符的姓名,則判斷用戶輸入的含 有特殊字符的姓名是否含有普通特殊字符還是西歐字符;
[0022] 如果是普通特殊字符,則對用戶輸入的字符去掉非字母字符與學(xué)者姓名數(shù)據(jù)庫庫 中去掉非字母字符的姓名做前綴匹配并提示;
[0023] 如果是西歐字符,則對用戶輸入的字符中的西歐字符轉(zhuǎn)換成與之相對應(yīng)的英文字 符,將學(xué)者姓名庫中的西歐字符也轉(zhuǎn)換成與之相對應(yīng)的英文字符,將轉(zhuǎn)換后的姓名做匹配 提示。
[0024] 其中較優(yōu)地,如果用戶輸入的字符是含有中間名的姓名,則將用戶輸入的第二個 單詞和學(xué)者姓名庫中含有三個單詞的學(xué)者匹配處理,如果有用戶輸入的第二個單詞和學(xué)者 姓名庫中的第三和單詞符合,則向用戶反饋結(jié)果。
[0025] 其中較優(yōu)地,如果用戶輸入的字符是昵稱類姓名,則對用戶輸入的字符做對應(yīng)的 替換,按替換的字符匹配提示。
[0026] 其中較優(yōu)地,所述按姓名匹配方法分類匹配向用戶反饋結(jié)果步驟還包括對用戶拼 寫錯誤糾正的步驟:
[0027] 如果用戶拼寫的字符數(shù)按姓名匹配方法分類匹配后返回的結(jié)果為空或滿足條件 的結(jié)果少于預(yù)定值啟用模糊匹配方法編輯用戶輸入的字符,在編輯后的字符與學(xué)者姓名庫 匹配提示;
[0028] 其中,對用戶輸入的字符編輯時(shí)包括如下方式:
[0029] 在用戶輸入的字符任意位置插入一個字符、刪除一個字符、或?qū)⑷我庖粋€字符替 換成其他字符。
[0030] 本發(fā)明提供的基于學(xué)術(shù)搜索的姓名自動提示方法能夠識別并且提示滿足以輸入 字符串開頭的學(xué)者姓名。本發(fā)明使得姓名自動提示提示更加快捷、準(zhǔn)確、方便用戶的使用, 提_用戶體驗(yàn)。

【專利附圖】

【附圖說明】
[0031] 圖1是本發(fā)明基于學(xué)術(shù)搜索的姓名自動提示方法流程示意圖。
[0032] 圖2是本發(fā)明姓名自動提示方法中改進(jìn)的Trie樹結(jié)構(gòu)示意圖。
[0033] 圖3是本發(fā)明姓名自動提示方法中實(shí)施例示意圖。

【具體實(shí)施方式】
[0034] 下面結(jié)合附圖和實(shí)施例,對本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施 例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0035] 如圖1所示,本發(fā)明提供一種基于學(xué)術(shù)搜索的姓名自動提示方法,具體包括如下 步驟:用戶輸入一定長度的字符串;針對用戶輸入的字符串在待選結(jié)果中通過前綴匹配方 法,查找用戶輸入的字符串匹配的結(jié)果返回用戶;如果未返回與用戶輸入的字符串匹配的 結(jié)果,則按姓名匹配方法分類匹配向用戶反饋結(jié)果。下面對本發(fā)明展開詳細(xì)的說明。
[0036] 首先,介紹前綴匹配方法匹配用戶輸入字符的步驟。
[0037] 在本發(fā)明中,啟用前綴匹配方法匹配用戶輸入字符時(shí),針對用戶輸入的字符串在 待選結(jié)果中通過前綴匹配方法,查找用戶輸入的字符串匹配的結(jié)果返回,所述前綴匹配算 法具體包括通過構(gòu)件Trie樹對用戶輸入的字符進(jìn)行預(yù)處理,算出輸入的返回結(jié)果。下面詳 細(xì)說明:
[0038] 使用前綴匹配方法匹配用戶輸入字符匹配時(shí)針對用戶輸入的字符串S,在待選結(jié) 果集中尋找以S開頭的結(jié)果,并返回。舉例說明如下:
[0039] 待選集合 A = {poestion, pom, panel, post, polar, polarization}
[0040] 當(dāng)用戶輸入 po 時(shí),返回結(jié)果是{poestion, pom, post, polar, polarization}
[0041] 當(dāng)用戶輸入poe時(shí),返回結(jié)果是{poestion}
[0042] 當(dāng)用戶輸入pol時(shí),返回結(jié)果是{polar, polarization}
[0043] 在本發(fā)明中,前綴匹配方法匹配用戶輸入字符主要用于解決自動補(bǔ)齊問題有兩個 優(yōu)點(diǎn),首先是解決問題的直觀性。前綴匹配算法符合用戶的輸入規(guī)則,即用戶輸入查找內(nèi)容 都是按照關(guān)鍵字或者關(guān)鍵概念,在學(xué)術(shù)搜索系統(tǒng)檢索某一個學(xué)者時(shí),都是按照學(xué)者名進(jìn)行 查找,學(xué)者名的輸入就是按照拼寫順序,這在形式上符合前綴匹配規(guī)則,不需要算法進(jìn)行額 外的形式轉(zhuǎn)化。第二個優(yōu)點(diǎn)就是前綴匹配方法匹配用戶輸入字符的速度快,自動提示的相 對于結(jié)果的準(zhǔn)確性,更大的要求在于結(jié)果返回速度,經(jīng)過綜合評估,除去網(wǎng)絡(luò)交互的平均速 度,用戶鍵入字母的速度,自動提示結(jié)果返回的速度要在200微秒以內(nèi)。本例中前綴匹配算 法的實(shí)現(xiàn)結(jié)構(gòu),保證了結(jié)果返回的高效性。
[0044] 在本發(fā)明的一個實(shí)施例中,前綴匹配方法匹配用戶輸入字符時(shí)采用的算法結(jié)構(gòu)是 Trie樹(又稱單詞查找樹)。如圖2所示,在本實(shí)施例中,對Trie樹結(jié)構(gòu)進(jìn)行了改進(jìn),使其 更適應(yīng)于自動提示。從圖2中可以看出,改進(jìn)后的Trie樹,在路徑上存儲一個字符,在每個 節(jié)點(diǎn)存儲三個字符串。由根節(jié)點(diǎn)到達(dá)每一個節(jié)點(diǎn)的路徑集合構(gòu)成一個前綴,所在節(jié)點(diǎn)內(nèi)存 儲的三個字符串就是匹配該前綴的結(jié)果,舉例說明如下:
[0045] 1)從根節(jié)點(diǎn)出發(fā),沿路徑a,此時(shí)前綴Prefix = a,到達(dá)第一個節(jié)點(diǎn),節(jié)點(diǎn)內(nèi)存儲的 值就是以a開頭的字符串集合,即{author, auto, answer}
[0046] 2)從根節(jié)點(diǎn)出發(fā),沿路徑ab,此時(shí)前綴Prefix = ab,到達(dá)樹結(jié)構(gòu)最左邊的節(jié)點(diǎn),節(jié) 點(diǎn)內(nèi)存儲的三個字符串就是以ab開頭的字符串集合,即{ab, abstract, abstain}
[0047] 3)從根節(jié)點(diǎn)沿路徑ca,此時(shí)前綴Prefix = ca,到達(dá)樹結(jié)構(gòu)右邊最后一個節(jié)點(diǎn),貝lj 以ca開頭的結(jié)果集合是{can, calculate, cacao}
[0048] 使用本發(fā)明改進(jìn)的Trie樹通過對前綴匹配方法匹配用戶輸入字符時(shí)對數(shù)據(jù)進(jìn)行 預(yù)處理,構(gòu)建樹的過程中就算出了針對任何輸入的返回結(jié)果,很大程度上保證了算法的高 效性,針對用戶的輸入沿一條路徑就可以找到滿足條件的結(jié)果。
[0049] 其次,介紹按姓名匹配方法分類匹配向用戶反饋結(jié)果的步驟。
[0050] 學(xué)術(shù)搜索系統(tǒng)中,用戶使用名字對感興趣的學(xué)者進(jìn)行檢索,自動提示時(shí)也按照用 戶輸入的學(xué)者名前綴進(jìn)行匹配,但是這樣有幾個問題無法解決:國內(nèi)學(xué)者對應(yīng)英文名、特殊 字符問題、中間名等這些姓名并不能在搜索系統(tǒng)中有良好的檢索提示。為解決上述困境, 本發(fā)明提供如下方案:將用戶輸入的字符按姓名的命名習(xí)慣分類為亞洲姓名、含有特殊字 符的姓名、含有中間名的姓名、昵稱類姓名;按不同類型的姓名以相應(yīng)的提示方式向用戶提 示。下面針對各種情況逐一進(jìn)行說明,
[0051] 亞洲學(xué)者對應(yīng)英文名問題。
[0052] 如果用戶輸入的字符是亞洲姓名,則判斷用戶輸入的字符是否是中文拼音或含有 英文演化詞;如果是拼音,則將用戶輸入的字符識別出中文姓名,進(jìn)行標(biāo)記,在臨時(shí)數(shù)據(jù)庫 中存儲正姓-名常順序的拼寫和姓-名顛倒順序,分別在學(xué)者姓名數(shù)據(jù)庫中做匹配提示;如 果含有英文演化詞,則將用戶輸入的字符轉(zhuǎn)化為中文拼音,以演化詞和中文拼音分別在學(xué) 著姓名庫中做匹配提示。具體如下:
[0053]由于中西方命名習(xí)慣的不同,亞洲人一般將姓氏放在前面,將名放在后面,而西方 人多加名放在姓氏之前,出于這種習(xí)慣的原因,亞洲學(xué)者,尤其是中國學(xué)者在發(fā)表國際論文 時(shí),用拼音拼寫自己的名字,并且將名放在姓氏前面作為自己英文名,例如學(xué)者王偉,他的 英文名是Wei Wang,學(xué)者王珊,她的英文名字是Shan Wang。
[0054] 出于這種改變規(guī)則,因而在學(xué)術(shù)搜索系統(tǒng)中檢索學(xué)者,尤其是檢索中國學(xué)者時(shí),都 要刻意改變一下拼寫習(xí)慣,用戶在沒有注意到時(shí),可能會直接按照中文命名習(xí)慣進(jìn)行檢索, 例如檢索王偉時(shí),可能會直接輸入Wang Wei,這樣在自動提示環(huán)節(jié)就無法對其進(jìn)行有效的 提示,提高用戶的輸入速度。
[0055] 還有一種情況是中文姓氏與英文的演化問題,中國學(xué)者在寫自己的英文姓氏時(shí), 有時(shí)不是直接轉(zhuǎn)變?yōu)閷?yīng)的拼音拼寫,而是做一定的演化,例如姓氏李,英文名往往轉(zhuǎn)化為 Lee,姓氏金往往轉(zhuǎn)化為King。所以對應(yīng)的學(xué)者的名字也會發(fā)生相應(yīng)的變化。以學(xué)者李健為 例,他的英文名是Jian Lee,而不是Jian Li;學(xué)者金源放的英文名是Yuanfang King,而不 是Yuanfang Jin。這種情況也給自動提示時(shí)帶來一定的影響。
[0056]基于以上這種情況,在本例實(shí)現(xiàn)自動提示系統(tǒng)時(shí),對以上問題提出了解決算法。對 于姓氏和名字顛倒的問題,實(shí)現(xiàn)系統(tǒng)時(shí),首先對數(shù)據(jù)庫中的學(xué)者姓名數(shù)據(jù)進(jìn)行處理,識別出 其中中文姓名(基于中文特有的姓氏和命名規(guī)則進(jìn)行模糊識別,然后在論文數(shù)據(jù)中檢索驗(yàn) 證識別信息的正確性),進(jìn)行標(biāo)記,然后為每一個中文姓名存儲一個正常順序的備份,用于 自動提示。例如學(xué)者王珊,數(shù)據(jù)庫中對其的存儲信息為{Shan Wang,Wang Shan},即一個人 存儲一個中文名,一個英文名,這樣就保證了自動提示時(shí),按照中文習(xí)慣輸入或者按照英文 習(xí)慣輸入,都能找到對應(yīng)的結(jié)果。
[0057]對于像Lee, King這種姓氏特殊變遷的學(xué)者姓名,首先在建立一個對應(yīng)的知識庫, 知識庫中存儲所有這種變遷的姓氏,并且存儲其對應(yīng)的中文拼寫,存儲的是鍵值對的形式。 例如上面提到的Lee和King的例子在知識庫中存儲的信息為{Lee->Li},{King->Jin},這 樣在做自動提示時(shí),首先在知識庫中進(jìn)行一遍檢索,如果發(fā)現(xiàn)輸入的內(nèi)容中有在知識庫中 的部分,先對原內(nèi)容進(jìn)行一遍自動提示操作,然后再將姓氏替換后在進(jìn)行一次,將兩次操作 結(jié)果綜合返回。
[0058] 特殊字符問題。
[0059] 如果用戶輸入的字符是含有特殊字符的姓名,則判斷用戶輸入的含有特殊字符的 姓名是否含有普通特殊字符還是西歐字符;如果是普通特殊字符,則對用戶輸入的字符去 掉非字母字符與學(xué)者姓名數(shù)據(jù)庫庫中去掉非字母字符的姓名做前綴匹配并提示;如果是西 歐字符,則對用戶輸入的字符中的西歐字符轉(zhuǎn)換成與之相對應(yīng)的英文字符,將學(xué)者姓名庫 中的西歐字符也轉(zhuǎn)換成與之相對應(yīng)的英文字符,將轉(zhuǎn)換后的姓名做匹配提示。下面具體說 明。
[0060] 在中文名和英文名字中,都經(jīng)常會包含一些特殊字符,有些特殊字符有些是命名 習(xí)慣,有些是為了跟其他人進(jìn)行區(qū)分。例如,學(xué)者Chin-chen Chang名字中的學(xué)者 Mahmut T.Kandemir名字中的學(xué)者Vdclav Sndsel姓名中的西歐字符"d"??偨Y(jié)來說 特殊字符就要有兩種情況,一個是名字中含有的"這種非字母符號,另一類是鍵盤無 法打印的西歐字符。下面分別就這兩種情況進(jìn)行說明。
[0061] 普通特殊字符:普通特殊字符是指名字中非字母的字符。這些字符數(shù)量比較少,而 且是固定的。普通字符在名字中沒有含義,通常是一種命名習(xí)慣或者拼寫習(xí)慣。針對這種 情況,自動提示系統(tǒng)的處理方式就是忽略這種字符。在將姓名信息取進(jìn)內(nèi)存時(shí),首先對姓名 信息進(jìn)行預(yù)處理,去掉這些非字母類特殊字符,只保留字母字符串。針對用戶的輸入也做一 個預(yù)處理,去除掉用戶輸入的非字母字符,然后再去進(jìn)行前綴匹配。經(jīng)過這種處理,既保留 了姓名信息的完整性,又保證了自動提示結(jié)果的準(zhǔn)確性。
[0062] 西歐字符:西歐字符是包含在西歐學(xué)者姓名中的,不能再鍵盤打印出來的特殊字 符。這些字符集中在元音字符,與上面提到的普通特殊字符不同,西歐字符是有自己的含義 的,不能像普通特殊字符一樣直接忽略。西歐字符有一個通用的特點(diǎn)就是雖然拼寫形式與 英文字符不同,但是形式上可以和英文字符一一對應(yīng)。舉例說明如下:學(xué)者Klaus-Robert Milller名字中的西歐字符"U"可以對應(yīng)為英文字符"u",學(xué)者M(jìn). Tamer GZSU姓名中西歐字 符對應(yīng)于"0",學(xué)者Petri M§h6nen姓名中西歐字符"S","6"分別對應(yīng)于"a","〇"。 實(shí)際使用時(shí),用戶輸入的也都是與西歐字符對應(yīng)的英文字符進(jìn)行檢索,例如用戶要檢索學(xué) 者 Petri Mdlldnen 時(shí),輸入的是 Petri Mahonen;用戶要檢索學(xué)者 Klaus-Robert Millie 時(shí),輸入的是Klaus-Robert Mulle?;谶@種情況,我們實(shí)現(xiàn)的自動提示系統(tǒng),利用知識 庫替換技術(shù)解決了這一問題。首先,我們搜集所有的西歐字符以及對應(yīng)的英文字符,然后 針對將這些--對應(yīng)的關(guān)系插入知識庫中,例如上面提到的西歐字符在知識庫中的形式為 ,{〇:〇},{E:a},{6 :〇}。借助于知識庫,我們對數(shù)據(jù)庫存儲的所有學(xué)者姓名進(jìn) 行預(yù)處理,對含有西歐字符的姓名建立一個對應(yīng)的昵稱,昵稱的形式就是將西歐字符替換 為英文字符的形式,例如學(xué)者Klaus-Robert Millie存儲的昵稱是Klaus-Robert Mulle,學(xué) 者PetriM沿idneri存儲的昵稱為Petri Mahonen。即對每個含有西歐字符的姓名存儲一 個如何用戶輸入習(xí)慣的昵稱,這樣當(dāng)用戶輸入時(shí),自動提示系統(tǒng)就可以根據(jù)用戶的輸入提 示出含有西歐字符的結(jié)果。
[0063] 中間名問題。
[0064] 如果用戶輸入的字符是含有中間名的姓名,則將用戶輸入的第二個單詞和學(xué)者姓 名庫中含有三個單詞的學(xué)者匹配處理,如果有用戶輸入的第二個單詞和學(xué)者姓名庫中的第 三和單詞符合,則向用戶反饋結(jié)果。下面具體說明。
[0065]英文姓名的一般結(jié)構(gòu)為:教名+自取名+姓,如William Jafferson Clinton,但 是在很多場合中間名往往略去不寫,例如上述姓名可以直接稱呼為William Clinton。學(xué) 者信息中這種情況也很普遍,例如學(xué)者Dhabaleswar K. Panda,在其發(fā)表的作品也有署名為 Dhabaleswar Panda,學(xué)者 Laurence Tianruo Yang 簡寫為 Laurence Yang。由于稱呼的習(xí) 慣,用戶在學(xué)術(shù)搜索系統(tǒng)中搜索對應(yīng)的學(xué)者時(shí),往往也不加中間名,直接按照稱呼習(xí)慣進(jìn)行 檢索。另外,一些華裔學(xué)者在自己的英文名中也喜歡加入一個中間名,例如學(xué)者Xiaoyang Wang的英文名更喜歡寫為Xiaoyang Sean Wang。因?yàn)檫@些情況,當(dāng)檢索含有中間名的學(xué)者 時(shí),就會面臨自動提示不準(zhǔn)確的問題。
[0066] 基于以上問題,我們的自動提示系統(tǒng)提出了自己的解決方案。首先監(jiān)測用戶的輸 入,當(dāng)用戶輸入有兩個單詞時(shí),除了做常規(guī)的前綴匹配外,我們還對用戶輸入的第二個單詞 和學(xué)者姓名庫中含有三個單詞的學(xué)者進(jìn)行匹配。如果學(xué)者輸入的第二個單詞與學(xué)者名中的 第三個單詞符合,則將這個結(jié)果也跟常規(guī)結(jié)果一起返回給用戶。舉例說明如下:
[0067]假設(shè)數(shù)據(jù)庫中存儲的信息是 S = {Wei Wang, Xiaoyong Ren, Xiaoyang Wei, Xiaoyang Sean Wang, Xiaofeng Meng},當(dāng)用戶輸入是Xiaoyang W時(shí),自動提示系統(tǒng)首 先按照前綴匹配原則,找到第一個滿足條件的結(jié)果,即Xiaoyang Wei,然后因?yàn)橛脩糨斎肓?兩個單詞,系統(tǒng)在數(shù)據(jù)庫S中找到單詞數(shù)找過兩個的,即Xiaoyang Sean Wang和Xiaofeng Meng,然后將用戶輸入的第二個單詞W跟這些結(jié)果進(jìn)行匹配,找到滿足條件的結(jié)果,即 Xiaoyang Sean Wang,兩個結(jié)果合并最終返回{Xiaoyang Wei, Xiaoyang Sean Wang}。 [0068] 針對用戶的輸入進(jìn)行昵稱替換,最相似結(jié)果查找。
[0069] 如果用戶輸入的字符是昵稱類姓名,則對用戶輸入的字符做對應(yīng)的替換,按替換 的字符匹配提示。下面具體說明。
[0070] 英文名中有個現(xiàn)象就是昵稱問題,昵稱類似于中文中的乳名,但是英文的昵稱比 較集中,一些固定的稱呼,昵稱也比較固定,舉例說明如下:
[0071] Andy Andrew, Chris Christian, Jim James, Tom Thomas, Dave David
[0072] 這些都是英文中常見的昵稱對應(yīng),當(dāng)用戶在搜索框輸入Andy Pavolo時(shí),應(yīng)該提示 出Andrew Pavolo這個結(jié)果。
[0073] 針對這種情況,自動提示系統(tǒng)實(shí)現(xiàn)時(shí)采用的是知識庫對應(yīng)替換策略,對每個昵稱 都建立一個對應(yīng),檢測用戶輸入如果含有可替換昵稱時(shí),就對其進(jìn)行替換查找。舉例說明如 下:如果用戶輸入的是Andy Le,系統(tǒng)首先將Andy替換為Andrew,然后將Andrew Le在放到 自動提示系統(tǒng)中進(jìn)行查找,找到符合前綴匹配的結(jié)果返回。
[0074] 拼寫錯誤在檢索中是很常見的問題,在學(xué)術(shù)搜索系統(tǒng)中,由于用戶的粗心,或者對 姓名拼寫不熟悉,出現(xiàn)拼寫錯誤的情況常有。例如將Shan Wang寫成Shan Wsng,Xiaoyang Dong 寫成 Xiaoyong Dong。
[0075] 針對這種情況,我們的自動提示系統(tǒng)采用了計(jì)算編輯距離來進(jìn)行模糊匹配的算 法。如果用戶拼寫的字符數(shù)按姓名匹配方法分類匹配后返回的結(jié)果為空或滿足條件的結(jié)果 少于預(yù)定值啟用模糊匹配方法編輯用戶輸入的字符,在編輯后的字符與學(xué)者姓名庫匹配提 示。具體如下:
[0076] 編輯距離是指兩個字串之間,由一個轉(zhuǎn)成另一個所需的最少編輯操作次數(shù)。許可 的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。如果用戶拼 寫錯誤的話,提示的結(jié)果為空或者滿足條件的結(jié)果少于閾值,這時(shí)就對用戶采用計(jì)算編輯 距離的方式,找到最符合的模糊匹配結(jié)果,返回給用戶。
[0077] 綜上所述,本發(fā)明提供的基于學(xué)術(shù)搜索的姓名自動提示方法能夠識別并且提示滿 足以輸入字符串開頭的學(xué)者姓名。如圖3所示,本發(fā)明使得姓名自動提示提示更加快捷、準(zhǔn) 確、方便用戶的使用,提高用戶體驗(yàn)。
[0078] 以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通 技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有 等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【權(quán)利要求】
1. 一種基于學(xué)術(shù)搜索的姓名自動提示方法,其特征在于,包括如下步驟: 用戶輸入一定長度的字符串; 針對用戶輸入的字符串在待選結(jié)果中通過前綴匹配方法,查找用戶輸入的字符串匹配 的結(jié)果返回用戶; 如果未返回與用戶輸入的字符串匹配的結(jié)果,則按姓名匹配方法分類匹配向用戶反饋 結(jié)果。
2. 如權(quán)利要求1所述的姓名自動提示方法,其特征在于,所述字符串的長度是3。
3. 如權(quán)利要求1所述的姓名自動提示方法,其特征在于,所述前綴匹配算法具體包括 如下步驟: 通過構(gòu)件Trie樹對用戶輸入的字符進(jìn)行預(yù)處理,算出輸入的返回結(jié)果。
4. 如權(quán)利要求3所述的姓名自動提示方法,其特征在于,所述Trie樹在路徑上存儲一 個字符,在每個節(jié)點(diǎn)存儲三個字符串。
5. 如權(quán)利要求1所述的姓名自動提示方法,其特征在于,所述按姓名匹配方法分類匹 配向用戶反饋結(jié)果的步驟包括: 將用戶輸入的字符按姓名的命名習(xí)慣分類為亞洲姓名、含有特殊字符的姓名、含有中 間名的姓名、昵稱類姓名; 按不同類型的姓名以相應(yīng)的提示方式向用戶提示。
6. 如權(quán)利要求5所述的姓名自動提示方法,其特征在于,如果用戶輸入的字符是亞洲 姓名,則判斷用戶輸入的字符是否是中文拼音或含有英文演化詞; 如果是拼音,則將用戶輸入的字符識別出中文姓名,進(jìn)行標(biāo)記,在臨時(shí)數(shù)據(jù)庫中存儲正 姓-名常順序的拼寫和姓-名顛倒順序,分別在學(xué)者姓名數(shù)據(jù)庫中做匹配提示; 如果含有英文演化詞,則將用戶輸入的字符轉(zhuǎn)化為中文拼音,以演化詞和中文拼音分 別在學(xué)著姓名庫中做匹配提示。
7. 如權(quán)利要求5所述的姓名自動提示方法,其特征在于,如果用戶輸入的字符是含有 特殊字符的姓名,則判斷用戶輸入的含有特殊字符的姓名是否含有普通特殊字符還是西歐 字符; 如果是普通特殊字符,則對用戶輸入的字符去掉非字母字符與學(xué)者姓名數(shù)據(jù)庫庫中去 掉非字母字符的姓名做前綴匹配并提示; 如果是西歐字符,則對用戶輸入的字符中的西歐字符轉(zhuǎn)換成與之相對應(yīng)的英文字符, 將學(xué)者姓名庫中的西歐字符也轉(zhuǎn)換成與之相對應(yīng)的英文字符,將轉(zhuǎn)換后的姓名做匹配提 /_J、1 〇
8. 如權(quán)利要求5所述的姓名自動提示方法,其特征在于,如果用戶輸入的字符是含有 中間名的姓名,則將用戶輸入的第二個單詞和學(xué)者姓名庫中含有三個單詞的學(xué)者匹配處 理,如果有用戶輸入的第二個單詞和學(xué)者姓名庫中的第三和單詞符合,則向用戶反饋結(jié)果。
9. 如權(quán)利要求5所述的姓名自動提示方法,其特征在于,如果用戶輸入的字符是昵稱 類姓名,則對用戶輸入的字符做對應(yīng)的替換,按替換的字符匹配提示。
10. 如權(quán)利要求1所述的姓名自動提示方法,其特征在于,所述按姓名匹配方法分類匹 配向用戶反饋結(jié)果步驟還包括對用戶拼寫錯誤糾正的步驟: 如果用戶拼寫的字符數(shù)按姓名匹配方法分類匹配后返回的結(jié)果為空或滿足條件的結(jié) 果少于預(yù)定值啟用模糊匹配方法編輯用戶輸入的字符,在編輯后的字符與學(xué)者姓名庫匹配 提示; 其中,對用戶輸入的字符編輯時(shí)包括如下方式: 在用戶輸入的字符任意位置插入一個字符、刪除一個字符、或?qū)⑷我庖粋€字符替換成 其他字符。
【文檔編號】G06F17/30GK104239565SQ201410510281
【公開日】2014年12月24日 申請日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】陸嘉恒, 蔡曉華, 董兆安 申請人:陸嘉恒, 蔡曉華, 董兆安
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1