public void DocumentTermCovarianceMatrix_SimpleExample_FindSynonyms()
        {
            var analyser = new CorpusAnalyser(new[] {
                "a b b b x",
                "a a b b b b y",
                "a a a b b b b b z"
                });

            foreach (var term in analyser.Terms)
            {
                Console.Write("{0} {1}\t", term.Index, term.Label);
            }

            Console.WriteLine();

            analyser.DocumentTermMatrix.WriteAsCsv(Console.Out, '\t', 2);

            Console.WriteLine();

            analyser.DocumentTermCovarianceMatrix.WriteAsCsv(Console.Out, '\t', 2);

            foreach(var synGroup in analyser.FindCorrelations(0.1))
            {
                Console.Write(synGroup.Key.Label + ": ");

                foreach (var syn in synGroup.Value)
                {
                    Console.Write(syn.Key.Label + ", ");
                }

                Console.WriteLine();
            }
        }
        public void DocumentTermCovarianceMatrix()
        {
            var docs = TestData.TestCorpus().Select(t => XDocument.Parse(t)).ToList().AsQueryable();

            var analyser = new CorpusAnalyser(docs.Select(x => x.Root.Value));

            analyser.DocumentTermCovarianceMatrix.WriteAsCsv(Console.Out);
        }