java - 如何删除java中的停用词?

标签 java stop-words

我想删除 java 中的停用词。

所以,我从文本文件中读取停用词。

并存储集合

Set<String> stopWords = new LinkedHashSet<String>();
BufferedReader br = new BufferedReader(new FileReader("stopwords.txt"));
        String words = null;
        while( (words = br.readLine()) != null) {
            stopWords.add(words.trim());
            }
        br.close();

然后,我阅读了另一个文本文件。

所以,我想删除文本文件中的重复字符串。

我该怎么办?

最佳答案

使用 set 作为停用词:

Set<String> stopWords = new LinkedHashSet<String>();
        BufferedReader SW= new BufferedReader(new FileReader("StopWord.txt"));
        for(String line;(line = SW.readLine()) != null;)
           stopWords.add(line.trim());
        SW.close();

和 ArrayList 用于输入 txt_file

BufferedReader br = new BufferedReader(new FileReader(txt_file.txt));
//make your arraylist here

// function deletStopWord() for remove all stopword in your "stopword.txt"
public ArrayList<String> deletStopWord(Set stopWords,ArrayList arraylist){
        System.out.println(stopWords.contains("?"));
        ArrayList<String> NewList = new ArrayList<String>();
        int i=3;
        while(i < arraylist.size() ){
            if(!stopWords.contains(arraylist.get(i))){
                NewList.add((String) arraylist.get(i));
            }
            i++;        
            }
        System.out.println(NewList);
        return NewList;
    }

  arraylist=deletStopWord(stopWords,arraylist);

关于java - 如何删除java中的停用词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12469332/

相关文章:

java - 使用 GWT 中的 servlet 下载文件后表单操作没有休息?

java - 如何以编程方式使用 Netbeans Profiler?

java - Java 文档中 ExecutorService 方法 shutdown() 的矛盾

java - 字符串至少包含一位数字

java - 使用 Apache Tika 提取文本,然后在删除停用词后获取频繁出现的单词

nlp - 无趣单词列表

mysql - 我的停用词列表已加载但无法正常工作

java - 有没有类似 python 的交互式 REPL 模式,但对于 Java ?

python - Nltk:从列表列表中消除停用词

c# - 从字符串中删除停用词