かな漢字変換

ローマ字、ひらがなの文を文節に区切り、変換候補を提示します。短い文字列から変換候補を推測するモードも提供します。VJEと同じ方式のかな漢字変換です。

こちらは新バージョンのAPIです。
旧バージョンに関してはこちらをご覧ください。

リクエストURL

JSON
https://jlp.yahooapis.jp/JIMService/V2/conversion

リクエストパラメータ(POST)

JSON-RPC 2.0の仕様 に準拠しています。

パラメータ 説明
id(必須) string,integer JSON-RPC 2.0のid。値は任意で、指定した値がレスポンスのidにも返ります。
jsonrpc(必須) string 値は「2.0」としてください。
method(必須) string 値は「jlp.jimservice.conversion」としてください。
params object
q(必須) string かな漢字変換対象のテキストです。文節の区切りを指定したい場合は、テキストを半角スペースで区切ってください。ローマ字変換モード(roman)、推測変換モード(predictive)では機能しません。
半角スペースが2文字連続して並ぶ場合は、文節の区切りではなく1文字の半角スペースとして処理します。
最大文字数は80文字(ひらがな換算時)までとします。
format string "q"のテキストフォーマットを指定します。"hiragana"を指定すると、かな漢字変換の対象となるテキスト情報はひらがなのみとなります。 "roman"を指定すると、リクエストされたテキスト情報中のひらがなと半角英小文字が変換対象となります。
mode string かな漢字変換処理で通常変換、ローマ字変換、推測変換のいずれかを指定します。
  • "kanakanji": 通常の変換候補を返す通常変換を行います。
  • "roman": ローマ字からひらがなに変換した結果のみを返すローマ字変換を行います。指定変換候補(option)、辞書指定(dictionary)は使用できません。
  • "predictive": 推測変換の候補を返します。指定変換候補(option)、辞書指定(dictionary)は使用できません。
無指定の場合は"kanakanji"になります。
option array(string) 通常のかな漢字変換のほかに、指定の変換候補を返します。複数指定できます。
  • "hiragana": 全角ひらがな変換の内容をHiraganaに返します。
  • "katakana": 全角カタカナ変換の内容をKatakanaに返します。
  • "alphanumeric": 全角英数字変換の内容をAlphanumericに返します。
  • "half_katakana": 半角カタカナ変換の内容をHalfKatakanaに返します。
  • "half_alphanumeric": 半角英数字変換の内容をHalfAlphanumericに返します。
無指定の場合は通常変換のみになります。
dictionary array(string) 変換候補用の辞書を指定します。複数指定できます。
  • "base": 一般辞書の候補を返します。
  • "name": 人名辞書の候補を返します。
  • "place": 地名辞書の候補を返します。
  • "zip": 郵便番号辞書の候補を返します。
  • "symbol": 顔文字、記号辞書の候補を返します。
無指定の場合は"base"になります。
results integer 文節単位の変換候補の数を指定します。
無指定の場合は999(最大値)になります。

サンプルリクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

サンプルコード

かな漢字変換を使用したサンプルコードです。

レスポンスフィールド

JSON-RPC 2.0の仕様 に準拠しています。

フィールド 説明
id string,integer リクエストのidの値が返ります。
jsonrpc string 固定で「"2.0"」が返ります。
result object 文節ごとの変換結果で各個別レスポンスを含みます。
segment array(object) かな漢字変換によって区切られたテキスト情報の文節のリストです。各文節の情報を含みます。
reading string 文節ごとの読みにあたる文字列です。
hiragana string 全角ひらがなの変換結果です。
katakana string 全角カタカナの変換結果です。
alphanumeric string 全角英数字の変換結果です。
half_katakana string 半角カタカナの変換結果です。
half_alphanumeric string 半角英数字の変換結果です。
candidate array(string) 変換候補です。

サンプルレスポンス

例1:かな漢字変換

以下は、q="きょうはよいてんきです。"のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

 {
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょうは",
        "hiragana": "きょうは",
        "katakana": "キョウハ",
        "alphanumeric": "kyouha",
        "half_katakana": "キョウハ",
        "half_alphanumeric": "kyouha",
        "candidate": ["今日は", "きょうは", "教派", "興は", "京は", "強は", "経は", "教は", "境は", "凶は", "卿は", "峡は", "協は", "香は", "恭は", "享は", "杏は", "馨は", "叶は", "許は", "亨は", "競は", "共は", "匡は", "叫は", "喬は", "彊は", "橋は", "郷は", "鏡は", "響は", "驚は", "尭は", "暁は", "慶は", "洪は", "姜は", "癸生は"]
      },
      {
        "reading": "よい",
        "hiragana": "よい",
        "katakana": "ヨイ",
        "half_katakana": "ヨイ",
        "alphanumeric": "yoi",
        "half_alphanumeric": "yoi",
        "candidate": ["よい", "良い", "宵", "酔い", "四位", "4位", "余威", "好い", "善い", "佳い", "吉い", "快い", "与位", "与井", "與井", "嘉", "四意", "世以", "代威", "代居", "霄", "佳", "可", "儀", "義", "誼", "吉", "慶", "好", "淑", "酔", "善", "良", "俶", "懿", "譱", "臧", "醉"]
      },
      {
        "reading": "てんきです。",
        "hiragana": "てんきです。",
        "katakana": "テンキデス。",
        "alphanumeric": "tennkidesu.",
        "half_katakana": "テンキデス。",
        "half_alphanumeric": "tennkidesu.",
        "candidate": ["天気です。", "転機です。", "転記です。", "転帰です。", "天機です。", "天貴です。", "てんきです。"]
      }
    ]
  }
}

