private void TrafficUnknownWord(String word, T_POS Pos) { if (word.Length <= 1 || word.Length > 3) { return; } T_DictStruct unknownWord = _UnknownWordsDictMgr.GetWord(word); if (unknownWord == null) { _UnknownWordsDictMgr.InsertWord(word, 1, (int)Pos); return; } //如果是屏蔽的未登录词,则不加入 //屏蔽的未登录词用词性等于0来表示 if (unknownWord.Pos == 0) { return; } unknownWord.Pos |= (int)Pos; unknownWord.Frequency++; if (unknownWord.Frequency > UnknownWordsThreshold && AutoInsertUnknownWords) { T_DictStruct w = _DictMgr.GetWord(word); if (w == null) { _DictMgr.InsertWord(word, unknownWord.Frequency, unknownWord.Pos); _ExtractWords.InsertWordToDfa(word, unknownWord); _POS.AddWordPos(word, unknownWord.Pos); } else { w.Pos |= unknownWord.Pos; w.Frequency += unknownWord.Frequency; } unknownWord.Frequency = 0; } }
static public String GetChsPos(T_POS pos) { switch (pos) { case T_POS.POS_D_A: // 形容词 形语素 return("形容词 形语素"); case T_POS.POS_D_B: // 区别词 区别语素 return("区别词 区别语素"); case T_POS.POS_D_C: // 连词 连语素 return("连词 连语素"); case T_POS.POS_D_D: // 副词 副语素 return("副词 副语素"); case T_POS.POS_D_E: // 叹词 叹语素 return("叹词 叹语素"); case T_POS.POS_D_F: // 方位词 方位语素 return("方位词 方位语素"); case T_POS.POS_D_I: // 成语 return("成语"); case T_POS.POS_D_L: // 习语 return("习语"); case T_POS.POS_A_M: // 数词 数语素 return("数词 数语素"); case T_POS.POS_D_MQ: // 数量词 return("数量词"); case T_POS.POS_D_N: // 名词 名语素 return("名词 名语素"); case T_POS.POS_D_O: // 拟声词 return("拟声词"); case T_POS.POS_D_P: // 介词 return("介词"); case T_POS.POS_A_Q: // 量词 量语素 return("量词 量语素"); case T_POS.POS_D_R: // 代词 代语素 return("代词 代语素"); case T_POS.POS_D_S: // 处所词 return("处所词"); case T_POS.POS_D_T: // 时间词 return("时间词"); case T_POS.POS_D_U: // 助词 助语素 return("助词 助语素"); case T_POS.POS_D_V: // 动词 动语素 return("动词 动语素"); case T_POS.POS_D_W: // 标点符号 return("标点符号"); case T_POS.POS_D_X: // 非语素字 return("非语素字"); case T_POS.POS_D_Y: // 语气词 语气语素 return("语气词 语气语素"); case T_POS.POS_D_Z: // 状态词 return("状态词"); case T_POS.POS_A_NR: // 人名 return("人名"); case T_POS.POS_A_NS: // 地名 return("地名"); case T_POS.POS_A_NT: // 机构团体 return("机构团体"); case T_POS.POS_A_NX: // 外文字符 return("外文字符"); case T_POS.POS_A_NZ: // 其他专名 return("其他专名"); case T_POS.POS_D_H: // 前接成分 return("前接成分"); case T_POS.POS_D_K: // 后接成分 return("后接成分"); case T_POS.POS_UNK: // 未知词性 return("未知词性"); default: return("未知词性"); } }
public static T_INNER_POS GetInnerPos(T_POS pos) { switch (pos) { case T_POS.POS_D_A: // 形容词 形语素 return(T_INNER_POS.POS_D_A); case T_POS.POS_D_B: // 区别词 区别语素 return(T_INNER_POS.POS_D_B); case T_POS.POS_D_C: // 连词 连语素 return(T_INNER_POS.POS_D_C); case T_POS.POS_D_D: // 副词 副语素 return(T_INNER_POS.POS_D_D); case T_POS.POS_D_E: // 叹词 叹语素 return(T_INNER_POS.POS_D_E); case T_POS.POS_D_F: // 方位词 方位语素 return(T_INNER_POS.POS_D_F); case T_POS.POS_D_I: // 成语 return(T_INNER_POS.POS_D_I); case T_POS.POS_D_L: // 习语 return(T_INNER_POS.POS_D_L); case T_POS.POS_A_M: // 数词 数语素 return(T_INNER_POS.POS_A_M); case T_POS.POS_D_MQ: // 数量词 return(T_INNER_POS.POS_D_MQ); case T_POS.POS_D_N: // 名词 名语素 return(T_INNER_POS.POS_D_N); case T_POS.POS_D_O: // 拟声词 return(T_INNER_POS.POS_D_O); case T_POS.POS_D_P: // 介词 return(T_INNER_POS.POS_D_P); case T_POS.POS_A_Q: // 量词 量语素 return(T_INNER_POS.POS_A_Q); case T_POS.POS_D_R: // 代词 代语素 return(T_INNER_POS.POS_D_R); case T_POS.POS_D_S: // 处所词 return(T_INNER_POS.POS_D_S); case T_POS.POS_D_T: // 时间词 return(T_INNER_POS.POS_D_T); case T_POS.POS_D_U: // 助词 助语素 return(T_INNER_POS.POS_D_U); case T_POS.POS_D_V: // 动词 动语素 return(T_INNER_POS.POS_D_V); case T_POS.POS_D_W: // 标点符号 return(T_INNER_POS.POS_D_W); case T_POS.POS_D_X: // 非语素字 return(T_INNER_POS.POS_D_X); case T_POS.POS_D_Y: // 语气词 语气语素 return(T_INNER_POS.POS_D_Y); case T_POS.POS_D_Z: // 状态词 return(T_INNER_POS.POS_D_Z); case T_POS.POS_A_NR: // 人名 return(T_INNER_POS.POS_A_NR); case T_POS.POS_A_NS: // 地名 return(T_INNER_POS.POS_A_NS); case T_POS.POS_A_NT: // 机构团体 return(T_INNER_POS.POS_A_NT); case T_POS.POS_A_NX: // 外文字符 return(T_INNER_POS.POS_A_NX); case T_POS.POS_A_NZ: // 其他专名 return(T_INNER_POS.POS_A_NZ); case T_POS.POS_D_H: // 前接成分 return(T_INNER_POS.POS_D_H); case T_POS.POS_D_K: // 后接成分 return(T_INNER_POS.POS_D_K); case T_POS.POS_UNK: // 未知词性 return(T_INNER_POS.POS_UNK); default: return(T_INNER_POS.POS_UNK); } }