/// <summary> /// 判断两个词的统计值,第二个比第一个大返回true /// </summary> /// <param name="fst"></param> /// <param name="sec"></param> /// <returns></returns> public bool CompareTwoWords(String fst, String sec) { T_ChsNameWordTraffic cw1 = GetWordTraffic(fst); T_ChsNameWordTraffic cw2 = GetWordTraffic(sec); if (cw2 != null) { long after1; if (cw1 == null) { after1 = 0; } else { after1 = cw1.After; } if (after1 < cw2.After) { return(true); } } return(false); }
public void AddBefore(String word) { if (word.Length <= 1) { //长度必须大于1 return; } if (word[0] < 0x4e00 || word[0] > 0x9fa5) { //必须是汉字 return; } T_ChsNameWordTraffic wordTraffic = (T_ChsNameWordTraffic)m_Table[word]; if (wordTraffic == null) { wordTraffic = new T_ChsNameWordTraffic(); wordTraffic.Word = word; wordTraffic.Before = 1; wordTraffic.After = 0; m_Traffic.Words.Add(wordTraffic); m_Table[wordTraffic.Word] = wordTraffic; m_Traffic.BeforeWordCount++; m_Traffic.BeforeCount++; return; } else { wordTraffic.Before++; m_Traffic.BeforeCount++; return; } }
/// <summary> /// 根据名字前的单词判断该名字是否可能是汉字名 /// </summary> /// <param name="beforeWord"></param> /// <returns></returns> public bool MaybeNameByBefore(String beforeWord) { T_ChsNameWordTraffic wordTraffic = GetWordTraffic(beforeWord); if (wordTraffic == null) { return(false); } if (wordTraffic.Before >= m_Traffic.BeforeCount * 5 / m_Traffic.BeforeWordCount) { //出现概率大于平均值5倍 return(true); } else { return(false); } }
public bool MaybeNameByAfter(String afterWord) { T_ChsNameWordTraffic wordTraffic = GetWordTraffic(afterWord); if (wordTraffic == null) { return(false); } if (wordTraffic.After >= m_Traffic.AfterCount * 5 / m_Traffic.AfterWordCount) { //出现概率大于平均值5倍 return(true); } else { return(false); } }