コード例 #1
0
ファイル: MatchNameRule.cs プロジェクト: Jasolicon/OCR4PPT
        /// <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);
        }
コード例 #2
0
ファイル: MatchNameRule.cs プロジェクト: Jasolicon/OCR4PPT
        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;
            }
        }
コード例 #3
0
ファイル: MatchNameRule.cs プロジェクト: Jasolicon/OCR4PPT
        /// <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);
            }
        }
コード例 #4
0
ファイル: MatchNameRule.cs プロジェクト: Jasolicon/OCR4PPT
        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);
            }
        }