人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

Google AJAX Language APIをPythonから使う

機械翻訳のWebサービスがないか探していたのですが、Google AJAX Language APIってのを見つけました。本来はJavascriptから使うみたいですが、Pythonからも使えたのでまとめときます。結果はJSONでかえってくるのでその解釈にsimplejsonというPythonライブラリが必要です。

#coding:utf-8
import urllib
import simplejson

def translate(query, frm="en", to="ja"):
    query = query.encode("utf-8")
    data = {"q":query, "v":"1.0", "hl":"ja", "langpair":"%s|%s" % (frm, to),}
    f = urllib.urlopen("http://ajax.googleapis.com/ajax/services/language/translate", urllib.urlencode(data))
    ret = simplejson.loads(f.read())
    return ret["responseData"]["translatedText"]

if __name__ == "__main__":
    print translate("Dog")
    print translate("This is a pen.")
    print translate("I study Artificial Intelligence.")
    print translate(u"これは本です。", frm="ja", to="en")
    print translate(u"人工知能", frm="ja", to="en")
    print translate(u"機械学習", frm="ja", to="en")
    print translate(u"ターミネーター3", frm="ja", to="en")

まあ、何をやっているかは一目瞭然で簡単に使えます。結果はJSONで返ってくるのでsimplejsonでオブジェクト化してから使います。実行結果は、

犬
これはペンです。
私は人工知能を研究する。
This is a book.
AI
Machine learning
Terminator 3 - Rise of the Machines

Rise of the Machines?えっ、何これすごいんだけど。