提供双向双语词典的方法和系统的制作方法

文档序号:6420735阅读:183来源:国知局
专利名称:提供双向双语词典的方法和系统的制作方法
技术领域
本发明一般涉及提供要求减少存储空间的双向双语词典的方法和系统。本发明具体用于,但不必限定于,嵌入到掌上设备中的双语词典。
背景技术
消费者一直希望诸如移动电话、个人数字助理(PDA)等掌上设备能够同时向更小、更便宜、功能更完善的方向发展。这些设备的功能包括利用双语词典翻译语言的能力。然而这类词典通常都是资源密集型的,需要大量的存储空间和处理能力。
由于通常的词典都不是双向的,所以对双向词典存储空间的要求非常高。例如,在现有技术的英汉/汉英词典中,当用户搜索“HongKong”的时候得到的翻译是“香港”,但是当用户搜索“香港”的时候可能就无法得到翻译“Hong Kong”。这是因为实际上词典包含两个独立的搜索引擎和两个独立的词典;其中的一个引擎和字典提供英汉翻译,另一个引擎和词典提供汉英翻译。图1示出了一个现有技术双语词典的双重结构的示意框图。因为在两种词典的两种语言中能查到许多的词汇,所以这种双重结构需要相当大的冗余。
因此需要一个更加有效的双语词典,其在提供可以在语言间快速翻译词汇的双向搜索引擎的同时消除现有技术双语词典的冗余,使它更适于应用到有限存储空间和有限处理能力的掌上设备当中。

发明内容
从一方面说,本发明是一种提供双向双语词典的方法,其包含以下步骤以第一自然语言,以计算机可读取的格式接收输入词汇;从与所述第一语言对应的第一词汇索引文件中获取所述输入词汇的索引;从翻译索引文件中获取所述输入词汇的翻译索引,所述翻译索引与所述输入词汇的词汇索引相对应;从与所述第二语言对应的第二词汇索引文件中获取所述输入词汇在第二语言中的翻译,所述翻译与所述翻译索引相对应。
本方法可进一步包括将块索引文件读取到内存的步骤和利用所述块索引文件确定存储块位置,并从所述第一词汇索引文件、所述翻译索引文件、所述第二词汇索引文件的每个中读取特定存储块的步骤,其中每个特定块分别包括所述输入词汇索引,所述翻译索引,以及所述翻译。
本方法可包括从语音索引文件中获取所述输入词汇在第二语言中的语音发音的步骤,所述语言发音与所述翻译索引相对应。
本方法可包括通过在第一和第二词汇索引文件中进行搜索来获取所述输入词汇的第一字节从而确定所述输入词汇的语言种类的步骤,其中所述输入词汇的语言种类与从中获取所述第一字节的词汇索引文件的语言种类相对应。
本方法还可包括根据所述语音发音来合成语音的步骤。
从另外一种形式讲,本发明是一种提供双向双语词典的系统,其包含一个搜索引擎;一个有效与所述搜索引擎相连的块索引文件;两个有效与所述搜索引擎相连的词汇索引文件,所述索引文件之一与第一自然语言相关,另一个与第二自然语言相关,其中所述词汇索引文件包括词汇和与所述词汇相关联的词汇索引;以及两个有效与所述搜索引擎相连的翻译索引文件,其中所述翻译索引文件包括所述词汇索引和与所述词汇索引相对应的翻译索引。
所述块索引文件可包括一个表示块起始点的起始字段,一个表示块长度的长度字段,和一个表示块大小的大小字段。
所述块索引文件可包括一个整数流。
可将所述词汇索引文件之一分割为26个块,其中每一块都与一个唯一的罗马字母相关联。
根据汉字国标编码GB 2312将所述词汇索引文件之一分割为72个块。
所述系统还包括一个有效与所述搜索引擎相连的语音索引文件,以及一个有效与所述搜索引擎相连的语音合成器,其中所述语言合成器通过连接从所述语音索引文件获取的音素从而合成语音。
在本说明书以及权利要求书中,术语“包括(comprises、comprising)”以及类似术语的含义是指非排他性的包括,因此包括一系列组件的方法或装置,其不仅包括那些已单独列出的组件,还可能很好地包括那些没有列出的其它组件。


