PythonからYahoo!のWebAPIを叩いてお手軽に形態素解析

形態素解析だとこれまではMeCabを利用していましたが、ちょっと使いたいだけだったり、テスト用データを作成したいだけだったりするとインストールとか面倒だったりするんですよね。

MeCabのPythonバインディングってWindowsじゃ動かないし(動かない、よね?)。

で、Yahoo!のAPI叩いて形態素解析したいと思います。もしかすると辞書はこっちのほうが充実してるのかもしれませんね。

#! /usr/bin/python
# -*- coding: utf-8 -*-

import urllib
import urllib2
from xml.dom import minidom

def main():

_url = “http://jlp.yahooapis.jp/MAService/V1/parse?appid=%s&sentence=%s&results=ma”
_get = urllib2.urlopen(_url % (アプリケーションID, urllib.quote(‘わたしまけましたわ’))).read()
_xdoc = minidom.parseString(_get)

for item in _xdoc.getElementsByTagName(u’surface’):

print item.firstChild.data

if __name__ == “__main__”:

print “Hello World”;
main()

アプリケーションIDの取得やAPIの詳細、レスポンスのXMLに関してはこちらをご覧いただければ。

getElementsByTagNameは、特定のノードを取得しています。surfaceとは分かち書きされた単語ですね。これで分割された単語を取得可能です。

以下、結果出力

わたし
まけ
まし