盛大な独り言日記・自分用メモ2010.11.17~
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
カテゴリごとにテキストファイルを用意して読むようにしたのですが、
入力文を入れてから返事が返ってくるまでにすごい時間がかかる。
入力
↓
形態素解析をヤフーから借りてごにょごにょ
↓
訓練ファイルを3つ全て読み込んで分類→カテゴリ分け
↓
該当するカテゴリの訓練ファイルを、今度は一行ずつ分類
→回答用ファイルを読み込んで、一番質問に近かった内容に対する回答を表示
↓
出力
今はみたいな流れ
訓練ファイルを二回使っているから、これをどうにかしたら少し早くなるだろうか。
後は精度が…全画面表示したいっていうとデスクトップのサイズを確認する方法を教えてくる(´・ω・`)
入力文を入れてから返事が返ってくるまでにすごい時間がかかる。
入力
↓
形態素解析をヤフーから借りてごにょごにょ
↓
訓練ファイルを3つ全て読み込んで分類→カテゴリ分け
↓
該当するカテゴリの訓練ファイルを、今度は一行ずつ分類
→回答用ファイルを読み込んで、一番質問に近かった内容に対する回答を表示
↓
出力
今はみたいな流れ
訓練ファイルを二回使っているから、これをどうにかしたら少し早くなるだろうか。
後は精度が…全画面表示したいっていうとデスクトップのサイズを確認する方法を教えてくる(´・ω・`)
PR
ベイジアンフィルタのプログラムは骨組みだけ完成して、
exeファイルへ変換もしたものも、コマンドプロンプト上だと正常に動いた。
ただ、伺かから呼びだすと動作しない。
自分が送った引数を表示し直すことはできるけど、なぜかそれを解析した結果とか、
テストのためにpython内に書いた標準出力の文章とかが全部スル―される。
文字コードの問題なのかな。同じ標準出力でも、引数で渡した文字は何ともなく表示されるしなあ。
色々文字コードいじる前とかいじった後とかテストプリント書いてみるけど、なかなか原因が分からない…
でもこんな組み合わせて時間取られるのもあれなので、伺かで動かすことは忘れてベイジアンフィルタでうごくヘルプをとりあえず作ろうかと思う。π損怖いけど。文字コードが。。
exeファイルへ変換もしたものも、コマンドプロンプト上だと正常に動いた。
ただ、伺かから呼びだすと動作しない。
自分が送った引数を表示し直すことはできるけど、なぜかそれを解析した結果とか、
テストのためにpython内に書いた標準出力の文章とかが全部スル―される。
文字コードの問題なのかな。同じ標準出力でも、引数で渡した文字は何ともなく表示されるしなあ。
色々文字コードいじる前とかいじった後とかテストプリント書いてみるけど、なかなか原因が分からない…
でもこんな組み合わせて時間取られるのもあれなので、伺かで動かすことは忘れてベイジアンフィルタでうごくヘルプをとりあえず作ろうかと思う。π損怖いけど。文字コードが。。
文字コードのこと色々
windows標準の文字コードはcp932だけど
pythonは基本的にunicodeで正常に動作する。
特に日本語文字列を使う場合は文字コードをunicodeに変換しないと文字化けしたりエラーが起こったりする。
スクリプトの中であらかじめ変換しておける時は、文字列の前にuをつければいい
str="ぱいそん" → str=u"ぱいそん"
後から文字列を入力→入力内容を取得してごにょごにょしたい時は、
str = unicode(文字列の変数名,'文字列の元の文字コード')
と書けばstrに、unicode変換した文字列が入る。
windows標準の文字コードはcp932だけど
pythonは基本的にunicodeで正常に動作する。
特に日本語文字列を使う場合は文字コードをunicodeに変換しないと文字化けしたりエラーが起こったりする。
スクリプトの中であらかじめ変換しておける時は、文字列の前にuをつければいい
str="ぱいそん" → str=u"ぱいそん"
後から文字列を入力→入力内容を取得してごにょごにょしたい時は、
str = unicode(文字列の変数名,'文字列の元の文字コード')
と書けばstrに、unicode変換した文字列が入る。
pyファイルで米事案のサンプルいじったら動いた。これで都道府県あてゲームとかできそうですね。
当てるのプログラムの側だけど…
それをさっそくpy2exeでexeに変換してみましたが、やっぱりただ変換するだけじゃ動かなかったです
sys.argvとかargcとかの表示まではできたけど、それ以降の解析を使ったりとか元のプログラムの機能を呼び出せずに固まる。
BeautifulSoupとか何も考えずに入れてみたけど、それとの連携がうまくいってないような。
とりあえず次やるときはのこりのpyファイルも全部exeにして見たりして試す。
全部じゃなくてもあのmorなんとかだけでも…。
当てるのプログラムの側だけど…
それをさっそくpy2exeでexeに変換してみましたが、やっぱりただ変換するだけじゃ動かなかったです
sys.argvとかargcとかの表示まではできたけど、それ以降の解析を使ったりとか元のプログラムの機能を呼び出せずに固まる。
BeautifulSoupとか何も考えずに入れてみたけど、それとの連携がうまくいってないような。
とりあえず次やるときはのこりのpyファイルも全部exeにして見たりして試す。
全部じゃなくてもあのmorなんとかだけでも…。
文字列の受け渡し方法。
EXEファイルのソース(.c):
void main(int argc, char * argv[]) {
printf("%d",argc); ....伺かから渡した数値データを表示
printf("%s",argv[1]); ....伺かから渡した文字列データを表示
}
伺かからこのEXEを呼びだすとき、伺かから渡す物は、数値はargc,文字列はargvの[1]に入る。というか入ってた。
[0]にはexeファイルが入っている階層の情報が入ってた。[2][3]は試したけど空。
引数の所にポインタがあるとどうなるとかよくわかってないけどとりあえず動いたから今はもう考えないぞ…!
これで単純な受け渡しが出来た!のでまためかぶを使ったプログラムで受け渡しを確認する。
同じ事がπ損で出来るかも試す。そしたらフィルタも使えるだろうか。
あ、あとproxy.dllとexeファイルは階層をそろえた方がいいかもしれない。
今のところkisと同じ階層にsaoriフォルダを作って、その中にexeもproxyもまとめて入れている。
EXEファイルのソース(.c):
void main(int argc, char * argv[]) {
printf("%d",argc); ....伺かから渡した数値データを表示
printf("%s",argv[1]); ....伺かから渡した文字列データを表示
}
伺かからこのEXEを呼びだすとき、伺かから渡す物は、数値はargc,文字列はargvの[1]に入る。というか入ってた。
[0]にはexeファイルが入っている階層の情報が入ってた。[2][3]は試したけど空。
引数の所にポインタがあるとどうなるとかよくわかってないけどとりあえず動いたから今はもう考えないぞ…!
これで単純な受け渡しが出来た!のでまためかぶを使ったプログラムで受け渡しを確認する。
同じ事がπ損で出来るかも試す。そしたらフィルタも使えるだろうか。
あ、あとproxy.dllとexeファイルは階層をそろえた方がいいかもしれない。
今のところkisと同じ階層にsaoriフォルダを作って、その中にexeもproxyもまとめて入れている。