位置:51电子网 » 技术资料 » 存 储 器

按音标查询的英汉电子词典的设计与实现

发布时间:2008/5/27 0:00:00 访问次数:874

        

    

    

     摘要:系统增加一种功能,即通过音标来查询单词,同时加入模糊查询功能,使查询方式更加灵活和全面。详细地说明了系统的设计思想和实现技术。 关键词:按发音查询 电子词典 模糊查询 目前的各类电子词典系统在查询速度、词库容量等方面都日趋完善。用户在英文阅读时,可以方便快捷地查找生词的词义、用法、同义词或反义词。然而,就使用方式来讲,仍存在欠缺。当人们听英语广播、看英语节目或练习听力时听到一个词的发音而又不知其含义时,又如何查到单词的含义呢?按传统的方法,只能先根据单词发音猜测单词的拼写,然后再查词典。由于英文单词拼写不规范,这种查询的效率必然很低。 为此,应寻求另一种查询途径。旨在通过音标输入,根据单词发音直接进行查询,并配合模糊查询算法,从而为这一问题的解决找到一条途径。整个设计涉及到音标的提取和输入、范例数据库的建立、模糊查询算法、界面的设计等。1 音标的提取和输入 系统设计首先考虑音标字库问题。windows自带的音标符号不全且不方便引入,而一些商用软件,如金山公司的kingsoft phonetic音标字体则包含了英式音标所需要的基本符号,可在开发中引入该字体。当然,要以合法方式获得。其方法是在装有金山词霸的系统中找到ksphonet.ttf,将其拷贝到开发系统中,安装此字体即可。开发时,将窗口缺省字体设置为kingsoft phonetic;最后,在程序发布安装过程中自动为目标机安装该字体。 由于无论是建立样例数据库还是系统运行时进行查询,都涉及到音标的录入,而通过键盘进行录入显然不方便。所以在程序窗口中设置一个音标输入面板,通过点击面板中的按钮来录入对应的音标;还应对面板中的按键排列做规划,例如,双元音按钮排列在一个区,方便录入,见图2。2 样例数据库的设计 本电子词典系统利用ms access 2000建立了一个含500个单词左右的样例词库,并使用ms visual c++6.0作为前端工具,采用dao技术实现对样例数据库的访问。 虽然本词库的规模较小,但应当体现出词典在词语分布上的特点。所以,特根据《郎文英汉双解词典》做粗略统计,得出数据如表1所示。其中,x、z按所占比例算不足一词,均按一词计。表1 单词选取分布表数据库字段设计如下: 其中,yinbiao存放单词的音标,并作为主关键字;eword为英文单词;cword为单词的中文释义。3 模糊查询处理3.1 实时匹配的处理 系统可以以两种方式进行查询:按词查询和按音标查询。限于篇幅,本文只讨论后者。样例数据库中以音标字段作为主键,对于每一输入,系统都进行匹配,将相近的结果显示出来。例如,用户输入:a:则列表提示:art,arm,army,artist,article…等;若用户输入:a:t,则列表提示:art,artist,article…等。如用户的输入无法完全匹配,则从列表中选择第一个匹配作为查询结果或提示用户手动选择相近的词条。3.2 重音的处理 英语中多音节单词都有各类重音,在音标中用重音符号标记。重音符号完全可以参加匹配查询,但考虑到查询复杂度和实用性,不将重音符号作为查询的一部分,即输入的重音符号在音询时经过预先处理过滤掉重音号。重音符号只用于建立样例数据库中的音词条目,以便在查询结果中正确地显示单词的完整音标。对于音标相同重音不同的单词,同时给出释义。 3.3 模糊查询处理 基于音标的模糊查询,类似于很多输入法提供的“南方模糊音”功能,即以用户潜在的由于音标读音相似产生的输入错误为基础,对无法直接匹配的输入进行相似的代换并对每一种代换进行查找。例如对于音标tr很容易与音标t∫混淆,因此对于可能出现的习惯上的错误对音标进行查询的等价类划分,本系统做了如下划分: 需要说明的是,这种划分只是来源于实际的经验,衡量任何一种划分成功与否必须通过音标的错误使用统计和用户的反馈来确定。对于正常查询无法查得的音标,用户可以有选择地应用以上的等价代码重新进行查找。但应用等价代换会非常显著地降低查询效率,因此必须对查询的规模进行限制,如最多开启三个等价集或者进行重新等价划分等。 另外对于比较长的音标输入,可以将音标输入的前一半或者1/3长度作为模糊查询的输入依据,这样模糊查询的范围虽然会有所扩大,但是却节省了查询浪费的时间。总之,以等价代换查询为基础,可以采用很多策略来限制查询的复杂度,但是具体哪一种策略更好,需要对音标构成和用户输入习惯做大量的统计和实验得出。查询流程如图1所示。在具体的实现上,使用了递归函数,其基本算法如下:fuzzysearch(cstring str,int n){length=str.getlength();if(length<=n){exactsearch(str); //完全匹配查找return;}else {//对第n个字母进行搜索寻找等价代换;//如果找到则从该等价第一个字母开始进行代换

        

    

    

     摘要:系统增加一种功能,即通过音标来查询单词,同时加入模糊查询功能,使查询方式更加灵活和全面。详细地说明了系统的设计思想和实现技术。 关键词:按发音查询 电子词典 模糊查询 目前的各类电子词典系统在查询速度、词库容量等方面都日趋完善。用户在英文阅读时,可以方便快捷地查找生词的词义、用法、同义词或反义词。然而,就使用方式来讲,仍存在欠缺。当人们听英语广播、看英语节目或练习听力时听到一个词的发音而又不知其含义时,又如何查到单词的含义呢?按传统的方法,只能先根据单词发音猜测单词的拼写,然后再查词典。由于英文单词拼写不规范,这种查询的效率必然很低。 为此,应寻求另一种查询途径。旨在通过音标输入,根据单词发音直接进行查询,并配合模糊查询算法,从而为这一问题的解决找到一条途径。整个设计涉及到音标的提取和输入、范例数据库的建立、模糊查询算法、界面的设计等。1 音标的提取和输入 系统设计首先考虑音标字库问题。windows自带的音标符号不全且不方便引入,而一些商用软件,如金山公司的kingsoft phonetic音标字体则包含了英式音标所需要的基本符号,可在开发中引入该字体。当然,要以合法方式获得。其方法是在装有金山词霸的系统中找到ksphonet.ttf,将其拷贝到开发系统中,安装此字体即可。开发时,将窗口缺省字体设置为kingsoft phonetic;最后,在程序发布安装过程中自动为目标机安装该字体。 由于无论是建立样例数据库还是系统运行时进行查询,都涉及到音标的录入,而通过键盘进行录入显然不方便。所以在程序窗口中设置一个音标输入面板,通过点击面板中的按钮来录入对应的音标;还应对面板中的按键排列做规划,例如,双元音按钮排列在一个区,方便录入,见图2。2 样例数据库的设计 本电子词典系统利用ms access 2000建立了一个含500个单词左右的样例词库,并使用ms visual c++6.0作为前端工具,采用dao技术实现对样例数据库的访问。 虽然本词库的规模较小,但应当体现出词典在词语分布上的特点。所以,特根据《郎文英汉双解词典》做粗略统计,得出数据如表1所示。其中,x、z按所占比例算不足一词,均按一词计。表1 单词选取分布表数据库字段设计如下: 其中,yinbiao存放单词的音标,并作为主关键字;eword为英文单词;cword为单词的中文释义。3 模糊查询处理3.1 实时匹配的处理 系统可以以两种方式进行查询:按词查询和按音标查询。限于篇幅,本文只讨论后者。样例数据库中以音标字段作为主键,对于每一输入,系统都进行匹配,将相近的结果显示出来。例如,用户输入:a:则列表提示:art,arm,army,artist,article…等;若用户输入:a:t,则列表提示:art,artist,article…等。如用户的输入无法完全匹配,则从列表中选择第一个匹配作为查询结果或提示用户手动选择相近的词条。3.2 重音的处理 英语中多音节单词都有各类重音,在音标中用重音符号标记。重音符号完全可以参加匹配查询,但考虑到查询复杂度和实用性,不将重音符号作为查询的一部分,即输入的重音符号在音询时经过预先处理过滤掉重音号。重音符号只用于建立样例数据库中的音词条目,以便在查询结果中正确地显示单词的完整音标。对于音标相同重音不同的单词,同时给出释义。 3.3 模糊查询处理 基于音标的模糊查询,类似于很多输入法提供的“南方模糊音”功能,即以用户潜在的由于音标读音相似产生的输入错误为基础,对无法直接匹配的输入进行相似的代换并对每一种代换进行查找。例如对于音标tr很容易与音标t∫混淆,因此对于可能出现的习惯上的错误对音标进行查询的等价类划分,本系统做了如下划分: 需要说明的是,这种划分只是来源于实际的经验,衡量任何一种划分成功与否必须通过音标的错误使用统计和用户的反馈来确定。对于正常查询无法查得的音标,用户可以有选择地应用以上的等价代码重新进行查找。但应用等价代换会非常显著地降低查询效率,因此必须对查询的规模进行限制,如最多开启三个等价集或者进行重新等价划分等。 另外对于比较长的音标输入,可以将音标输入的前一半或者1/3长度作为模糊查询的输入依据,这样模糊查询的范围虽然会有所扩大,但是却节省了查询浪费的时间。总之,以等价代换查询为基础,可以采用很多策略来限制查询的复杂度,但是具体哪一种策略更好,需要对音标构成和用户输入习惯做大量的统计和实验得出。查询流程如图1所示。在具体的实现上,使用了递归函数,其基本算法如下:fuzzysearch(cstring str,int n){length=str.getlength();if(length<=n){exactsearch(str); //完全匹配查找return;}else {//对第n个字母进行搜索寻找等价代换;//如果找到则从该等价第一个字母开始进行代换

相关IC型号

热门点击

 

推荐技术资料

循线机器人是机器人入门和
    循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!