前回、Yahoo形態素解析&係り受け解析が流れるようになったと書いたが、メモとして残しておく。順を追うと、
- Yahooデベロッパーネットワークというところに、いくつかのAPIの紹介が有り、その中に「テキスト解析API」が有り、まず「日本語形態素解析」に行ってみた。他のYahooの例に漏れず、help、説明書等はほとんど無し。
- 無謀だったと反省しつつ、「サポート」の「ご利用ガイド」のところに行くと、「Yahoo! JAPAN IDを取得」、「アプリケーション登録&ID発行」が必要と有る。Yahoo IDは有るので、アプリケーション登録&ID発行を行った。下記プログラム中の ********************* はアプリケーション登録ID。
- ここからはボクの技術力では何が何だかわからないので、次はサンプルコードを見ようと思ったら、Perlは無くてPHPしかない。(5月頃までは「PHPならライブラリが用意してあります」とか書いてあったと思うけど、今はその記述も無し。)そうなると、webに望みをかける心細い生活に。
- いくつかのサイトでYahoo形態素解析を試した例を見つけ参考にしようとしたが、ボクが使っているYahooジオシティーズでは、モジュール使用に制約が有るようで(たぶん)うまく行かなかった。Perlについても自分か書いたコードしか知らないから、本を読んで地道にやっていくと、LWP::Simple というモジュールは動くことがわかった。XML処理系のモジュールは、それらのサイトの皆さんが使っているのは結局うまくできなくて、手処理にした。
#!/usr/bin/perl use LWP::Simple; $appid = "*********************"; $query = "庭には二羽ニワトリがいる"; $url = "http://jlp.yahooapis.jp/MAService/V1/parse?appid=$appid&results=ma,uniq&uniq_filter=9|10&sentence=$query"; $response = get($url); print "Content-type: text/html; charset=utf-8\n\n"; print "<HTML><BODY>\n"; print "$response"; print "</BODY></HTML>\n";
上記は最も簡単に書いたもの。出力されたXMLは未処理なので、もとのXMLを見る場合はソースの表示で。(本当はXMLを直接出力できると思うけど、実際には出力することは目的ではなく、解析後の要素をどう使用するかが次のstepなのでこの辺で一旦止めた。)→この後のXMLの処理は、恥ずかしくて書けないが、連続した状態の文字列をぶった切って加工した。あとはformで入力できるようにhtmlを用意したところ。解析詳細は現在検討中。
keyword: 人工知能