Yahooデベロッパーネットワークのかな漢字変換APIを利用して、PHPプログラムを作成してみました。Yahooデベロッパーネットワークのかな漢字変換APIは、ローマ字、ひらがなの文を文節に区切り、変換候補を提示します。また、短い文字列から変換候補を推測するモードも提供します。VJEと同じ方式のかな漢字変換です。

リクエストパラメータ
パラメータ 説明
appid(必須) string アプリケーションID。
sentence(必須) string かな漢字変換対象のテキストです。文節の区切りを指定したい場合は、テキストを半角スペースで区切ってください。
format string: roman “sentence”のテキストフォーマットを指定します。”roman”を指定すると、リクエストされたテキスト情報中のひらがなと半角英小文字が変換対象となります。
mode string: normal, roman “normal”: 通常の変換候補を返す通常変換を行います。
“roman”: ローマ字からひらがなに変換した結果のみを返すローマ字変換を行います。
response string: katakana, hiragana, alphanumeric, half_katakana, half_alphanumeric 通常のかな漢字変換のほかに、指定の変換候補を返します。
“alphanumeric”: 全角英数字変換の内容をAlphanumericに返します。
“half_alphanumeric”: 半角英数字変換の内容をHalfAlphanumericに返します。
results integer: 999(デフォルトかつ最大) 文節単位の変換候補の数を指定します。
レスポンスフィールド
フィールド 説明
ResultSet かな漢字変換結果のすべてを含みます。
Result 文節ごとの変換結果で各個別レスポンスを含みます。
SegmentList かな漢字変換によって区切られたテキスト情報の文節のリストです。各文節の情報を含みます。
Segment 文節の変換候補を含みます。
SegmentText 文節ごとの読みにあたる文字列です。
HalfAlphanumeric 半角英数字の変換結果です。
CandidateList 変換候補をすべて含みます。
Candidate 変換候補です。
かな漢字変換APIの仕様:
http://developer.yahoo.co.jp/webapi/jlp/jim/v1/conversion.html

ひらがな入力から仮名漢字への変換

ひらがなで入力して、漢字に変換します。かな漢字変換には、Yahooデベロッパーネットワークのかな漢字変換APIを使用します。かな漢字変換APIを利用したPHPプログラムを次に示します。変換候補数は「3」にします。

$appid = アプリケーションID;
$api = 'http://jlp.yahooapis.jp/JIMService/V1/conversion';
$sentence = 'きょうはよいてんきです。';
$args = array (
	'appid'=>$appid,
	'sentence'=>$sentence,
	'results'=>3,
	);
$url = $api . '?' . http_build_query($args);
$ch = curl_init ($url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 900);
curl_setopt ($ch, CURLOPT_CONNECTIONTIMEOUT, 20);
$data =  curl_exec ($ch);
curl_close ($ch);

変換結果はXML形式で次のように出力されます。

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet xmlns="urn:yahoo:jp:jlp:JIMService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:JIMService http://jlp.yahooapis.jp/JIMService/V1/conversion.xsd">
  <Result>
    <SegmentList>
      <Segment>
        <SegmentText>きょうは</SegmentText>
        <CandidateList>
          <Candidate>今日は</Candidate>
          <Candidate>きょうは</Candidate>
          <Candidate>教派</Candidate>
        </CandidateList>
      </Segment>
      <Segment>
        <SegmentText>よい</SegmentText>
        <CandidateList>
          <Candidate>よい</Candidate>
          <Candidate>良い</Candidate>
          <Candidate>宵</Candidate>
        </CandidateList>
      </Segment>
      <Segment>
        <SegmentText>てんきです。</SegmentText>
        <CandidateList>
          <Candidate>天気です。</Candidate>
          <Candidate>転機です。</Candidate>
          <Candidate>転記です。</Candidate>
        </CandidateList>
      </Segment>
    </SegmentList>
  </Result>
</ResultSet>

ひらがな入力からローマ字への変換

ひらがなで入力して、ローマ字に変換します。ひらがなローマ字変換には、Yahooデベロッパーネットワークのひらがなローマ字変換APIを使用しますひらがなローマ字変換APIを利用したPHPプログラムを次に示します。変更したPHPプログラム部分のみを次に示します。

$sentence = 'きょうはよいてんきです。';

$args = array (
	'appid'=>$appid,
	'sentence'=>$sentence,
	'response'=>"half_alphanumeric",
	'results'=>3,
	);

変換結果は、XML形式で次のように出力されます。

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet xmlns="urn:yahoo:jp:jlp:JIMService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:JIMService http://jlp.yahooapis.jp/JIMService/V1/conversion.xsd">
  <Result>
    <SegmentList>
      <Segment>
        <SegmentText>きょうは</SegmentText>
        <HalfAlphanumeric>kyouha</HalfAlphanumeric>
        <CandidateList>
          <Candidate>今日は</Candidate>
          <Candidate>きょうは</Candidate>
          <Candidate>教派</Candidate>
        </CandidateList>
      </Segment>
      <Segment>
        <SegmentText>よい</SegmentText>
        <HalfAlphanumeric>yoi</HalfAlphanumeric>
        <CandidateList>
          <Candidate>よい</Candidate>
          <Candidate>良い</Candidate>
          <Candidate>宵</Candidate>
        </CandidateList>
      </Segment>
      <Segment>
        <SegmentText>てんきです。</SegmentText>
        <HalfAlphanumeric>tennkidesu.</HalfAlphanumeric>
        <CandidateList>
          <Candidate>天気です。</Candidate>
          <Candidate>転機です。</Candidate>
          <Candidate>転記です。</Candidate>
        </CandidateList>
      </Segment>
    </SegmentList>
  </Result>
</ResultSet>

レスポンスフィールド「HalfAlphanumeric」に、日本語形態素解析された結果ごとにローマ字で出力されます。

ローマ字入力からひらがなへの変換

ローマ字で入力して、ひらがなに変換します。ローマ字ひらがな変換には、Yahooデベロッパーネットワークのローマ字ひらがなAPIを使用します。ローマ字ひらがなAPIを利用したPHPプログラムを次に示します。変更したPHPプログラム部分のみを次に示します。

$sentence = 'kyouhayoitennkidesu';

$args = array (
	'appid'=>$appid,
	'sentence'=>$sentence,
	'format'=>"roman",
	'mode'=>"roman",
	'results'=>3,
	);

変換結果はXML形式で次のように出力されます。

<?xml version="1.0" encoding="UTF-8"?>
<ResultSet xmlns="urn:yahoo:jp:jlp:JIMService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:JIMService http://jlp.yahooapis.jp/JIMService/V1/conversion.xsd">
  <Result>
    <SegmentList>
      <Segment>
        <SegmentText>きょうはいいてんきです</SegmentText>
      </Segment>
    </SegmentList>
  </Result>
</ResultSet>