Google App Engine で類義語検索

仕事がのんびりしてきたので、IMK 版の開発を再開しています。致命的なバグ修正の他に、/today で今日の日付が出たり、/=(1+2)/3.4*(5.6%-7.8) 等のちょっとした計算式を実行できたり。いまさらな感もありますが。

ところで類義語です。頭の中にある文章をそのまま打ち出す時には不要だけど、表現を工夫したい時に類義語があればなあと思うことがあります。SKK 辞書でもアノテーションで類義語がわかるようになっていますが、残念ながら選択はできない。これをなんとかしたい。

ユーザーインタフェースのほうはまあ頑張ればいいとして、問題はデータです。ちょっと調べた感じでは日本語の類義語辞書を GPL や Web サービスとして公開しているところはなさそう(あれば教えて下さい)だし、市販の辞書を使うこともできない。そこで、いっそのこと Google App Engine で類義語登録・検索サイトを作って、ボランティアに頼ってみるのはどうかと考えています。

Google App EnginePython を調べ出したのは最近のことですが、制約がありつつも、それなりに面白いことができそうな環境のようです。なので、その評価も含めて、ちょっと挑戦してみようかなという気になっています。類義語のモデルはシンプルに以下のような感じで。

class Word(db.Model):
  name = db.StringProperty(required=True)
  category = db.StringListProperty()
  dups = db.ListProperty(db.Key)

検索結果を SKK の辞書形式や JSON 等で返してあげることができれば、クライアントを問わずに使えるかなと。まずは IMK 版 AquaSKK を正式リリースしてからですけどね。