• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

百度的搜索拼音联想功能是大致下的原理是怎样的呢 多谢

php 搞代码 4年前 (2022-01-24) 27次浏览 已收录 0个评论

百度的搜索拼音联想功能是大致上的原理是怎样的呢 谢谢!
在百度中 输入guangzhou下方就会提示广州、广州新闻。我在想百度是不是将一些热门关键字,然后用一个字段记住这些关键字的拼音;搜索的时候就直接查这个表。如果是拼音,就模糊匹配这个拼音标示列。完成匹配后将结果返回。这些只是我的想象,好像当中还有关键字权重机制。谷歌找不到相关资料;是不是有其它方式实现我没想到的呢。求助大侠 谢谢!

——解决方案——————–
前阵子和公司搜索部的人打了很多交到,了解了搜索引擎的工作大致原理。

搜索引擎内部有很多词表:

停词表,建义词表,同义词表、汉字-拼音的词表、suggest。

当你在搜索引擎上输入一个中文短句,搜索引擎首先会进行分词,然后将这些词,分别去上面提到的几个词表中查找有没有相关联的信息。如你所说的,就会去查找拼音-汉字的词表。遇到guangzhou = 广州,就会自动翻译过来。然后优先拿广州去进行搜索。
当你输入一个错误词后,可能会被搜索引擎的suggest纠正过来并提示你:您要找的是不是xxx?

其实上面只是搜索引擎处理搜@本文来*源gaodai#ma#com搞*!代#%^码$网*索请求的其中一个分支,一次搜索会并行进行很多请求。
比如你在搜索引擎输入个短句。

搜索引擎首先会确定要搜索的内容:
1 整句
2 标准分词(可以理解为按中文语法分词)
3 自然分词(按单字、空格、标点进行分词)

然后分表拿每个分支,上面提到的那些辅助的词表,优化将要搜索的内容。
几个分支同时请求,拿到多个结果集。
接下来就是处理排序的问题了,一般来说,整句搜索拿到的结果相关度最高,所以权重也最高,理应排在第一位。但现实中的搜索引擎可能还要考虑到推广位,以及你要搜索的内容有更加官方的结果(比如你搜nginx,nginx的官方网站应该排在第一位)。或者是百度的百度推广,它可能会放在前面。

大致就是这样,实际上排序的逻辑是非常复杂的。它会根据好几个维度来确定排序结果,他们称这些叫“曲线”。当他调整每个维度的参数后,对排序结果都会产生影响。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:百度的搜索拼音联想功能是大致下的原理是怎样的呢 多谢

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址