xm100网友,你可能没明白我的意思,我说的多音字是700多个,其涉及的两字多音词近4万条(我用微软两字词库做的,可能得出的数目不同),多音字处在词的第一位或第二位,从程序设计的角度,如果关联的多音词中的发音是默认的话,我们是不考虑的,因为在程序翻译时会自动判断出来进行注音,对程序设计判断有用的仅是非默认部分的多音字发单所涉及的词,在上述数据库基础上,此部分的词仅有4、5千个而已,另把多音词库以数据库的方式加入的程序代码中,太多的词会严重影响速度的,这样的话其就没有利用设计的价值,大而全的东西可以用于学术研究,但在实际的应用中并不太适用,而且设计拼音自定义函数的目的是提供一个通用实用化的拼音转化工具,从适用及速度的角度考虑,其字库的引用仅为三级字库,不过在实际的应用中应已够用,另此程序是整句、整篇的对中文进翻译(上万字的文章要在几秒钟内翻译完毕),并不是仅对词进行注音,如果要进行准确的多音字翻译的话,函数是不可能完成此目的的,从程序设计的角度需要对一条句子中的一个个字进行以下的判断操作才能完成多音字的翻译: 1 首先要对整句的中文从第一个字开始进行循环判断翻译 2 对首字和尾字(以分隔符作为判断完整句子的依据),是分有不同的多音判断方式的。 3 对句子中的任一个字,如对其进行多音字翻译则必须完成,a 判断此字是否是多音字,如是进行下一轮判断,如不是则跳过。 b 如此字是多单字,则从前一个字开始与本字组成一个两字词(不管其是否真的是词),并与多音字词库进行比较,如相同则取多音词中的拼音,如不是则取本字的后一个字组成一个两字词与词库进行判断,如相同则取多音词中的拼音,如不是则放弃对比取默认拼音。 从上面的思路中不难看出,如对整句进行翻译,因为有太多的循环对比,因此多音字库的合理性的取舍及设计非常重要,不然即使能做出来,也是中看不中用的。另说明的一点对字库及多音字库、多音词库我要以程序字符的方式加至程序中,而不是以表的方式出现在excel表中,如果多音词数据库以附加表字库的方式存在的话就失去了自定义函数设计的意义啦。 说了这么多,我会抽时间做一个出来(最近太忙),到时候你用它对含有多音字的句子进行翻译看看行不行。
[此贴子已经被作者于2005-12-7 13:29:41编辑过] |