织梦自带的词库比较小,很多词语不能做到准确的分词,例如“王者荣耀太好玩了”,织梦分词会分成:王者
荣耀
太好
玩
了
。
正确的分法应该把王者荣耀
分为一个词。
那么就需要导入新的词语到织梦自带的词库中。
在网站根目录下新建一个dict.txt,包含如下内容:
@新增词条,0,@
王者荣耀,5,n
例子:
<?php
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC."/splitword.class.php");
$keyword = '王者荣耀太好玩了!';
$keyword = cn_substr($keyword, 50);
$sp = new SplitWord($cfg_soft_lang, $cfg_soft_lang);
$sp->MakeDict(DEDEROOT.'/dict.txt'); //导入词库,只需导入一次,无须重复导入
$sp->SetSource($keyword, $cfg_soft_lang, $cfg_soft_lang);
$sp->SetResultType(2);
$sp->StartAnalysis(TRUE);
$keywords = $sp->GetFinallyResult();
$idx_keywords = $sp->GetFinallyIndex();
ksort($idx_keywords);
var_dump($keywords);die;
也可以取其他地方获取词库,例如搜狗提供了很多词库:https://pinyin.sogou.com/dict/
只不过下载下来的是.scel格式的,需要先转换为.txt,转换地址:
https://www.toolnb.com/tools/scelto.html