Пример #1
0
        static void Analogies(string[] args)
        {
            int k = 0;

            if (args.Length == 2)
            {
                k = 10;
            }
            else if (args.Length == 3)
            {
                k = int.Parse(args[2]);
            }
            else
            {
                PrintAnalogiesUsage();
                Environment.Exit(-1);
            }

            if (k <= 0)
            {
                throw new ArgumentException("k needs to be 1 or higher!");
            }

            var fasttext = new FastText();
            var model    = args[1];

            Console.WriteLine($"Loading model {model}");
            fasttext.LoadModel(model);

            const string prompt = "Query triplet (A - B + C)? ";
            string       wordA, wordB, wordC;

            Console.Write(prompt);

            while (true)
            {
                var words = Console.ReadLine().Split(' ');
                wordA = words[0];
                wordB = words[1];
                wordC = words[2];

                PrintPredictions(fasttext.GetAnalogies(k, wordA, wordB, wordC), true, true);

                Console.Write(prompt);
            }
        }