public override void Clear() { base.Clear(); distribute = Distribute <string> .Single(""); goodResults.Clear(); Distributes.Clear(); }
public override void Input(string pinyin) { distribute = distribute.ExpandAndMerge(str => Model.GetDistribute(new Condition(str, pinyin)) .Take(TakeSize) .Select(c => str + c)) .Take(TakeSize) .Norm(); if (MakeGoodResults) { goodResults.AddRange(distribute.KeyProbDescending .TakeWhile(pair => pair.Value > 0.2) .Reverse() .Select(pair => pair.Key)); } if (TraceDistribute) { Distributes.Add(distribute); } if (PrintDistributeSize > 0) { distribute.Take(PrintDistributeSize).Print(); } }