1.本发明涉及拼音与文字匹配的技术领域,尤其是指一种面向专业领域的拼音与文字匹配方法。
背景技术:2.拼音输入法简单易学,无需记忆字根,因而被人们广泛使用,尽管经过人们的不断改进,有各种拼音输入法的版本,但是因为大量同音字和词的存在,同样的拼音对应多个不同的汉字或词,在输入的时候,人们不得不频繁的通过数字键来选择备选词,因而极大地降低了输入速度,增加了错误率,尤其是,当输入专业文章或行业部门的本地文档时,通常涉及大量的专业术语以及各个行业部门特有的工作场所名、本地化术语、简称、本地俗称、有本地特征的设备名乃至本部门的人名,由于语言中大量同音词的存在,目前的拼音输入法往往把这些平时比较生僻的专用词汇的拼音匹配成其它常见的普通词汇,因而错误率比较高,难以满足专业或行业部门的需要。造成以上问题的主要原因在于:目前的拼音输入法是基于频率优先匹配,拼音会优先匹配那些平时出现频率较高的通用词汇、热门词汇。
3.有些文献提出加入专用的词汇,但还是有3个问题:
4.1、本地专业或行业部门的专用词汇不会在通用的词汇库中出现,需要各个地区的行业部门根据自己部门的需要手工建立,要在大量本地文本资料中逐个筛选专用词汇,此外,这些专用词汇还要不断更新、替换和统计刷新频率,费时费力。
5.2、即使在词库中加入专用词汇和通用的热门词汇合一起,专用词汇出现频率较低,在输入拼音相同的情况下,也只能排在热门词汇后充当备选,仍然需要手动按数字键选择。
6.3、目前的匹配都是以一个拼音串的首字母为起点,向后逐个开始转换为文字,因为输入失误和同音字的存在,后面重要的专用词汇的某些拼音可能和前面的拼音提前组合转换成了其它词组,导致错误。例如本来要xxx线路的刀闸合闸,结果变成了其它线路合闸,造成严重的后果。相反,普通词汇的错误相对可以接受。
技术实现要素:7.本发明的目的在于克服现有技术的缺点与不足,提出了一种面向专业领域的拼音与文字匹配方法,提高拼音输入法的准确率,减少用数字键选择备选词的次数,可用较小的代价匹配专业领域中的专用词汇,尤其是本地专业部门的专用词汇,例如专业术语以及各个行业部门特有的工作场所名、本地化术语、简称、本地俗称、有本地特征的设备名乃至本部门的人名。
8.为实现上述目的,本发明所提供的技术方案为:一种面向专业领域的拼音与文字匹配方法,包括:
9.专用模式选择:选择是否进入专用词汇输入模式,若是,则进入级别优先匹配,若不是,就直接将输入的拼音与词汇的拼音进行匹配,出现的频率高的词汇优先匹配,最后余
下的拼音与单个中文字匹配;其中,所述词汇指中文词组,一个中文词组包括至少2个中文字,所述专用词汇包括本地专用词汇和专业术语,所述本地专用词汇指仅在本机、本地局域网、一个特定的地域、群体或部门中使用的词汇;
10.级别优先匹配:设输入的拼音串名为a,a为一个拼音句子,对应着一个文字句子,a变成文字的过程中,优先与差频专用词库的一级差频子库词汇的拼音匹配,匹配成功则a的部分拼音变成文字,匹配不成功再考虑二级差频子库,所述匹配即求a的一部分拼音和某个中文词组或字的正确拼音之间的相似度,也简称为拼音与文字或词汇的匹配;所述差频专用词库由本地专用词汇及其拼音组成一级差频子库,专业术语及其的拼音组成二级差频子库;一个词汇在差频子库中的排队顺序由其频率的差异决定,即在专用资料中出现的频率越高该词汇排队顺序越前,而在通用资料中出现的频率越高该词汇排队顺序越后;频率的差异简称差频;
11.频率优先匹配:在级别优先匹配完成之后,对a余下的拼音与词汇的拼音进行匹配,出现频率高的词汇优先,最后余下的拼音与单个中文字的拼音匹配。
12.进一步,所述差频专用词库的构建,包括以下步骤:
13.s1、采集与本地工作相关的文字资料,包括本机与本地局域网上的工作计划、工作档案、会议记录、设备记录和通话文本;
14.s2、对上一步所采集的文字资料进行清理、分词操作,并获得词汇列表,接着对词汇列表进行词汇频率统计,词汇频率简称词频,得到本地专用词频词典,其中,词频=该词重复的次数
×
该词长度/全部资料总字数,所述本地专用词频词典包含了本地文字资料中出现的全部词汇及其词频;
15.s3、搜索网络上的本专业学术文章,对获取的词汇列表进行词频统计,得到专业术语词频词典,包含了本专业学术文章中出现的全部词汇及其词频;
16.s4、对通用资料,包括人民日报语料库及新浪、搜狐、网易三大网站的新闻,进行文本词汇词频统计,得到通用词频词典,包含了通用资料中出现的全部词汇及其词频;;
17.s5、对专业术语词频词典的每个词汇做一次差频操作,即:
18.一次差频值=一个词汇的专业术语词频-k1×
其通用词频,此处k1为设定的系数,专业术语词频和通用词频分别由专业术语词频词典和通用词频词典得到,词典中查不到的词汇,其词频计为0;
19.一次差频值小于或等于0词汇的舍去,大于0的存入二级差频子库,差频值越高的词汇在差频子库排队越前面;
20.s6、对本地专用词频词典的每个词汇做二次差频操作,即:
21.二次差频值=一个词汇的本地专用词频-k2×
其专业术语词频-k1×
其通用词频,此处k2为设定的系数,本地专用词频由本地专用词频词典得到;
22.二次差频值大于0的存入一级差频子库,否则舍去,差频值越高的词汇在差频子库排队越前面;
23.s7、为差频专用词库中每一个词汇关联其对应的拼音,最终形成面向专业领域的差频专用词库,所述差频专用词库由所述一、二级差频子库组成。
24.进一步,所述级别优先匹配的步骤包括:
25.逆向取词:在一级子库内未匹配过的词汇中取差频值最高词汇的拼音,设其名称
为b,如果一级子库中的词汇都已经进行过匹配操作则顺延到下一级子库;
26.任意位置转换文字:在a中搜索类似于b的子串c,如果b与c匹配成功,则将c转换为相应的中文词组;如果a中有多个类似于b的子串,则都要重复上面操作;所述子串c能够位于a的任意位置。
27.进一步,所述匹配包括如下步骤:
28.计算字母编辑距离:指一个拼音串转换为一个正确的拼音单元所需的最少字母编辑操作次数,所述正确的拼音单元指该单元对应某个汉字的拼音,许可的编辑操作包括:插入一个字母、删除一个字母、将一个字母替换成另一个、两个字母交换位置;如果上述替换操作发生在两个相邻键位字母之间,只算0.5次,相邻键位字母指在标准键盘上两个字母的按键有相邻的部分;
29.计算音素编辑距离:指两个拼音串之间,由一个转换成另一个所需的最少音素编辑操作次数,所述音素指拼音的声母或韵母,许可的编辑操作包括:插入一个声母/韵母、删除一个声母或韵母、将一个声母或韵母替换成另一个,一次模糊音之间的替换只算0.5次;
30.计算匹配值=字母编辑距离+音素编辑距离;
31.如果匹配的是专用词库的词汇,则当匹配值小于给定阈值时,给出匹配成功信号,否则给出匹配失败信号,输出匹配值;
32.如果匹配的是通用词库的词汇,仅输出匹配值。
33.进一步,根据词汇的长度,对匹配值进行进一步修正,设待匹配词汇的拼音对应j个文字,根据计算得到的匹配值d,则修正后的匹配值为
34.进一步,所述阈值按如下公式计算,
35.阈值=k3×
当前用户的平均匹配值,此处k3为设定的系数,当前用户的身份由登录账号得到,该用户使用过程中,每输出一个匹配后的文字句子,求该句子的所有词汇的平均匹配值,再累计该用户使用历史上的所有句子求其总平均值,并记录在该用户名下。
36.本发明与现有技术相比,具有如下优点与有益效果:
37.1、根据本发明提供的一种面向专业领域的拼音与文字匹配方法,系统可自动地区分通用词汇和专业领域专用词汇,尤其是那些本地部门的专用词汇,从而不需要各个地区的专业部门手工建库,系统将把这些专用词汇存入一个分级的差频专用词库中并不断刷新、更新和替换,从而节约了大量的时间和精力。
38.2、本发明的级别优先匹配以专用词汇为重点优先匹配,减少了现有匹配方法因为优先热门通用词汇造成的错误,从而提高了拼音输入的准确率,减少了用数字键选择的次数,提高输入效率和速度。
39.3、本发明还可以用于语音识别过程中的拼音与文字匹配,也可以用于其它种类的文字输入,如果这种文字也是类似于拼音输入。
附图说明
40.图1是本发明方法的流程图。
具体实施方式
41.下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
42.参见图1所示,本实施例公开了一种面向专业领域的拼音与文字匹配方法,具体实施步骤如下:
43.s1、用户输入一个拼音句子;例如:当用户要输入的中文句子为:“投入铁林站铁氮棠华石线1234接地刀闸”时,他输入的拼音句子为[tourutielinzhan tiedantanghuashixianyaoliangsansijiedidaozha],称之为拼音串a。
[0044]
s2、专用模式选择:系统有两种拼音匹配模式,一种为通用模式,即通用的频率优先匹配,用于一般的文字输入,另一种为专用模式,不同的模式下匹配流程不同,模式可以用户手动切换;如上例:a中有专用词汇,进入专用模式。
[0045]
s3、利用级别优先匹配对整句拼音进行中文文本匹配。例如,铁林站、铁氮棠华石线、接地刀闸这些都是专用词汇,差频值排序:铁林站(1级)》铁氮棠华石线(1级)》接地刀闸(2级)。1)逆向取词:从一级差频子库按差频值从大至小逐一取词,每取一个词就到拼音串a中查找是否有匹配的子串。目前的匹配方法是从串a取拼音,到词汇库查找,本专利的方法与其相反,所以称之为逆向取词;2)任意位置转换:目前的方法都是从第一个字母开始转换文字,本方法则不同,子串可以在串a的任意位置转换,如匹配差距大于给定阈值就放弃,再取后一个词,铁林站拼音“tielinzhan”,可以匹配拼音串a中的相应部分,从而拼音串a变为[touru铁林站tiedantanghuashixianyaoliangsansijiedidaozha]。此处逆向取词和任意位置转换是专门针对差频专用词汇设计的,与目前公知的方法不同。同理,之后会将串a余下的专用词汇转化:[touru铁林站铁氮棠华石线yaoliangsansi接地刀闸]。
[0046]
s5、频率优先匹配拼音与词汇。当串a中的全部专用词汇都转换完,就按照公知的频率优先匹配方法匹配词汇:按照从前至后的顺序,取tou ru,查通用字典,得到“投入”,串a变为:[投入铁林站铁氮棠华石线yaoliangsansi接地刀闸];;频率优先匹配法能按照出现频率的高低顺序列出多个选择,例如输入tou ru,除了显示出“投入”还有“透入”,而级别优先匹配法只提供首选词汇,考虑到专用词汇也可能同音,则需要移动光标到该词位置再数字键选择,一种优选的方案是:在首选词位置显示级别优先匹配的结果,之后使用频率优先匹配法同时匹配通用词库和专用词库的词汇,匹配的多个结果按照频率高低排队显示,供用户备选。
[0047]
s6、余下的拼音匹配单个汉字,得到整句文本[投入铁林站铁氮棠华石线1234接地刀闸]。
[0048]
s7、输出整句文字。
[0049]
s8、刷新词汇频率,特别是要刷新差频专用词汇的差频值及排序,本例中即刷新差频词汇“铁林站”、“铁氮棠华石线”、“接地刀闸”的差频值并更新其在库中的排序,未出现的差频词汇无需频繁刷新。
[0050]
s9、如用户继续输入拼音句子,则重复以上流程,否则转下一步;
[0051]
s10、结束。
[0052]
图1的流程涉及的差频专用词库、匹配、阈值的细节在下面分别阐述。
[0053]
上述流程中,级别优先匹配必须基于差频专用词库。差频专用词库依据本专利的
下述原理自动构建:
[0054]
输入专业文本时,专用词汇的重要性高于普通词汇,因此要优先保证其匹配准确率,因而要建立专用词汇库,进一步,输入时不可避免出现的错误影响匹配的相似度,因此匹配相似度相差不大的情况下,要优先匹配高级别的专用词汇,此外,系统应通过程序自动建库。要系统通过程序自动建库,自动地将专用词汇与普通词汇区别出来,必须利用其差异。专用词汇,特别是本地专用词汇,如上文的专用词汇如“铁氮棠华石线”,一般不会出现在普通的新闻或文章中,而会出现在本地电力调度日志、工作票、设备记录及本地通话文本记录,相反,上文的通用词汇如“投入”在普通的文章或网文中会频繁出现,此外词汇“接地刀闸”则在本地文本、电力学术文章和新闻报道中都可能出现,因此本专利提出:词汇的级别由其两个频率的差异决定,即在专用资料中出现的频率越高该词汇级别越高,而在通用资料中出现的频率越高该词汇级别越低。
[0055]
以某个地方电力调度部门为例,差频专用词库的自动构建方法如下:
[0056]
s1、系统采集本地局域网和本机上的电力调度日志、工作票、通话文本等文字资料;
[0057]
s2、对上一步所采集的文字资料进行清理、分词操作,并获得词汇列表,接着对词汇列表进行词频统计,得到本地专用词频和本地专用词频词典。所述词频=该词重复的次数
×
该词长度/全部资料总字数,本地专用词频词典中包含了本地资料的全部词汇(本地专用词汇、专业术语和通用词汇)及其词频;
[0058]
s3、系统搜索网络上的本专业学术文章,对词汇列表进行词频统计,得到专业术语词频和专业术语词频词典,包含了本专业学术文章中出现的全部词汇(专业术语、通用词汇)及其词频;
[0059]
s4、对人民日报语料库及新浪、搜狐、网易三大网站的新闻进行文本词汇词频统计,得到通用词频和通用词频词典,包含了通用资料中出现的全部词汇(通用词汇、部分专业术语)及其词频;
[0060]
s5、对专业术语词频词典的每个词汇做一次差频操作,即:
[0061]
一次差频值=一个词汇的专业术语词频-k1×
其通用词频,此处k1为设定的系数,可以通过统计得到,专业术语词频和通用词频分别由专业术语词频词典和通用词频词典得到,词典中查不到的词汇,其词频计为0;
[0062]
一次差频值小于或等于0词汇的舍去,大于0的存入二级差频子库,差频值越高的词汇在差频子库排队越前面。
[0063]
s6、对本地专用词频词典的每个词汇做二次差频操作,即:
[0064]
二次差频值=一个词汇的本地专用词频-k2×
其专业术语词频-k1×
其通用词频,此处k2为设定的系数,可以通过统计得到,本地专用词频由本地专用词频词典得到;
[0065]
二次差频值大于0的存入一级差频子库,否则舍去,差频值越高的词汇在差频子库排队越前面。
[0066]
s7、为差频专用词库中每一个词汇关联其对应的拼音,最终形成面向电力调度的差频专用词库。所述差频专用词库由所述一、二级差频子库组成。
[0067]
以上过程仍以上述电力语句“投入铁林站铁氮棠华石线1234接地刀闸”为例进行说明:“投入”是一个通用的词汇,会出现在本地调度日志、电力学术文章和新闻报道中,其
一次差频值小于0,将存入通用词库,“接地刀闸”是一个电力专业词汇,会出现在在本地调度日志、电力学术文章,但在新闻报道中很少出现,其一次差频值大于0,但二次差频值小于0,将存入二级差频子库,“铁氮棠华石线”,会出现在在本地调度日志、但一般不会出现在电力学术文章和新闻报道,其一次、二次差频值都大于0,将存入一级差频子库。
[0068]
在图1的流程中,拼音与词汇及文字的匹配可以按照公知的方法,本发明提供一种优选的匹配方案包括如下步骤:
[0069]
s1、计算字母编辑距离:指一个拼音串转换为一个正确的拼音单元所需的最少字母编辑操作次数,所述正确的拼音单元指该单元对应某个汉字的拼音,许可的编辑操作包括:插入一个字母、删除一个字母、将一个字母替换成另一个、两个字母交换位置;例:假定用户输入拼音“tielinzhnag”,显然,“zhnag”不是一个正确的拼音单元,则通过交换n和a的位置就可以得到正确的拼音单元“tielinzhang”,此处字母编辑距离为1。考虑到相邻键帽容易误操作,它们之间的替换操作只记0.5次,例如,在标准键盘布局中,“a”键和“n”键不相邻,如果是相邻的两个键,如“a”键与“s”“q”“z”或“w”键,则相邻,它们之间的替换操作只记0.5次。
[0070]
s2、计算音素编辑距离:指两个拼音串之间,由一个转换成另一个所需的最少音素编辑操作次数,所述音素指拼音的声母或韵母,许可的编辑操作包括:插入一个声母/韵母、删除一个声母/韵母、将一个声母/韵母替换成另一个,一次模糊音之间的替换只算0.5次;例:假定由于用户的拼音不标准,铁林站“tielinzhan”输成了“tielinzhang”,则通过替换一个韵母ang就可以得到正确的拼音,此处an和ang是互为模糊音,因此音素编辑距离为0.5。
[0071]
s3、计算匹配值=字母编辑距离+音素编辑距离;如上例,用户输入拼音“tielinzhnag”,与专用词汇铁林站“tielinzhan”匹配,得到:
[0072]
匹配值=1+0.5=1.5;
[0073]
如果匹配的是专用词库的词汇,则当匹配值小于给定阈值时,给出匹配成功信号,否则给出匹配失败信号,输出匹配值;
[0074]
如果匹配的是通用词库的词汇,仅输出匹配值。
[0075]
s4、根据词汇的长度,对匹配值进行进一步修正,设待匹配的词汇含有j个字的拼音,根据步骤s3计算得到的匹配值d,则修正后的匹配值为接上例,“tielinzhan”含有k=3个字的拼音,则修正后的匹配后为修正后的匹配值小于给定阈值,给出匹配成功信号,并输出匹配值。此处是考虑到词汇越长,出错概率越大。
[0076]
在图1的流程中涉及专用模式选择,用户可以手动选择。
[0077]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。