LY’Blog~~blog.ly5.org~~ Rotating Header Image

FreeBSD安装SCWS(简易中文分词系统)手记

本文记录自己SecureCRT远程在服务器安装过程中遇到的问题与解决办法,部分文字摘取自官方说明文档。
安装环境: FreeBSD 7.0-RELEASE-p3 (PAE)

[SCWS 简介]

SCWS 是 Simple Chinese Words Segmentation 的缩写(简易中文分词系统)。它是一套基于词频词典的机械中文分词引擎,它能将一整段的汉字基本正确的切分成词,因为词是汉语的基本语素单位,而书写的时候不像英语会在词之间用空格分开,所以如何准确快速的分词一直是中文分词的攻关难点。
本分词法并无太多创新成分,采用的是自己采集的词频词典,并辅以一定的专有名称,人名,地名,数字年代等规则识别来达到基本分词,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些小型搜索引擎、关键字提取等场合运用。首次雏形版本发布于 2005 年底。

本系统支持的汉字编码包括 GBK、UTF-8

在线分词演示:
GBK: http://www.hightman.cn/demo/scws/v4.php
UTF-8: http://www.hightman.cn/demo/scws/v48.php

详情可参看:http://www.hightman.cn/?scws

[SCWS 安装说明]

1. 取得 scws-1.0.0 的代码
wget http://www.hightman.cn/down/logged/lscws-1.0.0.tar.gz

2. 解开压缩包
# tar -zxvf scws-1.0.0.tar.gz

3. 进入目录执行配置脚本和编译
# cd scws-1.0.0
# ./configure --prefix=/usr/local/scws
# make
# make install
注:这里采用默认的安装参数,详细的参数可以参考官方说明文档或./configure --help查看。

4. 顺利的话已经编译并安装成功到 /usr/local/scws 中了,执行下面命令看看文件是否存在
# ls -al /usr/local/scws/lib/libscws.la

5. 试试执行 scws-cli 查看相关信息
# /usr/local/scws/bin/scws -h
scws (scws-cli/1.0.0)
Simple Chinese Word Segmentation - Command line usage.
Copyright (C)2007 by hightman.

6.写个小程序测试一下
# vi test.c

#include <scws.h>
main()
{
  scws_t s;
  s = scws_new();
  scws_free(s);
  printf("test ok!\n");
}

# gcc -o test -I/usr/local/scws/include -L/usr/local/scws/lib test.c -lscws
# ./test
注:在执行上面的命令编译好test.c后,执行会报错误:/libexec/ld-elf.so.1: Shared object "libscws.so.1" not found, required by "test",提示说明libscws.so.1无法找到此文件,但这个文件在/usr/local/scws/lib目录中存在,难道是gcc编译的参数有错误,由于对gcc不太懂无法得知问题所在,但把/usr/local/scws/lib的文件cp到/usr/local/lib目录下就正常了,这个问题还希望有高手指点。

[PHP 扩展安装说明]
本软件包,在源码目录树中包含了 php 扩展的移植代码,可用于 php4或 php5 ,这里介绍它的安装方式,假设您已经将 scws-1.0.0 安装到/usr/local/scws 中或 $prefix 中。

安装此扩展要求您的 php 和系统环境安装了相应的 autoconf automake工具及 phpize

1. 进入源码目录的 phpext/ 目录
2. 执行 /usr/local/php/bin/phpize (如果你安装PHP的时候没有指定$php_prefix则安装在系统默认的目录直接输入phpize命令回车即可,如果指定$php_prefix则在PHP安装目录的bin/目录下)
3. 执行 ./configure --with-scws=/usr/local/scws --with-php-config=/usr/local/php/bin/php-config
   若 php 安装在特殊目录 $php_prefix, 则请在 configure 后加上 --with-php-config=$php_prefix/bin/php-config
4. 执行 make 然后用 root 身份执行 make install
5. 在 php.ini 中加入以下几行

[scws]
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/scws.so
scws.default.charset = gbk
scws.default.fpath = $prefix/etc

6. 命令行下执行 php -m 就能看到 scws 了或者在 phpinfo() 中看看关于 scws 的部分

4 Comments on “FreeBSD安装SCWS(简易中文分词系统)手记”

  1. #1 半个书生
    on Nov 27th, 2008 at 16:45:51

    有用虚拟机装过FREEBSD没?

    有经验的话,分享一下吧!

  2. #2 LY SHOW
    on Nov 27th, 2008 at 16:55:42

    嗯,是装过。
    我这里转载了一份《FreeBSD6.2详细安装图解》 http://blog.ly5.org/archives/28.html,我刚开始学着装的时候就按这个教程学着装。
    如果你安装7.0的话也是差不多。

  3. #3 半个书生
    on Nov 27th, 2008 at 23:18:57

    我主要是用vmware来安装图形界面,无法实现!

  4. #4 LY SHOW
    on Nov 28th, 2008 at 12:18:12

    据我知道FreeBSD默认安装后会自带一个非常简单的图形操作界面
    用startx就可以进,如果要更丰富的界面可以考虑安装gnome或kde
    不知道你所安装的是哪一种

Leave a Comment

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word