diff options
Diffstat (limited to 'Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs')
| -rw-r--r-- | Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs b/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs deleted file mode 100644 index 08e98d62e..000000000 --- a/Emby.Server.Implementations/TextEncoding/NLangDetect/DetectorFactory.cs +++ /dev/null @@ -1,125 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using MediaBrowser.Model.Serialization; -using NLangDetect.Core.Utils; - -namespace NLangDetect.Core -{ - public class DetectorFactory - { - public Dictionary<string, ProbVector> WordLangProbMap; - public List<string> Langlist; - - private static readonly DetectorFactory _instance = new DetectorFactory(); - - #region Constructor(s) - - private DetectorFactory() - { - WordLangProbMap = new Dictionary<string, ProbVector>(); - Langlist = new List<string>(); - } - - #endregion - - #region Public methods - - public static void LoadProfiles(IJsonSerializer json) - { - var assembly = typeof(DetectorFactory).Assembly; - var names = assembly.GetManifestResourceNames() - .Where(i => i.IndexOf("NLangDetect.Profiles", StringComparison.Ordinal) != -1) - .ToList(); - - var index = 0; - - foreach (var name in names) - { - using (var stream = assembly.GetManifestResourceStream(name)) - { - var langProfile = (LangProfile)json.DeserializeFromStream(stream, typeof(LangProfile)); - - AddProfile(langProfile, index); - } - - index++; - } - } - - public static Detector Create() - { - return CreateDetector(); - } - - public static Detector Create(double alpha) - { - var detector = CreateDetector(); - - detector.SetAlpha(alpha); - - return detector; - } - - public static void SetSeed(int? seed) - { - _instance.Seed = seed; - } - - #endregion - - #region Internal methods - - internal static void AddProfile(LangProfile profile, int index) - { - var lang = profile.name; - - if (_instance.Langlist.Contains(lang)) - { - throw new NLangDetectException("duplicate the same language profile", ErrorCode.DuplicateLangError); - } - - _instance.Langlist.Add(lang); - - foreach (string word in profile.freq.Keys) - { - if (!_instance.WordLangProbMap.ContainsKey(word)) - { - _instance.WordLangProbMap.Add(word, new ProbVector()); - } - - double prob = (double)profile.freq[word] / profile.n_words[word.Length - 1]; - - _instance.WordLangProbMap[word][index] = prob; - } - } - - internal static void Clear() - { - _instance.Langlist.Clear(); - _instance.WordLangProbMap.Clear(); - } - - #endregion - - #region Private helper methods - - private static Detector CreateDetector() - { - if (_instance.Langlist.Count == 0) - { - throw new NLangDetectException("need to load profiles", ErrorCode.NeedLoadProfileError); - } - - return new Detector(_instance); - } - - #endregion - - #region Properties - - public int? Seed { get; private set; } - - #endregion - } -} |
