首页> 中国专利> 中文信息检索方法、中文信息检索引擎及嵌入式终端

中文信息检索方法、中文信息检索引擎及嵌入式终端

摘要

本发明实施例提供了一种中文信息检索方法、中文信息检索引擎及嵌入式终端。所述方法包括:接收检索关键字的全拼组合,从全拼组合中提取声母的首字母及韵母;在预置的二级检索索引集中,检索首字母对应的起始偏移量;在一级检索索引集中起始偏移量对应的位置开始,检索首字母和韵母构成的拼音对应的起始偏移量和终止偏移量;从预置的检索索引集中,读取起始偏移量到终止偏移量之间的全拼索引记录;判断检索关键字的全拼组合与目标中文信息全拼组合序列中的第一个全拼组合是否相同,如果相同,则根据目标中文信息偏移量,从预置的目标中文信息索引集中,检索目标中文信息。本发明提供的检索技术能够从海量目标中文信息中快速准确检索目标中文信息。

著录项

  • 公开/公告号CN102033891A

    专利类型发明专利

  • 公开/公告日2011-04-27

    原文格式PDF

  • 申请/专利权人 高德软件有限公司;

    申请/专利号CN200910235592.4

  • 发明设计人 吴跃进;

    申请日2009-09-29

  • 分类号G06F17/30(20060101);

  • 代理机构

  • 代理人

  • 地址 100080 北京市海淀区苏州街三号大恒科技大厦南座18层

  • 入库时间 2023-12-18 02:05:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-02

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20200513 变更前: 变更后: 申请日:20090929

    专利申请权、专利权的转移

  • 2013-06-05

    授权

    授权

  • 2012-07-18

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20090929

    实质审查的生效

  • 2011-04-27

    公开

    公开

说明书

技术领域

本发明涉及信息检索技术领域,尤其涉及一种中文信息检索方法、中文信息检索引擎及嵌入式终端。

背景技术

随着信息化时代的到来和发展步伐的不断加快,形成了大量的中文信息,人们在日常工作、生活、学习中不得不经常面临如何从海量中文信息中,找到有用信息的问题。

为了解决上述问题,科研人员提出了各种中文信息检索技术,目前,常用的中文信息检索技术包括:文本检索技术,该技术改进和应用了三种流行的检索模型:布尔模型、概率模型和向量空间模型。

发明人在对现有中文信息检索技术进行研究和实践过程中,发现现有中文信息检索技术,要么在中文信息资源比较庞大的情况下,检索速度缓慢,检索的目标中文信息中有很大一部分不是用户真实需要的,要么在输入检索信息较少情况下,不具备检索到目标中文信息的能力。因此,亟需提出一种能够从海量中文信息中快速检索目标中文信息的中文信息检索技术。

发明内容

本发明实施例要解决的技术问题是提供一种中文信息检索方法、中文信息检索引擎及嵌入式终端,能够从海量目标中文信息中快速检索目标中文信息。

为解决上述技术问题,本发明的目的是通过以下技术方案实现的:

本发明实施例提供了一种中文信息检索方法,所述方法包括:

接收检索关键字的全拼组合,若所述全拼组合是接收的第一个全拼组合,则

从所述全拼组合中提取声母的首字母及韵母;

在预置的二级检索索引集中,检索所述首字母对应的起始偏移量;

在一级检索索引集中所述起始偏移量对应的位置开始,检索所述首字母和韵母构成的拼音对应的起始偏移量和终止偏移量;

从预置的检索索引集中,读取所述起始偏移量到终止偏移量之间的全拼索引记录,每条全拼索引记录包括:目标中文信息全拼组合序列及目标中文信息偏移量;

判断所述检索关键字的全拼组合与目标中文信息全拼组合序列中的第一个全拼组合是否相同,如果相同,则

根据所述目标中文信息偏移量,从预置的目标中文信息索引集中,检索目标中文信息。

优选地,上述方法进一步包括:

将检索到的目标中文信息及目标中文信息全拼组合序列作为一条检索结果,添加到第一检索结果集中。

优选地,若所述全拼组合是第i个全拼组合,则上述方法进一步包括:

从第i-1检索结果集的检索结果中,读取目标中文信息全拼组合序列;

若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的结尾,则

