private EntityInfo entityInfo(FreebaseEntry entity) { var db = _linker.GetDb(); var entityInfo = db.GetEntityInfoFromMid(FreebaseDbProvider.GetMid(entity.Id)); return(entityInfo); }
internal void Train(IEnumerable <string> ngrams, string correctAnswer) { string strongestNgram = null; string preBadNgram = null; var bestNgramScore = 0.0; foreach (var ngram in ngrams) { var docs = Db.GetScoredDocs(ngram); if (!docs.Any()) { //nothing found for the ngram continue; } var bestDoc = docs.First(); var id = Db.GetMid(bestDoc); if (id == correctAnswer) { //the ngram is helpful if (bestDoc.Score > bestNgramScore) { strongestNgram = ngram; bestNgramScore = bestDoc.Score; } } else { int count; _badNgramCounts.TryGetValue(ngram, out count); _badNgramCounts[ngram] = count + 1; if (preBadNgram != null) { _preBadNgramCounts.TryGetValue(preBadNgram, out count); _preBadNgramCounts[preBadNgram] = count + 1; } } preBadNgram = ngram; } var orderedNgrams = ngrams.ToArray(); for (var i = 1; i < orderedNgrams.Length; ++i) { if (orderedNgrams[i] == strongestNgram) { var preNgram = orderedNgrams[i - 1]; int value; _leadingNgramCounts.TryGetValue(preNgram, out value); _leadingNgramCounts[preNgram] = value + 1; break; } } }
internal static void DebugInfo(PathSubstitution substitution) { var db = Configuration.Db; Console.WriteLine("Substitution trace: " + substitution.OriginalTrace.ToString()); Console.WriteLine("Rank: " + substitution.Rank); Console.WriteLine("Substitution node: {0} ({1})", db.GetLabel(FreebaseDbProvider.GetMid(substitution.Substitution.Data)), substitution.Substitution); foreach (var node in substitution.OriginalTrace.CurrentNodes.Take(20)) { Console.WriteLine("\t{0} ({1})", db.GetLabel(FreebaseDbProvider.GetMid(node.Data)), node); } }
private static void printInfo(ComposedGraph graph, FreebaseDbProvider db, params string[] ids) { foreach (var id in ids) { var mid = FreebaseDbProvider.GetMid(id); var label = db.GetLabel(mid); var description = db.GetDescription(mid); Console.WriteLine(id + " " + label); Console.WriteLine("\t" + description); Console.WriteLine(); } }
private static ComposedGraph cachedEntityGraph(SimpleQuestionDumpProcessor simpleQuestions, QuestionDialog[] trainDialogs, LinkedUtterance[] linkedUtterances) { return(ComputationCache.Load("knowledge_all_train", 1, () => { var trainEntities = getQAEntities(trainDialogs, linkedUtterances); //var layer = simpleQuestions.GetLayerFromIds(trainEntities); foreach (var entityId in trainEntities) { simpleQuestions.AddTargetMid(FreebaseDbProvider.GetMid(entityId)); } simpleQuestions.RunIteration(); var layer = simpleQuestions.GetLayerFromIds(simpleQuestions.AllIds); var graph = new ComposedGraph(layer); return graph; })); }