这里使用了ZendFramework,ZendFramework的安装,请参考这篇文章:ZendFramework安装配置指南
下载本文附件的织梦分词算法的附件,展开后,上传到服务器上。然后我们就可以进行测试了,生成文章的标签。测试的代码如下:
<?PHP
require_once 'Zend/Db.php';
require_once 'Zend/Db/Table.php';
require_once(dirname(__FILE__)."/pub_splitword_www.php");
$startid = $_GET['startid'];
$endid = $_GET['endid'];
$where = 'id>'.$startid.' and id<'.$endid;
$sp = new SplitWord();
$params = array ('host' => 'localhost',
'username' => 'root',
'password' => 'yourpassword',
'dbname' => 'yourdatabase');
$db = Zend_Db::factory('PDO_MYSQL', $params);
$db->query('set names utf8');
Zend_Db_Table::setDefaultAdapter($db);
class ContentTable extends Zend_Db_Table {
protected $_name = 'jos_content';
}
$table = new ContentTable();
$rowset = $table->fetchAll($where, 'id ASC');
foreach ($rowset as $row) {
$words=$row->title;
$words=@iconv('utf-8','gb2312',$words);
echo $sp->GetIndexText($sp->SplitRMM($words)).'<br/>';
}
$sp->Clear();
unset($sp);
?>
这样在浏览器中访问:http://yourdomain.com/splitword/test.php?startid=0&endid=100,这就针对前100篇文章的标题生成了标签(TAG),接下来我们就可以保存在数据库中。并可以做TAG CLOUD模块了。
目前织梦分词做出来的标签只有中文,而且关键词的rank是按照织梦的统计获得的,你可以针对自己的网站生成自己的关键词表,并补充到词汇表中。我将改动程序以支持Joomla!这样的纯英文词汇。可能分词算法中没有对“一,二....”等等这样的中文数字没有处理,可以随后改改。
等完成修改后,发布一个完整的版本和针对Joomla!的词库。
Attatchments: 您还没有登录,登录后方能下载,如果您还没有注册,请点击
免费注册