static void Main(string[] args)
        {
            NaturalLanguageProcessor nlp = new NaturalLanguageProcessor();

            nlp.LoadConfigurationFile(@"C:\Users\Harshvardhan.Poddar\Documents\NaturalLanguageProcessor\NLPConfiguration.json");

            while (true)
            {
                Console.WriteLine("Enter your Input");
                string userSearch   = Console.ReadLine();
                var    intentResult = nlp.GetMatchingIntent(userSearch);


                if (intentResult != null)
                {
                    Console.WriteLine("Awesome, I will get it done.");
                    Console.WriteLine("Action: " + intentResult.Action);
                    foreach (var paramter in intentResult.Parameters)
                    {
                        Console.WriteLine("Parameter Name: " + paramter.Key);
                        Console.WriteLine("Parameter Values: " + string.Join(", ", paramter.Value));
                    }
                }
                else
                {
                    Console.Write("Sorry, I do not understand that.");
                }
                Console.ReadLine();
            }
        }
 public void TestMethod2()
 {
     NaturalLanguageProcessor processor = new NaturalLanguageProcessor("pt");
     var result = processor.ExtractNames("Meu nome é Daniel da Silva Santos e eu gosto de jogar no Estádio Germano Krigger");
     Assert.IsTrue(result.Any());
 }
 public void TestMethod3()
 {
     NaturalLanguageProcessor processor = new NaturalLanguageProcessor("pt");
     var result = processor.ExtractNames("Meu nome é Daniel da Silva Santos e dou amigo do John Krigger");
     Assert.IsTrue(result.Any());
 }
Example #4
0
 public ExampleNLangProcessor(string dictionaryFilePath)
 {
     #region MAnlys
     var mAnlys = new StdMAnalyzer {
     };
     {
         var ignoreReader = new IgnoreBlockReader {
             markers = new List <string> {
                 " ", "\r", "\n", "\t"
             }
         };
         var markerReader = new MarkerBlockReader {
             markers = new List <MarkerAndFormatID> {
                 new MarkerAndFormatID {
                     marker = ".", formatID = 2
                 },
                 new MarkerAndFormatID {
                     marker = ",", formatID = 3
                 },
                 new MarkerAndFormatID {
                     marker = "###", formatID = 4
                 },
                 new MarkerAndFormatID {
                     marker = ":", formatID = 5
                 },
             }
         };
         var quoteBlockMarker = new QuoteBlockReader {
             formatID = 1, leftMarker = "\"", rightMarker = "\""
         };
         mAnlys.blockReaderes.Add(ignoreReader);
         mAnlys.blockReaderes.Add(markerReader);
         mAnlys.blockReaderes.Add(quoteBlockMarker);
         mAnlys.generalReaders.Add(new NumberReader {
         });
         mAnlys.generalReaders.Add(new WordReader {
         });
     }
     #endregion
     #region MAnlys for dictionary creation
     var mAnlysForDict = new StdMAnalyzer {
     };
     {
         var ignoreReader = new IgnoreBlockReader {
             markers = new List <string> {
                 " "
             }
         };
         var markerReader = new MarkerBlockReader {
             markers = new List <MarkerAndFormatID> {
                 new MarkerAndFormatID {
                     marker = "(IGNORE)", formatID = 2
                 },
                 new MarkerAndFormatID {
                     marker = "(UNREADABLE)", formatID = 3
                 }
             }
         };
         var quoteBlockMarker = new QuoteBlockReader {
             formatID = 1, leftMarker = "#", rightMarker = "#"
         };
         mAnlysForDict.blockReaderes.Add(ignoreReader);
         mAnlysForDict.blockReaderes.Add(markerReader);
         mAnlysForDict.blockReaderes.Add(quoteBlockMarker);
         mAnlysForDict.generalReaders.Add(new WordReader {
         });
     }
     #endregion
     #region dictionary creation
     var gDict        = new IncrGAnlysDictionary();
     var formatReader = new FormatReader();
     FormatReader.fReader = new FormToGAnlys {
         analyzer = mAnlysForDict, dict = gDict
     };
     FormatReader.gAnlysDict = gDict;
     FormatReader.metaInfos  = new Dictionary <string, GrammarBlock>();
     FormatReader.metaInfos[StdMetaInfos.sentenceCluster.word] = StdMetaInfos.sentenceCluster;
     FormatReader.metaInfos[StdMetaInfos.nominalBlock.word]    = StdMetaInfos.nominalBlock;
     FormatReader.metaInfos[StdMetaInfos.verbalBlock.word]     = StdMetaInfos.verbalBlock;
     FormatReader.metaInfos[StdMetaInfos.quoteBlock.word]      = StdMetaInfos.quoteBlock;
     FormatReader.metaInfos[StdMetaInfos.sv.word]                 = StdMetaInfos.sv;
     FormatReader.metaInfos[StdMetaInfos.conditionSV.word]        = StdMetaInfos.conditionSV;
     FormatReader.metaInfos[StdMetaInfos.negated.word]            = StdMetaInfos.negated;
     FormatReader.metaInfos[StdMetaInfos.title.word]              = StdMetaInfos.title;
     FormatReader.metaInfos[StdMetaInfos.clusterExtractable.word] = StdMetaInfos.clusterExtractable;
     FormatReader.metaInfos[StdMetaInfos.metaCluster.word]        = StdMetaInfos.metaCluster;
     FormatReader.metaInfos[StdMetaInfos.anonymousCommand.word]   = StdMetaInfos.anonymousCommand;
     FormatReader.metaInfos[StdMetaInfos.modifierCluster.word]    = StdMetaInfos.modifierCluster;
     FormatReader.metaInfos[StdMetaInfos.quoteSV.word]            = StdMetaInfos.quoteSV;
     FormatReader.metaInfos[StdMetaInfos.pronoun.word]            = StdMetaInfos.pronoun;
     FormatReader.metaInfos[StdMetaInfos.plural.word]             = StdMetaInfos.plural;
     FormatReader.metaInfos[StdMetaInfos.unreadable.word]         = StdMetaInfos.unreadable;
     {
         var conjCand = new IGAnlys_Candidates {
         };
         var and      = new IGAnlys_Word {
         };
         and.AddMorphemeText("and");
         var or = new IGAnlys_Word {
         };
         or.AddMorphemeText("or");
         var quote = new IGAnlys_Quote {
             morphemeID = 3
         };
         conjCand.candidates.Add(and);
         conjCand.candidates.Add(or);
         conjCand.candidates.Add(quote);
         var conjGAnlys = new IGAnlys_RepeatableBlock {
             baseAnalyzer = conjCand
         };
         FormatReader.cojunctionIGAnlys = conjGAnlys;
         FormatReader.preparer          = new AnalyzePreparer();
     }
     #endregion
     var dictionaryJsonText = File.ReadAllText(dictionaryFilePath);
     var reader             = new RootReader {
     };
     reader.subReader.Push(new GrammarDictRoot {
         gAnlysDict = gDict
     });
     reader.Read(dictionaryJsonText);
     var rootGAnlys = gDict.dict["RootUnit"];
     nlProcessor = new MGSyntacticProcessor {
         gAnalyzer = new StdGrammarAnalyzer {
             incrGAnalyzer = rootGAnlys, analyzePreparer = FormatReader.preparer
         },
         mAnalyzer = mAnlys
     };
 }