かな漢字変換
ローマ字、ひらがなの文を文節に区切り、変換候補を提示します。短い文字列から変換候補を推測するモードも提供します。VJEと同じ方式のかな漢字変換です。
リクエストURL
JSON
https://jlp.yahooapis.jp/JIMService/V2/conversion
※Client ID(アプリケーションID)をリクエストに付与する必要があります。詳細はサンプルコードをご覧ください。
リクエストパラメータ(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 | |
params/q(必須) | string |
かな漢字変換対象のテキストです。 文節の区切りを指定したい場合は、テキストを半角スペースで区切ってください。ローマ字変換モード(roman)、推測変換モード(predictive)では機能しません。 半角スペースが2文字連続して並ぶ場合は、文節の区切りではなく1文字の半角スペースとして処理します。 最大文字数は80文字(ひらがな換算時)までとします。 |
params/format(任意) | string |
"q"のテキストフォーマットを指定できます。
|
params/mode(任意) | string |
かな漢字変換処理で通常変換、ローマ字変換、推測変換のいずれかを指定します。
|
params/option(任意) | array(string) |
通常のかな漢字変換のほかに、指定の変換候補を返します。複数指定できます。
|
params/dictionary(任意) | array(string) |
変換候補用の辞書を指定します。複数指定できます。
|
params/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"
}
}
利用制限
かな漢字変換では、1リクエストの最大サイズを 4KB に制限しています。また、利用回数の制限については利用回数の制限についてをご参照ください。