550 likes | 675 Views
中文网页自动分类技术研究 及其在搜索引擎中的应用. 冯是聪 北京大学网络与分布式实验室 2003 年4月19日. 提纲. 研究背景与意义 影响分类器性能的关键因素分析 通过清除噪音改进分类质量 一种从搜索引擎日志中学习新词的方法 中文网页自动分类技术在搜索引擎中的应用 总结与展望. 研究背景与意义. Web 网页量的迅猛增长 Google: 超过30亿 “ 天网 ” : 超过1亿 Web 信息的特性 海量 动态 不规则 应用实例 面向主题的搜索引擎与个性化搜索引擎 信息过滤和主动推送服务 基本内容 如何实现中文网页的自动分类
E N D
中文网页自动分类技术研究及其在搜索引擎中的应用中文网页自动分类技术研究及其在搜索引擎中的应用 冯是聪 北京大学网络与分布式实验室 2003年4月19日
提纲 • 研究背景与意义 • 影响分类器性能的关键因素分析 • 通过清除噪音改进分类质量 • 一种从搜索引擎日志中学习新词的方法 • 中文网页自动分类技术在搜索引擎中的应用 • 总结与展望
研究背景与意义 • Web网页量的迅猛增长 • Google: 超过30亿 • “天网”: 超过1亿 • Web信息的特性 • 海量 • 动态 • 不规则 • 应用实例 • 面向主题的搜索引擎与个性化搜索引擎 • 信息过滤和主动推送服务 • 基本内容 • 如何实现中文网页的自动分类 • 如何应用中文网页自动分类技术实现搜索引擎目录导航服务
提纲 • 问题的提出 • 影响分类器性能的关键因素分析 • 通过清除噪音改进分类质量 • 一种从搜索引擎日志中学习新词的方法 • 中文网页自动分类技术在搜索引擎中的应用 • 总结与展望
影响分类器性能的关键因素分析 • 引言 • 文档自动分类算法的类型 • 实现中文网页自动分类的一般过程 • 影响分类器性能的关键因素的定量分析 • 实验设置 • 训练样本 • 特征选取 • 分类算法 • 截尾算法 • 一个中文网页分类器的设计方案
实现中文网页自动分类的一般过程 • 训练过程: 可以看作在已知文档类别的情况下,统计不同类别内的词的分布 • 分类过程: 可以看作在已知一篇文档内所包含词的分布的情况下,来预测该文档的类别
实验设置 • 预处理 :无 • 特征选取 :无 • 分类算法 :kNN, k=20, 取最大的一个类别 • 截尾算法 :无 • 评价指标:Macro-F1 和 Micro-F1
应该返回 不该返回 实际返回 a b 实际未返回 c d 评价指标
类别编号 类别名称 类别数 训练 样本数 测试 样本数 1 人文与艺术 24 419 110 2 新闻与媒体 7 125 19 3 商业与经济 48 839 214 4 娱乐与休闲 88 1510 374 5 计算机与因特网 58 925 238 6 教育 18 286 85 7 区域 53 891 235 8 自然科学 113 1892 514 9 政府与政治 18 288 84 10 社会科学 104 1765 479 11 医疗与健康 136 2295 616 12 社会与文化 66 1101 301 共计 733 12336 3269 样本集中类别及实例数量的分布情况
特征选取算法 • DF: Document Frequency • IG: Information Gain G(t) = • MI: Mutual Information • CHI
分类算法 • kNN • NB: Naïve Bayes
质量 效率(秒) Micro-F1 Macro-F1 训练时间 测试时间 kNN 0.8266 0.7560 0 2426 NB 0.1934 0.1612 251 2129 分类算法对分类性能的影响
文档之间的相似度 • 欧式(Euclid)距离 • 兰氏(Lance)距离
质量 效率(秒) Micro-F1 Macro-F1 测试时间 欧式距离 0.2419 0.1715 4790 兰式距离 0.8266 0.7600 2426 文档之间的相似度-实验结果
类别之间的层次关系 训练过程 测试过程
质量 效率(秒) Micro-F1 Macro-F1 测试时间 基于层次的kNN 0.7288 0.6296 677 基本kNN 0.8266 0.7600 1734 类别之间的层次关系-实验结果
截尾算法 • 位置截尾法(RCut):从m的候选类列表中取前k项 • 比例截尾法(PCut):分类结果中,某个类的文档比例同训练集中属于类i的文档所占的比例一致。 • 最优截尾法(SCut):对于候选类列表里的每一个类,如果这篇文档和这个类的相似度大于这个类的最优截尾相似度,那么这篇文档就属于这个类。最优截尾相似度的获得:将训练集分成两部分,其中一部分仍然作为训练集,另一部分作为测试集,对每一个类,评价分类系统在这个测试集下对于这个类的分类性能,调整截尾相似度,使得系统的性能达到最优,此时截尾相似度的值就是这个类的最优截尾相似度
质量 效率(秒) Micro-F1 Macro-F1 测试时间 RCut 0.8266 0.7600 4324 Scut 0.8401 0.7849 5368 基本kNN 0.8266 0.7600 2426 截尾算法-实验结果
关键因素 方案 训练样本数 15 特征选取方法 CHI 分类算法 kNN & NB kNN k 15 相似度 兰式距离 层次关系 层次关系 截尾算法 SCut 一个中文网页分类器的设计方案
质量 效率(秒) Micro-F1 Macro-F1 测试时间 新方案 0.7173 0.6229 397 基本kNN 0.8266 0.7600 1734 实验结果
提纲 • 问题的提出 • 影响分类器性能的关键因素分析 • 通过清除噪音改进分类质量 • 一种从搜索引擎日志中学习新词的方法 • 中文网页自动分类技术在搜索引擎中的应用 • 总结与展望
中文网页的特性 • 中文网页的内容使用中文书写,不像英文单词之间存在自然的形态间隔,中文需要分词处理。而且分词的效果能够显著地影响分类效果 • 网页使用超文本设计。它包含大量的HTML标签和超链接。我们有可能利用这些信息来改进分类的质量 • 网页通常包含大量的“噪音”。同普通文本相比,网页的设计比较随意,通常包含各类广告,设计人员的注释以及版权申明等无关信息。有时同一个网页甚至会包含多个不同的主题。在进行分类之前,需要自动清除这些“噪音”,否则这些“噪音”会降低分类质量
清除噪音算法 • 流程:源文件 标签树 内容识别 正文,相关连接,噪音 删除噪音 <html> <head> <title> </title> </head> <body> <table> <tr> </tr> ... <table> <tr> </tr> </table> </body> </html>
噪音识别方法 • 网页结构信息 • 标签信息:table, tr,td, div, p • 大小,位置 • 超链数,文字数 正文 • 网页内容信息 • 分类
质量 效率(秒) Micro-F1 Macro-F1 测试时间 没有取噪音 0.8266 0.7600 1734 去噪音 0.8293 0.7746 2359 实验结果- 分类结果
提纲 • 问题的提出 • 影响分类器性能的关键因素分析 • 通过清除噪音改进分类质量 • 一种从搜索引擎日志中学习新词的方法 • 中文网页自动分类技术在搜索引擎中的应用 • 总结与展望
一种从搜索引擎日志中学习新词的方法 • 引言 • 基本思想 • 用户查询词的分布特性分析 • 组合模式的提取 • 候选词的筛选 • 算法分析 • 实验结果及其分析
引言 • 相关研究 • 人名 • 地名 • 机构名 • 共同点:应用面向领域的语料库 • 从搜索引擎日志中学习新词的优点 • 学习新词的效率、准确率高 • 能够及时地学习到最近出现的新词,而且这些新词不受领域的局限 • 客观性
基本思想 • 基本思想 • 用户查询词的分布特性 • 已有分词系统 • 从搜索引擎日志中学习新词的一般步骤
用户查询词的分布特性 分别以“天网” 搜索引擎收集的三批日志文件数据为分析对象集合: • 第一批是从2000年11月20日至2001年9月4日期间的日志数据(共9,256,772条记录) • 第二批是从2001年12月20日至2002年2月3日期间的日志数据(共9,394,200条记录) • 第三批是从2002年7月1日至2002年8月14日期间的日志数据(共6,391,282条记录)
用户查询词的长度分布特性 用户的查询词通常都是非常简短的,92%以上的用户查询词的长度不超过8个汉字 65%以上的查询词的长度不超过4个汉字。在所有查询词中,4个汉字长的查询词最多,占28%以上。2个汉字长的查询词次之,占22%以上
用户查询词的频度分布特性 • 搜索引擎日志中用户查询词在频度分布上是高度集中的 • 前5%的高频词占据了64%以上的总查询次数 • 前20%的查询词占据了83%以上的总查询次数 • 以第三批数据为例,在639.1万次的用户查询中,共有447,1万次中文查询,而这些查询词中仅包含了43.4万不同的查询词,频率大于等于5次的仅有11.9万个
组合模式的提取两个规则 • 直接删除已经被分词系统作为单个词条的已知组合模式,并且在模式提取的过程中不破坏已有的基本词条 • 如果查询词的长度n≤4个汉字字符长,在日志中出现的频率比较高,而且被分词系统分割成单个汉字的组合,那么由这些单个汉字一起组成的词就作为一个侯选新词,而其它的组合则被视为无效
汉字组合模式的提取算法 输入: 经过预处理后保留下来的所有用户查询词 输出: 候选新词集ω 算法: 1. count←经过预处理后保留下来的所有用户查询词的个数. 2. while (count>0) 3. 取一个查询词S,n←S的长度,m←S分词后得到的词条数,mi←第i个词条 4. if (NOT m = 1) • . if ( n = 2 OR n= 3) S ∈ω 6. else if (n = 4) • . if (m= 2 OR m = 4 ) S ∈ω • . else if ( m = 3) S ∈ω OR (m1∪m2) ∈ω OR (m2∪m3) ∈ω • . else if (n>4) • 0. 按正向增字的方法,S←取4个字符,GOTO 3. • 1. count←count –1
汉字组合模式提取算法复杂度分析 • 所有汉字组合模式的穷举法 • 6763个一、二级汉字,k个汉字可能产生的组合模式有 • 当k=4时,共有2.1×1015重组合模式 • 本文的方法 • O(S)= • 当i=2或i =3时,需要匹配的次数为常数1 • 当i=4时,根据分词结果,需要匹配的最大次数为常数3 • 当 4<i≤8时,根据“正向增字匹配”,可以分别拆分成i≤4时的情况。最后求得O(S)≈3.4次
候选词的筛选 • “伪词条”的筛选 • 所谓“伪词条”就是不能形成真实词条的候选词 • 通过限制最小频率就可以过滤“伪词条”,但是也会过滤掉一些频率比较低的正确词条 • “伪组合词”的筛选 • “伪组合词”就是不能构成真实组合词的两个词放在一起作为一个组合词的候选词 S = S1 U S2 • 规则:Diff = • 如果freq(S1)>> freq(S2),那么S1最可能是基本词条 ≥2 • 如果freq(S1)<< freq(S2),那么S2最可能是基本词条 ≤-2 • 如果freq(S1)≈ freq(S2),那么S最可能是基本词条 (–2,2)
新词学习方法质量的测试 – 定义 • 定义1 • a = 学习得到的新词中包含的正确词条数 • b = 学习得到的新词中包含的错误词条数 • c = 日志中包含而没有被学习出来的新词数 • 定义2 “学准率”p = ,即学习得到的新词中包含的正确词条数与学习得到的新词总数的比值 • 定义3 “学全率”r = ,即学习得到的新词中包含的正确词条数与日志中包含的所有新词数的比值
新词学习方法质量的测试 – 实验方法 • 随机地从预处理后保留的用户查询词中选择3000个不同的查询词进行人工地分词,删除分词系统已经作为一个独立词条的词后,得到743个新词 • 将自动学习得到的821个新词按频率从高到低排列,并分成8个等份,并分别统计前k(1≤k≤8)个等份的a、b、c值之和,然后根据定义2和定义3,分别求前k个等份对应的“学准率”p和“学全率”r值
实验结果举例 • 正确学习的: • 新潮词:下载,考研,手机,课件,网站,美眉,短信 … • 人名:刘德华,江泽民,周星驰 … • 地名:北京,上海,美国,日本,中关村 … • 娱乐焦点:寻秦记,璩美凤,大史记 ,天龙八部 … • 敏感话题:乱伦,三级片 … • 错误学习的: • 用户不能确定:到底是“璩美凤”还是“虞美凤”? • 一些不能作为新词的娱乐作品名:“我猜” • 漏学的: • 频率比较低,而确实是新词的,玄奘…
提纲 • 问题的提出 • 影响分类器性能的关键因素分析 • 通过清除噪音改进分类质量 • 一种从搜索引擎日志中学习新词的方法 • 中文网页自动分类技术在搜索引擎中的应用 • 总结与展望
引言 • Spider式搜索引擎的特点 • 索引的网页数多,信息量大 • 更新频率高 • 查准率相对较低 • 目录式搜索引擎的特点 • 查准率相对较高 • 规模较小 • 维护代价高 • 相关研究 • Google • Yahoo!