中文搜索引擎剖析
* * 中文搜索引擎技术 第一节 中文分词技术 分词技术简述 百度分词技术 分词中的难题与发展 第二节 拼写检查错误提示 第三节相关提示功能分析 第四节 CACHE结构 CACHE的实现原理 三级CACHE的设计 一.什么是中文分词 把中文的汉字序列切分成有意义的词。 二.分词技术简述 例:我/是/一个/学生 1.基于字符串匹配的分词方法 按照一定的策略将待分析的汉字串与一个机器词库中的词条进行匹配。 ?常用分词方法: 正向最大匹配法(由左到右的方向) 例:我 /有意/ 见/ 分歧 反向最大匹配法 例:我 /有/意见/分歧 统计结果表明:单纯使用正向最大匹配的错误率为1/169,单纯使用反向最大匹配的错误率为1/245。逆向匹配的切分精度略高于正向匹配。 2.基于统计的分词方法 相邻的字同时出现的次数越多,就越有可能构成一个词。 用于系统自动识别新词。 3.基于理解的分词方法 在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。 三.百度分词技术分析 1.最大分词词长: 小于等于3个中文字不切割 对于大于等于4个汉字的词将被分词。 2.分词算法: 查询:“工地方向导” 正向最大匹配: 工地/方向/导 反向最大匹配: 工/地方/向导 百度采用正向最大匹配算法 查询: 邓小平安定军山 正向最大匹配: 邓小平/安定/军/山 百度分词:邓小平/安/定军山 结论:百度识别人名、影视、戏剧名等专用词,专用词库分词时优先。 查询:何润东西南北(“何润东”、“东西南北”两个词) 正向最大匹配: 何润东/西/南北 归纳: 首先用专有词典采用最大正向匹配分词,切分出部分结果; 剩余没有切分交给普通词典,同样采取正向最大匹配分词。 四.分词中的难题 1.歧义识别 「这个门把手坏了」 -「把手」是个词 ; 「请把手拿开」 -「把手」不是一个词; 「元帅任命了一名中将」 -「中将」是个词;「产量三年中将增长两倍」 -「中将」不再是词。 ?真歧义 「乒乓球拍卖完了」 可以切分成「乒乓 球拍 卖 完 了」、也可切分成「乒乓球 拍卖 完 了」。 2.新词识别 就是那些在字典中没收录过,但又确实能称为词的那些词。 「听说温家宝物非常多」 「吴官正在吉林考察」 收录人名本身是一项巨大的工程 过多专用人名的收录很容易出现问题 五.最新进展 ?设计目标: 1.无长度限制 2.歧义包容:将出现歧义的 各种可能性都包含进去, 作为分词的参考。 ?方案:将关系数据库的词按 字打散,并存放到层次 数据库中。 ?特色:分词长度限制,词的 长度变成了树的高度, 每一次的匹配变成了树 的遍历。 感冒感冒解痛散感冒解痛颗粒感冒解痛灵茶 等都能匹配 一.实例分析 百度维持着一个同音词词典,多音字不区分 百度的中文纠错和拼音检索使用的机制相同。百度是将分词词典里面每个词条利用拼音标注程序标注成拼音。 查询:罗华世界有风军 词长不限,专用词全部标注 二.错误提示流程 利用拼音标注程序对用户输入进行拼音标注 用户输入 查分词词典 不做拼写检查 匹配 在同音词词典里面扫描 不匹配 不做提示 不匹配 匹配 输出权重比较大的几个提示结果 拼音提示流程 一.如何获得用户的查询信息 可对搜索引擎用户查询日志(LOG)文件做查询归类。 二.如何选择提示词 对于用户查询进行分词,然后对于分词后的结果来进行相似性计算。 “娱乐新闻报道”和“新闻娱乐报道”的相关提示完全一样。 三.如何计算相似性并排序输出 为什么增加的是“娱乐报道”和“新闻报道”的相关提示呢? Info.Retrieval
原创力文档

文档评论(0)