BBS の改良
チャットと掲示板を融合したような環境を作りたいなと。ご意見くだされ。
↪ 新規投稿する
86 owa #e8faefa 2008/06/16 22:32 prob:0.0%
SpamBayes データベース作成 bbs のエントリと mail ではスパム情報が大分違います。 うまく判定してくれないこともあるので新規に作成することにした。 果たして、判別結果は(今のところ)恐ろしいほど的確です;; 下記プログラムは PostgreSQL に保存してある BBS 記事を取り出し、 SpamBayes データベースを作成します。 #! /usr/bin/env python import os import psycopg from spambayes import storage from unicodeblock_tokenizer import tokenize # 適当なスプリッタ def bbsEntries(cond): conn = psycopg.connect('dbname=bbs user=zope host=localhost') curs = conn.cursor() curs.execute("SELECT * FROM chatsubtb WHERE %s" % (cond,)) rows = curs.fetchall() for r0, r1, r2, name, mail, comm, r6, r7 in rows: yield 'X-NAME:%s X-MAIL:%s %s' % (name, mail, comm) conn.close() def train(cond, is_spam=False): path = os.path.expanduser('./hammiedb') # 作成する DB へのパス bayes = storage.open_storage(path, 'dbm', 'w') for s in bbsEntries(cond): s = unicode(s, 'utf-8') bayes.learn(tokenize(s), is_spam) # データベースに教え込む bayes = None if __name__ == '__main__': train('mid<=900', is_spam=False) # 900番以下は通常の記事 train('mid>=997 and mid<=999', is_spam=True) # 99{7,8,9} はスパムが保存されている
85 owa #e8faefa 2008/06/15 23:02 prob:0.0%
コメントスパムうざい SpamBayes を利用して簡単にフィルタリング出来ないかな? と、試してみると普通のテキストでも使える。さて効果あるかしら ------------------------------------------------------ #! /usr/bin/env python import os from spambayes import storage from spambayes.SplitterForU import tokenize def getScore(s): tokens = tokenize(s) fname = os.path.expanduser('~/.hammiedb') bayes = storage.open_storage(fname, 'dbm', 'r') score, items = bayes.spamprob(tokens, True) print 'spamprob: score=%.3f' % score for k, v in items: print '%.3f: %s' % (v, k.encode('utf-8')) if __name__ == '__main__': getScore(u'この前はありがとう。とても参考になりました。') ------------------------ 〆 ------------------------------ 実行出力: spamprob: score=0.798 0.103: *H* 0.605: になりました 0.699: *S* 0.706: 前 0.767: とても
84 owa #e8faefa 2008/02/22 20:23 prob:0.0%
Papasan のところで全文検索対応 http://papasan.org/papablog/483 http://papasan.org/papablog/30b530fc30fc/ping30b530fc30fc/51686587691c7d22/ 必要なものは postgresql, mecab, senna, ludia http://mecab.sourceforge.net/ http://qwik.jp/senna/FrontPageJ.html https://sourceforge.jp/projects/ludia/ 軽くて正確で速そう。感謝^^
83 owa #e8faefa 2005/07/26 22:34 prob:0.0%
「PostgreSQLで全文検索」なんて記事がありました。 http://blog.postgresql.jp/28 - JPUG広報担当blog *rast* を使うと like 検索より 100 倍くらい速いらしい。 http://www.netlab.jp/rast/ インデクス作るのであたりまえか。でも後で試してみようっと。
82 owa #e8faefa 2004/10/09 23:37 prob:0.0%
kiyo さん like な検索方式試してます。 http://owa.as.wakwak.ne.jp/zope/labs/bbs/2/254 便利ですね。論理式で検索するには PostgreSQL との間に一枚かますしかないのかな。like 演算子でも可能かもしれないけどペンディング。
81 owa #e8faefa 2004/07/18 22:15 prob:0.0%
BBS のトップページに Google 検索機能追加した。本当は独自検索処理を付けたかったけど、ものは試し。 10 分もあれば追加できる Google はとても便利だ。 当然、もし Google がダウンした場合使えないし、イントラネットでも使えない。 使ってみれば、どういうものが必要か自然と解かるであろう。
80 kiyo #18390ca 2004/07/04 10:39 prob:0.0%
>>79 基本的なアイディアは↓です これ以前見たんだけど。。。 成る程{ 左手(パー)を右手(グー)で叩く心境 } 「次へ」の表示でなく、2件とか3件先もワンクリックで見れるし、なによりURLがスッキリで良いですね。
79 owa #e8faefa 2004/07/04 10:22 prob:0.0%
お二人様いらっしゃい^^ これで外からの書き込みも確認できたので助かりました。昔の /zope/bbs はリダイレクトで /zope/labs/bbs に今切替えました。梯子を外したら、もう後戻りできません。 >>77 どうやったんだろう? 基本的なアイディアは↓です http://owa.as.wakwak.ne.jp/zope/coreblog/83 あまり一般的な方法じゃないとすると、どこかに落し穴があるかもしれません;; なにはともあれ、書き込みありがとうございます m(.".)m
78 hoihoi-p #0eca2b3 2004/07/04 09:19 prob:0.0%
かっこい〜。 さすが。^^/
77 kiyo #18390ca 2004/07/04 09:13 prob:0.0%
ふーん、?&無しでのURLでアクセスできるんだあ どうやったんだろう? 何はともあれ記事の場所が特定できるのはいいなあ 僕もいじろうかなあー