第4讲 词典及容错式检索 Dictionary and tolerant retrieval 授课人:高曙明

Slides:



Advertisements
Similar presentations
版 画 制 作版 画 制 作 版 画 种 类版 画 种 类 版 画 作 品版 画 作 品 刘承川.
Advertisements

index 目次 ( 請按一下滑鼠,解答就會出現喔 !) 接續下頁解答 3-1 極限的概念.
(一)辦桌文化起始略說: 1. 祭祀宗教 2. 生命禮儀 3. 外燴 --- 老師、師公、師傅、總鋪師 4. 搬桌搬椅時代 (二) 食物食材 1. 靠山考海 2. 基本:炒米粉、糍、檳榔 3. 小吃搬上桌 (三) 變變變 1. 調味不同 2. 師承不同 3. 地點也變.
一、页面设置:版心和页边距 1 、版心: 宽度 —— 版面中文字部分的宽度。(纸张宽度 — 左右页边距) 高度 —— 版面中文字部分的高度。(纸张高度 — 上下页边距) 2 、页边距:纸张边缘与文字之间的距离。
第4章 交易性金融资产与可供出售金融资产 学习目标
这是一个数字的 乐园 这里埋藏着丰富的 宝藏 请跟我一起走进数学的 殿堂.
新編多元性向測驗 測驗說明 輔導室
(4F01) 陳可兒 (4F03) 張令宜 (4F05) 何秀欣 (4F14) 潘美玲
目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
選擇性逐字紀錄 臺北市立教育大學 張 德 銳.
第十二章 小组评估 本章重点问题: 评估的设计 测量工具的选择和资料的收集 与分析.
MARCH 2015 撰寫獨立專題探究報告 工作坊 (上半).
高一年级过渡性学习 活动汇报 高一年级组 教科研室 汉滨高中.
一、平面点集 定义: x、y ---自变量,u ---因变量. 点集 E ---定义域, --- 值域.
在《命运交响曲》 音乐声中 安静我们的心 迎接挑战.
合 同 法 主讲人: 教材:《合同法学》(崔建远) 2017/3/10.
101年國中畢業生多元進路宣導 國中部註冊組 100年10月29日.
小学《人•自然•社会》 五年级教材解读 浙江省教育厅教研室 李 荆 -
高中職優質化專題 教育研究博士班二年級 游宗輝.
海星國中部直升方案說明 報告人:教務處 陳博文主任
高中第二群組 1.北一女 中~ 2.中山女中~ 3.政大附中~.
輕歌妙舞送黃昏 組員名單 組長:程鵬飛 組員:黎達華 劉展鵬 邱迦欣.
101年度十二年國民基本教育 國民中學校長專業研習 校長落實補救教學、適性輔導 中輟生的預防與復學輔導之實務作為
301——隆重登场.
期考議題 單元一:資訊科技(eg上網活動)與人際關係 單元二:青少年社政參與(80後) 單元二:郊野公園與房屋政策/問題
歡迎各位老師 蒞校參訪 召集人、各位委員、同仁大家好,我是林淑玟,負責教務行政進行簡報 報告人:林淑玟 中華民國九十九年三月二十三日.
大學甄選入學 選填志願輔導說明會 曾文農工輔導室.
大學多元入學方案 財務金融二 王詩茹.
一所具有悠久歷史與優良傳統的 優質學校 強調生活教育與精緻教學 是您有心向學的最佳選擇.
管理学基本知识.
國立嘉義高級工業職業學校 101年度綜合高中宣導研習 國立嘉義高工 教務主任 林章明
滁州学院首届微课程教学设计竞赛 课程名称:高等数学 主讲人:胡贝贝 数学与金融学院.
人地關係 ── 熱帶雨林 人文活動對環境的影響.
海軍軍官學校 士官二專班 招生簡報 、 第1頁,共30頁.
海軍軍官學校 士官二專班 103學年度 招生簡報.
致亲爱的同学们 天空的幸福是穿一身蓝 森林的幸福是披一身绿 阳光的幸福是如钻石般耀眼 老师的幸福是因为认识了你们 愿你们努力进取,永不言败.
1.1.2 四 种 命 题.
增值评价 2014级 初中起点报告 解读培训 辽宁省基础教育质量监测与评价中心.
欢迎再次走进 思想政治的课堂.
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
第四章 时间序列的分析 本章教学目的:①了解从数量方面研究社会经济现象发展变化过程和发展趋势是统计分析的一种重要方法;②掌握时间数列编制的基本要求;③理解和掌握水平速度两方面指标的计算及运用④理解和掌握长期趋势分析和预测的方法。 本章教学重点:现象发展的水平指标和速度指标。 本章教学难点:现象变动的趋势分析。
日月地的相對運動 登月.
拾貳、 教育行政 一、教育行政的意義 教育行政,可視為國家對教育事務的管理 ,以增進教育效果。 教育行政,乃是一利用有限資源在教育參
课标教材下教研工作的 实践与思考 山东临沂市教育科学研究中心 郭允远.
任务2: 通报的写作.
中学生心理健康讲座 打开心灵之门 开启阳光之路 主讲人:范荃.
伯裘書院 環保廣告能否有效 地推動環保意識.
第八章二元一次方程组 8.3实际问题与二元一次方程组.
第八章二元一次方程组 8.3实际问题与二元一次方程组 (第3课时).
4H (1)歐宛曈 (9)李熹漩 (12)吳紀芙 (14)唐曉筠
教育部宣導專員 國立臺中家商 許敏政主任 101年2月23日製作 #201~203
100學年度土木工程系專題研究成果展 題目: 指導老師:3223 專題學生:2132、2313 前言: 成果: 圖1 圖2 方法與流程:
景點介紹-日月潭 日月潭位於南投縣.魚池鄉.水社村,是台灣的天然湖泊。.
十二年國民基本教育 103學年度高中高職及五專 入學方式與就學區規劃 (草案諮詢稿)
107學年度高雄區國中技藝技能 優良學生甄審入學說明會
高中職多元進路 家長說明會 主講人: 東莞台商子弟學校 麥馨月 日 期:
课前注意 课前注意 大家好!欢迎加入0118班! 请注意以下几点: 1.服务:卡顿、听不清声音、看不见ppt—管家( ) 2.课堂秩序:公共课堂,勿谈与课堂无关或消极的话题。 3.答疑:上课听讲,课后答疑,微信留言。 4.联系方式:提示老师手机/微信: QQ:
香港愛護動物協會 簡介 愛護動物協會有超過85年歷史促進動物福利。
指数 对数 指数 幂函数举例 对数 幂函数举例.
设岗申请 审核发布 岗位申请 助教培训 津贴发放 工作考核 授课教师 岗位要求 工作内容 开课单位 确定课程、岗位 发布需求 研究生
108學年度高雄區國中技藝技能 優良學生甄審入學說明會
國立嘉義高級工業職業學校 101年度雲嘉區綜合高中宣導研習 國立嘉義高工 綜高高中學務組長 呂明欣
第八章 服務部門成本分攤.
99年基測暨直升、原藝班、 申請、甄選入學報名作業說明
● o. ● o 涂色部分是扇形 o ● 与“扇形”相关的概念. 概念1:“弧” 概念2:“圆心角”
聖經的獨特.
第六章 程序设计初步 一、程序设计的基本方法.
臺灣北區102學年度高級中等學校 舞蹈班暨聯合甄選入學術科測驗 暨甄選入學說明會
台中市黎明國中105學年度 學生報考 一般智能暨學術性向資賦優異學生鑑定 報名流程說明
Presentation transcript:

