• Stars
    star
    283
  • Rank 146,066 (Top 3 %)
  • Language
    Python
  • Created almost 9 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

有赞垃圾内容过滤工具

有赞logo

项目logo

易用且有效的中文垃圾信息过滤工具

用途

可为帖子、邮件、博客等提供中文垃圾信息过滤服务,开发人员提供训练数据即可生成自己所需的过滤模型,已被业界多个公司使用

特点

  • 准确性高 :离线测试真实垃圾帖,垃圾信息过滤准确率在90%以上;在线测试真实垃圾帖,指标在80%以上;
  • 实时性好 :可提供实时的垃圾信息过滤服务;
  • 模型可自动更新:支持自动更新模型,增加模型的有效性。

依赖

使用前需安装必要的python库,包括 jieba,flask

pip install -r requirements.txt

使用方法

  1. 准备两份垃圾信息的文档,一份为正常的信息,一份为垃圾信息,每一行为一条数据,如本项目内的 ham.txtspam.txt

    注: 正负样本数量最好各大于1000

  2. 运行数据准备程序 createTrainAndTestData.py,生成训练与测试数据 示例: python createTrainAndTestData.py 运行完毕后,会生成 trainPos.txttrainNeg.txttestPos.txttestNeg.txt,分别对应训练正样本、训练负样本、测试正样本、测试负样本

  3. 运行训练测试程序 filter.py 示例: python filter.py 该程序首先会利用上步得到的训练样本训练出垃圾信息过滤的模型,然后对上步得到的测试样本进行测试并打印测试结果 其中tar为正确接受率,及正样本测试正确率,trr为错误拒绝率,即负样本测试正确率,accuracy为整体正确率 运行一次后,程序将模型保存为pickle文件,下次会直接从该文件中读取模型

    特别提示: filter.py程序最后的single judge为调用示例

  4. 运行 restful api 主程序 mainApi.py 示例: python mainApi.py 该程序首先会调用 filterApi.py 程序,为垃圾信息过滤提供网络接口服务,采用默认的网络接口时,会开启 resuful api 服务,此时调用示例为:

    curl 'http://0.0.0.0:5060/api/spamfilter?query=赚钱test宝妈tes日赚学生兼职*.@打字员'
    

    query 的信息为垃圾信息时,返回 {"spam": "True"};反之,返回 {"spam": "False"}

  5. 考虑到实际使用过程中,需要模型进行自动更新,因此 autorefresh.py 为垃圾信息的自动更新示例 示例: python autorefresh.py

    1. 当模型错误的将某个正常信息当做垃圾信息时,对于大多数垃圾信息过滤服务而言,问题较为严重,因此,示例中分两步
    f.Algorithm.discover(FalseRejectstr, True) --- 将该信息从垃圾信息的统计分布取出
    f.Algorithm.cover(FalseRejectstr, False) --- 将该信息加入正常信息的统计分布
    
    1. 当模型错误的将某个垃圾信息当做正常信时,问题严重性较低,因此,只做一步
    f.Algorithm.cover(FalseAcceptstr, True) --- 将该信息加入垃圾信息的统计分布
    

    注: True表示信息为垃圾信息,False则相反 实际使用过程中,上述两个步骤可根据实际需求自由修改,开发人员可设计程序与数据库对接,实现模型的自动更新

  6. config.py 中存放了若干程序参数,使用过程中可自由配置,各参数说明如下:

    'bind_addr': '0.0.0.0',   #服务绑定地址
    'bind_port': 5080,        #服务绑定端口
    'threshold': 83,                          #过滤阈值
    'stopwords_file':'stopwords_common.txt',  #停止词文件
    'classify_model':'filter.pickle',         #过滤模型
    'ham_file':'ham.txt',                     #正常信息
    'spam_file':'spam.txt',                   #垃圾信息
    'train_rate':0.5                          #正常、垃圾信息中用于训练的信息比例(范围0到1)
    

效果统计

  1. 测试效果: tar = 99.49%, trr = 93.48%, accuracy = 97.61%
  2. 线上效果: 经有赞线上效果统计,10.10 - 10.16日一个星期内,对于有赞bbs后台拦截统计,共拦截到垃圾帖子289,其中误拦截为9,漏拦截为43

声明

本工具内所有数据与指标统计皆基于有赞BBS后台真实数据

More Repositories

1

vant

A lightweight, customizable Vue UI library for mobile web apps.
TypeScript
23,055
star
2

vant-weapp

轻量、可靠的小程序 UI 组件库
JavaScript
17,673
star
3

zent

A collection of essential UI components written with React.
TypeScript
2,246
star
4

zan-proxy

An extensible proxy for PC/Mobile/APP developer
TypeScript
1,814
star
5

vant-demo

Collection of vant demos.
Vue
1,560
star
6

zanphp

PHP开发面向C10K+的高并发SOA服务 和RPC服务首选框架
PHP
1,437
star
7

nsq

