Notice: get_currentuserinfo の使用はバージョン 4.5.0 から非推奨になっています ! 代わりに wp_get_current_user() を使ってください。 in /var/www/html/blog/wp-includes/functions.php on line 3831 Call Stack: 0.0000 228280 1. {main}() /var/www/html/blog/index.php:0 0.0001 228720 2. require('/var/www/html/blog/wp-blog-header.php') /var/www/html/blog/index.php:17 0.1157 6026864 3. require_once('/var/www/html/blog/wp-includes/template-loader.php') /var/www/html/blog/wp-blog-header.php:19 0.1170 6036032 4. include('/var/www/html/blog/wp-content/themes/zbench/archive.php') /var/www/html/blog/wp-includes/template-loader.php:74 0.1170 6036064 5. get_header() /var/www/html/blog/wp-content/themes/zbench/archive.php:1 0.1170 6036648 6. locate_template() /var/www/html/blog/wp-includes/general-template.php:45 0.1170 6036888 7. load_template() /var/www/html/blog/wp-includes/template.php:647 0.1171 6051168 8. require_once('/var/www/html/blog/wp-content/themes/zbench/header.php') /var/www/html/blog/wp-includes/template.php:688 0.1184 6067424 9. wp_head() /var/www/html/blog/wp-content/themes/zbench/header.php:8 0.1184 6067472 10. do_action() /var/www/html/blog/wp-includes/general-template.php:2589 0.1184 6068144 11. WP_Hook->do_action() /var/www/html/blog/wp-includes/plugin.php:453 0.1184 6068240 12. WP_Hook->apply_filters() /var/www/html/blog/wp-includes/class-wp-hook.php:323 0.1280 6241272 13. call_user_func_array:{/var/www/html/blog/wp-includes/class-wp-hook.php:298}() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1280 6241880 14. add_google_analytics() /var/www/html/blog/wp-includes/class-wp-hook.php:298 0.1283 6242664 15. ga_current_user_is() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1116 0.1283 6242696 16. get_currentuserinfo() /var/www/html/blog/wp-content/plugins/google-analyticator/google-analyticator.php:1289 0.1283 6242920 17. _deprecated_function() /var/www/html/blog/wp-includes/pluggable-deprecated.php:49 0.1283 6243408 18. trigger_error() /var/www/html/blog/wp-includes/functions.php:3831

Tag Archives: 形態素解析

Yahoo!APIのURL変更に伴う対応

 Yahoo!APIのURL変更になるという事なので、形態素解析のAPIを用いているスタパクラウドで対応。

Yahoo!デベロッパーネットワーク – お知らせ一覧
http://developer.yahoo.co.jp/newslist/

2009年8月7日
yahoo.co.jpドメインの以下のWeb APIへのアクセスが廃止となります。
代わりに公開中のyahooapis.jpドメインのWeb APIへの移行をお願いいたします。

 具体的にはこんなかんじで。

変更前)
var $url = ‘http://api.jlp.yahoo.co.jp/MAService/V1/parse’;
変更後)
var $url = ‘http://jlp.yahooapis.jp/MAService/V1/parse’;

【重要】Yahoo!APIのURLが変わります(再度告知)
http://chalow.net/2009-08-13-4.html

スタパクラウド
http://www.ivoryworks.com/stapacloud/

FedoraにChaSen(CentOSにも)

 スタパクラウドでは、形態素解析にYahoo! APIを使っているのだけど、別にやりたいことが出てきたので自前で用意してみようと思う。
 インストールは少しずつ使えるようになってきたFedora11(LiveUSB)と、CentOSに行う。OSは異なるが手順に差異はない。

 日本語の形態素解析を行うツールは幾つか存在するが、今回はChaSenを選択した。

ChaSen — 形態素解析器
http://chasen-legacy.sourceforge.jp/

 ChaSenを動作させるには、別途Dartsとivonvが必要となる。

■Darts

Darts: Double-ARray Trie System
http://chasen.org/~taku/software/darts/

$ wget http://chasen.org/~taku/software/darts/src/darts-0.32.tar.gz
$ gtar xvzf darts-0.32.tar.gz
$ cd darts-0.32
$ ./configure
$ make
$ make check
$ su
# make install

 特に難しかったり複雑な事はないけど、configureでエラーがないかよく確認すること(C++コンパイラなど無いと叱られます)。darts.hが/usr/local/include/に格納されます。

■libiconv

$ wget ftp://core.ring.gr.jp/pub/GNU/libiconv/libiconv-1.13.1.tar.gz
$ gtar xvzf libiconv-1.13.1.tar.gz
$ cd libiconv-1.13.1
$ ./configure –with-libconv=/usr/local
$ make
$ make check
$ su
# make install

 ふつうです。ふつうにmake installまでやる。
 インストールが終わったら動作確認。

$ iconv -l | grep UTF
UTF-8
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7

