Exemple #1
0
        public void CanHandleUtf8()
        {
            using var fastText = new FastTextWrapper(loggerFactory: _loggerFactory);
            string outPath = Path.Combine(_tempDir, "rus");

            fastText.Supervised("data.rus.txt", outPath, new SupervisedArgs());

            var labels = fastText.GetLabels();

            labels.Length.Should().Be(2);
            labels.Should().Contain(new[] { "__label__оператор", "__label__выход" });

            var pred = fastText.PredictSingle("Позови оператора");

            pred.Probability.Should().BeGreaterThan(0);
            pred.Label.Should().Be("__label__оператор");

            var sourceWords = File.ReadAllText("data.rus.txt")
                              .Split(new[] { " ", "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries)
                              .Where(x => !x.StartsWith("__label__"))
                              .Distinct().ToArray();
            var nn = fastText.GetNearestNeighbours("оператор", 2);

            nn.Length.Should().Be(2);
            sourceWords.Should().Contain(nn.Select(x => x.Label));
            foreach (var prediction in nn)
            {
                prediction.Probability.Should().BeGreaterThan(0);
            }
        }
Exemple #2
0
 private static void Test(FastTextWrapper fastText)
 {
     var labels      = fastText.GetLabels();
     var prediction  = fastText.PredictSingle("Can I use a larger crockpot than the recipe calls for?");
     var predictions = fastText.PredictMultiple("Can I use a larger crockpot than the recipe calls for?", 4);
     var vector      = fastText.GetSentenceVector("Can I use a larger crockpot than the recipe calls for?");
 }
 private static void LoadModel()
 {
     using (var fastText = new FastTextWrapper())
     {
         fastText.LoadModel(@"D:\__Models\cooking.bin");
         var labels      = fastText.GetLabels();
         var prediction  = fastText.PredictSingle("Can I use a larger crockpot than the recipe calls for?");
         var predictions = fastText.PredictMultiple("Can I use a larger crockpot than the recipe calls for?", 4);
         var vector      = fastText.GetSentenceVector("Can I use a larger crockpot than the recipe calls for?");
     }
 }
Exemple #4
0
        static void Main(string[] args)
        {
            var fastText = new FastTextWrapper();

            fastText.Train(@"C:\_Models\cooking.train.txt", @"C:\_Models\cooking", TrainingArgs.SupervisedDefaults(x =>
            {
                x.Epochs        = 25;
                x.LearningRate  = 1.0;
                x.WordNGrams    = 3;
                x.Verbose       = 2;
                x.MinCharNGrams = 3;
                x.MaxCharNGrams = 6;
            }));

            //fastText.LoadModel(@"C:\_Models\fasttext.bin");
            var prediction = fastText.PredictSingle("what is the difference between a new york strip and a bone-in new york cut sirloin ?");
        }