CN101501630A - 基于相关性对搜索结果列表中的电子文件进行排名和排序的方法 - Google Patents

基于相关性对搜索结果列表中的电子文件进行排名和排序的方法 Download PDF

Info

Publication number
CN101501630A
CN101501630A CNA2006800518620A CN200680051862A CN101501630A CN 101501630 A CN101501630 A CN 101501630A CN A2006800518620 A CNA2006800518620 A CN A2006800518620A CN 200680051862 A CN200680051862 A CN 200680051862A CN 101501630 A CN101501630 A CN 101501630A
Authority
CN
China
Prior art keywords
file destination
word
score value
search
keyword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800518620A
Other languages
English (en)
Other versions
CN101501630B (zh
Inventor
王啸云
王晓磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CN101501630A publication Critical patent/CN101501630A/zh
Application granted granted Critical
Publication of CN101501630B publication Critical patent/CN101501630B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种对搜索结果列表中的目标文件的相关性等级进行评估的方法,包括以下步骤:给在该目标文件中找到的所有关键字分配基本评分;对在该目标文件中找到的关键字进行分组;给每一个关键字字组分配额外评分值;计算整个该目标文件的总评分值;计算整个该目标文件的最大评分值;以及根据该目标文件的总评分值和最大评分值的比较函数来计算所述相关性等级。

Description

基于相关性对搜索结果列表中的电子文件进行排名和排序的方法
技术领域
本发明涉及一种排名(ranking)系统,该排名系统用于确定针对搜索用户提出的搜索查询而识别出的目标文件的相对相关性,并且按相关性等级从高到低的顺序列出这些目标文件。
背景技术
在过去几十年里,信息技术(IT)迅猛发展,并且已经改变了存储和管理文档和文件的方式。现在,越来越多的文档和文件是以电子形式来存储的。这些电子文件可以存储在电子数据库中,并且可以利用计算机化搜索技术来查询。随着在本地机器或者在局域网(LAN)或互联网内的远程机器上可获得越来越多的可搜索电子文件,搜索结果的质量对于帮助搜索用户找到他们想要的正确信息就变得越来越重要了。
以下文献与web和数据库搜索和结果排名技术有关:
美国专利文献:
6,285,999  9/2001 Page
6,560,600  5/2003 Broder
6,871,202  3/2005 Broder
其它公开物:
Michael W.Berry,et al,“Understanding Search Engines:MathematicalModeling and Text Retrieval”,2005
John Battelle,“The Search:How Google and Its Rivals Rewrote theRules of Business and Transformed Our Culture”,2005
S.Brin,et al,“The Anatomy of a Large-Scale Hypertextual Web SearchEngine”,http://www-db.stanford.edu/~backrub/google.html,StanfordUniversity,1999
L.Barlow,“How To Use Web Search Engines-Tips on using internetsearch sites like Google,alltheweb,and Yahoo.-Page 4-How Search EnginesWork”,http://www.monash.com/spidap4.html The Spider’s Apprentice,Monash Information Services,2004
Fluid Dynamics Software Corporation,“Sorting Results:HowRelevance is Calculated”,http://www.xav.com/scripts/search/help/1074.html,Aug.2003
Webconcerns,“ASP.Net Scripts-site crawler,indexer and searchengine(page 1 of 5)”,http://www.webconcerns.co.uk/aspnet/searchdb/default.asp,Sept.2005
K-Praxis,“Emerging Face of Information Search Part 2:RelevanceRanking of Results”,http://www.k-praxis.com/archives/000111.html,July2004
L.Zeltser et al“High Precision Information Retrieval with NaturalLanguage Processing Techniques”,http://www.zeltser.com/info-retrieval/,1997
T.Viall,untitled,http://www.ri.gov/downloads/search wp.doc,State ofRhode Island,June 2005
Greg R.Notess,“Unusual Power Web Searching Commands”,http://www.infotoday.com/online/nov03/OnTheNet.shtml Online,Vol.27 No.6,Nov/Dec 2003。
很多互联网搜索引擎,如谷歌(Google)、雅虎(Yahoo!)和微软公司(Microsoft)的msn.com,都一直在致力于改进搜索结果的质量。例如谷歌就是采用它著名的网页排名(PageRank)技术,通过给网页评名来帮助搜索用户找到最流行和最重要的网站。网页排名评定的网页的排名是递归定义的,并取决于通过超链接而链接到该网页的所有网页的网页排名测度数。一个针对网页的超链接被算成一个支持投票。一个被很多高排名的网页链接的网页本身也会得到高排名。网页排名认为一个网页的重要性取决于链接到它的网页的数量和排名。
然而,网页排名有两个主要缺点。第一个主要缺点是它有利于老网页,因为一个新网页,即使是一个非常好的网页,也不会具有很多链接或引用,除非它是现有高排名网站的一部分。因此,网页排名没有同等对待所有的网站和网页。第二,在大部分情况下,搜索用户并不关心网站有多么重要或多么流行。他们只想得到和他们的搜索查询最相关的结果。在桌面搜索的情况下,因为与网页不同,存储在本地计算机的大部分文件如简历和信件等并没有后链接,因此网页排名将不起作用。
一般认为相关性是一个文件相对于搜索用户需求的合适度。研究相关性搜索和排名的最常见方法之一是向量空间模型(vector space model)。使用向量空间信息检索(IR)模型时,要建立一个词-文件矩阵。该矩阵的列是文件向量,而该矩阵的行被认为是词向量。一般使用查询向量和文件向量之间夹角的余弦值来衡量查询匹配的相似性。由于可以对检索出的目标文件排名,因此对于搜索用户来说向量空间模型比传统索引方法具有显著的优势,从而几乎消除了在精确匹配系统中没有结果的情况。然而,由于向量空间模型以词-文件矩阵开始,因此它首先不可避免地丢失了搜索词是单独的还是被分组在一起的信息。因此,和其它方法一样,它只处理单独搜索词,而无法处理搜索词在目标文件中被分组在一起的情况。
发明内容
本发明涉及一种根据搜索结果列表中的文件的可能相关性对这些文件进行排名的方法。本发明的各个不同方面提供了对搜索结果列表中的目标文件(即,可搜索的电子文件)进行排名和排序的方法。
本发明认为,针对搜索查询的相对相关性不是文件的重要性或流行性的函数,而是关键字词或其等同物在文件主体中的出现和组合的函数。通过关注文件的内容,本发明克服了基于排名系统的网页排名的上述缺点。
在一个方面,本发明是一种对搜索结果列表中的目标文件的相关性等级进行评估的方法。该方法包括以下步骤:
给在该目标文件中找到的所有关键字分配基本评分;
对在该目标文件中找到的关键字进行分组;
给每个关键字字组分配额外评分值;
计算整个该目标文件的总评分值;
确定整个该目标文件的最大评分值;以及
计算该目标文件的相关性等级。
本发明的进一步的方面涉及确定分配给目标文件内的关键字字组中的每个关键字的额外评分值的技术,并且涉及通过把目标文件内的关键字评分和关键字字组评分加在一起来确定文件评分的技术。计算作为确定相关性所依据的基础的目标文件的最大评分值,构成了本发明的又一个方面。
本发明的另一个方面是根据通过将文件评分除以文件最大评分所得的百分比来给目标文件排名。因此,目标文件的相关性等级就是具有不同评分值的所有关键字和关键字字组的平均出现频率。通过使用这种方法,与搜索查询最相关的文件得到最高的相关性等级。
本发明通过分析搜索查询和目标文件之间的相关性,极大地改进了电子文件搜索结果的质量。它可以用来搜索任何可搜索的文档和文件,如万维网上的网页,以及台式/膝上电脑中的文件。
附图说明
图1例示了使用计算机化机器来计算目标文件的相关性等级的流程图。
具体实施方式
以下详细描述包含了用于例示目的的很多方面,任何本领域技术人员都会明白很多这些方面的变型和改动也落在本发明的范围之内。因此,在不失去所要求保护的发明的普遍性的情况下,对本发明的下列实施方式进行描述。
在本申请中任何地方提到的所有已公开文件,包括所有美国专利文件,都明确地通过引用以全部内容并入于此。在本申请中任何地方提到的任何未决的专利申请,也都明确地通过引用以全部内容并入于此。
本发明方法开始于一组被识别为包含规定了一搜索查询的所有关键词或等同词的目标文件。这些目标文件可以通过从全文本文件集、摘要数据库和/或索引数据库(例如,web爬虫数据库)中搜索可见文本而识别出。任何由计算机化机器电子存储和处理的电子文件都能够用这种方式搜索来产生结果集。
本发明特别有益于在运行于互联网上的搜索引擎中使用。至少在互联网搜索实施方式上,本发明可以有助于从搜索的文件信息中排除掉注释标签、元数据(meta data)和/或替代文本,因为只有可见文本可能被阅读者认为是相关的,并且因为隐藏的文本经常被用来产生对web文件的点击,这些web文件的可见内容和搜索用户的意图毫不相干。但是在其它实施方式中,也可以包括在隐藏文本上产生的点击。
本发明根据搜索查询和目标文件内容之间的相关性对结果集进行运算,来确定各目标文件的相关性等级。这些文件可以按相关性等级的顺序合适地从高到低列出。
为了确定一个文件的相关性等级,对目标文件中的每个关键字都赋予一评分值。为此目的,根据已知的实践,对查询进行清洁,以删除查询中不可搜索的词,如“该”、“一个”、“的”、“里”、“和”、“或”等。同时也要去除标点符号,如引号、省略号、连字符号、逗号、冒号、分号等。在一些实施方式中,用连字符号连接的词可能是联合的而非单独的。关键字是在执行了这种清洁之后在搜索用户的查询中剩下的字。
类似地对正被检查的目标文件的内容进行清洁,以清除不可搜索的字,从而产生按在目标文件文本中出现的顺序排列的可能关键字的列表。当识别到匹配时,分配评分值。目标文件中与关键字不匹配的字得到零分评分值。举例来说,关键字评分值可以按一个关键字出现一次分配值1的方式来分配。
出于确定目标文件中针对关键字的匹配的目的,本发明方法可以使用精确匹配要求。然而,在本发明一些实施方式中,可以查找字典来确定视为等同于一个特定关键字的替代字形式。替代字形式包括复数形式、动词不同时态等。
在另一个实施方式中,可以查找辞典或其它同义词列表来确定被视为是关键字的匹配的替代字。对于同义词列表中的字的匹配的情况,分配给同义词的评分值可能要比精确和/或字典等同匹配中的替代字的要小一些。
根据本发明的一个实施方式,还将目标文件中相邻出现的关键字组合到一起。根据额外评分算法,所有组合的关键字得到一个额外评分值。相比于具有较少关键字的组合关键字,具有较多关键字的组合关键字被分配了较高的额外评分值。当一关键字字组包含的关键字数超过搜索查询中的关键字数时,对该字组中的每个关键字分配的额外评分值是相同的,如同对于关键字数和搜索查询中的相同的字组的情况一样。这样目标文件中的各关键字的总评分就通过总关键字评分和为该目标文件确定的额外评分的和提供了针对该特定文件的文件评分。
在关键字额外评分分配的示例中,相邻组合的两个关键字的每次出现都使所述关键字被分配一附加评分值。相邻组合的三个关键字还被分配一附加评分值,依此类推。此方法类似于扑克牌游戏,其中,“AAAA”或“JQKA“组合中的“A”牌要比单独的“A”牌更大。该方法给目标文件中相邻关键字数量不同的字组中的关键字分配不同的评分值,这是本发明的一个关键特征。关键字不必和它们在搜索查询中顺序一致。利用一种数学算法来评估含有两个或两个以上关键字的字组中的每个关键字的评分值。
在指定目标文件中所有关键字的评分值之后,通过对所有评分值求和来评估文件评分。通过把清洁后的目标文件的字数乘以关键字数和搜索查询中的关键字数相同的字组中的关键字的评分值,来评估文件最大评分值。
然后,通过比较文件的文件评分和最大文件评分,来评估该目标文件的相关性等级。比较函数合适地可以是简单的百分比,或者也可以使用其它更复杂的计算。当确定了每个目标文件的相关性等级之后,就可以按等级顺序将结果返回给搜索用户。
当搜索用户开始搜索文件时,他/她在搜索框中输入查询,接着点击搜索按钮开始搜索。搜索查询可以是短语、完整的句子或者只是一组关键字。根据选择的搜索标准,搜索机接着向搜索用户返回含有搜索查询中的所有关键字的所有文件的列表。在此,我们把目标文件定义成是搜索结果列表中的所有文件,并且把搜索查询中的所有字都当成关键字。
在每一个目标文件中,找到的关键字或者单独在文件中(即,不和任何其它关键字相邻),或者和其它关键字组合在一起。例如,如果搜索查询是“凌志汽车经销商”,目标文件中可能含有单独的关键字如“凌志”、“汽车”或“经销商”,或者可能含有组合在一起的关键字如“凌志汽车经销商”、“凌志汽车”、“汽车经销商”或“凌志经销商”。组合在一起的关键字不必和它们在搜索查询中的顺序一致。因此,“汽车凌志”也被认为是一个关键字字组。
以下示例仅用来例示如何使用数学算法来评估目标文件中的每个关键字的评分值。可以选择并分配不同的初始评分值。在此示例中使用的是倒数函数f(x)=1/x。也可以使用其它数学函数,包括线性函数、多项式函数、有理函数、指数函数、对数函数以及这些函数的组合,来评估每个组合关键字的额外评分值。
在例示之前,我们定义以下要在本示例中使用的符号。
符号:
N   搜索查询中的关键字数量
M      目标文件中的字数
K1K2...KN  搜索查询短语,其中K1、K2、……和KN代表搜索查询中的各单独关键字
n型字组含有n个关键字的关键字字组,其中n≤N;当n>N时,所有n型字组都被定义成N型字组
WC(n)     n型字组中的关键字得到的总评分值
Mn     目标文件中的n型字组的关键字总数
DC     目标文件得到的评分值
MaxDC  目标文件得到的最大评分值
Rel    目标文件得到的相关性等级
在本示例中,我们假设搜索查询短语含有N个字。由于我们把清洁后的搜索查询中的所有字都当成关键字,因此搜索查询中的关键字数是N。当n大于1时,在含有n个成员的字组中的关键字同时也在含有(n-1)个成员的字组中。但在本发明中,提到“n型字组中的关键字”,是指该关键字出现在一个含有最多n个关键字的独特组合中。例如,如果我们有关键字组K1K2K3,那么K2这次就出现在3型字组中。关键字K2在文件中其它地方的出现可能是单独的,或者在n或大或小的字组中,如在2型字组K1K2或K2K3中。根据所关注的特定组合的最大长度来确定K2每次出现的评分值。
组合的关键字,如K1K2、K1K2K3、K3K2K1或K1K3K6,不必是连续的,并且不必和它们在搜索查询短语中的顺序一致。
在本示例中,把任何字组中的最大关键字数取为搜索查询中的关键字数量。因此,当n型字组中的关键字数大于搜索查询中的关键字数时,我们定义此字组为N型字组,其中N是搜索查询中的关键字数。所以,n永远不会大于N。
另外在本示例中,在目标文件中发现的所有关键字都被分配评分值一(1)。这是任意分配的,也可以使用不同的值。也就是说,WC(1)=1。每个在2型字组中的关键字被分配一额外评分。该额外评分的值也可以通过从1型字组到2型字组的关键字数增加的百分比来计算。也就是说,WC(2)=WC(1)+(2-1)/1。类似地,WC(3)=WC(2)+(3-2)/2,依此类推。然后我们能够得到WC(n)=WC(n-1)+1/(n-1),其中2≤n≤N。
我们把结果列成以下公式:
WC(1)=1                      (1)
WC(2)=WC(1)+1                (2)
WC(3)=WC(2)+1/2              (3)
WC(4)=WC(3)+1/3              (4)
……
WC(n)=WC(n-1)+1/(n-1)              (n)
WC(N-1)=WC(N-2)+1/(N-2)            (N-1)
WC(N)=WC(N-1)+1/(N-1)              (N)
当搜索查询中的关键字数N相当大时,缺少一个关键字就不很重要。因此,
lim N → ∞ WC ( N ) = lim N → ∞ WC ( N - 1 )
通过把公式(1)到公式(n)加到一起并化简所得的公式,我们得到n型字组中的各关键字具有的评分值:
WC ( n ) = 1 + Σ i = 1 n - 1 1 i , 其中2≤n≤N
Mn是目标文件中的n型字组关键字总数。我们通过对目标文件中的所有关键字的评分值求和,来评估该目标文件的评分值DC。
DC = Σ n = 1 N M n WC ( n ) ,
DC = M 1 + Σ n = 2 N [ M n ( 1 + Σ i = 1 n - 1 1 i ) ]
文件最大评分值MaxDC可以计算为:
MaxDC = M ( 1 + Σ i = 1 N - 1 1 i . )
最后,目标文件的相关性等级Rel可以表示成:
Rel = DC MaxDC ,
Rel = M 1 + Σ n = 2 N [ M n ( 1 + Σ i = 1 n - 1 1 i ) ] M ( 1 + Σ i = 1 N - 1 1 i )
上述用于评估目标文件的相关性等级的数学算法很容易用计算机化技术来实现。图1例示了使用计算机化机器来计算目标文件的相关性等级的流程图。
在搜索用户在搜索文本框中输入搜索查询并点击搜索按钮后,该计算机化机器搜索数据库或文件列表,来查找含有关键字的目标文件,并用搜索结果列表把它们列出来。然后,图1中的过程从起始块102开始。
过程进行到块104,在此,机器取得搜索查询,通过去除所有无用的符号和字如“:”、“;”、“和”和“或”来对该搜索查询进行清洁,并且把搜索查询短语分开以得到所有单独的关键字。
过程进行到块106,在此,机器从搜索结果列表中取出一个目标文件,通过去除所有无用的符号和字如“:”、“;”、“和”和“或”来对该目标文件进行清洁,并且把该目标文件的文本分开以得到所有单独的字。
过程进行到块108,在此,机器从目标文件中取一个字并把它和所有关键字进行比较。机器从头到尾逐个处理字。
过程进行到块110,在此,如果机器发现字匹配任何关键字,则过程进行到块112,否则过程进行到块122。
在块112,由于字是关键字,所以对字分配一分评分值。相应地,文件评分也增加一分。
从块112,过程进行到块114,在此,如果前一个字也匹配一关键字,则过程进行到块116,否则过程进行到块118。
在块116,字组长度增加一。字组长度是用来对一关键字组中的关键字数进行计数的变量,并且后面用来计算字组评分值。
从块116和块114,过程也进行到块118。在块118,如果当前字是目标文件中的最后一个字,则过程进行到块132,否则,过程进行到块120,在块120,过程进行到块108,并且开始处理下一个字。
在块132,机器用字组长度来计算当前关键字组的额外评分值。如果字组长度是n并且n不小于搜索查询长度N,那么该字组中的每个字得到的额外评分是1+1/2+1/3+...+1/(n-1)。即其中2≤n≤N。如果字组长度大于N,那么该字组中的每个字得到的额外评分是1+1/2+1/3+...+1/(N-1)。即
Figure A200680051862D00142
因此,整个字组的总额外评分值是
Figure A200680051862D00143
(2≤n≤N),或者是 n Σ i = 1 N - 1 1 i ( n > N ) . 然后把该额外字组评分加到目标文件的总评分值上。然后过程进行到块134。
在块122,字不是关键字,因此被分配零分评分值。
从块122,过程进行到块124,在此,如果前一个字也匹配一关键字,则过程进行到块126,否则过程进行到块128。
在块126,机器通过使用前一个关键字组的字组长度来计算该前一个关键字组的额外评分值。前一个关键字组是恰在该非关键字之前的一个字组。如果前一个字组的长度是n,那么该字组中的关键字数就是n。用和块132中相同的方式来计算额外字组评分。然后把它加到目标文件的总评分值上。然后过程进行到块128。
从块126和块124,过程进行到块128。在块128,如果当前字是目标文件中的最后一个字,则过程进行到块134,否则,过程进行到块130,在块130,过程进行到块108,并且开始处理下一个字。
从块132和块128,机器已经处理了目标文件中的所有字并且已经得到了目标文件具有的总评分值。然后,过程进行到块134。在块134,机器通过把目标文件的字数M乘以该目标文件中含有和搜索查询中相同关键字数的字组中的一关键字的评分值来计算目标文件得到的最大评分值。
从块134,过程进行到块136,在此,机器通过把目标文件的总评分值除以它的最大评分值,来计算目标文件的相关性等级。计算目标文件的相关性等级的过程到此完成,并在块138结束,然后可以开始处理下一个目标文件。
图1所示的以上过程很容易由几乎所有的计算机语言来实现,这些计算机语言例如为C#、C++、C+、C、VB.NET、VBScript、Visual Basic、FORTRAN和汇编语言。以下示例是使用Microsoft C#语言的软件实现。所有斜体字是有关代码模块的注释。本领域的技术人员很容易理解这个示例。
Figure A200680051862D00152
   //在搜索用户输入搜索查询并点击按钮后,把搜索查询存储在字符
串txtSearchQuery中。
    protected void ClickSearch(Object sender,System.EventArgs e)
    {
       //使用Clean()函数来清除多余的符号和词。
       string strSearchQuery=Clean(txtSearchQuery.Text.Trim());
       //使用空格作为分隔符来从字符串strSearchQuery中得到各个
单独的关键字并把它们存储在数组keyword[i]中
       string[]keyword=null;
       char[]splitter={"};
       keyword=strSearchQuery.Split(splitter);
       //计算搜索查询中的有效关键字数
       int N=keyword.Length;
//把目标文件存储在字符串变量txtDoc中
//使用Clean()函数来清除多余的符号和词。
        string strDoc=Clean(txtDoc.Trim());
        string[]word=null;
        word=strDoc.Split(splitter);
        //计算目标文件中的字数
        int M=word.Length;
        //定义整数数组wordCredit来存储目标文件中每个关键字的评
分值
         int[]wordCredit=new int[M];
         //定义双精度变量docCredit来存储文件评分值并将其初始值设
置成零
         double docCredit=0.00F;
  //定义整数变量groupLength来存储一字组中的关键字数并将其初
始值设成一
      int groupLength=1;
      //从字0到字M-1计算文件评分值。
      for(int m=0;m<M;m++)
      {
          int n=0;
          while(n<N && wordCredit[m]==0)
          {
                //如果字是其中一个关键字
                if       (word[m].ToLower().Trim()            ==
keyword[n].ToLower().Trim())
                {
                     //如果字是其中一个关键字,则将该字的评分值
设置成一
                     wordCredit[m]=1;
                     //文件评分值也相应地增加一
                     docCredit++;
                     //如果前一个字也是关键字
                     if(m>0 && wordCredit[m-1]==1)
                     {
                           //如果前一个字也是关键字,则将字组中的
关键字数增加一
                           groupLength++;
                     }
                }
            else
                     //如果字不是关键字之一,则把该字的评分值设
置成零
w                    ordCredit[m]=0;
                     //重复此过程直到对所有的关键字都和该字进行
了比较或找到了一个和该字匹配的关键字
                     n++;
            }
            //如果该字不是关键字但前一个字是关键字,或者
            //该字是关键字并且是文件中最后一个字
            if(groupLength>1 &&((wordCredit[m-1]==1 &&
wordCredit[m]==0)‖
    (wordCredit[m]==1 && m==M-1)))
           {
   //如果字组长度大于N,把字组长度设置成N
if(groupLength>N)
       groupLength=N;
             //计算此关键字组的评分值
             for(double i=1;i<groupLength;i++)
                 docCredit+=groupLength*((double)1/i);
             //把字组长度重新设置成一
             groupLength=1;
       }
   }
    //评估目标文件的最大评分值
    double maxWordCredit=1;
for(intj=1;j<N;j++)
         maxWordCredit+=(double)1/j;
         double maxDocCredit=M*max WordCredit;
    //评估DocRank
    double docRank=(double)docCredit/maxDocCredit;
}
//清除多余的符号和字
string Clean(string strOriginal)
{
     string strClean;
     //把多余的符号替换为空格
     strClean=strOriginal.Replace("+","+");
     strClean=strClean.Replace("-","-");
     strClean=strClean.Replace("*","*");
     strClean=strClean.Replace("(","");
     strClean=strClean.Replace(")","");
     strClean=strClean.Replace("[","");
     strClean=strClean.Replace("]","");
     strClean=strClean.Replace("{","");
     strClean=strClean.Replace("}","");
     strClean=strClean.Replace("at","");
     strClean=strClean.Replace("and","");
     strClean=strClean.Replace(",","");
     strClean=strClean.Replace(".","");
         strClean=strClean.Replace(";","");
         strClean=strClean.Replace(":","");
         strClean=strClean.Replace("?","");
         strClean=strClean.Replace("!","");
         //返回清洁结果
         return strClean;
}
Figure A200680051862D00201
如前面所述,关键字匹配可以基于替代字形式的列表(例如,字典)或者基于同义词列表(如辞典)来进行。例如,Minnesota和MN可以被认为是替代字形式。在另外一个针对关键字“mystery”的例子中,使用替代字形式数据库,可以认为含有“mysteries”、“mystify”或“mysterious”的文件都是匹配的。当扩展到同义词时,可以认为“mystic”、“occult”、“secret”、“unknown”和/或“puzzle”至少和“mystery”部分匹配。在计算文件相关性等级时,可以用打折的评分值来反映相对于完全匹配的偏离。例如,在关键字“mystery”的例子中,“mysteries”作为精确匹配的复数形式的出现而可以得到一分评分值;“mystic”作为相关的形容词形式的出现而可以得到0.9分评分值;而“secret”或“puzzle”作为同义词的出现,可能每个只能得到0.5分评分值。分数评分值可以基于针对不同类型匹配而判决分配的因子,或者可以根据基于对特定语言文献样本的使用分析而将词用作同义词的概率因子来分配。这种样本可以从选定的文献源中获得,或者从互联网或任何其它来源的文件样本中获得。
关键字的组合优选地基于关键字词的相邻性来确定。然而,在其它实施方式中,也可以使用邻近度(proximity)作为分组的基础。文件中的每个关键字都可以被认为和该文件中出现的下一顺序关键字构成一组。关键字之间的距离越短,目标文件就越相关。我们可以根据关键字之间的距离来分配基本关键字评分值的一部分。例如,如果在两个关键字之间有x个非关键字,并且一个关键字的基本评分值是c,那么我们就可以把文件总评分值增加c/(x+1)分。两个关键字分开得越远,它们和搜索查询的相关性就越小,因此给邻近组分配较小的评分值。对此系统,最大文件评分值假定所有关键字都是相邻的,因此对于文件中找到的每一个可搜索字,x等于0。再次强调,除了本示例中使用的倒数函数之外,其它数学函数,包括线性函数、多项式函数、有理函数、指数函数、对数函数以及这些函数的组合,都可以用来评估字邻近度的评分值。此方法能够处理所有邻近情况,不管涉及多少关键字和非关键字,也不管关键字之间离多远。
在一个进一步的替代例中,通过基于相邻组合和邻近组合来分配额外评分值,相关性等级就同时反映出关键字的相邻性和邻近性。
以上所有示例和公开都是例示性的,而非穷尽性的。这些示例和描述将对本领域普通技术人员启示许多变型例和替代例。所有这些替代例和变型例都被包括在权利要求书的范围内,这里“包括”的意思是“包括,但不限于”。本领域技术人员应当清楚,在不超出本发明的范围的情况下,可以用多种方式对上述实施方式进行改变。因此,本发明的范围应当由下述权利要求和它们的法律等同物来确定。

Claims (20)

1、一种对搜索结果列表中的目标文件的相关性等级进行评估的方法,该方法包括以下步骤:
给在该目标文件中找到的所有关键字分配一基本评分;
对在该目标文件中找到的关键字进行分组;
给每个关键字字组分配一额外评分值;
计算整个该目标文件的总评分值;
确定整个该目标文件的最大评分值;以及
根据该目标文件的总评分值和最大评分值的比较函数来计算相关性等级。
2、如权利要求1所述的方法,其中,计算每个关键字字组的额外评分的步骤根据该字组中的关键字的数量来分配所述额外评分。
3、如权利要求1所述的方法,其中,计算该目标文件的总评分值的步骤,包括把在该目标文件中找到的所有关键字的评分,包括基本评分和额外评分,都加在一起的步骤。
4、如权利要求1所述的方法,其中,确定该目标文件的最大评分值的步骤,包括把该目标文件中的总字数乘以含有和搜索查询中相同关键字数的字组中的关键字的评分值的步骤。
5、如权利要求1所述的方法,其中,通过把该目标文件的总评分值除以它的最大评分值来计算该目标文件的相关性等级。
6、如权利要求1所述的方法,其中,一长度为n的字组中的搜索词关键字的数量是值n,并且n大于1。
7、如权利要求6所述的方法,其中,给字组中的每个关键字分配额外评分值的步骤,是根据倒数数学函数、线性数学函数、多项式数学函数、有理数学函数、指数数学函数或对数数学函数来分配的。
8、如权利要求7所述的方法,其中,针对字组长度为n和查询中的关键字数为N的所述数学函数,为该字组中的每个字分配如下额外评分:
Figure A200680051862C00021
其中2≤n≤N,或者
其中n>N。
9、如权利要求1所述的方法,其中,对于字组长度为n和查询中的关键字数为N的情况,整个字组提供的总额外评分值是:
Figure A200680051862C00032
其中2≤n≤N,或者
n &Sigma; i = 1 N - 1 1 i , n>N。
10、如权利要求9所述的方法,其中,整个该目标文件的最大评分值是:
Figure A200680051862C00034
其中,M是该目标文件中的字数。
11、如权利要求1所述的方法,其中,所述相关性等级是根据以下公式计算得到的:
Rel = M 1 + &Sigma; n = 2 N [ M n ( 1 + &Sigma; i = 1 n - 1 1 i ) ] M ( 1 + &Sigma; i = 1 N - 1 1 i ) ,
Re1是所述相关性等级,
M是目标文件中的字数,
Mn是目标文件中的n型字组关键字的总数,并且
当n≤N时,n是n型字组中的关键字数;当n>N时,所有的n型字组是N型字组。
12、一种对目标文件的相关性等级进行评估的计算机实现方法,其包括图1所示的过程。
13、如权利要求1所述的方法,其中,根据该目标文件中的字的相邻度来对关键字进行分组。
14、如权利要求1所述的方法,其中,根据预先选择的邻近度因子来对关键字进行分组。
15、如权利要求1所述的方法,其中,根据相邻度因子和邻近度因子的组合来给关键字分配额外评分。
16、如权利要求1所述的方法,其中,该目标文件的最大评分值是该目标文件中的可搜索字数和搜索查询中的关键字数的函数。
17、一种计算机软件实现方法,其包括在该文件中例示的用MicrosoftC#语言编写的代码模块或用另一种语言对所述代码模块的实质翻译。
18、如权利要求17所述的方法,其中,所述另一种语言是由任何计算机化语言组成的组的成员,所述任何计算机化语言包括但不限于C++、C+、C、VB.NET、VBScript、Visual Basic、FORTRAN和汇编语言。
19、一种响应于来自用户的搜索查询而执行以下步骤的数据库搜索引擎:
提供符合搜索查询的目标文件的搜索结果列表,并且,对于该搜索结果列表中的每一个目标文件:
给在该目标文件中发现的所有关键字分配基本评分;
对在该目标文件中发现的关键字进行分组;
给每一个关键字字组分配额外评分值;
计算整个该目标文件的总评分值;
确定该目标文件的最大评分值;以及
根据该目标文件的总评分值和最大评分值的比较函数,来计算所述相关性等级。
20、如权利要求19所述的数据库搜索引擎,其中,所述搜索结果列表按所述相关性等级的顺序提供显示。
CN2006800518620A 2006-01-31 2006-09-27 计算机化搜索结果列表的排序方法及其数据库搜索引擎 Expired - Fee Related CN101501630B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/343,324 2006-01-31
US11/343,324 US7814099B2 (en) 2006-01-31 2006-01-31 Method for ranking and sorting electronic documents in a search result list based on relevance
PCT/US2006/037494 WO2007089289A2 (en) 2006-01-31 2006-09-27 Method for ranking and sorting electronic documents in a search result list based on relevance

Publications (2)

Publication Number Publication Date
CN101501630A true CN101501630A (zh) 2009-08-05
CN101501630B CN101501630B (zh) 2013-07-03

Family

ID=38323307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800518620A Expired - Fee Related CN101501630B (zh) 2006-01-31 2006-09-27 计算机化搜索结果列表的排序方法及其数据库搜索引擎

Country Status (5)

Country Link
US (1) US7814099B2 (zh)
EP (1) EP1979835A4 (zh)
JP (1) JP2009525520A (zh)
CN (1) CN101501630B (zh)
WO (1) WO2007089289A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870519A (zh) * 2012-12-17 2014-06-18 北京千橡网景科技发展有限公司 计算文档质量值的方法和装置
CN104699825A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 搜索引擎性能的衡量方法和装置
CN104699830A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 衡量搜索引擎排序算法有效性的方法和装置
CN105335357A (zh) * 2015-11-18 2016-02-17 成都优译信息技术有限公司 翻译系统中语料推荐方法
CN107229738A (zh) * 2017-06-18 2017-10-03 杭州电子科技大学 一种基于文档评分模型和相关度的学术论文搜索排序方法
CN110569335A (zh) * 2018-03-23 2019-12-13 百度在线网络技术(北京)有限公司 基于人工智能的三元组校验方法、装置及存储介质
CN112764851A (zh) * 2021-01-14 2021-05-07 青岛海信传媒网络技术有限公司 一种法律声明内容的显示方法及显示设备

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099671B2 (en) * 2001-01-16 2006-08-29 Texas Instruments Incorporated Collaborative mechanism of enhanced coexistence of collocated wireless networks
US7606793B2 (en) 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US9348912B2 (en) 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
AU2007231829A1 (en) * 2007-11-02 2009-05-21 Smart Internet Technology Crc Pty Ltd Systems and methods for file transfer to a pervasive computing system
US8918328B2 (en) * 2008-04-18 2014-12-23 Yahoo! Inc. Ranking using word overlap and correlation features
US8060497B1 (en) 2009-07-23 2011-11-15 Google Inc. Framework for evaluating web search scoring functions
CN102063432A (zh) 2009-11-12 2011-05-18 阿里巴巴集团控股有限公司 一种检索方法和系统
US20110161309A1 (en) * 2009-12-29 2011-06-30 Lx1 Technology Limited Method Of Sorting The Result Set Of A Search Engine
US8738635B2 (en) * 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US20120095999A1 (en) * 2010-10-15 2012-04-19 Maxim Donde System and method for identifying a stored response to a subject query
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
CN103377240B (zh) 2012-04-26 2017-03-01 阿里巴巴集团控股有限公司 信息提供方法、处理服务器及合并服务器
CN104919457A (zh) * 2013-01-11 2015-09-16 诺基亚技术有限公司 用于丰富社交媒体以改进个性化用户体验的方法和装置
US9779145B2 (en) * 2014-01-24 2017-10-03 Nektoon Ag Variable result set size based on user expectation
US20150324333A1 (en) * 2014-05-06 2015-11-12 Level 3 Communications, Llc Systems and methods for automatically generating hyperlinks
WO2017131753A1 (en) * 2016-01-29 2017-08-03 Entit Software Llc Text search of database with one-pass indexing including filtering
US11568274B2 (en) * 2016-08-05 2023-01-31 Google Llc Surfacing unique facts for entities
US10579370B2 (en) * 2018-08-03 2020-03-03 EMC IP Company LLC Method to disintegrate a monolith service to microservices
KR20230057114A (ko) * 2021-10-21 2023-04-28 삼성전자주식회사 기술 문서 데이터 베이스를 통한 키워드 도출 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269368B1 (en) * 1997-10-17 2001-07-31 Textwise Llc Information retrieval using dynamic evidence combination
WO2002057961A2 (en) * 2001-01-18 2002-07-25 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
US5685003A (en) * 1992-12-23 1997-11-04 Microsoft Corporation Method and system for automatically indexing data in a document using a fresh index table
US5873056A (en) * 1993-10-12 1999-02-16 The Syracuse University Natural language processing system for semantic vector representation which accounts for lexical ambiguity
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
JPH1049549A (ja) * 1996-05-29 1998-02-20 Matsushita Electric Ind Co Ltd 文書検索装置
US6285999B1 (en) * 1997-01-10 2001-09-04 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US6560600B1 (en) * 2000-10-25 2003-05-06 Alta Vista Company Method and apparatus for ranking Web page search results
US6836884B1 (en) * 2001-06-04 2004-12-28 Microsoft Corporation Method and system for editing software programs
US6947924B2 (en) * 2002-01-07 2005-09-20 International Business Machines Corporation Group based search engine generating search results ranking based on at least one nomination previously made by member of the user group where nomination system is independent from visitation system
US7028026B1 (en) * 2002-05-28 2006-04-11 Ask Jeeves, Inc. Relevancy-based database retrieval and display techniques
US7346839B2 (en) * 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
US7664735B2 (en) * 2004-04-30 2010-02-16 Microsoft Corporation Method and system for ranking documents of a search result to improve diversity and information richness
US7685197B2 (en) * 2005-05-05 2010-03-23 Yahoo! Inc. System and methods for indentifying the potential advertising value of terms found on web pages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269368B1 (en) * 1997-10-17 2001-07-31 Textwise Llc Information retrieval using dynamic evidence combination
WO2002057961A2 (en) * 2001-01-18 2002-07-25 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870519A (zh) * 2012-12-17 2014-06-18 北京千橡网景科技发展有限公司 计算文档质量值的方法和装置
CN103870519B (zh) * 2012-12-17 2019-03-12 北京千橡网景科技发展有限公司 计算文档质量值的方法和装置
CN104699825A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 搜索引擎性能的衡量方法和装置
CN104699830A (zh) * 2015-03-30 2015-06-10 北京奇虎科技有限公司 衡量搜索引擎排序算法有效性的方法和装置
CN105335357A (zh) * 2015-11-18 2016-02-17 成都优译信息技术有限公司 翻译系统中语料推荐方法
CN105335357B (zh) * 2015-11-18 2018-07-06 成都优译信息技术有限公司 翻译系统中语料推荐方法
CN107229738A (zh) * 2017-06-18 2017-10-03 杭州电子科技大学 一种基于文档评分模型和相关度的学术论文搜索排序方法
CN107229738B (zh) * 2017-06-18 2020-04-03 杭州电子科技大学 一种基于文档评分模型和相关度的学术论文搜索排序方法
CN110569335A (zh) * 2018-03-23 2019-12-13 百度在线网络技术(北京)有限公司 基于人工智能的三元组校验方法、装置及存储介质
US11275810B2 (en) 2018-03-23 2022-03-15 Baidu Online Network Technology (Beijing) Co., Ltd. Artificial intelligence-based triple checking method and apparatus, device and storage medium
CN112764851A (zh) * 2021-01-14 2021-05-07 青岛海信传媒网络技术有限公司 一种法律声明内容的显示方法及显示设备

Also Published As

Publication number Publication date
JP2009525520A (ja) 2009-07-09
US7814099B2 (en) 2010-10-12
EP1979835A2 (en) 2008-10-15
WO2007089289A2 (en) 2007-08-09
EP1979835A4 (en) 2010-04-21
US20070179930A1 (en) 2007-08-02
CN101501630B (zh) 2013-07-03
WO2007089289A3 (en) 2009-04-16

Similar Documents

Publication Publication Date Title
CN101501630B (zh) 计算机化搜索结果列表的排序方法及其数据库搜索引擎
JP4997743B2 (ja) 文書検索装置、文書検索プログラムおよび文書検索方法
US9116990B2 (en) Enhancing freshness of search results
US9201880B2 (en) Processing a content item with regard to an event and a location
US9323827B2 (en) Identifying key terms related to similar passages
CN102236640B (zh) 命名实体的消歧
US20130110839A1 (en) Constructing an analysis of a document
JP5083669B2 (ja) 情報抽出システム、情報抽出方法、情報抽出プログラムおよび情報サービスシステム
US9251249B2 (en) Entity summarization and comparison
CN100501745C (zh) 电子文本处理与检索的便捷方法和系统
US20080065621A1 (en) Ambiguous entity disambiguation method
CN103678576A (zh) 基于动态语义分析的全文检索系统
JP2009271799A (ja) 企業相関情報抽出システム
CN101088082A (zh) 全文查询和搜索系统及其使用方法
JP5302614B2 (ja) 施設関連情報の検索データベース形成方法および施設関連情報検索システム
JP2009122807A (ja) 連想検索システム
CN106202146B (zh) 一种搜索引擎终端用户输入参考文件搜索提示信息的处理方法
CN112184021B (zh) 一种基于相似支持集的答案质量评估方法
US20060184523A1 (en) Search methods and associated systems
JP2008117351A (ja) 検索システム
JP2010123036A (ja) 文書検索装置、文書検索方法、および文書検索プログラム
Oard et al. TREC 2006 at Maryland: Blog, Enterprise, Legal and QA Tracks.
JP2009271798A (ja) 業界マップ生成システム
Conrad et al. Query-based opinion summarization for legal blog entries
JP5191204B2 (ja) 連想検索システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130703

Termination date: 20150927

EXPY Termination of patent right or utility model