本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種創(chuàng)建中文名稱(chēng)索引的方法及裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展與進(jìn)步,各種智能設(shè)備被廣泛應(yīng)用于生活、生產(chǎn)中的各個(gè)領(lǐng)域。用戶(hù)在使用智能設(shè)備的過(guò)程中,經(jīng)常遇到需要對(duì)中文名稱(chēng)進(jìn)行檢索的情況,比如,用戶(hù)在使用智能機(jī)頂盒點(diǎn)播中文電視節(jié)目時(shí),需要通過(guò)遙控器對(duì)所要觀看電視節(jié)目的中文名稱(chēng)進(jìn)行搜索。但是,在一些特定場(chǎng)景下,用戶(hù)無(wú)法通過(guò)輸入中文來(lái)對(duì)中文名稱(chēng)進(jìn)行檢索,比如通過(guò)遙控器難以輸入中文,因此需要為中文名稱(chēng)創(chuàng)建索引,以方便對(duì)中文名稱(chēng)進(jìn)行檢索。
目前,在為中文名稱(chēng)創(chuàng)建索引時(shí),獲取中文名稱(chēng)所包括各個(gè)漢字的拼音首字母,形成包括中文名稱(chēng)中第一個(gè)漢字的拼音首字母的至少一個(gè)字符串作為中文名稱(chēng)的索引,以實(shí)現(xiàn)通過(guò)拼音對(duì)中文名稱(chēng)記性檢索。例如,中文名稱(chēng)包括3個(gè)漢字,3個(gè)漢字的拼音首字母依次為h、l和s,則將h、hl和hls作為該中文名稱(chēng)的索引。
針對(duì)目前為中文名稱(chēng)創(chuàng)建索引的方法,由于中文名稱(chēng)的索引均包括中文名稱(chēng)中第一個(gè)漢字的拼音首字母,用戶(hù)在對(duì)中文名稱(chēng)進(jìn)行檢索時(shí),必須要知道中文名稱(chēng)的第一個(gè)漢字,否則無(wú)法成功檢索到中文名稱(chēng)。因此,現(xiàn)有為中文名稱(chēng)創(chuàng)建索引的方法,造成用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索時(shí)的體驗(yàn)較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種創(chuàng)建中文名稱(chēng)索引的方法及裝置,能夠提高用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索時(shí)的體驗(yàn)。
第一方面,本發(fā)明實(shí)施例提供了一種創(chuàng)建中文名稱(chēng)索引的方法,包括:
獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母;
分別獲取以每一個(gè)所述拼音首字母開(kāi)頭的至少一個(gè)字符串,其中,所述字符串中任意兩個(gè)相鄰所述拼音首字母對(duì)應(yīng)的兩個(gè)漢字在所述中文名稱(chēng)中相鄰,且所述字符串中各個(gè)所述拼音首字母的順序與對(duì)應(yīng)漢字在所述中文名稱(chēng)中的順序相同;
將獲取到的各個(gè)所述字符串與所述中文名稱(chēng)相關(guān)聯(lián),作為所述中文名稱(chēng)的索引。
可選地,當(dāng)所述中文名稱(chēng)包括有至少兩個(gè)漢字時(shí),所述分別獲取以每一個(gè)所述拼音首字母開(kāi)頭的至少一個(gè)字符串,包括:
按照對(duì)應(yīng)漢字在所述中文名稱(chēng)中的順序,對(duì)各個(gè)所述拼音首字母進(jìn)行順序組合,形成待切分字符串;
以不同的切分位置和切分次數(shù)對(duì)所述待切分字符串進(jìn)行至少一次切分,獲得至少兩個(gè)所述字符串,其中,每一個(gè)所述字符串包括有至少一個(gè)所述拼音首字母。
可選地,所述以不同的切分位置和切分次數(shù)對(duì)所述待切分字符串進(jìn)行至少一次切分,包括:
通過(guò)遞歸算法,以所述待切分字符串作為初始輸入,對(duì)所述待切分字符串進(jìn)行切分運(yùn)算,將每一次切分運(yùn)算輸出的至少兩個(gè)運(yùn)算結(jié)果作為對(duì)應(yīng)數(shù)量的所述字符串。
可選地,在所述形成待切分字符串之后,進(jìn)一步包括:
將所述待切分字符串與所述中文名稱(chēng)相關(guān)聯(lián),作為所述中文名稱(chēng)的一個(gè)索引。
可選地,所述獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母,包括:
通過(guò)預(yù)先定義的java歸檔文件jar包,分別將所述中文名稱(chēng)包括的每一個(gè)漢字翻譯為對(duì)應(yīng)的拼音全拼;
針對(duì)每一個(gè)所述漢字,通過(guò)所述jar包,從該漢字對(duì)應(yīng)拼音全拼中提取第一個(gè)字母作為該漢字的所述拼音首字母。
第二方面,本發(fā)明實(shí)施例還提供了一種創(chuàng)建中文名稱(chēng)索引的裝置,包括:獲取單元、切分單元和關(guān)聯(lián)單元;
所述獲取單元,用于獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母;
所述切分單元,用于分別獲取以所述獲取單元獲取到的每一個(gè)所述拼音首字母開(kāi)頭的至少一個(gè)字符串,其中,所述字符串中任意兩個(gè)相鄰所述拼音首字母對(duì)應(yīng)的兩個(gè)漢字在所述中文名稱(chēng)中相鄰,且所述字符串中各個(gè)所述拼音首字母的順序與對(duì)應(yīng)漢字在所述中文名稱(chēng)中的順序相同;
所述關(guān)聯(lián)單元,用于將所述切分單元獲取到的各個(gè)所述字符串與所述中文名稱(chēng)相關(guān)聯(lián),作為所述中文名稱(chēng)的索引。
可選地,當(dāng)所述中文名稱(chēng)包括有至少兩個(gè)漢字時(shí),
所述切分單元包括:組合子單元和切分子單元;
所述組合子單元,用于按照對(duì)應(yīng)漢字在所述中文名稱(chēng)中的順序,對(duì)各個(gè)所述拼音首字母進(jìn)行順序組合,形成待切分字符串;
所述切分子單元,用于以不同的切分位置和切分次數(shù)對(duì)所述組合子單元形成的所述待切分字符串進(jìn)行至少一次切分,獲得至少兩個(gè)所述字符串,其中,每一個(gè)所述字符串包括有至少一個(gè)所述拼音首字母。
可選地,
所述切分子單元,用于通過(guò)遞歸算法,以所述待切分字符串作為初始輸入,對(duì)所述待切分字符串進(jìn)行切分運(yùn)算,將每一次切分運(yùn)算輸出的至少兩個(gè)運(yùn)算結(jié)果作為對(duì)應(yīng)數(shù)量的所述字符串。
可選地,
所述關(guān)聯(lián)單元,進(jìn)一步用于將所述待切分字符串與所述中文名稱(chēng)相關(guān)聯(lián),作為所述中文名稱(chēng)的一個(gè)索引。
可選地,
所述獲取單元包括:翻譯子單元和提取子單元;
所述翻譯子單元,用于通過(guò)預(yù)先定義的jar包,分別將所述中文名稱(chēng)包括的每一個(gè)漢字翻譯為對(duì)應(yīng)的拼音全拼;
所述提取子單元,用于針對(duì)每一個(gè)所述漢字,通過(guò)所述jar包,從該漢字對(duì)應(yīng)拼音全拼中提取第一個(gè)字母作為該漢字的所述拼音首字母。
本發(fā)明實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的方法及裝置,獲取中文名稱(chēng)中每一個(gè)漢字的拼音首字母后,針對(duì)每一個(gè)拼音首字母,獲取以該拼音首字母開(kāi)頭的至少一個(gè)字符串,使得每一個(gè)字符串中任意兩個(gè)相鄰拼音首字母對(duì)應(yīng)的兩個(gè)漢字在中文名稱(chēng)中相連,且每一個(gè)字符串中各個(gè)拼音首字母的順序與對(duì)應(yīng)漢字在中文名稱(chēng)中的順序相同,將獲取到的各個(gè)字符串與中文名稱(chēng)關(guān)聯(lián)后,各個(gè)字符串作為中文名稱(chēng)的索引。由此可見(jiàn),將以中文名稱(chēng)中每一個(gè)漢字的拼音首字母為開(kāi)頭的字符串作為中文名稱(chēng)的索引,用戶(hù)在不知道中文名稱(chēng)的第一漢字時(shí),可以通過(guò)中文名稱(chēng)后面的一個(gè)或多個(gè)漢字的拼音首字母對(duì)中文名稱(chēng)進(jìn)行檢索,達(dá)到對(duì)中文名稱(chēng)進(jìn)行檢索的目的,從而提升了用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索時(shí)的體驗(yàn)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種創(chuàng)建中文名稱(chēng)索引的方法流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的另一種創(chuàng)建中文名稱(chēng)索引的方法流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種創(chuàng)建中文名稱(chēng)索引的裝置所在設(shè)備的示意圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的一種創(chuàng)建中文名稱(chēng)索引的裝置示意圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的另一種創(chuàng)建中文名稱(chēng)索引的裝置示意圖;
圖6是本發(fā)明一個(gè)實(shí)施例提供的又一種創(chuàng)建中文名稱(chēng)索引的裝置示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種創(chuàng)建中文名稱(chēng)索引的方法,該方法可以包括以下步驟:
步驟101:獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母;
步驟102:分別獲取以每一個(gè)所述拼音首字母開(kāi)頭的至少一個(gè)字符串,其中,所述字符串中任意兩個(gè)相鄰所述拼音首字母對(duì)應(yīng)的兩個(gè)漢字在所述中文名稱(chēng)中相鄰,且所述字符串中各個(gè)所述拼音首字母的順序與對(duì)應(yīng)漢字在所述中文名稱(chēng)中的順序相同;
步驟103:將獲取到的各個(gè)所述字符串與所述中文名稱(chēng)相關(guān)聯(lián),作為所述中文名稱(chēng)的索引。
本發(fā)明實(shí)施例提供了一種創(chuàng)建中文名稱(chēng)索引的方法,獲取中文名稱(chēng)中每一個(gè)漢字的拼音首字母后,針對(duì)每一個(gè)拼音首字母,獲取以該拼音首字母開(kāi)頭的至少一個(gè)字符串,使得每一個(gè)字符串中任意兩個(gè)相鄰拼音首字母對(duì)應(yīng)的兩個(gè)漢字在中文名稱(chēng)中相連,且每一個(gè)字符串中各個(gè)拼音首字母的順序與對(duì)應(yīng)漢字在中文名稱(chēng)中的順序相同,將獲取到的各個(gè)字符串與中文名稱(chēng)關(guān)聯(lián)后,各個(gè)字符串作為中文名稱(chēng)的索引。由此可見(jiàn),將以中文名稱(chēng)中每一個(gè)漢字的拼音首字母為開(kāi)頭的字符串作為中文名稱(chēng)的索引,用戶(hù)在不知道中文名稱(chēng)的第一漢字時(shí),可以通過(guò)中文名稱(chēng)后面的一個(gè)或多個(gè)漢字的拼音首字母對(duì)中文名稱(chēng)進(jìn)行檢索,達(dá)到對(duì)中文名稱(chēng)進(jìn)行檢索的目的,從而提升了用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索時(shí)的體驗(yàn)。
例如,一個(gè)中文名稱(chēng)為“甲乙丙”,漢字“甲”的拼音首字母為j,漢字“乙”的拼音首字母為y,漢字“丙”的拼音首字母為b,分別獲取以j、y和b為開(kāi)頭的字符串作為中文名稱(chēng)“甲乙丙”的索引,比如索引包括j、yb和b。
可選地,如圖1所示,
當(dāng)中文名稱(chēng)中包括有至少兩個(gè)漢字時(shí),步驟102中分別獲取以每一個(gè)拼音首字母開(kāi)頭的至少一個(gè)字符串的過(guò)程,具體可以通過(guò)如下方式實(shí)現(xiàn):
按照對(duì)應(yīng)漢字在中文名稱(chēng)中的順序,對(duì)各個(gè)拼音首字母進(jìn)行順序組合,形成一個(gè)待切分字符串;以不同的切分位置和切分次數(shù)對(duì)待切分字符串進(jìn)行至少一個(gè)切分,每一次切分都獲得至少兩個(gè)字符串,并保證每一個(gè)字符串都包括有至少一個(gè)拼音首字母。
例如,根據(jù)中文名稱(chēng)“甲乙丙”中3個(gè)漢字的順序,將拼音首字母j、y和b進(jìn)行順序組合,形成待切分字符串jyb。以不同的切分位置和切分次數(shù)對(duì)待切分字符串jyb進(jìn)行多次切分后,可以獲得j、y、b、jy、yb共計(jì)5個(gè)字符串。
通過(guò)不同切分位置和切分次數(shù)的組合,對(duì)由各個(gè)拼音首字母組成的待切分字符串進(jìn)行多次切分后,可以獲得由一個(gè)或多個(gè)拼音首字母順序組合形成的各種字符串,所獲得的各個(gè)字符串涵蓋了中文名稱(chēng)中任意個(gè)數(shù)相鄰漢字的拼音首字母的組合形式。將切分獲得的各個(gè)字符串作為中文名稱(chēng)的索引后,用戶(hù)可以通過(guò)中文名稱(chēng)中任意一個(gè)漢字的拼音首字母或任意多個(gè)相鄰漢字的拼音首字母組合來(lái)對(duì)中文名稱(chēng)進(jìn)行檢索。一方面,用戶(hù)可以通過(guò)中文名稱(chēng)中任意個(gè)數(shù)和任意位置漢字的拼音首字母組合來(lái)對(duì)中文名稱(chēng)進(jìn)行檢索,提高了用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索的方便性;另一方面,為中文名稱(chēng)創(chuàng)建多個(gè)索引,用戶(hù)在輸入任意一個(gè)索引對(duì)應(yīng)的拼音字符串后,都可以快速地檢索到該拼音字符串對(duì)應(yīng)的一個(gè)或多個(gè)中文名稱(chēng),相對(duì)模糊搜索的方式可以提高對(duì)中文名稱(chēng)進(jìn)行檢索的速度。
可選地,在以不同的切分位置和切分次數(shù)對(duì)待切分字符串進(jìn)行切分時(shí),可以通過(guò)遞歸算法,以待切分字符串作為初始輸入,對(duì)待切分字符串進(jìn)行切分運(yùn)算,將每一次切分運(yùn)算輸出的至少兩個(gè)運(yùn)算結(jié)果作為用于索引的字符串。
例如,以待切分字符串jyb作為初始輸入,通過(guò)遞歸算法對(duì)待切分字符串jyb進(jìn)行切分運(yùn)算。第一次切分運(yùn)算輸出字符串jy和字符串yb,將輸出的字符串jy和字符串yb作為中文名稱(chēng)“甲乙丙”的兩個(gè)索引;第二次切分運(yùn)算分別以字符串jy和字符串yb作為輸入,以字符串jy作為輸入時(shí)輸出字符串j和字符串y,以字符串yb作為輸入時(shí)輸出字符串y和字符串b,將輸出的字符串j、字符串y和字符串b作為中文名稱(chēng)“甲乙丙”的3個(gè)索引。
通過(guò)遞歸算法對(duì)待切分字符串進(jìn)行切分,可以快速并準(zhǔn)確地對(duì)待切分字符串進(jìn)行切分,保證切分運(yùn)算形成的字符串涵蓋拼音首字母的各種順序組合形式,進(jìn)而保證用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索的方便性和速度。
可選地,除了將對(duì)待切分字符串進(jìn)行切分所得的字符串與中文名稱(chēng)進(jìn)行關(guān)聯(lián),作為中文名稱(chēng)的索引外,還將待切分字符串本身與中文名稱(chēng)進(jìn)行關(guān)聯(lián),作為中文名稱(chēng)的一個(gè)索引。
一方面,由于用戶(hù)在對(duì)中文名稱(chēng)進(jìn)行檢索時(shí),可能會(huì)輸入中文名稱(chēng)所包括各個(gè)漢字的拼音首字母,將待切分字符串作為中文名稱(chēng)的一個(gè)索引后,保證用戶(hù)在輸入中文名稱(chēng)所包括各個(gè)漢字的拼音首字母時(shí),能夠檢索到中文名稱(chēng);另一方面,將待切分字符串作為中文名稱(chēng)的一個(gè)索引,由于待切分字符串反映了中文名稱(chēng)所包括的各個(gè)漢字,以該待切分字符串作為索引的中文名稱(chēng)的個(gè)數(shù)相對(duì)較少,因而用戶(hù)通過(guò)輸入待切分字符串進(jìn)行檢索時(shí),檢索到的中文名稱(chēng)的數(shù)量較少,使得用戶(hù)可以從檢索到的各個(gè)中文名稱(chēng)中快速找出所需的中文名稱(chēng),進(jìn)一步提升了用戶(hù)檢索中文名稱(chēng)時(shí)的體驗(yàn)。
可選地,如圖1所示,
步驟101獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母時(shí),可以通過(guò)預(yù)先創(chuàng)建的jar包,分別將中文名稱(chēng)包括的每一個(gè)漢字翻譯成對(duì)應(yīng)的拼音全拼,然后針對(duì)每一個(gè)漢字,通過(guò)jar包從該漢字對(duì)應(yīng)的拼音全拼中提取第一個(gè)字母作為該漢字的拼音首字母。
例如,通過(guò)預(yù)先創(chuàng)建的jar包,將中文名稱(chēng)“甲乙丙”中的“甲”翻譯為拼音全拼jia,將“乙”翻譯為拼音全拼yi,將“丙”翻譯成拼音全拼bing。然后通過(guò)再次通過(guò)jar包,從拼音全拼jia中提取j作為“甲”的拼音首字母,從拼音全拼yi中提取y作為“乙”的拼音首字母,從拼音全拼bing中提取b作為“丙”的拼音首字母。
預(yù)先定義一個(gè)jar包,在需要對(duì)中文名稱(chēng)創(chuàng)建索引時(shí),可以調(diào)用jar包實(shí)現(xiàn)獲取中文名稱(chēng)中每一個(gè)漢字的拼音首字母,從而方便地獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母。另外,由于jar包可以直接引入相應(yīng)的項(xiàng)目,使用jar包中的方法,從而可以將定義的jar包引入不同的中文名稱(chēng)索引創(chuàng)建系統(tǒng),降低開(kāi)發(fā)工作的工作量。
下面以對(duì)智能機(jī)頂盒中點(diǎn)播電視節(jié)目的中文名稱(chēng)進(jìn)行索引創(chuàng)建為例,對(duì)本發(fā)明實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的方法作進(jìn)一步詳細(xì)說(shuō)明,如圖2所示,該方法可以包括以下步驟:
步驟201:獲取需要?jiǎng)?chuàng)建索引的中文名稱(chēng)。
在本發(fā)明一個(gè)實(shí)施例中,智能機(jī)頂盒增加了新的點(diǎn)播電視節(jié)目后,需要為新增加點(diǎn)播電視節(jié)目的中文名稱(chēng)創(chuàng)建索引,以便用戶(hù)能夠通過(guò)遙控器輸入部分字母后檢索到該點(diǎn)播電視節(jié)目。在為新增加點(diǎn)播電視節(jié)目的中文名稱(chēng)創(chuàng)建索引之前,首先要獲取該新增加點(diǎn)播電視節(jié)目的中文名稱(chēng)。
例如,獲取新增加點(diǎn)播電視節(jié)目a的中文名稱(chēng)“甲乙丙”。
步驟202:通過(guò)預(yù)先定義的jar包將中文名稱(chēng)包括的各個(gè)漢字翻譯為對(duì)應(yīng)的拼音全拼。
在本發(fā)明一個(gè)實(shí)施例中,預(yù)先定義或獲取已經(jīng)存在的jar包,通過(guò)該jar包將新增加點(diǎn)播電視節(jié)目的中文名稱(chēng)包括的每一個(gè)漢字翻譯為對(duì)應(yīng)的拼音全拼。
例如,通過(guò)預(yù)先定義的jar包,將新增加點(diǎn)播電視節(jié)目a的中文名稱(chēng)“甲乙丙”中的漢字“甲”翻譯為拼音全拼jia,將“乙”翻譯為拼音全拼yi,將“丙”翻譯成拼音全拼bing。
步驟203:通過(guò)jar包從各個(gè)漢字的拼音全拼中提取各個(gè)漢字的拼音首字母。
在本發(fā)明一個(gè)實(shí)施例中,在獲取到中文名稱(chēng)中每一個(gè)漢字的拼音全拼后,再次通過(guò)jar包,分別從每一個(gè)漢字的拼音全拼中提取該漢字的拼音首字母,從而獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母。
例如,從拼音全拼jia中提取j作為“甲”的拼音首字母,從拼音全拼yi中提取y作為“乙”的拼音首字母,從拼音全拼bing中提取b作為“丙”的拼音首字母。
步驟204:對(duì)各個(gè)漢字的拼音首字母進(jìn)行組合,形成待切分字符串。
在本發(fā)明一個(gè)實(shí)施例中,在獲取到中文名稱(chēng)中各個(gè)漢字的拼音首字母后,根據(jù)對(duì)應(yīng)漢字在中文名稱(chēng)中的順序,對(duì)各個(gè)漢字的拼音首字母進(jìn)行順序組合,形成待切分字符串。
例如,根據(jù)漢字“甲”、“乙”和“丙”在中文名稱(chēng)“甲乙丙”中的排序,將漢字“甲”、“乙”和“丙”對(duì)應(yīng)的拼音首字母j、y和b組合成待切分字符串jyb。
步驟205:通過(guò)遞歸算法對(duì)待切分字符串進(jìn)行切分運(yùn)算,獲得至少一個(gè)字符串。
在本發(fā)明一個(gè)實(shí)施例中,獲取到由中文名稱(chēng)中各個(gè)漢字的拼音首字母組成的待切分字符串后,將待切分字符串作為初始輸入,通過(guò)遞歸算法對(duì)待切分字符串進(jìn)行切分運(yùn)算,獲得輸出的各個(gè)字符串。
例如,以待切分字符串jyb作為初始輸入,通過(guò)遞歸算法對(duì)待切分字符串jyb進(jìn)行切分運(yùn)算,運(yùn)算輸出字符串jy、字符串yb、字符串j、字符串y和字符串b。
步驟206:將各個(gè)字符串及待切分字符串與中文名稱(chēng)相關(guān)聯(lián),作為中文名稱(chēng)的索引。
在本發(fā)明一個(gè)實(shí)施例中,在對(duì)待切分字符串進(jìn)行切分獲得字符串后,將獲得的各個(gè)字符串以及待切分字符串與中文名稱(chēng)相關(guān)聯(lián),將各個(gè)字符串以及待切分字符串作為中文名稱(chēng)的索引,并將新增加點(diǎn)播電視節(jié)目的中文名稱(chēng)與字符串及待切分字符串的關(guān)聯(lián)關(guān)系存儲(chǔ)到智能機(jī)頂盒中,使用戶(hù)通過(guò)遙控器輸入各個(gè)字符串及待切分字符串中的任意一個(gè)時(shí),能夠檢索到該新增加點(diǎn)播電視節(jié)目。
例如將字符串jy、字符串yb、字符串j、字符串y和字符串b與新增加點(diǎn)播電視節(jié)目a的中文名稱(chēng)“甲乙丙”相關(guān)聯(lián),并將待切分字符串jyb與新增加點(diǎn)播電視節(jié)目a的中文名稱(chēng)“甲乙丙”相關(guān)聯(lián),將字符串jy、字符串yb、字符串j、字符串y、字符串b及待切分字符串jyb作為中文名稱(chēng)“甲乙丙”的索引。當(dāng)用戶(hù)通過(guò)遙控器向智能機(jī)頂盒發(fā)送jy、yb、j、y、b和jyb中任意一個(gè)字符串時(shí),智能機(jī)頂盒能夠通過(guò)中文名稱(chēng)“甲乙丙”的各個(gè)索引,檢索到中文名稱(chēng)“甲乙丙”,進(jìn)而向用戶(hù)展示新增加點(diǎn)播電視節(jié)目a。
在本發(fā)明一個(gè)實(shí)施例中,通過(guò)遞歸算法對(duì)待切分字符串進(jìn)行切分運(yùn)算時(shí),可以通過(guò)以下腳本實(shí)現(xiàn):
如圖3、圖4所示,本發(fā)明實(shí)施例提供了一種創(chuàng)建中文名稱(chēng)索引的裝置。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。從硬件層面而言,如圖3所示,為本發(fā)明實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等。以軟件實(shí)現(xiàn)為例,如圖4所示,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的cpu將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。本實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的裝置,包括:獲取單元401、切分單元402和關(guān)聯(lián)單元403;
獲取單元401,用于獲取中文名稱(chēng)中各個(gè)漢字的拼音首字母;
切分單元402,用于分別獲取以獲取單元401獲取到的每一個(gè)拼音首字母開(kāi)頭的至少一個(gè)字符串,其中,字符串中任意兩個(gè)相鄰拼音首字母對(duì)應(yīng)的兩個(gè)漢字在中文名稱(chēng)中相鄰,且字符串中各個(gè)拼音首字母的順序與對(duì)應(yīng)漢字在中文名稱(chēng)中的順序相同;
關(guān)聯(lián)單元403,用于將切分單元402獲取到的各個(gè)字符串與中文名稱(chēng)相關(guān)聯(lián),作為中文名稱(chēng)的索引。
可選地,如圖5所示,
當(dāng)中文名稱(chēng)包括有至少兩個(gè)漢字時(shí),切分單元402包括:組合子單元4021和切分子單元4022;
組合子單元4021,用于按照對(duì)應(yīng)漢字在中文名稱(chēng)中的順序,對(duì)各個(gè)拼音首字母進(jìn)行順序組合,形成待切分字符串;
切分子單元4022,用于以不同的切分位置和切分次數(shù)對(duì)組合子單元4021形成的待切分字符串進(jìn)行至少一次切分,獲得至少兩個(gè)字符串,其中,每一個(gè)字符串包括有至少一個(gè)拼音首字母。
可選地,如圖5所示,
切分子單元4022,用于通過(guò)遞歸算法,以待切分字符串作為初始輸入,對(duì)待切分字符串進(jìn)行切分運(yùn)算,將每一次切分運(yùn)算輸出的至少兩個(gè)運(yùn)算結(jié)果作為對(duì)應(yīng)數(shù)量的字符串。
可選地,如圖5所示,
關(guān)聯(lián)單元403,進(jìn)一步用于將待切分字符串與中文名稱(chēng)相關(guān)聯(lián),作為中文名稱(chēng)的一個(gè)索引。
可選地,如圖6所示,
獲取單元401包括:翻譯子單元4011和提取子單元4012;
翻譯子單元4011,用于通過(guò)預(yù)先定義的jar包,分別將中文名稱(chēng)包括的每一個(gè)漢字翻譯為對(duì)應(yīng)的拼音全拼;
提取子單元4012,用于針對(duì)每一個(gè)漢字,通過(guò)jar包,從該漢字對(duì)應(yīng)拼音全拼中提取第一個(gè)字母作為該漢字的拼音首字母。
需要說(shuō)明的是,上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
本發(fā)明實(shí)施例還提供了一種可讀介質(zhì),可讀介質(zhì)上存儲(chǔ)有執(zhí)行指令,當(dāng)存儲(chǔ)控制器的處理器執(zhí)行所述執(zhí)行指令時(shí),所述存儲(chǔ)控制器執(zhí)行前述任意一個(gè)實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的方法。
本發(fā)明實(shí)施例還提供了一種存儲(chǔ)控制器,包括:處理器、存儲(chǔ)器和總線(xiàn);
所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行指令,所述處理器與所述存儲(chǔ)器通過(guò)所述總線(xiàn)連接,當(dāng)所述存儲(chǔ)控制器運(yùn)行時(shí),所述處理器執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述執(zhí)行前述任意一個(gè)實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的方法。
綜上所述,本發(fā)明各個(gè)實(shí)施例提供的創(chuàng)建中文名稱(chēng)索引的方法及裝置,至少具有如下有益效果:
1、在本發(fā)明實(shí)施例中,獲取中文名稱(chēng)中每一個(gè)漢字的拼音首字母后,針對(duì)每一個(gè)拼音首字母,獲取以該拼音首字母開(kāi)頭的至少一個(gè)字符串,使得每一個(gè)字符串中任意兩個(gè)相鄰拼音首字母對(duì)應(yīng)的兩個(gè)漢字在中文名稱(chēng)中相連,且每一個(gè)字符串中各個(gè)拼音首字母的順序與對(duì)應(yīng)漢字在中文名稱(chēng)中的順序相同,將獲取到的各個(gè)字符串與中文名稱(chēng)關(guān)聯(lián)后,各個(gè)字符串作為中文名稱(chēng)的索引。由此可見(jiàn),將以中文名稱(chēng)中每一個(gè)漢字的拼音首字母為開(kāi)頭的字符串作為中文名稱(chēng)的索引,用戶(hù)在不知道中文名稱(chēng)的第一漢字時(shí),可以通過(guò)中文名稱(chēng)后面的一個(gè)或多個(gè)漢字的拼音首字母對(duì)中文名稱(chēng)進(jìn)行檢索,達(dá)到對(duì)中文名稱(chēng)進(jìn)行檢索的目的,從而提升了用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索時(shí)的體驗(yàn)。
2、在本發(fā)明實(shí)施例中,在獲取作為中文名稱(chēng)索引的字符串時(shí),首先將中文名稱(chēng)中各個(gè)漢字的拼音首字母進(jìn)行順序組合形成待切分字符串,然后以不同的切分位置和切分次數(shù)對(duì)待切分字符串進(jìn)行多次切分,獲得多個(gè)字符串,所獲得的各個(gè)字符串涵蓋了中文名稱(chēng)中任意個(gè)數(shù)相鄰漢字的拼音首字母的組合形式。這樣,用戶(hù)可以通過(guò)中文名稱(chēng)中任意個(gè)數(shù)和任意位置漢字的拼音首字母組合來(lái)對(duì)中文名稱(chēng)進(jìn)行檢索,提高了用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索的方便性。
3、在本發(fā)明實(shí)施例中,在對(duì)待切分字符串進(jìn)行切分時(shí),可以將待切分字符串作為初始輸入,通過(guò)遞歸算法對(duì)待切分字符串進(jìn)行切分運(yùn)算。這樣,可以快速并準(zhǔn)確地對(duì)待切分字符串進(jìn)行切分,保證切分運(yùn)算形成的字符串涵蓋拼音首字母的各種順序組合形式,進(jìn)而保證用戶(hù)對(duì)中文名稱(chēng)進(jìn)行檢索的方便性和速度。
4、在本發(fā)明實(shí)施例中,除了將對(duì)待切分字符串進(jìn)行切分所得的字符串與中文名稱(chēng)進(jìn)行關(guān)聯(lián),作為中文名稱(chēng)的索引外,還將待切分字符串本身與中文名稱(chēng)進(jìn)行關(guān)聯(lián),作為中文名稱(chēng)的一個(gè)索引。這樣,用于可以輸入中文名稱(chēng)所包括各個(gè)漢字的拼音首字母,來(lái)對(duì)中文名稱(chēng)進(jìn)行更加快速的檢索,提高對(duì)中文名稱(chēng)進(jìn)行檢索的速度。
需要說(shuō)明的是,在本文中,諸如第一和第二之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)〃····〃”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。