信息检索导论读书笔记(三):词典及容错式检索(通配符查询、拼写校正)

本文介绍了信息检索中词典的构建,包括哈希表和搜索树,重点讨论了通配符查询和拼写校正。通配符查询通过轮排索引和k-gram索引实现,而拼写校正则利用编辑距离和k-gram重合度法,以及基于发音的soundex算法。这些技术提高了搜索引擎的容错能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       假设给定倒排索引及查询,首先应确定查询词项是否在词汇表中,如果在应该返回词项对应的倒排记录表的指针。查找操作通常采用词典的经典数据结构。实现这种数据结构有两种方式:哈希表及搜索树。关于两者的定义在此不再赘述。哈希表除了需要解决哈希冲突的问题,在查询词存在轻微变形时也无法进行查询,并且由于词汇表往往是不断增长的,为当前需求设计的哈希函数可能过一段时间就不再适用。因此通常使用搜索树的查询方式。

       搜索树也有很多种,词典搜索中普遍使用B树,B树的定义建议翻看数据结构教材了解其增删改查的方法。

通配符查询:

       通配符查询是一种容错方式,当用户不确定一个词正确拼写形式,可以使用通配符 * 代替某些字符。

单个通配符查询:

       对于只在词项末尾出现的通配符查询,可以使用B树进行查询,并返回所有匹配到通配符之前的词项对应的倒排记录表。对于只在词项开头出现通配符的词项,可以使用反向B树进行查询。通过将B树和反向B树结合起来使用可以处理只有一个通配符并存在于词项中间的查询,分别对通配符之前和之后的字符串使用B树和反向B树查询之后求交集即可。

一般通配符查询:

      对于一般的通配符查询,需要对原本的倒排索引进行改进,这里有两种改进方式:轮排索引和 k-gram 索引。

轮排索引:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值