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

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

カテゴリごとにテキストファイルを用意して読むようにしたのですが、
入力文を入れてから返事が返ってくるまでにすごい時間がかかる。

入力

形態素解析をヤフーから借りてごにょごにょ

訓練ファイルを3つ全て読み込んで分類→カテゴリ分け

該当するカテゴリの訓練ファイルを、今度は一行ずつ分類
→回答用ファイルを読み込んで、一番質問に近かった内容に対する回答を表示

出力

今はみたいな流れ

訓練ファイルを二回使っているから、これをどうにかしたら少し早くなるだろうか。
後は精度が…全画面表示したいっていうとデスクトップのサイズを確認する方法を教えてくる(´・ω・`)
PR
家帰ってから作業する時のためのメモ

テキストファイルは1つのカテゴリに対し、
・訓練文章(質問の記事判断材料)のみ記述したファイル question
・返答文(解決方法や対応する操作の説明)を記述したファイル answer
の2つを用意する。
この2つのファイルの、訓練文章の内容と回答文の行数を対応させる。
question.txt            answer.txt
01:全画面表示・フルスクリーン……  01: 【F11】キーです。
02:画面を最新の情報に更新したい…… 02:【F5】キーです。



で、訓練パートにforループで(question.split('\n')[i]、answer('\n')[i])ってしとけば
questionで一番それっぽかった時の対応するanswerを表示に持ってこれそう

あと、forループを使っていたときに、範囲内の行数に何も書いていない行が含まれると
キーエラーが出たので、空の改行はしないように気をつける。見にくいけど。
#とか、適当な記号を入れて改行とかならいいのかもしれない。
pythonでのforループ

for i in range(x):
 print data.split('\n')[i]

range(x)のxに回数を入れる。
c言語のように括弧で囲わない代わりに、forループ内の処理は
頭にスペースなりタブなりを入れて字下げすればよい。

だから他の場所で字下げとかすると変な処理しようとしてエラーになることがあるので注意
テキストファイルを読み込んだりしたいとき

test = codecs.open('shortcut.txt', 'r', 'utf-8') #文字コードを指定してファイルを開く

data = test.read() # ファイルを最後まで読み、全部dataの中に入れる。

#テキストファイルの中身を全部表示#
print data

#テキストファイルの中の任意の行を表示例は6行目#
print data.split('\n')[5]


win.close() #ファイル閉じる
ベイジアンフィルタのプログラムは骨組みだけ完成して、
exeファイルへ変換もしたものも、コマンドプロンプト上だと正常に動いた。
ただ、伺かから呼びだすと動作しない。

自分が送った引数を表示し直すことはできるけど、なぜかそれを解析した結果とか、
テストのためにpython内に書いた標準出力の文章とかが全部スル―される。
文字コードの問題なのかな。同じ標準出力でも、引数で渡した文字は何ともなく表示されるしなあ。
色々文字コードいじる前とかいじった後とかテストプリント書いてみるけど、なかなか原因が分からない…

でもこんな組み合わせて時間取られるのもあれなので、伺かで動かすことは忘れてベイジアンフィルタでうごくヘルプをとりあえず作ろうかと思う。π損怖いけど。文字コードが。。
[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8
プロフィール
 たごさく(@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]