■ChaSen

 いよいよChaSen。ダウンロードはSourceforgeからどうぞ。
http://sourceforge.jp/projects/chasen-legacy/

$ gtar xvzf chasen-2.4.4.tar.gz
$ ./configure –with-libiconv=/usr/local –with-darts=/usr/local/include –disable-shared
$ make
$ make check
$ su
# make install

■辞書(IPAdic)

 ipadicもSourceforgeからよろしくね。
http://sourceforge.jp/projects/ipadic/

$ gtar xvzf ipadic-2.7.0.tar.gz
$ cd ipadic-2.7.0
$ ./configure
$ make

 ChaSenはデフォルトのキャラセットがEUC-JPなので、インストール前に各種ファイルをUTF-8化しておく。
 変換対象となるファイルは、*.dicと*.cha。愛情をもってファイル毎にコマンドを叩いても良いが、数が多いのでバッチファイルか何かで処理するのがベター。
 以下手作業の場合。

$ nkf –utf8 Adj.dic > tmp.dic
$ mv tmp.dic Adj.dic
  :(.dicファイルあるだけ全部)
$ nkf –utf8 Others.dic > tmp.dic
$ mv tmp.dic Others.dic

$ nkf –utf8 cforms.cha > tmp.cha
$ mv tmp.cha cforms.cha
  :(.chaファイルあるだけ全部)
$ nkf –utf8 table.cha > tmp.cha
$ mv tmp.char table.cha

 変換が終わったら、以下のようにしてUTF-8の辞書をつくる。

$ make
$ `chasen-config –mkchadic`/makemat -i w
$ `chasen-config –mkchadic`/makeda -i w chadic *.dic
# su
# make install

 インストール後、chasenrcもUTF-8に変換しておくこと。

# cd /usr/local/etc
# nkf –utf8 chasenrc > tmp
# mv tmp chasenrc

 準備完了。
 さっそく使ってみる。なお、UTF-8で用いるためには、-i wオプションが必要なので忘れずに。

$ chasen -i w
本日もライブUSBで頑張っています。
本日    ホンジツ    本日    名詞-副詞可能       
も    モ    も    助詞-係助詞       
ライブ    ライブ    ライブ    名詞-一般       
U    ユー    U    記号-アルファベット       
S    エス    S    記号-アルファベット       
B    ビー    B    記号-アルファベット       
で    デ    で    助詞-格助詞-一般       
頑張っ    ガンバッ    頑張る    動詞-自立    五段・ラ行    連用タ接続
て    テ    て    助詞-接続助詞       
い    イ    いる    動詞-非自立    一段    連用形
ます    マス    ます    助動詞    特殊・マス    基本形
。    。    。    記号-句点       
EOS

OKだが、”USB”が単語として認識されていない。
なんとかなるはずだが今回はここまで。

マルコフ連鎖 in スタパクラウド

 スタパクラウドは形態素解析とマルコフ連鎖によって成立しています。
 『マルコフ連鎖』は、今回スタパクラウドを作成するにあたって始めて触れたのですが、これが非常に面白い。

 スタパクラウドに限って言えば、その面白さは作った本人ですら予想できない結果の意外性にあります。しかし、かといって荒唐無稽な文章でなく(場合によってはヒドいけど)、なんとなく正気を保っているような、そんなサジ加減とても愉快です。

 この前、マルコフ連鎖で音楽を生成できるんじゃないかな?と考えました。既にどなたか行っているかもしれない。既存の音楽(メロディ)を学習させれば、文章生成と同様に旋律生成を行えるはずです。
 音楽の事は詳しくないけれど、文章と同様に音やコードの並びにはセオリーがあると思うので、生成される旋律にはある程度の秩序が保たれるでしょう。そしてきっと、驚きと面白さを提供してくれる事でしょう。

スタパクラウド

 先日公開したスタパクラウド。たまに「スタパクラウド」でGoogle検索かけて、Googleのクローラが動的ページ(にせものスタパさんの記事)をだんだんとキャッシュしているのをただ黙って見てた。

 最初、「これで良いのだ」と楽観してたけど、冷静になって考えてみたら大問題で、慌ててGoogleに削除申請した(100ページくらい)。1日で全部消えた。良かった。

 スタパクラウドは、デタラメな文章を生成させて面白がるというコンセプトなんだけど、そのデタラメな文章がキャッシュされるとかなり問題だ。
 システムの性質上、実在する企業名や機種名、サービス名がそのまま文章中に登場し、その上、その文章で語られる内容は事実無根である可能性が非常に高い。この文章が検索で引っかかっちゃったりすると、名誉毀損的な問題にまで発展する可能性がある。
 今はもうキャッシュされない設定になっているので今後は大丈夫だと思うが、しばらくは小まめに検索かけて観察しようと思う。

 昨日はかなり慌てた。ほんと。