SCWS는 Simple Chinese Word Segmentation(예: Simple Chinese Word Segmentation System)의 약어입니다.
1. scws에서 공식적으로 제공하는 클래스를 다운로드합니다(여기서는 pscws의 네 번째 버전이 사용됨)
http://www.xunsearch.com/scws/down/pscws4-20081221.tar.bz2
다운로드 XDB 사전 파일(여기서는 utf8 중국어 간체 사전 패키지가 사용됨)
http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
2. class Pscws.class.php(여기서는 pscws4.class.php 파일 이름을 pscws.class.php로 변경했습니다) 및 XDB_R.class.php(여기서는 xdb_r.class.php 파일 이름을 대문자 XDB_R.class .php로 변경했습니다) ) ThinkPHPLibraryOrgUtil 디렉터리 아래에 있습니다.
3. 그런 다음 Pscws.class.php
를 수정하고 네임스페이스를 추가합니다.
1 namespace Org\Util;
클래스 이름을 Pscws로 변경합니다
把require_once (dirname(__FILE__) . '/XBD_R.class.php');这段代码删除掉。
XDB_R.class.php 수정
네임스페이스 추가
namespace Org\Util;
4. XDB 사전 파일 압축 해제
Publicadmin 디렉터리에 새 dict 폴더를 생성한 후 word 디렉터리에 XDB 사전 파일의 dict.utf8.xdb 압축을 푼 후 etc 아래에 rule.utf8.ini를 추가합니다. scws 클래스를 이 디렉토리 아래에 넣으십시오.
5. 항목 파일(실제로는 사전 파일과 구성 파일을 정의하는 경로)에 상수 정의 코드 한 줄을 추가합니다.
define("CONF_PATH", dirname(__FILE__)."/Public/admin/dict/");
6. IndexController에서 다른 메서드가
/** * 中文分词 * @params string $title 需要分词的语句 * @params int $num 分词个数,默认不用填写 **/ private function get_tags($title,$num=null){ $pscws = new \Org\Util\Pscws('utf8'); $pscws->set_dict(CONF_PATH . 'dict.utf8.xdb'); $pscws->set_rule(CONF_PATH . 'rules.utf8.ini'); $pscws->set_ignore(true); $pscws->send_text($title); $words = $pscws->get_tops($num); $pscws->close(); $tags = array(); foreach ($words as $val) { $tags[] = $val['word']; } return implode(',', $tags); } /** * 商品搜索结果页 **/ public function search(){ $rzt=$this->get_tags("新款 牛漆皮小尖头直跟高跟单鞋910033 灰羊猄(7.31发货) 39"); print_r($rzt); }
을 호출할 수 있도록 .class.php 컨트롤러에 개인 메서드를 만듭니다. 표시되는 결과는 다음과 같습니다.
漆皮,单鞋,尖头,高跟,新款,发货,910033,7.31,39
위에서는 scws 중국어 단어 분할을 사용하여 필수 콘텐츠를 포함한 키워드를 추출하는 Thinkphp32를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.