首页> 中国专利> 识别同义词的方法、装置及利用其进行搜索的方法和装置

识别同义词的方法、装置及利用其进行搜索的方法和装置

摘要

本申请公开了一种识别中文同义词的方法和装置以及利用其进行搜索的方法和装置,所述方法包括:a、获得需要识别的任意两个中文词;b、确定所述两个中文词之间的最小编辑距离小于等于编辑距离阈值后,执行步骤c;c、判断所述需要识别的两个中文词是否都存在于预设的知识库中,若是,则在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;d、若查询到的每个中文词的权重最大的最小粒度类型相等,则判定所述两个中文词为同义词,否则判定所述两个中文词为非同义词。应用本申请实施例,使得识别出的同义词准确率大大提高,保证了同义词的识别效果。

著录项

  • 公开/公告号CN101872351A

    专利类型发明专利

  • 公开/公告日2010-10-27

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN200910137633.6

  • 发明设计人 董静;邢飞;郭宁;侯磊;张勤;

    申请日2009-04-27

  • 分类号G06F17/30(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人马敬;逯长明

  • 地址 英属开曼群岛大开曼岛资本大厦一座四层847号邮箱

  • 入库时间 2023-12-18 01:09:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-10-10

    授权

    授权

  • 2010-12-08

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

    实质审查的生效

  • 2010-10-27

    公开

    公开

说明书

技术领域

本申请涉及计算机数据处理技术领域,特别涉及一种识别中文同义词的方法和装置及利用其进行搜索的方法和装置。

背景技术

现有的搜索一般是基于关键词的搜索,即用户输入关键词让搜索引擎进行查询,搜索引擎返回包含有这些关键词的结果网页。比如用户输入“数码照相机”,现有的中文搜索引擎会对输入的关键词先进行分词,通常将“数码照相机”分词为“数码照相机”两个词条,之后返回的结果网页中包含有“数码”和“照相机”两个词条。

而实际上,不同的用户背景不同,习惯不同,很有可能他们意图相似而压缩表达出来的用于查询的关键词却不一样。比如,查询“数码照相机”和“数码相机”的用户潜在意图是完全一致的,而对于“数码照相机”,现有的搜索引擎返回的结果网页中包含有“数码”和“照相机”两个词条,而有一些很有价值的结果网页,因为包含有“数码”和“相机”两个词却没有被返回或者由于其他技术因素返回却没有排在很靠前的位置。如果搜索引擎能发现这对词是组同义词,同时合并返回两个词组的结果网页,那么对于提高搜索的准确度,以及用户搜索体验是非常有效的。

同义词是自然语言中的一个独特现象,同义词挖掘在自然语言处理中也是一个非常有意义的工作,它的实现对于搜索查询重写,丰富搜索结果以使得用户得到很好的查询体验有很大的帮助。但是,搜索应用中所涉及的同义词替换必须把握的恰如其分,并不是使用任何一个近义词表就可以解决的。因为用户已经习惯于关键词搜索,习惯于输入查询后,和查询相同的字、词在结果条目中标红;那么即使是完全同义的不同字、词替换,也不是每个用户都能接受的。例如:“土豆”和“马铃薯”是完全同义,但用户输入“土豆”,而“马铃薯”却赫然出现在结果条目中被标红,猛一看还以为搜索引擎出问题了,如果不被标红又很容易被用户的眼睛跳过。所以本文所涉及的同义词是指应该适合搜索应用的同义词。

目前存在的汉语同义词自动识别方法是,将每个词表示成一个网页,词典中对该词解释的其他词和这个词形成一种链接关系,给每个词赋予一个分值,这个分值就代表了词之间的相似度,也就是说,把词汇之间解释与被解释的关系看成是一种超链接,把页面等级(PageRank)值看成是体现词汇之间语义相似性的衡量指标,然后根据语义相似度的大小识别同义词。这种方法主要是通过PageRank值作为衡量同义词的指标,而PageRank值的确定是依赖于其所能获得的资源的,而这种资源又有很大的随意性难以控制,例如,对“土豆”的解释,如果所用的资源着重解释土豆的植物特性,外形特征等,那么很有可能“土豆”会和“根茎”,“椭圆”等词建立近义词关系。因而这种体现链接关系的PageRank值是非常不可靠的,并且这种不可靠信息很难自动检测,从而导致不能准确识别所需的同义词,使得识别的效果很难得到保证。

发明内容

本申请实施例一方面在于提供一种识别中文同义词的方法和装置,以解决中文同义词识别效果不能得到保证的问题。

本申请实施例另一方面在于提供一种搜索方法及装置,以丰富搜索结果信息。

本申请实施例提供了一种识别中文同义词的方法,包括:

a、计算服务器获得需要识别的任意两个中文词;

b、确定所述两个中文词之间的最小编辑距离小于等于编辑距离阈值后,执行步骤c;

c、判断所述需要识别的两个中文词是否都存在于预设的知识库中,若是,则在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;

d、若查询到的每个中文词的权重最大的最小粒度类型相等,则判定所述两个中文词为同义词,否则判定所述两个中文词为非同义词。

其中,若需要识别的两个中文词是否不都存在于预设的知识库中,则进一步包括:

e、计算服务器对不能查到的中文词进行分词,再判断所述分词后的中文词是否都存在于所述知识库中,若是,则再在所述知识库中分别查找每个中文词的权重最大的最小粒度类型,并继续后续步骤e。

其中,当判断出每个中文词的权重最大的最小粒度类型相等后,进一步包括:

计算服务器判断两个中文词中有变化的字或词是否属于已设置的普义字表中可以改变的字,若是,再判定所述需要识别的两个中文词为同义词,否则判定所述两个中文词为非同义词。

其中,所述知识库包括:词条和概念,每个词条或概念至少对应一个类型,且每个词条或概念对应的每个类型具有权重值。

其中,所述在所述知识库中分别查找每个中文词的权重最大的最小粒度类型包括:

在所述知识库中查到与每个中文词对应的词条或概念,根据每个词条或概念对应的至少一个类型,及每个词条或概念具有的权重值,查到每个中文词的权重最大的最小粒度类型。

其中,若判定所述两个中文词为同义词,则将所述识别出的同义词存入同义词库。

本申请实施例还提供了一种搜索方法,包括:

搜索引擎接收来自用户的查询请求,所述查询请求中包括待查询词条;

搜索引擎根据所述待查询词条查询预先设置的同义词库,找到该待查询词条的同义词;

搜索引擎应用所述待查询词条和该待查询词条的同义词进行搜索,返回包括该待查询词条和该待查询词条同义词的搜索结果给用户。

本申请实施例还提供了一种识别中文同义词的装置,包括:

获取单元,用于获得需要识别的任意两个中文词;

第一判断单元,用于确定所述两个中文词之间的最小编辑距离小于等于编辑距离阈值后,通知第二判断单元;

第二判断单元,用于判断所述需要识别的两个中文词都存在于预设的知识库中时,通知查询单元;

查询单元,用于在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;

第三判断单元,用于确定查询到的每个中文词的权重最大的最小粒度类型相等时,判定所述两个中文词为同义词,确定查询到的每个中文词的权重最大的最小粒度类型不相等时,判定所述两个中文词为非同义词。

其中,还所述装置包括:分词单元,用于对不能在所述知识库中查到的中文词进行分词,之后通知第二判断单元;

所述第二判断单元,还用于判断出所述分词后的中文词都存在于所述知识库中时,再通知查询单元,判断出所述分词后的中文词不都存在于所述知识库中时,再通知分词单元。

其中,所述装置还包括:普义字表查询单元,用于确定两个中文词中有变化的字或词属于已设置的普义字表中可以改变的字时,通知第三判断单元判定所述两个中文词为同义词,确定两个中文词中有变化的字或词不属于已设置的普义字表中可以改变的字时,通知第三判断单元判定所述两个中文词为非同义词。

其中,所述知识库包括:词条和概念,每个词条或概念至少对应一个类型,且每个词条或概念对应的每个类型具有权重值。

其中,所述识别中文同义词的装置为计算服务器或搜索引擎。

本申请实施例还提供了一种搜索装置,包括:

接收单元,用于收来自用户的查询请求,所述查询请求中包括待查询词条;

同义词查询单元,用于根据所述待查询词条查询预先设置的同义词库,找到该待查询词条的同义词;

搜索单元,用于应用所述待查询词条和该待查询词条的同义词进行搜索;

反馈单元,用于将所述搜索结果返回给用户。

应用本申请实施例提供的识别中文同义词的方法及装置,由于首先确定待识别中文词之前的最小编辑距离,因而使得同义词对之间的字词表达差异不大,在搜索应用中能够提高搜索结果的准确性,并且不会给用户带来突兀的感觉,再有,本申请实施例利用知识库对待识别的中文词进行语义的验证,使得识别出的同义词准确率大大提高,保证了同义词的识别效果。

应用本申请实施例提供的搜索方法及装置,既避免了在搜索中给用户带来突兀的感觉,又丰富了搜索结果,使返回的搜索结果更符合用户的需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请一个实施例的识别中文同义词的流程图;

图2是根据本申请的一较佳实施例的流程图;

图3是根据本申请实施例的知识库类型层次示意图;

图4是根据本申请一个实施例的识别中文同义词的装置结构示意图;

图5是根据本申请一个实施例的识别中文同义词的系统结构示意图。

图6是根据本申请一个实施例的一种搜索方法的流程图;

图7是根据本申请一个实施例的一种搜索装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请使用最小编辑距离的算法,利用定义较小的编辑距离,使得同义词对之间的字词表达差异不大,在搜索应用中不会给用户带来突兀的感觉,另外,利用知识库的浅层语义概念验证,使得同义词准确率大大提高,抽取的同义词表对于搜索等相关应用有很好的效果,当然也可以运用到除搜索以外的其他领域中。

其中,编辑距离是指从一个字串变化到另一个字串最少需要的基本操作次数,或理解为两个字串差异部分的长度之和。通常的基本操作包括插入一个字/词,删除一个字/词,替换一个字/词,或者其它根据需要而设的操作。例如从“我爱你”变化到“我不爱她”至少需要插入一个“不”、将“你”替换成“她”两次基本操作,因此两者的编辑距离为2,同理,“隐形的翅膀”和“好吃的鸡翅膀”的编辑距离为3。该编辑距离的计算过程,即插入一个字/词,删除一个字/词,替换一个字/词的过程完全是现有技术。

参见图1,其是根据本申请一个实施例的识别中文同义词的流程图。本实施例的目的是为了识别出待识别的两个中文词之间是否为同义词,具体步骤如下:

步骤101,计算服务器获得需要识别的任意两个中文词;

这里,通常是从搜索引擎的查询日志中获取任意的两个中文词,为了提高效率,可以在引擎的查询日志选出输入次数最多的10万条词条,将这10万条词条两者之间一一比对。

上述计算服务器可以是搜索引擎本身,也可以是专门用户同义词比对的服务器,还可以是其他具有计算功能的服务器。

步骤102,计算服务器确定需要识别的两个中文词之间的最小编辑距离小于等于编辑距离阈值后,执行步骤103;

若需要识别的两个中文词之间的最小编辑距离大于编辑距离阈值,则直接判定两个中文词为非同义词。

这里,编辑距离阈值可以是1、2、3等。可以理解,编辑距离越小,两个词之间的变化越小。

步骤103,计算服务器判断所述需要识别的两个中文词是否都存在于预设的知识库中,若是,则执行步骤104;

其中,有关知识库的内容在后面具体介绍。

步骤104,计算服务器在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;

其中,有关知识库内中文词的权重、及粒度类型在后面介绍。

步骤105,计算服务器若查询到的每个中文词的权重最大的最小粒度类型相等,则判定所述两个中文词为同义词,否则判定所述两个中文词为非同义词。

需要说明的是,若需要识别的两个中文词不都存在于预设的知识库中,则进一步包括:步骤106,计算服务器对不能查到的中文词进行分词,再判断所述分词后的中文词是否都存在于所述知识库中,若是,则继续后续步骤即执行步骤104,否则再次执行步骤106。

需要说明的是,本实施例可以进一步包括:将识别出的同义词存入同义词库,以备后续应用。其中同义词库可以以数据表的形式对识别出的同义词进行保存。对于保存同义词的数据表,一种可能的实现方式是,让互为同义词的词条对应保存,这样可以方便查询。例如,词条A1和A2,B1和B2,C1和C2、C3互为同义词,其保存方式可参见表1,

表1

  序号  查询词条 同义词1 同义词2  1  A1  A2  2  A2  A1  3  B1  B2  4  B2  B1  5  C1  C2  C3  6  C2  C1  C3  7  C3  C1  C2  ……  ……  ……  ……

当然,保存同义词的数据表并不限于表1所示保存方式,本文并不对同义词的具体保存形式做限定,只要能够保证待查询词条的同义词能够被及时查到即可。

应用本申请实施例提供的识别中文同义词的方法,由于首先确定待识别中文词之前的最小编辑距离,因而使得同义词对之间的字词表达差异不大,在搜索应用中不会给用户带来突兀的感觉,再有,本申请实施例利用知识库对待识别的中文词进行语义的验证,使得识别出的同义词准确率大大提高,保证了同义词的识别效果。

应用本申请所确定的中文同义词,不仅仅可以应用到搜索相关领域,还可以应用到其他领域中。

参见图2,其是根据本申请的一较佳实施例的流程图。具体如下:

步骤201,计算服务器获得需要识别的任意两个中文词;

一般选择的待识别的中文词对是在日志中经常出现的高频词,比如出现次数大于等于20次的词,因为高频词很具有代表性,多次出现保证了待识别的中文词不是生僻词;另外中文词的字数最好不超过一定数目,比如字数小于等于8;这是为了使得后面能够快速的计算编辑距离,并且再长的词条出现同义情况概率较小。

这里,需要识别的两个中文词来自搜索引擎的查询日志。

步骤202,计算服务器计算需要识别的两个中文词之间的最小编辑距离。

这里,可以应用现有的动态规划算法计算两个中文词之间的最小编辑距离,当然也可以使用其他的算法,在此,并不对计算最小编辑距离的具体算法做限定。

在现有的动态规划算法中,每个词的最小单位为一个字,比如两个词W1,W2;他们的字组成为c1c2c3,d1d2d3,那么c1c2c3,d1d2d3之间的最短距离Dis(c1c2c3,d1d2d3)可以由他们的子串的最短距离而得,具体的计算方法为如果c3=d3,Dis(c1c2c3,d1d2d3)=DIS(c1c2,d1d2)+1,如果不相等,Dis(c1c2c3,d1d2d3)=Max(Dis(c1c2,d1d2d3),Dis(c1c2c3,d1d2)),其中Max是指选其中的最大值,这就是动态规划算法。

步骤203,计算服务器判断所计算出的最小编辑距离是否小于等于编辑距离阈值,若是,则执行步骤204;否则判定需要识别的两个中文词为非同义词。

在一个较佳实施例中,令编辑距离阈值等于1。

因为本实施例所识别的同义词主要用于查询(query)重写的搜索应用中,查询重写简单的说就是把用户输入的关键词用它的同义词替代搜索,这样做可以增加结果的召回率,并且可以丰富结果集,对于基于分词的搜索引擎,如用户搜索“婴幼儿奶粉”,则含有“婴儿奶粉”的结果就找不到,而当“婴幼儿”被同义词“婴儿”替代后就可以找到了。因而,如果query重写后多字被改变却被标红,即使重写后的query和原query意思相差不大,这对于用户的体验也是有风险的,因为用户已经比较习惯于结果条目中关键字被标红,较大的改变可能会令部分人不适应。因此,这里推荐所采用的编辑距离阈值等于1,也就是说,如果两个中文词为同义词,则这两个中文词在表达形态变化很小。

步骤204,计算服务器判断需要识别的两个中文词是否都存在于预设的知识库中,若是,则执行步骤205,否则执行步骤208;

上述知识库实际是一个词典文件,也可以被称为概念库,其由词条和概念组成。词条可以被理解为一个基本的词,而概念可以被理解是词条的组合,但这种组合是日常生活中常用的非常固定的组合。例如,“苹果”、“北京”、“大学”分别是一个词条,而“北京大学”就是知识库中的一个概念。

知识库本身就是一个数据表,每一个表项代表一个词,每一个表项有多个域组成:词本身,词的类型,类型的权重。

上述知识库中具有已定义好的至少一个类型,通常是具有几十个类型,这些类型是分层次的,每个层次对应一个粒度,即由于类型分为多个层次因而对应不同类型的层次有多个粒度,在此,可以将这种对应多个层次的粒度称为粒度类型。其中,类型就是已经定义好的属性,这些属性都是参照语言学方面的知识而定义的,所有的词事先都划分了所属的类型。

例如,参见图3,其是根据本申请实施例的知识库类型层次示意图。在本实施例中,“产品”属于一个较高层次的类型,在本实施例中称其为第一层次类型,而“产品-品牌”,“产品-型号”,“产品-规格”,“产品-类型”是位于“产品”这个层次类型下的不同类型,即“产品-品牌”,“产品-型号”,“产品-规格”,“产品-类型”是第二层次类型,其位于第一层次类型下。而“产品-类型”下还可以包括第三层次类型的“产品类型-简单”,“产品类型-复合”,“产品类型-统称”等。本实施例中,位于第三层次类型的“产品类型-简单”,“产品类型-复合”,“产品类型-统称”就是最小粒度类型。

知识库中的每个词条或概念都会对应到至少一个层次类型,比如,“苹果”不但属于“产品类型--简单”,还属于“植物”类型,而“汽车”仅属于“产品类型--统称”,而且,每个词条或概念具有权重值,该权重值表明该词条或概念属于该类型的概率,例如,“苹果”属于“产品类型-简单”的权重值是0.38,而属于“植物”的权重值是0.54。

可以理解,上述知识库中的类型、类型的层次,以及某个词条或概念所属类型的权重值是通过经验积累而获得的。所谓经验积累是指,知识库中的类型、类型的层次等都是参照了语言学方面的知识获得的,而每个词的权重是在网页资源中统计出来的,比如“苹果”这个词,它在网页中以电脑产品的意思出现的次数是60次,以植物出现的次数为40次,那么属于“产品类型-简单”和“植物”的权重分别为0.6和0.4。

步骤205,计算服务器在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;

可以理解,由于知识库中每个词条或概念对应至少一个类型,且每个词条或概念具有权重值,因而可以查到每个中文词的权重最大的最小粒度类型。

步骤206,计算服务器判断查询到的每个中文词的权重最大的最小粒度类型是否相等,若相等,则执行步骤207,否则判定需要识别的两个中文词为非同义词。

可以理解,通过最小粒度类型,更严格约束了待识别中文词的语义属性,保证了所识别出同义词的可靠性。

步骤207,计算服务器判断两个中文词中有变化的字或词是否属于已设置的普义字表中可以改变的字,若是,则判定需要识别的两个中文词为同义词,否则判定需要识别的两个中文词为非同义词。

普义字表和知识库类似,也是一个文本文件,每一行代表一个普义字。

普义字表包括可以改变的字和不可以改变字两部分,其中,可改变字大多是多字词的后缀字,并且这些后缀字出现频率很高,比如“机”,“器”等字;不可改变的字大多是字词的前缀或后缀词,多半会对词进行转义,比如:“不”,“非”,“半”等字。该普义字表也是通过经验积累,或由人工检查(review)而得到。

可以理解,由于普义字表的存在,更进一步保证了同义词的识别效果。

步骤208,计算服务器对不能查到的中文词进行分词。

这里,不能查到的中文词可以是需要识别的两个中文词,或是其中任意一个,或是,已经过分词处理后得到的中文词。

步骤209,计算服务器判断上述分词后的中文词是否都存在于所述知识库中,若是,则返回步骤205,否则,再次执行步骤208。

上述识别中文同义词的方法可以应用在搜索引擎中,也可以应用在需要应用的其他服务器或设备中。

需要说明的是,本实施例可以进一步包括:将识别出的同义词存入同义词库,以备后续应用。其中同义词库可以以数据表的形式对识别出的同义词进行保存。对于保存同义词的数据表,一种可能的实现方式是,让两两互为同义词的词条一一对应保存,这样可以方便查询。本文并不对同义词的具体保存形式做限定,只要能够保证待查询词条的同义词能够被及时查到即可。

应用图2所示实施例提供的识别中文同义词的方法,由于首先确定待识别中文词之前的最小编辑距离,因而使得同义词对之间的字词表达差异不大,在搜索应用中不会给用户带来突兀的感觉;再有,本申请实施例利用知识库对待识别的中文词进行语义的验证,即通过最小粒度类型,更严格约束了待识别中文词的语义属性,使得识别出的同义词准确率大大提高,此外,由于利用普义字表对待识别中文词对中不同的字再次进行验证,进一步保证了同义词的识别效果。

对于已识别出的同义词库,可做如下应用:

当搜索引擎接收到用户输入的待查询词条后,从同义词库中找到该待查询词条的同义词,之后,搜索引擎应用用户输入的待查询词条和该词条的同义词分别进行搜索查询,将两次查询结果全部返回用户,这样,既避免了在搜索应用中给用户带来突兀的感觉,又丰富了搜索结果,使返回的搜索结果更符合用户的需求,因而可以应用在搜索引擎的查询重写应用中。例如,用户通过搜索引擎查询“数码照相机”,搜索引擎通过查询同义词库获知“数码相机”是“数码照相机”的同义词,搜索引擎便应用“数码相机”和“数码照相机”分别进行搜索查询,并返回包含“数码相机”以及“数码照相机”的搜索结果,这样,不但丰富了搜索结果,而且避免了用户所需要的信息被漏掉。

基于上述应用,本申请还提供了一种搜索方法,参见图6,具体包括:

步骤601,用户输入待查询词条,向搜索引擎提交查询请求。

步骤602,搜索引擎接收来自用户的包含待查询词条的查询请求后,根据所述待查询词条查询预先设置的同义词库,找到该待查询词条的同义词;

步骤603,搜索引擎应用所述待查询词条和该待查询词条的同义词进行搜索;

步骤604,搜索引擎返回包括该待查询词条和该待查询词条同义词的搜索结果给用户。

本申请实施例还提供了一种识别中文同义词的装置,参见图4,具体包括:获取单元401、第一判断单元402、第二判断单元403、查询单元404和第三判断单元405,其中,

获取单元401,用于获得需要识别的任意两个中文词;在搜索引擎的应用中,搜索的查询日志存储有用户经常查询的关键词,因而所获得的需要识别的任意两个中文词中,一个来自于用户在搜索引擎中输入的关键词,另一个是根据该用户输入的关键词从搜索的查询日志中获得。

第一判断单元402,用于确定所述两个中文词之间的最小编辑距离小于等于编辑距离阈值后,通知第二判断单元403;

第二判断单元403,用于判断所述需要识别的两个中文词都存在于预设的知识库中时,通知查询单元404;

查询单元404,用于在所述知识库中分别查找每个中文词的权重最大的最小粒度类型;

第三判断单元405,用于确定查询到的每个中文词的权重最大的最小粒度类型相等时,判定所述两个中文词为同义词,确定查询到的每个中文词的权重最大的最小粒度类型不相等时,判定所述两个中文词为非同义词。

上述装置还可以包括:

分词单元406,用于对不能在所述知识库中查到的中文词进行分词,之后通知第二判断单元403;

第二判断单元403,还用于判断出所述分词后的中文词都存在于所述知识库中时,再通知查询单元404,判断出所述分词后的中文词不都存在于所述知识库中时,再通知分词单元406。

上述装置还可以包括:

普义字表查询单元407,用于确定两个中文词中有变化的字或词属于已设置的普义字表中可以改变的字时,通知第三判断单元405判定所述两个中文词为同义词,确定两个中文词中有变化的字或词不属于已设置的普义字表中可以改变的字时,通知第三判断单元405判定所述两个中文词为非同义词。

上述知识库包括:词条和概念,每个词条或概念至少对应一个类型,且每个词条或概念对应的每个类型具有权重值。

上述知识库、普义字表都是通过经验积累而获得的。

上述识别中文同义词的装置可以作为一个计算服务器单独存在,或是搜索引擎中的一部分,或是其他服务器的一部分。

应用本申请所示实施例提供的识别中文同义词的装置,由于首先确定待识别中文词之前的最小编辑距离,因而使得同义词对之间的字词表达差异不大,在搜索应用中不会给用户带来突兀的感觉;再有,本申请实施例利用知识库对待识别的中文词进行语义的验证,即通过最小粒度类型,更严格约束了待识别中文词的语义属性,使得识别出的同义词准确率大大提高,此外,由于利用普义字表对待识别中文词对中不同的字再次进行验证,进一步保证了同义词的识别效果。

本申请实施例还提供了一种搜索引擎中的识别中文同义词的系统,参见图5,具体包括:识别中文同义词的装置501和知识库存储单元装置502,其中,

知识库存储装置502,用于存储字词本身,字词的类型,类型的权重值;

识别中文同义词的装置501,用于获得需要识别的任意两个中文词;确定所述两个中文词之间的最小编辑距离小于等于编辑距离阈值后,判断所述需要识别的两个中文词都存在于预设的知识库存储单元502中时,在所述知识库存储单元502中分别查找每个中文词的权重最大的最小粒度类型;确定查询到的每个中文词的权重最大的最小粒度类型相等时,判定所述两个中文词为同义词,确定查询到的每个中文词的权重最大的最小粒度类型不相等时,判定所述两个中文词为非同义词。

上述识别中文同义词的装置501,还用于对不能查到的中文词进行分词,再判断所述分词后的中文词是否都存在于所述知识库存储装置502中,若是,则再在所述知识库存储装置502中分别查找每个中文词的权重最大的最小粒度类型,并继续后续步骤,否则再次执行本步骤。

上述系统还包括普义字表存储装置503,用于存储可以改变的字和不可以改变的字;

上述识别中文同义词的装置501,还用于确定两个中文词中有变化的字或词属于已设置的普义字表中可以改变的字时,判定所述两个中文词为同义词,确定两个中文词中有变化的字或词不属于已设置的普义字表中可以改变的字时,判定所述两个中文词为非同义词。

上述识别中文同义词的系统可以作为一个服务器单独存在,或是搜索引擎中的一部分,或是其他服务器的一部分。

应用本申请所示实施例提供的识别中文同义词的系统,由于首先确定待识别中文词之前的最小编辑距离,因而使得同义词对之间的字词表达差异不大,在搜索应用中不会给用户带来突兀的感觉;再有,本申请实施例利用知识库对待识别的中文词进行语义的验证,即通过最小粒度类型,更严格约束了待识别中文词的语义属性,使得识别出的同义词准确率大大提高,此外,由于利用普义字表对待识别中文词对中不同的字再次进行验证,进一步保证了同义词的识别效果。

本申请还提供了一种搜索装置,参见图7,包括:接收单元701,同义词查询单元702,搜索单元703和反馈单元704,其中,

接收单元701,用于接收来自用户的查询请求,所述查询请求中包括待查询词条;

同义词查询单元702,用于根据所述待查询词条查询预先设置的同义词库,找到该待查询词条的同义词;

搜索单元703,用于应用所述待查询词条和该待查询词条的同义词进行搜索;

反馈单元704,用于将所述搜索结果返回给用户。

应用本实施例提供的搜索装置,既避免了在搜索中给用户带来突兀的感觉,又丰富了搜索结果,使返回的搜索结果更符合用户的需求。

需要说明的是,本申请仅仅以中文为例描述了如何识别中文同义词的方法,但,本申请并不限于中文同义词的识别,对于日文、韩文等其他文字也可利用本申请所述方法进行同义词的识别,或在本申请所述方法的基础上稍加修改、等同替换、改进等均可实现同义词的识别。另外,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

为了描述的方便,以上所述装置和或系统的各部分以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件或硬件中实现。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号