php使用中文分词,一个用php写的中文分词类

class Segmentation {

var $options = array('lowercase' => TRUE,

'segment_english' => FALSE);

var $dict_name = 'Unknown';

var $dict_words = array();

function setLowercase($value) {

if ($value) {

$this->options['lowercase'] = TRUE;

} else {

$this->options['lowercase'] = FALSE;

}

return TRUE;

}

function setSegmentEnglish($value) {

if ($value) {

$this->options['segment_english'] = TRUE;

} else {

$this->options['segment_english'] = FALSE;

}

return TRUE;

}

function load($dict_file) {

if (!file_exists($dict_file)) {

return FALSE;

}

$fp = fopen($dict_file, 'r');

$temp = fgets($fp, 1024);

if ($temp === FALSE) {

return FALSE;

} else {

if (strpos($temp, "\t") !== FALSE) {

list ($dict_type, $dict_name) = explode("\t", trim($temp));

} else {

$dict_type = trim($temp);

$dict_name = 'Unknown';

}

$this->dict_name = $dict_name;

if ($dict_type !== 'DICT_WORD_W') {

return FALSE;

}

}

while (!feof($fp)) {

$this->dict_words[rtrim(fgets($fp, 32))] = 1;

}

fclose($fp);

return TRUE;

}

function getDictName() {

return $this->dict_name;

}

function segmentString($str) {

if (count($this->dict_words) === 0) {

&nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值