private static List <Pair> cutByICTCLAS(string str) { List <Pair> res = new List <Pair>(); if (ICTCLAS.NLPIR_Init("", 0, "")) { //ICTCLAS.NLPIR_NWI_Start(); //ICTCLAS.NLPIR_NWI_AddMem(str); //var ptr2 = ICTCLAS.NLPIR_NWI_GetResult(); //string t2 = Marshal.PtrToStringAnsi(ptr2); //ICTCLAS.NLPIR_NWI_Result2UserDict(); //ICTCLAS.NLPIR_NWI_Complete(); //ICTCLAS.NLPIR_SaveTheUsrDic(); var intptr = ICTCLAS.NLPIR_ParagraphProcess(str, 1); string t = Marshal.PtrToStringAnsi(intptr); string[] words = t.Split(' '); foreach (var w in words) { if (!string.IsNullOrWhiteSpace(w)) { string[] pairinfo = w.Split('/'); if (pairinfo.Length == 2) { Pair p = new Pair(pairinfo[0], pairinfo[1]); res.Add(p); } } } } ICTCLAS.NLPIR_Exit(); return(res); }
protected override bool OnInitialize() { _ictclas = ICTCLAS.Create(); return _ictclas != null; }