判断第i个全拼组合与目标中文信息全拼组合序列中第j+1个分词的第一个全拼组合序列是否相同,如果相同,则将所述检索结果添加到第i检索结果集中;

其中,i为大于等于2的自然数,j为大于等于1的自然数。

优选地,若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的第k个全拼组合,则上述方法进一步包括:

判断第i个全拼组合与第j个分词中第k+1个全拼组合是否相同,如果相同,则将所述检索结果添加到第i检索结果集中。

优选地,上述方法进一步包括:

从目标中文信息索引集中,读取目标中文信息,对所述目标中文信息进行分词,获得n个分词;

解析构成目标中文信息每个汉字的拼音,获取所述拼音的全拼组合;

按照分词结果,对拼音的全拼组合进行排列组合,得到n条全拼组合序列,n为大于等于1的自然数;

获取所述目标中文信息在目标中文信息索引集中的偏移量;

将所述偏移量分别与n条全拼组合序列进行组合,得到n条全拼索引记录;

将所述n条全拼索引记录存入全拼组合序列中首个全拼组合对应的拼音在检索索引集中对应的数据簇内;其中,n是大于等于1的自然数。

本发明实施例还提供了一种中文信息检索引擎,所述引擎包括:

全拼组合接收单元,用于接收检索关键字的全拼组合;

接收信息记录单元,用于判断所述全拼组合接收单元接收的全拼组合是否为第一个全拼组合,如果是,则触发字母提取单元;

字母提取单元,用于从所述全拼组合中提取所述检索关键字对应拼音的声母的首字母及韵母;

一级索引偏移量检索单元,用于在预置的二级检索索引集中,检索所述首字母对应的起始偏移量;

索引偏移量检索单元,用于在一级检索索引集中所述起始偏移量对应的位置开始,检索所述首字母和韵母构成的拼音对应的起始偏移量和终止偏移量;

全拼索引记录读取单元,用于从预置的检索索引集中,读取所述起始偏移量到终止偏移量之间的全拼索引记录,每条全拼索引记录包括:目标中文信息全拼组合序列及目标中文信息偏移量;

全拼组合匹配单元,用于判断所述检索关键字的全拼组合与目标中文信息全拼组合序列中的第一个全拼组合是否相同,如果相同,则触发目标信息第一检索单元;

目标信息第一检索单元,用于根据所述目标中文信息偏移量,从预置的目标中文信息索引集中,检索目标中文信息。

优选地,上述引擎进一步包括:

检索结果保存单元,用于将检索到的目标中文信息及目标中文信息全拼组合序列作为一条检索结果,添加到第一检索结果集中。

优选地,上述引擎进一步包括:全拼组合序列读取单元,目标信息第二检索单元;

所述接收信息记录单元,若判断所述全拼组合接收单元接收的全拼组合是第i个全拼组合,则触发所述全拼组合序列读取单元;

全拼组合序列读取单元,用于从第i-1检索结果集的检索结果中,读取目标中文信息全拼组合序列;

全拼组合位置判断单元,用于判断第i-1个全拼组合在所述目标中文信息全拼组合序列中的位置,若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的结尾,则触发所述目标信息第二检索单元;

所述目标信息第二检索单元,用于判断第i个全拼组合与目标中文信息全拼组合序列中第j+1个分词的第一个全拼组合序列是否相同,如果相同,则将所述检索结果添加到第i检索结果集中;

其中,i为大于等于2的自然数,j为大于等于1的自然数。

优选地,上述引擎进一步包括:目标信息第三检索单元;

所属全拼组合位置判断单元,若判断得到第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的第k个全拼组合,则触发所述目标信息第三检索单元;

所述目标信息第三检索单元,用于判断第i个全拼组合与第j个分词中第k+1个全拼组合是否相同,如果相同,则将所述检索结果添加到第i检索结果集中;其中,k为大于等于1的自然数。

本发明实施例还提供了一种嵌入式终端包括前文所述任意一种中文信息检索引擎。

上述技术方案具有如下有益效果:

本发明实施例提供了一种中文信息检索技术,该检索技术以预先构建的4种检索索引:目标中文信息索引集,检索索引,一级检索索引及二级检索索引,作为目标中文信息的检索基础,实现了从海量目标中文信息中快速检索目标中文信息。