例2:予測変換

以下は、"q"に"きょ"を指定した際のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょ",
    "format": "hiragana",
    "mode": "predictive",
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょ",
        "candidate":["きょ", "協同", "きょう", "京", "今日", "教育", "協会", "境界", "教会", "供給", "協議会", "教材", "教師", "教室", "教授", "強調", "共通", "共通の", "京都", "共同", "恐怖", "興味", "共有", "協力", "強力", "強力な", "強力に", "強烈な", "局面", "去年", "距離", "兄弟", "協議", "強", "経", "教科書", "競争", "曲", "教養", "極大", "強化", "教示", "強打", "強大", "供与", "教科", "鏡台", "曲線", "拒否", "共産", "挙行", "驚異", "競泳", "共済", "協賛", "強靭", "強度", "狂乱", "局", "極致", "居", "挙", "虚", "供", "凶", "協", "卿", "境", "峡", "教", "興", "凶悪", "胸囲", "脅威", "教員", "共益", "競演", "共演", "胸郭", "恐喝", "共感", "教官", "京ケ瀬村", "京ヶ瀬村", "凶器", "狂喜", "狂気", "競技", "教訓", "境遇", "供血", "強健", "強権", "狂犬", "狂犬病", "狂言", "強固", "強硬", "強行", "恐慌", "峡谷", "強国", "胸骨", "競合", "強豪", "京極町", "共催", "競作", "凶作", "共産党", "興ざめ", "教習", "郷愁", "教習所", "恐縮", "供出", "教書", "狭小", "教職", "強震", "強弱", "享受", "供述", "強制", "強請", "教生", "矯正", "教祖", "競走", "強壮", "教則", "共存", "胸像", "供託", "京田辺市", "驚嘆", "凶弾", "教団", "教壇", "境地", "胸中", "協調", "競艇", "協定", "強敵", "共闘", "教頭", "京都駅", "京都市", "京都府", "郷土", "享年", "脅迫", "共犯", "競売", "強風", "胸部", "強弁", "教鞭", "共謀", "凶暴", "狂暴", "教務", "共鳴", "協約", "教諭", "共用", "強要", "享楽", "供覧", "郷里", "共立", "橋梁", "強烈", "共和", "協和", "共和国", "共和町", "協和町", "虚栄", "許可", "巨額", "虚偽", "極", "局員", "曲技", "曲芸", "局限", "極限", "旭志村", "局所", "極小", "極少", "曲折", "極端", "局地", "極地", "局長", "極度", "局内"]
      }
    ]
  }
}

例3:ローマ字変換

以下は、"q"に"kyouhayoitennkidesu."を指定した際のリクエストに対するレスポンスです。

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "kyouhayoitennkidesu.",
    "format": "roman",
    "mode": "roman"
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "result": {
    "segment": [
      {
        "reading": "きょうはよいてんきです。"
      }
    ]
  }
}

エラー

かな漢字変換はYahoo! JAPAN Web APIに共通のエラーメッセージおよびコードが返ります。

また、リクエストパラメータが本ドキュメント記載の仕様と異なる場合、ステータスコード200でJSON-RPC 2.0の仕様に準拠したレスポンスが返ることがあります。

フィールド 説明
id string,integer リクエストのidの値が返ります
jsonrpc string 固定で「"2.0"」が返ります
error object
error/code integer JSON-RPC 2.0の仕様に準拠したエラーコードです。
error/message string JSON-RPC 2.0の仕様に準拠したエラーメッセージです。

例1:不正なJSONの場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "jlp.jimservice.conversion",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }

レスポンス

{
  "id": null,
  "jsonrpc": "2.0",
  "error": {
    "code": -32700,
    "message": "Parse error"
  }
}

例2:必須のパラメータがない場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "error": {
    "code": -32600,
    "message": "Invalid request"
  }
}

例3:存在しないmethodを指定した場合

リクエスト

{
  "id": "1234-1",
  "jsonrpc": "2.0",
  "method": "invalid.method.name",
  "params": {
    "q": "きょうはよいてんきです。",
    "format": "hiragana",
    "mode": "kanakanji",
    "option": ["hiragana", "katakana", "alphanumeric", "half_katakana", "half_alphanumeric"],
    "dictionary": ["base", "name", "place", "zip", "symbol"],
    "results": 999
  }
}

レスポンス

{
  "id": "1234-1",,
  "jsonrpc": "2.0",
  "error": {
    "code": -32601,
    "message": "Method not found"
  }
}

利用制限

かな漢字変換Web APIは、24時間以内で1つのアプリケーションIDにつき50000件のリクエストが上限となっています。また、1リクエストの最大サイズを4KBに制限しています。詳しくは「利用制限」をご参照ください。

アプリケーションの管理

目次

開発のヒント