关闭

Java作业整理 敏感词汇

845人阅读 评论(0) 收藏 举报
分类:

1. 敏感词汇分析(难)

要求:任意选择一个文本文件,分析该文件,如果存在敏感词汇(这些词汇保存在sentive.txt文件中,每个词占一行),报告每个词出现的次数。


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Scanner;
public class sensitive_Vocabulary {
	
	Scanner input=new Scanner(System.in);
	public String[] ch;  
	public void write(int number) throws Exception{
		System.out.println("请输入你的敏感词汇:");
  	  ObjectOutputStream output =
  		  new ObjectOutputStream(new FileOutputStream("sensitive.txt"));      
  	  for(int i = 0; i < number;i++){
  		 String str = input.nextLine();
  		 output.writeUTF(str);
  	  }
  	  
  	output.close(); 
    }
	public void readObject(int number) throws Exception{
		ObjectInputStream input = 
			new ObjectInputStream(new FileInputStream("sensitive.txt"));
		       ch = new String[number];
			for(int j = 0; j < number; j++){
		     ch[j] = input.readUTF();
		   //  System.out.println("敏感词汇为:"+ch[j]);
			}
		   	   input.close();
            }		
}




import java.util.Scanner;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class read_File {
      public static void main(String[] args) throws Exception {
    	  Scanner input=new Scanner(System.in);
    	  
    	  System.out.println("请输入你所要输入的敏感词汇个数:");
    	  int number=input.nextInt();
    	  int[] array=new int[number];
    	  for(int r=0;r<number;r++)
    		  array[r]=0;
    	  sensitive_Vocabulary test=new sensitive_Vocabulary();
    	  test.write(number);
    	  test.readObject(number);
            try {
            StringBuffer sb= new StringBuffer("");
            FileReader reader = new FileReader("G://test.txt");
            BufferedReader br = new BufferedReader(reader);
            String str = null;
            String str_fir;
            while((str = br.readLine()) != null){
                  sb.append(str+"\n");                
                  for(int k=0;k<number;k++){
                	  str_fir=" "+test.ch[k]+" ";
                	  
                	 array[k] += countStr(str,str_fir);
                //	 System.out.println(array[k] +" " +str+"\n"+test.ch[k]);
                  }
            }
          
            br.close();
            reader.close();
      }
      catch(FileNotFoundException e) {

                  e.printStackTrace();
            }
            catch(IOException e) {

                  e.printStackTrace();
            }
            for(int j=0;j<number;j++)
            	System.out.println("敏感词"+" "+test.ch[j]+" " +"有"+array[j]
            	                                                       +"个");
      }
      public static int countStr(String str1, String str2){ 
      	int counter=0;
          if (str1.indexOf(str2) == -1){  
              return 0;
          } 
              while(str1.indexOf(str2)!=-1){
              	counter++;
              	str1=str1.substring(str1.indexOf(str2)+str2.length());
              }
              return counter;  
      }  
}


0
0
查看评论

敏感词过滤-AC自动机

在很多内容系统中,都需要过滤一些敏感词,比如说"fuck you shit up"就要发现里面有"fuck"、"shit"这些脏词。 首先,我们要先了解敏感词过滤的一些特征: 1. 敏感词多,一般成千上万 2. 单词长度有限,一般不会超过1...
  • SG_SIQing
  • SG_SIQing
  • 2017-07-01 17:29
  • 427

java实现敏感词过滤 dfa算法实现

文章标题:DFA算法实现敏感词过滤的demo 首先讲讲DFA算法实现原理 假如在我们的敏感词库中存在如下几个敏感词:日本人、日本鬼子、毛.泽.东。那么我需要构建成一个什么样的结构呢? 首先:query 日 ---> {本}、query 本 --->{人、鬼子}、query 人 ...
  • chuangsun
  • chuangsun
  • 2017-02-15 16:22
  • 1346

Java实现敏感词过滤

敏感词、文字过滤是一个网站必不可少的功能,如何设计一个好的、高效的过滤算法是非常有必要的。前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢。我把它程序拿过来一看,整个过程如下:读取敏感词库、如果HashSet集合中,获取页面上传文字,然后进行匹配。我就想这...
  • chenssy
  • chenssy
  • 2014-05-25 15:42
  • 89198

敏感词库(27000条)+代码实现敏感词过滤(java)

  • 2017-03-03 16:54
  • 225KB
  • 下载

注册中过滤敏感词汇

我的做法是在数据库中设计一张敏感词汇表 利用sql语句进行敏感词汇判断 SELECT * FROM app WHERE app.`APP_NAME` LIKE '%待输入字段%' OR INSTR('待输入字段',app.`APP_NAME`)>0 ...
  • zhang89xiao
  • zhang89xiao
  • 2016-05-14 10:54
  • 370

Java 敏感字验证

输入字符串 如  str = “操你大爷” 将 str产分成数组  arr = [操,你,大,爷] 预先生成个Map>  遍历arr  如 第一个字符为 “操”, 根据这个字符向map获取List ,list内容为[操你大爷,操他妈,......] ...
  • wjh1989
  • wjh1989
  • 2015-07-22 18:16
  • 285

Java实现DFA算法对敏感词、广告词过滤功能

开发中经常要处理用户一些文字的提交,所以涉及到了敏感词过滤的功能,参考资料中DFA有穷状态机算法的实现,创建有向图。完成了对敏感词、广告词的过滤,而且效率较好,所以分享一下。 具体实现: 1、匹配大小写过滤 2、匹配全角半角过滤 3、匹配过滤停顿词过滤。 4、敏感词重复词过滤。
  • fengshizty
  • fengshizty
  • 2016-08-31 11:47
  • 7802

Java使用IKAnalyzer进行敏感词过滤

Java使用IKAnalyzer进行敏感词过滤 IK Analyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词...
  • Coder_py
  • Coder_py
  • 2017-04-24 19:39
  • 1918

最近发文章,老是被告知有敏感词汇

可是我就是死活看不出我的文章里有什么词汇是敏感的?只好试着把尽可能多的名词都替换为拼音。这样很累,所以我觉得需要一份敏感词汇清单。google “敏感 词汇 清单”,什么也找不到,什么也找不到。看了一些文章,可以认为清单这个词不一定有用。但是我想象到如果是清单都是需要更新的,所以google“敏感 ...
  • redguardtoo
  • redguardtoo
  • 2005-06-08 14:42
  • 1474

Java实现敏感词过滤 - IKAnalyzer中文分词工具

IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包。官网: https://code.google.com/archive/p/ik-analyzer/本用例借助 IKAnalyzer 进行分词,通过遍历分词集合进行敏感词过滤。 使用前需对敏感词库进行初始化: Se...
  • sinat_14982831
  • sinat_14982831
  • 2017-09-04 11:58
  • 1739
    个人资料
    • 访问:426787次
    • 积分:8011
    • 等级:
    • 排名:第3091名
    • 原创:391篇
    • 转载:20篇
    • 译文:0篇
    • 评论:70条
    博客专栏