本文通过搜索结果归纳分析+切词通用算法分析的方式对百度预处理阶段的查询处理和中文分词两项技术进行了阐述、总结,如果你对数据结构、算法有一定了解的话,理解起来会相对容易些;个人感觉,得出正向最大匹配算法不够准确,无论是专用词典还是普通词典里的词,都是有不同权重的,这根搜索频率应该有一定关系,基于这点,在出现多个专用词典里的词时,是需要采用双向最大匹配算法来检测到底哪一个专有词汇应该先被切出来,当然,这是个人猜想,有待考究。
理解分词技术对SEO工作具有极大意义,可以从科学的角度来分析关键词,并构想关键词部署策略;如果正向最大匹配算法的结论是正确的,那基本上可以断定,切词后的分词的权重是按照正向排序的
我还想搞明白的是专用词典和普通词典,哪一个权重会更高?
以下为转载的原文:
查询处理以及分词技术
随着搜索经济的崛起,人们开始越加关注全球各大搜索引擎的性能、技术和日流量。作为企业,会根据搜索引擎的知名度以及日流量来选择是否要投放广告等;作为普通网民,会根据搜索引擎的性能和技术来选择自己喜欢的引擎查找资料;作为技术人员,会把有代表性的搜索引擎作为研究对象。搜索引擎经济的崛起,又一次向人们证明了网络所蕴藏的巨大商机。网络离开了搜索将只剩下空洞杂乱的数据,以及大量等待去费力挖掘的金矿。
但是,如何设计一个高效的搜索引擎?我们可以以百度所采取的技术手段来探讨如何设计一个实用的搜索引擎。搜索引擎涉及到许多技术点,比如查询处理,排序算法,页面抓取算法,CACHE机制,ANTI-SPAM等等。这些技术细节,作为商业公司的搜索引擎服务提供商比如百度,GOOGLE等是不会公之于众的。我们可以将现有的搜索引擎看作一个黑盒,通过向黑盒提交输入,判断黑盒返回的输出大致判断黑盒里面不为人知的技术细节。
查询处理与分词是一个中文搜索引擎必不可少的工作,而百度作为一个典型的中文搜索引擎一直强调其“中文处理”方面具有其它搜索引擎所不具有的关键技术和优势。那么我们就来看看百度到底采用了哪些所谓的核心技术。
我们分两个部分来讲述:查询处理/中文分词。
一、查询处理
用户向搜索引擎提交查询,搜索引擎一般在接受到用户查询后要做一些处理,然后在索引数据库里面提取相关的信息。那么百度在接受到用户查询后做了些什么工作呢?
1、假设用户提交了不只一个查询串,比如“信息检索 理论 工具”。那么搜索引擎首先做的是根据分隔符比如空格,标点符号,将查询串分割成若干子查询串,比如上面的查询就会被解析为:三个子字符串;这个道理简单,我们接着往下看。
2、假设提交的查询有重复的内容,搜索引擎怎么处理呢?比如查询“理论工具理论”,百度是将重复的字符串当作只出现过一次,也就是处理成等价的“理论工具”,而GOOGLE显然是没有进行归并,而是将重复查询子串的权重增大进行处理。那么是如何得出这个结论的呢?我们可以将“理论工具”提交给百度,返回341,000篇文档,大致看看第一页的返回内容。
OK。继续,我们提交查询“理论工具理论”,在看看返回结果,仍然是那么多返回文档,当然这个不能说明太多问题,那看看第一页返回结果的排序,看出来了吗?顺序完全没有变化,而 GOOGLE 则排序有些变动,这说明百度是将重复的查询归并成一个处理的,而且字符串之间的先后出现顺序基本不予考虑(GOOGLE是考虑了这个顺序关系的)。
3、假设提交的中文查询包含英文单词,搜索引擎是怎么处理的?比如查询”电影BT下载”,百度的方法是将中文字符串中的英文当作一个整体保留,并以此为断点将中文切分开,这样上述的查询就切为,不论中间的英文是否一个字典里能查到的单词也好,还是随机的字符也好,都会当作一个整体来对待。至于为什么,你用查询 “电影dfdfdf下载”看看结果就知道了。当然如果查询中包含数字,也是如此办理。
分享到:
相关推荐
百度分词算法详解 百度分词算法是搜索引擎中非常重要的一部分,其主要作用是将用户的查询语句进行分词处理,以便更好地索引和检索相关信息。本文将对百度分词算法进行详细的分析和解释。 首先,百度分词算法可以...
《百度分词词库详解与应用》 在自然语言处理领域,分词是文本预处理的重要环节,它将连续的汉字序列切分成具有语义意义的词汇单元,为后续的语义分析、情感分析等任务奠定基础。百度作为国内领先的搜索引擎公司,其...
这通常是一个专门用于验证和评估分词算法或工具的软件工具。它可以帮助开发者检查分词系统的性能,包括准确性、速度和资源消耗等关键指标。通过这个测试程序,可以对比不同分词算法的效果,找出最佳解决方案。 描述...
- **优化的分词算法**:新版本可能包含对原有分词算法的优化,提升分词速度和准确性。 - **新词发现**:ik分词器持续改进新词识别能力,适应网络上不断涌现的新词汇和热词。 - **错误修复**:官方可能会在新版本中...
这些分词器具备丰富的词汇库和优秀的分词算法,能有效地对中文文本进行拆分。 - **IK Analyzer**:是一个开源的、基于Java的轻量级中文分词工具,也有.NET版本。它具有灵活的词典管理、支持用户自定义词典和智能...
分词算法的选择直接影响到分词效果。简单的正向最大匹配法、逆向最大匹配法适用于小型系统,而复杂的基于统计的N-gram模型、HMM( Hidden Markov Model)模型则适用于大规模文本处理。在“phpanalysis.class.php”...
- **分词的基本原理**:分词算法通常包括基于词典的匹配方法(如正向最大匹配法、逆向最大匹配法)和统计方法。词典匹配方法依赖于预先构建的词典;而统计方法则根据大量的语料库数据,通过统计词语出现的频率来确定...
1. **高性能**:IK分词器采用高效的分词算法,能快速处理大量文本数据。 2. **智能切词**:IK分词器支持精确模式、全模式、最短路径模式等多种分词策略,可以根据实际需求进行选择。 3. **动态扩展**:用户可以...
5. **elasticsearch-analysis-ik-7.10.1.jar**:核心的IK分词器实现,包含了所有分词算法和相关配置。 6. **plugin-security.policy**:插件的安全策略文件,用于限制插件的某些操作,确保系统安全。 7. **plugin-...
2. 高性能的分词算法:通过优化算法,IK插件能够在保证分词效果的同时,显著提高处理速度。 3. 动态热加载:在系统运行过程中,可以实时更新词典,无需重启Elasticsearch服务。 4. 多种分词模式:提供精确模式、全面...
**Lucene 搜索引擎实现详解** Lucene 是一个开源全文搜索引擎库,由 Apache 软件基金会维护。它提供了一套强大的数据结构和算法,用于高效地存储和检索大量文本数据。通过 Lucene,开发者可以轻松地在自己的应用...
### 百度长文本去重方法详解 #### 一、背景与挑战 在当前互联网环境中,原创内容面临着严重的抄袭问题。这种现象不仅损害了原创作者的权益,也给搜索引擎带来了挑战,尤其是对于像百度这样的大型搜索引擎来说,...
IK(Intelligent Word Segmentation)智能分词算法在该版本中进行了优化,能够更好地适应中文语境,提高搜索的准确性和效率。7.10.2版本是对前一版本的升级,修复了已知问题,增强了稳定性和性能,以满足日益增长的...
《Elasticsearch IK 分析器插件7.12.0版详解》 Elasticsearch是一种流行的开源全文搜索引擎,以其强大的搜索能力和灵活的数据处理能力深受开发者喜爱。在处理中文文本时,选择合适的分析器至关重要,而`elastic...
- **知识点概述**:中文分词是自然语言处理(NLP)中的一个重要环节,本篇详细解释了中文分词的难点以及常用的几种分词算法。 - **核心概念**: - 分词算法:将连续的汉字序列切分成具有实际意义的词汇单元。 - ...
百度(baidu)分词算法分析.doc 百度收录减少的原因和解决办法!(已更新).doc 网络优化应该避免的一些问题.doc 网络营销中常见的欺诈手法.doc 请清楚自己的Seo定位和优化策略![不要去抢排名].doc 问鹤分享:博客中h1...
《CCKS 2019百度实体链接技术比赛:第一名解决方案详解》 在信息技术领域,实体链接(Entity Linking,EL)是一项重要的任务,它旨在识别文本中的实体并将其映射到知识库中的相应条目。CCKS(中国中文信息处理学会...