附图说明

图1为本发明实施例一提供的中文信息检索方法流程图;

图2为本发明实施例二提供的中文信息检索方法流程图;

图3为本发明实施例提供的检索索引集的构建方法流程图;

图4为本发明实施例提供的中文信息检索引擎的组成示意图。

具体实施方式

为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下首先对本发明提供的技术方案采用的技术术语进行介绍。

第一、全拼组合。一个汉字的读音(或拼音)是由“声母+韵母”共同组成的,本发明所称全拼组合是指“声母”和“韵母”的组合,不过全拼组合中的“声母”和“韵母”均被赋予了新的对应值(或宏定义)。

请参见汉字声母表1,该表记录了23个声母的对应值和数值,表1所示对应值及数值仅为一种举例,不应视为对本发明的限制。

  声母  对应值  数值  b  MAPABC_HANDLE_KEY_VOICE_B  1  m  MAPABC_HANDLE_KEY_VOICE_M  2  d  MAPABC_HANDLE_KEY_VOICE_D  3  n  MAPABC_HANDLE_KEY_VOICE_N  4  g  MAPABC_HANDLE_KEY_VOICE_G  5  h  MAPABC_HANDLE_KEY_VOICE_H  6  q  MAPABC_HANDLE_KEY_VOICE_Q  7  zh  MAPABC_HANDLE_KEY_VOICE_ZH  8  sh  MAPABC_HANDLE_KEY_VOICE_SH  9  z  MAPABC_HANDLE_KEY_VOICE_Z  10  s  MAPABC_HANDLE_KEY_VOICE_S  11  y  MAPABC_HANDLE_KEY_VOICE_Y  12  p  MAPABC_HANDLE_KEY_VOICE_P  13  f  MAPABC_HANDLE_KEY_VOICE_F  14  t  MAPABC_HANDLE_KEY_VOICE_T  15  l  MAPABC_HANDLE_KEY_VOICE_L  16  k  MAPABC_HANDLE_KEY_VOICE_K  17  j  MAPABC_HANDLE_KEY_VOICE_J  18  x  MAPABC_HANDLE_KEY_VOICE_X  19  ch  MAPABC_HANDLE_KEY_VOICE_CH  20  r  MAPABC_HANDLE_KEY_VOICE_R  21  c  MAPABC_HANDLE_KEY_VOICE_C  22

  w  MAPABC_HANDLE_KEY_VOICE_W  23

表1汉字声母表

请参见汉字韵母表2,该表记录了34个韵母的对应值和数值,表2所示对应值及数值仅为一种举例,不应视为对本发明的限制。

  韵母  对应值  数值  a  MAPABC_HANDLE_KEY_RHYME_A  33  e  MAPABC_HANDLE_KEY_RHYME_E  34  u  MAPABC_HANDLE_KEY_RHYME_U  35ai  MAPABC_HANDLE_KEY_RHYME_AI  36  an  MAPABC_HANDLE_KEY_RHYME_AN  37ei  MAPABC_HANDLE_KEY_RHYME_EI  38  uo  MAPABC_HANDLE_KEY_RHYME_UO  39ia  MAPABC_HANDLE_KEY_RHYME_IA  40  ua  MAPABC_HANDLE_KEY_RHYME_UA  41ui  MAPABC_HANDLE_KEY_RHYME_UI  42in  MAPABC_HANDLE_KEY_RHYME_IN  43  ian  MAPABC_HANDLE_KEY_RHYME_IAN  44  ang  MAPABC_HANDLE_KEY_RHYME_ANG  45  eng  MAPABC_HANDLE_KEY_RHYME_ENG  46  uai  MAPABC_HANDLE_KEY_RHYME_UAI  47

  iang  MAPABC_HANDLE_KEY_RHYME_IANG  48  iong  MAPABC_HANDLE_KEY_RHYME_IONG  49  o  MAPABC_HANDLE_KEY_RHYME_O  50i  MAPABC_HANDLE_KEY_RHYME_I  51  v  MAPABC_HANDLE_KEY_RHYME_V  52  ao  MAPABC_HANDLE_KEY_RHYME_AO  53  en  MAPABC_HANDLE_KEY_RHYME_EN  54  ue  MAPABC_HANDLE_KEY_RHYME_UE  55  ve  MAPABC_HANDLE_KEY_RHYME_VE  56ie  MAPABC_HANDLE_KEY_RHYME_IE  57  un  MAPABC_HANDLE_KEY_RHYME_UN  58  ou  MAPABC_HANDLE_KEY_RHYME_OU  59iu  MAPABC_HANDLE_KEY_RHYME_IU  60  ong  MAFABC_HANDLE_KEY_RHYME_ONG  61  er  MAPABC_HANDLE_KEY_RHYME_ER  62  ing  MAPABC_HANDLE_KEY_RHYME_ING  63  iao  MAPABC_HANDLE_KEY_RHYME_IAO  64  uang  MAPABC_HANDLE_KEY_RHYME_UANG  65

