docs: public List<Keyword> analyze(String content,int topN){
  		List<Keyword> keywordList=new ArrayList<>();
  		
  		if(stopWordsSet==null) {
  			stopWordsSet=new HashSet<>();
  			loadStopWords(stopWordsSet, this.getClass().getResourceAsStream("/stop_words.txt"));
  		}
  		if(idfMap==null) {
  			idfMap=new HashMap<>();
  			loadIDFMap(idfMap, this.getClass().getResourceAsStream("/idf_dict.txt"));
  		}
  		
  		Map<String, Double> tfMap=getTF(content);
  		for(String word:tfMap.keySet()) {
  			// 若该词不在idf文档中，则使用平均的idf值(可能定期需要对新出现的网络词语进行纳入)
  			if(idfMap.containsKey(word)) {
  				keywordList.add(new Keyword(word,idfMap.get(word)*tfMap.get(word)));
  			}else
  				keywordList.add(new Keyword(word,idfMedian*tfMap.get(word)));
  		}
  		
  		Collections.sort(keywordList);
  		
  		if(keywordList.size()>topN) {
  			int num=keywordList.size()-topN;
  			for(int i=0;i<num;i++) {
  				keywordList.remove(topN);
  			}
  		}
  		return keywordList;
  	}