Algorithm research

授权协议 GPL
开发语言 C/C++
所属分类 神经网络/人工智能、 自然语言处理
软件类型 开源软件
地区 国产
投 递 者 宗政权
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Algorithm research 基于 AC 有限状态自动状态机的过滤服务。

AC 编译及使用方法

1. 编译之前请先确认安装好 libevent

2. 进入src目录直接 make;
cc    -c -o entry.o entry.c
cc    -c -o acsmx.o acsmx.c
gcc -g -o acsmx entry.o acsmx.o -levent
cc    -c -o acmf.o acmf.c
cc    -c -o util.o util.c
gcc -g -o acmf acmf.o acsmx.o util.o -levent
rm -f *.o

3. make 完成之后生成可执行文件 acmf
acmf -h 帮助信息如下:
ac-mf 0.0.1
Build-date Jun 26 2014 16:15:18
-p <file>     set ABS path(prefix), Necessarily
-f <file>     filter keywords file name
-v            show version and help
-h            show this help and exit
-H <hostname> hostname(default: 0.0.0.0)
-P <num>      listen port(default: 8668)
-t <timeout>  set HTTP timeout(default: 1)
-c [0|1]      case switch(default: 1)

4. 启动服务使用如下命令:
 ./acmf -p /root/portal/src -P 8080

注: -p 必须使用绝对路径,需要过滤的关键词表在 data 目录里面的 mf.keyword.txt 里面
需要过滤什么,自己添加,注意不要有空行。

使用实例:

接口地址:http://yourhosts:8080

请求方式:GET或者POST

参数:format=json
      word=需要检测的中文英文字符串。
返回值:error 是否等于0 等于0则成功,其他值失败。
     然后再判断数组stat是否为空,
     如果为空,则说明评论文本可以发布。
     否则不能发布。

实例1

http://yourhosts:8080/?format=json&word=%E5%85%B1%E4%BA%A7%E5%85%9A%E5%A4%A7%E5%A3%B0%E9%81%93%E6%98%AF%E4%BB%A3%E7%90%86%E5%95%86%E7%9A%84%E7%9F%AD%E5%8F%91%E7%9A%84%E5%A4%9A%E5%B0%91Fuck%E5%85%B1%E4%BA%A7%E5%85%9Afuck%E8%A5%BF%E8%97%8F

返回值

{
    "error": 0,
    "stat": [
        {
            "keyword": "西藏",
            "hit_count": 1
        },
        {
            "keyword": "FUCK",
            "hit_count": 2
        },
        {
            "keyword": "共产党",
            "hit_count": 2
        }
    ]
}

实例2

http://yourhosts:8080/?format=json&word=%E8%AF%9A%E6%8B%9B%E6%9A%91%E5%81%87%E5%85%BC%E8%81%8C%E5%B0%8F%E6%97%B6%E5%B7%A5%EF%BC%8C%E6%AF%8F%E5%A4%A9%E5%9C%A8%E7%BA%BF2.3%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%97%B6%E9%97%B4%E5%9C%B0%E7%82%B9%E6%B2%A1%E9%99%90%E5%88%B6%EF%BC%8C%E6%97%A5%E8%B5%9A80-150%E5%9B%AD%EF%BC%8C%E6%9C%89%E5%85%B4%E8%B6%A3%E8%81%94%E7%B3%BBQQ%E3%80%903609027004%E3%80%91%EF%BC%8C%E6%AD%A4%E5%A4%84%E4%B8%8D%E5%9B%9E%E5%A4%8D

返回值

{
    "error": 0,
    "stat": [
        {
            "keyword": "联系",
            "hit_count": 1
        },
        {
            "keyword": "QQ",
            "hit_count": 2
        },
        {
            "keyword": "QQ",
            "hit_count": 2
        },
        {
            "keyword": "兼职",
            "hit_count": 1
        }
    ]
}


  • algorithm ['ælɡəriðəm]算法 genetic algorithm遗传算法 encryption algorithm加密算法 pseudo  ['psju:dəu] n. 伪君子;假冒的人 adj. 冒充的,假的 pseudo-terminal 伪终端

  •  1 concept of algotithoms:     Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as outp

  • MBIST 有許多測試算法, 針對不同製程及不同缺陷產生. 會有不同的運算測試方法. 我們建議如下, 自動化軟體的好處, 就是隨選既產生相應電路. 避免人為耗時及除錯等非必要問題產生 for Emerging Market Technology node Testing algorithm Memory defect 180nm/130nm/110nm/90nm March C-, March C

  • 【题意】给了一个字符串,并且有一个替换操作,先把这个字符替换掉。然后求这个字符串的最长回文字串!并且要输出这个最长会问字串的起始位置和终止位置,以及这个回文字串! 【解题方法】Manacher莽一波就好了。不知道为什么第一次数组开了6e6会迷之TLE。 【AC代码】 //HDU.3294 Girls' research //Manacher Algorithm #include <cstdio>