表2汉字韵母表

例如,汉字“北”的拼音为“bei”,它的声母是“b”,在表1所示汉字声母表中,对应值为MAPABC_HANDLE_KEY_VOICE_B,数值为1,韵母为“ei”,在表2所示汉字韵母表中,对应值为MAPABC_HANDLE_KEY_RHYME_EI,数值为38,“bei”对应的全拼组合为:

[MAPABC_HANDLE_KEY_VOICE_B,MAPABC_HANDLE_KEY_RHYME_EI],需要注意的是,在实际程序处理过程中,是以[1,38]作为“bei”的全拼组合进行处理。本发明实施例中,以对应值构成的全拼组合为例进行介绍是为了更直观地介绍本发明实施例提供的中文信息检索技术,实际实现过程中,采用表1和2中声母和韵母对应的数值构成全拼组合。

此外,以下三种情况的全拼组合需要注意:

(1)在汉语中,有一些汉字的拼音只有韵母而没有声母(例如,爱,它的拼音为“ai”,该拼音没有声母)。针对这种“只有韵母没有声母”的情况,本发明实施例提供的解决方案是:用韵母的首字母作为声母。

例如,汉字“爱”的拼音为“ai”,韵母的首字母为“a”,它的全拼组合为:

[MAPABC_HANDLE_KEY_VOCIE_A,MAPABC_HANDLE_KEY_RHYME_AI]。

(2)英文字母(a~z,A~Z),在本发明实施例中,将英文字母作为声母,韵母赋为空值(MAPABC_HANDLE_KEY_RHYME_NONE)。

例如,英文字母“A”,它的全拼组合为:

[MAPABC_HANDLE_KEY_VOICE_A,MAPABC_HANDLE_KEY_RHYME_NONE]。

(3)数字(0~9),在本发明实施例中,数字需要先处理成其所对应的读音(拼音),例如,1的读音为“1”,9的读音为“jiu”等,再将其读音转换为全拼组合。

例如,数字“1”的全拼组合为:

[MAPABC_HANDLE_KEY_VOICE_Y,MAPABC_HANDLE_KEY_RHYME_I]。

第二、目标中文信息索引集,用于保存目标中文信息。

第三、检索索引集,用于保存全拼索引记录,每条全拼索引记录包括:目标中文信息全拼组合序列及目标中文信息在目标中文信息索引集中的位置(目标中文信息偏移量)。

在检索索引集内,按照目标中文全拼组合序列中第一个全拼组合对应的拼音(目标中文信息首字的拼音),对全拼索引记录排序,并集中、簇集存放。

比如,按照“a”、“ai”、“ang”......“ba”、“bai”、“ban”的顺序,存放全拼索引记录。假设目标中文信息为“北京大学”,它的全拼索引记录为wordindex<[1,38][18,63];[3,33][19,5],1430,0>,这条全拼索引记录保存在“bei”对应的数据簇内,其中,[1,38][18,63];[3,33][19,5]是“北京大学”的全拼组合序列,1430是“北京大学”在目标中文信息索引集集中的偏移量,“北京大学”由两个分词“北京”和“大学”构成,用“分号;”将这两个分词全拼组合在全拼索引组合序列中分隔开,即用“分号;”表示目标中文信息的分词信息。

第四、一级检索索引集,用于保存检索索引集中每个拼音对应的数据簇集在检索索引集中的起始偏移量。

例如,“ao”在检索索引集中对应的数据簇的起始偏移量为1234,即“ao”对应数据簇中第一条全拼索引记录在检索索引集中的起始偏移量为1234,则在一级检索索引集保存“ao 1234”。

