1、基于科技文献的专家发现系统设计与实现哈尔滨工业大学本科毕业设计(论文)I摘 要如今已经跨入了 21 世纪,知识已经在人类社会中取得了主导位置,掌握一定的专业技能,具有一定的专业经验的人才已经成为社会各界组织,企业的重要财富。 专家则是各个领域的领导者。如何快速有效的利用专家资源已经成为了一个企业、组织或个人能否快速发展的重要因素。专家发现系统则应运而生。专家发现,是一种对实体的检索。它的结果是得到擅长与查询主题相关领域的专家,它的数据依据则有很多种,包括:专家发表过的文献,参加过的调研活动,工作过的部门,社会经历以及与其他专家的社交关系等等。本文设计并实现了一个基于科技文献的专家发现系统。本系
2、统使用了 DBLP上的文献数据,构建了专家描述文件,利用信息检索的方法发现候选专家,根据候选专家与查询主题相关的论文数量来对专家进行排序。用户可以通过输入查询主题,点击查询按钮而得到候选专家,并且可以查看每位专家的文献。经由与 tangjie 的数据集对比,本专家发现系统有较为不错的准确率以及召回率。本文还依据谷歌的专家 H-index,人工对发现结果进行评价,候选专家的排序结果基本同 H-index 升降趋势相同。专家发现的结果比较令人满意。本文专家发现系统的平均等待时间较为合理,用户等待时间也在可承受范围之内。关键词:专家发现;信息检索;相似度计算;专家排序哈尔滨工业大学本科毕业设计(论文
3、)IIAbstractThe knowledge already has achieved a leading position in the human society in the 21 century. Talents who master certain professional skills have become the important wealth of the organizations and enterprises , Experts are leaders in various fields. How to fast and efficiently make use
4、of the expert resources has become an important factor that can lead to organization or individual rapid development. So, expert finding appeared . Experts finding is a kind of retrieval of entities. Its result is experts that are good at the query field, its data base has a lot of kinds, including:
5、 experts published literature, the research activities, experience in some department, social experiences and social relationships with other experts and so on.This paper designs and realizes a experts finding system based on science and technology literature. The system uses the literature on the D
6、BLP data ,and constructs the expert description file, finds candidate experts by using the method of information retrieval, depending on the amount of the experts paper related to the query ,the system sorts experts. Users can input query subject , click the query button and get the candidate expert
7、s, and can also view the document of each expert.Through compared with standard data sets,the expert finding system has a relatively good accuracy and recall rate. This article is also based on Googles expert H - index, artificially evaluate the findings, the ranking results of candidate experts wit
8、h H -index fluctuation trend is similar. Experts finding system results are satisfactory. the systems average wait time is relatively reasonable, the users waiting time also in an acceptable range.Keywords: expert finding, information retrieval, similarity calculation, expert sorting哈尔滨工业大学本科毕业设计(论文
9、)1目 录摘 要 .IAbstract .II第 1 章 绪 论1.1 课题背景及研究的目的和意义 .31.2 专家发现的研究现状 .31.3 本文的主要研究内容 .51.4 本章小结 .6第 2 章 专家发现系统的总体设计2.1 系统结构设计以及工作安排 .72.2 文献数据采集与分析 .92.2.1 文献数据采集 .92.2.2 dblp 数据的分析 .92.3 专家描述文件构建 .102.4 信息检索 .102.5 结果统计以及排序方法 .112.6 UI 界面的设计 .112.7 评价方法 .122.8 系统实现的语言环境 .122.9 本章小结 .13第三章 专家发现系统的具体实现3
10、.1 数据采集 .143.2 数据处理与解析 .143.3 文献索引的设计与创建 .163.3.1 document 的设计 .163.3.2 文献索引的建立 .173.4 根据查询主题检索文献索引 .183.5 统计查询结果与候选专家的排序 .193.6 专家发现系统的 UI 的设计与实现 .213.7 本章小结 .23第 4 章 专家发现系统的结果分析4.1 本文专家发现系统的测试结果 .244.2 数据集大小对候选专家表的影响 .264.3 专家发现排序方法对候选专家表的影响 .274.4 本文测试的不完善之处 .274.5 本章小结 .27哈尔滨工业大学本科毕业设计(论文)2结论 .2
11、9参考文献 .30致谢 .31哈尔滨工业大学本科毕业设计(论文)3第 1 章 绪 论1.1 课题背景及研究的目的和意义如今已经跨入了 21 世纪,知识已经在人类社会中取得了主导位置,掌握一定的专业技能,具有一定的专业经验的人才已经成为社会各界组织,企业的重要财富,专家则是各个领域的领导者。如何快速有效的利用专家资源已经成为了一个企业、组织或个人能否快速发展的重要因素。专家发现系统则应运而生。专家发现,是一种对实体的检索。它的结果是得到擅长与查询主题相关领域的专家,它的数据依据则有很多种,包括:专家发表过的文献,参加过的调研活动,工作过的部门,社会经历以及与其他专家的社交关系等等。本文旨在于能够
12、为学生,教师,研究人员等群体提供一个用户易用的专家发现系统,使用户能够快速的找到查询领域的专家,以便于用户可以进行学习和学术交流。并且用户还可以找到候选专家的相关文献名,作为相关的学习资料。1.2 专家发现的研究现状专家发现的任务是,给出一个查询主题,通过专家发现系统得到与查询主题相关的专家。而专家发现的研究则面临着以下几个问题:(1) 如何通过专家文献以及活动(所在单位,参加过的科研项目,重大会议等)来识别出相关查询主题的专家。(2) 如何确定候选专家在查询主题领域的知识水平。(3) 除了专家的文献以及相关活动,如何通过其他指标对专家发现的结果进行改进优化。国际文本检索会议 TREC(Tex
13、t Retrieval Conferences)于 2005 年组织建立了一系列专家发现的讨论,国内外很多高校研究机构也纷纷加入了其中,近年来也出现了一些国际重要学术会议对专家发现进行了讨论研究。逐渐形成了两种基本方法,一种是以文档为个体单位,统计其中的参与专家作为数据依据;另一种方法是以专家作为个体单位,通过统计候选专家的活动(文献,研究工作等) ,作为数据依据,而最终得到一个依据关联程度排序的候选专家结果表。除此之外出现了许多依据其他相关数据对专家发现结果进行改进和优化的方法。如面向用户哈尔滨工业大学本科毕业设计(论文)4的专家发现方法,拓展查询的专家发现方法,基于社交网络的专家发现方法等
14、等。这些方法不仅会将论文,著作以及研究工作这些直接相关的数据作为依据,还会将如地理位置,工作单位,同事关系,邮件关系,合著关系等数据作为依据将专家发现的结果进行优化和改进 1。专家发现的两种基本方法如下:1)基于专家描述文件的专家发现方法一个人是不是某领域的专家,最直接的判断方法是,这个人是否从事过一些相关主题的研究工作,是否撰写过相关的研究论文,是否出过相关书籍,做过相关领域的导师,或是他所在的部门是否为相关领域部门,他在本部门的地位等等,这些专家的个人信息较为直接的表明了此人是否为相关领域的专家。基于专家描述文件的专家发现方法是将专家的个人信息统计到一个描述文件中,再根据信息检索的知识,对
15、查询主题在专家描述文件中进行检索,描述文件与查询主题的检索相似度越高,则此人越可能是该领域的专家 2。2)基于文档的专家发现方法基于文档的专家发现方法则与基于专家描述文件的专家发现方法的检索对象不同,基于专家描述文件的方法的检索对象可以说是一个专家,而基于文档的专家发现方法则可以说是对某篇文献,或是某项研究工作进行检索,若这篇文献或研究工作与查询主题相关,则统计参与的人员 3。其中专家参与相关领域的研究工作,或是文献越多,则专家越有可能是相关领域的专家。当给定一个查询主题,首先找到与查询主题相关的文档,然后在文档中统计参与其中的专家,根据每个文档的权值以及专家出现的次数对候选专家进行排序,从而
16、得到专家发现结果表。在专家发现的两种基本方法基础上,又有很多人根据不同需求或是为了让结果更准确通过加入其它的一些数据依据对专家发现的结果进行改进。简要介绍如下几种方法。1)面向用户的专家发现方法本方法主要是为了提高用户体验而进行的专家发现的优化 4。一个正常的使用者能否达到最佳使用体验主要考虑一下两方面:一个是使用者联系候选专家的难易程度,另一个是候选专家与使用者的相对专业知识水平。使用者联系专家的难易程度,是以如地理位置,候选专家与使用者之间直接或间接关系等相关数据作为依据,优化候选专家的排序表。候选专家与使用者的相对专业知识水平,指的是专家的知识掌握程度比使用者高出多少,将专家发表的文献,
17、参与的项目或是知名程度作为数据依据,来优化候选专家列表。如此则能得到用户最需要的候选专家。哈尔滨工业大学本科毕业设计(论文)52)在组合管理系统中基于目的的专家发现方法在一个管理系统中,通常一个人的地位可以作为专家发现的一个重要指标,地位越高,管理的人越多,那么这个人越有可能是这个领域的专家 5。这种专家发现方法具有一定的目的性,将组合管理系统的所属关系作为数据依据,总管、总管手下的职员数目,以及职员所属哪个总管等数据都将作为数据依据,对候选专家结果表进行优化。3)基于社交网络的专家发现方法通常情况下,如果一个人的好朋友群体是一个专家群体,那么这个人则有更大的可能也是专家 6。而两个人是否具有
18、比较亲密的关系,在社交网络中有直接的体现。本方法将候选专家的社交网络关系作为一个专家的评级因素。如师生关系,同事关系以及合著关系等等。与其他专家合作的关系越多,或是熟识公认的候选专家等则应加上相应权值,因为其有更大的可能性也是该查询领域的候选专家。基于社交网络的专家发现方法,在一定程度上对专家发现的结果起到了优化的作用。4)基于电子邮件的专家发现这种专家发现方法通常都是在企业内部,由于企业内部电子邮件的信息通常都是公开的,数据易于取得,并且企业内部的公开电子邮件包含了许多专家的擅长领域的信息,而且电子邮件的格式规整,易于处理,通常,邮件的交流内容若多是某一学术方面的邮件,则这个人可能是这方面领
19、域的专家,因此电子邮件信息在有公开电子邮件信息的场合应用于专家发现系统,将会带来很好的优化 7。1.3 本文的主要研究内容本文主要设计并实现了一个基于专家文献的专家发现系统,具体内容包括:(1) 专家发现系统的数据集采集,本文采用 dblp 上的文献 xml 数据库。dblp 拥有较为全面的文献资料。为本文专家发现系统提供充实的数据集。(2) 对 dblp 数据库的 xml 文件进行大文件解析。采用 sax 方法逐条解析变换成本文专家发现系统易于使用的数据格式,并归纳到一个文件中。(3) 利用检索方法建立索引,设计易于专家发现系统查询的索引格式,建立索引时,根据每个文献的作者数量动态的形成每一
20、条目的领域个数,包括标题域,多个作者域,以及作者数量域。(4) 对查询主题在索引中进行查询。利用 lucene 中的查询方法,查询相关主题的document。(5) 对专家发现查询结果进行统计排序。统计时利用 hash 表的原理,遇到与 key哈尔滨工业大学本科毕业设计(论文)6值相同的值则 value 值增加,并将文献名称添加到另一个与本表同步的 hash表的 value 值最后,形成专家的描述文件。再利用 list 结构的特性对专家结果进行排序。从而得到一个候选专家表。(6) UI 界面的设计实现。用户可输入查询主题,点击查询按钮,系统将返回相应的候选专家列表。用户也可通过输入候选专家序号
21、查看该候选专家的描述文件。(7) 分析实验结果。与 tangjie 的实验数据进行对比,得到其准确率以及召回率,并且人工查询候选专家的 H-index,作为候选专家排序结果的分析依据。还将统计系统运行时间,查看不同数据集大小,不同算法对候选专家表准确性以及系统运行时间的影响。1.4 本章小结专家发现方法的研究在目前的学术界已经引起广泛关注,并逐渐形成了两种基本方法即:基于文档的专家发现方法以及基于专家描述文件的专家发现方法。在此基础上,根据不同需求,发展出许多可优化专家发现结果的方法如:面向用户的专家发现方法、在组合管理系统中的专家发现方法以及基于社交网络的专家发现方法。本文将实现一个基于文献
22、的专家发现系统,利用 dblp 上的文献数据库,解析该数据库文件并提取出系统所需数据,建立索引,在索引中对查询主题进行检索,处理专家发现检索结果数据,得到候选专家排序列表。最后设计实现一个用户使用的 UI 界面,并对专家发现结果进行评估。哈尔滨工业大学本科毕业设计(论文)7第 2 章 专家发现系统的总体设计2.1 系统结构设计以及工作安排实现一个专家发现系统有如下几个条件:(1) 一个数据量足够大,易于处理的一个专家活动或文献的数据源,作为专家发现系统的数据依据。(2) 一个快速有效的检索方法,用来检索庞大的数据源中的数据。(3) 一个适用于本系统的数据统计方法。(4) 一个合适的排序算法。(5) 合理的 UI 界面。本文专家发现系统设计了如下几个部分:(1) 解析数据。(2) 建立文献索引。(3) 检索查询主题。(4) 统计检索结果并实现排序算法。(5) UI 界面。本文的基于文献的专家发现系统结构如图 2-1。专家发现系统的实现工作主要分为以下几个步骤:(1) 数据采集,得到合适的数据源。(2) 数据处理,将采集到的数据处理为系统可用的数据。(3) 实现对数据的检索。(4) 对检索结果进行统计排序得到候选专家列表。(5) 设计与实现 UI 界面。(6) 对系统结果进行评价。图 2-2 为本文专家发现系统的工作流图。