1. 敏感词项目中的柔性字符串匹配问题

    摘要

    在给定文本中排查一个固定字符串并不是一件很难的事情,但是倘若给定的字符串库十分庞大,以及涉及到多种字符串组合的时候,还能否高效迅速准确地排查就成了一个有挑战的问题。本文对字符串匹配问题做了一个较为系统深入的研究工作,并将其用于对果壳网现有敏感词项目的改进。

    背景问题

    敏感词的排查是所有社交网络都会面临的一个任务,对于固定的字符串,直观的想法可以是从列表中挨个取出所有的敏感词,再将它们与全文做一一比对即可,这样的思路虽然可行,但是在面对不断扩大的敏感词列表,既丑陋又笨拙。除此之外,线上还有一些动名词组合的情况需要考虑,即动词和名词分别可以出现,但是当它们以一种可以被识别的形式出现,并传达正确意义的时候,那就理应得到屏蔽。

    对于固定的字符串,如何最快速地将它们全部抓出来;对于动名词组合,如何在做到不放过一条漏网之鱼的情况下尽量避免误伤,都是亟待解决的问题。

    对于固定的敏感词匹配,可以抽象为字符串匹配问题,下面我们先对这个问题进行深入研究。

    对问题的重定义

    一个字符串是一个定义在有限字母集合 \(\sum\) 上的字符序列。例如 \(ABCDABC\) 就是字母表 \(\sum = \{A,B,C,D\}\) 上的一个字符串。那么字符串匹配问题实际上就是在一个大的字符串 \(T\) 中搜索某个特定的字符串 \(p\) 出现的位置。为方便表述,在这里我们不妨把 \(T\) ...

    Read more...


  2. 决策树算法在果壳网反垃圾系统中的实践

    摘要

    决策树(Decision Tree)是机器学习领域中一种基本的分类与回归方法,在分类的问题中,表示基于特征对实例进行分类的过程。粗浅地看,可以认为是一组特定 if-else 规则的集合,也可以认为是定义在特征空间和类空间上的条件概率分布。由于算法既简单易懂,又十分高效,所以在实际应用中非常广泛。本文主要介绍决策树算法在果壳网反垃圾系统中的应用与实践心得。

    背景问题

    果壳网社区项目是目前果壳的主要流量来源,包含有果壳小组,果壳问答,知性社区,MOOC 社区等。社区内部有大量的垃圾用户,频繁发帖,给运营人员的工作带来了很大的压力,也影响了社区正常的环境。

    test

    如何区分正常用户和 spammer 可以看成是一个分类问题,准确地说,其实是一个二分类问题。常用的分类机器学习算法都可以使用,包括但不限于SVM,逻辑回归,朴素贝叶斯。由于这些分类算法都属于有监督的机器学习,因此必须要使用一些已经标注好的样本进行训练。毫无疑问,现有的用户信息都在 log 中,我们究竟要取其中的哪些作为用户的 feature 来训练,以及是否还需要人工标注,都是接下来需要面临的特征工程问题。

    对 raw data ...

    Read more...


Page 1 / 1