SSブログ

一週間に一回Rubyプログラミングねた3ー人工無脳(茶筌インスコ) [プログラミング]

今回もRubyの人工無脳の本を見ていきます。今度は最後まできちんと読むぞ、と。

恋するプログラム―Rubyでつくる人工無脳

恋するプログラム―Rubyでつくる人工無脳

  • 作者: 秋山 智俊
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売日: 2005/04
  • メディア: 単行本(ソフトカバー)



何はともあれ、前回実行できるようになったので、更に実行状態が上手くいくように加工していく事になると思う。

 
読み終わったら、こういう堅めの本も読もうかなと思ってはいる。その前にググっていろいろ知識を入れておいた方が良いかな。

はじめてのAIプログラミング―C言語で作る人工知能と人工無能

はじめてのAIプログラミング―C言語で作る人工知能と人工無能

  • 作者: 小高 知宏
  • 出版社/メーカー: オーム社
  • 発売日: 2006/10
  • メディア: 単行本



自然言語処理ことはじめ―言葉を覚え会話のできるコンピュータ

自然言語処理ことはじめ―言葉を覚え会話のできるコンピュータ

  • 作者: 荒木 健治
  • 出版社/メーカー: 森北出版
  • 発売日: 2004/06/12
  • メディア: 単行本



人工知能概論 第2版 ―コンピュータ知能からWeb知能まで

人工知能概論 第2版 ―コンピュータ知能からWeb知能まで

  • 作者: 荒屋 真二
  • 出版社/メーカー: 共立出版
  • 発売日: 2004/10/10
  • メディア: 単行本





昔、初代プレイステーションで、どこでもいっしょという簡易AIが搭載されたソフトがありました。

 http://www.jp.playstation.com/dokodemoissyo/index.html

言葉を覚えさせて、文の雛形にその言葉をぶち込んで、話をさせるというのがゲームの趣旨でした。最悪なことに、途中でキャラクターが去ってしまい、それでゲームが終わりというなんとも寂しいものでした。途中で帰ってきたりする場合もあったみたいですが、入れ込んだデータを飛ばされる感じがして、何でそんなソフトに仕上げたのかなと思ったものでした。キャラが去ってしまうって、RPGだったらバッテリーバックアップが飛んだのと大して違いはないですよ。

少なくとも、言葉を覚えさせることに関しては、簡単にしたい気持ちはあります。今だといくらでもWebからインプットできるので、〇〇って何?という事までは、RSSリーダーから取ってもいいし、Webをクロールしてもいい。単語を切り分ける技術と、それをストアして頻度をカウントしてピックアップしていけばいい。

って基本方針はできているんだけど、どうやってコードに落としこむかが問題なんだよね。大筋が決定する前は本に沿ってソースコードを動かしていくことにします。参考にしたのは以下の書籍。


恋するプログラム―Rubyでつくる人工無脳

恋するプログラム―Rubyでつくる人工無脳

  • 作者: 秋山 智俊
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売日: 2005/04
  • メディア: 単行本(ソフトカバー)



ってこれはさっき貼ったか。基本、Mac上で動かそうとしているので、昔のソースをMacで動かすという事を同時にやっとります。そのため、ちょっとごちゃごちゃしがち。


前回は先頭行の#!の部分をutf-8用に変えて、UTF-8とLFの改行に変更したのでした。それでプロトタイプのソースはエラーが出ずに動いていたので、とりあえずはそのまま進もうという事になったのでした。


人工知能はビッグデータなどに応用されて使われているらしいけど、インターフェイスとしての人工知能は発達しているとは思えません。iOSのSiriにしてもある程度中の人が答えの雛形を作っていたらしいし、対話ということの難しさを感じます。

客への対応がマニュアルで出来ている以上、ある程度の条件が前提とされている場合は、雛形に単語を入れ込んで文にしていけばいいでしょう。言語の習得にしても、実際の脳の中では決まり文句的にある程度の長いセンテンスを覚えていて、それを場合によって応用していくような感じだというのをどこかで見た気がします。



まずMacで使えるようにしなくてはならないのは、chasen。茶筌とか漢字で書かれても読めないよw。茶筅という別の漢字もあるしね。竹でシャカシャカ抹茶たてるやつだよね、たぶん。

 http://chasen.naist.jp/hiki/ChaSen/
 http://chasen-legacy.sourceforge.jp/

辞書は別で、ipadicだかunidicだかが必要らしい。ソースを取ってきてunidicを./configure && makeしてみたけど、
configure: error: mecab-config required

とか言われて知らねーよという感じ。HomeBrewにmecab関連があったので
brew install mecab-ipadic mecab-unidic

で入れてみる。使えるのかな? そもそもmecabって何だよって話なんだが。今はめんどいからあえて調べない。




やっぱりchasen本体からコンパイルして問題が出てきたら随時追加する事にした。当然、HomeBrewにはdartsとかchasenとかは入ってない。それだけ一般的なものではないってことですね。

 http://chasen.org/~taku/software/darts/

./configure && make && make check && make install

一気にやっちゃったけど、大丈夫っしょ。iconvは元々入ってるからいいか。

解凍して、そのディレクトリに移動して、本体をコンパイル。
./configure && make && make check && make install

基本は大体皆同じ。make checkはする必要はないかもだけど。解凍するにもコマンドを打たなくていいMacはやっぱり楽でいいなぁ。一応GUIな世代なもんで。
$ chasen
chasen: can't open chasenrc or /usr/local/etc/chasenrc

エラーは出るけど一応入ってはいるようだ。茶筌の使い方がよく分からない。というか、調べようとしてないだけかw。基本の使い方はもちろん、人工無脳的にはどうやって使っているのかが分かってないな。プラットフォームの違いっては、ソースコードさえあれば何とか乗り越えていけるもんですよね。

コンパイルはできたので、次は茶筌の使い方になると思う。そしてmecab関係で入れたのが連携して動くかどうかが問題だと思う。結局、最近ではmecab関連でしか手に入れられなさげ。まぁ細かく探したわけじゃないですが。とりあえず、Windows上で動かせていたように、Macでも動くようになるまではやるつもり。って、全然Rubyにまで辿り着かないんですけど、あと数回したらRubyのソースを書けるようになると思います。

タグ:Ruby
コメント(1) 
共通テーマ:資格・学び

コメント 1

miff

どうもです。
by miff (2014-01-15 16:57)