《信息检索导论》(第三章)词典以及容错式检索

用于词典搜索的数据结构:

哈希表搜索树,需要考虑的问题包括关键字的数目、关键字数目是否经常变化、不同的关键词访问的频率差别;
其中,哈希表为了减少地址冲突,需要用于映射的地址空间很大,同时还需要建立一个辅助功结构解决冲突;同时,哈希表不能处理相近查询的问题,当检索词项具有细微差别时,映射到的地址可能差别很大;
其次,搜索树最典型的是搜索二叉树(二叉排序树),若左子树不空,则左子树上的所有结点值均小于等于它的根节点,若右子树不空,则左子树上的所有结点值均大于等于它的根节点,每个节点都进行一次二分类,搜索次数O(Log(M)),当搜索二叉树满足平衡性时候称平衡二叉树(AVL树),但是每次删除、插入新的词项进行的平衡化处理需要不少的开销,通常使用B-树来解决;

通配符查询:

对于通配符出现在词项尾部的情形,传统的搜索树适合用于此类的通配符检索;
对于通配符出现在此项首部的情形,反向B-树适合用于此类的通配符检索;
对于通配符出现在此项中部的情形,B-树与反向B-树结合的检索方法适合用于此类的通配符检索;

一般通配符查询:

轮牌索引(Permuterm Index):标记词项的结尾并且对词项进行旋转,将每一次旋转结果都指向源词项,构造出轮牌词汇表,通过搜索轮牌词汇表来检索词项,缺点在于构造出的轮牌词汇表会占用较大的空间;
K-gram模型:k-gram代表由k个字符组成的序列,在k-gram索引结构中词典由所有词项的k-gram序列构成,每个倒排记录表则有包含该k-gram的词项组成,缺点在于k-gram由于每次可能不能准确指出词是否位于开头的结尾的情况,因此往往需要一个后过滤(postfiltering)的过程;

拼写矫正:

最常用的一种解决思路是将所有其他用户输入的查询中出现最频繁的拼写形式作为拼写错误的词项最后的选择(用户习惯);
主要的拼写矫正方法有独立词项(isolated-term)矫正和上下文敏感(context-sensitive)矫正;
两种独立词项矫正方法:编辑距离k-gram重合度
编辑距离:是指对于词项s1和s2,将s1转换为s2所需要的最小编辑操作数,这些操作包括在字符串中插入、删除、替换一个字符的操作(有人对不同的操作赋予不同权重取得不错的实验效果),算法使用动态规划来实现;
k-gram重合度:通过k-gram来计算Jaccard系数,当Jaccard系数满足一定的阈值后则满足过滤条件;
除此之外还有基于发音的拼写矫正等;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值