Holy crap — James Seng wrote a Bayesian spam filter for comments on Movable Type sites. Similar to the first responses to unsolicited email, the first responses to the comment spam problem were custom blacklists. And just like with e-mail blacklists, I felt a little uneasy about the idea of comment blacklists, because they rely on imperfect data that’s susceptible to sabotage and simple mismanagement. A Bayesian filter should, in theory, be both accurate and less reliant on the continued vigilance of others; if this thing works as advertised, it would be crazy for Six Apart to not slurp this thing up and integrate it into TypePad as an option.

Comments

Two comments:

> they rely on imperfect data that’s
>susceptible to sabotage and simple
> mismanagement

Mismanagement, I can understand, but imperfect data and sabotage? How so?

> A Bayesian filter should, in theory, be
> both accurate and less reliant on the
> continued vigilance of others

Comment spam is unlike email spam. They aren’t trying to sell you something with big huge colorful text and offers for 100% improvement in whatever!!!!!!! Most often, the text of the comment looks fairly normal but it contains links that are the problem. How can a Bayesian filter catch that?

Oh, and you still have to train it. And Lord if you train it wrong, you are in trouble…

• Posted by: Jay Allen on Oct 17, 2003, 1:27 AM

Outright blacklist gives very high false positive. Bayesian is both a form of blacklist and whitelist with a “fuzzy” logic behind it, which you have to train.

The problem is Bayesian is only as good as you train. But same with blacklist, which is only as good as the blacklist you provide it. Worst, you irrevocately ban others too.

MT-Bayesian is a modified Bayesian algorithm to handle the typical short comments and trackbacks.

• Posted by: James Seng on Oct 17, 2003, 1:48 AM

“text of the comment looks fairly normal but it contains links that are the problem. How can a Bayesian filter catch that?”

And yes, MT-Bayesian specifically is designed to handle that.

• Posted by: James Seng on Oct 17, 2003, 1:59 AM

Jay:

Re: sabotage, follow the “just like with email blacklists” linked text in my post. Essentially, when the Osirusoft DNS-based email blacklist was subjected to a denial-of-service attack, the owner decided to screw the ‘net by changing it to report all mail hosts as spam havens. It was weeks before most mail systems were modified to deal with his sabotage.

Re: imperfect data, there are two problems. First, the presence of a machine in a shared blacklist is generally based solely on one person’s decision to put it there. Why did he put it there? Nobody knows; it could have been real, but it also could have been spite, intolerance of a poster, or just a misunderstanding of what someone was saying in a comment. Yes, most comment spam is obvious, but just as it happens with email, I can imagine people heaping comments into the spambox just because they don’t want to deal with them. (For example, would people trust that every machine that would appear in Dave Winer’s blacklist would really be a spammer, or would there be a good chance that a good chunk of them were just the machines of people who rubbed him the wrong way?)

Second, the presence of a machine — or, more accurately, an IP address — in a blacklist implies that that IP address solely belongs to one person. But in this day and age of shared IP addresses, either via multiuser machines or dynamically-assigned addresses, means that that’s not always true, and as such, the blacklist has the real potential of sweeping people into it that don’t belong. That’s imperfect data.

• Posted by: Jason on Oct 17, 2003, 7:52 AM

> Outright blacklist gives very high false positive

Only if someone uses regular expressions incorrectly as I did in one of my recent releases. Other than that, there are no false positives. There’s no acceptable comment except maybe this one, that contains the string kinky-granny.pornwww.com. If the user is careless, then there are false positives, but again, then it only affects that user’s website.

Re: sabotage. Jason, someone can only sabotage their OWN blacklist, causing their own site to be hurt. That’s not really a problem…

> For example, would people trust that every machine
> that would appear in Dave Winer’s blacklist would
> really be a spammer, or would there be a good
> chance that a good chunk of them were just the
> machines of people who rubbed him the wrong way?)

