using System; using System.Collections.Generic; using System.Text; namespace BotSharp.Models.CRFLite.Encoder { public class EncoderOptions { /// /// Maximum iteration /// public int MaxIteration { get; set; } /// /// Minimum feature frequency, if one feature's frequency is less than this value, the feature will be dropped. /// public int MinFeatureFreq = 1; /// /// Minimum diff value, when diff less than the value consecutive 3 times, the process will be ended. /// public double MinDifference; /// /// The maximum slot usage rate threshold when building feature set. /// public double SlotUsageRateThreshold { get; set; } /// /// The amount of threads used to train model. /// public int ThreadsNum { get; set; } /// /// Regularization type /// public CRFEncoder.REG_TYPE RegType { get; set; } /// /// Template file name /// public string TemplateFileName { get; set; } /// /// Training corpus file name /// public string TrainingCorpusFileName { get; set; } /// /// Encoded model file name /// public string ModelFileName { get; set; } /// /// The model file name for re-training /// public string RetrainModelFileName { get; set; } /// /// Debug level /// public int DebugLevel { get; set; } /// /// /// public uint HugeLexMemLoad { get; set; } /// /// cost factor, too big or small value may lead encoded model over tune or under tune /// public double CostFactor { get; set; } /// /// If we build vector quantization model for feature weights /// public bool BVQ { get; set; } public EncoderOptions() { MaxIteration = 100; MinFeatureFreq = 1; MinDifference = 0.0001; SlotUsageRateThreshold = 0.95; ThreadsNum = 1; RegType = CRFEncoder.REG_TYPE.L2; CostFactor = 1.0; } } }