線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1211
推到 Plurk!
推到 Facebook!

字串比對

缺席
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-28 21:01:47 IP:140.118.xxx.xxx 未訂閱
我想要寫一個Spam Filter.... 目前有一個問題,如果我想要偵測所有含有"love"這個字的mail, 但是有一個寄件者他寄的信件裡面包含的是"l0ve"或是"1ove"或是"10ve" ps.原本的"L"變成數字"1"或是字母"o"變成數字"0" 有什麼方法可以將l0ve判斷成跟love等價嗎?還是有SQL語法可以用? 謝謝
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-29 08:04:47 IP:210.65.xxx.xxx 未訂閱
Hi GGL,
In SQL Server:
SELECT  *
FROM    YOURTABLE
WHERE   (LOWER(REPLACE(REPLACE(YOURFIELD, '0', 'o'), '1', 'l')) LIKE '%love%')
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-29 09:55:13 IP:140.118.xxx.xxx 未訂閱
謝謝Fishman... (LOWER(REPLACE(REPLACE(YOURFIELD, '0', 'o'), '1', 'l')) LIKE '%love%') 這一行似乎有些問題,因為我舉的例子是love,萬一有很多可以替換成其他數字的英文單字,這段SQL語法可能要寫的很長,而且在一篇信件中無法對每個字都做這種的判斷.... 在這個網址中http://www.paulgraham.com/spam.html有提到 I'm more hopeful about Bayesian filters, because they evolve with the spam. So as spammers start using "c0ck" instead of "cock" to evade simple-minded spam filters based on individual words, Bayesian filters automatically notice. Indeed, "c0ck" is far more damning evidence than "cock", and Bayesian filters know precisely how much more. 他說Bayesian filters可以偵測這種問題,只是我不知道他是怎麼偵測的...因此想自己找一個適合的演算法來最這些字串做處理,只是我不知道有沒有別人已經想出來的演算法可以用... 我看到你的回答讓我想到是否可以先將文章中有數字0跟1的全部替換成字母o跟l,反正我只是要抓出某些關鍵字,就算原本就是數字0跟1被替換成字母o跟l也不會影響到整篇文章的判斷,只是若對每個收到的信件都做這些動作似乎太浪費時間了
系統時間:2024-05-18 4:53:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!