第五、二级检索索引集,用于保存首字母相同的拼音对应的记录在一级检索索引集中的起始位置(起始偏移量)。

假设一级检索索引集中,首字母都是“b”的拼音为“ba”“bai”“bao”,且这三个拼音对应的记录按“ba”“bai”“bao”的顺序存放,则二级检索索引集记录的起始偏移量就是“ba”对应的记录在一级检索索引集中的偏移量。

以上对本发明实施例中的部分技术术语进行了介绍,以下参照附图对本发明实施例提供的技术方案进行详细说明。

请参见图1,为本发明实施例一提供的中文信息检索方法,该方法包括如下步骤:

步骤11:接收检索关键字的全拼组合,所述全拼组合由检索关键字对应拼音或读音的声母和韵母构成,若所述全拼组合是本次检索时接收的第1个全拼组合,则进入步骤12,

步骤12:从所述全拼组合中提取声母的首字母及韵母;

步骤13:在预置的二级检索索引集中,检索所述首字母对应的起始偏移量;

步骤14:在一级检索索引集中所述起始偏移量对应的位置开始,检索所述首字母和韵母构成的拼音对应的起始偏移量和终止偏移量;

步骤15:从预置的检索索引集中,读取所述起始偏移量到终止偏移量之间的全拼索引记录,每条全拼索引记录包括:目标中文信息全拼组合序列及目标中文信息偏移量;

步骤16:判断步骤11接收到的全拼组合与目标中文信息全拼组合序列中的第一个全拼组合是否相同,如果相同,则进入步骤17,如果不相同,则返回步骤15读取下一条全拼索引记录,直到读取到所述终止偏移量对应位置处的全拼索引记录;

步骤17:根据所述目标中文信息偏移量,从预置的目标中文信息索引集中,检索目标中文信息。

以上为本发明实施例一提供的一种中文信息检索方法,该方法以预置的目标中文信息索引集、检索索引集、一级检索索引集及二级检索索引集,作为目标中文信息的检索基础,实现了从海量目标中文信息中快速检索目标中文信息。

进一步,在根据接收的第一个全拼组合检索到目标中文信息后,有可能还会接收到第2个,第3个,......,第i个检索关键字(i为大于等于2的自然数),为了在出现这种情况时,能够快速检索目标中文信息,本发明实施例一提供的方法需要进一步包括:

将检索到的目标中文信息及其目标中文信息全拼组合序列作为一条检索结果,添加到第一检索结果集中。

针对接收到第2个,第3个,......,第i个全拼组合的情况,也就是接收的检索关键字的全拼组合不是第一个而是第i个的情况,为实现目标中文信息的检索,采用本发明实施例二提供的中文信息检索方法,请参见图2,该方法包括:

步骤21:接收检索关键字的全拼组合,若所述全拼组合是第i个全拼组合,则进入步骤22;

步骤22:从第i-1检索结果集的一条检索结果中,读取目标中文信息全拼组合序列,

步骤23:判断已接收的第i-1个全拼组合在所述目标中文信息全拼组合序列中的位置,若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个(j为大于等于1的自然数)分词的结尾,则进入步骤24,若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的第k个全拼组合(k为大于等于1的自然数),则进入步骤26;

步骤24:判断第j个分词是否为所述目标中文信息全拼组合序列中的最后一个全拼组合,如果是,则进入步骤210,如果否,则j=j+1,进入步骤25;

第25:判断第i个全拼组合与目标中文信息全拼组合序列中第j个分词的第一个全拼组合序列是否相同,如果相同,则进入步骤27,如果不相同,则返回步骤24;

步骤26:判断第i个全拼组合与第j个分词中第k+1个全拼组合是否相同,如果相同,则进入步骤27,否则进入步骤28;

步骤27:将所述检索结果添加到第i检索结果集中,进入步骤29;

步骤28:删除检索结果,进入步骤29;

步骤29:判断第i-1检索结果中是否还有检索结果未读取,如果有,则返回步骤22,如果没有,则结束该流程。

