#region +对盘古词库执行增删改查 InsertPanGuDict | DeleteWord | UpdateWord | UpdateWord /// <summary> /// 盘古词库增加新词 /// </summary> /// <param name="name"></param> /// <param name="_posStr"></param> /// <param name="frequency"></param> public static void InsertPanGuDict(string word, double frequency, string _posStr) { POS _pos = DisplayPos.GetChsPos(_posStr); WordDictionary wd = new WordDictionary(); wd.Load(Dictpath); wd.InsertWord(word, frequency, _pos); wd.Save(Dictpath); } /// <summary> /// 盘古词库删除指定词汇 /// </summary> /// <param name="word"></param> public static void DeleteWord(string word) { WordDictionary wd = new WordDictionary(); wd.Load(Dictpath); wd.DeleteWord(word); wd.Save(Dictpath); } /// <summary> /// 盘古词库修改指定词汇 /// </summary> /// <param name="word"></param> /// <param name="frequency"></param> /// <param name="_posStr"></param> public static void UpdateWord(string word, double frequency, string _posStr) { POS _pos = DisplayPos.GetChsPos(_posStr); WordDictionary wd = new WordDictionary(); wd.Load(Dictpath); wd.UpdateWord(word, frequency, _pos); wd.Save(Dictpath); } public static List<string> SearchWord(string word) { List<string> wordList = new List<string>(); WordDictionary wd = new WordDictionary(); wd.Load(Dictpath); List<SearchWordResult> result = wd.Search(word.Trim()); result.Sort(); foreach (SearchWordResult w in result) { wordList.Add(w.ToString()); } return wordList; } #endregion
POS 参数请参照盘古分词代码中的PosDisplayCtrl类库下面的PosCtrl.cs GetChsPos方法,下文也会贴出
public static string GetChsPosStr(POS pos) { switch (pos) { case POS.POS_UNK: return "未知词性"; case POS.POS_D_K: return "后接成分"; case POS.POS_D_H: return "前接成分"; case POS.POS_A_NZ: return "其他专名"; case POS.POS_A_NX: return "外文字符"; case POS.POS_A_NR: return "人名"; case POS.POS_D_Z: return "状态词"; case POS.POS_A_NT: return "机构团体"; case POS.POS_A_NS: return "地名"; case POS.POS_D_Y: return "语气词 语气语素"; case POS.POS_D_X: return "非语素字"; case POS.POS_D_W: return "标点符号"; case POS.POS_D_T: return "时间词"; case POS.POS_D_S: return "处所词"; case POS.POS_D_V: return "动词 动语素"; case POS.POS_D_U: return "助词 助语素"; case POS.POS_D_R: return "代词 代语素"; case POS.POS_A_Q: return "量词 量语素"; case POS.POS_D_P: return "介词"; case POS.POS_D_MQ: return "数量词"; case POS.POS_A_M: return "数词 数语素"; case POS.POS_D_O: return "拟声词"; case POS.POS_D_N: return "名词 名语素"; case POS.POS_D_F: return "方位词 方位语素"; case POS.POS_D_E: return "叹词 叹语素"; case POS.POS_D_L: return "习语"; case POS.POS_D_I: return "成语"; case POS.POS_D_D: return "副词 副语素"; case POS.POS_D_C: return "连词 连语素"; case POS.POS_D_B: return "区别词 区别语素"; case POS.POS_D_A: return "形容词 形语素"; } return "未知词性"; }
转载于:https://blog.51cto.com/feelmanc/1250449