本發(fā)明涉及模式識(shí)別與人工智能技術(shù)領(lǐng)域,特別涉及一種手寫輸入多個(gè)字符的識(shí)別方法和系統(tǒng)。
背景技術(shù):
目前存在著各種基于鍵盤的漢字輸入法、英文輸入法以及各種手寫漢字輸入法和手寫單獨(dú)字母輸入法。其中,基于鍵盤的輸入方法(比如五筆字型、漢語(yǔ)拼音)一般都需要比較好的訓(xùn)練才可以讓用戶記住利用聲、形、義來(lái)定義漢字編碼,并把它們映射到鍵盤上,不易使用。
現(xiàn)有技術(shù)中的手寫輸入法,將用戶在手寫輸入?yún)^(qū)所畫的所有筆劃默認(rèn)為一個(gè)漢字或一個(gè)字母的筆畫,即用戶若想輸入一個(gè)2個(gè)漢字的詞語(yǔ),需將該詞語(yǔ)分為兩個(gè)漢字,每次在手寫輸入手寫區(qū)中輸入一個(gè)漢字,每次只對(duì)一個(gè)漢字進(jìn)行識(shí)別。這種方法尚可實(shí)現(xiàn)漢字的輸入。
然而,用戶在實(shí)際操作過程中手寫輸入漢字時(shí),通常會(huì)偶爾忘記某個(gè)漢字應(yīng)該怎么寫,而記得改漢字的漢語(yǔ)拼音應(yīng)該怎么拼,但是在現(xiàn)有技術(shù)中,用戶若想手寫輸入一個(gè)具有2個(gè)字母的漢語(yǔ)拼音或英文單詞,若采用類似漢字的方法將該單詞分為3個(gè)字母,每次在手寫輸入手寫區(qū)中輸入一個(gè)字母,那么最后得到的是3個(gè)單獨(dú)的字母,并不是組合在一起所形成的漢語(yǔ)拼音或英文單詞。
因此,現(xiàn)有技術(shù)中需要一種可以在手寫輸入?yún)^(qū)中輸入多個(gè)字符(包括漢字、字母、數(shù)字、符號(hào))的手寫輸入識(shí)別方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種簡(jiǎn)便、快速,可以在手寫輸入?yún)^(qū)中輸入多個(gè)字符(包括漢字、字母、數(shù)字、符號(hào))的手寫輸入識(shí)別方法。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種手寫輸入多個(gè)字符的識(shí)別方法,包括以下步驟:
基于多個(gè)手寫字符的運(yùn)筆軌跡,對(duì)所述多個(gè)字符進(jìn)行識(shí)別以得到多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離;
基于所述每個(gè)識(shí)別字符的輸入順序以及所述每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離,對(duì)所述多個(gè)識(shí)別字符進(jìn)行拼合以得到分詞結(jié)果。
進(jìn)一步,在所述對(duì)多個(gè)字符進(jìn)行識(shí)別的步驟之前,還包括:
提供漢語(yǔ)拼音輸入法、英文單詞輸入法、漢字輸入法和混合輸入法以供用戶擇取其中一種。
進(jìn)一步,當(dāng)用戶選擇漢語(yǔ)拼音輸入法或英文單詞輸入法時(shí),所述對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:
基于字母分詞算法,對(duì)所述識(shí)別字符進(jìn)行拼合,以得到一個(gè)或多個(gè)漢字的漢語(yǔ)拼音,或得到一個(gè)或多個(gè)英文單詞。
進(jìn)一步,當(dāng)用戶選擇漢字輸入法時(shí),所述對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:
將所述多個(gè)識(shí)別字符中的每個(gè)識(shí)別字符進(jìn)行單獨(dú)保存,以得到一個(gè)或多個(gè)漢字。
進(jìn)一步,當(dāng)用戶選擇混合輸入法時(shí),所述對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:
基于所述多個(gè)識(shí)別字符,逐一判斷每個(gè)識(shí)別字符是否為字母,若是則采用字母分詞算法,若否則采用非字母分詞算法。
進(jìn)一步,所述字母分詞算法包括以下步驟:
步驟s1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟s8;
若否,則執(zhí)行步驟s2;
步驟s2:根據(jù)所述多個(gè)識(shí)別字符的輸入順序,從輸入記錄中取出在先輸入的識(shí)別字符,執(zhí)行步驟s3;
步驟s3:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s4;
步驟s4:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟s5;
步驟s5:判斷所述距離是否大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s6;
步驟s6:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟s1;
步驟s7:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟s1;
步驟s8:結(jié)束流程。
進(jìn)一步,所述非字母分詞算法包括以下步驟:
步驟a1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟a10;
若否,則執(zhí)行步驟a2;
步驟a2:根據(jù)所述識(shí)別字符輸入的先后順序,從輸入記錄中取出在先輸入的字符,執(zhí)行步驟a3;
步驟a3:判斷當(dāng)前取出的識(shí)別字符是否為字母;
若是,則執(zhí)行步驟a4;
若否,則執(zhí)行步驟a9;
步驟a4:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a5;
步驟a5:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟a6;
步驟a6:判斷所述距離是否為大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a7;
步驟a7:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟a1;
步驟a8:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟a1;
步驟a9:將當(dāng)前取出的識(shí)別字符單獨(dú)保存,返回步驟a1;
步驟a10:結(jié)束流程。
進(jìn)一步,還包括以下步驟:
存儲(chǔ)所述分詞結(jié)果;
將所存儲(chǔ)的分詞結(jié)果在詞庫(kù)中進(jìn)行檢索,從而獲得至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào);
動(dòng)態(tài)顯示所獲得的至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。
根據(jù)本發(fā)明的另一方面,還提供一種手寫輸入多個(gè)字符的識(shí)別系統(tǒng),包括:
運(yùn)筆軌跡識(shí)別模塊,用于基于多個(gè)手寫字符的運(yùn)筆軌跡,對(duì)所述多個(gè)字符進(jìn)行識(shí)別以得到多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離;
字符分詞模塊,用于基于所述每個(gè)識(shí)別字符的輸入順序以及所述每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離,對(duì)所述多個(gè)識(shí)別字符進(jìn)行拼合以得到分詞結(jié)果。
進(jìn)一步,還包括輸入法類型切換模塊,用于提供漢語(yǔ)拼音輸入法、英文 單詞輸入法、漢字輸入法、和混合輸入法以供用戶擇取其中一種。
進(jìn)一步,當(dāng)用戶選擇漢語(yǔ)拼音輸入法或英文單詞輸入法時(shí),所述字符分詞模塊基于字母分詞算法,對(duì)所述識(shí)別字符進(jìn)行拼合,以得到一個(gè)或多個(gè)漢字的漢語(yǔ)拼音,或得到一個(gè)或多個(gè)英文單詞。
進(jìn)一步,當(dāng)用戶選擇漢字輸入法時(shí),所述字符分詞模塊,用于將所述多個(gè)識(shí)別字符中的每個(gè)識(shí)別字符進(jìn)行單獨(dú)保存,以得到一個(gè)或多個(gè)漢字。
進(jìn)一步,當(dāng)用戶選擇混合輸入法時(shí),所述字符分詞模塊基于所述多個(gè)識(shí)別字符,逐一判斷每個(gè)識(shí)別字符是否為字母,若是則采用字母分詞算法,若否則采用非字母分詞算法。
進(jìn)一步,所述字母分詞算法包括以下步驟:
步驟s1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟s8;
若否,則執(zhí)行步驟s2;
步驟s2:根據(jù)所述多個(gè)識(shí)別字符的輸入順序,從輸入記錄中取出在先輸入的識(shí)別字符,執(zhí)行步驟s3;
步驟s3:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s4;
步驟s4:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟s5;
步驟s5:判斷所述距離是否大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s6;
步驟s6:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟s1;
步驟s7:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟s1;
步驟s8:結(jié)束流程。
進(jìn)一步,所述非字母分詞算法包括以下步驟:
步驟a1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟a10;
若否,則執(zhí)行步驟a2;
步驟a2:根據(jù)所述識(shí)別字符輸入的先后順序,從輸入記錄中取出在先輸入的字符,執(zhí)行步驟a3;
步驟a3:判斷當(dāng)前取出的識(shí)別字符是否為字母;
若是,則執(zhí)行步驟a4;
若否,則執(zhí)行步驟a9;
步驟a4:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a5;
步驟a5:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟a6;
步驟a6:判斷所述距離是否為大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a7;
步驟a7:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟a1;
步驟a8:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟a1;
步驟a9:將當(dāng)前取出的識(shí)別字符單獨(dú)保存,返回步驟a1;
步驟a10:結(jié)束流程。
進(jìn)一步,分詞結(jié)果存儲(chǔ)模塊,用于存儲(chǔ)所述分詞結(jié)果。
檢索模塊,用于將所述分詞結(jié)果存儲(chǔ)模塊中所存儲(chǔ)的分詞結(jié)果在詞庫(kù)中進(jìn)行檢索,從而獲得至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少 一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。
詞庫(kù),存儲(chǔ)于計(jì)算機(jī)存儲(chǔ)器中,包括漢字庫(kù)、英語(yǔ)單詞庫(kù)、漢語(yǔ)拼音庫(kù)和符號(hào)庫(kù)。
顯示模塊,用于動(dòng)態(tài)顯示所述檢索模塊所獲得的至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。
本發(fā)明所提供的手寫輸入法,能夠?qū)崿F(xiàn)在手寫輸入?yún)^(qū)輸入多個(gè)字符,并對(duì)多個(gè)字符進(jìn)行識(shí)別,能夠?qū)崿F(xiàn)手寫輸入漢字、手寫輸入漢語(yǔ)拼音、手寫輸入英文單詞、以及手寫同時(shí)輸入漢字和字母,并且可以使得用戶在四種輸入方式中的任意切換,大大提升了用戶書寫的體驗(yàn)感。
附圖說(shuō)明
圖1是本發(fā)明一種手寫輸入多個(gè)字符的識(shí)別方法的步驟流程示意圖;
圖2為本發(fā)明所述的字母分詞算法的步驟流程圖;
圖3為本發(fā)明所述的非字母分詞算法的步驟流程圖;
圖4為本發(fā)明一種手寫輸入多個(gè)字符的識(shí)別系統(tǒng)的模塊關(guān)系示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)施方式并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說(shuō)明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
圖1是本發(fā)明一種手寫輸入多個(gè)字符的識(shí)別方法的步驟流程示意圖。
如圖1所示,手寫輸入多個(gè)字符的識(shí)別方法,包括以下步驟:
步驟s001,接收用戶在手寫輸入?yún)^(qū)所輸入的多個(gè)字符。
用戶通過現(xiàn)有技術(shù)中的手寫輸入識(shí)別設(shè)備(例如觸摸屏),在一個(gè)平面手 寫輸入?yún)^(qū)中畫出多個(gè)字符。在計(jì)算機(jī)和電信技術(shù)中,一個(gè)字符是一個(gè)單位的字形、類字形單位或符號(hào)的基本信息,如字母、數(shù)字、漢字和符號(hào)等。
其中,字母包括26個(gè)英文大寫字母(a、b、c……x、y、z)以及26個(gè)英文小寫字母(a、b、c……x、y、z)。數(shù)字包括10個(gè)阿拉伯?dāng)?shù)字(0、1、2、3、4、5、6、7、8、9)。漢字包括《現(xiàn)代漢語(yǔ)通用字表》中所收錄的漢字,或者可根據(jù)需要收錄康熙字典中的漢字以及現(xiàn)有技術(shù)中計(jì)算機(jī)輸入法的詞庫(kù)中所存儲(chǔ)的漢字。符號(hào)包括漢語(yǔ)標(biāo)點(diǎn)符號(hào)、英語(yǔ)標(biāo)點(diǎn)符號(hào)等現(xiàn)有技術(shù)中計(jì)算機(jī)輸入法的詞庫(kù)中所存儲(chǔ)的符號(hào)。
步驟s002,根據(jù)用戶按筆畫手寫字符時(shí)的運(yùn)筆軌跡,采用現(xiàn)有技術(shù)對(duì)連續(xù)輸入的多個(gè)字符進(jìn)行識(shí)別,得到多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離。
根據(jù)用戶按筆畫手寫字符時(shí)的運(yùn)筆軌跡對(duì)字符進(jìn)行識(shí)別為現(xiàn)有技術(shù)中常見的技術(shù),例如申請(qǐng)?zhí)枮?8106953.3的中國(guó)發(fā)明專利《手寫漢字識(shí)別方法及裝置》中詳細(xì)描述了這種現(xiàn)有技術(shù),本發(fā)明在此不再詳述。
需要說(shuō)明的是,為了區(qū)別采用現(xiàn)有技術(shù)識(shí)別之前的字符與采用現(xiàn)有技術(shù)識(shí)別之后的字符,在表述中,將采用現(xiàn)有技術(shù)識(shí)別之前的字符稱之為“字符”,將采用現(xiàn)有技術(shù)識(shí)別之后的字符稱之為“識(shí)別字符”。
在用戶手寫輸入的同時(shí),記錄輸入順序。在用戶手寫輸入完成之后,得到用戶在輸入?yún)^(qū)中所輸入字符的圖片,采用現(xiàn)有技術(shù)對(duì)圖片中的字符進(jìn)行識(shí)別后,得到多個(gè)識(shí)別字符,計(jì)算多個(gè)識(shí)別字符的兩兩之間的距離,每?jī)蓚€(gè)相鄰的識(shí)別字符之間的距離包括橫向距離和縱向距離。
步驟s003,將步驟s002中所得到的多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離存儲(chǔ)到輸入記錄中。
步驟s004,根據(jù)每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離,對(duì)所述多個(gè)識(shí)別字符進(jìn)行拼合,以得到分詞結(jié)果。
若兩個(gè)識(shí)別字符之間的橫向距離大于或等于預(yù)設(shè)值,則認(rèn)為這兩個(gè)字符屬于不同的單位的字形,并將這兩個(gè)識(shí)別字符分別保存到各自所在的單位字 形中。若兩個(gè)識(shí)別字符之間的橫向距離小于預(yù)設(shè)值,則認(rèn)為這兩個(gè)識(shí)別字符屬于同一單位的字形,并將這兩個(gè)識(shí)別字符根據(jù)輸入順序當(dāng)做同一個(gè)單位字形進(jìn)行保存。
例如,設(shè)定預(yù)設(shè)值為x1,若用戶在手寫輸入?yún)^(qū)中依次輸入多個(gè)字符“感kai”。經(jīng)過現(xiàn)有技術(shù)識(shí)別后,得到識(shí)別字符“感kai”,其中,識(shí)別字符“感”和“k”之間的距離大于或等于預(yù)設(shè)值x1,則認(rèn)為這兩個(gè)識(shí)別字符屬于不同的單位的字形,將“感”作為一個(gè)識(shí)別字符進(jìn)行保存,將“k”作為另一個(gè)識(shí)別字符進(jìn)行保存。識(shí)別字符“k”和“a”之間的距離小于預(yù)設(shè)值x1,則認(rèn)為“k”和“a”屬于同一個(gè)漢語(yǔ)拼音,且“k”的輸入順序在前,“a”的輸入順序在后,將“a”作為“k”的后順字母進(jìn)行保存。
在上述步驟s004之前,還包括以下步驟:提供漢語(yǔ)拼音輸入法、英文單詞輸入法、漢字輸入法和混合輸入法以供用戶擇取其中一種。
具體的,可通過可顯示的人機(jī)交互界面為用戶提供漢語(yǔ)拼音輸入法、英文單詞輸入法、漢字輸入法和混合輸入法這四種輸入法的圖標(biāo)控件。
當(dāng)用戶選擇漢語(yǔ)拼音輸入法或英文單詞輸入法時(shí),步驟s004中對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:基于字母分詞算法,對(duì)所述識(shí)別字符進(jìn)行拼合,以得到一個(gè)或多個(gè)漢字的漢語(yǔ)拼音,或得到一個(gè)或多個(gè)英文單詞。
圖2為本發(fā)明所述的字母分詞算法的步驟流程圖。
如圖2所示,字母分詞算法包括以下步驟:
步驟s1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟s8;
若否,則執(zhí)行步驟s2;
步驟s2:根據(jù)所述多個(gè)識(shí)別字符的輸入順序,從輸入記錄中取出在先輸入的識(shí)別字符,執(zhí)行步驟s3;
步驟s3:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s4;
步驟s4:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟s5;
步驟s5:判斷所述距離是否大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟s7;
若否,則執(zhí)行步驟s6;
步驟s6:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟s1;
步驟s7:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟s1;
步驟s8:結(jié)束流程。
當(dāng)用戶選擇漢字輸入法時(shí),步驟s004中對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:將所述多個(gè)識(shí)別字符中的每個(gè)識(shí)別字符進(jìn)行單獨(dú)保存,以得到一個(gè)或多個(gè)漢字。
由于用戶選擇的是漢字輸入法,則用戶在輸入?yún)^(qū)中所輸入的字符均為漢字或標(biāo)點(diǎn)符號(hào)等符號(hào)字符,當(dāng)采用先有技術(shù)對(duì)輸入的字符進(jìn)行識(shí)別后,所得到的識(shí)別字符無(wú)需拼合,每個(gè)識(shí)別字符都是一個(gè)獨(dú)立的字符,在現(xiàn)代漢語(yǔ)中具有明確的含義,因此,可以將多個(gè)識(shí)別字符中的每個(gè)識(shí)別字符進(jìn)行單獨(dú)保存。
當(dāng)用戶選擇混合輸入法時(shí),步驟s004中對(duì)多個(gè)識(shí)別字符進(jìn)行拼合的步驟具體為:基于所述多個(gè)識(shí)別字符,逐一判斷每個(gè)識(shí)別字符是否為字母,若是則采用字母分詞算法,若否則采用非字母分詞算法。
圖3為本發(fā)明所述的非字母分詞算法的步驟流程圖。
如圖3所示,所述非字母分詞算法包括以下步驟:
步驟a1:判斷所述多個(gè)識(shí)別字符是否拼合完畢;
若是,則執(zhí)行步驟a10;
若否,則執(zhí)行步驟a2;
步驟a2:根據(jù)所述識(shí)別字符輸入的先后順序,從輸入記錄中取出在先輸 入的字符,執(zhí)行步驟a3;
步驟a3:判斷當(dāng)前取出的識(shí)別字符是否為字母;
若是,則執(zhí)行步驟a4;
若否,則執(zhí)行步驟a9;
步驟a4:判斷當(dāng)前取出的識(shí)別字符的輸入順序是否為第一;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a5;
步驟a5:從輸入記錄中獲取當(dāng)前取出的識(shí)別字符與該識(shí)別字符之前的識(shí)別字符之間的距離,執(zhí)行步驟a6;
步驟a6:判斷所述距離是否為大于或等于預(yù)設(shè)值;
若是,則執(zhí)行步驟a8;
若否,則執(zhí)行步驟a7;
步驟a7:將當(dāng)前取出的識(shí)別字符作為上次取出的識(shí)別字符所在的英文單詞或漢語(yǔ)拼音的后順字母進(jìn)行保存,返回步驟a1;
步驟a8:將當(dāng)前取出的識(shí)別字符作為一個(gè)英文單詞或漢語(yǔ)拼音的首字母進(jìn)行保存,返回步驟a1;
步驟a9:將當(dāng)前取出的識(shí)別字符單獨(dú)保存,返回步驟a1;
步驟a10:結(jié)束流程。
在步驟s004之后,還包括步驟s005,存儲(chǔ)所述分詞結(jié)果。
在步驟s005之后,還包括步驟s006,將所存儲(chǔ)的分詞結(jié)果在詞庫(kù)中進(jìn)行檢索,從而獲得至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。其中,所述漢語(yǔ)拼音既可以為完整的漢語(yǔ)拼音,或一個(gè)或多個(gè)漢字拼音的縮寫組合。
在步驟s006之后,還包括步驟s007,動(dòng)態(tài)顯示所獲得的至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。
圖4為本發(fā)明一種手寫輸入多個(gè)字符的識(shí)別系統(tǒng)的模塊關(guān)系示意圖。
如圖4所示,手寫輸入多個(gè)字符的識(shí)別系統(tǒng)包括:
手寫輸入接收模塊,用于接收用戶在手寫輸入?yún)^(qū)所輸入的多個(gè)字符;
運(yùn)筆軌跡識(shí)別模塊,用于基于多個(gè)手寫字符的運(yùn)筆軌跡,對(duì)所述多個(gè)字符進(jìn)行識(shí)別以得到多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離;
輸入記錄存儲(chǔ)模塊,用于存儲(chǔ)所述多個(gè)識(shí)別字符、每個(gè)識(shí)別字符的輸入順序以及每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離;
字符分詞模塊,用于基于所述每個(gè)識(shí)別字符的輸入順序以及所述每?jī)蓚€(gè)相鄰識(shí)別字符之間的距離,對(duì)所述多個(gè)識(shí)別字符進(jìn)行拼合以得到分詞結(jié)果。
輸入法類型切換模塊,用于提供漢語(yǔ)拼音輸入法、英文單詞輸入法、漢字輸入法、和混合輸入法以供用戶擇取其中一種。
當(dāng)用戶選擇漢語(yǔ)拼音輸入法或英文單詞輸入法時(shí),所述字符分詞模塊基于字母分詞算法,對(duì)所述識(shí)別字符進(jìn)行拼合,以得到一個(gè)或多個(gè)漢字的漢語(yǔ)拼音,或得到一個(gè)或多個(gè)英文單詞。
當(dāng)用戶選擇漢字輸入法時(shí),所述字符分詞模塊,用于將所述多個(gè)識(shí)別字符中的每個(gè)識(shí)別字符進(jìn)行單獨(dú)保存,以得到一個(gè)或多個(gè)漢字。
當(dāng)用戶選擇混合輸入法時(shí),所述字符分詞模塊基于所述多個(gè)識(shí)別字符,逐一判斷每個(gè)識(shí)別字符是否為字母,若是則采用字母分詞算法,若否則采用非字母分詞算法。
分詞結(jié)果存儲(chǔ)模塊,用于存儲(chǔ)所述分詞結(jié)果。
檢索模塊,用于將所述分詞結(jié)果存儲(chǔ)模塊中所存儲(chǔ)的分詞結(jié)果在詞庫(kù)中進(jìn)行檢索,從而獲得至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè)候選符號(hào)。
詞庫(kù),存儲(chǔ)于計(jì)算機(jī)存儲(chǔ)器中,包括漢字庫(kù)、英語(yǔ)單詞庫(kù)、漢語(yǔ)拼音庫(kù)和符號(hào)庫(kù)。
顯示模塊,用于動(dòng)態(tài)顯示所述檢索模塊所獲得的至少一個(gè)候選英文單詞、至少一個(gè)候選漢語(yǔ)拼音、至少一個(gè)候選漢字、至少一個(gè)候選數(shù)字或至少一個(gè) 候選符號(hào)。
本發(fā)明所提供的手寫輸入法,能夠?qū)崿F(xiàn)在手寫輸入?yún)^(qū)輸入多個(gè)字符,并對(duì)多個(gè)字符進(jìn)行識(shí)別,能夠?qū)崿F(xiàn)手寫輸入漢字、手寫輸入漢語(yǔ)拼音、手寫輸入英文單詞、以及手寫同時(shí)輸入漢字和字母,并且可以使得用戶在四種輸入方式中的任意切換,大大提升了用戶書寫的體驗(yàn)感。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。