为了使本发明易于理解并付诸实施,现在将结合附图来参考引用优选实施例,其中相似的引用数字指代类似的组件,在附图中图1为说明现有技术双语词典的双重结构的示意框2为说明根据本发明的一个实施例、提供一种双向双语词典的系统的示意框图。
图3为说明根据本发明的实施例、翻译一个输入词汇的方法的流程图。
图4为来自根据本发明实施例的词汇索引文件中的两行多列(列数可变)的例子,其用于在英文和中文语言之间进行翻译。
图5A为说明根据本发明一个实施例的块索引文件的块索引的三字段结构(three-field structure)的示意图。
图5B为说明根据本发明实施例的块索引文件的数据结构的示意图。
图6为说明根据本发明的实施例、利用语音索引文件的方法的流程图。
具体实施例方式
参看图2,示出了根据本发明一个实施例的提供双向双语词典的系统200的示意框图。系统200包含一个搜索引擎205,该搜索引擎205有效地连接下面五个数据文件第一自然语言(语言“A”)词汇索引文件210;第二自然语言(语言“B”)词汇索引文件215;“A到B”的翻译索引文件220;“B到A”的翻译索引文件225;以及语音索引文件230。所述搜索引擎205同时也有效地连接到一个包含一系列索引的块索引文件235上,这一系列索引代表了五个数据文件205到230中的不同记录的位置。这五个数据文件205到230都被分割到与块索引文件235中的索引相一致的存储块当中。
由于将词汇的冗余使用减到了最小,由这五种数据文件205到230的存储形式形成的双语词典可以比现有技术词典占用更小的存储空间。如上所述,现有技术词典包括不可逆的数据文件,一个是从自然语言A翻译到自然语言B的数据文件(例如,从英文到中文),另一个是从自然语言B翻译到自然语言A的数据文件(例如,从中文到英文)。这样,在现有技术词典当中很多词汇包含冗余;例如,一个词汇可能在第一个数据库中作为搜索词汇出现一次,而相同的词汇可能在第二个数据库中作为翻译词汇出现第二次。本发明通过在单独的关于语言A的词汇索引文件210中存放所有语言A的词汇从而减小了这种冗余。所有第二语言B的词汇也被列在单独的关于第二语言B的词汇索引文件215当中。然后,从语言A到语言B的翻译索引文件220和从语言B到语言A的翻译索引文件225与块索引文件235共同工作,用来确定这两个词汇索引文件210和215之间的双向翻译。
可选地,还可以让语音索引文件230与块索引文件235共同作用,提供要翻译的词汇的语音拼读或音素。同时搜索引擎205可以有效地连接到语音合成器240上,合成与翻译词汇相对应的听得到的波形。
参看图3,示出了根据本发明的实施例、用于翻译输入词汇的方法300的流程图。首先,在步骤305,块索引文件235被读入到与搜索引擎205相关的内存当中。然后在步骤310,搜索引擎205接收到一个输入词汇。随后在步骤315,确定输入词汇的语言种类。可以自动确定输入语言的种类,例如用户可以选取一种切换器,该切换器表明了要求翻译是从语言A到语言B的。另外,搜索引擎205可以通过分析输入词汇来确定输入词汇的语言种类。关于确定输入词汇的语言种类的几种可选方法,将在下边进行更为详细讨论。
如果在步骤315输入词汇的语言种类被确定为语言A,方法300就会运行到步骤320,在这里搜索引擎205利用块索引文件235找到语言A的词汇索引文件210中包含输入词汇的存储块号码。搜索引擎205随后从语言A词汇索引文件210中获取对应的存储块。接下来,在步骤325中,对语言A词汇索引文件210中所获取的存储块进行搜索,找到分配给输入词汇的唯一索引号。方法300然后继续运行到步骤330,在这里通过在块索引文件235中搜索分配给输入词汇的唯一索引号,搜索引擎205找到A到B翻译索引文件220的存储块编号,该翻译索引文件220中包括了对应于该输入词汇的翻译索引。之后从A到B的翻译索引文件220中获得该编号所对应的存储块。在步骤335中,通过搜索存储块找到对应于输入词汇的翻译索引。
方法300继续运行到步骤340,在这里搜索引擎205再一次搜索了块索引文件235,通过这次搜索,从包含输入词汇翻译的语言B词汇索引文件215的存储块中找到存储块编号。从语言B的词汇索引文件215中提取出对应于存储块编号的存储块。在步骤345,搜索该存储块以找到输入词汇的翻译。最后在步骤350,将输入文字的翻译提供给搜索引擎205作为输出。
另一方面,如果在步骤315输入词汇被判断为语言B,方法300就会从335到380进行运行,这些步骤是步骤320到345的镜像。在步骤355到380,上述的语言A词汇索引文件210和语言B词汇索引文件215进行对调,同时A到B翻译索引文件220由B到A翻译索引文件225所替代。
参看图4,示出了一个从语言A词汇索引文件210中截取的两行多列(列数可变)结构的例子,在这里语言A为英文,B为中文。注意到,输入单词(即“Aardvark”和“aback”)的相关信息被分别放在单独的一行中。根据该例子,这使得块索引文件235可以通过语言A词汇文件210的唯一的整数行号来识别特定的英文输入单词。词汇索引文件210、215中的第一列包括系统200所能够翻译的所有词汇。第二列包括对应于第一列词汇的语音拼读或音素。第三列定义了第一列词汇的词性(POS),例如“n.”表示名词,“ad.”表示副词,“abbr.”表示缩写词等等。第四列包括由一系列分隔符(例如“<>”“[]”)所界定的第一列词汇的不同属性。例如“<俚>”表示第一列词汇是俚语词汇,“[动]”表示第一列词汇是一种动物的名称。因此,界定符号可以被搜索引擎205用来定位所有含有这些特定属性的词汇。最后如图4所示,第五列以及后面的所有列包括第一列词汇的一条或者多条解释。
根据本发明,五个数据文件210到230中的信息都依照不同的算法进行了压缩。首先两个词汇索引文件210和215按照字母升序排列然后插入类似“\0”的结束符号用以分割不同的词汇,从而进行压缩。然后可以使用诸如本领域公知的通常数据压缩方法来压缩这些文件中的信息。
根据本发明的一个实施例,语音索引文件230中的数据可以被压缩成为单字节的ASCII符号。这可以通过限定索引文件230中的音素数量为72个,并且赋予每个音素一个单独的ASCII符号来实现。之后可以使用通常的数据压缩算法来压缩ASCII数据。
A到B翻译索引文件220和B到A翻译索引文件225都可以通过为每个数据项分配一个整数的方法来进行压缩。例如,在从英文到中文的翻译索引文件220以及从中文到英文的翻译索引文件225当中,每个英文词汇都被赋予了一个同系统200中的英文词汇索引文件210中对应词汇相同的索引号(通常就是如上所述的行号)。类似地,每个中文词汇也被赋予了一个同中文词汇索引文件215中对应词汇相同的索引号(通常也是行号)。
给词汇索引文件210和215中的词性和翻译也分配了一个单独的整数值。与上边相同,每个翻译词汇也被赋予了一个与词汇索引文件210或215对应词汇索引号相同的整数。通常情况下只有很少数量的单独词性(在英文中一般为数字18,其可以包括从代表形容词的“a.”到代表及物动词的“vt.”的所有词性),因此每个词性也都被赋予了单独的整数。
举例说明,一个两行的英文到中文的翻译索引文件220可以被转化成为整数,如下所示n. [动] 土豚ad.向后地, 朝后地被转化成为64008 5168 4443664002 48097 11006
然后,上述翻译索引文件220和225的整数可以进行如下压缩。如果一行只有一个整数,该整数可被直接写入压缩文件。如果一行有多个整数,首先计算该行中整数的个数,然后将计数整数写入压缩文件。在计数整数之后写入该行的所有整数。计数整数被赋予了比其它整数的最大值更大的值,用以区分计数整数和其它整数。例如,搜索引擎205可以被编程设置为,将大于65000的整数都识别为计数整数而非与输入词汇、翻译、词性等等相对应的整数。
参照图5A,示出了根据本发明的一个实施例的块索引文件235的块索引的三字段结构示意图。第一个字段505表示块的起始位置,第二个字段510表示块的长度,第三个字段515表示块中包含有多少数据项。
例如,英文词汇索引文件210中,可根据文件210中每行的首字母(从“a”到“z”)将文件210分割成为26个单独块(回想上述词汇索引文件的每一行都对应于唯一的词汇条目)。类似地,在中文词汇索引文件215中,根据文件215中每个词汇的第一个字,可以将文件215分割成块。依照用于信息交换的简体中文字符国标码(GB2312),中文字符的第一个字节被赋予了从16到87的整数,因此中文的词汇索引文件215可以被分割成72个块。然后,每个块都依照如上所述的三字段块索引而在块索引文件235当中识别。当在两种含有不同字符集的语言之间进行翻译的时候,正如图3中步骤315所示,可以通过仅搜索词汇索引文件210和215中每行的首字符来确定输入词汇的语言种类。当输入词汇的首字符与词汇索引文件210、215中一行的首字符相匹配的时候,输入词汇的语言类型就与得到匹配的词汇索引文件210、215中的语言种类相一致。
对于A到B翻译索引文件220,B到A翻译索引文件225,以及语音索引文件230,每个文件都可以被分割成相当于1,000行数据的块。注意到,虽然每个块的行数都是固定的,但是由于这些行数据的列数不同,每个块的大小都不尽相同。因此,例如一个包括33,894行的英文到中文的翻译索引文件220,它被分为34个块,其中最后一个块只包括894个条目。
参考图5B,示出了根据本发明实施例的块索引文件235的数据结构的结构框图。如图中所示,块索引文件235是一个整数流,它以块总数的计数作为开始,后面接着就是图5A中所示的有三字段结构的块索引。
利用块索引文件235可以显著地减少搜索引擎205运行时所需要的内存。例如,一个中文词汇索引文件215可能包含570k字节的数据量;然而当文件215根据上述方法被分割成为72个块的时候,每个块仅仅需要8k字节的内存。当搜索引擎205搜索文件215时,可以只从内存中读取大小只有8k字节的单个块并从该单个块中找到数据条目。在获取数据条目之后,就会立即释放与该块相关联的内存空间,由此减少运行时所需要的内存。
参考图6,示出了根据本发明实施例的使用语音索引文件230的方法600的流程图。方法600可以作为可选功能而被包括在图3所示的方法300之中。因此方法600从步骤340开始,在这里搜索引擎205通过搜索块索引文件235找到语言B词汇索引文件215中的存储块的块编号。之后,从语言B词汇索引文件215中提取出对应于该块编号的存储块。方法600继续运行到步骤605,在这里提取出语音索引文件230中包含输入词汇的翻译的音素的存储块。语音索引文件230从语言B的词汇索引文件215中导出,这样在语音索引文件230中包含音素的块的块编号就与用于在语言B词汇索引文件215中查找翻译的块编号相一致。
之后,方法600运行到步骤610,在这里对语音索引文件230的相关块进行搜索以获取输入词汇翻译的音素。接着在步骤615,音素就可以作为发音基础(pronunciation key)输出,例如作为印好的音素(printed phonemes)输出到掌上设备的显示屏幕上。同样在步骤620,音素也可以连接到语音合成器240上。最后,在步骤625,从掌上设备的扬声器等类似设备中输出与输入词汇翻译相对应的合成语音波形。
因此,本发明是提供高效双语词典的改进系统和方法,此系统和方法在提供可以快速进行语言间词汇翻译的搜索引擎的同时消除了现有技术双语词典中的冗余,使它更适于应用在有限存储空间、有限处理资源的掌上设备当中。特别地,本发明的双向架构可以消除在现有技术中出现的输入词汇和翻译词汇的存储冗余。更进一步地,因为只需要把相关数据很小的块装载到内存中,所以本发明的块索引文件235可以显著地减小搜索引擎205运行时所需要的内存。一旦数据被处理,包含该块的内存分配就会马上被释放,这样其它的系统资源就可以使用这些内存了。
上面的详细说明只是为了提供优选的示范实施例,而并不想限制本发明的范围、适用性或结构。对优选示范实施例的详细说明是为了向本领域技术人员提供一个使其能够实现本发明的优选实施例的说明。应该可以理解,在不背离所附权利要求中所阐述的本发明的精神和范围的前提下,可以对组件及步骤的功能和结构做出多种不同的改变。
权利要求
1.一种提供双向双语词典的方法,其包括如下步骤以计算机可读取的格式接收第一自然语言的输入词汇;从与所述第一语言对应的第一词汇索引文件中获取所述输入词汇的索引;从翻译索引文件中获取所述输入词汇的翻译索引,所述翻译索引与所述输入词汇的所述词汇索引相对应;和从与所述第二语言对应的第二词汇索引文件中获取所述输入词汇在第二语言中的翻译,所述翻译与所述翻译索引相对应。
2.如权利要求1所述的方法,其进一步包括如下步骤将块索引文件读取到系统内存中;和仅从所述第一词汇索引文件、所述翻译索引文件和所述第二词汇索引文件的每一个中读取利用所述块索引文件定位的特定存储块,其中每个特定的块分别包括所述输入词汇索引、所述翻译索引以及所述翻译。
3.如权利要求2所述的方法,其中所述块索引文件包括一个表示块起始位置的起始字段,一个表示块长度的长度字段,以及一个表示块大小的大小字段。
4.如权利要求2所述的方法,其中所述块索引文件包括一个整数流。
5.如权利要求1所述的方法,其中所述词汇索引文件之一被分割为26块,其中每一块都与罗马字母表中的唯一字母相关联。
6.如权利要求1所述的方法,其中所述词汇索引文件之一根据汉语国标编码GB 3212被分割成72块。
7.如权利要求1所述的方法,其进一步包括从语音索引文件中获取所述输入词汇在第二语言中的语音发音的步骤,所述语音发音与所述翻译索引相对应。
8.如权利要求1所述的方法,其进一步包括通过搜索所述第一和第二词汇索引文件以获取所述输入词汇的第一字节从而确定所述输入词汇的语言种类的步骤,其中所述输入词汇的语言种类与从中获取所述第一字节的词汇索引文件的语言种类相对应。
9.如权利要求7所述的方法,其进一步包括由所述语音发音合成语音的步骤。
10.一种提供双向双语词典的系统,其包括一个搜索引擎;一个有效与所述搜索引擎相连的块索引文件;两个有效与所述搜索引擎相连的词汇索引文件,所述两个词汇索引文件之一与第一自然语言相关,另一个与第二自然语言相关,其中所述词汇索引文件包括词汇和与所述词汇相关的词汇索引;和两个有效与所述搜索引擎相连的翻译索引文件,其中所述翻译索引文件包括所述词汇索引和与所述词汇索引相对应的翻译索引。
11.如权利要求10所述的系统,其中所述块索引文件包括一个表示块起始位置的起始字段,一个表示块长度的长度字段,和一个表示块大小的大小字段。
12.如权利要求10所述的系统,其中所述块索引文件包括一个整数流。
13.如权利要求10所述的系统,其中所述两个词汇索引文件之一被分割为26块,其中每一块都与罗马字母表中的唯一字母相关联。
14.如权利要求10所述的系统,其中所述两个词汇索引文件之一根据汉语国标编码GB 2312被分割为72块。
15.如权利要求10所述的系统,其进一步包括一个有效与所述搜索引擎相连的语音索引文件;和一个有效与所述搜索引擎相连的语音合成器,其中所述语音合成器通过把从所述语音索引文件中获取的音素连接起来而合成语音。
全文摘要
本发明公开一种提供双向双语词典的方法和系统,该系统包括一个搜索引擎(205),一个块索引文件(235),两个词汇索引文件(210,215),和两个翻译索引文件(220,225)。该方法包括以计算机可读取的格式接收第一自然语言的输入词汇(步骤310);从与第一自然语言相对应的词汇索引文件(210)中获取输入词汇索引(步骤320和325);从翻译索引文件(220)中获取所述输入词汇的翻译索引,所述的翻译索引与所述输入词汇的索引相对应(步骤330和335);并且从与所述第二语言相对应的第二词汇索引文件(215)中获取所述输入词汇在第二语言中的翻译,所述翻译与所述的翻译索引相对应(步骤340和345)。
文档编号G06F17/28GK1617135SQ200310115619
公开日2005年5月18日 申请日期2003年11月10日 优先权日2003年11月10日
发明者韩客松 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1