字符串相似度算法,AS3实现,用于判断聊天广告

  1.         /**
             * 计算把source经过几个步骤可以转变到target的值 
             * @param source
             * @param target
             * @return 
             * 
             */
            public static function editDistance(source:String,target:String):int
            {
                var slen:int = source.length;
                var tlen:int = target.length;
                var d:Array = [];
                for(var i:int=0;i<=slen;i++){
                    d[i] = [];
                    d[i][0] = i;
                    if(i==0){
                        for(var j:int=1;j<=tlen;j++){
                            d[0][j] = j;
                        }
                    }
                    else
                    {
                        for(var j:int=1;j<=tlen;j++){
                            d[i][j] = 0;
                        }
                    }
                }
                for(var i:int=1;i<=slen;i++){
                    for(var j:int=1;j<=tlen;j++){
                        if(source.charCodeAt(i-1) == target.charCodeAt(j-1)){
                            d[i][j] = d[i-1][j-1];
                        } else {
                            var insert:int = d[i][j-1]+1;
                            var del:int = d[i-1][j]+1;
                            var update:int = d[i-1][j-1]+1;
                            d[i][j] = Math.min(insert,del)>Math.min(del,update)?
                                Math.min(del,update):Math.min(insert,del);
                        }
                    }
                }
                return d[slen][tlen];
            }
            
            /**
             * 相似度计算 
             * @param source
             * @param target
             * @return 
             * 
             */
            public static function getSimilarityRate(source:String,target:String):Number
            {
                return 1-editDistance(source,target)/Math.max(source.length,target.length);
            }

     

主要是因为最近实在受不了游戏里面聊天频繁发送,鉴于此我们就做了一个是否广告帐号的判断。

 

posted @ 2014-09-29 13:56  张真人  阅读(423)  评论(0编辑  收藏  举报