A realtime distributed messaging platform (forked from https://github.com/nsqio/nsq)
Go
633
star
8

zanui-weapp

本仓库已不再维护,请移步 https://github.com/youzan/vant-weapp
JavaScript
535
star
9

bugCatcher

方便产品、开发、测试三方协同管理、测试、监控项目进度和质量,以持续交付。
Java
491
star
10

zan

高效稳定、安全易用、线上实时验证的全异步高性能网络库,通过PHP扩展方式使用。
C
459
star
11

php-co-koa

PHP异步编程: 手把手教你实现co与Koa
459
star
12

Bifrost

A delightful library for app business modular architecture.
Objective-C
398
star
13

TitanRecyclerView

A handy RecyclerView can deal with all headers, footers, and loading shit.
Java
249
star
14

tiny-loader.js

A small loader that load CSS/JS in best way for page performance
JavaScript
204
star
15

raven-weapp

Sentry SDK for WeApp
JavaScript
159
star
16

show-me-the-code

TypeScript
151
star
17

gatling-dubbo

A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Scala
149
star
18

felint

A smart way to eslint and stylelint for front end
JavaScript
127
star
19

weapp-plugin-demo

有赞微商城所有小程序插件的演示demo
JavaScript
113
star
20

YouzanMobileSDK-Android

有赞云AppSDK是为移动端应用打造的电商交易系统,通过一个SDK便可以在APP内集成有赞提供的整个交易服务。
Kotlin
113
star
21

SigmaTableViewModel

A simple view model for building organized and scalable TableViews.
Objective-C
106
star
22

httpfetch

对http请求进行封装的,通过对接口函数进行代理,实现优雅的http调用
Java
100
star
23

zanphp-doc

Zan PHP Framework doc
Python
99
star
24

zan_high_performance_mysql

mysql performance optimize book
98
star
25

beeyz

beeyz
Java
86
star
26

sprite-loader

A image sprite loader for webpack.
JavaScript
83
star
27

fast-uglifyjs-plugin

hight performance uglify plugin for webpack
JavaScript
71
star
28

systemtap-toolkit

YouZan systemtap toolkit to online analyze on production
Perl
69
star
29

ngx_http_ipip_module

nginx http module for ipip.net
C
65
star
30

YouzanMobileSDK-iOS

有赞云AppSDK是为移动端应用打造的电商交易系统,通过一个SDK便可以在APP内集成有赞提供的整个交易服务。
Objective-C
62
star
31

zanhttpdemo

HTTP demo for Zan PHP Framework
PHP
57
star
32

go-nsq

Go
56
star
33

open-sdk-php

有赞云网关 SDK for PHP
PHP
54
star
34

php-nsq-client

php nsq client
PHP
38
star
35

nsqJavaSDK

nsq client for java
Java
37
star
36

vue-cli-template-vant

注意:本仓库适用于 vue-cli 2.0, vue-cli 3.0 请参考:https://youzan.github.io/vant/#/zh-CN/quickstart
JavaScript
35
star
37

youzan-sdk

Yet Another Node.js SDK for http://open.youzan.com
JavaScript
33
star
38

zent-kit

[DEPRACATED] React 组件库开发脚手架
JavaScript
28
star
39

vant-doc

本仓库已废弃,请使用 https://github.com/youzan/vant/tree/dev/packages/vant-cli
Vue
27
star
40

zan-installer

Youzan Zan Php Installer
PHP
26
star
41

zan-tool

Zan Node Web 框架配套开发工具
JavaScript
23
star
42

yz-cloud-boot

有赞云有容器应用PHP框架
PHP
21
star
43

open-sdk-node

有赞云网关 SDK for Node
JavaScript
20
star
44

vant-icons

本仓库已迁移至 https://github.com/youzan/vant/tree/dev/packages/vant-icons
CSS
18
star
45

zan-thrift

zan thrift代码生成工具
C++
17
star
46

create-utils

Build your own js library by running one command
JavaScript
15
star
47

ngx_http_html_sanitize_module

It's a nginx http module to sanitize HTML5 with whitelisted elements, whitelisted attributes and whitelisted CSS property
HTML
15
star
48

zanphp.io-server

Proudly build with Zan PHP Framework
CSS
13
star
49

open-sdk-Csharp

有赞云网关Api调用C# SDK
C#
12
star
50

spark-nsq-consumer

spark-nsq-consumer
Scala
10
star
51

zent-seed

[DEPRECATED] React 组件库项目模版,请配合 https://github.com/youzan/zent-kit 使用
JavaScript
8
star
52

felint-config

Shell
6
star
53

yz_aerospike

youzan aerospike client branch
C
6
star
54

zan-doc

PHP
5
star
55

zanphp.io

Zan PHP Framework official site
CSS
5
star
56

zan-utils

TypeScript
4
star
57

zantcpdemo

PHP
4
star
58

zanwebsocketdemo

PHP
4
star
59

extension-point-api

有赞云扩展点PHP桩代码
PHP
4
star
60

zanhttp-boilerplate

Youzan ZanPhp HTTP project Boilerplate
PHP
4
star
61

zent-beta

Zent beta 版文档网站
HTML
3
star
62

YouzanHarmonySDK

Batchfile
2
star
63

cloud-connector-doc

云连接器文档
Shell
2
star
64

eslint-plugin-youzan

Eslint plugin for youzan
JavaScript
2
star
65

yz-cloud-boot-demo-app

有赞云有容器App定制PHP测试Demo工程
JavaScript
2
star
66

youzan.github.io

HTML
1
star
67

vue-cli-template-yzae

A vue-cli template for youzan app-engine developer, forked from vue-cli-template-vant.
JavaScript
1
star
68

zantcp-boilerplate

Youzan ZanPHP TCP project Boilerplate
PHP
1
star
69

zan-snippets

Code snippets for various editors at Youzan
Shell
1
star
70

zan-user-guide

Python
1
star
71

zanwebsocket-boilerplate

PHP
1
star