現代魔法を操る世界


by kagurayouyou
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
【本】
ヒビキのマホウ (2)
麻枝 准 / / 角川書店
ISBN : 4047138665
スコア選択: ※※※※


なかなか心温まるお話ばかりでお腹いっぱいになると思いきや、
まったくそんなことがなくホンワカします。
テンポや歯切れがいいからでしょうか。
そこらへんスゲェという感じです。
ただKanonなどのようにガツーンと感動するほどでもないです。
(Kanonが異常なのかな)
京アニ版Kanonの佐祐理さんルートがやっぱり感動。
姉弟を大切に思う人は泣ける。
(実際に大切にしているかは別かな)
駄目押しをするならば、ストーリが一本にはまとまっていないところですね。
ただコンセプトがそうなのかもしれませんが、
ヒビキの日常と言う感じです。
そのように書かれているのならば、まさしくこの方法は的を射ています。
しかし何も大きなことが起こらないので、冒険さやファンタジーさが無いような気がします。
なにはともわれ、良い1冊です。
[PR]
# by kagurayouyou | 2007-01-07 19:25 |

C#でのプログラム

【人工知能・無脳】
GhostとShellの概念を取り入れているとどうしてもスレッドを交差してしまうことが多い。
まあ、単一のMAINからは派生しているけれども独立なものであるという概念の元から、
意味のない通信も多い
(つまりShellで条件文を書き足せばよいのにわざわざGhostにさせるので文が多くなる)
最初は整理されて書けるかもしれないと思ったが、煩雑になっただけで
これ以上関数を増やしてしまうと厄介なことになってしまうかもしれない。

と悩んでいるのだが、これはShellとGhostを一つのEXEとして作っているから
そうなるのである。なので本来ShellとGhostが別々に点在する場合、
これはしょうがないことなので、煩雑という考えはなくなる。
と言うのもの別々に分けると一つのMAINの流れに返したりできるので
スレッドの使い方が楽になるのだ。
その考えで行くとそもそもShellとGhostを同一EXEで動かす意味がどこにあるかが
疑問になってくる。
まあメモリ共有とかだったら別な話だが、今のプログラミング方法は、
中でShellとGhostで完全にデータ交換し合う仲なのでメモリも共有していない。
(一部スレッド化するのがめんどーで直接static publicとしてグローバルにしたりもする)
これは意味がないと最近感じ始めてきた。
なので単一的にShellとGhostを組み合わせようかと思う。
この概念は脊髄反射というか、体が覚えていると言う感じみたいな概念になる。

で一方スタンドアローンでShellが動いている環境ならば、Ghostも動かないっていう
環境はないだろう。
もしあったとしてもShell-Ghost間通信に必要なTCP・UDPを完全にオフにするとか
(ありえるのか?)
そのくらいしないと駄目なのではないかと思ってきた。
ただ最近はFWもきつそうだし、やっぱりスタンドアローンの場合は一つにまとめた方が
何かと便利なのかもしれない。

一応一つのEXEで可能なように設計。

また生成文を考えているとどうしてもルールベースオンリーになってしまう。
NNで連想した言葉をGPで組み合わせ、評価をルールベースという感じに今考えているが、
ルールベースは高コストだ。
私は今解析を専門(と言っても学生レベル)にしているので
生成の論文はほとんど読んでいない。そろそろ論文を書き始めなければならないので、
忙しくなる嫌だなぁ。

【プログラミング】
Vista標準のプログラム言語がC#と聞いたが、それならば私にとって嬉しい。
(たぶんかなり遅い情報)
しかし組み込みは未だにアセンブラやC++の世界なのだろうなぁ。
面白いのがモバイル用のOSにもC#らしいのが嬉しい。

本にVB.netが初心者には簡単だという講座が載っていたが本当だろうか?
VBは.netではほぼやっていないし最近はだいぶ離れていたのでぜんぜん分からないが、
少なくともC#とあまり変わらないのではないかと思う。
なので発展系を作る場合VBは使いにくいので最初からC#に慣れておくと便利。
という図式になるのではないのか?
まあ私も簡単だと言われC#がない時代にはVBだったがC#が便利
Cを覚えるとC#がかなり便利に使えるので現在VCだが、
C#あればC#でよかった気がする。
[PR]
# by kagurayouyou | 2006-12-24 17:26

ユニークな再帰的辞書

