私は自分のストップワードの削除を書くために何か手がかりがあるのだろうかと疑問に思います。私はHashSetを作成した後、外部ライブラリを使用したくありません。テキストの停止単語?もう一度、私は任意の外部ライブラリを使用したいと思います。javaでのストップワードの削除
答えて
ファイルから読み込みます。単語1行につき1行。あなたがストップワードのセットと、あなたがからストップワードを削除したい単語のリストを持っている場合は
Set<String> stopWords = new LinkedHashSet<String>();
BufferedReader br = new BufferedReader(new FileReader("stop-words.txt"));
for(String line;(line = br.readLine()) != null;)
stopWords.add(line.trim());
br.close();
if(stopWords.contains(word))
// it's a stop word
else
// it's not a stop word.
、単にリストを反復処理し、設定ストップワードに含まれている任意の言葉削除:
をSet<String> stopWords = new HashSet<String>();
//fill stopWords
//use a linked list to make removal faster, you don't need random access here
List<String> text = new LinkedList<String>();
//fill text
Iterator<String> textIterator = text.iterator();
while(textIterator.hasNext()) {
//this assumes there are no null entries in the list
//and all stopwords are stored in lower case
if(stopWords.contains(textIterator.next().toLowerCase())) {
textIterator.remove();
}
}
よろしく!それは私が何を意味しているかのように見えます:) – seventeen
よく単語を削除する方法の一般的な考え方は、入力テキストを単語に分割してから、ストップワードマップの各単語を検索することです。ストップワードの参照は、おそらく大文字と小文字を区別する必要があります。
詳細は、テキストの内容とその処理内容によって異なります。
私は知っていますが、ストップワードが見つかったときに、テキストから取り除く方法は? – seventeen
@MostafaAlli - あなたは単語からテキストを戻すときにそれを含めないことでテキストから取り除きます。私の答えを見てください。 –
[this]のようなものが必要ですか?(http://www.textfixer.com/resources/common-english-words.txt) – chance
ファイルまたはリソースからストップワードを読むことができます。 – Ingo
私はあなたの質問が何であるかは分かりません。ストップワードが何であるか計算したいのですか、あるいはあなたが定義したものをセットに追加するより速い方法が必要なのでしょうか? – Thomas