利用读音及通配字符的拼写检查方法

文档序号:6414411阅读:288来源:国知局
专利名称:利用读音及通配字符的拼写检查方法
技术领域
本发明是有关于一种拼写检查方法,特别是有关于一种利用读音及通配字符地拼写检查方法。
英文拼写检查(spell checking)是为一般电脑内处理英文文字资料的应用软件中不可或缺的一项重要功能,可将输入至电脑中的英文单字经检查而判定其英文单字的拼法是否有误。这些处理英文文字资料的应用软件除字处理软件(word processor)外,亦包括数据库(database)及试算表(sreadsheet)等等,藉以使撰写的英文文稿或数据库中的英文文字资料中的单字拼法不致有误。
目前一般的英文拼写检查功能只能根据整体单字的字母组合方式,而达到简单的拼写校正功能,但是却无法根据相近的读音以达到拼写校正的功能。例如,若使用者欲键入“mosquito”此一英文单字,但使用者只记得此英文单字的读法,而不记得其拼法,因此而将“maskito”键入电脑的记忆体中。此时,一般的英文拼写检查功能会提供“masking”或“mascot”等可能的正确拼法于电脑屏幕上供使用者选择,但不会出现“mosquito”此字。此原因在于“mosquito”的字母组合形态与“maskito”较不接近。
又例如,使用者欲键入“confidential”此英文单字,但使用者以大概的读音来凑成“confidanshal或“Kanfedential”再键入电脑时,一般的英文拼写检查功能均无法提供“confidential”为可能的正确拼法。
由于英文为一种以读音方式来表现文字的语言,因此,实际上,使用者如不确实记得英文单字的拼法时,经常有以大概的读音来凑成单字,再键入电脑的情形。但如上所述,熟知的英文拼写检查功能一般均无法就读音来找出可能的正确拼法。
另外,对于将英文作为一外语学习的使用者而言,英文单字常有无法念得很标准的情形。若此使用者以不太标准的近似发音凑成单字再键入电脑,例如将“spend”以“sbend”的拼法,将“student”以“sdudent”的拼法,或将“school”以“sgool”的拼法键入电脑,此时若键入的拼法与正确的拼法的字母组合形态接近,例如“sbend”及“sdudent”,则熟知的英文拼写检查功能尚可将“spend”及“student”列为可能的正确拼法,但字母组合形态与正确的拼法较水相近时,例如“sgool,则熟知的英文拼写检查功能一般会提供“spool”或“stool”为可能的正确拼法,但不会提供“school”为可能的正确拼法。
再者,一般的拼写检查功能中还具有一种通配字符查询的方法,但是其均是针对拼写的检查原理。因此,类似上述的情形,如果使用者键入一个错误的英文字母,则永远无法找到所要查询的英文字了。例如,ci中的c与si中的s同样是念“s”,但是如果使用者键入res*t,就无法藉由传统的拼写检查功能的通配字符查询方法找到receipt这个字。
另外,当使用者只知道查询字的发音,但对于所要查询字的拼法并不确定时,则传统的拼写检查功能并没有提供此种藉由音标来查询英文字的功能。
鉴于上述的发明背景中,传统的所产生的诸多缺点,本发明的主要目的在于提供一种利用读音及通配字符的拼写检查方法,其将输入的英文单字经检查而判定该英文单字的拼法是否有误,并根据读音方式提供所有的可能的正确拼法,并根据读音方式提供所有的可能的正确拼法,并可以音标或/及通配字符的输入方式,以达到拼写检查的目的。
根据以上所述的目的,本发明提供了一种英文拼写检查方法,可根据读音来找出可能的正确拼法的英文拼写检查。此英文拼写检查的软件技术方法可将以二元码方式输入至一电脑装置中的英文单字,经检查而判定该英文单字的拼法是否有误,并根据所输入的拼法错误的英文单字的读音方式,找出发音相近的所有可能的正确拼法。
根据以上所述的目的,本发明提供了一种利用读音及通配字符的拼写检查方法。首先,根据英文读音原则,建立一音标转换原则。接着,依照音标字串的输入先后顺序,并根据音标转换原则,将音标字串作群组的排列组合代换,以产生多个可能的音标字串输出。最后,则过滤可能的音标字串输出。在本发明中,可以同时输入读音英文字串,音标字串,或/及通配字符,其中,读音字串、通配字符及音标字串是分开作音标替换的处理。
在本发明实施例中,其中的过滤至少包含下列步骤。首先,将音标字串输出内的连续相同重复的音标过滤,直到剩下一个。若音标字串输出内的k或g音标的前一音标为n,则n改成η;若音标字串输出内的∫的前一音标为s,则s∫代换成∫,若∫的前一音标为k,则k∫代换成t∫。接着,对于每个音标字串输出,寻找合适的单字,并把音标字串输出中的各个音标字串再衍生成相似的音标字串,以寻找合适的单字,用于避免有些辅音不发音,及混合音不易辨听所造成的漏音。
本发明通过利用拼音和通配字符进行英文的拼写检查,能够大大提高与写错的英文相似的正确拼写的英文出现的可能性,并且使使用者能够通过多种途径进行所要检查的英文的输入,加快了找到正确拼写的英文的速度。
下面根据附图对本发明的实施例进行详细的描述。


