LoginSignup
0
0

More than 1 year has passed since last update.

【PHP】ひらがな化APIを使ってみた

Posted at

初めに

Excelにて漢字にふりがなをつけようとしたが、CSVをインポートしたデータやWEBページからコピペしたテキストには自動でふりがなが付かないことがわかった。そのため、代替手段としてgooラボひらがな化API を使用することにした。

リファレンスより引用
ひらがな化APIはリクエストで送られた日本語文字列を、ひらがな もしくは カタカナ による記載に変換します。

環境

  • Mac OS12.4(M1)
  • PHP 8.1.2

パラメータ

  • app_id(必須項目) => 利用登録をし、取得する
  • request_id => リクエストID、省略可
  • sentence(必須項目) => 解析対象テキスト
  • output_type (必須項目) =>hiragana(ひらがな化) or katakana(カタカナ化)

本コードではparamsにてパラメータをセットしてください。
※事前に利用登録を行い、app_idを取得すること。
※GETメソッドでは取得できないため、POSTメソッドを使用する必要がある

コード

hiragana_api.php
<?php

$url = "https://labs.goo.ne.jp/api/hiragana";
$params = array(
    'app_id' => '各自で取得したIDを入力してください',
    'sentence' => 'ここの漢字が変換されます',
    'output_type' => 'hiragana',
);
$params = json_encode($params); // json化
$header = array(
    "Content-Length: " . strlen($params),
    "Accept: application/json",
    "Content-Type: application/json",
);

$context = array(
    "http" => array(
        "method"  => 'POST',
        "header"  => implode("\r\n", $header),
        "content" => $params
    )
);
//APIを叩く
$json_response = file_get_contents($url, false, stream_context_create($context));
$array = json_decode($json_response, true);  //array変換

//出力例
print_r($json_response); // json結果
print_r($http_response_header); // header配列
print_r($array);  //JSONをarray変換
echo $array["converted"]  //変換結果のみ抽出

レスポンス例

response.json
{
    "converted": "ここの かんじが へんかんされます",
    "output_type": "hiragana",
    "request_id": "labs.goo.ne.jp\t1662859439\t0"
}

終わりに

このAPIを使用することで、自動でふりがなをつけることができた。精度はイマイチな部分もあるが、手動でするよりもはるかに工数が減らせるので、非常に有用なAPIだと思う。

gooラボAPIには他にも、形態素解析API時刻情報正規化APIキーワード抽出API固有表現抽出APIなど非常に有用なAPIが多くある、今後もさまざまなAPIを使ってみたいと思う。

#Twitterのツイート分析ができそう(ツイートを収集→各種APIでいつどこか分析→マーケティングなどで使用)

使用にあたっては利用規約の範囲内、非商用でお使いください。詳細は公式リファレンスを読んでお使いください。

参考サイト

0
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
0
0