読者です 読者をやめる 読者になる 読者になる

人工知能に関する断創録

人工知能、認知科学、心理学、ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。最近は、機械学習・Deep Learningに関する記事が多いです。



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