网站搜索分词,PHP如何做搜索分词?[干货]

137

什么是分词?

网站搜索中分词是常用到的功能。比如我们搜索关键词:上海网站建设。常规的匹配规则是从数据库里模糊查询,内容包含“上海网站建设”。这个称为模糊匹配。但是当内容是“上海专业网站建设”就不符合我们的查询要求了,但是按用户体验来说“上海专业网站建设”这个词也符合用户的搜索意图。那么我们就需要对“上海网站建设”进行分词处理了。

这里我们推荐用的是“PSCWS23”,PSCWS23 是由 hightman 开发的纯 PHP 代码实现的简易中文分词系统第二和第三版的简称。PSCWS 是英文 PHP Simple Chinese Words Segmentation 的头字母缩写,它是 SCWS 项目的前身。PSCWS 的第二版和第三版调用接口完全一致,词典也通用,仅仅是内部分词算法不一样。其中第二版采用的是正向最大匹配结合N(默认为2)层消岐方案;第三版则采用双向匹配比较相邻词汇的频率取优。使用速度上第二版略快一些,但差别不大,准确率也相差不多各有特色。

比如上术搜索“上海网站建设”的分词结果为:

这样我们可以搜索内容包含这些关键词任意一个,即可匹配到搜索结果。

分词可以提取英文单词,过滤人名,标点符号。