public static KnowledgeClassifier <string> Advice(this KnowledgeClassifier <string> classifier, string nodeData, string cls) { var node = GraphLayerBase.CreateReference(nodeData); classifier.Advice(node, cls); return(classifier); }
internal SurroundingPatternPart(ComposedGraph graph, string defaultValue) { SingleNodeClassifier = new KnowledgeClassifier <string>(graph); MultipleNodesClassifier = new KnowledgeClassifier <string>(graph); _singleDefaultValue = defaultValue; _multiDefaultValue = defaultValue; }
public static KnowledgeClassifier <string> Assert(this KnowledgeClassifier <string> classifier, string expectedClass, params string[] nodesData) { foreach (var nodeData in nodesData) { var node = classifier.Knowledge.GetNode(nodeData); var actualClass = classifier.Classify(node); U.Assert.AreEqual(expectedClass, actualClass, "Incorrect classification for '" + nodeData + "'"); } return(classifier); }
internal ActionBlock(ComposedGraph graph, IEnumerable <IPoolAction> actions) { var semantics = actions.FirstOrDefault(); if (semantics != null && semantics.SemanticOrigin != null) { OriginalSentence = Dialog.UtteranceParser.Parse(semantics.SemanticOrigin.Utterance).OriginalSentence; } OutputFilter = new KnowledgeClassifier <bool>(graph); _actions.AddRange(actions); RequiredSubstitutions = findRequiredSubstitutions(actions); }
internal void Filter(KnowledgeClassifier <bool> knowledgeClassifier) { if (knowledgeClassifier.Root == null) { //there is no initialization yet return; } var newLayer = new HashSet <NodeReference>(); foreach (var node in _accumulator) { var isAccepted = knowledgeClassifier.Classify(node); if (isAccepted) { newLayer.Add(node); } } _accumulator = newLayer; }
private static void KnowledgeClassifier() { var dataLayer = new PresidentLayer(); var graph = new ComposedGraph(dataLayer); var node1 = graph.GetNode("Barack_Obama"); var node2 = graph.GetNode("Miloš_Zeman"); var node3 = graph.GetNode("Michelle_Obama"); var log = new MultiTraceLog(new[] { node1, node2, node3 }, graph); var classifier = new KnowledgeClassifier <string>(graph); classifier.Advice(node1, "president"); classifier.Advice(node2, "president"); classifier.Advice(node3, "wife"); var node4 = graph.GetNode("Ivana_Zemanová"); var node5 = graph.GetNode("Andrej_Kiska"); var test1 = classifier.Classify(node4); var test2 = classifier.Classify(node5); }