Yahoo!の形態素解析をPHPで

Yahoo!の形態素解析をPHPで行うためのサンプルです。
アプリケーションIDは自分のものを使ってください。

2023年3月21日追記
ここに書いた内容はV1です。V2については「PHPでYahoo!の日本語形態素解析を使う方法」に書きました。

関数

文章を与えると名詞や助詞などに分解して配列で返します。

function get_kaiseki($str){
    $service = "http://jlp.yahooapis.jp/MAService/V1/parse";
    $appid = "アプリケーションID";
    $sentence = urlencode($str);
    $url = $service . "?appid=" . $appid . "&sentence=" . $sentence;
    $xml = simplexml_load_file($url);
    $results = $xml->ma_result->word_list->word;
    $arrs = array();
    foreach($results as $result) {
        $temps["surface"] = $result->surface;//表示
        $temps["reading"] = $result->reading;//読み
        $temps["pos"] = $result->pos;//品詞
        $arrs[] = $temps;
    }
    return $arrs;
}

サンプル

上の関数を使ったサンプルです。
名詞だけを抽出して表示します。

$arrs = get_kaiseki("広島に投下された原爆の通称名でもあり、今後配慮して。");
$nouns = array();
foreach($arrs as $arr){
  if($arr["pos"] == "名詞"){
    $nouns[] = $arr["surface"];
  }
}
print implode(";", $nouns);

実行結果

広島;投下;原爆;通称;今後;配慮

コメント

  1. […] 以前、「Yahoo!の形態素解析をPHPで」を書きました。 そのときはV1でした。 今回はV2の場合について書きます。 […]

タイトルとURLをコピーしました