当前位置:首页 > PHP教程 > php高级应用 > 列表

SCWS 中文分词 php安装使用例子

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-28 20:48:30 浏览: 评论:0 

今天发现一个很好用的中文分词工具,分享一下

CWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统)。

这是一套基于词频词典的机械式中文分词引擎,它能将一整段的中文文本基本正确地切分成词。 词是中文的最小语素单位,但在书写时并不像英语会在词之间用空格分开, 所以如何准确并快速分词一直是中文分词的攻关难点。

SCWS 采用纯 C 语言开发,不依赖任何外部库函数,可直接使用动态链接库嵌入应用程序, 支持的中文编码包括 GBK、UTF-8 等。此外还提供了 PHP 扩展模块, 可在 PHP 中快速而方便地使用分词功能。

分词算法上并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名, 数字年代等规则识别来达到基本分词,经小范围测试准确率在 90% ~ 95% 之间, 基本上能满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。

二、scws安装

  1. # wget -c http://www.xunsearch.com/scws/down/scws-1.2.1.tar.bz2 
  2. # tar jxvf scws-1.2.1.tar.bz2 
  3. # cd scws-1.2.1 
  4. # ./configure --prefix=/usr/local/scws 
  5. # make && make install 

三、scws的PHP扩展安装

  1. # cd ./phpext 
  2. # phpize  
  3. # ./configure --with-php-config=/usr/local/php5410/bin/php-config 
  4. # make && make install 
  5. echo "[scws]" >> /usr/local/php5410/etc/php.ini  
  6. echo "extension = scws.so" >> /usr/local/php5410/etc/php.ini 
  7. echo "scws.default.charset = utf-8" >> /usr/local/php5410/etc/php.ini 
  8. echo "scws.default.fpath = /usr/local/scws/etc/" >> /usr/local/php5410/etc/php.ini 

四、词库安装

  1. # wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2 
  2. # tar jxvf scws-dict-chs-utf8.tar.bz2 -C /usr/local/scws/etc/ 
  3. chown www:www /usr/local/scws/etc/dict.utf8.xdb 

例子:

  1. header("Content-Type:text/html; charset=utf-8"); 
  2. define('APP_ROOT'str_replace('\\', '/', dirname(__FILE__))); 
  3. $test = '真怕有一天我们再次成为交叉线,我想那时就再也不可能回归了,快乐永远是拿痛苦做代价,你现在多幸福,多快乐,你以后就会越伤心越难过,不想发生!'
  4.  function get_tags_arr($title
  5.     { 
  6.         require(APP_ROOT.'/pscws4.class.php'); 
  7.         $pscws = new PSCWS4(); 
  8.         $pscws->set_dict(APP_ROOT.'/scws/dict.utf8.xdb'); 
  9.         $pscws->set_rule(APP_ROOT.'/scws/rules.utf8.ini'); 
  10.         $pscws->set_ignore(true); 
  11.         $pscws->send_text($title); 
  12.         $words = $pscws->get_tops(5); 
  13.         $tags = array(); 
  14.         foreach ($words as $val) { 
  15.             $tags[] = $val['word']; 
  16.         } 
  17.         $pscws->close(); 
  18.         return $tags
  19.  } 
  20. print_r(get_tags_arr($test)); 
  21.  function get_keywords_str($content){ 
  22.     require(APP_ROOT.'/phpanalysis.class.php'); 
  23.     PhpAnalysis::$loadInit = false; 
  24.     $pa = new PhpAnalysis('utf-8''utf-8', false); 
  25.     $pa->LoadDict(); 
  26.     $pa->SetSource($content); 
  27.     $pa->StartAnalysis( false ); 
  28.     $tags = $pa->GetFinallyResult(); 
  29.     return $tags
  30.  } 
  31.  print(get_keywords_str($test)); 

Tags: SCWS php安装

分享到: