过路人分析:新浪微博搜索的分词技术不足
不是故意迫害新浪微博,也不是对新浪微博不满,在这里指手画脚。我是一个过路人,秉承技术学习的态度,来和大家分析新浪微博搜索分词的不足。
迭词是非常重要的测试元素,我们以“阿里巴 巴”作为测试词汇,去评测效果:
效果是惊人的不令人满意。那么真实的测试“阿里巴巴”效果应该是这样子的:
可见“阿里巴 巴”和“阿里巴巴”这两个看似相同的词,但是在新浪微博的搜索中,差异竟然这么明显。其原因据我推测是:没有做全局分词。例如,“阿里巴 巴”至少应该分为三个词组,但是通过观察,它只用了专业名词词库。阿里巴巴应该切分的5个词组“阿里”,“巴”,“巴”,“巴巴”“阿里巴巴”。如果没有这样做,将会直接导致搜索“阿里巴 巴”效果非常差,几乎搜索不到“阿里巴 巴”相关词汇。
同理,搜索“阿里 巴巴”效果也会很差,事实也证明如此:
当然,他们这样分词也有自己的道理,那就是用户给定的空格,那一定是词与词的分隔符,或者他们自己分词用的分隔符就是空格。在以前可以这样解释,但是搜索在N年前就进入了语义时代,如果还保留以前思想,那一定会落伍。尤其是:你把这三个case放入到百度、360、搜狗搜索里面去,他们都能很好处理。让若你把“QQ”、“Q Q”放入新浪微博搜索,结果会更差。可见新浪微博的搜索非常依赖于词库,可是呢,往往是细节决定成败!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架