【人工知能・無脳】
人工無脳だろうが人工知能だろうが、どうしても辞書が必要になる。
それはもちろん通常の辞書と同じ価値であると思うけど、
通常の辞書とは違い再帰的にユニークな番号を振るとか、
そのまま登録順で番号を振るとかがある。
どのような固有番号辞書が良いだろうか?
登録順のメリットはもちろん他のシステムとの整合性です。
どんな文字列でも数値化するのですからその対応表が必要です。
それすらも書き換える必要があるので、再帰的に振る場合かなりの時間が必要になります。
では再帰的の場合のメリットは何でしょうか、
たぶん人間がデバックする時の作業などかもしれません。
同じものを登録したかどうかを検索しやすくするためにはシーケンシャルの方法が
主なわけで、INDEXを点けるためにはどうしても文字コード順などにしておかなければ、
全検索しなければなりません。
その場合結局再帰的に登録しなければなりませんので登録順ではない方が良い
と思います。

と考えたところで実際組んでみないとどのくらい再帰的処理に時間がかかるのか、
そういうのは計算量を出してもCPUやメモリによってだいぶ速度が変わります。
実際私は数万ベクトルを読み込むのでもかなり時間がかかるだろうと思っていたのですが、
数十秒程度とそうでもありません。
最近のパソコンは恐ろしく速いです。
まあ、メモリが一番足りないですね。一度ディスクに書き出せば良いのですが、
一気に遅くなってしまうのでなかなか難しいです。

なので今のところは登録順IDと再帰的IDの両方を振ると言うことで
少し一段落した今作ってみることにします。
[PR]
# by kagurayouyou | 2006-12-17 17:25

文章生成のための解析

【人工知能・無脳】
文章生成後の評価を考えているのですが、
どういうルールで行えばよいのかさっぱりです。

私は主に解析や機械学習などの方が専門に近いので生成はほぼ知らないと言っていい
状態で以下素人すぎる論理ですが、メモ程度に書きます。

現在は形態素解析、構文解析、意味解析の3つが主な解析だと思います。
必要なのは線形的な状態で評価できるというのが良くあると思います。
現在私が考えているのが、複雑な組み合わせである日本語にでも、
巨視的に見れば法則があるのではないか?という疑問です。
現在作っている暇は無いのが残念ですが、形態素、構文、意味、の3種も一つの
形態素に合わされば固有の法則が産まれないかということですね。
と言っても解析の精度が追いついていない状態で、絶対値の評価となるルールを
作ることはなかなか難しいですね。

研究の方ですが、なんか無事に終わりそうです。すごく適当ですが。

【コンピュータ】
本来二つの項目は書かないつもりですが、フォントの話なので今回は異例。
VistaのBusinessを入れました。
日本語にもアンチエイリアスがかかると聞いて楽しみにしていたのですが、
それほどきれいではなく、メイリオが悪いのか、それともヒラギノでないとだめなのか、
そこらへんはまだ触っている途中ですので分かりませんが、
このままならVistaはまだ本腰を入れて動かしづらいですね。
PenD 3.0GHz、PC4200 1GB、GeForce6600GT(256MB)で最低4.2の
スコアが出るので、3DゲームができるPCであれば十分動かせるでしょう。
[PR]
# by kagurayouyou | 2006-12-09 21:54 | 日記

言語獲得における考察

【人工知能・無脳】
NL176に行ってきました。
それは一応mixiにのっけてます。
ここにコピっても良いんだけど、あくまでも感想程度でよく読んでいないので、
恥ずかしくて書けません。
まあmixiで探していただければすぐに見つかります。

で今回は未知の言葉の学習に関する考察。
NL176でも多いですが、形態素や係り受けの基本については
未だに研究されても古くはありません。
と言うのもここが精度よくなければ次にいけませんからね。
たった1パーセントだとしても100万語もあれば1万語も分からない状態です。
これって結構でかいですよね。

で本題。
結構WEBを形態素の場合未知種類に分けられる場合が多いです。
と言うのも専門用語や造語がかなり多いのです。
例えば今ちょっと気になったH2O(ゲーム)での「イヤッフー」。
こういうのを人間は自然と繰り返し特定の個人が、一定の条件下で使用されている場合、
挨拶として認識できます。
または「ヤッホー」からの変形というのを推測できます。
まあ正解としては挨拶だとは思います。

