#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 "未知词性";
}