libook
2022-02-10 11:55:39 +08:00
“按常理,不应该是关键字越少,能得到的匹配结果越多吗”还真不一定是这样。
搜索有两个重要指标,准确、高效。
用正则表达式简单粗暴全文搜索无疑是效率极低的,所以需要把一句话进行分词拆分来确保拆出来的词汇能跟原文含义有关联,拆得越细关键词越多搜索效率越差,拆得越粗关键词越少搜索效率越高(但相应也难搜到结果了)。这个关系到搜索是否高效。
中文搜索有个特点,就是不容易让机器理解哪些字是一个词,分词算法合不合适直接影响最终机器在一句话里分出来的词是不是准确,比如“创意工作者们的社区 ”,经过学习和训练的人类可以快速做出准确的分词“创意,工作者们,的,社区”,可以想一想如何让机器也得出这样预期的结果,而不是“创意,工作,者们,的社,区”。这个关系到搜索结果是否准确。
同时,关键字越少,能匹配到的结果越多,但符合用户预期的结果占比就越小,比如搜“笨蛋”,结果里可能夹杂着“表弟很笨蛋壳也拿来吃”显然不是大多用户想要的,那么从用户体验和节省性能的双重方面考虑,最合适的方案应该是揣测用户意图,给出大概率是用户想要的结果,当然这方面也很难做到就是了,但毕竟是个可期的的方向。
想深入了解可以看看分词算法相关的文章。