专利名称:一种分类目录自动构建方法及相关系统的制作方法
技术领域:
本发明涉及计算机搜索领域,特别涉及在计算机搜索过程中为搜索结 果创建分类目录的方法以及相应的系统。
背景技术:
'计算机和互联网技术的快速发展,方便了人们对信息的获取。尤其是 近几年来,随着搜索引擎技术的飞速发展,因特网用户通过搜索引擎获取
信息已经成为非常普遍的现象。CNNIC信息服务部在2005年1月公布的 《全球互联网统计信息报告》就已经显示搜索引擎拥有84%的网民用户。 现在的搜索引擎用户恐怕会更多。但是现在的搜索引擎很多时候并不能返 回正确的答案,尼尔森-诺曼集团的调查显示搜索引擎的评价成功率只有 42%。
如何帮助用户快速准确地发现其所寻找的信息是搜索引擎的重要目 标。到目前为止,搜索引擎已经经历了两代第一代搜索引擎指主要依靠 人工分拣的分类目录搜索,这一类当时以Yahoo这样的门户网站为代表。 随着互联网规模的不断扩大,靠人工编辑生成的分类目录难以跟上互联网 信息增长速度;另外内容增多导致目录深度和每一层节点数的不断增加, 这些无疑加重了用户浏览信息和检索的负担。第二代搜索引擎以超链接分 析为基础的机器抓取技术为基础,在一定程度上解决了上述问题;这一类 以Google公司为代表。从交互上看,可以直接获取相关文档的第二代搜
索引擎自然要比层层浏览跳转才能找到信息的第一代搜索引擎好。但是当 前的第二代搜索引擎相对于第一代搜索引擎也引入了两个弊端 一是搜索
引擎返回的结杲缺乏人工目录的有效组织,不利于浏览。另一点在于,当 用户初始查询失败时,用户不能利用目录索引找到当前查询的相关内容。 而在人工编辑的分类目录中,用户查找失败后可以通过当前目录的上层目 录或相关目录去再次组织寻找。
鉴于上述两种搜索引擎模式各自所存在的缺陷,若能够提供一种将两 种搜索引擎模式的优点集于一身的新的搜索方法,则有助于向用户提供更
快、更有效的搜索服务。
发明内容
本发明的目的是克服现有的搜索引擎模式在搜索过程中各自所存在 的缺陷,从而提供一种在搜索过程中创建分类目录并根据所创建的分类目 录实现搜索的搜索方法。
为了实现上述目的,本发明提供了一种分类目录自动构建方法,包括 步骤l)、查找与用户提交的查询词有关的概念术语,得到与所述查询
词相关的概念术语集合;
步骤2)、计算所述概念术语集合中各个概念术语间的相关度; 步骤3)、根据所述概念术语间的相关度,对所述概念术语集合中的概
念术语做分类或聚类操作,得到至少一个概念术语类;
步骤4 )、将所述概念术语集合中的概念术语按照所述概念术语类组织
成分类目录。
上述技术方案中,所述的步骤3)还包括对所得到的概念术语类中的 概念术语做进一步的分类或聚类操作,得到范围更小的新的概念术语类。
上述技术方案中,在所述的步骤3)中,采用图分割算法实现对概念 术语的分类操作,釆用聚类算法实现对概念术语的聚类操作。
上述技术方案中,所述的图分割算法包括
步骤3-l)、根据所述概念术语间的相关度,为所述的概念术语构建概 念关系步骤3-2 )、对所述概念关系图中代表概念术语的各个顶点进行划分, 按照所述顶点间相互联系的密切程度将所述概念关系图分为多个子图,每 个子图代表一个概念术语类。
上述技术方案中,在所述的步骤3-1)中,在构建所述的概念关系图 时,包括
步骤3-1-1)、用一个节点表示一个概念术语;
步骤3-l-2)、当两个概念术语间的相关度高于用户指定的阈值时,为 表示这两个概念术语的两个节点间添加一条有权边,用所述概念术语间的 相关度数值表示所述有权边的权重;
步骤3-1-3 )、对概念术语集合中的所有概念术语完成上述的两两相关 度判断后即可得到所述的概念关系图。
上述技术方案中,在所述的步骤3-2)中,对所述子图划分的方法包
括Kernighan-Li图划分方法、求解拉普拉斯矩阵特征向量的谱方法、基 于edge-betweenness的划分方法、K完全子图方法、互耳关网H接分析中的 HITS、 MCL方法,基于最大流最小割的web社区发现算法和密度二部图 划分方法,基于Modularity的社区发现算法,基于5 - Closure的社区发现 算法。
上述技术方案中,所述的聚类算法包括single-linkage方法、ROCK 方法、Chameleon方法、或conceptual clustering方法。
上述技术方案中,在所述的步骤1)中,从现有数据中查找与用户提 交的查询词有关的概念术语,所述的现有数据包括用于记录以前用户查询 的搜索引擎日志、搜索引擎返回的与当前查询相关的文档、词典、网上人 工编辑目录信息、Wiki信息、用户标注信息在内的信息。
上述技术方案中,在所述的步骤1)中,所述的现有数据还包括用户 查询历史信息、用户查询倾向信息和/或用户注册帐号信息在内的用户个人
JS息。
上述技术方案中,所述的步骤2)还包括在计算所述概念术语集合 中各个概念术语间的相关度前,对所述概念术语集合中各个概念术语与所 述查询词的相关度进行计算,将与所述查询词的相关度小于用户指定阈值 的概念术语从所述概念术语集合中删除。
上述技术方案中,在所述的步骤2)中,采用一种相关度计算方法对 所述概念术语间或概念术语与查询词间的相关度进行计算,所述的相关度 计算方法包括计算两个术语在同一文本内容中的共同出现次数的方法、 数据挖掘方法、计算两个术语间的互信息的方法、计算两个术语在词典或 人工目录中的距离的方法、传统信息检索中计算文本间距离的计算方法。
上述技术方案中,在所述的步骤2)中,还包括采用至少两种计算相 关度的方法对概念术语间的相关度进行计算,将所得到的多种计算结果做 归一化加权操作,得到最终的相关度值。
上述技术方案中,所述的步骤3)还包括采用类标签对所得到的概念 术语类进行标识。
上述技术方案中,所述的类标签采用所代表的概念术语类中最具代表 性的概念术语,或能够对所代表的概念术语类中所有概念术语进行概括的 标签。
上述技术方案中,所述的概念术语类中最具代表性的概念术语为所述 概念术语类中与类中心相似度值最大的概念术语。
上述技术方案中,所述的能够对所代表的概念术语类中所有概念术语
进行概括的标签的产生包括
步骤a)、事先定义一组类别标签,依据类别标签对各概念术语类进行 分类,概念术语类的类标签就是其所属类别的类別标签;
点,以这些节点共有的;深祖先节点作为该类的类标签。口, ';、
上述技术方案中,在所述的步骤4)中,还包括将所述的分类目录返 回给用户,在返回给用户时,结合用户设定的模式信息显示所述的分类目 录,所述的模式信息包括图标、颜色、字体大小、对概念术语的注释说明。 本发明还提供了一种计算机搜索方法,包括 步骤1 )、用户输入查询词;
步骤2)、采用所述的分类目录自动构建方法为所述的查询词构建分类 目录;
步骤3 )、用户将步骤2 )所得到的分类目录中的概念术语作为推荐的 查询词发起下一次搜索,以得到更为精确的搜索结果。本发明还提供了一 种分类目录自动构建系统,包括概念术语抽取模块、相关度计算模块、 概念术语分类模块、分类目录显示模块以及用于包括现有数据的数据库; 其中,
所述的概念术语抽取模块从所述数据库所存储的现有数据中找到与 用户提交的查询词有关的概念术语,得到与所述查询词相关的概念术语集 合;
所述的相关度计算模块计算所述概念术语集合中各个概念术语间的 相关度;
所述的概念术语分类模块根据所述概念术语间的相关度,对所述概念 术语集合中的概念术语做分类或聚类操作,得到至少 一个概念术语类;
所述的分类目录显示模块将所述概念术语集合中的概念术语按照所 述概念术语类组织成分类目录。
上述技术方案中,所述的相关度计算模块中还包括概念术语筛选单 元,所述的概念术语筛选单元对由概念术语抽取才莫块所得到的概念术语集 合中各个概念术语与所述查询词的相关度进行计算,将与所述查询词的相关度小于用户指定阈值的概念术语从所述概念术语集合中删除,然后再由 相关度计算模块对所述概念术语集合中的各个概念术语计算相关度。
上述技术方案中,所述的概念术语分类模块还包括标签选择单元,所 述的标签选择单元为所得到的概念术语类选择类标签。
本发明又提供了一种计算机搜索系统,包括查询词输入模块、分类目
录自动构建系统、以及再搜索模块;其中,
所述的查询词输入模块用于由用户输入查询词;
所述的分类目录自动构建系统用于为所述的查询词构建分类目录;
所述的再搜索模块将所述的分类目录自动构建系统所创建的分类目 录中的概念术语作为推荐的查询词发起下一次搜索,以得到更为精确的搜 索结果。
本发明的优点在于
1、 本发明在现有的搜索引擎的基础上,为用户提供的查询词生成了 相应的分类目录,所得到的分类目录能够反映用户查询的不同含义,从而 有助于用户更容易、更快捷地找到所需的信息。
2、 本发明所生成的分类目录只需要显示与用户查询相关的目录,相 对于门户网站或其他人工编辑的全局目录结构,用户不需要从全局根目录 层层浏览查找,这将大大降低用户的负担。
3、 本发明可以应用在搜索引擎相关搜索推荐领域,当用户查询失败 时,本发明提供含义分类明确的相关搜索查询,利用这些相关搜索查询用 户可以逐步明确其搜索意图并找到答案。
4、 本发明可以在大规模数据集上自动构建层次化的目录,相对于人 工分类编辑目录,大大提高了效率和覆盖率。
图1为本发明的分类目录自动构建方法在一个实施例中的实现流程
图2为在一个实施例中,根据相关度值对"Java"所涉及的概念术语 所构建的概念关系图3为在一个实施例中,为"Java"所生成的分类目录以及搜索结果 的示意图4为本发明的分类目录自动构建系统的示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明加以i兌明。
在对本发明进行详细说明前,对本发明中所涉及到的几个概念进行解 释,以更好地理解本发明。
搜索引擎本发明中所述的搜索引擎是一个泛指概念,它不是指具体 某个网站搜索服务或某个公司的搜索引擎产品,也不是专门搜索某类"对 象,'的搜索引擎,这里所说的"对象"包括但不限于网页、图像、音频、 视频。所述的搜索引擎是指任何以输入关键字,提交后获取搜索结果的方 式进行信息查找的计算机系统。
查询本发明中所述的查询是一个泛指概念,它是指能体现浏览或搜 索意图的词和/或短语集合。词和/或短语的集合可由用户直接提交,也可 以从其他其他系统或组件获得。
概念术语本发明所述的概念术语由词、短语或它们的组合表示,也 可赋予一段注释说明。
分类目录本发明所述的分类目录是由与某一查询Q相关的概念术语 组成的层次化结构,通过其中任一概念术语C用户可以找到与C相关的"对 象"集合Ds。集合Ds中的"对象"有可能并不存在于搜索引擎对查询Q 的返回结果中。
在对概念进行解释说明后,下面对本发明的具体实现过程进行详细说明。
当前,用户采用搜索引擎所提供的搜索服务时,通常会根据自己的搜 索意图输入一个或一个以上的关键词,通过搜索引擎所返回的与关4建词相 关的搜索结果来查找自己所需要的信息。但在这一搜索过程中,可能会存 在以下问题
1、 用户并不清楚如何用有限的几个词语来描述他的搜索意图,特别 是当所涉及的搜索意图较为生僻、不易描述时,由此所得到的搜索结果往 往不符合用户的要求。
2、 用户所输入的关键词由于语言中常见的多义性,使得所采用的关 键词并不能准确地表达用户的搜索意图。例如,关键词"笔记本,,既可能 是指便携式电脑,也可能是指纸质的记事本。对于这类关键词,需要用户 对所返回的搜索结果做进 一步的篩选,或者需要用户在现有关键词的基础 上添加和/或替换一些关键词做进一 步搜索。
上述问题的存在都不利于搜索结果的正确获得,特别是那些非热门的 搜索对象。在本发明中,为了有效地避免上述情况的发生,本发明的4叟索 引擎在为用户的查询生成相应的搜索结果的同时,还提供了与用户的查询 词相关的相关概念术语分类目录,通过这一分类目录做更为精确的二次查询。
为了便于理解,我们用 一个具体的例子对本发明中所涉及的相关概念 术语分类目录的生成过程进行说明。
假设有 一 个不了解计算机技术的用户想查询关于咖啡的信息,他输入
了 "Java"作为查询词,由于当前互联网上关于"Java编程"的信息占据 绝对优势地位。所以无论搜索引擎返回的文档结果还是相关搜索信息都是 关于计算机技术的,用户难以找到其所要的信息。但单独对"Java"这个 词进行考察的话,可以知道这个词所包含的含义可以分为三类, 一是在计 算机技术方面的,如Java语言,二是与咖啡相关的,如爪哇咖啡,三是与 区域(region)相关的,如爪哇岛。显然,前面所提到的用户想要查询的 是与爪哇咖啡有关的内容。通过现有的搜索引擎无法做到,因此,需要生 成与Java有关的相关概念术语分类目录。参考图1,生成相关概念术语分 类目录的具体过程如下。
首先,对当前的查询词进行分析,并从现有数据中找到与查询词有关 的概念术语。此处所涉及的现有数据可以是用于记录以前用户查询的搜索 引擎日志、搜索引擎返回的与当前查询相关的文档、词典、网上人工编辑 目录信息、Wiki信息、用户标注信息等。在这些现有数据中,识别出与查 询词有一定关联(如在同一篇文档中)的高频词和/或短语,这些高频词和
/或短语就可纟皮认作概念术语。前述例子中的查询词只有"Java" —个词, 在现有数据中可以找到与之相关的内容,如"computer"、 "coffee"、 "region" 等,这些都可以作为"Java"的概念术语。除了上述的概念术语外,还可 以包括如"Java island" 、 "Java language" 、 "Java servlet" 、 "javascript" 、 " cafe au lait"、 " cappuccino coffee" 、 "south" 、 "code"等概念术语。以上是对 查询词进行分析从而得到概念术语的基本操作,在本发明的一个优选实施
即最终所生成的分类目录对于不同的用户有不同的内容,如对于计算机编 程人员显示关于"Java编程,,的内容,而对于咖啡店老才反显示关于爪哇咖 啡的内容。要使得所述的分类目录具有个性化功能,就需要在对查询词进
行分析,生成相关概念术语时,所用到的数据除了前面所提到的用于记录 以前用户查询的搜索引擎日志、搜索引擎返回的与当前查询相关的文档、
词典、网上人工编辑目录信息、Wiki信息、用户标注信息外,还包括用户 个人信息,如用户查询历史信息、用户查询倾向和/或用户注册帐号信息等。
相关的分类目录。
在得到关于查询词的诸多概念术语后,就要对这些概念术语进行分 类。对概念术语的分类操作是在计算概念术语间相关度的基础上实现的。 在前面所提到的"Java"例子中,才既念术语"computer"与"Java language"、 "Java servlet"、 "javascript"等的相关性较大,而冲既念术语"coffee"则与 "cafe au lait"、 " cappuccino coffee"等的相关性4交大。对这种才既念术语 间相关性大小的衡量就用所述的相关度表示。由于在前面的操作中,与某 一特定查询词的相关概念术语的数量可能较多,因此,在计算概念术语间 相关度之前,还可以先对概念术语进行筛选,即计算各个概念术语与当前 查询的查询词之间的相关度,从中选取相关度高的概念术语。概念术语筛 选后,就可以对筛选得到的概念术语间的相关度进行计算。计算概念术语 与查询词的相关度,以及计算概念术语间的相关度的实现方法相类似,可 以采用现有技术中的各种实现方法,包括但不限于计算两个术语在同一 文本内容中的共同出现次数、数据挖掘中相关方法(如关联规则)、计算 两个术语间的互信息、计算两个术语在词典或人工目录中的距离、传统信 息检索中计算文本间距离的计算方法。下面给出利用同一文本中共同出现
次数的方法来计算查询词与扭克念术语间以及概念术语间相关度的公式,以 方便理解。其中
查询词与概念术语间的相关度计算公式如下 c) = CF x log(iV /司
其中的Q表示当前查询,c表示一个概念术语,CF是查询Q返回结 果中概念c出现的总次数,DF是出现概念c的文档个^:, N是查询Q总 的返回结果数。
概念术语间的计算公式如下 D(c,)oD(。)
其中,D(c)表示含有概念c的文档集合:
从上述的计算公式中可以看出,如果两个概念术语经常在同一篇文档 中出现,那么它们之间的相关度就高。
前述公式给出了相关度值计算的一种方法,但在实际应用中,为了使 得相关度值更为精确,最好采用现有技术中的多种相关度值计算方法中的 若干种对相关概念术语间的相关度值进行计算,从而得到多种计算结果, 然后对不同的计算结果做归一化加权计算,得到一个新的相关度值,这一 相关度值也就是概念术语间的最终相关度值。
在得到概念术语间的相关度值(或最终相关度值)后,就可以根据相 关度值对各个概念术语做分类。对概念术语做分类的方法可以有多种,单 纯从分类目的上讲,所有基于对象间相似度或距离值进行计算的分类或聚 类算法都是可行的。但是考虑到在分类前类别数目和类别标签都是未知
的,传统的分类方法(classification)难以解决此分类问题。这里可以采用 不需要事先指定类别个数的聚类(cluster analysis )算法、图分割算法。这 里所述的聚类算法包括但不限于如single-linkage, ROCK、 Chameleon 之类的层次4匕(Hierarchical)方法,如conceptual clustering之类的基于才莫 型的方法。这里所述的图分割算法包括各种基于图结构的分类
(graph-based classification)算法、一土会关系网纟各分才斤(social networks analysis )中的社区(community )发现算法,如Kernighan-Li图划分方法、 求解拉普拉斯矩阵特征向量的谱方法、基于edge-betweenness的划分方法、 K完全子图(k-clique )方法、互联网链接分析中的中的HITS 、 MCL方法, 基于最大流最小割的web社区发现算法和Kumar等人提出的密度二部图 划分方法,基于Modularity的社区发现算法,基于5 - Closure的社区发现 算法等多种现有技术中已经存在的方法。
相对于传统的文本分类、聚类方法,基于图分割的方法更能给出体现 一个查询不同意图的分类结果。物以类聚,人以群分。当一个查询能体现 多种不同含义时,属于同一个含义的概念术语相互间往往联系紧密,而不 同含义的概念术语则联系松散。正是基于这种思想,采用图中的社区
(community)发现算法会耳又得更好的效果。在本实施例中,以图分割算 法中的基于Modularity的社区发现算法为例,对如何实现概念术语的分类 进行说明。
在图分割算法中,首先需要构建概念关系图G,在概念关系图G中, 节点]^表示概念术语c,,如果两个概念术语(c,,。)间的相关度高于用户指定
的阈值,则将用于表示这两个概念术语的节点间用一条有权边^相连,边 的权重就是两个概念术语间的相关度数值。图2就是根据相关度值对前述
的"Java"例子中所涉及的概念术语所构建的概念关系图,从该图中可以 看出,这一概念关系图大致分为三个区域,其中一个区域与地理相关,其 中一个区域与计算^/L相关,而另一个区域与咖啡相关,与"Java"在现实 中所包含的多种含义基本一致。
在得到概念术语的概念关系图后,就可以对概念关系图进行划分。以 图2中所示的概念关系图G为例,对如何采用基于Modularity的社区发现 算法对该图进行划分做示例性说明。
假设图G中包括n个顶点(^^,…义),分别表示n个相关概念术语 (CpC2,c3,…,c"),连接顶点(K,K)的边4又重e,y = Ww(c,,c,)。首先只于所有边的4又重 进行归一化
A可以看作是顶点&^之间有相互关系的概率f f;/ey. = 1 然后对概念关系图按照以下步骤做具体的划分
第一步,将概念关系图中的每个顶点形成一个子图,从而建立子图 G,。,《,…《.此时N=n。每一个子图代表一个类。
第二步,计算各类间的边的权重之和^ = 22/^。
第三步,计算当前这种子图划分方式的Modularity值,Modularity值 的计算方法如下
;=1 y=i /=1
M值可以看作是每个子图内顶点间有相互联系的概率是否远大于他 们与其他子图间顶点相关联的概率。M值越大说明划分效果越好,反之则 越差。
第四步,如果现在还有多个子图寻找两个子图G:,《进行 合并,使得合并后新分类下M值增加的数值最大。这样形成了新的子图划 分结果G",GCGf1,.…。
第五步,转到第二步,重复计算及合并,直到所有子图都合并成一个 图为止。寻找整个合并过程中M值最大时的分类结果,这个结果就是最终 的分类结果。根据子图中顶点与相关概念术语的对应关系就可以做出对相 关概念术语的分类结果。
图2所示的概念关系图经过上述步骤后,可以得到三个子图,即与地 理相关的子图、与计算机相关的子图以及与咖啡相关的子图。这些子图所 包括的范围较大,根据分类目录的需要,还可以对子图做进一步的划分以 得到范围更小的子图。例如,可以设定一个阈值,然后采用前述的方法对 现有的某 一子图做子图划分,直到划分所得到的子图个数超过所设定的阈 值后才停止相关操作。以图2为例,与计算机相关的子图还可以进一步分
为"Java language" 、 "Java servlet"等范围更小的子图。
完成对概念关系图中的子图的划分后,就可以从各个子图中抽取对应 的相关概念术语从而构成相关概念术语类,并为所得到的相关概念术语类 寻找用于标识类的类标签。在寻找类标签时,可能有多种实现方式。如在 一个实例中,可以从类中选择一个最具代表性的概念术语作为类别标签。 具体地,可以选取与类中心相似度值最大的概念术语作为类别标签。在另 一个实例中,也可以用一个能概括相关概念术语的类中所有概念术语的标 签作为类别标签,所述标签可以从现有数据中获取,如一个人工编辑的目 录。例如,先找出类中每个相关概念术语在人工编辑目录(像ODP)中对 应的节点,然后找出这些节点共有的最深祖先节点,这个祖先节点的内容 就可以作为该类的标签。此处还可以采用如下方式事先定义一组类别标 签,依据类别标签对各概念术语类进行分类,概念术语类的类标签就是其 所属类别的类别标签。在本实施例中,可以釆用如下方式
假设要为子图g所代表的类寻找类标签,首先选择与子图g内其他概 念术语连边数Wl最大的概念术语;如果有多个概念术语的Wl值相同且 均超过其他概念术语的Wl值,那么从中选择与所有子图中概念术语间连 边权重之和最大的概念术语;如果这时选出的概念术语仍不止一个,那么 选择其中CF最大的;按照上述方法最终选出的概念术语作为子图g中概 念术语类的标签。
通过上述方法,可以为前述的"Java"例子中的各个类设定用于标识 类的类标签。例如,对于与地理相关的类可以用"location"作为标签,对 于与计算;^几相关的类可以用"computers"作为标签,而对于与咖啡相关的
类则可以用"coffee"作为标签。在上述类的子类中,也可以设定相应的 标签,例如,"computers"类的子类中还包括有 "Java language" 、 "Java servlet"、 "javaapi"、 "Java enterprise platform" 等类标签。
一个相关概念术语类在设定类标签后,将这个类标签作为根目录,将 类中的其他概念术语作为根目录下的子目录。所有的相关概念术语类通过 上述方式组合后,就可以得到本发明所涉及的相关概念术语的分类目录。
以上所得到的具有类标签的相关概念术语的分类目录是一种较佳的 实现方式,在具体实现时,也可以将所得到的与某一查询词有关的相关概 念术语直接按照所在的类进行显示,而无需为类设定类标签。
在本发明中,为了更好地服务于用户,对于所得到的分类目录还可以 根据用户设定和/或分类目录的具体应用场景对目录所显示的概念术语做 一定的调整。例如,如果概念术语将作为"相关搜索"的超链接,那么概 念术语将根据当前查询和查询日志中的信息调整概念术语的组合方式,使 其达到更好的查询效果;如果用户设定每个类别的相关概念术语显示数目 不大于5,那么需要对类内的相关术语再次排序,删除掉排名靠后的概念 术语。
在得到概念术语的分类目录后,可以将分类目录与搜索结果一起返回 给用户,以方便用户作进一步查询。这一返回用户的过程实际上就是对相 关概念术语的分类目录的显示。在显示过程中,需要用到用户所设定的模 式信息,如图标、颜色、字体大小、对概念术语的注释说明等。例如,可 以通过字体的大小来体现一个概念术语相关的文档数量,字体大的概念术 语拥有更多的相关文档;也可以用不同颜色来表示概念术语的热门程度。 在图3中给出了前述"Java"例子的分类目录以及对应的搜索结果的显示 结果。在该图中包括有查询框602,其中用户已输入查询"java"。 返回 结果的页面中包括两部分查询相关网页604和相关概念术语分类目录612
(黑色方框内内容)。从相关概念术语分类目录612中可以看出,"Java" 的相关冲既念术语分属于三个大类"computer"、 "coffee"、 "location",每一 类通过类标签608标识。每一类可以展开显示该类中的相关概念术语606, 例如 "location" 类展开后显示 "location" 、 "Java island" 、 "Indonesia" 三 个相关概念术语。有的类内概念术语还可以再次组织成分类目录,每个概 念术语前的图标610指示了该概念术语是否还包含更多概念术语。例如
"Java language"可以展开,里面包含"javascript" 、 "open source Java"等
概念术语。在图3中只是给出了 "Java"例子的分类目录的一部分,在实 际应用中可能并不限于上述内容。
在得到相关概念术语的分类目录后,就可以利用该分类目录进行计算 机搜索。在一种计算机搜索方法中,在得到由用户的查询词所生成的分类 目录后,可根据分类目录由用户做进一步的搜索。例如,可将分类目录中 所包含的概念术语作为搜索引擎所推荐的"相关搜索",它包括多种情况。 在一个实例中,将分类目录中的概念术语作为查询词,当用户点击分类目 录中的某一概念术语时,搜索引擎返回以该概念术语作为查询词的搜索结 果。在另 一个实例中,将分类目录中的概念术语作为当前查询的补充信息, 在下一次查询中,将概念术语补充到当前查询的查询词中,以构造更加精 确的查询。在又一个实例中,若所给出的概念术语的分类目录来自事先人 工编辑好的目录信息,当用户点击某一相关概念术语后,将转到事先人工 编辑的关于此概念术语的网页目录,此时,冲既念术语相当于事先人工编辑 好的标签或目录。此外,还可以采用在用户搜索查询与先前查询之间的距 离度量来确定向用户显示哪些相关概念术语,进而根据用户个性化展示其 感兴趣的分类目录信息。具体的,系统记录每个用户的查询历史信息,对 相关概念术语分类后,计算各类相关概念术语与当前用户历史查询的相关 度,去除相关度低于某一阈值的概念术语类,将相关度高的概念术语类组 织成分类目录展示。
以上是对本发明如何生成相关概念术语分类目录的方法所作的详细 说明,在上述方法的基础上,本发明还提供了能够实现上述方法的系统。 如图4所示,该系统主要包括概念术语抽取模块、相关度计算模块、概念 术语分类模块、分类目录显示模块以及用于包括现有数据的数据库;
其中,所述的概念术语抽取模块从所述数据库所存储的现有数据中找 到与用户提交的查询词有关的概念术语,得到与所述查询词相关的概念术 语集合;所述的相关度计算模块计算所述概念术语集合中各个概念术语间 的相关度;所述的概念术语分类模块根据所述概念术语间的相关度,对所 述概念术语集合中的概念术语做分类或聚类操作,得到至少一个概念术语 类;所述的分类目录显示模块将所述概念术语集合中的概念术语按照所述 概念术语类组织成分类目录后返回给用户。
在前述的系统中,所述的相关度计算模块中还包括概念术语筛选单 元,所述的概念术语筛选单元对由概念术语抽取才莫块所得到的概念术语集 合中各个概念术语与所述查询词的相关度进行计算,将与所述查询词的相 关度小于用户指定阈值的概念术语从所述概念术语集合中删除,然后再由 相关度计算模块对所述概念术语集合中的各个概念术语计算相关度。
所述的概念术语分类模块还包括标签选择单元,所述的标签选择单元 为所得到的概念术语类选择类标签。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。 尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理 解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案 的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1、一种分类目录自动构建方法,包括步骤1)、查找与用户提交的查询词有关的概念术语,得到与所述查询词相关的概念术语集合;步骤2)、计算所述概念术语集合中各个概念术语间的相关度;步骤3)、根据所述概念术语间的相关度,对所述概念术语集合中的概念术语做分类或聚类操作,得到至少一个概念术语类;步骤4)、将所述概念术语集合中的概念术语按照所述概念术语类组织成分类目录。
2、 根据权利要求1所述的分类目录自动构建方法,其特征在于,所 述的步骤3)还包括对所得到的概念术语类中的概念术语做进一步的分类 或聚类操作,得到范围更小的新的概念术语类。
3、 根据权利要求l或2所述的分类目录自动构建方法,其特征在于, 在所述的步骤3)中,釆用图分割算法实现对概念术语的分类操作,采用 聚类算法实现对概念术语的聚类操作。
4、 根据权利要求3所述的分类目录自动构建方法,其特征在于,所 述的图分割算法包括步骤3-l)、根据所述概念术语间的相关度,为所述的概念术语构建概 念关系图;步骤3-2 )、对所述概念关系图中代表概念术语的各个顶点进行划分, 按照所述顶点间相互联系的密切程度将所述概念关系图分为多个子图,每 个子图代表一个概念术语类。
5、 根据权利要求4所述的分类目录自动构建方法,其特征在于,在 所述的步骤3-l)中,在构建所述的概念关系图时,包括步骤3-1-1)、用一个节点表示一个概念术语;步骤3-l-2)、当两个概念术语间的相关度高于用户指定的阈值时,为 表示这两个概念术语的两个节点间添加一条有权边,用所述概念术语间的 相关度数值表示所述有权边的权重;步骤3-1-3 )、对概念术语集合中的所有概念术语完成上述的两两相关 度判断后即可得到所述的概念关系图。
6、 根据权利要求4所述的分类目录自动构建方法,其特征在于,在所述的步骤3-2)中,对所述子图划分的方法包括Kernighan-Li图划分方 法、求解拉普拉斯矩阵特征向量的谱方法、基于edge-betweenness的划分 方法、K完全子图方法、互联网链接分析中的HITS、 MCL方法,基于最 大流最小割的web社区发现算法和密度二部图划分方法,基于Modularity 的社区发现算法,基于5 -Closure的社区发现算法。
7、 根据权利要求3所述的分类目录自动构建方法,其特征在于,所 述的聚类算法包括single-linkage方法、ROCK方法、Chameleon方法、 或conceptual clustering方法。
8、 根据权利要求1所述的分类目录自动构建方法,其特征在于,在 所述的步骤1)中,从现有数据中查找与用户提交的查询词有关的概念术 语,所述的现有数据包括用于记录以前用户查询的搜索引擎日志、搜索引 擎返回的与当前查询相关的文档、词典、网上人工编辑目录信息、Wiki 信息、用户标注信息在内的信息。
9、 根据权利要求8所述的分类目录自动构建方法,其特征在于,在 所述的步骤1)中,所述的现有数据还包括用户查询历史信息、用户查询 倾向信息和/或用户注册帐号信息在内的用户个人信息。
10、 根据权利要求1所述的分类目录自动构建方法,其特征在于,所 述的步骤2)还包括在计算所述概念术语集合中各个概念术语间的相关 度前,对所述概念术语集合中各个概念术语与所述查询词的相关度进行计 算,将与所述查询词的相关度小于用户指定阈值的概念术语从所述概念术 语集合中删除。
11、 根据权利要求1或10所述的分类目录自动构建方法,其特征在 于,在所述的步骤2)中,采用一种相关度计算方法对所述概念术语间或 概念术语与查询词间的相关度进行计算,所述的相关度计算方法包括计 算两个术语在同一文本内容中的共同出现次数的方法、数据挖掘方法、计 算两个术语间的互信息的方法、计算两个术语在词典或人工目录中的距离 的方法、传统信息检索中计算文本间距离的计算方法。
12、 根据权利要求11所述的分类目录自动构建方法,其特征在于, 在所述的步骤2)中,还包括采用至少两种计算相关度的方法对概念术语 间的相关度进行计算,将所得到的多种计算结果做归一化加权操作,得到 最终的相关度值。
13、 根据权利要求1或2所述的分类目录自动构建方法,其特征在于, 所述的步骤3 )还包括采用类标签对所得到的概念术语类进行标识。
14、 根据权利要求13所述的分类目录自动构建方法,其特征在于,所述的类标签采用所代表的概念术语类中最具代表性的概念术语,或能够 对所代表的概念术语类中所有概念术语进行概括的标签。
15、 根据权利要求14所述的分类目录自动构建方法,其特征在于, 所述的概念术语类中最具代表性的概念术语为所述概念术语类中与类中 心相似度值最大的概念术语。
16、 根据权利要求14所述的分类目录自动构建方法,其特征在于, 所述的能够对所代表的概念术语类中所有概念术语进行概括的标签的产 生包括步骤a)、事先定义一组类别标签,依据类别标签对各概念术语类进行 分类,概念术语类的类标签就是其所属类别的类别标签;步骤b )、找出类中每个相关概念术语在树形人工编辑目录中对应的节 点,以这些节点共有的最深祖先节点作为该类的类标签。
17、 根据权利要求1所述的分类目录自动构建方法,其特征在于,在 所述的步骤4)中,还包括将所述的分类目录返回给用户,在返回给用户 时,结合用户设定的模式信息显示所述的分类目录,所述的模式信息包括 图标、颜色、字体大小、对概念术语的注释说明。
18、 一种计算才几4叟索方法,包括 步骤1 )、用户输入查询词;步骤2)、采用权利要求1-17之一的分类目录自动构建方法为所述的 查询词构建分类目录;步骤3)、用户将步骤2)所得到的分类目录中的概念术语作为推荐的 查询词发起下一次搜索,以得到更为精确的搜索结果。
19、 一种分类目录自动构建系统,包括概念术语抽取模块、相关度 计算模块、概念术语分类模块、分类目录显示模块以及用于包括现有数据 的数据库;其中,所述的概念术语抽取模块从所述数据库所存储的现有数据中找到与 用户提交的查询词有关的概念术语,得到与所述查询词相关的概念术语集 合;所述的相关度计算模块计算所述概念术语集合中各个概念术语间的 相关度; 所述的概念术语分类模块根据所述概念术语间的相关度,对所述概念术语集合中的概念术语做分类或聚类操作,得到至少 一个概念术语类;所述的分类目录显示模块将所述概念术语集合中的概念术语按照所 述概念术语类组织成分类目录。
20、 根据权利要求19所述的分类目录自动构建系统,其特征在于, 所述的相关度计算模块中还包括概念术语筛选单元,所述的概念术语筛选 单元对由概念术语抽取模块所得到的概念术语集合中各个概念术语与所 述查询词的相关度进行计算,将与所述查询词的相关度小于用户指定阔值 的概念术语从所述概念术语集合中删除,然后再由相关度计算模块对所述 概念术语集合中的各个概念术语计算相关度。
21、 根据权利要求19所述的分类目录自动构建系统,其特征在于, 所述的概念术语分类模块还包括标签选择单元,所述的标签选择单元为所 得到的概念术语类选择类标签。
22、 一种计算机搜索系统,包括查询词输入模块、权利要求19-21之 一所述的分类目录自动构建系统、以及再搜索模块;其中,所述的查询词输入模块用于由用户输入查询词;所述的分类目录自动构建系统用于为所述的查询词构建分类目录;所述的再搜索模块将所述的分类目录自动构建系统所创建的分类目录中的概念术语作为推荐的查询词发起下一次搜索,以得到更为精确的搜索结果。
全文摘要
本发明提供一种分类目录自动构建方法,包括从现有数据中查找与用户提交的查询词有关的概念术语,得到与所述查询词相关的概念术语集合;计算所述概念术语集合中各个概念术语间的相关度;根据所述概念术语间的相关度,对所述概念术语集合中的概念术语做分类或聚类操作,得到至少一个概念术语类;将所述概念术语集合中的概念术语按照所述概念术语类组织成分类目录后,返回给用户。本发明在现有的搜索引擎的基础上,为用户提供的查询词生成了相应的分类目录,所得到的分类目录能够反映用户查询的不同含义,从而有助于用户更容易、更快捷地找到所需的信息。
文档编号G06F17/30GK101364239SQ20081022379
公开日2009年2月11日 申请日期2008年10月13日 优先权日2008年10月13日
发明者鹏 李, 李亚楠, 李锦涛, 斌 王 申请人:中国科学院计算技术研究所