专利名称:一种实现汉语同音字检索的方法
技术领域:
本发明涉及汉字检索技术领域,特别是一种实现汉语同音字检索的方法。
背景技术:
同音字是汉语言的一种特性,汉字中存在大量的同音字。用户在检索时,只知道一个字的读音,不知道其具体写法的情况是很常见的,因此,同音字检索作为一种智能检索方式应运而生。传统的实现汉语同音字检索的方法有两种一种是利用汉语的词库,另一种是利用汉字的拼音。汉语的词汇量(指由汉字组成的词组)是很大的,如果使用词库方式进行同音字检索,需要建立庞大的同音词库,且检索的时候,需要将用户输入的关键词根据同音词库替换成若干同音词,使一个输入实际上变成多个输入,降低了检索的效率,同时增大了维护和扩展的成本。另一种方式,是将每个汉字与其拼音关联起来,当用户输入关键词时,先将每个汉字转换成拼音,再反向根据拼音查询具有相同读音的汉字,进行排列组合,生成若干同音关键词组,再进行检索。这种方式经排列组合之后,会生成非常多的同音关键词组,尤其是当用户输入的关键词包含汉字个数越多,这种现象越明显,会使效率大大下降,如果对这些同音关键词组进行筛选过滤,只保留有意义的词组,无疑又涉及语法和词法分析等方面的知识,门槛较高,成本较大。
发明内容
(一 )要解决的技术问题有鉴于此,本发明的主要目的在于提供一种实现汉语同音字检索的方法,以提高汉字检索的效率,降低成本。( 二 )技术方案为达到上述目的,本发明提供的了一种实现汉语同音字检索的方法,该方法包括步骤I :建立常用汉字与其同音代表字之间的映射关系,并按照该映射关系对检索数据库中的原始全文内容进行映射,得到由多条映射记录构成的检索数据库;步骤2 :按照该映射关系对用户输入的原始检索关键词进行映射,得到对应于该原始检索关键词的同首代表字串;步骤3 :在由多条映射记录构成的检索数据库中对该同音代表字串进行检索,得到检索结果。上述方案中,步骤I中所述建立常用汉字与其同音代表字之间的映射关系包括: 以国家质量技术监督局2001年宣布的计算机汉字信息交换标准GB18030为依据,建立常用汉字与其同音代表字之间的映射关系,其中GB18030共包括70244个汉字,从具有相同发音的多个汉字中选取同音代表字。上述方案中,步骤I中所述建立常用汉字与其同音代表字之间的映射关系包括: 以国家语委汉字处制定的包括7000个汉字的现代汉语通用字表或以教育部目前正向社会征求意见的包括8300个汉字的通用规范汉字表为依据,建立常用汉字与其同音代表字之间的映射关系,从具有相同发音的多个汉字中选取同音代表字。上述方案中,所述在从具有相同发音的多个汉字中选取同音代表字,是选用具有相同发音的任一个字做为其同音代表字,优选地是选用具有相同发音的第一个字做为其同音代表字。至于相同发音的规则,可以根据用户不同的需求灵活决定,可以精确到相同拼音的不同声调,也可以不区分相同拼音的不同声调,或者可以不区分非卷舌舌音和卷舌音等。上述方案中,所述原始全文内容和同音代表字信息保存在同一个数据库表中,步骤I中所述映射记录包括以下字段记录标识、原始全文内容和同音代表字信息,其中原始全文内容与同音代表字信息按照所述映射关系一一对应。所述步骤3包括以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始全文内容为检索结果。上述方案中,所述原始全文内容和同音代表字信息分别保存在不同的数据库表中,步骤I中所述映射记录包括以下字段记录标识、原始资源标识ID和同音代表字信息, 其中原始资源标识ID与同音代表字信息按照所述映射关系一一对应,且在原始全文内容数据库表中原始资源标识ID对应于原始全文内容。所述步骤3包括以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始资源标识ID,然后根据该原始资源标识ID到原始全文内容数据库表中找到对应的记录,得到原始全文内容为检索结果。上述方案中,步骤3中所述检索采用全文检索方式,该全文检索是指计算机索引程序通过扫描检索数据库中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。上述方案中,该方法在步骤3之后还包括得到检索结果之后,对检索结果进行标红处理和生成动态摘要,并展现给用户;其中,标红处理是指对检索结果的条目内容中的检索关键词运用红色字体突出显示;生成动态摘要是指在检索结果的条目内容中提取检索关键词的上下文连接而成的摘要。上述方案中,所述标红处理具体包括首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置,由于同音代表字信息是原始全文内容根据同音代表字表逐一映射而来,所以信息的总字符长度完全一样,相同位置对应的字发音也是相同的,根据同音代表字串出现的次数和位置在原始全文内容中找到对应位置即是原始检索关键词的所在位置,将其对应位置的字符使用红色突出显示,就完成了对原始全文内容的标红处理。上述方案中,所述动态摘要的生成方法包括首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置;与该位置对应的原始全文内容的相同位置就是原始检索关键词出现的位置, 将原始关键词的上下文内容取出,就生成了动态摘要。上述方案中,步骤2中所述按照该映射关系对用户输入的原始检索关键词进行映射之后,进一步将未在检索数据库映射记录中出现的原始全文内容和同音代表字信息作为一条新的映射记录插入到检索数据库中,实时对检索数据库的映射记录进行扩充和完善。(三)有益效果从上述技术方案可以看出,本发明具有以下有益效果I)、本发明检索效率高;直接使用同音代表字串进行检索,避免了传统算法中对输入词的多种同音词进行循环穷举的方式。2)、本发明不依赖同音词库,不需要同音词库。由于汉语的词汇量大且组合灵活, 同音词库的建立和维护都相当耗费资源,而本发明不依赖同音词库,不需要同音词库,所以降低了资源的耗费,降低了成本。3)、本发明基于汉字总量的确定性,具扩展性,即同音字映射表可维护,且维护成本低。本发明能够同音字映射表的记录总数可控,可控指同音字表的记录规模即为汉字的总数规模,在一个可预见的范围之内,因为汉字不会凭空增加,或者增加的机率和比率很小。由于总数可控,所以对同音字映射表的维护成本较低,尤其是相对于汉语词组来讲。每天都会出现很多新词,如果采用同音词方法的话,其维护量是很大的,而字则不会,随之而来的,同音字表也更容易维护。4)、本发明能够对用户输入及资源的元数据信息进行数据挖掘,会自动添加相应记录;元数据即metadata,指资源的描述数据及其环境的数据。如题名,关键词,内容介绍,栏目名称,首播日期等。由于资源的元数据信息以及用户输入的检索关键词都需要替换成其同音代表字,因此可以发现这其中是否有些字并不在同音字映射表中,如果确实存在这样的情况,则自动将这个字插入同音字映射表中。
图I是本发明提供的实现汉语同音字检索的方法流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明提供的这种实现汉语同音字检索的方法,利用汉字总数远远低于由汉字所组成的词汇总数的特点,以汉字为中心来实现同音检索。同时,又利用了汉字读音的特点, 但又不直接使用拼音,而是将每个汉字对应一个同音代表字,这种方式保证了原始汉字信息与同音代表字信息在字符和长度都相同的特性,决定了资源的元数据信息与其同音代表字信息是等长的,为后续的检索,标红处理以及生成动态摘要都做了良好的铺垫。基于现代计算机技术,尤其是存储技术而言,即便是10万个汉字规模也不过1Mb。 其存储空间相对于对于当今的内存容量实在是九牛一毛。而相应的,对于检索系统来讲,检索效率才是最关键的。本方法的优势正是在于其检索/标红/动态摘要等操作的高效,以及低成本和高扩展性。
如图I所示,图I是本发明提供的实现汉语同音字检索的方法流程图,该方法包括步骤I :建立常用汉字与其同音代表字之间的映射关系,并按照该映射关系对检索数据库中的原始全文内容进行映射,得到由多条映射记录构成的检索数据库;步骤2 :按照该映射关系对用户输入的原始检索关键词进行映射,得到对应于该原始检索关键词的同首代表字串;步骤3 :在由多条映射记录构成的检索数据库中对该同音代表字串进行检索,得到检索结果。其中,步骤I中所述建立常用汉字与其同音代表字之间的映射关系包括以国家质量技术监督局2001年宣布的计算机汉字信息交换标准一一GB18030 (最新的GB18030共 70244个汉字)为依据,建立初始同音代表字映射表,其同音代表字可取自具有相同发音的任一个汉字,推荐使用具有相同发音的第一个字做为其同音代表字。如果国家标准有所调整,同音代表字映射表随之调整。或者,以国家语委汉字处制定的现代汉语通用字表(7000 个汉字)或以教育部目前正向社会征求意见的通用规范汉字表(8300个汉字)为依据,建立初始同音代表字映射表,其同音代表字可取自具有相同发音的任一个汉字,推荐使用具有相同发音的第一个字做为其同音代表字。这种方式的特点是初始装入的是常用汉字,总量小,检索效率高。其后续的维护可以两种途径齐头并进,既随着国家标准的调整而调整, 又可以动态的根据用户输入及资源的元数据信息进行自动扩充。原始全文内容和同音代表字信息可以保存在同一个数据库表中,此时步骤I中所述映射记录包括以下字段记录标识、原始全文内容和同音代表字信息,其中原始全文内容与同音代表字信息按照所述映射关系对应。利用同音代表字映射关系装入系统建立原始全文内容与同音代表字信息的映射记录,记录数可以为常用汉字个数,大概六千条左右。 在资源入库到系统时,利用全文及同音代表字内容同步系统对资源的所有元数据信息生成两列内容,一列为原始全文内容,按照一定的格式(可以为xml格式,也可以自定义格式) 收集所有的元数据项,同时,利用同音代表字映射表生成原始全文内容对应的同音代表字信息。所述步骤3包括以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始全文内容为检索结果。在检索系统中,为减小耦合性,还可以将原始全文内容和同音代表字信息分别保存在不同的数据库表中。需要指出的是,在同音代表字信息存储时,需要同时保存与其对应的原始全文内容的原始资源标识ID,即步骤I中所述映射记录包括以下字段记录标识、原始资源标识ID和同音代表字信息,其中原始资源标识ID与同音代表字信息按照所述映射关系一一对应,且在原始全文内容数据库表中原始资源标识ID对应于原始全文内容。所述步骤3包括以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始资源标识ID,然后根据该原始资源标识ID到原始全文内容数据库表中找到对应的记录,得到原始全文内容为检索结果。
步骤3中所述检索采用全文检索方式,该全文检索是指计算机索引程序通过扫描检索数据库中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。该方法在步骤3之后还包括得到检索结果之后,将检索结果进行标红处理和生成动态摘要,并展现给用户;其中,标红处理是指对检索结果的条目内容中的检索关键词运用红色字体突出显示;生成动态摘要是指在检索结果的条目内容中提取检索关键词的上下文连接而成的摘要。这里所述的标红处理的具体实现方式为首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置(相对同音代表字信息内容起始位置的偏移量);由于同音代表字信息是原始全文内容根据同音代表字表逐一映射而来,所以信息的总字符长度完全一样,相同位置对应的字发音也是相同的,根据同音代表字串出现的次数和位置在原始全文内容中找到对应位置 (相对原始全文内容起始位置的偏移量)即是原始检索关键词的所在位置,将其对应位置的字符使用红色突出显示,就完成了对原始全文内容的标红处理。这里所述的动态摘要的生成方法是,首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置;与该位置对应的原始全文内容的相同位置就是原始检索关键词出现的位置,将原始关键词的上下文内容取出,就生成了动态摘要。步骤2中所述按照该映射关系对用户输入的原始检索关键词进行映射之后,进一步将未在检索数据库映射记录中出现的原始全文内容和同音代表字信息作为一条新的映射记录插入到检索数据库中,实时对检索数据库的映射记录进行扩充和完善。在将关键词中的汉字替换成同音代表字的过程中,自动将未在映射表中记录的汉字插入映射表的原始汉字列中,并为这条映射记录添加待处理标志,便于后续维护处理。在将未处理的原始汉字添加其同音代表字,其方式可以是人工的,也可以是自动的。下表I示例性的描述了本发明常用汉字与其同音代表字的映射关系,左侧列表示原始汉字,右侧列表示与原始汉字对应的同音代表字。需要说明的是,该表I仅仅是一个映射示例,未列出所有的映射关系,故中间用省略号代替。
权利要求
1.一种实现汉语同音字检索的方法,其特征在于,该方法包括步骤I :建立常用汉字与其同音代表字之间的映射关系,并按照该映射关系对检索数据库中的原始全文内容进行映射,得到由多条映射记录构成的检索数据库;步骤2 :按照该映射关系对用户输入的原始检索关键词进行映射,得到对应于该原始检索关键词的同首代表字串;步骤3:在由多条映射记录构成的检索数据库中对该同音代表字串进行检索,得到检索结果。
2.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,步骤I中所述建立常用汉字与其同音代表字之间的映射关系包括以国家质量技术监督局2001年宣布的计算机汉字信息交换标准GB18030为依据,建立常用汉字与其同音代表字之间的映射关系,其中GB18030共包括70244个汉字,从具有相同发音的多个汉字中选取同音代表字。
3.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,步骤I中所述建立常用汉字与其同音代表字之间的映射关系包括以国家语委汉字处制定的包括7000个汉字的现代汉语通用字表或以教育部目前正向社会征求意见的包括8300个汉字的通用规范汉字表为依据,建立常用汉字与其同音代表字之间的映射关系,从具有相同发音的多个汉字中选取同音代表字。
4.根据权利要求2或3所述的实现汉语同音字检索的方法,其特征在于,所述在从具有相同发音的多个汉字中选取同音代表字,是选用具有相同发音的任一个字做为其同音代表字。
5.根据权利要求4所述的实现汉语同音字检索的方法,其特征在于,所述在从具有相同发音的多个汉字中选取同音代表字,是选用具有相同发音的第一个字做为其同音代表字。
6.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,所述原始全文内容和同音代表字信息保存在同一个数据库表中,步骤I中所述映射记录包括以下字段记录标识、原始全文内容和同音代表字信息,其中原始全文内容与同音代表字信息按照所述映射关系--对应。
7.根据权利要求6所述的实现汉语同音字检索的方法,其特征在于,所述步骤3包括 以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始全文内容为检索结果。
8.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,所述原始全文内容和同音代表字信息分别保存在不同的数据库表中,步骤I中所述映射记录包括以下字段记录标识、原始资源标识ID和同音代表字信息,其中原始资源标识ID与同音代表字信息按照所述映射关系一一对应,且在原始全文内容数据库表中原始资源标识ID对应于原始全文内容。
9.根据权利要求8所述的实现汉语同音字检索的方法,其特征在于,所述步骤3包括: 以该同音代表字串为检索关键词,在检索数据库映射记录的同音代表字信息字段中进行检索,检索到与该同音代表字串匹配的同音代表字信息,然后根据该匹配的同音代表字信息确定检索到的映射记录,得到该映射记录中的原始资源标识ID,然后根据该原始资源标识ID到原始全文内容数据库表中找到对应的记录,得到原始全文内容为检索结果。
10.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,步骤3中所述检索采用全文检索方式,该全文检索是指计算机索引程序通过扫描检索数据库中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。
11.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,该方法在步骤3 之后还包括得到检索结果之后,对检索结果进行标红处理和生成动态摘要,并展现给用户;其中, 标红处理是指对检索结果的条目内容中的检索关键词运用红色字体突出显示;生成动态摘要是指在检索结果的条目内容中提取检索关键词的上下文连接而成的摘要。
12.根据权利要求11所述的实现汉语同音字检索的方法,其特征在于,所述标红处理具体包括首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置,由于同音代表字信息是原始全文内容根据同音代表字表逐一映射而来,所以信息的总字符长度完全一样,相同位置对应的字发音也是相同的,根据同音代表字串出现的次数和位置在原始全文内容中找到对应位置即是原始检索关键词的所在位置,将其对应位置的字符使用红色突出显示,就完成了对原始全文内容的标红处理。
13.根据权利要求11所述的实现汉语同音字检索的方法,其特征在于,所述动态摘要的生成方法包括首先在使用同音代表字串作为检索关键词返回的检索结果的命中记录中,查找同音代表字串在同音代表字信息内容中出现的次数和位置;与该位置对应的原始全文内容的相同位置就是原始检索关键词出现的位置,将原始关键词前后的上下文内容取出,就生成了动态摘要。
14.根据权利要求I所述的实现汉语同音字检索的方法,其特征在于,步骤2中所述按照该映射关系对用户输入的原始检索关键词进行映射之后,进一步将未在检索数据库映射记录中出现的原始全文内容和同音代表字信息作为一条新的映射记录插入到检索数据库中,实时对检索数据库的映射记录进行扩充和完善。
全文摘要
本发明公开了一种实现汉语同音字检索的方法,该方法包括步骤1建立常用汉字与其同音代表字之间的映射关系,并按照该映射关系对检索数据库中的原始全文内容进行映射,得到由多条映射记录构成的检索数据库;步骤2按照该映射关系对用户输入的原始检索关键词进行映射,得到对应于该原始检索关键词的同音代表字串;步骤3在由多条映射记录构成的检索数据库中对该同音代表字串进行检索,得到检索结果。本发明直接使用同音代表字串进行检索,避免了传统算法中对输入词的多种同音词进行循环穷举的方式,检索效率高。另外,本发明不依赖同音词库,不需要同音词库,降低了资源的耗费,降低了成本。
文档编号G06F17/30GK102609455SQ201210008298
公开日2012年7月25日 申请日期2012年1月12日 优先权日2012年1月12日
发明者周海滨, 崔玉祥, 王杰中, 邹娟 申请人:北京中科大洋科技发展股份有限公司