Пример #1
0
        private static double ActualBlockDistanceSimilarity(Collection <string> firstTokens, Collection <string> secondTokens)
        {
            TokeniserUtilities <string> _tokenUtilities = new TokeniserUtilities <string>();
            Collection <string>         collection      = _tokenUtilities.CreateMergedList(firstTokens, secondTokens);
            int num = 0;

            foreach (string str in collection)
            {
                int num2 = 0;
                int num3 = 0;
                if (firstTokens.Contains(str))
                {
                    num2++;
                }
                if (secondTokens.Contains(str))
                {
                    num3++;
                }
                if (num2 > num3)
                {
                    num += num2 - num3;
                }
                else
                {
                    num += num3 - num2;
                }
            }
            return(num);
        }
Пример #2
0
        //private static readonly ITokeniser _tokeniser;
        //private static readonly TokeniserUtilities<string> => _tokenUtilities;
        //private static readonly _tokeniser => TokeniserWhitespace;


        private static double ActualMatchingCoefficientSimilarity(Collection <string> firstTokens, Collection <string> secondTokens)
        {
            TokeniserUtilities <string> _tokenUtilities = new TokeniserUtilities <string>();

            _tokenUtilities.CreateMergedList(firstTokens, secondTokens);
            int num = 0;

            foreach (string str in firstTokens)
            {
                if (secondTokens.Contains(str))
                {
                    num++;
                }
            }
            return(num);
        }
Пример #3
0
        //private readonly double _estimatedTimingConstant;
        //private readonly ITokeniser _tokeniser;
        //private readonly TokeniserUtilities<string> _tokenUtilities;

        //public EuclideanDistance() : this(new TokeniserWhitespace())
        //{
        //}

        //public EuclideanDistance(ITokeniser tokeniserToUse)
        //{
        //    _estimatedTimingConstant = 7.4457137088757008E-05;
        //    _tokeniser = tokeniserToUse;
        //    _tokenUtilities = new TokeniserUtilities<string>();
        //}

        private static double GetActualDistance(Collection <string> firstTokens, Collection <string> secondTokens)
        {
            TokeniserUtilities <string> _tokenUtilities = new TokeniserUtilities <string>();
            Collection <string>         collection      = _tokenUtilities.CreateMergedList(firstTokens, secondTokens);
            int num = 0;

            foreach (string str in collection)
            {
                int num2 = 0;
                int num3 = 0;
                if (firstTokens.Contains(str))
                {
                    num2++;
                }
                if (secondTokens.Contains(str))
                {
                    num3++;
                }
                num += (num2 - num3) * (num2 - num3);
            }
            return(Math.Sqrt(num));
        }