1、I IIIIIIVrfr*f=CC*10102653265302653002013112622026220030926277802778004071128680286800r*f26000左右c*10 和该书的实际总词数260430很接近26.2.2 词的TF/IDF权重Zipfian(续)nr*f=C说明,一个词的出现次数和它的等级序号成反比,出现次数越多,序号越小。出现次数最多的排第一,出现次数最少的排最后。它们的积是一常数。n关于r和f关系的论述被称为“Zipfs:Law”。某种现象出现次数如果符合Zipf定律,这种现象就被认为具备Zipf分布。26.2.2 词的TF/IDF权重n词的频
2、率是按照zipfian分布的。nX轴的每个位置对应一个词,按照出现的次数降序排列nY轴对应该词出现次数n停止词出现次数非常多的词,例:a,an,the。对于搜索没有很大用途,文档在预处理中被去掉这些词。STOP WORDlinuxkernelRARE WORD例:对于一个含有linux kernel这两个词的搜索,如果我们对含有kernel的文档比对含有linux的文档给予较高的重要性,我们就可能获得较好的结果。如何做?26.2.2 词的TF/IDF权重n改进文档向量表示方法:Wij=tij*log(N/nj)Wij文档向量表示法的文档i的向量中词j的关联值(TF/IDF权重)tij词频N文档
3、的总数nj词j出现过的文档数IDF倒排文档频率 log(N/nj)n有效的增加了出现次数少的词的权重n例:一个有10000个文档的集,在半数文档中出现过的词的IDF=0.3 lg2=0.3 在一个文档中出现过的词的IDF=4 lg104=426.2.2 词的TF/IDF权重n例:“原子能的应用”“原子能”是很专业的词 “应用”是很通用的词 词频:2 5n每个词给一个权重:一个词预测主题能力强,权重就越大,反之,权重越小。停止词的权重应该是零nIDF如果一个关键词只在很少的网页中出现,我们通过它就很容易锁定搜索目标,它的权重应该大,反之,如果一个词在大量网页中出现,我们看到它仍然不清楚要找什么内
4、容,因此,它应该小。“原子能”log500=2.7 “的”log1=0 “应用”log2=0.3 100000/200 100000/100000 100000/5000026.2.2 词的TF/IDF权重n长度规范化 文档D 文档D(对D加入大量新词修改)词t的TF/IDF权重 在D和D文档向量中的值是一样的直觉 t在D的权重应该变小因此如果两个文档对于某一给定词含有同样的出现次数,对于 描述文档的重要性的词还依赖于文档的长度。长度规范法:减少词的权重随着词的频率增加而增加的情况。余弦长度规范法:t文档集中词的个数wij没有长度规范化的TF/IDF权重Wij*是经过长度调整的TF/IDF权重
5、26.2.3文档相似性排序文档相似性排序n将排序查询的结果中的文档进行排序。n一个排序查询本身能被看作一个文档 用文档相似性作为基础对查询结果进行排序:与查询相近的文档排在前面,不相近的排在后面n如果一个共有t个词出现在文档集中,我们可以将文档向量放在一个t维空间中,其中每个坐标对应一个词。n两个向量的紧密度的传统计算方法是他们的点乘:26.2.3文档相似性排序文档相似性排序n查询Q与一个文档Di的相似性:nSim(Q,Di)=Sim(Q,D1)=(0.4*0.8)+(0.8*0.3)=0.56Sim(Q,D2)=(0.4*0.2)+(0.8*0.7)=0.64所以 D2查询结果中排序比D1靠
6、前0.10.20.40.80.10.30.70.8D1(0.8,0.3)Q(0.4,0.8)D2(0.2,0.7)TERM BTERM A26.2.3查准率和查全率查准率和查全率n查全率和查准率是目前衡量检索效果的相对合理的指标。查全率=(检索出的相关信息量/系统中的相关信息总量)*100%查准率=(检索出的相关信息量/检索出的信息总量)*100%查全率衡量检索系统检出相关信息的能力查准率检索系统拒绝非相关信息的能力26.2.3查准率和查全率查准率和查全率n查全率和查准率都有局限性查全率局限性系统中相关信息究竟有多少一般不确知,只能估计。查准率局限性如果检索结果是题录式而非全文式,由于题录的内
7、容简单,必须找到该题录的全文,才能正确判断出该信息是否符合检索课题的需要。在查全率和查准率之间存在着相反的相互依赖关系如果提高查全率就会降低查准率,反之亦然。搜索引擎系统查全率不成问题,难比较,少使用,关心查准率,即是否为用户提供相关度高的,高质量的导航信息。提高查准率的方法:增加使用“与”“非”提高查全的方法:增加使用“or”26.3为文本搜索建立索引为文本搜索建立索引n预处理:删去停止词,有效减少索引大小。用词干法将相关的词转化为规范的形式,减少了要索引词的个数,可以检索不含查询词但含有查询词变体的文档。n例:run running runner的词干都是run,词干run被索引,所有这个
8、词干的变体都被处理为run。n一个指令runner的查询将找出所有词干为run的词的文档。26.3.1 倒排索引倒排索引n倒排索引能够快速获得含有查询词的所有文档的数据结构。n倒排列表对于每一个词,索引维护一个入口列表(倒排列表)用来描述词的出现情况,其中每一个含有该词的文档占一个入口。哈希值 项 文档数指针00010001 MadisonMobile 110010 movie 201000100 BondComputer 21100010001000 AgentGoodJames213Docid=3Docid=1Docid=1Docid=3Docid=1Docid=2Docid=1Docid
9、=2Docid=2Docid=3Docid=42433211312Docid=42351Docid=4词典(内存中)倒排列表,放置文件(磁盘上)例:james有一个倒排列表,文档1.3.4各占一个入口 agent有一个倒排列表,文档1.2各占一个入口,文档1的入口列出了出现位置1和526.3.1 倒排索引倒排索引n倒排列表词t的倒排列表中文档d所占入口记录了词t在文档D中出现的细节(例:1、词在文档中的位置的列表2、词每次出现的附加信息(是否在title中)3、文档的长度)n记录文件倒排列表的集合n词典为了为每一个查询词很快的找到倒排列表,所有查询词被组织在一个二级索引结构中(B+树,哈希索引
10、),比记录文件小的多,每个词只需一个入口。n词典中含有预处理后的词,每个词只需一个入口,1、该入口对应的词 2、关于其倒排列表的统计信息(倒排列表中入口个数即含该词的文档个数,附加信息:如该词的IDF,IDF=log(N/nj)N=文档总数 Nj=词j出现过的文档数)3、倒排列表的地址优点:简单,高性能缺点:很大的空间消耗,索引大小是原大小的300%使用倒排索引 当倒排列表很长时,讲每个词的倒排列表中的文档对于该词的相关度事先计算出来,并将倒排列表按照相关度顺序,而不是按id排序,可加快查询。但维护代价高。对含有一个词的查询,首先查找词典获得该词的倒排列表的地址,然后获取倒排列表,其中的doc
11、id被映射到文档物理地址,这样就得到相应文档。如果结果是需要排序的,在倒排列表中每个文档对于查询词的相关度都要计算,然后文档按相关度依次获取。对含有多个词的查询,一次值获取一个查询次的倒排列表,然后对这些倒排列表取交集。由若干分离的词构成的查询,其结果是几个倒排列表的合并。例:“James”查词典找到倒排列表地址,从磁盘上获得到排列表,获得文档1、3、4“James”AND“Bond”二个倒排列表进行交集运算,获得文档1、4“James”or“Bond”获取二个词的倒排列表,然后以任意顺序讲这个二个列表合并。26.3.2签名文件n签名文件-是文本数据库的另一种索引结构,能有效支持布尔查询。对于
12、数据库中的每一个文档都有一个索引记录。n签名-这个索引记录被称为该文档的签名n签名宽度-每个签名的长度都固定为b位,b被称为签名宽度。B依赖于文档中出现的词。n我们使用哈希函数将文档中的每个词映射到位。(除非我们对于词汇表中的每一个词都使用一个位,否则,同一位会被不同的词设置多次。因哈希函数将二个词映射到了同一位。)n如果在签名S2中的所有位在S1中都被置位,我们称S1与S2相匹配。S1:1101 S2:110026.3.2签名文件(一)对一个同时含有若干个词的查询:首先,通过哈希函数生成查询签名 扫描签名文件,找出所有与查询签名相匹配的文档签名 获取每一个可能的文档并检查该文档是否真的含有这
13、个词 伪积极-一个文档签名与查询签名相匹配的文档,如果不含有查询中的所有词被称为伪积极。伪积极是一种代价昂贵的错误,因为对应的文档会被从磁盘中获取、解析、取词干、并检查其是否含有查询词。(二)对于若干个词分离的查询 生成一个查询签名的列表,每个签名对应一个词。扫描签名文件,找出与签名列表中任意一个签名相匹配的文档签名。文档id文档签名1Agent,James,Bond,good 11002Agent,mobile,computer 11013James,Madison,movie 10114James,Bond,movie 1110例1:查询James:计算该词的哈希值1000扫描签名文件,找出匹配的索引记录。1 2 3 4获取所有文档并检查伪积极的情况;文档2伪积极例2:查询“James”AND“Bond”查询签名“1100”扫描签名文件,匹配的索引记录1、2、4文档2伪积极例3:查询“movie”AND“Madison”查询签名为0011文档3匹配无伪积极26.3.2签名文件26.4 Web搜索引擎n搜索引擎-Internet上专门提供查询服务的一类网站,它以一定的策略在互联网中搜索、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的作用。n搜索引擎系统:目录式搜索引擎 机器人搜索引擎
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1