以上为本发明实施例二提供的中文信息检索方法,该方法根据第i-1个全拼组合在目标中文信息全拼组合序列中所处的位置,将第i个全拼组合与检索结果中的目标中文信息全拼组合序列中全拼组合进行匹配,实现了当接收到的全拼组合在目标中文信息中是非连续的(在目标中文信息内跨越或间隔了若干词语或短语)时,也能够快速、准确地检索到目标中文信息,即实现了跨词检索目标中文信息。

例如,接收的全拼组合序列对应的汉字分别是“北”“京”“市”“海”、“淀”、“区”、“法”、“院”,其中,第一个接收的全拼组合是“北”的全拼组合,则先采用本发明实施例一提供的方法得到第一检索结果集,第二个接收的全拼组合是“京”的全拼组合,则采用本发明实施例二提供的方法,首先从第一检索结果集的一条检索结果中读取一个目标中文信息全拼组合序列,假设读取出的目标中文信息全拼组合序列对应汉字是“北京市;海淀区;人民;法院”,由于“北”的全拼组合是所述序列中第一个分词的第一个全拼组合,则判断第二个“京”的全拼组合与所述序列中第一个分词的第二个全拼组合是否相同,如果相同,则所述检索结果添加到第二检索结果集中,如果不相同,则删除所述检索结果,重复上述过程直到处理完第一检索结果集中所有的检索结果;“市”的全拼组合的处理过程与“京”的过程类似,区别仅在于是从第二检索结果集的一条检索结果中,读取目标中文信息全拼组合序列,此处不再赘述;在接收到“海”的全拼组合后,假设读取出的还是前文所述目标中文信息全拼组合序列,由于“京”的全拼组合是所述序列中第一个分词的结尾,则需要判断其与所述序列中第二个分词的第一个全拼组合是否相同,如果相同,则将所述检索结果添加到第三检索结果集中,如果不相同,则判断其与所述序列中第三个分词的第一个全拼组合是否相同,则将所述检索结果添加到第三检索结果集中,依次类推直到判断完“海”的全拼组合与所述序列中的最后一个分词的第一个全拼组合是否相同,后续输入的全拼组合参照前文所述此处不再赘述,在实际应用过程中,最终能够检索到目标中文信息“北京市海淀区人民法院”。

以上介绍了本发明实施例二提供的中文信息检索方法,值得注意的是,由于第i检索结果集也可以采用其他中文信息检索方法获取,因此,本发明实施例二提供的方法可以独立于实施例一提供的方法实施。

根据前文介绍可知,为实现本发明实施例一提供的方法,需要预先构建索引集,以下结合附图对本发明实施例提供的索引集构建方法进行详细介绍。

请参见图3,为本发明实施例提供的检索索引集构建方法,所述方法包括:

步骤31:从预置的目标中文信息索引集中,读取一条目标中文信息;

步骤32:对目标中文信息进行分词,获得n个分词,n为大于等于1的自然数;

步骤33:解析构成目标中文信息每个汉字的拼音;

步骤34:获取所述拼音的全拼组合;

其中,获取拼音全拼组合的具体方法请参见前文相关部分,此处不再赘述。

步骤35:按照分词结果,对拼音的全拼组合进行排列组合,得到n条全拼组合序列;

步骤36:获取所述目标中文信息在目标中文信息索引集中的偏移量;

步骤37:将所述偏移量分别与n条全拼组合序列进行组合,得到n条全拼索引记录;

步骤38:将所述n条全拼索引记录存入全拼组合序列中首个全拼组合对应的拼音在检索索引集中对应的数据簇内;

步骤39:判断目标中文信息索引集集中是否有未读取的目标中文信息,如果有,则返回步骤31,如果没有,则结束该流程。

以上为本发明实施例提供的检索索引集构建方法,以下结合具体实例对上述方法进行说明。

例如,目标中文信息为“北京市海淀区人民法院”,其在目标中文信息索引集集中的偏移量为1348,分词结果包括:“北京市”“海淀区”“人民”“法院”,根据表1和表2所示数值,得到的全拼组合包括:[1,38]、[18,63]、[11,51]、[6,36]、[3,44]、[7,35]、[21,54]、[2,43]、[14,33]、[12,66],按照分词结果对上述全拼组合进行排列组合后,得到的四条全拼组合序列分别为:

