Solr5-5搜索引擎之分词原理说明.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Solr5.5搜索引擎之分词原理说明中文分词1.1 概念众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文时以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:“我是一个学生”。计算机可以很简单通过空格知道student是一个单词,但是不能很容易明白“学”,“生”两个字合起来才表示一个词。把中文的汉字序列切分成有意义的词,就是中文分词,有些人也称为切词。“我是一个学生”的分词结果是:“我是一个学生”。摘自/archives/333.html1.2 应用目前在自然语言处理技术中,中文处理技术比西文处理技术要落后很大一段距离,很多西文的处理方法对中文不能直接采用,就是因为中文必须有分词这道工序。中文分词是其他中文信息处理的基础,搜索引擎只是中文分词的一个应用。其他的比如机器翻译(MT)、语音合成、自动分类、自动摘要、自动校对等等,都需要用到分词。因为中文需要分词,可能会影响一些研究,但同时也为一些企业带来机会,因为国外的计算机处理技术要想进入中国市场,首先也要解决中文分词问题。分词准确性对搜索引擎来说十分重要,但如果分词速度太慢,即使准确性再高,对于搜索引擎来说也是不可用的,因为搜索引擎需要处理数以亿计的网页,如果分词耗用的时间过长,会严重影响搜索引擎内容更新的速度。因此对于搜索引擎来说,分词的准确性和速度,二者都需要达到很高的要求。2.搜索引擎和中文分词2.1 搜索引擎的工作原理摘自:/renenglish/article/details/5847100搜索引擎为什么能快速检索到自己查询的关键字呢?实际上得益于它的数据存储机制“倒排索引”,这里用一个例子来大体说明什么是倒排索引。假设我有10篇文章,它们可能论述了相同或不同的主题。如果我想看看哪篇文章中含有“中文分词”这个词语,我可以循环遍历每篇文章,看看他的内容中有没有含有“中文分词”这个词语,然后把含有目标词语的文章返回。很显然,我需要打开10篇文章,并且从头到尾的遍历每篇文章,看能否匹配到“中文分词”,这样的效率是很低的,对于毫秒级的搜索引擎来说是绝对不能接受的。所以我给每篇文章做个“目录”,事先找到含有“中文分词”的文章,假设文章1,3,5,7含有这个词语,文章2,4,6,7含有“搜索引擎”,我建立一个对应关系表:词语文章编号“中文分词”1,3,5,7“搜索引擎”2,4,6,7于是当我要检索“中文分词”这个词语的时候,我不再打开每篇文章去匹配,而是直接在对应关系表看一下“中文分词”对应着文章1,3,5,7。结果是文章1,3,5,7中含有“中文分词”,同样检索“搜索引擎”,直接返回的结果是2,4,6,7。如果我要同时检索“中文分词”和“搜索引擎”,结果是(1,3,5,7)和(2,4,6,7)取交集。结果是文章7同时包含“中文分词”和“搜索引擎”。这个对应关系表就是所谓的倒排索引。当然倒排索引可能包含的信息更为丰富,比如不仅包含词语在哪一篇文章,同时还包含了在这篇文章的哪个位置等。生产环境中需要把所有文章都建立一个倒排索引。创建倒排索引的前提是:搜索引擎怎么认识句子中哪些是词语呢?它不知道“中文分词”是一个词语。这个工作由中文分词器来完成,分词器在创建索引过程和用户查询过程都会被使用到。2.2 搜索引擎和数据库区别为什么搜索引擎无法被数据库所替代的原因主要有两点:一个是在数据量比较大的时候,搜索引擎的查询速度快,第二点在于,搜索引擎能做到比数据库更理解用户。第一点好理解,每当数据库的单个表大了,就是一件头疼的事,还有在较大数据量级的情况下,你让数据库去做模糊查询,那也是一件比较吃力的事(当然前缀匹配会好得多),设计上就应当避免。关于第二点,搜索引擎如何理解用户,肯定不是简单的靠匹配,这里面可以加入很多的处理,甚至加入各种自然语言处理的高级技术,而比较通用且基本的方法就是靠分词器来完成,而且这是一种比较简单而且高效的处理方法。3.中文分词类型分词技术现今非常成熟了,分为3中技术3.1 基于词典的字符串匹配的分词方法按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。范例:检索“山东经济学院”时,首先检查“山”是否在词典中,再检查“山东”是否在词典中,然后查“山东经济”是否在词典中,以此类推。按照扫描方向不同,串匹配又分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可分为最长(最大)匹配和最短(最小)匹配;按照是否与词性标注过程相结合,可分为单纯分词和分词与标注相结合的一体化方法;常见的匹配方法包括:正向最大匹配、逆向最大匹配、最短路径最大匹配3.1.1 正向最大匹配假设词典里包含以下词:“研究”、“研究生”、“生命”、“起源”对“研究生

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档