日本語の文章の、言葉の誤用や不適切な表現などを確認できるAPIです。
リクエストURL:https://jlp.yahooapis.jp/KouseiService/V1/kousei
GETではクエリの最大長を超える恐れがあるため、対象のテキストが長くなるならばPOSTでリクエストします。Yahoo!デベロッパーネットワーク:WebAPIの使い方(POSTリクエスト) - Yahoo!デベロッパーネットワーク
| フィールド | 説明 |
|---|---|
| ResultSet | すべての指摘結果 |
| Result | 個々の指摘結果 |
| フィールド | 説明 |
|---|---|
| StartPos | 対象文字列の開始位置 (先頭からの文字数) |
| Length | 対象文字列の長さ (対象文字数) |
| Surface | 対象文字列の表記 |
| ShitekiWord | 言い換え候補文字列
(複数の候補が返されるときには、間に読点がはさまれる) |
| ShitekiInfo | 指摘内容を表す文字列 |
| グループ | 番号 | 指摘内容 | 文字列に対する指摘の例 |
|---|---|---|---|
| 表記、表現の間違いや不適切な表現の指摘 | 1 | 誤変換 | 人事異同 → 人事異動 |
| 2 | 誤用 | 煙に巻く → けむに巻く | |
| 3 | 使用注意 | 外人墓地 → 外国人墓地 | |
| 4 | 不快語 (使用不適切な語や隠語) | がんをつける → にらむ | |
| 5 | 機種依存または拡張文字
(EUC表示不可の場合も指摘される) |
○付き数字、一部の旧字体など | |
| 6 | 外国地名 | モルジブ → モルディブ | |
| 7 | 固有名詞 | ヤフーブログ → Yahoo!ブログ | |
| 8 | 人名 | ベートーヴェン → ベートーベン | |
| 9 | ら抜き | 食べれる → 食べられる | |
| わかりやすい表記にするための指摘 | 10 | 当て字 | 出鱈目、振り仮名 |
| 11 | 表外漢字あり | 灯籠 → 灯● | |
| 12 | 用字
(日本新聞協会「新聞用語集」、共同通信社「記者ハンドブック」参考) |
曖昧 → あいまい | |
| 文章をよりよくするための指摘 | 13 | 用語言い換え (商標など) | セロテープ → セロハンテープ |
| 14 | 二重否定 | 聞かなくはない | |
| 15 | 助詞不足の可能性あり | 学校行く | |
| 16 | 冗長表現 | ことができます | |
| 17 | 略語 | ADSL → 非対称デジタル加入者線 (ADSL) |
$sentence = '遙か彼方に小形飛行機が見える。';
$url = 'https://jlp.yahooapis.jp/KouseiService/V1/kousei'
.'?appid='.APPID
.'&sentence='.urlencode( $sentence )
.'&filter_group='
.'&no_filter=';
$xml = simplexml_load_file( $url );
print_r( $xml );
SimpleXMLElement Object
(
[Result] => Array
(
[0] => SimpleXMLElement Object
(
[StartPos] => 0
[Length] => 2
[Surface] => 遙か
[ShitekiWord] => ●か
[ShitekiInfo] => 表外漢字あり
)
[1] => SimpleXMLElement Object
(
[StartPos] => 2
[Length] => 2
[Surface] => 彼方
[ShitekiWord] => 彼方(かなた)
[ShitekiInfo] => 用字
)
[2] => SimpleXMLElement Object
(
[StartPos] => 5
[Length] => 5
[Surface] => 小形飛行機
[ShitekiWord] => 小型飛行機
[ShitekiInfo] => 誤変換
)
)
)
これはXMLでは、次のような内容です。
<?xml version="1.0" encoding="UTF-8"?>
<ResultSet xmlns="urn:yahoo:jp:jlp:KouseiService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:KouseiService http://jlp.yahooapis.jp/KouseiService/V1/kousei.xsd">
<Result>
<StartPos>0</StartPos>
<Length>2</Length>
<Surface>遙か</Surface>
<ShitekiWord>●か</ShitekiWord>
<ShitekiInfo>表外漢字あり</ShitekiInfo>
</Result>
<Result>
<StartPos>2</StartPos>
<Length>2</Length>
<Surface>彼方</Surface>
<ShitekiWord>彼方(かなた)</ShitekiWord>
<ShitekiInfo>用字</ShitekiInfo>
</Result>
<Result>
<StartPos>5</StartPos>
<Length>5</Length>
<Surface>小形飛行機</Surface>
<ShitekiWord>小型飛行機</ShitekiWord>
<ShitekiInfo>誤変換</ShitekiInfo>
</Result>
</ResultSet>
文章に問題がない、または問題を検出できない場合には、Result要素がない空のResultSetが返されます。
<?xml version="1.0" encoding="UTF-8"?> <ResultSet xmlns="urn:yahoo:jp:jlp:KouseiService" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:yahoo:jp:jlp:KouseiService http://jlp.yahooapis.jp/KouseiService/V1/kousei.xsd"/>
リクエスト時にはパラメータをエンコードして渡すため、UTF-8の「あ」の1文字でも「%E3%81%82」の9バイト必要です。
100kBを越えるリクエストをするとHTTPステータスで413 (Request Entity Too Large) が返され、さらに大きく越えると500 (Internal Server Error) が返されます。