第4讲 词典及容错式检索 Dictionary and tolerant retrieval 授课人:高曙明 信息检索与Web搜索 第4讲 词典及容错式检索 Dictionary and tolerant retrieval 授课人:高曙明 *改编自“现代信息检索”网上公开课件(http://ir.ict.ac.cn/~wangbin)

词典数据结构 用于存储词项词汇表的数据结构 采用定长数组的词典结构 空间消耗 : 20字节 4字节 4字节 2

快速词项定位 给定查询词项“信息”,如何在词典中快速找到 这个词项? 需要支持快速查找的词典数据结构 选择何种方式需要考虑以下因素: 哈希表方式 搜索树方式 选择何种方式需要考虑以下因素: 词项数目是否固定或者说词项数目是否持续增长? 词项的相对访问频率如何? 词项的数目有多少? 3

基于哈希表的词典索引 方法:将每个词项通过哈希函数映射成一个整数 查询处理: 对查询词项进行哈希,如果有冲突, 则解决冲突,最后在定长数组中定位 优点: 在哈希表中的定位速度快于树中的定位速度 查询时间是常数 缺点: 不支持前缀搜索 (比如所有以automat开头的词项) 如果词汇表不断增大,需要定期对所有词项重新哈希 4

基于搜索树的词典索引 方法:采用搜索树作为词典的索引,一般采用平衡二叉树 优点:可以支持前缀查找 缺点: 改进:采用 B-树减轻上述问题 搜索速度略低于哈希表方式:O(logM), 其中M是词汇数 使二叉树重新保持平衡开销很大 改进:采用 B-树减轻上述问题 B-树定义:每个内部节点的子节点数目在 [a, b]之间, 其中 a, b 为合适的正整数, e.g., [2, 4]. 5

二叉搜索树示例 平衡性,字符集有预定的排序方式 6

B-树示例 子节点数目在[2,4]区间 7

通配查询 通配查询:指词项中带有通配符“*”的查询 分类: 作用: 满足用户的以下需求 用户需要进行拼写不确定的查询 尾通配符查询 mon* :找出所有包含以 mon开头的词项的文档 首通配符查询 *mon: 找出所有包含以mon结尾的词项的文档 中间通配符查询 m*nchen:找出所有包含以m开头并以nchen 结尾的词项的文档 作用: 满足用户的以下需求 用户需要进行拼写不确定的查询 用户需要查找某个查询词项的所有变形 8

通配查询的处理 处理方法: mon*:采用B-树词典结构,搜索区间mon ≤ t < moo 上的所有词项t, 返回相关文档 *mon:将所有的词项倒转过来,然后基于它们建一棵 反向的B树; 返回区间nom ≤ t < non上的词项t m*nchen: 在B-树和反向B树中分别查找满足m*和 *nchen的项集合,然后求交集 9

轮排索引(Permuterm index) 轮排词汇集:将一常规词项旋转后得到的集合 举例:对于词项hello,(hello$, ello$h, llo$he, lo$hel, 和 o$hell )是其轮排词汇集,其中 $ 是一个 特殊符号,用于标识词项结束,每个扩展词都指向 原始词项 轮排索引:将轮排词汇集加入搜索树形成的词典索 引 目的:有效地支持一般性通配符查询 10

轮排索引(Permuterm index) 轮排索引与倒排索引 的关联示意图 相对于通常的B-树, 轮排树的空间要大4 倍以上 11

基于轮排索引的通配符查询 方法:首先将每个通配查询词项进行旋转,使*出现在末尾,然后在轮排索引的B-树中搜索,最后将搜索结果映射到常规词项 举例: 对于 *X, 查询 X$* 对于 *X*, 查询 X* 对于 X*Y, 查询 Y$X* 对于hel*o,查询 o$hel* 对于 fi*mo*er,先查er$fi*,再除去不包含mo的词 项 12

k-gram索引 K-gram: 由K个字符组成的序列(即长度为K的字 符序列) 2-gram: 由2个字符组成的序列,又称为二元组 (bigram) 词项的K-grams: 是一个由词项所包含的所有的k- gram组成的集合 例子: April的bigrams: $a ap pr ri il l$ $ 是一个特殊字符,标识词项的开始或结束 13

k-gram索引 K-gram索引:是一种特殊的倒排索引结构,其中词典 由词汇表中所有词项的所有K-gram构成,每个倒排记录 表则由包含该K-gram的所有词项组成 例子: 3-gram(trigram)索引 本质:对词项构建一个倒排索引(二级索引) 优点:比轮排索引空间开销要小 14

基于K-gram索引的通配符查询 主要步骤: 例子:查询mon* 对给定的带*的词项,生成其所有的K-gram 基于K-gram索引,找出包含上述所有K-gram的词项集 通过与给定词项进行字符串匹配,对词项集进行过滤 用余下的词项在词项-文档倒排索引中查找文档 例子:查询mon* 执行布尔查询: $m AND mo AND on 所有以前缀mon开始的词项被返回,当然也包含许多伪正 例,比如MOON 15

拼写校正 任务目标:对用户输入的错误查询词项进行纠正,通 过纠正用户的查询,提高检索效果 两种方法 任务目标:对用户输入的错误查询词项进行纠正,通 过纠正用户的查询,提高检索效果 两种方法 词独立纠错(Isolated word)法 只检查每个单词本身的拼写错误 如果某个单词拼写错误后变成另外一个单词,则无法查出, e.g., an asteroid that fell form the sky 上下文敏感(Context-sensitive)法 纠错时考虑周围的单词 能纠正上例中的错误 form/from 16

词独立纠错法 基本思想:对于一个需要纠错的查询词,在其可能 的正确拼写中,选择距离最近中的最常见的一个 核心问题:词之间的邻近度计算 可能正确拼写的来源:文档集上的词项词汇表 计算两个词的邻近度(相似度) 最常见的选择:词频(文档集中或用户查询记录中) 核心问题:词之间的邻近度计算 两种方法: 基于编辑距离的邻近度计算 基于k-gram重合度的邻近度计算 17

基于编辑距离的邻近度计算 编辑距离(Edit distance或者Levenshtein distance):两个字符串s1和s2之间的编辑距离是指从 s1 转换成s2所需要的最少的基本操作数目 基本操作:插入(insert)、删除(delete)、替换 (replace) 例子:cat-cart: 1;cat-cut: 1;cat-act: 2 计算方法:采用动态规划算法进行计算 18

Levenshtein距离: 实例 fast中的f、s、t分别用c、t、s替换,即可得到cats,所以代价是3,即距离是3 19

Levenshtein距离:算法 20

Levenshtein距离: 算法 (i-1,j-1) (i-1,j) (i,j-1) (i,j) 左邻居 21

Levenshtein矩阵单元的组成 从左上角邻居到来的开销 (copy 或 replace) 从上方邻居到来的代价 (delete) 从左方邻居到来的代价 (insert) 上述三者之中最低的代价 22

Levenshtein距离: 例子 23

带权重的编辑距离 特点:对不同字符进行的操作赋予不同的权重 必要性分析:将字符m替换成n与将字符m替换成q 应该有区别,前者的权重应该更小 目的:通过考虑出错操作发生概率的因素,提高距 离计算准确性 24

利用编辑距离进行拼写校正 给定查询词,穷举词汇表中和该查询的编辑距离(或 带权重的编辑聚类)低于某个预定值的所有词项 将结果推荐给用户 代价很大,实际当中往往通过启发式策略提高效率 限制在与查询词具有相同首字母的词项 保证两者之间具有较长公共子串 25

基于k-gram重合度的邻近度计算 k-gram重合度:指∣A∩B∣/∣A∪B∣,其中A、B分别是 两个词的k-gram集合 例子:bord 与 boardroom之间的2-gram重合度 A=5, B=10 A∩B=3, A∪B=10+5-3=12 重合度 = 3/12 26

基于K-gram索引的拼写校正 主要步骤 确定查询词项的k-gram集合,A 利用k-gram索引返回A相关倒排记录表中的词项 根据给定阈值,确定匹配上的正确词项返回 查询词bord的2-gram索引片段 27

上下文敏感的拼写校正 对于flew form Heathrow,如何纠错form? 一种方法: 基于命中数(hit-based)的拼写校正 对于每个查询词项返回 相近的“正确” 词项 组合所有可能,分别进行查询,取具有最高命中数者 搜索 “fled form Heathrow” 搜索 “flew fore Heathrow” 搜索“flew from Heathrow” 会有最高的结果命中数 问题: 假定 flew有7个可能的候选词, form 有20个, Heathrow 有3 个,那么需要穷举出多少个查询? 更高效的方法:基于查询库确定合理的组合 28

基于发音的校正(Soundex) 目标: 寻找发音相似的单词,对查询进行扩展,提高 检索效果 算法步骤: 比如,对查询词 chebyshev,将其扩展到 tchebyscheff 算法步骤: 将词典中每个词项转换成一个4字符缩减形式 (即进行Soundex编码),构建词典的soundex索引 对查询词项做同样的处理 基于soundex索引搜索音似词 29

Soundex 编码算法 保留词项的首字母 将后续所有的A、E、I、O、U、H、W及Y等字母转换为0。 按照如下方式将字母转换成数字: B, F, P, V  1 C, G, J, K, Q, S, X, Z  2 D,T  3; L  4; M, N  5; R  6 将连续出现的两个同一字符转换为一个字符直至再没有这种 现象出现。 在结果字符串中剔除0,并在结果字符串尾部补足0,然后 返回前四个字符,该字符由1个字母加上3个数字组成。 30

例子: HERMAN的Soundex编码 保留 H ERMAN → 0RM0N 0RM0N → 06505 06505 → 655 注意: HERMANN 会产生同样的编码 31

Soundex的应用情况 在IR中并不非常普遍 适用于“高召回率”任务 (e.g., 国际刑警组织Interpol在 全球范围内追查罪犯) Zobel and Dart (1996)提出了一个更好的发音匹配方 法 32

参考资料 《信息检索导论》第3章、MG4.2 高效拼写校正方法: K. Kukich. Techniques for automatically correcting words in text. ACM Computing Surveys 24(4), Dec 1992. J. Zobel and P. Dart.  Finding approximate matches in large lexicons.  Software - practice and experience 25(3), March 1995. http://citeseer.ist.psu.edu/zobel95finding.html Mikael Tillenius: Efficient Generation and Ranking of Spelling Error Corrections. Master’s thesis at Sweden’s Royal Institute of Technology. http://citeseer.ist.psu.edu/179155.html 33

参考资料 Peter Norvig: How to write a spelling corrector http://norvig.com/spell-correct.html http://ifnlp.org/ir Soundex演示 Levenshtein距离的演示 Peter Norvig的拼写校正工具 34

课后作业 见课程网页: http://www.cad.zju.edu.cn/home/smgao/IR