短语匹配(LCS)在 SEO 中的运用

本贴最后更新于 1694 天前,其中的信息可能已经事过景迁

对于公司的层面而言,SEO 往往是一个很悲催的角色,因为 SEO 这一块很少会得到重视。这往往不是取决于 SEO 流量在网站的占比、SEO 人员的能力等等,而是几乎所有人都觉得,SEO 就是没法做出什么事情的。因此很多公司认为 SEO 是网站应该有的一个职位,仅此而已。

如平常协助技术改他们的 bug,这边 gzip 忘开了、那边缓存设错了,折腾许久轮到 SEO 需求后,这个太难了、那个做不到。SEO 的被重视程度不够,就什么都麻烦。

且无法拿到网站服务器、数据库等等的权限,没法自己搞。总算还有唯一的完全自由的权限——论坛发帖。

进入正题吧,怎么编辑文章。

SEO 分为三面,用户、搜索引擎、网站。而 SEO 来编辑文章么,用户、网站面基本是没法顾及太多,没有编辑的专业能力,因此没法给互联网创造什么有价值的内容。那么就只能从搜索引擎面切入了,钻钻小空子。

提到搜索引擎面,必分析它的技术原理,涉及很多,本文只说短语匹配。在开源全文检索引擎 Sphinx 中,用来评估短语匹配的算法,称为 LCS(最长公共子串,可见百度百科)。

比如以下两个字符串:

aaabbbccc

xxxbbbyyy

它们的 LCS 是公共部分的 bbb,LCS 值为其长度,3。

LCS 算法有什么意义?

比如用户在搜索引擎搜索“百度 SEO”时,有两个网页:

A 网页:内容出现 2 次“百度 SEO”,没有出现零散“百度”或“SEO”

B 网页:内容出现 5 次“SEO”,且在网页导航栏里面,出现过 1 次“百度”

若只根据基于 TF-IDF 框架的经典 BM25 算法(某种程度上也可将就的将其称为关键词密度问题),B 网页的排名一般会比 A 网页高,因为对于“百度 SEO”,其中重要词项“SEO”在 B 网页出现次数更多。

而实际上可以看出的是,既然 A 网页都出现了两次完整的“百度 SEO”,它肯定是和这个主题比较相关的。而 B 网页的“百度”出现距离与“SEO”很远,则不能保证它和这个主题相关,它可能是关于 Google SEO 之类。

所以 A 网页排名应该比 B 网页高,而 LCS 算法则一定程度上解决了这个问题。词项权重的计算,对于 Sphinx 大致类似于:weight = mBM25 + nLCS(m, n 调节权重)

(可参阅 Sphinx 文档进一步理解:http://www.coreseek.cn/docs/coreseek_4.1-sphinx_2.0.1-beta.html#weighting)

当词组在页面上完整的出现一次后,这个页面就可以拿到完整的 LCS 权值,之后结合 BM25 等排序因子,综合得出最终排名。

(昨天刚好看到一篇博客:http://www.seoyangs.com/keywordsfenbu.html

很感动的看到了连向这里的友情链接,但文中对于短语匹配的理解似乎有误。另外个人感觉那个用表格计算 TF-IDF 的稍夸张了些。既然也清楚关键词出现的最佳频率,直接出现这些次数就好了,没能想通此处计算一个具体分值出来有什么意义)

实际对于商业搜索引擎,基本上会比 LCS 更完善一些,因为 LCS 也有比较致命的问题,比如在搜索“百度 SEO”,页面上有那么一句“针对百度做 SEO”的时候,该页面却无法得到 LCS 分值。

商业搜索引擎多半会计算最近命中距离,因为商业搜索引擎会在索引库记录每个词具体的命中位置,所以命中距离很好计算。(具体概念参阅各类搜索引擎原理书中的索引部分)

通过命中距离,如“针对百度做 SEO”,它和“针对性去做百度 SEO”这样的区别不大。而如果“⋯⋯ 搜索引擎有百度、Google 等。那么我们怎么去做 SEO 呢?”这里命中距离远了,所以其得分较低。

以前一篇文章里面这些知识有大致的提到过:《基于命中距离的关键词布局——大众点评 SEO 分析》,希望这篇的解释能让人更容易理解一些。

最后来个实例。论坛里面,有一个帖子非常热门,关于舞蹈家金星的八卦的,它得到了很多相关词的流量。

某天稍找了下相关关键词,发现“金星是男的还是女的”这个词稍有些搜索量,但帖子里面没有完整出现过该词。

然后回了一贴,就写了几个字“金星是男的还是女的?”,过了几天百度重访该页面后,该词的排名从十几二十名到了大约第 5 名,于是每天网站微妙的多出了几十个来自百度的访问。

从过程来说是挺省力的,看下词回个贴,每天几十流量。结合一些其它的方法,日搜索量十几万的词也单靠帖子页面撑上去过。每天这样搞搞,对于个人网站或也不错,但对于公司网站,这些都只是九牛一毛。

而如果能给编辑培训下呢?仅从本文所说的知识,都可以基于网站每天至少上百的新页面,让它们有每天多获得几个 SEO 流量的可能性。但这展开下去又要绕回文章开头所述的 SEO 重视性问题了,还是这样收尾吧。

  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 31 关注
  • LCS
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 92 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖
  • Excel
    31 引用 • 28 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 224 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 229 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 3 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 648 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖 • 1 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    13 引用 • 57 回帖 • 8 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 1 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 157 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 2 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 639 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 679 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 2 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 3 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 9 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖 • 1 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    239 引用 • 224 回帖 • 2 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • 安全

    安全永远都不是一个小问题。

    203 引用 • 818 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 728 关注