じゃあ、これをどうやって学ばされるか。
その言語獲得と言うのもなかなか研究されていません。
辞書頼りですね。なぜかと言うと難しいのもありますが、正確だからです。
下手に不正確なものを入れても余計不安定になりうるからです。
そのためコーパスもなかなか幅広く手に入れることができません。

ではどういう風に言語獲得していくか。
が問題なのですが、言語獲得関係の論文はまだ全然読んでませんので単純思考。

・前後の形態素のパターン。
・独自の言語ルール。
(例えば、イヤッフーだったら挨拶と同じに使用されるわけで、BLOGで言えば、
文の書き始めや、文の頭に書かれているなど)
(ただしこれが莫大にパターンを作らなくてはいけなくて難しそう)
・わざとひねった使い方を学習しない。
(だじゃれなどの意味のない文から学習した場合、間違った使い方を覚えてしまう。
ではそれを推測しなければならない)

まあ、こういう風にしておくことで言語獲得できればもっとコーパスの幅が広がるのでは
ないかと思います。コーパスがいつまでたっても人手で収集すると言うのは、
ソフトウェアを未だに人手で作っているのと同じくらいですからね。
難しいとは思いますが、精度は上げていかないと。
[PR]
# by kagurayouyou | 2006-11-26 21:24
【本】
零崎軋識かっこ悪いちや。

零崎軋識の人間ノック
西尾 維新 竹 / 講談社
ISBN : 4061825097
スコア選択: ※※※

私的感想。
どうなんでしょう。不思議です。
零崎軋識の活躍どころって言うのが見当たりません。
人識の才能に驚嘆し、てる子さんに負け、人類最強に助けられた。
これだけの事実を並べると零崎軋識は弱い者、というより恐れられているほどではない
と言うことが浮かび上がりそうです。
がしかし、零崎一族で最も公式に長く生き延びたのが零崎軋識。
中途半端にも力が強く、そして運が強かった。
萩原子荻の言うとおりトーナメントです。
最後に残ったものの勝ちです。
まあ、それを言うなら結局殺されてしまう零崎軋識も負けかもしれませんが、
零崎一族の中で一番最強ってことの証明って言うことで。

しいて言うなら今回の私の感想の一番は、物語の隠れた部分の紹介であり、
それを知ることによって知識探求に応えられたということ。

玖渚友のハーレムっぷりが書かれていて良かったです。ある意味全くの別人ですね。

と全く関係ありませんが、私の本の感想と言うのは読んだ人にしかわからず、
キーワードをいくつか繋げて推測から成り立つ作者の意図の一つを出力する文ですね。
なのでこの感想を読んで、この本を読みたくなったとか
そんなことは全く持ってないと思います。
逆に言えば物語を読みつくして自分なりの考えを持っていたが、
そんな読み方もあったのかと思っていただければ幸いです。
[PR]
# by kagurayouyou | 2006-11-18 11:33 |

SVM比較の感想1

【コンピュータ】
IE7を入れてみました。
アルファベットや数字がアンチエイリアスされていて気持ち悪い。
切ってしまうか、日本語もClearType対応のものにするか迷う。

【研究】
SVM lightとlibSVMとTinySVMの比較実験。
データはlibSVMのサイトにあるDataSet。
結構手間がかかるので、まだやり足りない部分があるのですが、
一応いくつかやってみたときの感想。

機種としてはPen3 866MHz。Mem 512MB。OS SUSE Linux 10.0。
あと設定として二次の多項式です。

どうもScalingした後のlibSVMは精度は良くなるが、かなり時間がかかる。
しない場合はたまに精度が良くなるけれども、全体的には悪い。悪すぎるときもある。
SVM lightは逆にScaling後のlibSVMよりは速い。
そして精度もそこそこ。
特筆すべきなのがTinySVM。速いときは速く、精度もかなり良い。
しかし時たま異常に遅い。
例えばa9aのデータでTinySVMは学習に7時間かかっている。
SVM lightで30分なのに。
精度としても85.07%に対し、83.89%という感じ。

かと言えば、w8aのデータで学習light 10分に対し9分で、
分類が1分30秒に対し、0.668秒という異常な速さ。
しかも精度が98.8%に対し99.7%という恐ろしさ。

