1
0

More than 3 years have passed since last update.

PHPで形態素解析を行う(Yahoo!のAPIを使用します)

Last updated at Posted at 2021-02-11

以前「PHPで分かち書きをする意識低い方法」というエントリーを書いていましたが、今回はYahoo! 版です。使用する際には1日50000回以下で収まる用途であること(越えるとエラーになる)と、クレジットも必要です。それらの制約が無い場合には選択肢に入るかと思います。

準備

といっても、Yahoo!のサイトから[アプリケーションを開発をする]ボタンをクリックして所定の項目を入力するだけです。

コード

APIキーを取得した際にClient IDとシークレットが提示されるかと思いますが、Client IDをつかいます。
レンタルサーバーなどで、simplexml_load_fileが使えないこともあるでしょうからCurlを使います。

<?php
$appId = "Client ID";
$sentence = "今日は海の日。夏だ一番ドラえもん祭り。吾輩は猫である。名前はまだ無い";

$url = "https://jlp.yahooapis.jp/MAService/V1/parse?appid=" . $appId . "&results=ma&sentence=" . urlencode($sentence);

//XMLの解析
$xml_data = "";
$cp = curl_init();
curl_setopt($cp, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cp, CURLOPT_HEADER, false );
curl_setopt($cp, CURLOPT_URL, $url);
curl_setopt($cp, CURLOPT_TIMEOUT, 60);
$xml_data = curl_exec($cp);
curl_close($cp);
$original_xml = simplexml_load_string($xml_data);

$xml = get_object_vars($original_xml);

//結果を出力
foreach($xml['ma_result']->word_list->word as $cur){
    echo $cur->surface . "|";
}

?>

結果

今日|は|海|の|日|。|夏|だ|一番|ドラえもん|祭り|。|吾輩は猫である|。|名前|は|まだ|無い|

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0