Views
No views yet
1using AI.DataPrepaire.DataLoader.NNWBlockLoader;
2using AI.DataStructs.Algebraic;
3using AI.ONNX.NLP.Bert;
4
5
6string path = "SbertDistilAIFr";
7// Загрузка модели Bert
8BertEmbedder embedder = BertEmbedder.FromPretrained(path);
9// Добавление последнего(линейного) слоя
10LinearLayerLoader linearLayer = LinearLayerLoader.LoadFromBinary(@$"{path}\1_Linear\model.aifr");
11embedder.V2VBlocks.Add(linearLayer);
12
13// Векторизация предложений
14Vector vects1 = embedder.ForwardSBert("Kittens love milk");
15Vector vects2 = embedder.ForwardSBert("Visual Studio Code (VS Code) — текстовый редактор, разработанный Microsoft для Windows, Linux и macOS.");
16Vector vects3 = embedder.ForwardSBert("Visual Studio Code, also commonly referred to as VS Code,[12] is a source-code editor developed by Microsoft for Windows, Linux and macOS.");
17Vector vects1_rus = embedder.ForwardSBert("Котята любят молоко");
18
19// Рассчет близости между текстами
20Console.WriteLine(vects1.Cos(vects1_rus));
21Console.WriteLine(vects1.Cos(vects2));
22Console.WriteLine(vects2.Cos(vects3));
23Console.WriteLine(vects1.Cos(vects3));
24Console.ReadKey();0.8312274467817271
0.18402859300814606
0.9556528309990797
0.14738954582438052