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?えっ、何これすごいんだけど。