欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    Solr55搜索引擎之分词原理说明.docx

    • 资源ID:3165993       资源大小:42.51KB        全文页数:12页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Solr55搜索引擎之分词原理说明.docx

    Solr55搜索引擎之分词原理说明Solr5.5搜索引擎之分词原理说明 1 中文分词 1.1 概念 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文时以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”,“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。“我是一个学生”的分词结果是:“我是一个学生”。摘自http:/www.williamlong.info/archives/333.html 1.2 应用 目前在自然语言处理技术中,中文处理技术比西文处理技术要落后很大一段距离,很多西文的处理方法对中文不能直接采用,就是因为中文必须有分词这道工序。中文分词是其他中文信息处理的基础,搜索引擎只是中文分词的一个应用。其他的比如机器翻译、语音合成、自动分类、自动摘要、自动校对等等,都需要用到分词。因为中文需要分词,可能会影响一些研究,但同时也为一些企业带来机会,因为国外的计算机处理技术要想进入中国市场,首先也要解决中文分词问题。 分词准确性对搜索引擎来说十分重要,但如果分词速度太慢,即使准确性再高,对于搜索引擎来说也是不可用的,因为搜索引擎需要处理数以亿计的网页,如果分词耗用的时间过长,会严重影响搜索引擎内容更新的速度。因此对于搜索引擎来说,分词的准确性和速度,二者都需要达到很高的要求。 2搜索引擎和中文分词 2.1 搜索引擎的工作原理 摘自: 搜索引擎为什么能快速检索到自己查询的关键字呢?实际上得益于它的数据存储机制“倒排索引”,这里用一个例子来大体说明什么是倒排索引。 假设我有10篇文章,它们可能论述了相同或不同的主题。如果我想看看哪篇文章中含有“中文分词”这个词语,我可以循环遍历每篇文章,看看他的内容中有没有含有“中文分词”这个词语,然后把含有目标词语的文章返回。很显然,我需要打开10篇文章,并且从头到尾的遍历每篇文章,看能否匹配到“中文分词”,这样的效率是很低的,对于毫秒级的搜索引擎来说是绝对不能接受的。 所以我给每篇文章做个“目录”,事先找到含有“中文分词”的文章,假设文章1,3,5,7含有这个词语,文章2,4,6,7含有“搜索引擎”,我建立一个对应关系表: 词语 “中文分词” “搜索引擎” 于是当我要检索“中文分词”这个词语的时候,我不再打开每篇文章去匹配,而是直接在对应关系表看一下“中文分词”对应着文章1,3,5,7。结果是文章1,3,5,7中含有“中文分词”,同样检索“搜索引擎”,直接返回的结果是2,4,6,7。如果我要同时检索“中文分词”和“搜索引擎”,结果是和取交集。结果是文章7同时包含“中文分词”和“搜索引擎”。这个对应关系表就是所谓的倒排索引。当然倒排索引可能包含的信息更为丰富,比如不仅包含词语在哪一篇文章,同时还包含了在这篇文章的哪个位置等。生产环境中需要把所有文章都建立一个倒排索引。 创建倒排索引的前提是:搜索引擎怎么认识句子中哪些是词语呢?它不知道“中文分词”是一个词语。这个工作由中文分词器来完成,分词器在创建索引过程和用户查询过程都会被使用到。 文章编号 1,3,5,7 2,4,6,7 2.2 搜索引擎和数据库区别 为什么搜索引擎无法被数据库所替代的原因主要有两点:一个是在数据量比较大的时候,搜索引擎的查询速度快,第二点在于,搜索引擎能做到比数据库更理解用户。第一点好理解,每当数据库的单个表大了,就是一件头疼的事,还有在较大数据量级的情况下,你让数据库去做模糊查询,那也是一件比较吃力的事,设计上就应当避免。关于第二点,搜索引擎如何理解用户,肯定不是简单的靠匹配,这里面可以加入很多的处理,甚至加入各种自然语言处理的高级技术,而比较通用且基本的方法就是靠分词器来完成,而且这是一种比较简单而且高效的处理方法。 3中文分词类型 分词技术现今非常成熟了,分为3中技术 3.1 基于词典的字符串匹配的分词方法 按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。范例:检索“山东经济学院”时,首先检查“山”是否在词典中,再检查“山东”是否在词典中,然后查“山东经济”是否在词典中,以此类推。 按照扫描方向不同,串匹配又分为正向匹配和逆向匹配; 按照不同长度优先匹配的情况,可分为最长匹配和最短匹配; 按照是否与词性标注过程相结合,可分为单纯分词和分词与标注相结合的一体化方法; 常见的匹配方法包括:正向最大匹配、逆向最大匹配、最短路径最大匹配 3.1.1 正向最大匹配 假设词典里包含以下词:“研究”、“研究生”、“生命”、“起源” 对“研究生命起源”进行分词。 子匹配次数 1 2 3 4 5 备选词 词典是否存在 无 有 有 无 无 分词结果 长度最大分析匹配匹配结果 结果 研究生 “研究生_命_起源” 明显语义错误。 说明本方法在用于“研究生命起源”时有误差。 匹配起点选择次数 1 研 研究 研究生 研究生命 研究生命起 备注:假设一个词语最大不超过5个字,停止匹配 研究 研究生 2 1 命 命起 命起源 备注:已延长到句子结尾,停止匹配。 起 起源 无 命 2 3 无 无 3 1 2 无 有 起源 起源 3.1.1 逆向最大匹配 假设词典里包含以下词:“研究”、“研究生”、“生命”、“起源” 对“研究生命起源”进行分词。 子匹配次数 1 2 备选词 词典是否存在 无 有 分词结果 长度最大分析匹配匹配结果 结果 起源 “研究_生命_起源” 匹配起点选择次数 1 源 起源 起源 3 4 5 命起源 生命起源 究生命起源 备注:假设一个词语最大不超过5个字,停止匹配 无 无 无 2 1 2 3 4 命 生命 究生命 研究生命 究 研究 无 有 无 无 无 有 生命 研究 生命 明显语义正确。 说明本方法在用于“研究生命起源”时无误差。 3 1 2 研究 3.2 基于统计的分词方法 从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。 3.3 基于语法的分词方法 这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。 4中文分词的难题 摘自:http:/www.williamlong.info/archives/333.html 有了成熟的分词算法,是否就能容易的解决中文分词的问题呢?事实远非如此,中文是一种十分复杂的语言,让计算机理解中文语言更是苦难,在中文分词过程中,有两大难题一直没有完全突破。 4.1 歧义识别 歧义是指同样的一句话,可能有两种或者更多的切分方法。 4.1.1 交叉歧义 例如:“表面的”这句话,因为“表面”和“面的”都是词,那么这个短语就可以分成“表面|的”和“表|面的”。这种称为交叉歧义。 例如:“化妆和服装”可以分为“化妆|和|服装”或者“化妆|和服|装”。 像这种交叉歧义十分常见,由于没有人的知识去理解,计算机很难知道到底哪个方案正确。 4.1.2 组合歧义 比交叉歧义更加难处理的是组合歧义,必须根据整个句子来判断。 例如:在句子“这个门把手坏了”中,“把手”是个词,但在句子“请把手拿开”中,“把手”不是一个词; 例如:在句子“将军任命了一名中将”中,“中将”是个词,但在句子“产量三年中将增长两倍”中,“中将”不再是词。这些词计算机无法识别。 4.1.3 真歧义 真歧义是给出一句话,由人去判断也不知道哪个应该是词,哪个不应该是词。例如:“乒乓球拍卖完了”,可以切分成“乒乓|球拍|卖|完|了”,也可以切分成“乒乓球|拍卖|完|了”,如果没有上下文其他的句子,恐怕谁也不知道“拍卖”在这里算不算一个词。 4.2 新词识别 新词,专业术语称为未登录词。也就是那些在字典中都没有收录过,但有确实能称为词的那些词。最典型的是人名,人可以很容易理解句子:“王军虎去广州了”中,“王军虎”是个词,因为是一个人的名字,但要是让计算机去识别就困难了。如果把“王军虎”作为一个词收录到字典中,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项巨大的工程。即使这项工作可以完成,还是会存在问题,例如:在句子“王军虎头虎脑的”中,“王军虎”就不能算词。 新词中除了人名外,还有机构、地名、产品名、商标名、简称、省略语等都是很难处理的问题,而且这些又正好是经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。 4. IKAnalyzer中文分词器 4.1正向迭代最细粒度切分算法 根据官方说法IK分词器采用“正向迭代最细粒度切分算法”,属于“正向最大匹配法”的变种。分析它的源代码,可以看到分词工具类IKQueryParser起至关重要的作用,它对搜索关键词采用从最大词到最小词层层迭代检索方式切分。 内部包含两种分词方法:智能方式和非智能方式。摘自: 4.1.1 细粒度切分 属于“正向”匹配,但并不是仅仅保留最长的词,而是把匹配到的所有词都保留下来了,所以也是“最细粒度切分”。范例如下: 假设词典里包含以下词:“研究”、“研究生”、“生命”、“起源” 对“研究生命起源”进行分词。 匹配起点选择次数 1 子匹配次数 1 2 3 4 5 备选词 词典是否存在 无 有 有 无 无 分词结果 合并分词结果 研 研究 研究生 研究生命 研究生命起 备注:假设一个词语最大不超过5个字,停止匹配 研究 研究生 “研究生|研究|命起源” 2 1 2 3 生 生命 生命起源 起 起源 无 有 无 无 有 生命 起源 3 1 2 比如搜索词:“中华人民共和国成立了”, 如果按照默认额细粒度切分,按照下图从上到下的顺序切分,形成树状结构。最后树的先序遍历结果:“中华人民共和国|中华人民|中华|华人|人民共和国|共和国|共和|国|成立|立了”就是分词结果。 4.1.1 智能切分 IK分词器则会根据内在方法输出一个认为最合理的分词结果,这就涉及到了歧义判断,一般不存在相同词分到不同次元中。 假设词典里包含以下词:“研究”、“研究生”、“生命”、“起源”。对“研究生命起源”进行分词,结果是:“研究|生命|起源” 范例: 原词 智能切分 细粒度切分 故宫博物院 故宫博物院|故宫|博物院|博物|院| 八达岭长城风景名胜区 八达岭|长城|风景|名八达岭|达|岭|长城|风胜区| 景名胜|风景|名胜区|名胜|区| 故宫博物院 4.2 分词词典的重要性 智能分词和最细粒度分词。两种分词方法都是以词库为分词依据。 下面范例说明了,虽然被分词的句子相同,但由于词库不同导致了分词结果的不同。 测试句子 词库内容 网厅 智能分词结果 网厅 最细力度分词结果 网厅 网厅|网|厅| 网 厅 网厅 网厅 网厅 网厅 (无内容) 网厅 网厅 网 厅 网|厅 网|厅 网|厅 网|厅 4.3 词库配置 IKAnalyzer允许用户自定义三种词库:扩展词库ext.dic,停用词库stopword.dic和同义词词库。部署位置在conf目录下,和data-config.xml在相同目录下。 4.3.1 配置文件IKAnalyzer.cfg.xml 4.3.1扩展词库 ext.dic格式是无BOM的UTF-8格式,自己修改时可以直接替换成首行空一行的utf8格式文件,每个扩展词占一行。如下图: 这两个词库需要在IKAnalyzer的自身jar包中配置即可。 4.3.2停用词词库配置 stopword.dic格式是无BOM的UTF-8格式,自己修改时可以直接替换成首行空一行的utf8格式文件,每个扩展词占一行。如下图: 4.3.2 同义词词库配置 格式说明:

    注意事项

    本文(Solr55搜索引擎之分词原理说明.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开