public void similarityTest()
        {
            List <string> sentences = new List <string>();

            sentences.Add("How's it going");
            sentences.Add("How's your day");
            sentences.Add("How's everything");
            sentences.Add("Good morning");
            sentences.Add("Good afternoon");
            sentences.Add("Good evening");
            sentences.Add("I appreciate it");
            sentences.Add("Thanks a lot");
            sentences.Add("Thank you");


            Args args = new Args();

            args.ModelFile = "CherubNLP\\CherubNLP.UnitTest\\wordvec_enu.bin";
            VectorGenerator vg    = new VectorGenerator(args);
            var             list  = vg.Sentence2Vec(sentences);
            Vec             vec1  = vg.SingleSentence2Vec("Good morning");
            Vec             vec2  = vg.SingleSentence2Vec("How's it going");
            double          score = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score);

            vec1 = vg.SingleSentence2Vec("Good morning");
            vec2 = vg.SingleSentence2Vec("How's your day");
            double score1 = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score1);

            vec1 = vg.SingleSentence2Vec("Good morning");
            vec2 = vg.SingleSentence2Vec("How's everything");
            double score2 = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score2);


            vec1 = vg.SingleSentence2Vec("Good morning");
            vec2 = vg.SingleSentence2Vec("Good afternoon");
            double score3 = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score3);

            vec1 = vg.SingleSentence2Vec("Good morning");
            vec2 = vg.SingleSentence2Vec("I appreciate");
            double score4 = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score4);

            vec1 = vg.SingleSentence2Vec("Good morning");
            vec2 = vg.SingleSentence2Vec("Thanks a lot");
            double score5 = vg.Similarity(vec1, vec2);

            Console.WriteLine("Similarity score: {0}", score5);
        }
Esempio n. 2
0
        private void PrepareData(bool isTrain)
        {
            var reader = new FileReaderFactory().GetEnglishReaderForPhase2(isTrain);

            Documents = reader.ReadFile().Select(x => new DocumentWrapper(x)).ToDictionary(x => x.Document.Id);

            var generator = new VectorGenerator(Documents, true);

            generator.Process();
        }
Esempio n. 3
0
            public void Word2VecTest()
            {
                string        sentence = "stop this song";
                List <string> words    = sentence.Split(' ').ToList();
                Args          args     = new Args();

                args.ModelFile = @"C:\Users\bpeng\Desktop\BoloReborn\Txt2VecDemo\wordvec_enu.bin";
                VectorGenerator vg = new VectorGenerator(args);

                vg.Distance(words);
            }
        public void Doc2VectorTest()
        {
            List <string> sentences = new List <string>();

            sentences.Add("The sun in the sky is bright.");
            sentences.Add("We can see the shining sun, the bright sun.");
            Args args = new Args();

            args.ModelFile = "CherubNLP\\App_Data\\wordvec_enu.bin";
            VectorGenerator vg   = new VectorGenerator(args);
            var             list = vg.Sentence2Vec(sentences);
        }
Esempio n. 5
0
        public void Doc2VectorTest()
        {
            List <string> sentences = new List <string>();

            sentences.Add("The sun in the sky is bright.");
            sentences.Add("We can see the shining sun, the bright sun.");
            Args args = new Args();

            args.ModelFile = "C:\\Users\\bpeng\\Desktop\\BoloReborn\\BotSharp.NLP\\BotSharp.NLP.UnitTest\\wordvec_enu.bin";
            VectorGenerator vg   = new VectorGenerator(args);
            var             list = vg.Sentence2Vec(sentences);
        }
Esempio n. 6
0
 private void Init()
 {
     if (Vg == null)
     {
         Args args = new Args();
         args.ModelFile     = ModelFile;
         Vg                 = new VectorGenerator(args);
         SentenceVectorSize = this.Vg.Model.VectorSize;
         Features           = new List <string>();
         for (int i = 0; i < SentenceVectorSize; i++)
         {
             Features.Add($"f-{i}");
         }
     }
 }
Esempio n. 7
0
        public TreeVisualization(List <ITree> trees, string[] keywords = null)
        {
            _trees           = trees;
            _dataNodeSchemes = trees.ConvertAll(tree => TreeNodeScheme.Get(tree.Graph.NodeTable));

            if (keywords == null)
            {
                keywords = new string[0];
            }
            _keywords = keywords;

            _vecGen = new VectorGenerator(new TokenizeConfig(TokenizerType.Standard, StopWordsFile.EN));

            _window  = new TreeWindow();
            _display = _window.TreeDisplay;
            _vis     = new Visualization(_display);

            int treeIndex = 0;

            _visNodeTables  = new List <IVisualTable>();
            _visEdgeTables  = new List <IVisualTable>();
            _visNodeSchemes = new List <TreeNodeVisualTableScheme>();
            foreach (var tree in _trees)
            {
                var visNodeTable = _vis.BuildVisualTable("VisNodeTable" + treeIndex, tree.Graph.NodeTable, _display);
                var visEdgeTable = _vis.BuildVisualTable("VisEdgeTable" + treeIndex, tree.Graph.EdgeTable, _display);

                var visNodeScheme = new TreeNodeVisualTableScheme(visNodeTable, tree.Graph, keywords);

                visEdgeTable.EnsureStyles(Styles.X1, Styles.X2, Styles.Y1, Styles.Y2, Styles.Visible, Styles.Layer);
                visEdgeTable.AddConstantColumn <IRender>(Styles.Render, new SimpleEdgeRender());

                _visNodeTables.Add(visNodeTable);
                _visEdgeTables.Add(visEdgeTable);
                _visNodeSchemes.Add(visNodeScheme);

                treeIndex++;
            }

            Show();
        }