摘要:依据社区的问答是近几年呈现并流行的一种有用的信息查找网络应用。文章介绍了针对这种社区的元查找引擎的作业原理,信息提取、分词、相关度排序等关键技术的完成办法,试验成果表明元查找引擎提高了查准率。
关键词:查找引擎;元查找引擎;依据社区的问答
中图分类号:TP393 文献标识码:A文章编号:1009-3044(2009)33-9593-04
TheDesignandImplementationofCommunity-basedQuestionAnsweringMetaSearchEngine
HUANGYu1,CHENJun2
(1.JinanShizhongDistrictHospital,Jinan250002,China;2.NetworkandInformationCenter,ShandongUniversity,Jinan250100,China)
Abstract:Community-basedQuestionansweringsiteshaveemergedaspopularandeffectivemeansofinformationseekingonthewebinrecentyears.Thispaperintroducestheprincipleofmeta-searchenginesorientedcommunityandimplementationofkeytechniquessuchasinformationextraction,wordsegmentationandrelevancyranking.Experimentalresultdemonstratesthatmeta-searchenginehassufficientlyimprovedtheprecision.
Keywords:searchengine;meta-searchengine;community-basedquestionanswering
依据社区的问答(Community-basedQuestion-Answering,CQA)站点是近几年呈现并开端流行的一种新的网络应用方式,典型的如百度知道、雅虎常识堂等,在CQA站点中,用户提出自己的问题,答复别人的问题,并对别人给出的对自己问题的回答做出点评。CQA站点中的问题来自于日常日子中各个方面,这些问题的回答日积月累,便形成了一个巨大的百科常识宝库,比方2009年10月初搜搜问问站点已解决问题有1亿多条[1]。为了防止用户的重复发问,便运用户检索、运用已有的常识,CQA站点都供给了查找引擎功用,对当前常识数据库中的内容进行检索。CQA的迅速开展日益引起学者的重视并开端了相关研讨,JiwoonJeon[2]等人提出一个在CQA中主动发现语义类似问题的办法,EugeneAgichtein[3]等人规划了一种从CQA中辨认高质量内容的分类框架,JiangBian,YandongLiu等人[4-5]提出一个按相关性及质量检索答案的办法和一个预测发问者对答复问题满足程度的模型,樊佳怡[6]将图书馆虚拟参阅咨询与CQA做了对比研讨。
用过多个CQA站点中查找引擎的用户会发现,同一个问题,各CQA站点的查找引擎回来的查找成果不尽相同,有的甚至有很大差异。已有学者对google、百度等中外通用查找引擎查找成果的重合率进行了研讨,得出重合率很低的结论[7-8],这为元查找引擎的开展供给了依据。咱们对百度知道、搜搜问问、雅虎常识堂、爱问常识人等4个首要中文CQA站点查找引擎检索成果重合情况进行了研讨,相同得出重合率很低的结论[9],因而,针对CQA站点的元查找引擎是有必要的。咱们规划并完成了一个针对CQA站点的元查找引擎,具有的功用有:能够按语句或关键字检索;假如有匹配的成果直接显现其内容,不然显现最相关的前10个成果。该文介绍了完成该体系的关键技术,并通过试验对该体系的有用性做了验证。
1元查找引擎的作业原理
元查找引擎能够看作建立在查找引擎之上的查找引擎,它相当于一个查找代理,用户提交查询后,元查找引擎依据预置的规矩,将查询发送到其它查找引擎上,将各查找引擎回来的成果汇集处理、排序后呈现给用户,用户得到的是处理过的来自多个查找引擎的查找成果。
如图1所示,元查找引擎的作业过程如下:1)接纳用户的查询恳求q;2)将q的字符格局转化成各查找引擎要求的格局;3)将转化后的查询qi发送到这些查找引擎i,并接纳查找結果集Ri,i=1..n;4)处理查找成果集Ri,如转化格局、消重、排序等,得到最终成果集R;5)将R做为查询q的成果输出给用户。
2关键技术及完成
由上面作业过程可知,一个CQA元查找引擎应具有的功用包括:接纳用户提交的查询恳求;转发查询恳求;接纳查找成果;汇总处理查找成果并输出给查询用户。其间的关键技术在成果的处理上,具体可分为信息提取、分词和相关度排序三部分。下面具体介绍其具体完成办法及程序代码。
2.1信息提取
各查找引擎的检索成果是以网页的方式回来的,网页信息的抽取办法可分为4类:依据网页结构的办法、依据模板的办法、依据可视化分块的办法和依据规矩表达式的办法。由于网页内容、方式各不相同,
宁波网站优化上述各办法均不具有通用性,不能准确抽取网页信息。针对查找引擎回来成果这一特殊情形,回来成果页面方式固定、格局规范,可用正则表达式进行快速、准确抽取。页面内容分三各层次:成果列表、成果、成果中主题,该文的元查找引擎只考虑成果主题,需求用正则表达式准确抽取主题。
成果列表、成果、主题具有包含联系,要获得主题,需求顺次进行成果列表、成果、主题提取,对每个查找引擎回来的成果,依据其页面特征,规划了三个正则表达式,别离抽取成果列表、成果、主题,正则表达式存为配置文件,当页面方式改变时从头规划正则表达式,无需改程序代码。
配置文件格局:
[zhidao]
reg1=(.*?)
reg2=
reg3=target=_blank>(.*?)
reg4=
[yahoo]
…
抽取信息的Perl言语程序代码(去除了字符集转化、异常处理代码)如下,字符变量$wholestr中保存的是抓取的整个网页内容,提取的主题项及对应的链接别离保存在字符数组$result[]和$url[]中。
$wholestr=~s/
//g;
$wholestr=~/$reg1/i; #抽取成果列表
if(!defined($1)){return0;}
@item=split(/$reg2/i,$1); #抽取各成果
for(my$i=0;$i<@item;$i++){
$urladdr=$item[$i];
$item[$i]=~/$reg3/i; #抽取成果中主题
$title=$1;
nextif($titleeq);
$result[$resultnum]=$title;
$urladdr=~/$reg4/i;
$url[$resultnum]="$zhidaourl$1";
$resultnum++;
}
2.2分词
实用性较好的分词办法有依据词典的办法和依据核算的办法。由于CQA站点的查找查询中常会有新词、简称、缩写、商品名称、型号等内容,这些都是词典里少有的,依据词典的办法不适合本应用。咱们选用的是依据核算的N_gram办法,这里N选2。2_gram的根本办法是以2个字为单位重叠组词,如字符串“3G手机上网速度快吗”会切分为“3G手、手机、机上、上网、网速、速度、度快、快吗”。
分词函数代码如下,substr函数用于切词,哈希表$atoken中保存的是被切字符串中的词项及呈现频数。
subtokeniser{
my$rstr=$_[0];
my$tmp=;
my%atoken;
for(my$i=0;$i
$tmp=substr($rstr,$i,4);#切词
$atoken{$tmp}++; #保存切得的词项,其词频数加一
}
return\%atoken;
}
2.3相关度排序
查找成果的相关度排序办法有多种,依据CQA查找引擎的特点,回来成果的第一页是与查询相关度最高的,咱们只取第一页的内容进行排序。咱们的排序办法是:在回来成果中查找是否有与查询完全匹配的标题项,假如有则直接将标题对应的答案内容取回作为查询成果发送给用户;不然对成果按余弦类似度排序,将前10个成果回来给用户。算法描述如下:
输入:各CQA查找引擎回来的查询成果集R、查询q
输出:查询成果
step1:假如调集R为空,则输出“无查询成果”,退出程序。
step2:假如调集R中没有元素与查询q字符串相同,转step5。
step3:获取与q字符串相同的元素对应的链接。
step4:抓取该链接对应的网页,将该页面作为查询成果在界面的指定方位显现,退出程序。
step5:对q分词,并核算每个词项的权重w。
step6:遍取调集R中每一元素,对其分词并核算各词项权重,計算与q的余弦类似度。
step7:依据余弦类似度将R中元素按从大到小的次序排序。
step8:将排在前10位的元素及其对应链接组合成超文本链接在界面的拟定方位显现。
调集中第j个元素rj,与查询q的余弦类似度核算公式为:
(1)
其间t为词项数量,wi,j为rj中第i个词项的权重。wi,j核算公式为:
(2)
ni,j为第i个词项的在rj中呈现的频数,ni为第i个词项在一切元素中呈现的频数,N为一切词项频数之和。
由于Perl言语具有强壮的形式匹配及文本内容处理能力,RedhatLinux体系都带有Perl言语开发环境,无需额定装置,咱们在RedhatLinux9.0下用Perl言语完成了该体系。Web界面部分用PHP言语编写,用于从文本输入框中接纳用户的查询恳求,验证安全后再传递给后台的Perl程序。一个有匹配成果的查询如图2所示,没有匹配成果的查询如图3所示。
图2有匹配成果的查询输出图3没有匹配成果的查询输出
3试验及成果
为了验证该元查找引擎的作用,咱们从网上随机选取了500个查询进行试验,办法如下。
将“吗、呢、啥、哪里、哪些、哪个、哪儿、哪去、哪样、咋样、怎样、怎么、何时、时候、几点、哪天、哪年、哪个月、什么、谁、谁知道、谁有、谁是、谁说、谁清楚、谁理解、睡去、多少、为什么、为何”等中文常用疑问词作为关键词顺次向google提交查询,将google回来成果的前20页保存下来,用正则表达式将这些网页中成果标题提取出来,人工对消重后剩下的5300多条逐项查看,去除了其间的不良信息和陈述句、删除各语句首尾的栏目名、作者名、网站名等无用文字,再次消重,从剩下的4000个标题中随机选取500个作为查询问句。将这500条问句顺次向元查找引擎提交,元查找引擎将查询同时提交给百度知道(用zhidao表明)、腾讯搜搜问问(用soso表明)、雅虎常识堂(用yahoo表明)、新浪爱问(用iask表明),将它们回来成果的第一页别离保存下来,并提取成果标题,假如查询问句与某成果标题相同,则认为有一个匹配成果,该成果所属的查找引擎匹配计数器加1。最终成果列于表1、表2。
该文中界说查找引擎的查准率precision为有匹配成果的查询数与悉数查询数的比值;依据上节的排序算法,元查找引擎的查准率precision为: (3)
其间n为CQA站点查找引擎的个数,Qi为第i个查找引擎中有匹配成果的查询调集,Q为悉数查询的调集。
表1中,zhidao、soso、yahoo、iask列顺次为百度知道、腾讯搜搜问问、雅虎常识堂、新浪爱问四个单一CQA站点查找引擎的匹配数和查准率,Mzsy为查找zhidao、soso、yahoo的元查找引擎的匹配数和查准率、Mzsi为查找zhidao、soso、iask的元查找引擎的匹配数和查准率,以此类推,Mzsyi是查找zhidao、soso、yahoo、iask的元查找引擎的匹配数和查准率。表2是zhidao、soso、yahoo、iask恣意两个组合的元查找引擎的成果。从表1、表2中能够看出,元查找引擎的查准率显着好于单一CQA查找引擎,运用的CQA查找引擎数量越多,查准率越高。
4结束语
该文具体介绍了CQA元查找引擎的作业原理和完成办法,试验表明元查找引擎提高了查准率,元查找引擎运用的CQA站点越多,查准率越高。针对CQA站点的元查找引擎能够提高运用者的查询效率、缩短检索问题的时间,同时也能提高各CQA站点常识库的运用率。
参阅文献:
[1]搜搜问问网[EB/OL].[2009-10-06].http://wenwen.soso.com.
[2]JEONJ,CROFTWB,LEEJH.FindingSemanticallySimilarQuestionsBasedonTheirAnswers[C]//Salvador,Brazil:Proceedingsofthe28thannualinternationalACMSIGIRconferenceonResearchanddevelopmentininformationretrieval,ACM,2005:617-618.
[3]AGICHTEINE,CASTILLOC,DONATOD,etal.FindingHigh-qualityContentinSocialMedia[C]//PaloAlto,California,USA:ProceedingsoftheinternationalconferenceonWebsearchandwebdatamining,CM,2008:183-194.
[4]BIANJ,LIUYD,AGICHTEINE,etal.FindingtheRightFactsintheCrowd:factoidquestionansweringoversocialmedie[C]//Proceedingofthe17thinternationalconferenceonWorldWideWeb.2008,Beijing,China:ACM,2008:467-476.
[5]LIUYD,BIANJ,AGICHTEINE.PredictingInformationSeekerSatisfactioninCommunityQuestionAnswering[C]//Proceedingsofthe31stannualinternationalACMSIGIRconferenceonResearchanddevelopmentininformationretrieval,2008.Singapore,Singapore:ACM,2008:483-490.
[6]樊佳怡.图书馆虚拟参阅咨询与互动问答咨询的比较与启示[J].图书馆研讨与作业,2007(4):37-40.
[7]SPINKA,JANSENBJ,BLAKELYC,etal.AStudyofResultsOverlapandUniquenessamongMajorWebXearchEngine[J].InformationProcessingandManagement,2006,42(5):1379-1391.
[8]王益明,刘菲.中文查找引擎查找成果重合率研讨报告2007[R/OL].[2009-04-03].http://www.searchlab.com.cn/thesis.php.
[9]黄玉,陈军.依据社区的问答查找引擎查找成果重合率研讨[J].山东科学,2009,22(8):59-63.
本文转载自
宁波网站优化www.leseo.net
补充词条:
宁波网络seo
宁波seo网站优化
宁波网站seo
宁波网站排名优化
宁波谷歌seo