词典压缩和词处理方法及系统、 文语转换系统、 电子设备 技术领域 本发明总体上涉及用于压缩电子词典的方法和系统、 词处理方法和系统、 文语转 换系统以及电子设备。
背景技术 使用电子词典的电子设备已广泛用于多个领域。 电子词典常常采用将词和与该词 相关的信息关联存储的数据结构。对于中文电子词典 ( 下文中也称为 “词典” ), 与中文词 相关的信息可以包括该词的释义信息和发音信息。
在多数中文电子词典中, 发音信息是词信息的一个重要部分。 通常, 中文发音信息 可被直接存储在电子词典中。 然而, 如果电子词典被安装在存储条件差的设备中, 诸如个人 数字助理 (PDA) 中, 则希望使电子词典对存储器的占用最小化。
通常, 电子词典中的每个中文词具有其自身的发音信息, 例如, 词 “國家” 的发音为 “guo2jia1” , 其中诸如 “2” 和 “1” 之类的数字表示中文发音体系中的声调。显然, 发音字符
串常常比词本身需要保存更多的字节。
中国专利 CN02159546.1 公开了一种用于以 2 字节 (16 比特 ) 存储汉字的发音的 方法。因此, 存储发音信息所需的存储量被降低为 2 * N 字节, 其中 N 表示电子词典所包含 的汉字的数量。以使用 2 字节对一个汉字进行编码的 Big5 字集作为示例, 汉字与其发音的 组合所要占用的存储量将为 4 字节 (32 比特 )。
然而, 对于包含成千上万个作为汉字的组合的词的电子词典来说, 仍需要可观的 存储量来存储发音信息。 例如, 假设在电子词典中总共有大约 70000 个词, 其由多于 140000 个汉字组成, 则需要多于 273k 字节来保存发音信息。
实际上, 多数的汉字仅具有一个发音。例如, 汉字 “風” 的发音为 “feng1” 。一些 汉字具有多个发音, 其被称为 “多音汉字” 。例如, 汉字 “差” 的发音包括 “cha4” 、 “cha1” 、 “chai1” 、 “ci1” 。在一些情况下, 一些汉字在词中的声调将成为轻读。例如, 汉字 “熱” 的发 音为 “re4” , 汉字 “鬧” 的发音为 “nao4” , 但是词 “熱鬧” 的发音为 “re4nao5” ( 数字 “5” 表 示轻读 )。也就是说, 虽然一个汉字仅具有一个默认发音作为其常规发音, 但该发音的声调 在某些情况下可能成为轻读。
中国专利申请 CN200310114889.8 公开了一种利用更少的字节存储发音信息的方 法, 该方法包括以下步骤 : 从其他汉字区分出多音汉字 ; 存有用于所有汉字的默认发音表 ; 存有用于多音汉字的非默认发音表 ; 对于包含多音汉字的词产生辅助信息, 所述辅助信息 代表这些多音汉字的非默认发音 ; 以及将词和所述辅助信息关联地存储在电子词典中。根 据在中国专利申请 CN200310114889.8 中公开的方法, 只有具有非默认发音的多音汉字需 要与指示非默认发音的辅助信息一起存储, 并且借助于对汉字存储默认发音表和非默认发 音表, 汉字的默认发音的存储变得不再必要。此方法可以将汉字的发音所占用的存储量减 少为平均每个词少于 1 字节。
然而, 根据中国专利申请 CN200310114889.8 中公开的方法, 对于汉字与其发音的组合, 平均需要多于 2 字节。由于对更低成本的电子设备的需求, 需要汉字与其发音占据比 以往都更少的存储区的电子词典。 发明内容
本发明的发明人注意到中文语言的以下内在规律或事实 : 以 Big5 字集作为例子, Big5 字集最多有 13060 个繁体汉字, 其具有 1295 个有效发音, 其中只有 943 个汉字具有多 个发音, 并且一个汉字所具有的最多发音计数为 6 个 ; 另一方面, Big5 字集使用 2 字节 (16 比特 ) 对一个汉字进行编码, 但是在 Big5 字集中还有大量编码不代表汉字。
考虑到在前述的现有技术中存在的技术问题和中文语言的上述内在规律或事实, 提供一种使用更少字节将汉字或中文词与其发音一起存储的新的方法和系统。
诸如 GB2312 之类的其他用于汉字的通用字集也具有类似的特性。因此, 虽然在一 些实施例或示例中使用 Big5 字集来说明本发明的原理, 用于呈现汉字的方法不限于 Big5 字集, 并且可以使用呈现汉字的任何其他方法。
根据本发明的一个方面, 提供一种利用计算机压缩词典中的电子数据的方法, 包 括: 输入步骤, 输入待压缩词典, 所述待压缩词典中以电子数据形式存储有词与其发音 ; 第 一字音映射表形成步骤, 对于待压缩词典中的每个汉字, 将一个发音确定为默认发音, 并且 形成基于默认发音的第一字音映射表 ; 第二字音映射表形成步骤, 对于待压缩词典中的每 个多音汉字, 将除默认发音之外的剩余发音确定为非默认发音, 并且形成基于非默认发音 的第二字音映射表 ; 以及压缩步骤, 根据关于待压缩词典中的每个词中的每个汉字与其发 音的组合在第一字音映射表或第二字音映射表中的索引或位置的信息, 将该组合压缩为 16 比特编码, 以形成包含具有 16 比特编码形式的信息的压缩词典, 其中, 所述 16 比特编码包 括关于该汉字在第一字音映射表或第二字音映射表中的索引或位置的信息, 以及关于与该 汉字对应的发音在第一字音映射表或第二字音映射表中的索引或位置的信息。 根据本发明的另一个方面, 提供一种利用计算机压缩词典中的电子数据的系统, 包括 : 输入装置, 输入待压缩词典, 所述待压缩词典中以电子数据形式存储有词与其发音 ; 第一字音映射表形成装置, 对于待压缩词典中的每个汉字, 将一个发音确定为默认发音, 并 且形成基于默认发音的第一字音映射表 ; 第二字音映射表形成装置, 对于待压缩词典中的 每个多音汉字, 将除默认发音之外的剩余发音确定为非默认发音, 并且形成基于非默认发 音的第二字音映射表 ; 以及压缩装置, 根据关于待压缩词典中的每个词中的每个汉字与其 发音的组合在第一字音映射表或第二字音映射表中的索引或位置的信息, 将该组合压缩为 16 比特编码, 以形成包含具有 16 比特编码形式的信息的压缩词典, 其中, 所述 16 比特编码 包括关于该汉字在第一字音映射表或第二字音映射表中的索引或位置的信息, 以及关于与 该汉字对应的发音在第一字音映射表或第二字音映射表中的索引或位置的信息。
根据本发明的又一个方面, 提供一种用于电子设备中的词处理方法, 所述电子设 备包括压缩词典, 所述压缩词典中的每个词中的每个汉字与其发音的组合已利用根据本发 明的方法被压缩成 16 比特编码, 所述方法包括 : 字音映射表获取步骤, 获取第一字音映射 表和第二字音映射表 ; 以及解压缩步骤, 利用所述第一字音映射表或第二字音映射表将与 所述压缩词典中的词中的汉字与其发音的组合对应的 16 比特编码进行解压缩。
根据本发明的又一个方面, 提供一种用于电子设备中的词处理系统, 所述电子设
备包括压缩词典, 所述压缩词典中的每个词中的每个汉字与其发音的组合已利用根据本发 明的方法被压缩成 16 比特编码, 所述系统包括 : 字音映射表获取装置, 获取第一字音映射 表和第二字音映射表 ; 以及解压缩装置, 利用所述第一字音映射表或第二字音映射表将与 所述压缩词典中的词中的汉字与其发音的组合对应的 16 比特编码进行解压缩。
根据本发明的又一个方面, 提供一种电子设备, 所述电子设备包括 : 压缩词典, 所 述压缩词典中的每个词中的每个汉字与其发音的组合已利用根据本发明的方法被压缩成 16 比特编码 ; 以及根据本发明的词处理系统。
根据本发明的又一个方面, 提供一种利用压缩词典将文本转换为语音的文语转换 系统, 所述文语转换系统包括 : 压缩词典, 所述压缩词典中的每个词中的每个汉字与其发音 的组合已利用根据本发明的方法被压缩成 16 比特编码 ; 文本输入装置, 用于输入文本 ; 文 本处理装置, 用于根据压缩词典将所述文本切分成词并且为所述词注音 ; 以及语音生成装 置, 用于基于所述文本处理装置的处理结果来产生语音。
根据本发明的又一个方面, 提供一种电子设备, 包括 : 根据本发明的文语转换系 统; 用于与所述文本输入装置接口的屏幕、 键盘、 以及鼠标中的至少一个 ; 以及用于与所述 语音生成装置接口的扬声器、 耳机、 以及显示器中的至少一个。 受益于根据本发明的上述方法和系统, 可实现汉字与其发音占用的存储空间比以 往都更少的电子词典。具体地, 例如, Big5 字集使用 2 字节 (16 比特 ) 来压缩一个汉字。根 据本发明, 汉字与其发音的组合仅占用 2 字节 (16 比特 ), 这与根据 Big5 字集的汉字本身所 占用的存储空间相等。也就是说, 除了传统上用于汉字本身的 16 比特之外, 发音信息将不 占用任何额外或附加的存储空间。
此外, 即使比 2 字节 (16 比特 ) 多出 1 比特都将对实施存储造成不便, 并且会使效 率降低。因此, 使汉字与其发音的组合恰好为 16 比特在减少要使用的存储空间方面是非常 有益的。
从以下参照附图的描述中, 本发明的其他特性特征和优点将变得清晰。
附图说明 并入说明书并且构成说明书一部分的附图图示本发明的实施例, 并且与描述一起 用于说明本发明的原理。
图 1 是示出能够实施本发明的实施例的计算机系统 1000 的硬件配置的框图。
图 2 是图示根据本发明的利用计算机来压缩词典中的电子数据的系统 2000 的示 例性框图。
图 3 是图示根据本发明的在包含压缩词典的电子设备中使用的词处理系统 3000 的示例性框图。
图 4 是图示根据本发明的文语转换系统 4000 的示例性框图。
图 5 是用于实施根据本发明的利用计算机来压缩词典中的电子数据的方法的流 程图。
图 6 是示出根据本发明的用于形成第一字音映射表和第二字音映射表的优选过 程的流程图。
图 7 是用于实施根据本发明的图 5 中的步骤 S540 的示例性压缩过程的流程图。
图 8 是图示利用根据本发明的压缩词典来处理词的方法的流程图。 图 9 是图示利用根据本发明的压缩词典来处理用户输入的词的方法的流程图。 图 10 是图示文语转换系统 4000 利用根据本发明的压缩词典而执行的过程的流程图。 具体实施方式
以下将参照附图详细描述本发明的实施例。
请注意, 类似的参考数字和字母指代图中类似的项目, 因而一旦在一幅图中定义 了一个项目, 不必在之后的图中再讨论该项目。
在本说明书中, “词典” 是指中文电子词典, “字” 是指汉字。
在本说明书中, 汉字的默认发音可以是该汉字的发音之一。 例如, 默认发音可以是 该汉字在统计上最频繁使用的发音。例如, 默认发音可以是先验地发现人们在日常生活中 最频繁使用的发音, 或者可以是词典中与该汉字对应的所有发音中对于该汉字出现次数最 多的发音。典型地, 一个汉字仅具有一个默认发音, 并且在一些情况下, 该默认发音的声调 可以成为轻读。
此外, 多音汉字的非默认发音是指除了其默认发音之外的其他发音。多音汉字可 以具有一个或多个非默认发音。
在本说明书中, 词与其发音的组合与该词中的汉字与其发音的组合具有相同含 义。 也就是说, 词与其发音的组合意味着多个组合, 每个组合都由该词中的一个汉字与其发 音构成。
在本说明书中, 压缩的词是指其中所有汉字与其发音都被压缩的词, 压缩的字是 指该字与其发音一起根据本发明而被压缩成 16 比特编码的汉字。
图 1 是示出能够实施本发明的实施例的计算机系统 1000 的硬件配置的框图。
如图 1 所示, 计算机系统包括计算机 1110。计算机 1110 包括经由系统总线 1121 连接的处理单元 1120、 系统存储器 1130、 固定非易失性存储器接口 1140、 移动非易失性存 储器接口 1150、 用户输入接口 1160、 网络接口 1170、 视频接口 1190 和输出外围接口 1195。
系统存储器 1130 包括 ROM( 只读存储器 )1131 和 RAM( 随机存取存储器 )1132。 BIOS( 基本输入输出系统 )1133 驻留在 ROM 1131 内。操作系统 1134、 应用程序 1135、 其它 程序模块 1136 和某些程序数据 1137 驻留在 RAM 1132 内。
诸如硬盘之类的固定非易失性存储器 1141 连接到固定非易失性存储器接口 1140。固定非易失性存储器 1141 例如可以存储操作系统 1144、 应用程序 1145、 其它程序模 块 1146 和某些程序数据 1147。
诸如软盘驱动器 1151 和 CD-ROM 驱动器 1155 之类的移动非易失性存储器连接到 移动非易失性存储器接口 1150。例如, 软盘可以被插入到软盘驱动器 1151 中, 以及 CD( 光 盘 ) 可以被插入到 CD-ROM 驱动器 1155 内。
诸如鼠标 1161 和键盘 1162 之类的输入设备被连接到用户输入接口 1160。
计算机 1110 可以通过网络接口 1170 连接到远程计算机 1180。例如, 网络接口 1170 可以通过局域网 1171 连接到远程计算机 1180。或者, 网络接口 1170 可以连接到调制 解调器 ( 调制器 - 解调器 )1172, 以及调制解调器 1172 经由广域网 1173 连接到远程计算机1180。 远程计算机 1180 可以包括诸如硬盘之类的存储器 1181, 其可以存储远程应用程 序 1185。
视频接口 1190 连接到监视器 1191。
输出外围接口 1195 连接到打印机 1196 和扬声器 1197。
图 1 所示的计算机系统仅仅是说明性的并且决不意味着对本发明、 其应用或用途 的任何限制。
图 1 所示的计算机系统可以被实施于任何实施例, 可作为独立计算机, 也可作为 电子设备中的处理系统, 可以移除一个或多个不必要的组件, 也可以向其添加一个或多个 附加的组件。例如, 当计算机系统 1000 用于电子词典设备、 电子学习机、 个人数字助理、 移 动电话、 摄影机、 或多功能外围设备中时, 例如可以不包括软盘驱动器 1151 和 CD-ROM 驱动 器 1155。
图 2 是图示利用计算机来压缩词典中的电子数据的系统 2000 的示例性框图。如 图 2 所示, 系统 2000 包括 : 输入装置 2100, 输入待压缩词典, 所述待压缩词典中以电子数据 形式存储有词与其发音 ; 第一字音映射表形成装置 2200, 对于待压缩词典中的每个汉字, 将一个发音确定为默认发音, 并且形成基于默认发音的第一字音映射表 ; 第二字音映射表 形成装置 2300, 对于待压缩词典中的每个多音汉字, 将除默认发音之外的剩余发音确定为 非默认发音, 并且形成基于非默认发音的第二字音映射表 ; 以及压缩装置 2400, 根据关于 待压缩词典中的每个词中的每个汉字与其发音的组合在第一字音映射表或第二字音映射 表中的索引或位置的信息, 将该组合压缩为 16 比特编码, 以形成包含具有 16 比特编码形式 的信息的压缩词典, 其中, 所述 16 比特编码包括关于该汉字在第一字音映射表或第二字音 映射表中的索引或位置的信息, 以及关于与该汉字对应的发音在第一字音映射表或第二字 音映射表中的索引或位置的信息。
图 3 是图示在包含压缩词典的电子设备中使用的词处理系统 3000 的示例性框图。 如图 3 所示, 词处理系统 3000 包括 : 字音映射表获取装置 3300, 获取第一字音映射表和第 二字音映射表 ; 以及解压缩装置 3400, 利用所述第一字音映射表或第二字音映射表将与所 述压缩词典中的词中的汉字与其发音的组合对应的 16 比特编码进行解压缩。
词处理系统 3000 可进一步包括 : 词输入装置 3100, 由用户输入词 ; 搜索装置 3200, 利用第一字音映射表和第二字音映射表在压缩词典中搜索输入的词的压缩形式, 所 述输入的词的压缩形式由多个 16 比特编码组成, 每个 16 比特编码代表一个汉字与其发音 的组合, 其中所述解压缩装置 3400 利用第一字音映射表或第二字音映射表, 将从压缩词典 中搜索出的所述词的压缩形式中的每个 16 比特编码解压缩成该汉字与其发音的组合 ; 以 及输出装置 3500, 通过文本和 / 或语音输出由所述解压缩装置 3400 获得的词的发音。
所述解压缩装置 3400 可进一步包括 : 第一确定装置 3410, 根据所述 16 比特编码 中的预定的一个比特确定该组合位于第一字音映射表中还是第二字音映射表中 ; 以及第二 确定装置 3430, 在所述第一确定装置 3410 确定该组合位于第一字音映射表中的情况下, 根据剩余比特中的预定的 14 比特确定关于该汉字在第一字音映射表中的索引或位置的信 息, 并且根据剩余的一个比特确定该发音是否为轻读 ; 或者, 在所述第一确定装置 3410 确 定该组合位于第二字音映射表中的情况下, 根据剩余比特中的预定的 12 比特确定关于该
汉字在第二字音映射表中的索引或位置的信息, 并且根据剩余的 3 比特确定关于该汉字的 该发音在第二字音映射表中的位置的信息。
图 4 是图示文语转换系统 4000 的示例性框图, 所述文语转换系统 4000 用于利用 压缩词典而将文本转换成语音, 所述文语转换系统 4000 包括 : 压缩词典, 所述压缩词典中 的每个词中的每个汉字与其发音的组合已利用根据本发明的方法被压缩成 16 比特编码 ; 文本输入装置 4100, 用于输入文本 ; 文本处理装置 4300, 用于根据压缩词典将所述文本切 分成词并且为所述词注音 ; 以及语音生成装置 4500, 用于基于所述文本处理装置 4300 的处 理结果来产生语音。
所述文本处理装置 4300 可优选包括 : 文本切词装置 4310, 用于将文本切分为词, 以及词处理系统 3000。
以上装置是用于实施以下要描述的过程的示例性和 / 或优选的模块。以上并未详 尽地描述用于实施各个步骤的模块。 然而, 只要有执行某个过程的步骤, 就可以有用于实施 同一过程的对应的功能模块或装置。 通过以下描述的步骤以及与这些步骤对应的装置的所 有组合限定的技术方案都包括在本说明书的公开内容中, 只要它们构成的这些技术方案是 完整并且可应用的。 此外, 由各个装置构成的上述系统可以被并入到诸如电子设备之类的硬件设备中 作为功能模块。 除了这些功能模块之外, 这些电子设备当然可以具有其他硬件或软件组件。
将参照图 5-7 描述根据本发明的压缩中文电子词典的方法。
图 5 是用于实施根据本发明的利用计算机来压缩词典中的电子数据的方法的流 程图。
在步骤 S510 中, 输入待压缩词典。待压缩词典中以电子数据的形式存储有词与其 发音。
在步骤 S520 中, 形成第一字音映射表 ( 也称为默认发音表, 将在下文中更详细地 描述 )。
在步骤 S530 中, 形成第二字音映射表 ( 也称为非默认发音表, 将在下文中更详细 地描述 )。
在步骤 S540 中, 基于所述第一字音映射表或第二字音映射表, 待压缩词典中的每 个词的每个汉字与其发音的每个组合被压缩成 16 比特编码。
图 6 是示出用于形成第一字音映射表 ( 步骤 S520) 和第二字音映射表 ( 步骤 S530) 的优选过程的流程图。请注意, 虽然步骤 S520 和步骤 S530 在图 5 的流程图中是两个分开 的步骤, 但是这两个步骤可以串行实施也可以并行实施。图 6 所示的流程图给出了其中步 骤 S520 和步骤 S530 并行执行的示例。图 6 左边分支的流程 ( 即由步骤 S610、 S620、 S630、 S640、 S660、 以及 S670 构成的流程 ) 对应于步骤 S520, 而图 6 右边分支的流程 ( 即由步骤 S610、 S620、 S630、 S650、 S660、 以及 S670 构成的流程 ) 对应于步骤 S530。
首先, 初始的第一字音映射表和初始的第二字音映射表例如是空的。
在步骤 S610 中, 获得词典中的一个汉字, 并且在步骤 S620 中考虑该汉字的一个发 音。
在步骤 S630 中确定在步骤 S620 中考虑的发音是否是在步骤 S610 中获得的汉字 的默认发音。该默认发音可以是该汉字的任何一个发音。例如可以将处理过程中对于该汉
字处理的第一个发音作为默认发音。 用于判断发音是否是该汉字的默认发音的准则也可以 是例如基于预先获取的统计信息。如上所述, 汉字的默认发音可以是对于该汉字统计上最 频繁使用的发音。 例如, 默认发音可以是先验地发现人们在日常生活中最频繁使用的发音, 或者可以是词典中与该汉字对应的所有发音中对于该汉字出现次数最多的发音。典型地, 一个汉字仅具有一个默认发音, 并且在一些情况下, 该默认发音的声调可以成为轻读。
如果在步骤 S630 中确定在步骤 S620 中考虑的发音是该汉字的默认发音 ( 步骤 S630 中为 “是” ), 则过程前进到步骤 S640。在步骤 S640 中, 通过向第一字音映射表添加 与该汉字和该默认发音的组合有关的信息来更新该第一字音映射表, 并且过程前进到步骤 S660。
否则, 如果在步骤 S630 中确定在步骤 S620 中考虑的发音不是该汉字的默认发音 ( 即非默认发音 )( 步骤 S630 中为 “否” ), 则过程前进到步骤 S650。在步骤 S650 中, 通过 向第二字音映射表添加与该汉字和该非默认发音的组合有关的信息来更新该第二字音映 射表, 并且过程前进到步骤 S660。
在步骤 S660 中, 确定对于当前汉字是否仍有另一发音未考虑。如果对于当前汉字 仍有另一发音未考虑 ( 步骤 S660 中为 “是” ), 则过程前进到步骤 S620 以对于当前汉字考 虑下一未考虑的发音。如果对于当前汉字没有其他发音未考虑 ( 步骤 S660 中为 “否” ), 则 过程前进到步骤 S670 以确定在词典中是否仍剩余有任何未考虑的汉字。如果在词典中仍 剩余有未考虑的汉字 ( 步骤 S670 中为 “是” ), 则过程前进到步骤 S610 以获得下一个汉字。 如果在词典中不剩余未考虑的汉字 ( 步骤 S670 中为 “否” ), 则完成对第一字音映射表和第 二字音映射表的形成, 并且可以将第一字音映射表和第二字音映射表用于其他处理。 表 1 示出第一字音映射表 ( 默认发音表 ) 的一个示例性示例。请注意, 表 1 是其 中使用 Big5 字集的一个示例。然而, 也可以使用其他字集。
表1: 第一字音映射表
表 2 示出第二字音映射表 ( 非默认发音表 ) 的一个示例性示例。请注意, 表2是 其中使用 Big5 字集的一个示例。然而, 也可以使用其他字集。
表2: 第二字音映射表
从表 1 中可以看出, 第一字音映射表可以包括以下信息。对于一个汉字, 第一字 音映射表可以包括 : 该汉字在第一字音映射表中的索引 (T1_INDEX)(14 比特 )、 该汉字本身 (16 比特, 例如具有根据诸如 Big5 或 GB2312 之类的通用字集的编码的形式 )、 以及该汉字 的默认发音 (16 比特 )。在第一字音映射表中, 由于每个汉字仅具有一个默认发音, 第一字 音映射表中的汉字的一个条目对应于该汉字与其默认发音的组合。尽管在表 1 中未示出, 默认发音可被呈现为常规声调或者轻读。在 16 比特编码中可以具有指示默认发音是否取
轻读的信息。虽然这种信息可能不在第一字音映射表中呈现, 但这种信息可被视作第一字 音映射表中对于发音的一个索引。
从表 2 中可以看出, 第二字音映射表可以包括以下信息。对于一个汉字, 第二字 音映射表可以包括 : 该汉字在第二字音映射表中的索引 (T2_INDEX)(12 比特 )、 该汉字本身 (16 比特, 例如具有根据诸如 Big5 或 GB2312 之类的通用字集的编码的形式 )、 以及该汉字 的一个或多个非默认发音 ( 各 16 比特 )。在第二字音映射表中, 由于每个汉字具有一个或 多个非默认发音, 因此第二字音映射表中的汉字的非默认发音的条目对应于所有非默认发 音, 每一个非默认发音具有其自己的列索引, 并且第二字音映射表中的该汉字的非默认发 音可以被看作对应于该汉字和该非默认发音的组合。
以上述的这种方式, 汉字与其发音的每种组合被登记在第一字音映射表或第二字 音映射表中。
请注意, 表 1 和表 2 中所示的第一字音映射表和第二字音映射表仅用于示例说明 的目的, 并且不意图限制第一字音映射表和第二字音映射表的形式。 例如, 第一字音映射表 和第二字音映射表中的汉字和 / 或发音可以采取其他形式而非表 1 和表 2 中所示的形式。
第一字音映射表和第二字音映射表中的汉字的索引可任意地设计, 只要在表中一 个汉字对应于一个索引即可。优选地, 该索引从 0 开始编号并且以 1 递增, 使得需要较少的 比特来将每个索引二进制化。注意, 汉字在第一字音映射表中的索引可以和该汉字在第二 字音映射表中的索引不同。因为第二字音映射表中的汉字少得多 ( 因为仅有多音字具有非 默认发音因而被登记在第二字音映射表中 ), 第二字音映射表中的汉字的索引比第一字音 映射表中的索引占用更少的比特。
回到图 5, 在步骤 S540 中, 待压缩词典中的每个词中的每个汉字与其发音的各组 合基于关于该组合在第一字音映射表或第二字音映射表中的索引或位置的信息而被压缩 为 16 比特编码, 以便形成包含具有 16 比特编码形式的信息的压缩词典。
图 7 是用于实施步骤 S540 的示例性压缩过程的流程图。
在步骤 S710 中, 获取待压缩词典中的词。在步骤 S720 中, 获取该词中的汉字与其 发音的组合。 在步骤 S730 中, 判断该发音是否是默认发音。 如果在步骤 S730 中判断出该发 音是默认发音 ( 步骤 S730 中为 “是” ), 则过程前进到步骤 S740, 在步骤 S740 中, 根据第一 字音映射表, 该组合被压缩为 16 比特编码。如果在步骤 S730 中判断出该发音不是默认发 音 ( 步骤 S730 中为 “否” , 即为非默认发音 ), 则过程前进到步骤 S750, 在步骤 S750 中, 根据 第二字音映射表, 该组合被压缩为 16 比特编码。在步骤 S740 或 S750 中压缩了该汉字与其 发音的组合之后, 过程前进到步骤 S760 以确定在该词中是否有未压缩的汉字。如果在步骤 S760 中确定该词中仍有未压缩的汉字 ( 步骤 S760 中为 “是” ), 则过程前进到步骤 S720 以 获取该词中的下一个汉字与其发音。 如果在步骤 S760 中确定该词中没有未压缩的汉字 ( 步 骤 S760 中为 “否” ), 则过程前进到步骤 S770 以确定该词典中是否有任何未压缩的词。如果 在步骤 S770 中确定词典中有未压缩的词 ( 步骤 S770 中为 “是” ), 则过程前进到步骤 S710 以获取词典中的下一个词。如果在步骤 S770 中确定词典中没有未压缩的词 ( 步骤 S770 中 为 “否” ), 则完成了词典的压缩, 并且获得压缩词典。
具体地, 上述的 16 比特编码包括 : 关于汉字在第一字音映射表或第二字音映射表 中的索引或位置的信息, 以及关于与该汉字对应的发音在第一字音映射表或第二字音映射表中的索引或位置的信息。
例如, 所述 16 比特编码可以具有以下的示例性信息。具体地, 所述 16 比特编码中 的 1 比特可以代表该汉字与其发音的组合处于第一字音映射表中还是第二字音映射表中。 在所述组合处于第一字音映射表中的情况下, 剩余比特中的 14 比特可以代表关于该汉字 在第一字音映射表中的索引或位置的信息 ( 例如表 1 中所示的 T1_INDEX), 并且剩余的 1 比 特用作代表该发音的声调是轻读的轻读标志。虽然没有在表 1 中示出, 但是代表轻读的比 特实际上是默认发音在第一字音映射表中的一个索引。否则, 在该组合处于第二字音映射 表中的情况下, 剩余比特中的 12 比特可以代表关于该汉字在第二字音映射表中的索引或 位置的信息 ( 例如表 2 中所示的 T2_INDEX), 剩余的 3 比特代表关于与该汉字对应的发音在 第二字音映射表中的位置的信息 ( 例如, 指示该非默认发音位于第二字音映射表的哪一列 的信息 )。
例 如,对 于 代 表 一 个 汉 字 和 其 发 音 之 一 的 组 合 的 16 比 特 编 码 “0011101101100000” , 第一个比特 “0”表 示 该 发 音 是 默 认 发 音, 接 着 的 14 比 特 “01110110110000” 表示该汉字在第一字音映射表中的索引 (T1_INDEX)( 我们可从表 1 知 晓, T1_INDEX“01110110110000” 表示汉字 “影” ), 最后 1 比特 “0” 表示该发音不是轻读。 举 另 一 个 示 例, 对 于 代 表 汉 字 和 其 发 音 之 一 的 另 一 组 合 的 16 比 特 编 码 “1000001101011000” , 第一个比特 “1”表 示 该 发 音 是 非 默 认 发 音, 接 着 的 12 比 特 “000001101011” 表示该汉字在第二字音映射表中的索引 (T2_INDEX)( 我们可从表 2 知晓, T2_INDEX“000001101011” 表示汉字 “倒” ), 最后 3 比特 “000” 表示此发音在第二字音映射 表中的位置, 即, 发音 “dao4” 。
取 Big5 字集作为一个示例性示例, 第一字音映射表可覆盖在 Big5 字集中定义的 所有汉字。以这种方式, 第一字音映射表中的每个索引可与 Big5 字集中的每个汉字具有 一一对应关系或映射。 存在大量的可应用的映射方法。 作为示例, 以下公式给出用于将 Big5 编码转换成每个汉字的索引的一种简单的方法。
如果 L < 128 则 T1_INDEX = (H-0xA4) * 0xA0+L-0x40 ;
否则 T1_INDEX = (H-0xA4) * 0xA0+L-0x60,
其中, H 是该汉字的 Big5 编码的第一字节, L 是该汉字的 Big5 编码的第二字节, 并 且 T1_INDEX 是该汉字在第一字音映射表中的索引。从该索引向 Big5 编码的转换可以是类 似的, 如下 :
H = T1_INDEX/160+164 ;
如果 T1_INDEX% 160 ≤ 64 则 L = (T1_INDEX% 160)+64
否则 L = (T1_INDEX% 160)+96
其中, T1_INDEX/160 意味着通过将 T1_INDEX 除以 160 所获得的商的整数部分, 而 T1_INDEX% 160 意味着通过将 T1_INDEX 除以 160 所获得的余数。
请注意, 由于在 Big5 字集中包括 16239 个汉字, 因此在第一字音映射表中有与这 16239 个汉字对应的 16239 个条目就足够了。也就是说, 上述的公式决不限制 Big5 编码与 索引 (T1_INDEX) 之间的具体映射方法。优选地, 索引从 0 开始, 并且以 1 递增。也就是说, 例如在使用 Big5 字集的情况下, 第一字音映射表中的索引为从 0 到 16238( 其可由 14 比特 表示 )。
关于第二字音映射表中的索引, 可以在多音汉字和索引 (T2_INDEX) 之间建立类 似的对应关系或映射。由于仅有 943 个汉字是多音字, 因此第二字音映射表中的汉字的索 引比第一字音映射表中的汉字的索引占用更少的比特 ( 在 Big5 字集的情况下为 12 比特 )。
请注意, 虽然以上以 Big5 字集作为示例, 根据本发明的用于压缩词典的方法也可 以应用于由其他汉字集表示的汉字。
现在, 对于根据本发明的用于压缩词典的方法, 将描述一个具体的示例。
在压缩词典的过程中, 词与其发音 “倒影 (dao4ying3)” 被输入, 并且要被压缩。
首 先,汉 字 “倒” 与 其 发 音 被 获 取,并 被 压 缩 成 16 比 特 编 码 1000001101011000(0x86B0), 其中, 第一个比特 “1” 表示发音 “dao4” 是汉字 “倒” 的非默 认发音, 接着的 12 比特 “000001101011” 表示汉字 “倒” 在第二字音映射表中的索引 (T2_ INDEX), 最后 3 比特 “000” 表示此发音在第二字音映射表中的位置, 即, 发音 “dao4” 是该汉 字 “倒” 的第一个非默认发音。然后, 汉字 “影” 与其发音被获取, 并被压缩成 16 比特编码 0011101101100000(0x3B60), 其中第一个比特 “0” 表示发音 “ying3” 是该汉字 “影” 的默认 发音, 接着的 14 比特 “01110110110000” 表示汉字 “影” 在第一字音映射表中的索引 (T1_ INDEX), 最后一个比特 “0” 表示该发音不是轻读。然后, 压缩的词 - 即与这两个汉字与其发 音对应的两个 16 比特编码 - 以压缩形式被存储在词典中, 所述两个 16 比特编码表示中文 词 “倒影” 与其发音 “dao4ying3” 。 以上描述了根据本发明的压缩中文电子词典的方法。 以上方法中的步骤可以通过 计算机程序在计算机上执行。
现在将参照图 8 和图 9 描述利用所述压缩词典来处理词的方法。
图 8 是图示利用压缩词典来处理词的方法的流程图。所述压缩词典是已根据上述 的本发明的方法之一被压缩的词典。也就是说, 通过利用以上所述的根据本发明的方法之 一, 所述压缩词典中的每个词中的每个汉字与其发音的每个组合已被压缩为 16 比特。
在步骤 S810 中, 获取第一字音映射表和第二字音映射表。例如, 第一字音映射表 和第二字音映射表可以从服务器或存储设备等载入。 第一字音映射表和第二字音映射表可 以是上述类型之一。
在步骤 S820 中, 通过使用第一字音映射表或第二字音映射表对与压缩词典中的 一个词中的汉字与其发音的组合对应的 16 比特编码进行解压缩。
因此, 代表一个词中的汉字与其发音的组合的 16 比特编码被解压缩, 并且可以呈 现该组合。
图 9 是图示利用压缩词典来处理用户输入的词的方法的流程图。所述压缩词典 是已根据上述的本发明的方法之一被压缩的词典。也就是说, 通过利用以上所述的根据本 发明的方法之一, 所述压缩词典中的每个词的每个汉字与其发音的每个组合已被压缩为 16 比特编码。在图 9 所示的方法中, 用户输入的词被处理, 并且该词与其发音的组合 - 即该词 的每个汉字与其发音的每个组合 - 被输出。
在步骤 S910 中, 由用户输入一个词。一个词可由多个汉字构成。
在步骤 S920 中, 获取第一字音映射表和第二字音映射表。例如, 第一字音映射表 和第二字音映射表可以从服务器或存储设备等载入。 第一字音映射表和第二字音映射表可 以是上述类型之一。
在步骤 S930 中, 借助第一字音映射表和第二字音映射表, 在压缩词典中搜索输入 的词的压缩形式。输入的词的压缩形式是指已通过使用上述的方法 ( 例如见对步骤 S540 的描述 ) 被压缩的词。也就是说, 输入的词的所述压缩形式是由多个 16 比特编码构成的, 每个所述 16 比特编码代表该词中的一个汉字与其发音的组合。 通过执行步骤 S930, 可以确 定输入的词的发音。
以下是用于实施借助第一字音映射表和第二字音映射表而在压缩词典中搜索输 入的词的压缩形式的步骤 S930 的一种示例性方法。
首先, 在第一字音映射表和第二字音映射表二者中搜索该词中的每个汉字。第一 字音映射表 ( 默认发音映射表 ) 包含所有汉字的条目, 并且在第一字音映射表中将存在包 含该词中的每个汉字的索引 (T1_INDEX) 的 16 比特编码。然而, 一些汉字 ( 例如如果不是 多音汉字 ) 不会出现在第二字音映射表 ( 非默认发音映射表 ) 中, 因此并非词中的每个汉 字都一定具有包含在第二字音映射表中的索引 (T2_INDEX) 的 16 比特编码。
然后, 执行匹配过程以判断压缩词典中的哪个压缩的词 ( 由多个 16 比特编码构 成 ) 与这些汉字的 16 比特编码的各组合之一匹配。例如, 如果一个词由两个汉字构成, 并且第一个汉字具有包含 T1_INDEX(T1_INDEX_1) 的假设的 16 比特编码 (c1_1) 以及包含 T2_INDEX(T2_INDEX_1) 的假设的 16 比特编码 (c2_1), 第二个汉字具有包含 T1_INDEX(T1_ INDEX_2) 的假设的 16 比特编码 (c1_2) 以及包含 T2_INDEX(T2_INDEX_2) 的假设的 16 比特 编码 (c2_2), 则搜索压缩词典中包含 (c1_1, c1_2)、 (c2_1, c1_2)、 (c1_1, c2_2) 和 (c2_1, c2_2) 之一的压缩的词。包含 T1_INDEX 的假设的 16 比特编码 ( 例如 c1_1 或 c1_2) 的第一 个比特例如可以是 “0” , 其用于指示它是基于第一字音映射表的 16 比特编码。类似地, 包 含 T2_INDEX 的假设的 16 比特编码 ( 例如 c2_1 或 c2_2) 的第一个比特例如可以是 “1” , 其 用于指示它是基于第二字音映射表的 16 比特编码。可以为特定汉字唯一确定所述 14 比特 索引 (T1_INDEX) 和所述 12 比特索引 (T2_INDEX)。 其他未确定的比特可以是任何可能的比 特, 并且在匹配过程中可以不予考虑。
在步骤 S930 中在压缩词典中找到该词的包含多个 16 比特编码的压缩形式之后, 在步骤 S940 中, 所述多个 16 比特编码中的每一个被解压缩成汉字与其发音的各组合, 以便 通过利用第一字音映射表和 / 或第二字音映射表获得该词与其发音的组合。
在步骤 S950 中, 该词的发音或者该词与其发音的组合被输出。该词的发音可以通 过文本和 / 或语音进行输出。
根据本发明的一个实施例, 用于解压缩的步骤 S820 或 S940 可以包含如下的步 骤:
- 第一确定步骤, 根据所述 16 比特编码中的一个预定比特 ( 例如第一个比特 ) 确 定汉字和发音的组合位于第一字音映射表中还是第二字音映射表中 ; 以及
- 第二确定步骤, 在第一确定步骤中确定出该组合位于第一字音映射表中的情况 下, 根据剩余比特中的预定的 14 比特确定关于该汉字在第一字音映射表中的索引或位置 的信息, 并且根据剩余的一个比特确定该发音是否是轻读, 或者, 在第一确定步骤中确定出 该组合位于第二字音映射表中的情况下, 根据剩余比特中的预定的 12 比特确定关于该汉 字在第二字音映射表中的索引或位置的信息, 并且根据剩余的 3 比特确定关于该汉字的该 发音在第二字音映射表中的位置的信息。现在, 对于利用根据本发明的压缩词典来处理输入的词的方法, 将描述一个具体示例。 用户输入词 “倒影” , 并且期待其发音的输出。
首 先, 汉字 “倒”与 其 默 认 发 音 的 组 合 的 16 比 特 编 码 (C1_1) 被 获 得 为 000101011111001X, 其中, 第一个比特 “0” 表示该发音处于第一字音映射表中, 第 2 至第 15 比特 “00101011111001” 表示该汉字在第一字音映射表中的索引 (T1_INDEX_1), 最后一比 特 “X” 取任何可能的值。此外, 汉字 “倒” 与其非默认发音的组合的 16 比特编码 (C2_1) 被 获得为 1000001101011XXX, 其中, 第一个比特 “1” 表示该发音处于第二字音映射表中, 第2 至第 13 比特 “000001101011” 表示该汉字在第二字音映射表中的索引 (T2_INDEX_1), 最后 3 比特 “XXX” 取任何可能的值。此外, 汉字 “影” 与其默认发音的组合的 16 比特编码 (C1_2) 被获得为 001110110110000X, 其中, 第一个比特 “0” 表示该发音处于第一字音映射表中, 第 2 至第 15 比特 “01110110110000” 表示该汉字在第一字音映射表中的索引 (T1_INDEX_2), 最后一比特 “X” 取任何可能的值。因为汉字 “影” 不是多音汉字, 并且不具有非默认发音, 关于该汉字在第二字音映射表中的索引 (T2_INDEX_2) 的 16 比特编码 (C2_2) 并不存在。
然后, 搜索压缩词典中包含 (C1_1, C1_2) 或 (C2_1, C1_2) 的压缩的词。
结果, 找到了压缩词典中包含与 “倒影 dao4ying3” 对应的 (C2_1, C1_2) 的压缩的 词。
然后, 利用第一字音映射表和 / 或第二字音映射表将找到的压缩的词进行解压 缩, 并且获得并输出该词的发音 “dao4ying3” 。
已参照图 8 和图 9 描述了利用压缩词典处理词的方法。上述方法中的步骤可以通 过计算机程序在计算机上执行。
上述压缩中文电子词典的方法可以通过计算机程序而被实施为一个系统 ( 例如 上述的系统 2000), 并且利用压缩词典来处理词的方法也可以通过计算机程序而被实施为 一个系统 ( 例如上述的系统 3000)。 在这种情况下, 每个步骤对应于一个功能模块 ( 装置 ), 并且各个系统可以被包含在通过计算机程序实施操作的其他系统中, 或者可以被安装在电 子设备中, 作为功能模块。
例如, 用于将输入文本转换成语音的文语转换系统 4000 可以包括上述的系统 3000。
图 10 是示出由文语转换系统 4000 利用已根据上述的任何压缩方法压缩的压缩词 典所执行的过程的流程图。请注意, 图 10 中的流程图的各步骤对应于图 4 中的系统 4000 中的各装置。
在步骤 S1010 中, 例如由用户输入文本。此步骤 S1010 对应于图 4 中的文本输入 装置 4100。
在步骤 S1020 中, 根据压缩词典将该文本切分为词。将文本切分为词的过程可以 通过任何现有技术执行。此步骤 S1020 对应于图 4 中的文本切词装置 4310。
然后, 过程前进到步骤 S910, 并且每个词与其发音的组合根据图 9 所示的流程图 被处理。通过根据图 9 所示的流程图的处理, 词的发音可被确定, 并且可标音。然后, 在步 骤 S950 中输出作为文本中的每个词的发音的处理结果, 并且过程前进到图 10 中所示的流 程图的步骤 S1030。根据图 9 中的流程图的此过程对应于图 3 中的词处理系统 3000。
上述步骤 S1020 与根据图 9 的流程图的过程的组合对应于图 4 中的文本处理装置4300。 在步骤 S1030 中, 生成基于处理结果的语音。此步骤 S1030 对应于图 4 中的语音 生成装置 4500。
根据在文语转换系统 4000 中执行的上述方法, 可以利用本发明的词处理系统 3000 来实现文语转换。
进一步地, 诸如电子词典设备、 电子学习机、 个人数字助理、 移动电话、 摄影机、 或 多功能外围设备之类的电子设备中可安装有上述系统中的一个或多个。
例如, 所述电子设备可以包括根据本发明的压缩词典, 以及上述的词处理系统 3000 或文语转换系统 4000。优选地, 所述电子设备具有用于与其输入装置接口的屏幕、 键 盘和鼠标中的至少一个, 以及具有用于与其输出装置接口的扬声器、 耳机、 以及显示设备中 的至少一个。
根据本发明, 对电子词典存储发音信息的存储要求大大降低。 具体地, 通过应用本 发明, 可以降低用于一个词的发音信息的大小。
在用于 NLP( 自然语言处理 ) 模块的基本电子词典中, 总共有大约 70000 个词, 并 且最长的词由四个汉字构成, 其中 33525 个词不包括任何具有多个发音的汉字, 28014 个词 仅包括一个具有多个发音的汉字。
通过应用在中国专利申请 CN200310114889.8 中提出的方法, 存储发音信息所花 费的额外的存储量大于 27k 字节而小于 43k 字节。另一方面, 通过利用根据本发明的方法, 额外的存储量降为 0, 这是因为不需要任何额外的比特来存储发音。
可以通过许多方式来实施本发明的方法和系统。 例如, 可以通过软件、 硬件、 固件、 或其任何组合来实施本发明的方法和系统。上述的方法步骤的次序仅是说明性的, 本发明 的方法步骤不限于以上具体描述的次序, 除非以其他方式明确说明。此外, 在一些实施例 中, 本发明还可以被实施为记录在记录介质中的程序, 其包括用于实现根据本发明的方法 的机器可读指令。 因而, 本发明还覆盖存储用于实现根据本发明的方法的程序的记录介质。
虽然已通过示例详细展示了本发明的一些具体实施例, 但是本领域技术人员应当 理解, 上述示例仅意图是示例性的而不限制本发明的范围。 本领域技术人员应该理解, 上述 实施例可以被修改而不脱离本发明的范围和实质。 本发明的范围是通过所附的权利要求限 定的。