信息存储及检索方法

文档序号:6574224阅读:245来源:国知局
专利名称:信息存储及检索方法
技术领域
本发明涉及中文信息的存储及检索领域,尤指一种信息存储及4t索方法。
技术背景随着信息化时代的到来和皿步伐的不断加快,中文信息检索技术也已逐步渗 透到人们的日常生活、工作和学习中,对中文信息检索技术的检索性能和质量^ 出了更高的要求。所述中文信息检索指在由中文数据构成的文档集内查询或者4全索 符合查询条件的文档对象。20世纪80年代中期以后,由于计算机处理能力的大大提高和使用的逐步普及, 中文信息检索技术的研究i^v—个决速M的黄金期,各种中文信息索引方法、检 索算法以及实用化系统不断涌现,各种基于中文信息检索技术的商用产品也纷纷出 现。如,文;M^索技术,改进和应用了当前较为^/f亍的三种信息信息检索模型布 尔模型、概率才莫型和向量空间才莫型。TRS (拓尔思),从1994年开始就推出文^M企 索系统TRS 1.0,经过多年的研究与改进,如今已经M到第四代产品(基于自然 语言处理的知识4全索)。在上世纪80年代中叶,少数研究人员开始研究中文信息检索技术的另一分支 一一M检索;同时,ttPDA、手机、触4緣等移动终端的广泛应用,JJ1些设 备也不便于用户快速输入信息,为此"汉字拼音首字母检索法,,也就应运而生。2001 年,#^首字#^索法首先出现于期刊上],经过几年的研究与n,不断提出了各 种才^l"检索法形序排检法、音序排检法、iJI或分类排检法、时序或地序排检法等。上述各种##检索法,都可保证"输入尽可能少的信息即可查询到中文信息" 的能力,但在中文数据信息数据量比较庞大的情况下,就会出现"返回符合检索条 件的中文数据信息过多,而往往不是用户真实需要的,无法4呆证快速、准确的给用 户返回目标结杲"。发明内容本发明要解决的问题是提供一种能够快速准确地逸回目标结果的基于中文语义 的信息存储及检索方法。为了解决上述问题,本发明基于中文语义的信息存储方法的技术方案包括将中文数据及将其经过分词处理后荻得的单词的拼音首字母序列存入中文数据 基本信息索引文件内;4鋒条中文数据的标i口A其在所述中文数据^So^信息索引文件中的位置信息存 入中文数据信息二级索引文件内;将所述单词在所述中文数据_^^信息索引文件内的所属的中文数据标识^所 述中文数据记录内的位置存入单词#|~索$I文件内,所述单词^^索$I将首字母相 同的单词的相关信息连续存放在同 一数据簇内;将以每个字母为开头的数据蔟在所迷单词4絲索引文件内的位置存入单词4转 二级索引文件。中文数据基本信息索引文件内进一步包括步骤 对中文数据进行分词处理以获得若干单词; 获取每个单词的拼音首字母;将所述中文数据及其对应的若干单词的拼音首字母序列存入中文数据J^M言息 索引文件内。所述步骤获取每个单词的拼音首字母进一步包括步骤 获取每个单词内所有汉字的汉字码;从汉语4转字符串中抽析出每个4絲的首字母。相应地,本发明基于中文语义的信息检索方法的技术方案包括Al)接收检索字母;A2)判断所述检索字母是否是第一个字母,执行步骤A3),否则执行A7); 数据簇在单词4絲索引文件内的位置;词所属的中文数据标识以及所述单词在所属的中文数据内的位置;A5 )才艮据所述中文数据标识从中文数据二级索引文件内获得其对应的中文数据 记录在中文数据索^I文件内的位置;A6)根据中文数据记絲中文数据索引内的位置取出所述中文数据记录,并与所述中文数据标识以及单词在中文数据内的位置共同构成记录结果集,执行步骤Al);A7)将所述检索字母依次与记录结果集中的单词脊奩首字母比较,将不包含所 述检索字母的记^/人所述记录结果集中删除,^丸行步骤Al )。 步骤A4)进一步包括步骤A41 )判断起始位置是否小于终止位置,若是执行步骤A42);否则执行步骤 A5 );A42)从单词#^"索引中取出所ii^始位置处的中文数据标识以及所述单词在 所属的中文数据内的位置;A43)移动起始位置使其指向下一个中文数据标识,执行步骤A41 )。 与现有技料目比,本发明信息存储及检索方法的有益效果为据及其所分得的若干单词的拼音首字母的对应关系,卩吏得用户输入4并音首字母这样 的检索字,就能够在海量的中文数据集内快速、准确定位和查询中文数据的功能。由于是利用中文分词技彰于中文数据进行分词处理以获取若干单词,且每个单 词都具有自身含义,则对中文数据进行分词处理,1^l罕析中文数据的l^语义,因此,就能够基于中文数据的基本语义查询中文数据。单词信息为^i构建单词拼音索引,则遵照本发明信息检索方法,就能够实现Jfi司 检索的功能。


