나는 약 30 단어 및 기사의 집합을 포함하는 정지 단어의 명부가있다.자바에서 Stopwords를 제거하십시오
나는 각 기사를 분석하고 그 기사에서 그 정지 단어를 제거하고 싶다.
가장 효과적인 방법은 무엇인지 잘 모릅니다.
예를 들어 스톱 목록을 반복 할 수 있으며 공백이 있으면 기사의 단어를 바꿀 수 있지만 좋지 않습니다. 단어 입력의 각 단어에 대한
java.util.Set
감사
나는 약 30 단어 및 기사의 집합을 포함하는 정지 단어의 명부가있다.자바에서 Stopwords를 제거하십시오
나는 각 기사를 분석하고 그 기사에서 그 정지 단어를 제거하고 싶다.
가장 효과적인 방법은 무엇인지 잘 모릅니다.
예를 들어 스톱 목록을 반복 할 수 있으며 공백이 있으면 기사의 단어를 바꿀 수 있지만 좋지 않습니다. 단어 입력의 각 단어에 대한
java.util.Set
감사
단어 교체가 비효율적입니다. 최선의 방법은 단어별로 기사 단어를 구문 분석하고 각 단어를 새 StringBuffer에 복사하는 것입니다. 비공식적 인 경우가 아니라면 원하는 곳에 복사하십시오. StringBuffer는 String보다 훨씬 효율적입니다.
정지 단어를 저장하는 방법은 30 분 정도면 중요하지 않습니다. 아마도 세트가 좋은 선택 일 것입니다.
Sun Java Tutorials에 따르면 정규 표현식에 Perl 호환 \b
구분자를 사용할 수 있습니다. 단어를 둘러싸는 경우 단어 뒤에 단어가 오게되거나 구두점 또는 공백이 앞에 붙습니다.
입력 단어를 읽고 중지 단어 목록에없는 경우에만 StringBuilder (또는 결과를 저장하는 모든 곳)에 복사합니다. 정지 단어를 HashTable과 같은 것으로 넣으면 더 빨리 검색 할 수 있습니다.
편집 : oops, 내가 무슨 생각을했는지 모르겠지만 HashTable (또는 다른 사전)이 아니라 세트를 원한다.
감사합니다. 입력을 저장하려면 어레이를 사용해야합니까? – Elham
@ 엘햄 : 옵션입니다. 입력이 매우 큰 경우 스캐너를 사용하여 한 번에 한 단어 씩 읽으면 메모리에 완전히 저장되지 않도록 할 수 있습니다. –