[1,38][18,63][11,51];[6,36][3,44][7,35];[21,54][2,43];[14,33][12,66],即(北京市;海淀区;人民;法院)

[6,36][3,44][7,35];[21,54][2,43];[14,33][12,66],即(海淀区;人民;法院)

[21,54][2,43];[14,33][12,66],即(人民;法院)

[14,33][12,66],即(法院)

将上述四条全拼组合序列分别与偏移量1348进行组合,得到四条全拼索引记录(例如,<[14,33][12,66],1348,0>),将四条全拼索引记录分别存入“bei”“hai”“ren”“fa”对应的数据簇内。

以上介绍本发明实施例提供的检索索引集的构建方法,以下结合附图对本发明实施例提供的一级及二级检索索引集的构建方法进行详细介绍。

本发明实施例提供的一级及二级检索索引集的构建方法包括如下步骤:

第一步、从检索索引集中,获取每个拼音对应的数据簇集在检索索引集中的起始偏移量;

第二步、将拼音及起始偏移量对应保存在一级检索索引集;

第三步、从一级检索索引集中,获取首字母相同的拼音对应的记录在一级检索索引集中的起始偏移量;

第四步、将首字母及起始偏移量对应保存在二级检索索引集中。

以上为本发明实施例提供的一级及二级检索索引集的构建方法。以下结合具体的应用环境对本发明实施例提供的中文信息检索方法进行介绍。

在地理信息系统(Geographic Information System,GIS)和移动位置服务(Location Based Service,LBS)领域,一个服务系统往往会包含几百万条,甚至几千万条兴趣点(Point Of Interest,POI),同时用户在记忆某些POI的名称时,往往只会记住易辨别或者易记忆的部分,而不是完整的名称,比如“北京市海淀区人民法院”,用户通常只会记住或者称呼“海淀区法院”,那么,用户在输入检索条件时也会习惯性的输入“海淀区法院”,但是用户希望查询到的POI信息却是“北京市海淀区人民法院”,这就要求中文信息检索系统在输入查询条件在目标中文信息内不连续且跨越若干词语或短语的情况下,能够从海量的POI信息中快速、准确地检索到用户期望的目标中文信息。

本发明实施例提供的中文信息检索方法恰好满足了GIS和LBS领域的要求,以下以POI名称的检索过程为例,对本发明实施例提供的中文信息检索方法进行更深入的介绍。

针对GIS/LBS内POI名称的检索过程如下:

例如,用户依次输入拼音“hai”“dian”“qu”“fa”“yuan”,对应的全拼组合依次为(注意,此处只是为了直观描述本发明实施例提供的方法,实际应用中,以下全拼组合是由表1和表2中的数值构成):

[MAPABC_HANDLE_KEY_VOICE_H,MAPABC_HANDLE_KEY_RHYME_AI]

[APABC_HANDLE_KEY_VOICE_D,MAPABC_HANDLE_KEY_RHYME_IAN]

[MAPABC_HANDLE_KEY_VOICE_Q,MAPABC_HANDLE_KEY_RHYME_U]

[MAPABC_HANDLE_KEY_VOICE_F,MAPABC_HANDLE_KEY_RHYME_A]

[MAPABC_HANDLE_KEY_VOICE_Y,MAPABC_HANDLE_KEY_RHYME_UAN]

其对应的汉字序列为“海淀区法院”,用户希望检索的POI信息是“北京市海淀区人民法院”:

用户输入的第一个全拼组合[MAPABC_HANDLE_KEY_VOICE_HMAPABC_HANDLE_KEY_RHYME_AI];

从全拼组合

[MAPABC_HANDLE_KEY_VOICE_H,MAPABC_HANDLE_KEY_RHYME_AI]中,提取的声母首字母与韵母分别为‘H’和‘AI’;

从预置的二级检索索引集pairs(C,offsetCspell)中,检索首字母‘H’对应的偏移量

其中,pairs(C,offsetCspell)具体为:

pairs(<′A′,0>,<′B′,7657>,<′C,59334>…<′X′,514236>,<′Y′,594588>,<′Z′,784509>)

在预置的一级检索索引集中,从对应的位置开始,寻找(H+AI)所对应的偏移量OffsetCspell和Offset′Cspell

从检索索引集中,读取OffsetCspell和Offset′Cspell之间的全拼索引记录;