图1示出本发明实施例的系统功能图,
图2显示本发明实施例的流程图。
图1显示了本发明实施例的系统功能图。在本实施例中,英文拼写检查10是根据英文语言的读音原则,并配合英文音标(例如kenyon &knott,kk音标)及通配字符查询(wildcard search)以达到更周详及更符合使用者需求的目的。在本实施例中,至少包含了读音输入查询100,类音标输入查询102,读音配合类音标的输入查询104,及读音、类音标配合通配字符的输入查询106。其中,读音输入查询100部分对于熟悉此技术的人士,图1的查询项目可以作等效的其他组合修改,而不会脱离本发明所提示的精神,均应包含在下述的申请专利范围内。
图2显示了本发明实施例的流程图。首先,在步骤20中输入一查询字串,此字串可以部分包含英文拼写,部分包含通配字符,或部分包含类音标符号。例如,使用者欲查询abbreviation字串,则其可能输入abiviA∫*,其中abivi为英文拼写,A∫为类音标符号,而*为通配字符。如果所输入的字串含有通配字符,则于步骤22中将通配字符改成通配音标;如果输入字串还包含有英文拼写,则于步骤24中将拼写部分替换成类音标符号。最后,再以英文拼写原则,在步骤26中作读音检查与查询。
图1中读音输入查询100的详细步骤如下。英文拼写检查的方法是依据KK(Kenyon & Knott)音标为基础,把所有单字转换成可能的音标字串,再利用每一个音标字串去寻找符合该音标字串的单字。虽然本实施例中使用KK音标,然而其他音标也可以同样适用于本发明。
首先,分析单字发音特征,此程序包括五个步,如底下的详细解说。
步骤一
(1)首先判断其是否全为辅音,如果是,则无法进行更正;
(2)去掉非英文及符号“-”以外的字符;
(3)过滤连续相同重复的辅音,使其成为单一个辅音。例如,将
apple转换成aple,将suggest转换成sugest。但以下表一
的特例则不予以过滤。
表一
步骤二
(1)把步骤一中处理过的字串,以A至Z分成26个群组,如表二
A至表二Z所示。其中特殊代表符号说明如下
A,I……等元音
OoI,
R
V元音
C辅音
E断点字串(如-ment,-less,-ly,-ness,……,等等)
X空字符(NULL)
P前有字符
N后有字符(可为空字符)
依照字串的排列顺序及根据表二A至表二Z所得到的替换,作群组代换使成为以下结构
A(B,C,D)E(F,G)
其中,A,B,C,D,E,F,G分别为子字串(SUBSTRING),其可以为空字符(NULL CHARACTER),括弧内的子字串代表是可替换的。
(2)把上述A(B,C,D)E(F,G)再转换成下表三所示的全字
串阵列(FULL ATRING ARRAY)。
表三
在本实施例中,每个全字串的最大长度为30位,而字串的结束码为0X00。即字串阵列的结构为STRING_ARRAY〔〕〔31〕。但此最大长度为不特定的长度,使用者可任意定义适当的长度。
步骤三
接着,以下列步骤过滤由步骤二中所产生的字串阵列。
(1)把连续相同重复的元音过滤直到剩下一个。
(2)k或g音标的前一音标若为n,则把n改成η。
(3)若∫的前一音标为s,则s+∫=∫;若∫的前一音标为k,
k+∫=t∫。
步骤四
决定下列状况的-ed发音。
(1)若字串“ed”位于字串最后,且如果前面一个音标为p,k,s,
∫,t∫,θ,f,则ed对应的音标改为t。
(2)若前述(1)的状况不成立,且前一音标不为d或t时,则ed
所对应的音标改为d。
(3)若前述(1)及(2)的状况皆不成立,则ed对应的音标改为
Id。
步骤五
(1)去掉字串阵列中的空字符。
(2)以每个音标字串(phonetic string)去找寻合适的单字。
(3)把字串阵列中的各个音标字串再衍生成相似的音标字串,去
寻找合适的单字。其衍生原则如下
从第二个音标开始,遇到有连续辅音者,一次去掉一个辅音,形成一个新的音标字串。例如,prounouce经转换音标为prnauns,则根据衍生原则其延伸可为pnauns,prnaus,或prnaun。此用意在于避免有些辅音不发音,及混合音不易辨听所造成的漏音。
接着,统一音标码,处理元音相似问题,及把部分音标正规化,以相应由表二A至表二Z的规则所转换的音标码。在本实施例中包含了下列(A)至(J)的处理原则。
(A)把元音分成以下A、R、O数群,如下表四所示。其中,各对应的代码是为本实施例中所用的代码,是为了程序处理的方便。对于熟悉此技术的人士,其可以作等效的其他组合修改,而不会脱离本发明所提示的精神。
表四
A群(代码1)
R群(代码2)
O群(代码3)
代码28
(B)把辅音编码如下表五所示。
表五
(C)去掉所有的重音与次重音。
(D)ju(ju)的音若不在第一音节,则j的音去掉。
(E)j之前的一个音标若为辅音,则j的音去掉。
(F)r之前的一个音标若为

