Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
 public void AddFile(DictionaryFileType type, string filename)
 {
     files.Add(type, filename);
 }
Beispiel #4
0
        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);
                }
            }
        }
Beispiel #5
0
        internal string GetFile(DictionaryFileType type, bool withPath = true)
        {
            if (files.ContainsKey(type))
            {
                return withPath ? path + "/" + files[type] : files[type];
            }

            return null;
        }