internal void ParseConfusionMatrixes(Dictionary dictionary) { DictionaryFileType[] matrixes = new DictionaryFileType[] { DictionaryFileType.DeletetionsMatrix, DictionaryFileType.InsertionsMatrix, DictionaryFileType.SubstitutionsMatrix, DictionaryFileType.TranspositionsMatrix }; foreach (DictionaryFileType type in matrixes) { string file = dictionary.GetFile(type); if (null != file) { ConfusionMatrix matrix = this.matrixParser.ParseMatrix(file); dictionary.AddConfusionMatrix(ConvertFileTypeToEditOperation(type), matrix); } } }
private EditOperation ConvertFileTypeToEditOperation(DictionaryFileType type) { EditOperation op = EditOperation.Unknown; switch (type) { case DictionaryFileType.DeletetionsMatrix: op = EditOperation.Deletion; break; case DictionaryFileType.InsertionsMatrix: op = EditOperation.Insertion; break; case DictionaryFileType.SubstitutionsMatrix: op = EditOperation.Substitution; break; case DictionaryFileType.TranspositionsMatrix: op = EditOperation.Transposition; break; } return op; }
public void AddFile(DictionaryFileType type, string filename) { files.Add(type, filename); }
internal void ParseNgrams(Dictionary dictionary) { DictionaryFileType[] files = new DictionaryFileType[] { DictionaryFileType.UnigramFrequences, DictionaryFileType.DigramFrequences, DictionaryFileType.TrigramFrequences }; foreach (DictionaryFileType type in files) { string file = dictionary.GetFile(type); if (null != file) { NgramCollection collection = this.ngramParser.ParseNgrams(file); NgramType ngramType; switch (type) { case DictionaryFileType.DigramFrequences: ngramType = NgramType.Digram; break; case DictionaryFileType.TrigramFrequences: ngramType = NgramType.Trigram; break; default: ngramType = NgramType.Unigram; break; } dictionary.AddNgramCollection(ngramType, collection); } } }
internal string GetFile(DictionaryFileType type, bool withPath = true) { if (files.ContainsKey(type)) { return withPath ? path + "/" + files[type] : files[type]; } return null; }