private Tuple <int, int, int> count(List <_WordInnfo> l1)
        {
            /*******************
             * 特殊单字词比重
             * 这 那 会 能 才
             * ****************/
            int sr = 0;

            /*************
             * 词性相似度
             * *****************/
            int f = 0;

            /**************
             * 单字词个数
             * *************************/
            int s = 0;

            foreach (var item in l1)
            {
                if (item.Name.Length == 1)
                {
                    s++;
                    if (CharHelper.IsFirstSingleWord(item.Name[0]))
                    {
                        sr += 3;
                    }
                    else if (CharHelper.IsSecondSingleWord(item.Name[0]))
                    {
                        sr += 2;
                    }
                    else if (CharHelper.IsThirdSingleWord(item.Name[0]))
                    {
                        sr++;
                    }
                }
                else
                {
                    if (item.Length == 2)
                    {
                        /********************************************
                         * 比较二字词构词规则可信度
                         * n+n 3
                         * v+v 3
                         * a+a 3
                         * a+n 2
                         * adv+v 2
                         * a+v 1
                         * ********************************/
                        if (_provider.SingleDic.ContainsKey(item.Name[0]) && _provider.SingleDic.ContainsKey(item.Name[1]))
                        {
                            var a = _provider.GetWordInfoFromSingleDic(item.Name[0]).MaxType;
                            var b = _provider.GetWordInfoFromSingleDic(item.Name[1]).MaxType;
                            if (a.GetBigType() == b.GetBigType())
                            {
                                f += 3;
                            }
                            else if (a.IsAdjective() && b.IsNoun())
                            {
                                f += 2;
                            }
                            else if (a.IsAdverb() && b.IsVerb())
                            {
                                f += 2;
                            }
                            else if (a.IsAdverb() && b.IsAdjective())
                            {
                                f += 1;
                            }
                            else if (a.IsAdjective() && b.IsVerb())
                            {
                                f += 1;
                            }
                        }
                    }
                }
            }
            return(new Tuple <int, int, int>(sr, s, f));
        }