Yahoo!デベロッパーネットワークでアプリケーションIDを登録。
日本語係り受け解析については以下を参考に。
テキスト解析:日本語係り受け解析 - Yahoo!デベロッパーネットワーク
http://python.blog-slime.com/2007/07/urllibpost.htmlを参考に書いてみた。
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib appid = '***************(登録したアプリケーションID)' sentence = u'全裸は良くない'.encode('utf-8') postdata = { 'appid' : appid, 'sentence' : sentence, } params = urllib.urlencode(postdata) url = 'http://jlp.yahooapis.jp/DAService/V1/parse' result = urllib.urlopen(url, params) print result.read()
実行すると、解析結果を見ることができる。
$ ./zenra.py <?xml version="1.0" encoding="UTF-8" ?> <ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:jp:jlp:DAService" xsi:schemaLocation="urn:yahoo:jp:jlp:DAService http://jlp.yahooapis.jp/DAService/V1/parseResponse.xsd"> <Result> <ChunkList> <Chunk> <Id>0</Id> <Dependency>1</Dependency> <MorphemList> <Morphem> <Surface>全裸</Surface><Reading>ぜんら</Reading><Baseform>全裸</Baseform><POS>名詞</POS><Feature>名詞,名詞,*,全裸,ぜんら,全裸</Feature> </Morphem> <Morphem> <Surface>は</Surface><Reading>は</Reading><Baseform>は</Baseform><POS>助詞</POS><Feature>助詞,係助詞,*,は,は,は</Feature> </Morphem> </MorphemList> </Chunk> <Chunk> <Id>1</Id> <Dependency>-1</Dependency> <MorphemList> <Morphem> <Surface>良く</Surface><Reading>よく</Reading><Baseform>良く</Baseform><POS>副詞</POS><Feature>副詞,副詞,*,良く,よく,良く</Feature> </Morphem> <Morphem> <Surface>ない</Surface><Reading>な</Reading><Baseform>な</Baseform><POS>助動詞</POS><Feature>助動詞,助動詞ない,基本形,ない,な,な</Feature> </Morphem> </MorphemList> </Chunk> </ChunkList> </Result> </ResultSet>
追記
id:yuroyoroさんから参考になるソースを提供いただいた! ありがとうございます ><
とりあえずxml.etree.ElementTreeで自力でXMLをparseしてみた。
#!/usr/bin/env python # -*- coding: utf-8 -*- from xml.etree import ElementTree import urllib appid = '***************(登録したアプリケーションID)' sentence = u'全裸は良くない'.encode('utf-8') postdata = { 'appid' : appid, 'sentence' : sentence, } params = urllib.urlencode(postdata) url = 'http://jlp.yahooapis.jp/DAService/V1/parse' result = urllib.urlopen(url, params) tree = ElementTree.XML(result.read()) chunk_list = tree.find('{urn:yahoo:jp:jlp:DAService}Result').find('{urn:yahoo:jp:jlp:DAService}ChunkList') for chunk in chunk_list.findall('{urn:yahoo:jp:jlp:DAService}Chunk'): for morphem in chunk.find('{urn:yahoo:jp:jlp:DAService}MorphemList'): print '%s\t%s\t%s' % ( morphem.find('{urn:yahoo:jp:jlp:DAService}Surface').text.encode('utf-8'), morphem.find('{urn:yahoo:jp:jlp:DAService}POS').text.encode('utf-8'), morphem.find('{urn:yahoo:jp:jlp:DAService}Feature').text.encode('utf-8'), )
$ ./zenra.py 全裸 名詞 名詞,名詞,*,全裸,ぜんら,全裸 は 助詞 助詞,係助詞,*,は,は,は 良く 副詞 副詞,副詞,*,良く,よく,良く ない 助動詞 助動詞,助動詞ない,基本形,ない,な,な
ここまでできればzenra.plと同じ要領でzenrizeできそうな気がする!