karakani / mecha-mocha
MeCab 的 PHP 封装
0.3.0
2020-06-02 03:09 UTC
Requires
- php: >=7.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 13:55:06 UTC
README
PHP Wrapper for MeCab
关于
这是 mecab 命令的包装脚本。
当使用 php-mecab 扩展时,如果因为配置错误等导致 Segmentation Fault,可以尝试使用此脚本。
由于需要多次调用,所以它在后台启动进程以供重用。
安装
composer require karakani/mecha-mocha
使用方法
基本使用方法
$tagger = Tagger::create(); $nodeGroups = $tagger->parse("すもももももももものうち"); foreach ($nodeGroups as $nodeGroup) { foreach ($nodeGroup as $node) { printf("%s(%s)\n", $node->surface, $node->feature->pos); } } // 次のように出力されます: // // すもも(名詞) // も(助詞) // もも(名詞) // も(助詞) // もも(名詞) // の(助詞) // うち(名詞)
指定命令行选项
指定默认命令行选项的情况。
$command = (new CommandBuilder()) ->setBinPath('/usr/local/bin/mecab') ->setUserDic('/usr/local/lib/mecab/dic/mecab-ipadic-neologd') ->build(); $runner = CommandRunner::create($command); Tagger::setDefaultRunner($runner); $tagger = Tagger::create();
在多个实例中使用不同的命令行选项。
$runnerWithDefaultOption = CommandRunner::create(); $taggerA = Tagger::create($runnerWithDefaultOption); $runnerWithCustomOption = CommandRunner::create( (new CommandBuilder()) ->setBinPath('/usr/local/bin/mecab') ->setUserDic('/usr/local/lib/mecab/dic/mecab-ipadic-neologd') ->build() ); $taggerB = Tagger::create($runnerWithCustomOption);
不使用 CommandBuilder
创建命令行。
$runner = CommandRunner::create([ '/usr/local/bin/mecab', '--dicdir=/usr/local/lib/mecab/dic/mecab-ipadic-neologd', ]); Tagger::setDefaultRunner($runner);
终止 mecab 进程
显式终止后台运行的进程。
Tagger::getDefaultRunner()->close();
但是,通常在脚本结束时自动终止,所以除非必要,否则不需要调用此方法。