Example #1
0
        public void TestV2W1consumption()
        {
            AssertFileExists(DBF_W2V_RUK, "En-Ru-Uk w2v DB");

            var vs = VectorsService.Instance(DBF_W2V_RUK);
            var w1 = vs.FindByWord("consumption", LangLabel.en);

            using (var dbx = new FastTextProcessDB(DBF_W2V_RUK))
            {
                var dict_db = dbx.Dict(DictDbSet.DictKind.Main);
                Log("En min=0.7");
                var w2v_en_all = dict_db.GetAll(LangLabel.en);
                Parallel.ForEach(w2v_en_all, (w2v) =>
                                 PrintPair(w1, w2v, distance_min: 0.7f));
                //foreach (var w2v in w2v_en_all)
                //    PrintPair(w1, w2v, distance_min: 0.6f);
                Log("Ru min=0.35");
                var w2v_ru_all = dict_db.GetAll(LangLabel.ru);
                Parallel.ForEach(w2v_ru_all, (w2v) =>
                                 PrintPair(w1, w2v, distance_min: 0.35f));
                //foreach (var w2v in w2v_ru_all)
                //    PrintPair(w1, w2v, distance_min: 0.35f);
                Log("Uk min=0.35");
                var w2v_uk_all = dict_db.GetAll(LangLabel.uk);
                Parallel.ForEach(w2v_uk_all, (w2v) =>
                                 PrintPair(w1, w2v, distance_min: 0.35f));
            }
            Log("done");
        }
        public Dict FindVectByWord(string word)
        {
            var serv = VectorsService.Instance(W2VDictFile);
            var vect = serv.FindByWord(word, LangLabel);

            if (vect == null)
            {
                DbgLog($"Vector for '{word}' not found");
            }
            return(vect);
        }
Example #3
0
        public void TestCosineRUK()
        {
            AssertFileExists(DBF_W2V_RUK, "Ru-Uk w2v DB");

            var vs  = VectorsService.Instance(DBF_W2V_RUK);
            var w1u = vs.FindByWord("шкарпетки", LangLabel.uk);
            var w1r = vs.FindByWord("носки", LangLabel.ru);
            var w1e = vs.FindByWord("socks", LangLabel.en);
            var w2u = vs.FindByWord("краватка", LangLabel.uk);
            var w2r = vs.FindByWord("галстук", LangLabel.ru);
            var w2e = vs.FindByWord("necktie", LangLabel.en);

            Log($"cos({w1u.Word}, {w1r.Word}) = {w1u.GetCosine(w1r)}");
            Log($"cos({w2u.Word}, {w2r.Word}) = {w2u.GetCosine(w2r)}");

            Log($"cos({w1u.Word}, {w1e.Word}) = {w1u.GetCosine(w1e)}");
            Log($"cos({w1r.Word}, {w1e.Word}) = {w1r.GetCosine(w1e)}");

            Log($"cos({w1u.Word}, {w2u.Word}) = {w1u.GetCosine(w2u)}");
            Log($"cos({w1r.Word}, {w2r.Word}) = {w1r.GetCosine(w2r)}");
            Log($"cos({w1e.Word}, {w2e.Word}) = {w1e.GetCosine(w2e)}");
            Log("done");
        }