图1是本发明信息存储方法的^f呈图; 图2是图1中步骤1)进一步细分的力i^呈图; 图3是图2中步骤12)进一步细分的;^^呈图; 图4是中文数据基本信息索Si的示意图; 图5是中文数据^i^M言息二级索引的示意图;图6是单词4牛奮索引的示意图;图7是单词^f^"二级索引的示意图;图8是本发明信息检索方法的力^呈图;图9是图8中步骤A4)进一步细分的^^呈图。
具体实施方式
如图1所示,本发明信息存储方法包括下述步骤据^^信息索引文件内,所述拼音首字母指每个汉字所对应的汉语拼音的第一个字母;2 )#^条中文数据的标识及其在所述中文数据^^信息索引文件中的位置信息 存入中文数据基本信息二级索引文件内;3 寻所述单词在所述中文数据I^4言息索弓I文件内的所属的中文数据标识^t 所述中文数才射己录内的位置存入单词^"l"索引文件内,所述单词^H"索引将首字母 相同的单词的相关信息连续存放在同 一数据簇内;4 夸以每个字母为开头的数据簇在所述单词#^索引文件内的位置存入单词4丼 音二级索引文件。其中,如图2所示,所述步骤1)进一步包括步骤11) 对中文数据进行分词处理以获得若干单词;12) 获取每个单词的4牛奮首字母;信息索引文件内。进一步地,如图3所示,所述12 )还可包括步骤 121 )获取每个单词内所有汉字的汉字码;122) 在简体中文字符码表内根据所述汉字码获取其对应的汉语拼音;123) 从汉语#^字符串中抽析出每个#^的首字母。述中文数据不是简单的由多个单字构成,而是由若千单字所组成一个个具有特定含 义的单词共同构成的,也就是说,整条中文数据的语义是由其内部所包含的单词的含义来共同表达的。对中文数据i^f亍分词处理以获得若干单词,中文分词^支术目前已相当成熟,可 采用正向/逆向最大匹S己词典分词法,即在所构建的含有丰富且全面单词的词典的基 础上,按照一定的字符串匹配与词频统计策略,将待分词的中文数据与词典内词条 进行逐一、快速的匹配并进行词频统计,由此可从中文数据内分析出若干相对独立 且具有自身含义的单词。例如,中文数据北京市海淀区人民法院,采用正向最大匹配分词法对其进行 分词处理,即将中文汉字串"北京市海淀区人民法院"与词典内的单词进行快速匹 配,并对匹配成功的单词出现次数进行统计,以选出词频相对较高的单词,本例得 到了四个独立的单词"北京市"、"海淀区"、"人民,,和"法院"。这四个单词本身就具有含义,并且也能够表达和代表中文数据"北京市海淀区人民法院,,的部分含 义。取得了若干单词后,下面就是获取单词的拼音首字母。可运用汉字-拼音自动转 换技术,所述汉字一并音自动转换技术是一种将汉字自动转换为与^目对应的摘音的 技术。首先获取单词内每个汉字的汉字码,例如单词"北京市","北"的汉字码为 "B1B1"、"京"的汉字石马为"BEA9"和"市"的汉字石马为"CADO"。 4妄着才艮据简 体中文字符码表(GB2312)内汉字编码与汉语4转之间的映射关系,例如汉字码 "B1B1"在简体中文字符码内对应的汉语4传为"bei",汉字码"BEA9"对应的 汉语拼音为"jing",汉字码为"CAD0"对应的汉语4转为"shi"。因此,汉字"北,, 的4rt为"bei,,,汉字"京,,的##为"jing,,,汉字"市,,的4传为"shi"。根据每 个汉字的拼音,抽析出每个拼音的首字母,分别为"B,,和"J"和"S",所以单词 "北京市"的M首字母序列为"BJS"。同理,可获得其他三个单词的拼音首字母 序列分别为"HDQ"、 "RM"和"FY"。获得了单词的4并音首字母后,将该中文数据及其相应的单词的祸音首字母序列 存入中文数据^S^^信息索引文件内作为一条中文数据记录,如图4所示,为(北京 市海淀区人民法院VBJS, HDQ, RM, FYV )。对于中文^t据^^信息索51可用下ii^示 Basiclnfolndex <CHARS object, 'V,, CHARS spell, 'V >其中object—一字符串型,即中文数据记^^"象的主题内容;spell——字符串型,即中文数据对象object所对应汉语拼音首字母序列。接下来,步骤2) #^条中文数据的标识及其在所述中文数据^4^言息索引文 件中的位置信息存入中文数据^4言息二级索引文件内。每个中文数据都具有一个唯一标识,例如本例"北京市海淀区人民法院,,的标识是1384。在中文数据^!4v信息二级索引文件中,通过中文数据标识与该中文数据标识所代表的中文数据在中文 数据1^^信息索引文件中的位置的一一对应关系,在中文凄t据l^信息二级索? 1文件中存放中文数据在中文数据1^M言息索引文件中的偏移量,如图5所示,其中, 5447是(北京市海淀区人民法院VBJS, HDQ, RM. FYV)在中文数据^^信息索引 文件中的偏移量。对于中文数据基本信息二级索? 1可用下i^4示SuperlndexForBasicInfo <INT data—id, INT offset〉 其中data—id_—整数型,即某一中文数据记录的标识;offset——整数型,即某一中文数据记录对象object的基本信息在索引 Basiclnfolndex中的起始位置偏移量。步骤3)将所述单词在所述中文数据I^4言息索引内的所属的中文数据标i尸v^ 在所述中文数据记录内的位置存入单词4传索引文件内,所述单词#^索引将首字 母相同的单词的相关信息连续存放在同一数据簇内。该步骤是对中文数据进行分词 处理后得到的单词的进一步处理。例如单词"北京市"、"海淀区"、"人民,,和"法 院"的祸音首字母分别为BJS, HDQ, RM和FY,由于它们所属的中文数据的标识是 1384,它们在该中文数据记录内的起始偏移位置分别为0、 3、6和8。因此BJS, HDQ, RM和FY分别对应四个4絲索引信息,<1384, 0>, <1384, 3>, <1384, 6>和<1384, 8>,将这四个4传索引信息分别存入以字母"B", "H,,, "R,,和"F,,开头的数据 簇内。对于单词拼音索引可用下述表示 SpelllndexForWord <INT data一id, BYTE pos>其中data—id—一整数型,即单词所属中文数据记录的标识; pos—一字节型,即单词在所属中文数据记录内的起始位置。 由于在单词拼音索引文件中是以26个字母(A, B, C,..., X, Y, Z)来分成26个 数据簇,那么步骤4)将以每个字母为开头的数据簇在所述单词4传索引文件内的位置存入单词^f"二级索引文件,也才>^^在单词拼音二级索引文件中存放以每个字母开头的数据蔟在单词拼音索引文件中的位置。如图6所示,其中,以A开头的数 据簇的起始偏移位置为O,以B开头的凄史据簇的起始偏移位置为7657,以C开头的 数据簇的起始偏移位置为59334,......,以Z开头的数据簇的起始偏移位置为784509。对于单词M二级索? I可用下述表示 SuperlndexForSpdl <INT offset〉 其中offset——整数型,即索引SpellIndexForWord内以某一字母开头的数据簇在"单 词4传索引"文件内的起始位置偏移量。由于上面建立了拼音首字母与中文数据及其分词所得的若干单词的对应关系, 因此,通过输入拼音首字母序列能够快速查找到其所对应的中文数据。相应地,如图8所示,本发明基于中文语义的信息检索方法包括步骤Al)接收检索字母;A2)判断所述检索字母是否是第一个字母,执行步骤A3),否则执行A7);数据簇在单词^^索引文件内的位置;A4 )才緣所述位置^^斤述单词##索引文件内获得所有以所述检索字母为开头 的单词所属的中文凄史据标识以及所述单词在所属的中文数据内的位置;A5 )才M居所述中文数据标i^人中文数据二级索引文件内获得其对应的中文数据 记录在中文数据索引文件内的位置;A6)根据中文数据记絲中文数据索引文件内的位置处取出所述中文数据记 录,并与所述中文数据唯一标识以及单词在中文数据内的位置共同构成记录结果集, 执行步骤A1);A7)将所述检索字母依次与记录结果集中的单词桥f"首字母比较,将不包含所 述检索字母的记录从所述记录结果集中删除,执行步骤A1 )。 其中,如图9所示,步骤A4)进一步包括步骤A41)判断起始位置是否小于终止位置,若是执行步骤A42);否则执行步骤 A5 );A42)从单词4情索引中取出所i^始位置处的中文数据标识以及所述单词在10所属的中文数据内的位置;A43)移动起始位置使其指向下一个中文数据标识,执行步骤A41)。例如,对于检索词为"BJ",即输入字母序列"BJ"来查找"北京市海淀区人民法院"。首先,先接4ti)j字母"B",并且判断是第一个字母,那么执行步骤A3)从单 词#^二级索引文件中获得以所述检索字母为开头的单词#^索引的数据簇在单词4传索引文件内的位置;对于本例,从单词4传二级索引文件可知字母B在单词拼 音索引内的起始偏移位置为7657,终止位置为59334。设<9#《:〃 =7657,且 =59334。比较H值Q^"f和0炎"C〃的大小,若o炎";"k。i^C〃则查找过程结束,进 入步骤A5),在单词拼音索引文件的偏移量Q^C位置处读取一条拼音索引信息 ^e〃i"cfex〈^im—W,/>m> (ito。 —,j为该条^F争索引所属的中文数据标识,; a 为该 拼音串在所属的中文数据内的起始位置),同时 c#w《:'〃+ = wzeo/(/AT) +wzeo/(5K7^) , poj = / w十1 。将所有的以字母B开头的4传索引记录读出,从中可知所有以字母B开头的单词所属的中文数据标识,其中有一 条拼奮索引记录为印e/Z!Wex〈1348,0〉, 1384是中文数据"北京市海淀区人民法院" 的标识。下面4W亍步骤A5),根据上述步骤获得的中文数据标识W,从索引文件"中文数据^i^"信息二级索引,,内获取标识为如"—W的中文数据在中文数据基本 信息索引文件内的偏移位置0#"=^。其中,标识为1348的中文数据记tt中文 数据^^f言息索引文件内的偏移位置o#"=—w的值为5447—一是中文数据"北京市 海淀区人民法院"在中文数据基本信息索弓1文件内的偏移位置;获得了所有的偏移位置后,根据偏移位置,耳又出这些偏移位置所对应的所有中 文数据记录,并与所述中文数据唯一标识以及单词在中文数据内的位置共同构成记 录结果集。设,在索引文件"中文数据#信息索引"中的偏移位置咖"=%处读 取一条中文数据记录为6咖c/w/o',。,u w < *e〃 > '并与拼音索?I 5pe〃/"t^构成记录结果集^to〈必to —W,o^",^e//,/^>。在本例中,记录结果集中有一 知己录为ctoto 〈1348;北京市海淀区人民法院;BJS,HDQ,RM,FY;0〉。得到记录结果話,^/f亍步骤Al )接收检索字母,本例中接收的是第二个检 索字母"J,,,然后执行步骤A7)将所述检索字母依次与记录结果集中的单词拼音首字母比较,将不包含所述检索字母的记录/A^斤述记录结果集中删除。也就是,依次 读耳又记录结杲集&to <ttoa —W,otyec,jpe〃,p(w >中的记录,将字母"J,,依次与该记 录内的4转首字母进行比较,若不存在,删除该ttoa录。tt4金索字母的输入,在记录结果集中的记录的数量^来越少,也就是说, 用户输入的检索字母越多,越能精确返回获取结果记录。另外,本发明基于中文语义的信息^f诸及检索方法还能实i彭^司检索的功能, 所述^ti司检索,就是在信息检索过程中,不要求输入的检索字母(即拼音首字母序 列)的具体内#相邻关系与目标数据完全相符,即输入的检索字母序列在某条目 标4t据中不强制连续且j夸越若干个具有自身语义的单词,也可检索到该条目标教据。例如,用户输入"HDQRMFY",遵照本发明信息检索方法,可冲企索到中文数据"北 京市海淀区人民法院";输入"HDQFY",也可检索到中文数据"北京市海淀区人 民法院";同样,输入"SLGHYJYSLYJS"可检索到中文数据"北京市水利规划设 计研究院水利考+学研究所"。综上所述,本发明信息^f诸及检索方法,是以中文数据及其所分得的若干单词 的拼音首字母为勤出的,通过中文数据及其所分得的若干单词的祸音首字母的对应关系,使得用户输入^"^首字母这样的检索字,就能够在海量的中文数据集内快速、 准确定位和查询中文数据的功能。
权利要求
1. 一种信息存储方法,其特征在于,包括下述步骤将中文数据及将其经过分词处理后获得的单词的拼音首字母序列存入中文数据基本信息索引文件内;将每条中文数据的标识及其在所述中文数据基本信息索引文件中的位置信息存入中文数据基本信息二级索引文件内;将所述单词在所述中文数据基本信息索引文件内的所属的中文数据标识及在所述中文数据记录内的位置存入单词拼音索引文件内,所述单词拼音索引将首字母相同的单词的相关信息连续存放在同一数据簇内;将以每个字母为开头的数据簇在所述单词拼音索引文件内的位置存入单词拼音二级索引文件。
2、 如权利要求1所述的信息^f诸方法,其特4i^于,所述步骤将中文数据及内进一步包括步骤对中文数据进行分词处理以获得若千单词; 获取每个单词的祠音首字母;索引文件内。
3、 如权利要求1或者2所述的信息存储方法,其特征在于,所述步骤获取每个单词的拼音首字母进一步包括步骤 获取每个单词内所有汉字的汉字码;在简体中文字符码表内根据所述汉字码获取其对应的汉语4絲; 从汉语#^字符串中抽析出每个^f^的首字母。
4、 基于权利要求1或者2或者3所述的信息存储方法的信息检索方法,其特 征在于,包括步骤Al )接收检索字母;A2)判断所述检索字母是否是第一个字母,执行步骤A3),否则执行A7);数据蔟在单词M索引文件内的位置;A4 )根据所述位置/W斤述单词4情索引内获得所有以所述检索字母为开头的单 词所属的中文凄t据标识以及所述单词在所属的中文数据内的位置;A5 )根据所述中文数据标识从中文数据二级索引文件内获得其对应的中文数据记#中文数据索引文件内的位置;A6)根据中文数据记tt中文数据索引内的位置取出所述中文数据记录,并与 所述中文数据标识以及单词在中文数据内的位置共同构成记录结果集,执行步骤 Al );A7)将所述检索字母依次与记录结果集中的单词拼音首字母比较,将不包含所 述检索字母的记^/人所述记录结果集中删除,执行步骤A1 )。
5、如权利要求4所述的信息检索方法,其特;f正在于,步骤A4)进一步包括步骤A41)判断起始位置是否小于终止位置,若是执行步骤A42);否则执行步骤 A5 );A42)从单词^"f索引中取出所#始位置处的中文数据标识以及所述单词在 所属的中文数据内的位置;A43)移动起始位置使其指向下一个中文数据标识,执行步骤A41 )。
全文摘要
本发明公开一种信息存储及检索方法包括将中文数据及将其经过分词处理后获得的单词的拼音首字母序列存入中文数据基本信息索引文件内;将标识及位置信息存入中文数据基本信息二级索引文件内;将所述单词所属的中文数据标识及在所述中文数据记录内的位置存入单词拼音索引文件内;将以每个字母为开头的数据簇在所述单词拼音索引文件内的位置存入单词拼音二级索引文件。本发明还公开一种信息检索方法包括接收检索字母;中文数据基本信息索引文件、中文数据基本信息二级索引文件、单词拼音索引文件以及单词拼音二级索引文件之间的对应关系获得结果。采用本发明信息存储及检索方法能够快速、准确地定位查询目标而且能够实现跨词检索的功能。
文档编号G06F17/30GK101246478SQ20071007983
公开日2008年8月20日 申请日期2007年2月14日 优先权日2007年2月14日
发明者吴跃进, 姜德荣, 董振宁 申请人:高德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1