Jason, just like in real life, if you’re going to trust someone, you open yourself up to their goodness and maliciousness. In any case, a site owner trusting someone untrustworthy is the site owner’s problem, not mine. MT-Blacklist doesn’t solve stupidity. In fact, no software does.

And as far as IP blacklists, I’5tgb-[ve screamed it from every mountain. They are useless, ridiculous, imperfect, whack-a-mole solutions. Whoever is using IP blacklists needs to learn a little bit more about the internet.

While I will agree that many blacklist implementations and models are flawed, I still haven’t heard an valid criticism specifically of MT-Blacklist’s implementation (other than a couple of bugs which will be ironed out in the next version), but would be happy to hear some and adapt the program as necessary to best serve the needs of the community.

And James, don’t get me wrong. I love that you created MT-Bayesian, and I hope to one day soon be able to open up MT-Blacklist as a general engine for other people’s filters including yours. Users should have at their disposal as many tools as possible and be able to use them all easily and seamlessly. I look forward to trying out MT-Bayesian. I am skeptical that it would be very successful, but I hope that it is. Regardless, I and many others appreciate your efforts.

• Posted by: Jay Allen on Oct 18, 2003, 9:24 AM

For a comparision between Blacklist and Bayesian, see http://www.paulgraham.com/falsepositives.html

For those of us (especially email operator who has a lot of email users) who have been fighting email spams for many years, we have seen what works and what havent.

• Posted by: James Seng on Oct 18, 2003, 10:58 AM

I did a quick look at your MT-blacklist. The whole logic to determine if a comment or ping is spam or not comes down to this:

foreach $deny (@blacklisted_strings) {
if ($str =~ m#$deny#i)
return $config->{logDenials} ? (1:$deny) : 1;
}
}

Effectively, so long a comment have a blacklisted word (even substring), it will be banned. Suppose I have “porn” as a blacklisted word, almost every comments to my entry on “Should we ban porn?” would be banned.

Hence, the simple mindedness of blacklist logic is the problem, whether it is IP blacklist or content blacklist. Bayesian, at least, is a fuzzy logic which analysis the content before giving you a probability of spam.

• Posted by: James Seng on Oct 18, 2003, 11:09 AM

Jay, your implementation is based solely on strings, not IP addresses? That changes things a little, and I agree that it’s for the good. But I also don’t see this as a competition — I, like you, would love to find whatever it takes to just deal with this problem before it really gets going. For me, Bayesian filters have been a godsend on the email front… as part of SpamAssassin, which includes both functionalities. Maybe a combined attempt will ultimately be what works here, too!

• Posted by: Jason on Oct 18, 2003, 11:48 AM

We have apparently moved this silly discussion over here.

Jason, absolutely. I came at this whole thing from a blacklisting standpoint with my first post but like I said, the more tools the better.

Bayesian filtering has indeed been a godsend on email. I don’t know how it will work in this environment, but I hope it kicks ass.

• Posted by: Jay Allen on Oct 18, 2003, 1:48 PM

• Pinged by on ,
Please note that comments automatically close after 60 days; the comment spammers love to use the older, rarely-viewed pages to work their magic. If comments are closed and you want to let me know something, feel free to use the contact page!

bengkulutoto

bengkulutoto

vikingtoto

situs toto

パチスロ

hukum toto

vikingtoto

viking toto

vikingtoto

tasiktoto

malukutoto

top1toto

tasiktoto

batman toto

slot gacor

slot gacor

https://www.cch-rc.com/careers/

situs toto

cancertoto

https://cashwave.live/payment-partner/

slot88

bengkulutoto

vikingtoto

viking toto

situs toto

cancertoto

mpo500

bengkulutoto

https://www.joyd.my/brand/moda/

bengkulutoto

vikingtoto

piktoto

viking toto

bengkulutoto

mama togel

vespa36 resmi

vespa36 resmi

batmantoto login

hukumtoto

cancertoto

top1 toto

cancertoto

bengkulutoto

batmantoto.de

tasiktoto

paitocambodia.name

cancertoto

wisdomtoto

bengkulutoto

hukumtoto link alternatif

vikingtoto

wisdomtoto

kartutoto

toto slot

situs toto

situs depo 5k

8kbetplay

slot88 gacor

toto slot 4d

situs togel

toto 4d

kudahoki

cancertoto

cancertoto

bydplay resmi

bydplay login

citibet88 login

mega99 login

top1toto login

top1toto login

mpo500

piktoto

cancertoto

top1toto

cas89

japanlotto.store

bengkulutoto

cancertoto

bengkulutoto

babeltoto

Rtp Slot Gacor

Sbobet

Slot Qris

Slot Gacor

Toto

depo 5k

slot88

slot jackpot

7amnews.in

cancertoto

wiltoto

toto

vespa36 resmi

vespa36 resmi

jitu26 resmi

situs toto

jitu26 resmi

vespa36 resmi

wisdomtoto

wisdomtoto

KILAU4D

KILAU4D

piktoto

KILAU4D

altartoto

KILAU4D

KILAU4D

batman toto

batman toto

batman toto

piktoto

cancertoto

piktoto

batman toto

batman toto

situs togel

togel online

vespa36 resmi

vespa36 resmi

SITUS SLOT ONLINE

jitu26 login

jitu26 resmi

top1 toto

maluku toto

tasiktoto

cancertoto

babeltoto

babeltoto

babeltoto

babeltoto

pokemontoto

pokemontoto

piktoto

babeltoto

babeltoto

babeltoto

batman toto

batman toto

vespa36 resmi

vespa36 resmi

toto slot

rexonatoto

cancertoto

cancertoto

cancertoto

Mix parlay

vespa36

vespa36 resmi

piktoto

toto slot

vespa36

vespa36 login

piktoto

unsur toto

unsur toto

situs toto

piktoto

unsur toto

unsur toto

maluku toto

unsur toto

jitu26 resmi

piktoto

piktoto

slot gacor

jitu26 resmi

top1 toto

vespa36

vespa36

pokemontoto

rajalangit77 toto

mpo 500

projektoto

slot

sesetoto login

piktoto

bengkulutoto

maluku toto

cancer toto

vespa36

top1toto login

maluku toto

vespa36

toto slot

piktoto

enoki77

gelasjitu

balontoto

situs toto

malukutoto login

สล็อตเว็บตรง

pokemontoto

wiltoto.cz/wap/

piktoto

wiltoto.tw/user/

wiltoto.pw/register/

paito taiwan

situs toto

vikingtoto

vespa36 resmi

vespa36 resmi

indototo

raja88

tasiktoto

tasiktoto

hukum toto

maluku toto

cancertoto

cancertoto

cancertoto

cancertoto

cancertoto

cancertoto

toto slot

wisdomtoto

toto

cancertoto

cancertoto

jitu26 resmi

jitu26 resmi

JEMARI4D

JEMARI4D

JEMARI4D

JEMARI4D

depo 5k

jitu26 resmi

vikingtoto

cancer toto

vikingtoto

babeltoto

vespa36

babeltoto

vespa36 resmi

vespa36 resmi

jitu26 resmi

jitu26 resmi

slot gacor

cancer toto

situs toto

toto macau

vespa36

vespa36

jitu26 resmi

jitu26 resmi

jitu26

jitu26

majumapan 99

pokemontoto

situs 5k

depo 5k

slot gacor

vespa36 resmi

top1 toto

cancer toto

cancer toto

cancer toto

kicautoto

vespa36 resmi

medantoto

medantoto

pokemontoto

medantoto

toto 4d

pokemontoto

vikingtoto

dewaking

rajaking

tasiktoto

kicautoto

bengkulutoto

kari4d

hukum toto

depo 5k

depo 5k

situs toto

situs toto

situs toto

depo 5k

cancer toto

rajaking

cancer toto

cancer toto

cancer toto

rajaking

kari4d

pokemontoto

pascol4d

pucuk4d

babeltoto

bengkulutoto

slot gacor

bulantogel

pokemontoto

bulantogel

bengkulutoto

bengkulutoto

rajaking

babeltoto

vikingtoto

hukumtoto

hukumtoto

cancer toto

hukumtoto

paito hk

rajaking

toto

pokemontoto

bengkulutoto

tasiktoto

mahjong ways slot mahjong ways slot mahjong mahjong slot

bengkulutoto

cancertoto

bengkulutoto

tasiktoto

tasiktoto

bengkulutoto

bengkulutoto

vikingtoto

bengkulutoto

dewaking

top1toto

rajaking

toto

slot

depo 5k

pokemontoto

wisdomtoto

gelas jitu

gelas jitu login

gelas jitu daftar

gelasjitu.org

mpo500

pokemontoto

bengkulutoto

bengkulutoto

bengkulutoto

kari4d

vikingtoto

toto

tasiktoto

tasiktoto

viking toto

https://ferreclicks.mx/cepillos/

vikingtoto

hukumtoto

vikingtoto

flokitoto

pokemontoto

altartoto

flokitoto

wisdomtoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

mpo500 login

mpo500 login

mpo500 login

flokitoto

flokitoto

wak89

slot

babeltoto

dewaking

flokitoto

babeltoto

flokitoto

flokitoto

flokitoto

flokitoto

kari4d

kari4d

KASKUSTOTO

KASKUSTOTO

flokitoto

tasiktoto

tasiktoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

flokitoto

kari4d

kari4d

vikingtoto

flokitoto

flokitoto

vikingtoto

kari4d

pascol4d

pascol4d

situs toto

situs toto

vespa36

pascol4d

kari4d

situs toto

bengkulutoto

kari4d

kari4d

pascol4d

toto hoki

pascol4d

toto jp

toto

slot qris server thailand

flokitoto

flokitoto

flokitoto

pascol4d

pascol4d

pascol4d

kari4d

kari4d

flokitoto

flokitoto

toto hoki

kari4d

kari4d

kari4d

flokitoto

bengkulutoto

tasiktoto

babeltoto

flokitoto

mpo500

mpo 500

angkringan138

flokitoto

pascol4d

neon88

cas89

mpo500

flokitoto

slot gacor

https://linkneon88.com/

slot

toto

kicautoto

wisdomtoto

tasiktoto

tasiktoto

bengkulutoto

kicautoto

bengkulutoto

flokitoto

flokitoto

gacor

bolaslot88

hukum toto

vespa36

vespa36

kicautoto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

situs toto

flokitoto

babeltoto

babeltoto

https://supercok.com/

bengkulutoto

pas4d

flokitoto

flokitoto

laetoto

laetoto

flokitoto

flokitoto

flokitoto

flokitoto

pascol4d

kari4d

pascol4d

tasiktoto

tasiktoto

flokitoto

flokitoto

ternatetoto

flokitoto

flokitoto

pascol4d

pascol4d

pascol4d

tasiktoto

hoki

toto

abcslot gacor

slot 5000

pucuk4d

kari4d

kari4d

jakartaslot88

jakartaslot88

desabet

tasiktoto

tasiktoto

desabet

top1toto

dunia toto

flokitoto

flokitoto

babeltoto

bengkulutoto

toto

medantoto

medantoto

medantoto

bulantogel

bulantogel

flokitoto

batmantoto17.com

toto slot

kimia4d

laetoto

tasiktoto

babeltoto

babeltoto

laetoto

Link situs sipjitu

kakaktogel

prediksijitukakaktogel.com

togel online

kari4d

kari4d

cancertoto

bengkulutoto

bengkulutoto

laetoto

flokitoto

slot demo

slot gacor

slot gacor

slot

slot jackpot

kari4d

kimia4d

bokep bocil

mega888 malaysia

pucuk4d

slot gacor

tasiktoto

inclavecasinos

flokitoto

flokitoto

babeltoto

flokitoto

flokitoto

flokitoto

flokitoto

pucuk4d

situs toto

ทดลองเล่นสล็อต

flokitoto

kimia4d

rakutoto

wajibslot

PAPUATOTO

rajaking

damaibet

malukutoto

mpo500

malukutoto

malukutoto

malukutoto

malukutoto

malukutoto

flokitoto

flokitoto

flokitoto

mataramtoto

slot gacor

tasiktoto

rupiahbet

slot gacor

kuda hoki

tasiktoto

manadototo

sayangbet

sayangbet

sayangbet

sayangbet

sayangbet

sayangbet

sayangbet

manadototo

cancer toto

manadototo

PASCOL4D

kimia 4d

slot demo

demo mahjong ways

slot server thailand

LGOGACOR

medantoto

situs toto

wak89

FLOKITOTO

dunia toto

cukongbet

laetoto

hukum toto

slot

babeltoto

tasiktoto

hukum toto

เว็บสล็อต แท้ 100 เปอร์เซ็นต์

dunia toto

laetoto

tasiktoto

malukutoto

bet10ribu

situs toto

topslot88

topslot88

topslot88

sayangbet

topslot88

kakek111

slot

cancer toto

babeltoto

toto macau

licin4d

batak5d

bolaslot99

bolaslot99

mbahslot

tasiktoto

situs toto

situs toto

hukum toto

situs toto

situs toto

pucuk4d

pucuk4d

dvtoto

dvtoto

berlian789

toto

ทดลองเล่นสล็อต

DEWALANGIT

RAJA88

best crypto casinos online

https://wak89.org/

grafikjitu login

https://wakmariot89.com/

bydplay

bydplay

bydplay

rajalangit77

tasiktoto

sayangbet

babeltoto

babeltoto

babeltoto

best crypto casinos

wisdomtoto

Jakartaslot88

mama togel

Jakartaslot88

Jakartaslot88

Jakartaslot88

sayangbet

Jakartaslot88

babeltoto

wisdomtoto

tasiktoto

slot88 resmi

babeltoto

pucuk4d

pucuk4d

pucuk4d

bandar togel

kakaktogelvip.org

info bocoran rtp

bengkulutoto

mataramtoto

slot gacor

faster payout online casinos

watitoto

slot gacor

situs toto

cancertoto

https://dinporapar.purbalinggakab.go.id/

cancer toto

kaya 787

damaibet

babeltoto

babeltoto

RAJALANGIT77

situs toto

situs toto

babeltoto

kimia4d

kimia4d

kimia4d

wisdomtoto

berlian789

mataramtoto

bengkulutoto

yumetoto

medantoto

medantoto

medantoto

damaibet

situs toto

situs toto

hukumtoto

wisdomtoto

flokitoto

damaibet

situs toto

medantoto

medantoto

jogjatoto

inclave casinos login

mpo500 login

pucuk4d

slot thailand

pucuk4d

kari4d

mama togel

kari4d

babeltoto

tasiktoto

tasiktoto

pangkutoto login

slot gacor

gaya4d

gaya4d

sistem4d

sistem4d

winsortoto login

winsortoto login

winsortoto login

winsortoto login

winsortoto login

winsortoto login

mataramtoto

hukumtoto

hukumtoto

cancer toto

cancer toto

sayangbet

cancer toto

cancer toto

cancer toto

cancer toto

cancer toto

cancer toto

mpo500

paito sdy

paito sgp

paito hk

tasiktoto

tasiktoto

slot

papuatoto

slot 5k

babeltoto

kakaktogel

tegaltoto

tegaltoto

tegaltoto

desabet

desabet