忍者ブログ
盛大な独り言日記・自分用メモ2010.11.17~
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

中間発表の形式:A3(横)を縦につなげてA2(縦)
要するにA2のポスターセッションだそうです。
A2はグラ研とかのプリンタじゃないと直接出力できないらしい。

内容とレイアウトをどうするか…です。
去年の卒展の展示とかの記憶だと、縦2分割のレイアウトにした方がそれっぽく見えそうな予感なので
それでいこうかなと思います。そういえば決まった書式とか無いのかな。本番じゃないからいいのだろうか。
内容は
・作るものの目標・何をしようと思っているのか・構想?
→不慣れな(初心者の)人のためのすごく優しいユーザーライクなヘルプつくるよ(^q^)
・そのために学んだことについて
→自然言語処理とか、形態素とか、マルコフ連鎖とかそういうのについて学んだことちょいちょい
→インターフェースのアクセシビリティについてもちょっと読んだ。書ける気はしない。
・今後どう進めていくか
→ユーザーに分かりやすい言葉がどのようなものか検討する。書き言葉を(検索に)適した言葉に書き換える仕組みを作る。(→慣れない人が使う言葉と、慣れている人が使う言葉の違いについて調べたり、2つをリンクさせたり)
→インターフェースとか、ヘルプ自体の使いやすさとか
→外部ディスプレイで動かす
・(参考文献?)

こんな風でいいのかな。大見出し3つみたいな…。
みんなはどういう事を書くのだろうか。
PR
インスタンス:クラスの中の、実際の値としてのデータ
例)「名前、身長、体重」というクラスがあるとすれば、そのインスタンスは「田中、175、65」
引数:関数に渡す方
ポインタ:変数のアドレスを記憶する変数。
int * point →int:変数の型 *:次の変数はポインタですよ!という意味 point:変数名
だからポインタ名はpoint単体であって、*pointではない。
point単体でポインタ変数をさす→住所代入する時はpoint=***
&:アドレス演算子
変数名の頭につけると、実際の値ではなく、データが格納されたアドレスの番号を示すことが出来る。
よくわからない例)変数(田中)さんちのアドレス(東京都)をポインタ(point)に代入する時は
point=&田中;
これでpointの中に東京都が入る

とかメモしていてもいずれ忘れる気がする。
MeCab/sdk内にあるサンプルファイルをbcc32でコンパイル→実行するときの注意事項
(参考:http://www.ie.u-ryukyu.ac.jp/~e035724/Unix/mecab-0.81/doc/libmecab.html)

・bcc32のlibファイルは他とちょっと違うので、コンパイルするときは作り直さないといけない。
・libはdllファイルから作り直す。dllのある場所で
 implib.exe /a /f libmecab.lib libmecab.dll
を実行するとdllファイルからlibファイルが生成される。
*このlibファイルは作成元のdllを必要とするので、とりあえず2つのファイルは同じ階層に入れておく!
*そのdllはシステムのパスが通っている場所(?)にある必要がある。
(パスが通っている場所の範囲がよくわからないのですが、exeのあるフォルダに入れておけばとりあえずだいじょうぶなようです。)

うまくいった時の状況メモまとめ---------------------------------------------
□コンパイルに必要なもの
・example.c
・libmecab.dll →example.cと同じフォルダへ
・libmecab.lib →libmecab.dllと同じフォルダへ。配布されたものを使うのではなく、
         自分でdllから作成したものを使う
・mecab.h    →example.cと別のフォルダに入れるときは実行時に場所を指定する。
         面倒なのでexampleと同じフォルダに入れる。
□example.cの書き換え場所
include→include"mecab.h"
最後のforループの手前の*dの定義→main最初の方、CHECK(mecab)のすぐ上へ
mecab=mecab_new2("");→手前にあるmecab_t *mecab;とくっつけた

□コンパイルの仕方
bcc32 -DDLL_IMPORT -I example.c libmecab.lib
mecab.hの場所がexampleと違う時は、-Iの後に「.\フォルダ名」をはさむ
□実行した結果
example.c内で指定した文字列を形態素解析して、何種類かの方法で結果表示した。とてもながい。
---------------------------------------------------------------------------

example.cを書き換えれば出力の方法が変えられる(はず)なので、
exampleで出力方法の変更を試しつつ、shioriからmecabを呼べるように書き換えを試みたいと思います。
最尤法が分かってること前提みたいな書き方がされている@wiki
統計学で、最尤法を用いて確率モデルのパラメータを推定する方法の一つだそうです。
観測不可能な、値も分布もよく分からない何か(潜在変数)に確立モデルが依存している場合に利用されるらしい。

確立モデルってなんぞ:対象となる物のあり得る全ての事象について確率を割り当てたもの?
さいころのでる目1~6全部とか、コインの裏表とかの全部に確立を割り当てたものが確立モデルらしいです。

EMアルゴリズムは反復法の一種で、英語で[E=期待値、M=最大化]を指す。
この期待値のパートと最大化のパートを交互に繰り返すことで計算が進行する。
Eステップ:現在推定されている潜在変数の分布に基づいて、モデルの尤度の期待値を計算する。
Mステップ:Eステップで求まった尤度の期待値を最大化するようなパラメータを求める。ここで最尤推定法なんだろうか…。
Mステップで求まったパラメータは、次のEステップで使われる潜在変数の分布を決定するために用いられる。
なのでMステップ終わったらまたEステップに戻って繰り返す。

何を書いているのか分からなくなってきた。
潜在変数があると普通の方法で確立モデルのパラメータ(θ)の最尤推定値を求めるのにすごい量の計算と時間が必要になるので、この反復方法で最尤推定値を見つけるらしい。
確率とか統計での、ある状況で一番尤もらしい事象やデータを推定する方法。
確率は「この前提条件で結果がAになる確率はどれくらいか」を調べるのに対し、
尤度は「この観察結果Aが得られた時、前提条件がどうだと尤もらしく事象を説明できるか」を推定するそう…です…。
lik(θ)=fD(x1,x2,....,xn | θ)
x1~xnがn回行った観察の結果(定数)で、θが母数(変数)
母数θが一定の範囲の値をとる時、lik(θ)が最大になるθの値が最尤推定量になる。
この時のθが一番尤もらしい説明が出来る値になるということ。

最尤推定法は人工無能が自分で学習する時に用いられるそうです。
この推定法の記事を読んだ感じだと、「この単語が来た時はこう返すのが尤もらしいはず」とかそういう風に使うのかな。
人間と会話しながらの学習だと、AIのある発言に対しての人間の返答のデータを集めて、
逆に同じ内容のことをきかれたときに、それっぽい返答をするために集めたデータの中から
最尤推定量の応えを返すとかそういう事が出来るのかな。と思いました。
まだwikiしか読んでないけど、どこかにプログラムとか載ってるかもしれないのでいざ使う段になったらもっと調べてみます。
とりあえずあとemアルゴリズムとLシステムについてみてみる。
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9
プロフィール
 たごさく(@Ta56)
カレンダー
04 2025/05 06
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 31
最新CM
最新記事
最新TB
バーコード
ブログ内検索
最古記事
Admin / Write
忍者ブログ [PR]