判断目标中文信息全拼组合序列中的第一个全拼组合与输入全拼组合[MAPABC_HANDLE_KEY_VOICE_H,MAPABC_HANDLE_KEY_RHYMEAI]是否相同,若相同,则根据目标中文信息偏移量在目标中文信息索引记录中,读取一条目标中文信息,目标中文信息和目标中文信息全拼组合序列作为一条检索结果保存在第一检索结果集中;

后续输入的全拼组合则按照本发明实施例二提供的方法进行检索,具体检索过程可参照前文举例,此处不再赘述。

以上对本发明实施例提供的中文信息检索方法进行了介绍,以下结合附图对本发明实施例提供的中文信息检索引擎进行详细介绍。

请参见图4,本发明实施例提供的中文信息检索引擎包括:

全拼组合接收单元401,用于接收检索关键字的全拼组合;

接收信息记录单元402,用于判断所述全拼组合接收单元接收的全拼组合是否为第一个全拼组合,如果是,则触发字母提取单元403;

字母提取单元403,用于从所述全拼组合中提取所述检索关键字对应拼音的声母的首字母及韵母;

一级索引偏移量检索单元404,用于在预置的二级检索索引集中,检索所述首字母对应的起始偏移量;

索引偏移量检索单元405,用于在一级检索索引集中所述起始偏移量对应的位置开始,检索所述首字母和韵母构成的拼音对应的起始偏移量和终止偏移量;

全拼索引记录读取单元406,用于从预置的检索索引集中,读取所述起始偏移量到终止偏移量之间的全拼索引记录,每条全拼索引记录包括:目标中文信息全拼组合序列及目标中文信息偏移量;

全拼组合匹配单元407,用于判断所述检索关键字的全拼组合与目标中文信息全拼组合序列中的第一个全拼组合是否相同,如果相同,则触发目标信息第一检索单元408;

目标信息第一检索单元408,用于根据所述目标中文信息偏移量,从预置的目标中文信息索引集中,检索目标中文信息。

以上为本发明实施例提供的中文信息检索引擎,在根据接收的第一个全拼组合检索到目标中文信息后,中文信息检索引擎有可能还会接收到第2个,第3个,......,第i个检索关键字(i为大于等于2的自然数),为了在出现这种情况时,能够快速检索目标中文信息,所述引擎进一步包括:

检索结果保存单元,用于将检索到的目标中文信息及目标中文信息全拼组合序列作为一条检索结果,添加到第一检索结果集中。

针对接收到第2个,第3个,......,第i个全拼组合的情况,也就是接收的检索关键字的全拼组合不是第一个而是第i个的情况,为实现目标中文信息的检索,所述引擎进一步包括:全拼组合序列读取单元,目标信息第二检索单元,目标信息第三检索单元;

所述接收信息记录单元,若判断所述全拼组合接收单元接收的全拼组合是第i个全拼组合,则触发所述全拼组合序列读取单元;若判断得到第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的第k个全拼组合,则触发目标信息第三检索单元;

全拼组合序列读取单元,用于从第i-1检索结果集的检索结果中,读取目标中文信息全拼组合序列;

全拼组合位置判断单元,用于判断第i-1个全拼组合在所述目标中文信息全拼组合序列中的位置,若第i-1个全拼组合是所述目标中文信息全拼组合序列中第j个分词的结尾,则触发所述目标信息第二检索单元;

所述目标信息第二检索单元,用于判断第i个全拼组合与目标中文信息全拼组合序列中第j+1个分词的第一个全拼组合序列是否相同,如果相同,则将所述检索结果添加到第i检索结果集中;

所述目标信息第三检索单元,用于判断第i个全拼组合与第j个分词中第k+1个全拼组合是否相同,如果相同,则将所述检索结果添加到第i检索结果集中;

其中,i为大于等于2的自然数,j及k为大于等于1的自然数。

本发明实施例还提供了一种嵌入式终端,该终端包括前文所述的任意一种中文信息检索引擎,为节省篇幅此处对嵌入式终端不再进行详细介绍,详细内容请参见前文相关部分。嵌入式终端可以是:手机,导航仪,PDA等。

以上对本发明所提供的一种中文信息检索方法、中文信息检索引擎及嵌入式终端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号