承接 youaoi/php-mecab 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

youaoi/php-mecab

最新稳定版本:1.0.0

Composer 安装命令:

composer require youaoi/php-mecab

包简介

mecab reading for php7

关键字:

README 文档

README

オープンソース 形態素解析エンジン MeCab を、PHP用のインストール不要なライブラリ化した ateliee/mecab を更に使いやすくしました。

また、Laravelなどで組み込みやすいように調整を加えてあります。

使い方

事前にMeCabをConsoleで使えるようにしてください。

また、使用する 辞書 によって解析結果が変わる可能性があります。

composer.json
    "require": {
        "youaoi/php-mecab": "dev-master"
    },
php
use Youaoi\MeCab\MeCab;
...

// 設定 ※任意。不要な値は省略できます。

    MeCab::setDefaults([
    
        // PATHが通っていないmecabを起動させる時に設定(default: mecab)
        'command' => '~/.local/bin/mecab',
         
        // 独自の辞書ディレクトリを利用する場合に設定(default: null)
        'dictionaryDir' => '~/.local/mecab-neologd',
        
        // 指定辞書を利用し解析。複数利用時はカンマ区切り(default: null)
        'dictionary' => 'hoge1.dic,hoge2.dic',
        
        // 解析時に生成するMeCabWordのclass名を指定(default: Youaoi\\MeCab\\MeCabWord)
        'wordClass' => User\\MeCab\\MeCabWord::class,
    ]);

...
// シンプルな使い方1

    echo MeCab::toReading('すもももももももものうち');
    // Output: スモモモモモモモモノウチ
    
    echo MeCab::toReading('山田太郎');
    // Output: ヤマダタロウ
    
    echo MeCab::toReading('C-3PO');
    // Output: 
    
    echo MeCab::toReading('出席番号:13番');
    // Output: シュッセキバンゴウバン

// シンプルな使い方2

    echo MeCab::toSortText('すもももももももものうち');
    // Output: スモモモモモモモモノウチ
    
    echo MeCab::toSortText('山田太郎');
    // Output: ヤマダタロウ
    
    echo MeCab::toSortText('C-3PO');
    // Output: C-3PO
    
    echo MeCab::toSortText('出席番号:13番');
    // Output: シュッセキバンゴウ:13バン

// ソート用文字列の作成方法
    $sentence = '仕様書_copy-new(3)';

    $text = MeCab::toSortText($sentence);
    $text = strtoupper(mb_convert_kana($text, 'rnashk'));

    // 漢字範囲など精度が悪いが、精密に判定する必要が無いので、ざっくりと削除
    $text = preg_replace('/[^ヲ-ンA-Z0-9一-龠]+/u','' ,$text);
    
    echo $text;
    // Output: シヨウショCOPYNEW3

... 

// データを解析する

    var_dump($a = MeCab::parse('すもももももももものうち'));
    
    $mecab = new MeCab();
    
    var_dump($b = $mecab->analysis('すもももももももものうち'));
    
    // $a == $b

※使用する環境によって、解析結果が変わり、テストケースが通らなくなる場合があります。

想定する活用環境

UNIX系サーバーにて動作確認。特に制約の多いレンタルサーバーで利用する事を前提として開発。

作者は下記環境にて利用中

统计信息

  • 总下载量: 36.45k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-09-28