PHP Mecab
, (*1)
OOP Mecab Wrapper., (*2)
Installation
composer require wandu/mecab
How to use
Example ๋ถ์ํ๊ธฐ parse
, parseToString
, parseToGenerator
, (*3)
<?php
use Wandu\Mecab\Mecab;
$mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic');
$mecab->parseToString('๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ณ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ'); // return string
Result, (*4)
BOS
NOD (NNP,์ง๋ช
,F,๋ํด,*,*,*,*): ๋ํด
NOD (NNG,*,T,๋ฌผ,*,*,*,*): ๋ฌผ
NOD (JC,*,F,๊ณผ,*,*,*,*): ๊ณผ
NOD (NNP,์ง๋ช
,T,๋ฐฑ๋์ฐ,Compound,*,*,๋ฐฑ๋/NNG/*+์ฐ/NNG/*): ๋ฐฑ๋์ฐ
NOD (JKS,*,F,์ด,*,*,*,*): ์ด
NOD (VV,*,F,๋ง๋ฅด,*,*,*,*): ๋ง๋ฅด
NOD (EC,*,F,๊ณ ,*,*,*,*): ๊ณ
NOD (VV,*,T,๋ณ,*,*,*,*): ๋ณ
NOD (EC,*,T,๋๋ก,*,*,*,*): ๋๋ก
NOD (NNG,*,T,ํ๋๋,Compound,*,*,ํ๋/NNG/*+๋/NNG/*): ํ๋๋
NOD (JKS,*,F,์ด,*,*,*,*): ์ด
NOD (NNG,*,F,๋ณด์ฐ,*,*,*,*): ๋ณด์ฐ
NOD (NNG,*,F,ํ์ฌ,*,*,*,*): ํ์ฌ
EOS
Example ํ์ฌํ๊ทธ๋ก ํํฐ๋งํ๊ธฐ, (*5)
KoreaEunjeon
์ ํ๊ทธ๋ ์ฌ๊ธฐ์
์ ์ ๋ฆฌ๋์ด์์ต๋๋ค., (*6)
<?php
use Wandu\Mecab\Mecab;
use Wandu\Mecab\Node;
use Wandu\Mecab\Tag\KoreaEunjeon;
$mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic');
$nodes = array_filter($mecab->parse('๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ณ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ'), function (Node $node) {
return
$node->hasTag(KoreaEunjeon::TAG_NNP) ||
$node->hasTag(KoreaEunjeon::TAG_NNB) ||
$node->hasTag(KoreaEunjeon::TAG_NNG);
});
Example ํํ์๋ก ๋ถ๋ฆฌํ๊ธฐ split
, (*7)
<?php
use Wandu\Mecab\Mecab;
$mecab = new Mecab('/usr/local/lib/mecab/dic/mecab-ko-dic');
$mecab->split('๋ํด๋ฌผ๊ณผ ๋ฐฑ๋์ฐ์ด ๋ง๋ฅด๊ณ ๋ณ๋๋ก ํ๋๋์ด ๋ณด์ฐํ์ฌ'); // return array
Result, (*8)
[
'๋ํด',
'๋ฌผ',
'๊ณผ',
'๋ฐฑ๋์ฐ',
'์ด',
'๋ง๋ฅด',
'๊ณ ',
'๋ณ',
'๋๋ก',
'ํ๋๋',
'์ด',
'๋ณด์ฐ',
'ํ์ฌ',
]
Reference