,则将

改为。
(G)t∫(27)之前的音标若为t(22),则将t(22)去掉。
(H)g或k之前的音标若为n,则将n改为η。
(I)
若不为最后一个音标,则将其分别改为m,n,l;若为最后一个音标,则恢复为m,n,l。其中
正规化的方式如下。若字母m,n,l前面有元音(a,e,i,o,u,y),则其对应的音标必须为(m,n,l)或(
);若字母m,n,l前面不是元音,则不可用(
)来代表其音标(但-sm除外,亦即sm→zm)。
(J)去掉连续重复的音,只保留一个。
对于图1中的类音标输入查询102,首先根据英文读音原则,建立一音标替换原则,如表六所示,其中,特殊代表符号说明如下
A,I,
……等元音
O
R
V元音
C辅音
X空字符(NULL)
P前有音节
N后有音节(可为空字符)
接着,以类似于前述读音输入查询的方法,并依据音标串的排列顺序及根据表六所得到的替换,作群组代换使之成为以下结构
A(B,C,D)E(F,G)
其中,A,B,C,D,E,F,G分别为音标子字串(SUBSTRING),其可以为空音标字符(NULL CHARACTER),括弧内的音标子字串代表是可替换的。
再以类似前述读音输入查询的方法,把上述A(B,C,D)E(F,G)再转换成下表七所示的音标全字串阵列(FULL STRING ARRAY)。
表七
于本实施例中,每个音标全字串的最大长度为30位,而字串的结束码为0x00。但此最大长度为不特定的长度,使用者可任意定义适当的长度。
再以类似前述读音输入查询方法的部分原则,执行下列步骤。首先,以下列步骤过滤由前面步骤中所产生的音标字串阵列。
(1)把连续相同重复的音标过滤直到剩下一个。
(2)k或g音标的前一音标若为n,则把n改成η。
(3)若∫的前一音标为s,则s+∫=∫,若∫的前一音标为k,则
k+∫=t∫。
(4)以每个音标字串去寻找合适的单字。
(5)把音标字串阵列中的各个音标字串再衍生成相似的音标字
串,去寻找合适的单字。其衍生原则如下
从第二个音标开始,遇到有连续辅音者,一次去掉一个辅音,形成一个新的音标字串。例如,prounouce经转换成音标为prnauns,则根据衍生原则其延伸可为pnauns,prnaus,或prnaun。此用意在于避免有些辅音不发音,及混合音不易辨听所造成的漏音。
对于图1中的读音配合类音标的输入查询104,在此种查询当中,读音部分和类音标部分是分开处理的。例如,当使用者于查询abbreviation时,其可能输入abibiA∫ione,其中abivi及ione为英文拼写,A∫为类音标符号,A∫与abivi及ione所转换出来的音标是分开处理的。也就是说,读音部分是利用表二A至表二Z的转换方法所处理,而音标部分则由表六的转换方法来处理。组合完成后的音标字串,再依前述表七展开方法作展开。以上面的输入例子为例,做如下的说明。首先,根据表二A至表二Z及表七分别对于读音及音标部分分别作转换如下
abbrivi→AbrAvA
A →A
∫ →(∫,3,d3)
ion→An
e →(null,A)
最后,结合成AbrAvAA(∫,3,d3)An(null,A),经展开过滤后,可以得到以下各种可能的音标字串
AbrAvA∫An,
AbrAvA∫AnA,
AbrAvA3An,
AbrAvA d3An,
AbrAvA d3AnA,
ArAvA∫An,
ArAvA∫AnA,
ArAvA3An,
ArAvA3AnA,
ArAvA d3An,
ArAvA d3AnA,
AbAvA∫An,
AbAvA∫AnA,
AbAvA3An,
AbAvA3AnA,
AbAvA d3An,及
AbAvA d3AnA。
对于图1中的读音、类音标配合通配字符的输入查询106,在本实施例中,是以*或?作为通配字符,其中*代表一个音标或一串音标,而?代表单个音标。词查询方法和一般的通配字符查询方法类似,但是最大的不同在于所替代的是音标而非英文单字。读音、类音标配合通配字符的输入查询106又有如下的几种组合形式
(1)读音配合通配字符查询。例如,使用者输入buti*,则可以藉由此查询方法找到beaut,beauteous,beautiful等字。又例如,当使用者输入re?it,则可以藉由此查询方法找到repeat,resit,receipt等字。
(2)音标配合通配字符查询。例如,使用者输入kAn*∫A1,则可以藉由此查询方法找到confidential等字。
(3)读音、类音标配合通配字符的输入查询。例如,使用者输入konfAdAn*,则可以藉由此查询方法找到confidence,confident,Confidential等字。
表二AA群
表二BB群
表二CC群
表二DD群
表二EE群
表二FF群
表二GG群
表二HH群
表二II群
表二JJ群
表二KK群
表二LL群
表二MM群
表二NN群
表二OO群
表二PP群
表二QQ群
表二RR群
表二SS群
表二TT群
表二UU群
表二VV群
表二WW群
表二XX群
表二YY群
表二ZZ群
表六
以上所述仅为本发明的优选实施例而已,并非用以限定本发明的申请专利范围;凡其它未脱离本发明所揭示精神所完成的等效改变或修改,均应包含在下述的专利申请的保护范围内。
权利要求
1.一种类音标输入查询方法,至少包含下列步骤
根据英文读音原则,建立一音标转换原则;
依照音标字串的输入先后顺序,并根据该音标转换原则,将该音标字串作群组的排列组合代换,以产生多个可能的音标字串输出;及
过滤该多数个可能的音标字串输出。
2.如权利要求1的方法,其特征在于,上述的过滤至少包含下列步骤
将该音标字串输出内的连续相同重复的音标过滤,直到剩下一个;
若该音标字串输出内的k或g音标的前一音标为n,则把n改成η;
若该音标字串输出内的∫的前一音标为s,则s∫代换成∫,若∫的前一音标为k,则k∫代换成t∫;
对于每个该音标字串输出,寻找符合的单字;及
把该音标字串输出中的各个音标字串再衍生成相似的音标字串,以寻找合适的单字,用于避免有些辅音不发音,及混合音不易辨听所造成的漏音。
3.如权利要求2的方法,其特征在于,上述的衍生至少从第二个音标开始,遇到有连续辅音的情况,一次去掉一个该辅音,以形成一个新的音标字串。
4.如权利要求1的方法,其特征在于,更包含同时输入至少一读音字串。
5.如权利要求4的方法,其特征在于,上述的读音字串是和该音标字串分开处理。
6.如权利要求5的方法,其特征在于,上述读音字串的处理至少包含下列步骤
判断该读音字串是否全为辅音,如果是,则无法进行更正;
去掉该读音字串内非英文及符号‘-’以外的字符;
根据英文读音原则,建立一读音转换原则;
依照该读音字串的排列顺序,及根据读音转换原则,作群组的排列组合代换;
把该读音字串的连续相同重复的元音过滤,直到剩下一个;
若该读音字串的k或g音标的前一音标为n,则把n改成η;
若该读音字串的∫的前一音标为s,则s∫代换成∫,若∫的前一音标为k,则k∫代换成t∫;
若该读音字串的“ed”位于最后,且如果前面一个音标为p,k,s,∫,t∫θ,f,则ed对应的音标改为t,若前述的状况不成立,且前一音标不为d或t时,则ed所对应的音标改为d;
若前一步骤的状况皆不成立,则ed对应的音标改为Id;
去掉该读音字串中的空字符;
以每个该读音字串的音标字串去找寻合适的单字;及
把该读音字串中的各个该音标字串再衍生成相似的音标字串,去寻找合适的单字,其衍生原则是从第二个音标开始,遇到有连续辅音的情况,一次去掉一个辅音,形成一个新的音标字串。
7.如权利要求1的方法,其特征在于,更包含同时输入至少一个通配字符。
8.如权利要求7的方法,其特征在于,上述的音标字串是和该通配字符分开处理。
9.如权利要求8的方法,其特征在于,上述通配字符的处理是将该通配字符替代成通配音标。
10.一种输入查询方法,该查询方法的输入包含类音标字串、读音字串及通配字符,该方法至少包含下列步骤
根据英文读音原则,建立一音标转换原则;
分别依照音标字串及该读音字串的输入先后顺序,并根据该音标转换原则及该读音转换原则,分别将该音标字串及该读音字串作群组的排列组合代换,以产生多数个可能的音标字串输出及多数个读音字串输出,其中上述的读音字串是和该音标字串分开处理;及
过滤该多个可能的音标字串输出及该读音字串输出。
11.如权利要求10的方法,其特征在于,上述的过滤音标字串输出至少包含下列步骤
将该音标字串输出内的连续相同重复的音标过滤,直到剩下一个;
若该音标字串输出内的k或g音标的前一音标为n,则把n改成η;
若该读音字串的∫的前一音标为s,则s∫代换成∫,若∫的前一音标为k,则k∫代换成t∫;
对于每个该音标字串输出,寻找合适的单字;及
把该音标字串输出中的各个音标字串再衍生成相似的音标字串,以寻找合适的单字,用于避免有些辅音不发音,及混合音不易辨听所造成的漏音。
12.如权利要求11的方法,其特征在于,上述的衍生至少包含从第二个音标开始,遇到有连续辅音者,一次去掉一个该辅音,以形成一个新的音标字串。
13.如权利要求10的方法,其特征在于,更包含下列步骤以处理上述的读音字串
判断该读音字串是否全为辅音,如果是,则无法进行更正;
去掉该读音字串内非英文及符号‘-’以外的字符;
根据英文读音原则,建立一读音转换原则;
依照该读音字串的排列顺序,及根据读音转换原则,作群组的排列组合代换;
把该读音字串的连续相同重复的元音过滤,直到剩下一个;
若该读音字串的k或g音标的前一音标为n,则把n改成η;
若该读音字串的∫的前一音标为s,则s∫代换成∫,若∫的前一音标为k,则k∫换成t∫;
若该读音字串的“ed”位于最后,且如果前面一个音标为p,k,s,∫,t∫θ,f,则ed对应的音标改为t,若前述的状况不成立,且前一音标不为d或t时,则ed所对应的音标改为d;
若前一步骤的状况皆不成立,则ed对应的音标改为Id;
去掉该读音字串中的空字符;
以每个该读音字串的音标字串去找寻符合的单字;及
把该读音字串中的各个该音标字串再衍生成相似的音标字串,去寻找合适的单字,其衍生原则是从第二个音标开始,遇到有连续辅音的情况,一次去掉一个辅音,形成一个新的音标字串。
14.如权利要求10的方法,其特征在于,上述的音标字串是和该通配字符分开处理。
15.如权利要求14的方法,其特征在于,上述通配字符的处理是将该通配字符替代成通配音标。
全文摘要
一种利用读音及通配字符的拼写检查方法。首先,根据英文读音原则,建立一音标转换原则。接着,依照音标字串的输入先后顺序,并根据音标转换原则,将音标字串作群组的排列组合代换,以产生多个可能的音标字串输出。最后,则过滤可能的音标字串输出。在本发明中,可以同时输入读音字串,或/及通配字符,其中,读音字串、通配字符及音标字串是分开作音标替换的处理。
文档编号G06F17/20GK1244680SQ98118318
公开日2000年2月16日 申请日期1998年8月12日 优先权日1998年8月12日
发明者蔡政利 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1