Social IME ~ みんなで育てる日本語入力 ~

Social IME かな漢字変換API ver 0.02

1. 基本の変換

引数stringとして変換したいかな文字列を次のように渡します(実装時はURLエンコードしてください)。
http://www.social-ime.com/api/?string=ここにかなもじをいれる
レスポンスの形式はプレーンテキストで、次のようになります。

ここに 個々に 此処に (以下略)
仮名文字を かなもじを (以下略)
いれる 入れる 淹れる (以下略)

ここで、上から順に第0文節、第1文節、第2文節を表す行になっています。
また、n行目は左から順に第0候補 第1候補 第2候補 …とタブ文字で区切られています。 一度に全ての候補を返す理由は、通信の回数を減らし変換をスムーズに行うためです。

2. 文節区切りの変更(resize)

引数としてresize[0]=-1やresize[1]=+2といった配列を渡すことで文節区切りを変更します。
http://www.social-ime.com/api/?string=ここではきものを

ここでは (以下略)
着物を (以下略)

http://www.social-ime.com/api/?string=ここではきものを&resize[0]=-1

ここで (以下略)
履物を (以下略)

この例は、「ここでは」のところでSHIFT+←キー操作によって文節区切りを変更するのに対応します。 resize[文節番号]=長さ(長くするときは+、短くするときは-の値)とします。
なお、複数箇所で文節区切りを変更する場合は注意が必要です。 引数は左から順に評価され、結果はその順番に依存します。 つまり、"&resize[1]=-2&resize[0]=+1"と"&resize[0]=+1&resize[1]=-2"は異なる可能性があります。

3. 確定・学習(commit)

Social IMEのクライアントは、変換候補の中から選択したものを確定するときに、サーバに学習を行わせることがdけいます
http://www.social-ime.com/api/?string=りょうどをへんかんする&commit[0]=0&commit[1]=1
これは、「領土を 変換する」と誤変換されてしまったときに、「領土を 返還する」と正しい候補を学習させた例です。 commit[文節番号]=確定した候補の番号 とします。commitは全ての文節に対して設定する必要はありません。 省略された文節に関しては候補番号0、すなわちデフォルトの候補が選択されたものとして学習されます。

4. メタデータ

これまで見てきた基本機能を使う時には、string以外にユーザ名などのメタデータを付与することが出来ます。メタデータを全て付与すると次のようになります。

http://www.social-ime.com/api/?string=てすと&user=nokuno&charset=EUC-JP

・user
ユーザ名です。辞書や学習データをユーザ別に分けるときに使います。今のところパスワードによる認証はありません。
・charset
出力の文字コードです。EUC-JPやSJISが指定できます。デフォルトはEUC-JPです。なお、入力文字列の文字コードは自動的に推定されます。

5. 補足

APIはステートレスなHTTPだけで使えるようになっています。そのため、サーバは文節区切りや確定操作のときにも一から変換しなおす実装になっています。