Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="languageModelsDirectory"></param>
        /// <param name="maximumSizeOfDistribution"></param>
        public LanguageIdentifier(
            IEnumerable <Tuple <string, Stream> > namesAndLanguageModelStreams,
            int maximumSizeOfDistribution = MaximumSizeOfDistributionDefault
            )
        {
            _maximumSizeOfDistribution = maximumSizeOfDistribution;
            _classifier = new RankedClassifier <ulong>(_maximumSizeOfDistribution);
            var persister = new ByteLanguageModelPersister();

            foreach (var tuple in namesAndLanguageModelStreams)
            {
                using (tuple.Item2)
                {
                    var languageModel = persister.Load(tuple.Item2, new LanguageInfo(tuple.Item1, null, null, null));
                    _classifier.AddEtalonLanguageModel(languageModel);
                }
            }
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="languageModelsDirectory"></param>
        /// <param name="maximumSizeOfDistribution"></param>
        public LanguageIdentifier(
            string languageModelsDirectory = LanguageModelsDirectoryDefault,
            int maximumSizeOfDistribution  = MaximumSizeOfDistributionDefault
            )
        {
            _maximumSizeOfDistribution = maximumSizeOfDistribution;
            _classifier = new RankedClassifier <ulong>(_maximumSizeOfDistribution);
            var persister = new ByteLanguageModelPersister();

            foreach (string filename in Directory.GetFiles(languageModelsDirectory))
            {
                using (FileStream sourceStream = File.OpenRead(filename))
                {
                    var languageModel = persister.Load(sourceStream, new LanguageInfo(Path.GetFileNameWithoutExtension(filename), null, null, null));
                    _classifier.AddEtalonLanguageModel(languageModel);
                }
            }
        }