php-mmseg

中文分词引擎LibMMSeg的php扩展

  • 所有者: rainx/php-mmseg
  • 平台:
  • 许可证: MIT License
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

php-mmseg

简介

中文分词引擎LibMMSeg的php扩展

依赖

coreseek官网已经关闭了,所以已经无法从官方文档查询到软件包的细节, 如果需要查询官网信息,可以参考 archive.org 上的备份

https://web.archive.org/web/20161122124307/http://www.coreseek.cn:80/products-install/faq/

  1. php5.4 以上版本 (其他版本目前还没有测试)
  2. LibMMSeg 3.2.14版本 http://www.coreseek.cn/opensource/mmseg/
    关于mmseg的安装,参考 <del>http://www.coreseek.cn/products/products-install/</del>

安装

目前在Linux和Mac下测试通过,Windows下还未编译过

  1. 首先安装LibMMSeg ( http://www.coreseek.cn/uploads/csft/3.2/mmseg-3.2.14.tar.gz )
    我将libMMeg保存一份到我们的git仓库的dependencies 下

    cd dependencies/mmseg-3.2.14
    ./bootstrap
    ./configure --prefix=/opt/
    make 
    sudo make install
    
  2. 安装php-mmseg

    cd php-mmseg/mmseg
    phpize
    ./configure --with-mmseg=/opt
    make
    sudo make install
    
  3. 配置php-mmseg

    在php.ini中增加

    extension=mmseg.so
    mmseg.dict_dir=/opt/etc
    mmseg.autoreload=1
    

    注意, mmseg.dict_dir 配置的是mmseg配置文件和字典所在目录的地址, mmseg.autoreload 如果设置为1 则字典文件(特指uni.lib), 在更新之后,系统会自动重新载入配置文件和字典。

使用

  1. 全局字典模式

    该模式引入全文的字典文件,不需要每次调用分词代码之前调用字典,但是要求必须在配置文件中配置好字典的目录

    $ret = mmseg_segment("你好,世界");
    var_dump($ret);
    
  2. 在程序中引入字典

    $mmseg = mmseg_open("/opt/mmseg/etc");
    $ret = mmseg_segment($mmseg, "你好,世界");
    mmseg_close($mmseg);
    var_dump($ret);
    

    输出结果(使用mmseg默认的字典)

    array(3) {
      [0]=>
      string(6) "你好"
      [1]=>
      string(3) ","
      [2]=>
      string(6) "世界"
    }
    
  3. 生成字典文件

    类似命令行的如下命令,

    mmseg -u unigram.txt
    

    我们可以使用下面的语句生成词典文件,其中第一个参数为要输入的源文本格式的词典文件, 如unigram.txt , 第二个参数为输出的供分词使用的词典文件

    代码

    $isDone = mmseg_gendict(dirname(__FILE__) . "/" . "unigram.txt", dirname(__FILE__) . "/" . "unigram.txt.uni" );
    
    

    原文本格式的词典文件格式如下(参考LibMMSeg文档 : http://www.coreseek.cn/opensource/mmseg/

    河 187
    x:187
    造假者 1
    x:1
    台北队 1
    x:1
    湖边 1
    
  4. 生成特殊短语,同义词词典

    // 生成特殊短语词典
    mmseg_gensynonyms(dirname(__FILE__) . "/" . "synonyms.txt", dirname(__FILE__) . "/" . "synonyms.dat" )
    // 生成同义词词典
    mmseg_genthesaurus(dirname(__FILE__) . "/" . "thesaurus.txt", dirname(__FILE__) . "/" . "thesaurus.dat" )
    
    

主要指标

概览
名称与所有者rainx/php-mmseg
主编程语言C++
编程语言C++ (语言数: 5)
平台
许可证MIT License
所有者活动
创建于2014-04-18 08:14:12
推送于2017-10-18 02:59:41
最后一次提交2017-10-18 10:50:52
发布数3
最新版本名称v0.3 (发布于 )
第一版名称v0.1 (发布于 )
用户参与
星数71
关注者数12
派生数30
提交数46
已启用问题?
问题数3
打开的问题数1
拉请求数0
打开的拉请求数0
关闭的拉请求数0
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?