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);
        }
Exemple #2
0
 protected override bool OnInitialize()
 {
     _ictclas = ICTCLAS.Create();
     return _ictclas != null;
 }