什么是分詞?
網(wǎng)站搜索中分詞是常用到的功能。比如我們搜索關(guān)鍵詞:上海網(wǎng)站建設(shè)。常規(guī)的匹配規(guī)則是從數(shù)據(jù)庫里模糊查詢,內(nèi)容包含“上海網(wǎng)站建設(shè)”。這個(gè)稱為模糊匹配。但是當(dāng)內(nèi)容是“上海專業(yè)網(wǎng)站建設(shè)”就不符合我們的查詢要求了,但是按用戶體驗(yàn)來說“上海專業(yè)網(wǎng)站建設(shè)”這個(gè)詞也符合用戶的搜索意圖。那么我們就需要對“上海網(wǎng)站建設(shè)”進(jìn)行分詞處理了。
這里我們推薦用的是“PSCWS23”,PSCWS23 是由 hightman 開發(fā)的純 PHP 代碼實(shí)現(xiàn)的簡易中文分詞系統(tǒng)第二和第三版的簡稱。PSCWS 是英文 PHP Simple Chinese Words Segmentation 的頭字母縮寫,它是 SCWS 項(xiàng)目的前身。PSCWS 的第二版和第三版調(diào)用接口完全一致,詞典也通用,僅僅是內(nèi)部分詞算法不一樣。其中第二版采用的是正向最大匹配結(jié)合N(默認(rèn)為2)層消岐方案;第三版則采用雙向匹配比較相鄰詞匯的頻率取優(yōu)。使用速度上第二版略快一些,但差別不大,準(zhǔn)確率也相差不多各有特色。
比如上術(shù)搜索“上海網(wǎng)站建設(shè)”的分詞結(jié)果為:
這樣我們可以搜索內(nèi)容包含這些關(guān)鍵詞任意一個(gè),即可匹配到搜索結(jié)果。
分詞可以提取英文單詞,過濾人名,標(biāo)點(diǎn)符號(hào)。
分詞結(jié)果
更多功能請參考源代碼,附件為源代碼可以下載測試。