コード例 #1
0
 public void Initialize()
 {
     NBFactory    = new NaiveBayesLanguageIdentifierFactory();
     RLFactory    = new RankedLanguageIdentifierFactory();
     NBIdentifier = NBFactory.Load(Path.Combine(ModelFolder, SelectedModel));
     RLIdentifier = RLFactory.Load(Path.Combine(ModelFolder, SelectedModel));
 }
コード例 #2
0
 public DetermineWrongLayoutCommand(UsersRepository usersRepository)
 {
     _usersRepository = usersRepository;
     _naiveBayesLanguageIdentifier =
         new NaiveBayesLanguageIdentifierFactory().Load(
             GetType().Assembly.GetManifestResourceStream(NgramsEmbeddedFileName));
 }
コード例 #3
0
        public void TestNaiveBayesLanguageIdentifierFactory()
        {
            var factory    = new NaiveBayesLanguageIdentifierFactory();
            var identifier = factory.Load(_identifierFile);
            var res        = identifier.Identify("был зачитан вслух");

            Assert.That(res.First().Item1.Iso639_2T, Is.EqualTo("rus"));
            var res2 = identifier.Identify("Главная задача сэмпла - предоставить желающим качать возможность оценить реальное качество материала без скачивания всей раздачи целиком. Поэтому вырезать сэмпл надо из середины фильма и без каких либо искажений. Достаточно фрагмента на 1-2 минуты. Заливать сэмпл следует только на файлообменники");

            Assert.That(res2.First().Item1.Iso639_2T, Is.EqualTo("rus"));
        }
コード例 #4
0
        public void TestTrainIdentifyCycle_Naive()
        {
            TestCase[] testCases  = PrepareTestCases();
            var        factory    = new NaiveBayesLanguageIdentifierFactory();
            var        identifier = factory.Train(
                testCases.Select(t => Tuple.Create(new LanguageInfo(t.ISO639_2T, null, null, null), (TextReader) new StringReader(t.Standard))));

            foreach (var testCase in testCases)
            {
                Assert.That(identifier.Identify(testCase.Query).First().Item1.Iso639_2T, Is.EqualTo(testCase.ISO639_2T));
            }
        }
コード例 #5
0
        public void Evaluate()
        {
            {
                var factory    = new NaiveBayesLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T));
                GetConfusions(identifier.Identify, "Naive", _mostCommonLanguages);
            }

            {
                var factory    = new RankedLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T));
                GetConfusions(identifier.Identify, "Ranked", _mostCommonLanguages);
            }
        }
コード例 #6
0
        public void SanityCheck()
        {
            {
                var factory    = new NaiveBayesLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T ?? lm.Language.Iso639_3));
                var result     = identifier.Identify("you got me").ToArray();
            }

            {
                var factory    = new RankedLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T ?? lm.Language.Iso639_3));
                var result     = identifier.Identify("you got me").ToArray();
            }
        }
コード例 #7
0
ファイル: Evaluation.cs プロジェクト: antiufo/ntextcat
        public void SanityCheck()
        {
            {
                var factory = new NaiveBayesLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T ?? lm.Language.Iso639_3));
                var result = identifier.Identify("you got me").ToArray();
            }

            {
                var factory = new RankedLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T ?? lm.Language.Iso639_3));
                var result = identifier.Identify("you got me").ToArray();
            }
        }
コード例 #8
0
ファイル: Evaluation.cs プロジェクト: antiufo/ntextcat
        public void Evaluate()
        {
            {
                var factory = new NaiveBayesLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T));
                GetConfusions(identifier.Identify, "Naive", _mostCommonLanguages);
            }

            {
                var factory = new RankedLanguageIdentifierFactory();
                var identifier = factory.Load(_identifierFile, lm => _mostCommonLanguages.Contains(lm.Language.Iso639_2T));
                GetConfusions(identifier.Identify, "Ranked", _mostCommonLanguages);
            }
        }
コード例 #9
0
 public void TestNaiveBayesLanguageIdentifierFactory()
 {
     var factory = new NaiveBayesLanguageIdentifierFactory();
     var identifier = factory.Load(_identifierFile);
     var res = identifier.Identify("был зачитан вслух");
     Assert.That(res.First().Item1.Iso639_2T, Is.EqualTo("rus"));
     var res2 = identifier.Identify("Главная задача сэмпла - предоставить желающим качать возможность оценить реальное качество материала без скачивания всей раздачи целиком. Поэтому вырезать сэмпл надо из середины фильма и без каких либо искажений. Достаточно фрагмента на 1-2 минуты. Заливать сэмпл следует только на файлообменники");
     Assert.That(res2.First().Item1.Iso639_2T, Is.EqualTo("rus"));
 }
コード例 #10
0
        public void TestTrainIdentifyCycle_Naive()
        {
            TestCase[] testCases = PrepareTestCases();
            var factory = new NaiveBayesLanguageIdentifierFactory();
            var identifier = factory.Train(
                testCases.Select(t => Tuple.Create(new LanguageInfo(t.ISO639_2T, null, null, null), (TextReader)new StringReader(t.Standard))));

            foreach (var testCase in testCases)
            {
                Assert.That(identifier.Identify(testCase.Query).First().Item1.Iso639_2T, Is.EqualTo(testCase.ISO639_2T));
            }
        }