public void Setup(bool debug) { var readModel = new ReadModel(InputModelFile); var temp = new ReadModel(string.Concat(InputModelFile, ".featuresToK")); _weightVector = new WeightVector(temp.GetFeatureToKdDictionary()); foreach (var pair in readModel.ModelIterator()) { _weightVector.Add(pair); } _tags = new Tags(_tagList); _viterbiForGlobalLinearModel = new ViterbiForGlobalLinearModel(_weightVector, _tags); // read input file in a class and per line iterator. var inputData = new ReadInputData(InputTestFile); var writeModel = new WriteModel(_outputTestFile); foreach (var line in inputData.GetSentence()) { List<string> debugList; var outputTags = _viterbiForGlobalLinearModel.Decode(line, debug, out debugList); if (debug) { writeModel.WriteDataWithTagDebug(line, outputTags, debugList); } else { writeModel.WriteDataWithTag(line, outputTags); } } writeModel.Flush(); }
public Perceptron(string inputFile, string outputFile, List<string> tagList) { _inputFile = inputFile; _outputFile = outputFile; var tags = new Tags(tagList); MapFeatures = new MapFeaturesToK(inputFile, string.Concat(outputFile, ".featuresToK"), tagList); MapFeatures.StartMapping(); WeightVector = new WeightVector(MapFeatures.DictFeaturesToK, MapFeatures.FeatureCount); _viterbiForGlobalLinearModel = new ViterbiForGlobalLinearModel(WeightVector, tags); InputSentences = new List<List<string>>(); TagsList = new List<List<string>>(); ReadInputs(); }
public Perceptron(List<string> inputFiles, string outputFile, List<string> tagList, bool useAvg = false) { _outputFile = outputFile; _useAvg = useAvg; var tags = new Tags(tagList); MapFeatures = new MapFeaturesToK(string.Concat(outputFile, ".featuresToK"), tagList); MapFeatures.StartMapping(inputFiles); WeightVector = new WeightVector(MapFeatures.DictFeaturesToK, MapFeatures.FeatureCount); AvgWeightVector = new WeightVector(MapFeatures.DictFeaturesToK, MapFeatures.FeatureCount); _viterbiForGlobalLinearModel = new ViterbiForGlobalLinearModel(WeightVector, tags); InputSentences = new List<List<string>>(); TagsList = new List<List<string>>(); //ReadInputs(); }
public void Init() { var readModel = new ReadModel(InputModelFile + ".preceptron"); var temp = new ReadModel(string.Concat(InputModelFile, ".featuresToK")); var dict = temp.GetFeatureToKdDictionary(); _weightVector = new WeightVector(dict, dict.Count); foreach (var pair in readModel.ModelIterator()) { _weightVector.Add(pair); } _tags = new Tags(_tagList); ViterbiForGLM = new ViterbiForGlobalLinearModel(_weightVector, _tags); }