简介:首先我们来看看国内搜索引擎——的主要事件
谷歌于1998年发布,搜狗于2000年发布,谷歌于2010年退出中国,神马于2013年发布。搜搜与搜狗合并,百度于2017年收购91,微信推出搜一搜。
01
神马搜索概览
1.关于神马
神马搜索是阿里巴巴集团与UC联合推出的移动搜索引擎。借助UC浏览器超过3亿的用户以及阿里巴巴强大的技术背景和云资源,神马搜索在移动搜索的技术性、广度和综合性方面具有巨大优势。据国内著名移动互联网第三方数据挖掘分析研究院BDR发布的第《2018上半年度中国移动搜索市场研究报告》号报告显示,2018年上半年,神马搜索在中国移动搜索市场份额中获得21.8%的份额,排名第二。流量市场份额和搜索流量较上年增长21.7%,增速排名第一。神马搜索作为阿里文娱集团重点智能信息媒体平台的重点产品之一,依托环境有利的资源,特别是资金、技术、人力资源以及阿里巴巴的整体战略,神马搜索的未来可期不可限量。
2.UC国内产品阵容
UC在国内的产品系列包括UC浏览器、UC今日头条(UC浏览器首页的新闻推送)、神马搜索以及我前面提到的语音助手和问答APP。 这是我对神马简介的简单看法。下面我就从技术方面来给大家分享一下。
--
02
神马搜索技术演进
1、神马搜索关联技术的演进
事实上,整个探索分为四个阶段,从2013年之前的阶段开始,主要关注规则和特征。众所周知,谷歌在2013 年之前并没有训练其工具进行排名。可能使用机器学习来计算特征,但排名都是使用规则完成的。 2013年左右开始,学习排名开始流行,各大公司普遍转向学习排名算法。这一阶段是强调规则和功能的阶段。所以模型很重要,但是规则的数量非常多。也将成立。 2015年到2016年左右,由于数据量的不断增加以及大量自动标记样本的存在,DNN开始在NLP领域流行起来,并取得了不错的效果。到2018年,大量规则被转移到机器学习算法中。我认为未来我们会进入一个创新的阶段。
我们的大多数竞争对手都使用现代技术来解决这些经典问题。我们基本上使用了本文所描述的所有技术,也使用了基本上所有业界已知的技术。此时,如果你想超越对手,从国内走向国际,就必须做一些不同的事情。这是神马未来的目标,我们需要创新。
神马是一个相对较新的搜索引擎,成立于2013年。所以神马的整体策略在机器学习的运用上更加激进。我曾在很多公司工作过,但神马是一家机器学习水平比较高的公司。
2、搜索是一个天然的AI应用场景
我在这里给你讲一个小故事。我从事搜索工作大约有7 年了,期间我花了一年时间研究人工智能和知识图谱。包括实习在内,我曾在百度、微软、搜狗工作过,最后来到了阿里巴巴。我在换工作之前就想过这个问题,虽然我已经找了五年多了,但我每天做的事情基本都是一样的:分析不好的例子,找到需要改进的地方,尝试改进的方法,寻找新的改进方法尝试一下方法,一定会成功的。然后,他们一遍又一遍地尝试一种方法,直到该策略明显获胜或他们放弃。因此,如果你幸运的话,你可以在一个月内提高1/1000 分,如果你运气不好,你可以在3 个月内提高1/1000 分。所以当时我并不想去寻找。当时学长告诉我:“我不想再找了。”当我的资深同事问我“你想做什么?”我回答说我想在人工智能领域工作。随后,学长愣了一下,道:“你还不去找吗?”
我为什么这么说呢?为什么最后还是来神马找呢?这对我来说是事后的想法。人工智能的成功需要许多先决条件,而搜索只是人工智能的一个自然场景。此外,神马对搜索的看法也截然不同。除了经营搜索业务外,许多公司还使用搜索作为其人工智能实践的基础。
首先,让我们看一下“搜索是人工智能的自然场景”这一说法,并讨论这个说法是否属实。想一想如果你想出色地利用人工智能,你需要哪四个基本要素。
首先,我们需要数据。没有数据,就无法训练模型,只能依靠人工规则。这仅与人造人类的数量一样聪明。大多数人都想这样做。
接下来,你需要一个场景,AI必须有真实的用户需求。您不能歪曲用户的需求。你不能只做出漂亮的东西然后说没有人会使用它。比如说创造Alpha Go固然很厉害,但是谁会用Alpha Go呢?人工智能技术要真正实用,需要真实的用户场景。
第三,我们需要人才,我们需要有丰富经验的人。例如,当我在做知识图谱时,我的人力资源经理告诉我,我们需要雇用至少有5 年工作经验的人。然而,谷歌在2012年才宣布了知识图谱的概念。谷歌的早期图表团队被聘用。 这里雇用的人只有四年的工作经验。但当我们进行搜索时,我们实际上有超过10 年工作经验的人,所以你可以确信我们正在做这个领域罕见的事情。第四,要有商业化的路径。一个好的人工智能应用,必须能够很好地服务用户,同时让企业受益,这是一个可以持续运转的生态系统。那么搜索场景是什么样的呢?首先,我们有超过1000亿的网页数据,这是大多数企业没有的数据。同时,每天有数亿用户收到在线反馈,产生大量自动标记样本用于深度学习训练。此外,对于标签的支持也有充足的资金。其次,人工智能在搜索中的实际应用场景有很多,包括查询理解、网页理解、搜索排序和相关推荐。这些都是非常困难的NLP应用场景,很难基于规则来执行。当然,对人工智能的需求也是存在的。第三,搜搜积累了一大批经验丰富的人才。如果你去搜索,你会发现一个有趣的现象,不仅可以吸引和积累人才,还可以输出人才。现在的很多新产品,比如抖音、今日头条,还有很多新的智能产品,其实都是过去搜索人才创造出来的。
第四,搜索市场巨大,在中国有数千亿元人民币,国际份额约为其五倍,甚至在互联网刚刚兴起的南亚和东南亚也是如此。就像下一代的“一个中国”,这个市场的潜力其实是非常大的。所以搜索实际上是一个自然的人工智能场景。幸运的是,我们公司和我们的战略决策层认识到了这一点。除了搜索之外,我们还致力于训练AI技术、积累AI人力资源。
3、神马搜索技术栈
要进行搜索,首先需要一个好的系统框架。否则,您的大部分研发时间可能会花在系统运维上。由于神马成立比较晚,所以神马整个线上系统都是基于zookeeper和yarn系统架构的。
首先,这保证了非常好的性能,可以让你在毫秒级的时间内从数百亿个网页中搜索网页。
第二个就是,比如世界杯或者高考的时候,我们也能提供良好的服务。当然,几乎任何商业搜索公司都可以做到这两件事。后两者是神马擅长的地方。
第三,具有很强的可扩展性。公司经常需要添加或更改服务器,例如搬迁或扩大计算机实验室。我曾经让三到四位专家同事扩大了两个月的工作量,最后才调整机器。这就是人们常说的“火车换轮子”,听起来不错,但真正的原因是系统框架无法提供有效的支持。神马这边,基于Zookeeper、Yarn等资源管理技术,让一次运维,一键几分钟搞定。我认为这太棒了。
第四,我们的系统具有高度可扩展性。你可以很方便地做到这一点,比如你想扩展功能,或者你想把大搜迁移到APP搜索,或者你想进行垂直搜索。以上是系统的框架。
相关性计算技术是搜索的核心技术。其中包括Learning2Rank 模型、基于深度学习的建模技术(例如DSSM/CDSSM)以及传统的邻近度和BM25 计算技术。这只是一小部分。事实上,20多年的研究积累了很多技术。比如在召回方面,除了传统的单词召回之外,大家也开始尝试向量召回。
所有过程都需要自然语言处理,例如Word embedding向量表示方法、DNN/CNN/RNN等深度学习模型、HMM/CRF,因此可能没有像搜索那样依赖自然语言处理的场景。性别。传统模型包含一些最早积累的统计规则。这些都可以在神马里详细应用。
四是离线计算。这包括如何提取DOM树等结构化网页、进行链接分析、页面质量分析、爬虫调度等等。
4、技术架构
我们先来看看搜索引擎的技术架构。首先,需要一个爬虫系统来爬取所有网页信息并保存以供检索。接下来,您需要一个更好的存储平台。而且你需要阿里云支持的很多存储服务。索引包括网页索引、框架计算内容索引、结构化知识图谱索引。基于此,你可以应用本文中的相似度计算、基本排序、点击排序、learning2Rank模型、深度学习模型等算法排序。 一旦我们有了这些算法,我们还需要添加前端业务逻辑,例如搜索天气。这不是一个普通的网页,而是您插入的一张名片。这就是整个搜索架构。让我们仔细看看每一项核心技术。
--
03
神马搜索核心模块及技术挑战
1. 理解查询
理解查询的任务是比较经典的。通过对大量查询和点击反馈日志进行数据挖掘,可以执行许多传统的自然语言处理任务,例如中文分词、新词发现、词性标注、句法分析等。在这些基础上进行搜索也有其专门的任务。包含查询重要性计算。例如,用户输入10个单词,其中有些必须索引并相交,有些不能相交,只能参与排序。包括同义词挖掘——“如何打开魔兽世界” 其实,用户问的是“魔兽世界”。这需要帮助用户纠正他们所犯的任何拼写错误。包括查询扩展、查询重写等。虽然这些都是非常经典的任务,但是仍然存在很多值得考虑和可以优化的难题。
2. 理解查询的技术挑战
(1)如何处理没有用户反馈的长尾查询?
如您所知,查询分为长尾和头部,它们受到用户点击次数、用户反馈、点击的页面以及在这些页面上花费的时间的影响。虽然这些数据可用于机器学习来捕获许多查询特征,但也有许多长尾词用户每月只检查一次、每六个月检查一次或从未见过。那么我们如何处理这些长尾查询呢?在使用规则的时候,对于长尾词的要求是非常多样化的,所以我们想要使用机器学习,但是方法需要创新的思路。
(2)如何处理NLP和排名优化的目标差异?
从NLP 转向搜索的学生更有可能遇到这个问题。例如,“2019年俄罗斯世界杯”中哪个词更重要?从NLP的角度来看,2019年是时间预选赛,世界杯是主题,俄罗斯是其预选赛。俄罗斯世界杯可能已经举办过多次,但这并不一定意味着举办过哪一届。 2019 年的一份。因此,从NLP的角度来看,“2019”和“世界杯”都是重要的词。然而,这个查询有一个很大的问题。所以2019年世界杯实际上不会举行。俄罗斯世界杯于2018年举行,但用户输入错误。如果你在搜索引擎上搜索“2019”+“世界杯”,你不会得到好的结果。相反,搜索“俄罗斯:+”世界杯“会产生更好的结果。这是一个NLP 问题,也是一个目标排名不匹配问题。
(3)如何进行语义回忆?
例如,假设您想通过查询“腹部僵硬”来调用包含术语“腹部肿块”的网页。从词的层面来看,“硬”和“肿”当然不是同义词,但它们确实具有相同的含义。有两种方法可以通过召回来做到这一点。基于词的召回只能保留索引交集的“肚皮”,但当只有一个索引时,必须考虑索引效率。使用查询词会带回数亿页的上述内容,导致巨大的性能成本。第二种方法允许您使用向量召回。使用DSSM 模型通过用户点击了解查询和标题向量后,您可以对查询和标题进行向量化并执行相似度计算。但这种方法有什么问题呢?由于DSSM 需要大量数据,手动标记不切实际,只能自动标记样本。当使用点击数据时,意味着训练样本是系统可以调用的所有样本。然而,向量调用的目的是当训练使用已经可以调用的样本时,调用当前无法调用的样本。这不可避免地导致重复工作。解决这个问题还需要一些创新的想法。
3. 排序模型
所有的搜索系统都要经历索引合并、粗排序、精排序、LTR、重排序等过程。每个公司的名称可能不同,但含义是相同的。首先,我们需要执行索引合并。例如,如果要查询ABC,则可能需要查询A 和B 和C 或A 和(B 或C)。图书馆里有数百亿个网页,如果你索引它们,可能有数百万个。不过这个数字还是有点大,需要组织千级/万级页面。候选页面传递给LTR进行排序,最后通过业务逻辑重新排列,显示前10个页面结果。今天我们重点关注LTR部分,这是对搜索结果影响最大的部分。
除了原始特征之外,LTR中使用的很多特征也可以是上游机器学习模型的预测结果,例如Qanchor模型、点击引导模型、文本分类模型、质量模型和点击模型。以文本分割模型为例,其输入是文本匹配相关的特征,如传统的CTR/CQR/BM25信息匹配特征、DNN/CNN/RNN计算的查询-文档相似度;还包括相关词。 /同义词/主题挖掘产生的特征。这些充当函数,使用文本注释样本来训练模型,输出值作为LTR 的输入。在获得所有这些模型特征后,LTR模型使用查询和文档的相关样本进行训练,以获得最终的网页排名。
(1)通过机器学习排序
机器学习排序首先是机器学习,但又不完全相同。传统的机器学习通常处理分类、回归和聚类等类型的问题。但搜索引擎机器学习必须给每个网页打分,例如20个网页或数千个网页,并确保按这个分数排序的网页顺序是正确的。它的学习目标与常规机器学习目标不同,因为它本身是准确的。常用的模型包括Gbrank、LambdaMart、Xgboost 和LightGBM。我们已经尝试了所有这四种模型,并改进了Fine Tune、Split Point Control 和Dart dropouts 等功能。这里我们就来体验一下吧。型号越新,效果越好。为了达到最好的效果,大家应该根据模型的特点进行优化。但可以肯定的是,经过优化后,学习能力更强的模型能够取得更好的效果。
DataFun:专注于大数据和人工智能技术应用的分享与交流。自2017年推出以来,我们已在北京、上海、深圳、杭州等城市举办了100多场线下和100多场线上沙龙、论坛、峰会,邀请了2000多位专家学者参与分享。其公众号DataFunTalk累计创作原创文章700多篇,阅读量超过100万人,拥有超过14万忠实粉丝。
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。