唯一見比べていえるのが、TinySVMの分類の速さ。常に速いです。
そういえばSVがどれくらいになったかは見ていないですね。
そこら辺を見ながらやるしかないです。
感になるのですがSVが多い方が良いのかもしれません。
というのもの多ければ多いほど距離が測れるので。
その無駄な距離を求めないために学習があるのだと思います。
というかこれを学習と呼ぶのかというのはうちの教授の意見で、
NNなどの学習とは違う気がします。

TinySVMの参考論文を見るとJoachimsさんの文献を読んでいるので、
SVM lightと同じかと思いきやlibSVMと同じようなSMOの形をしているので、
まったくその通りではない気がします。
C++とCの違いか??
たぶんそこら辺に鍵があると思うのですが、
3種のSVMをソースを比較しながら、論文を比較しながらというものは大変で、
そろそろ新案を加えてやってみないと発表に間に合いませんので、
いったんココで重点を置き換えます。

ちなみにIEEE、
TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,
VOL. 27, No. 4, APRIL 2005
「Fast SVM Training Algorithm with Decomposition
on Very Large Data Sets」
にSVM light(ver 5.0)とlibSVM(ver 2.4)とSVMTorch2のTrainig Timeの比較が
載っていますが、通常時SVM lightの方が2倍速いですね。
SVMTorch2はもっと速いですが。
ここで不思議だと思われる方が多いと思います。(いや多くないかも)

libSVMはSVMlightの改良型でFastだと言うはずなのに、
全然Fastではありませんね。
これは多分Scalingしない場合Fastと言っているのかと私は思っています。
[PR]
# by kagurayouyou | 2006-11-03 12:22 | コンピュータ
【プログラミング】
PostgreSQLをインストールし、管理ツールとしてpgAdminIIIを入れました。
しかしネットからアクセスしたり、メンバーの意味とかにいくつか手間取っている状態です。

少し使ってみましたが、なかなかGUIでもめんどくさいです。
最低限のSQLコマンドで作ることができますが、CUIの方が楽そう。
修正や見ることに対してはGUIの方が便利ですね。

初めて使って思ったのが、まず型が多い。
CHAR、INT、DOUBLEは当たり前。TEXTなどが新たにあります。
列の追加などが簡単にできると言えばできますが、
多少はめんどくさいですね。主キーなどの型変更をしたい場合など。
なのでスキーマは熟考した方が良いと思います。
[PR]
# by kagurayouyou | 2006-10-29 09:38 | プログラミング

SVM比較をしなければ。

【人工知能・無脳】
TinySVM,libSVM,SVMlight。
これを詳しく比較したデータが見つかりません。
と言うより、SVMのソフトの検証を論文ではしていないものが多いのだが、
どこかで証明は取れているのだろうか?
私の場合、精度がソフトによって変わるのだけど。。。
誰か知っていらっしゃる方がいたら教えてください。

しかしTinySVMは結構秀逸。
なのに広まらないのは日本産のせいか、機能が少ないからか。。。

最近実験と調査もしくはプログラミングばかりしていて、人工知能が作れない。
大きなベクトルの向きは同じだが、研究はすごく地道で細かい。

SQLの方を今週末に少しやりたいと思います。
[PR]
# by kagurayouyou | 2006-10-27 22:51 | 日記

ケータイ音楽

【コンピュータ】
NW-S705F(黒)を買いました。
・いつもPCを聞いているせいか、低重音に張りがあり、
高音に伸びがある。

・SONYは低重音に強いせいか、フラットの状態でも
低重音が効いている。

・付属のイヤホンはイヤホンの役目しか果たせないので残念。
ヘッドホンで聞くより音がきれいに聞こえない。
(当たり前だが)
着け心地とかは普通のイヤホン。

・ジャケット表示ができることを少し売りにしていたけど、
画面がそもそも小さいので認識しにくい。

・NW-S7xxFシリーズのみか分からないけどイコライザが
クイックでフラット、設定1、設定2と選べ、
ユーザの5バンドイコライザが二つ記憶できる。
プリセットには高音を重視したのがuniqueしかない。
私は高音が好きなので、このイコライザは貴重。
しかしイコライザによって結構音が変わるので、
曲一つ一つに設定できた方が嬉しい。

・電源は切れない。つまり停止状態で有機ELが消えて終わり。
それでもほとんど電力消費は無いらしい。

・SonicStageを使ってみて、、、まあなかなかですね。
iTunesのようにシンプルじゃないけど、そこまで悪くはありません。
[PR]
# by kagurayouyou | 2006-10-22 22:24 | 日記