internal QuestionAnsweringModuleBase(ComposedGraph graph, CallStorage storage)
        {
            Storage = storage;
            Pool    = new ContextPool(graph);

            _adviceAnswer = storage.RegisterCall("AdviceAnswer", c =>
            {
                _AdviceAnswer(c.String("question"), c.Bool("isBasedOnContext"), c.Node("correctAnswerNode", Graph), c.Nodes("context", Graph));
            });

            _repairAnswer = storage.RegisterCall("RepairAnswer", c =>
            {
                _RepairAnswer(c.String("question"), c.Node("suggestedAnswer", Graph), c.Nodes("context", Graph));
            });

            _setEquivalencies = storage.RegisterCall("SetEquivalence", c =>
            {
                SetEquivalence(c.String("patternQuestion"), c.String("queriedQuestion"), c.Bool("isEquivalent"));
            });

            _negate = storage.RegisterCall("Negate", c =>
            {
                Negate(c.String("question"));
            });
        }
Exemple #2
0
        internal SolutionLog(UserData userData, ExperimentBase experiment, int taskId)
        {
            _experiment = experiment;
            _taskId     = taskId;
            _task       = experiment.GetTask(taskId);

            var isInitialized = false;
            var logPath       = experiment.GetLogPath(userData.UserID, taskId);

            _logStorage       = new CallStorage(logPath);
            _infoCall         = _logStorage.RegisterCall("Info", c => { isInitialized = true; });
            _completitionCall = _logStorage.RegisterCall("ReportTaskCompletition", c => { });

            _logStorage.ReadStorage();
            if (!isInitialized)
            {
                logInfo("solution initialized");
            }

            reportTaskStart(_task);

            //console has to be created after log storage is prepared
            _console = createConsole(taskId);
        }