1. 程式人生 > >改進的中科院分詞系統NLPIR程式碼(加入使用者詞典,去停用詞,檔案讀寫)+情感分析字典包+工具包+論文包

改進的中科院分詞系統NLPIR程式碼(加入使用者詞典,去停用詞,檔案讀寫)+情感分析字典包+工具包+論文包

NLPIR分詞,加入使用者詞典,去停用詞,檔案讀寫等

原始碼下載地址

NLPIR分詞系統

優化的分詞系統程式碼

以下是核心程式碼
完整程式碼可以直接執行分詞,點我跳轉


public class NLPIRTest {

    private List<String> files = new ArrayList<>(); //建立陣列files

    //getAllFiles函式來獲得檔案的絕對路徑
    private void getAllFiles(File filePath)
{ File[] fsFiles = filePath.listFiles();//獲得filepath的絕對路徑 assert fsFiles != null; for (File f : fsFiles) { if (f.isFile() && !f.getName().equals(".DS_Store")) files.add(f.getPath());//獲得檔案的路徑 if (f.isDirectory()) this.getAllFiles(f);//遞迴呼叫,將檔案的絕對路徑存入陣列files中
} } //segLines方法用來規範讀寫檔案 private List<String> segLines(File file) throws Exception { BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(file), "GBK")); List<String> temp = new ArrayList<>(); String str; while
((str = bf.readLine()) != null) { //String str2 = str + "\r\n"; temp.add(str); } bf.close(); return temp; } //excludeStopWord來去除停用詞 private void excludeStopWord(File file) throws Exception { //省去了變數和陣列的定義 for (String merBer:splitWordArray){ String[] splitString = merBer.split("\t"); conString.setLength(0); for (int i=0;i<splitString.length;i++){ if (stopWord.contains(splitString[i])){ splitString[i] = null; } if (splitString[i]!=null) conString.append(splitString[i]).append(" "); } bw.write(conString.toString()); bw.newLine(); } bw.close(); } public static void main(String[] args) throws Exception { NLPIR.init("lib"); NLPIR.importUserDict("F:\\split_word\\dict_comment1.txt"); //呼叫使用者詞典 //分詞呼叫見完整程式碼 }

8個主流的情感字典21M超級壓縮包
23篇情感分析SCI等論文超級包